documentation.html 956 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <title>Get Started With The A* Pathfinding Project - A* Pathfinding Project</title>
  8. <style>/*!
  9. * Bootstrap v3.3.5 (http://getbootstrap.com)
  10. * Copyright 2011-2015 Twitter, Inc.
  11. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  12. */
  13. /*!
  14. * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=ca1d29b8c16a782c676c)
  15. * Config saved to config.json and https://gist.github.com/ca1d29b8c16a782c676c
  16. */
  17. /*!
  18. * Bootstrap v3.3.5 (http://getbootstrap.com)
  19. * Copyright 2011-2015 Twitter, Inc.
  20. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  21. */
  22. /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
  23. html {
  24. font-family: sans-serif;
  25. -ms-text-size-adjust: 100%;
  26. -webkit-text-size-adjust: 100%;
  27. }
  28. body {
  29. margin: 0;
  30. }
  31. article,
  32. aside,
  33. details,
  34. figcaption,
  35. figure,
  36. footer,
  37. header,
  38. hgroup,
  39. main,
  40. menu,
  41. nav,
  42. section,
  43. summary {
  44. display: block;
  45. }
  46. audio,
  47. canvas,
  48. progress,
  49. video {
  50. display: inline-block;
  51. vertical-align: baseline;
  52. }
  53. audio:not([controls]) {
  54. display: none;
  55. height: 0;
  56. }
  57. [hidden],
  58. template {
  59. display: none;
  60. }
  61. a {
  62. background-color: transparent;
  63. }
  64. a:active,
  65. a:hover {
  66. outline: 0;
  67. }
  68. abbr[title] {
  69. border-bottom: 1px dotted;
  70. }
  71. b,
  72. strong {
  73. font-weight: bold;
  74. }
  75. dfn {
  76. font-style: italic;
  77. }
  78. h1 {
  79. font-size: 2em;
  80. margin: 0.67em 0;
  81. }
  82. mark {
  83. background: #ff0;
  84. color: #000;
  85. }
  86. small {
  87. font-size: 80%;
  88. }
  89. sub,
  90. sup {
  91. font-size: 75%;
  92. line-height: 0;
  93. position: relative;
  94. vertical-align: baseline;
  95. }
  96. sup {
  97. top: -0.5em;
  98. }
  99. sub {
  100. bottom: -0.25em;
  101. }
  102. img {
  103. border: 0;
  104. }
  105. svg:not(:root) {
  106. overflow: hidden;
  107. }
  108. figure {
  109. margin: 1em 40px;
  110. }
  111. hr {
  112. -webkit-box-sizing: content-box;
  113. -moz-box-sizing: content-box;
  114. box-sizing: content-box;
  115. height: 0;
  116. }
  117. pre {
  118. overflow: auto;
  119. }
  120. code,
  121. kbd,
  122. pre,
  123. samp {
  124. font-family: monospace, monospace;
  125. font-size: 1em;
  126. }
  127. button,
  128. input,
  129. optgroup,
  130. select,
  131. textarea {
  132. color: inherit;
  133. font: inherit;
  134. margin: 0;
  135. }
  136. button {
  137. overflow: visible;
  138. }
  139. button,
  140. select {
  141. text-transform: none;
  142. }
  143. button,
  144. html input[type="button"],
  145. input[type="reset"],
  146. input[type="submit"] {
  147. -webkit-appearance: button;
  148. cursor: pointer;
  149. }
  150. button[disabled],
  151. html input[disabled] {
  152. cursor: default;
  153. }
  154. button::-moz-focus-inner,
  155. input::-moz-focus-inner {
  156. border: 0;
  157. padding: 0;
  158. }
  159. input {
  160. line-height: normal;
  161. }
  162. input[type="checkbox"],
  163. input[type="radio"] {
  164. -webkit-box-sizing: border-box;
  165. -moz-box-sizing: border-box;
  166. box-sizing: border-box;
  167. padding: 0;
  168. }
  169. input[type="number"]::-webkit-inner-spin-button,
  170. input[type="number"]::-webkit-outer-spin-button {
  171. height: auto;
  172. }
  173. input[type="search"] {
  174. -webkit-appearance: textfield;
  175. -webkit-box-sizing: content-box;
  176. -moz-box-sizing: content-box;
  177. box-sizing: content-box;
  178. }
  179. input[type="search"]::-webkit-search-cancel-button,
  180. input[type="search"]::-webkit-search-decoration {
  181. -webkit-appearance: none;
  182. }
  183. fieldset {
  184. border: 1px solid #c0c0c0;
  185. margin: 0 2px;
  186. padding: 0.35em 0.625em 0.75em;
  187. }
  188. legend {
  189. border: 0;
  190. padding: 0;
  191. }
  192. textarea {
  193. overflow: auto;
  194. }
  195. optgroup {
  196. font-weight: bold;
  197. }
  198. table {
  199. border-collapse: collapse;
  200. border-spacing: 0;
  201. }
  202. td,
  203. th {
  204. padding: 0;
  205. }
  206. /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
  207. @media print {
  208. *,
  209. *:before,
  210. *:after {
  211. background: transparent !important;
  212. color: #000 !important;
  213. -webkit-box-shadow: none !important;
  214. box-shadow: none !important;
  215. text-shadow: none !important;
  216. }
  217. a,
  218. a:visited {
  219. text-decoration: underline;
  220. }
  221. a[href]:after {
  222. content: " (" attr(href) ")";
  223. }
  224. abbr[title]:after {
  225. content: " (" attr(title) ")";
  226. }
  227. a[href^="#"]:after,
  228. a[href^="javascript:"]:after {
  229. content: "";
  230. }
  231. pre,
  232. blockquote {
  233. border: 1px solid #999;
  234. page-break-inside: avoid;
  235. }
  236. thead {
  237. display: table-header-group;
  238. }
  239. tr,
  240. img {
  241. page-break-inside: avoid;
  242. }
  243. img {
  244. max-width: 100% !important;
  245. }
  246. p,
  247. h2,
  248. h3 {
  249. orphans: 3;
  250. widows: 3;
  251. }
  252. h2,
  253. h3 {
  254. page-break-after: avoid;
  255. }
  256. .navbar {
  257. display: none;
  258. }
  259. .btn > .caret,
  260. .dropup > .btn > .caret {
  261. border-top-color: #000 !important;
  262. }
  263. .label {
  264. border: 1px solid #000;
  265. }
  266. .table {
  267. border-collapse: collapse !important;
  268. }
  269. .table td,
  270. .table th {
  271. background-color: #fff !important;
  272. }
  273. .table-bordered th,
  274. .table-bordered td {
  275. border: 1px solid #ddd !important;
  276. }
  277. }
  278. @font-face {
  279. font-family: 'Glyphicons Halflings';
  280. src: url('../fonts/glyphicons-halflings-regular.eot');
  281. src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
  282. }
  283. .glyphicon {
  284. position: relative;
  285. top: 1px;
  286. display: inline-block;
  287. font-family: 'Glyphicons Halflings';
  288. font-style: normal;
  289. font-weight: normal;
  290. line-height: 1;
  291. -webkit-font-smoothing: antialiased;
  292. -moz-osx-font-smoothing: grayscale;
  293. }
  294. .glyphicon-asterisk:before {
  295. content: "\2a";
  296. }
  297. .glyphicon-plus:before {
  298. content: "\2b";
  299. }
  300. .glyphicon-euro:before,
  301. .glyphicon-eur:before {
  302. content: "\20ac";
  303. }
  304. .glyphicon-minus:before {
  305. content: "\2212";
  306. }
  307. .glyphicon-cloud:before {
  308. content: "\2601";
  309. }
  310. .glyphicon-envelope:before {
  311. content: "\2709";
  312. }
  313. .glyphicon-pencil:before {
  314. content: "\270f";
  315. }
  316. .glyphicon-glass:before {
  317. content: "\e001";
  318. }
  319. .glyphicon-music:before {
  320. content: "\e002";
  321. }
  322. .glyphicon-search:before {
  323. content: "\e003";
  324. }
  325. .glyphicon-heart:before {
  326. content: "\e005";
  327. }
  328. .glyphicon-star:before {
  329. content: "\e006";
  330. }
  331. .glyphicon-star-empty:before {
  332. content: "\e007";
  333. }
  334. .glyphicon-user:before {
  335. content: "\e008";
  336. }
  337. .glyphicon-film:before {
  338. content: "\e009";
  339. }
  340. .glyphicon-th-large:before {
  341. content: "\e010";
  342. }
  343. .glyphicon-th:before {
  344. content: "\e011";
  345. }
  346. .glyphicon-th-list:before {
  347. content: "\e012";
  348. }
  349. .glyphicon-ok:before {
  350. content: "\e013";
  351. }
  352. .glyphicon-remove:before {
  353. content: "\e014";
  354. }
  355. .glyphicon-zoom-in:before {
  356. content: "\e015";
  357. }
  358. .glyphicon-zoom-out:before {
  359. content: "\e016";
  360. }
  361. .glyphicon-off:before {
  362. content: "\e017";
  363. }
  364. .glyphicon-signal:before {
  365. content: "\e018";
  366. }
  367. .glyphicon-cog:before {
  368. content: "\e019";
  369. }
  370. .glyphicon-trash:before {
  371. content: "\e020";
  372. }
  373. .glyphicon-home:before {
  374. content: "\e021";
  375. }
  376. .glyphicon-file:before {
  377. content: "\e022";
  378. }
  379. .glyphicon-time:before {
  380. content: "\e023";
  381. }
  382. .glyphicon-road:before {
  383. content: "\e024";
  384. }
  385. .glyphicon-download-alt:before {
  386. content: "\e025";
  387. }
  388. .glyphicon-download:before {
  389. content: "\e026";
  390. }
  391. .glyphicon-upload:before {
  392. content: "\e027";
  393. }
  394. .glyphicon-inbox:before {
  395. content: "\e028";
  396. }
  397. .glyphicon-play-circle:before {
  398. content: "\e029";
  399. }
  400. .glyphicon-repeat:before {
  401. content: "\e030";
  402. }
  403. .glyphicon-refresh:before {
  404. content: "\e031";
  405. }
  406. .glyphicon-list-alt:before {
  407. content: "\e032";
  408. }
  409. .glyphicon-lock:before {
  410. content: "\e033";
  411. }
  412. .glyphicon-flag:before {
  413. content: "\e034";
  414. }
  415. .glyphicon-headphones:before {
  416. content: "\e035";
  417. }
  418. .glyphicon-volume-off:before {
  419. content: "\e036";
  420. }
  421. .glyphicon-volume-down:before {
  422. content: "\e037";
  423. }
  424. .glyphicon-volume-up:before {
  425. content: "\e038";
  426. }
  427. .glyphicon-qrcode:before {
  428. content: "\e039";
  429. }
  430. .glyphicon-barcode:before {
  431. content: "\e040";
  432. }
  433. .glyphicon-tag:before {
  434. content: "\e041";
  435. }
  436. .glyphicon-tags:before {
  437. content: "\e042";
  438. }
  439. .glyphicon-book:before {
  440. content: "\e043";
  441. }
  442. .glyphicon-bookmark:before {
  443. content: "\e044";
  444. }
  445. .glyphicon-print:before {
  446. content: "\e045";
  447. }
  448. .glyphicon-camera:before {
  449. content: "\e046";
  450. }
  451. .glyphicon-font:before {
  452. content: "\e047";
  453. }
  454. .glyphicon-bold:before {
  455. content: "\e048";
  456. }
  457. .glyphicon-italic:before {
  458. content: "\e049";
  459. }
  460. .glyphicon-text-height:before {
  461. content: "\e050";
  462. }
  463. .glyphicon-text-width:before {
  464. content: "\e051";
  465. }
  466. .glyphicon-align-left:before {
  467. content: "\e052";
  468. }
  469. .glyphicon-align-center:before {
  470. content: "\e053";
  471. }
  472. .glyphicon-align-right:before {
  473. content: "\e054";
  474. }
  475. .glyphicon-align-justify:before {
  476. content: "\e055";
  477. }
  478. .glyphicon-list:before {
  479. content: "\e056";
  480. }
  481. .glyphicon-indent-left:before {
  482. content: "\e057";
  483. }
  484. .glyphicon-indent-right:before {
  485. content: "\e058";
  486. }
  487. .glyphicon-facetime-video:before {
  488. content: "\e059";
  489. }
  490. .glyphicon-picture:before {
  491. content: "\e060";
  492. }
  493. .glyphicon-map-marker:before {
  494. content: "\e062";
  495. }
  496. .glyphicon-adjust:before {
  497. content: "\e063";
  498. }
  499. .glyphicon-tint:before {
  500. content: "\e064";
  501. }
  502. .glyphicon-edit:before {
  503. content: "\e065";
  504. }
  505. .glyphicon-share:before {
  506. content: "\e066";
  507. }
  508. .glyphicon-check:before {
  509. content: "\e067";
  510. }
  511. .glyphicon-move:before {
  512. content: "\e068";
  513. }
  514. .glyphicon-step-backward:before {
  515. content: "\e069";
  516. }
  517. .glyphicon-fast-backward:before {
  518. content: "\e070";
  519. }
  520. .glyphicon-backward:before {
  521. content: "\e071";
  522. }
  523. .glyphicon-play:before {
  524. content: "\e072";
  525. }
  526. .glyphicon-pause:before {
  527. content: "\e073";
  528. }
  529. .glyphicon-stop:before {
  530. content: "\e074";
  531. }
  532. .glyphicon-forward:before {
  533. content: "\e075";
  534. }
  535. .glyphicon-fast-forward:before {
  536. content: "\e076";
  537. }
  538. .glyphicon-step-forward:before {
  539. content: "\e077";
  540. }
  541. .glyphicon-eject:before {
  542. content: "\e078";
  543. }
  544. .glyphicon-chevron-left:before {
  545. content: "\e079";
  546. }
  547. .glyphicon-chevron-right:before {
  548. content: "\e080";
  549. }
  550. .glyphicon-plus-sign:before {
  551. content: "\e081";
  552. }
  553. .glyphicon-minus-sign:before {
  554. content: "\e082";
  555. }
  556. .glyphicon-remove-sign:before {
  557. content: "\e083";
  558. }
  559. .glyphicon-ok-sign:before {
  560. content: "\e084";
  561. }
  562. .glyphicon-question-sign:before {
  563. content: "\e085";
  564. }
  565. .glyphicon-info-sign:before {
  566. content: "\e086";
  567. }
  568. .glyphicon-screenshot:before {
  569. content: "\e087";
  570. }
  571. .glyphicon-remove-circle:before {
  572. content: "\e088";
  573. }
  574. .glyphicon-ok-circle:before {
  575. content: "\e089";
  576. }
  577. .glyphicon-ban-circle:before {
  578. content: "\e090";
  579. }
  580. .glyphicon-arrow-left:before {
  581. content: "\e091";
  582. }
  583. .glyphicon-arrow-right:before {
  584. content: "\e092";
  585. }
  586. .glyphicon-arrow-up:before {
  587. content: "\e093";
  588. }
  589. .glyphicon-arrow-down:before {
  590. content: "\e094";
  591. }
  592. .glyphicon-share-alt:before {
  593. content: "\e095";
  594. }
  595. .glyphicon-resize-full:before {
  596. content: "\e096";
  597. }
  598. .glyphicon-resize-small:before {
  599. content: "\e097";
  600. }
  601. .glyphicon-exclamation-sign:before {
  602. content: "\e101";
  603. }
  604. .glyphicon-gift:before {
  605. content: "\e102";
  606. }
  607. .glyphicon-leaf:before {
  608. content: "\e103";
  609. }
  610. .glyphicon-fire:before {
  611. content: "\e104";
  612. }
  613. .glyphicon-eye-open:before {
  614. content: "\e105";
  615. }
  616. .glyphicon-eye-close:before {
  617. content: "\e106";
  618. }
  619. .glyphicon-warning-sign:before {
  620. content: "\e107";
  621. }
  622. .glyphicon-plane:before {
  623. content: "\e108";
  624. }
  625. .glyphicon-calendar:before {
  626. content: "\e109";
  627. }
  628. .glyphicon-random:before {
  629. content: "\e110";
  630. }
  631. .glyphicon-comment:before {
  632. content: "\e111";
  633. }
  634. .glyphicon-magnet:before {
  635. content: "\e112";
  636. }
  637. .glyphicon-chevron-up:before {
  638. content: "\e113";
  639. }
  640. .glyphicon-chevron-down:before {
  641. content: "\e114";
  642. }
  643. .glyphicon-retweet:before {
  644. content: "\e115";
  645. }
  646. .glyphicon-shopping-cart:before {
  647. content: "\e116";
  648. }
  649. .glyphicon-folder-close:before {
  650. content: "\e117";
  651. }
  652. .glyphicon-folder-open:before {
  653. content: "\e118";
  654. }
  655. .glyphicon-resize-vertical:before {
  656. content: "\e119";
  657. }
  658. .glyphicon-resize-horizontal:before {
  659. content: "\e120";
  660. }
  661. .glyphicon-hdd:before {
  662. content: "\e121";
  663. }
  664. .glyphicon-bullhorn:before {
  665. content: "\e122";
  666. }
  667. .glyphicon-bell:before {
  668. content: "\e123";
  669. }
  670. .glyphicon-certificate:before {
  671. content: "\e124";
  672. }
  673. .glyphicon-thumbs-up:before {
  674. content: "\e125";
  675. }
  676. .glyphicon-thumbs-down:before {
  677. content: "\e126";
  678. }
  679. .glyphicon-hand-right:before {
  680. content: "\e127";
  681. }
  682. .glyphicon-hand-left:before {
  683. content: "\e128";
  684. }
  685. .glyphicon-hand-up:before {
  686. content: "\e129";
  687. }
  688. .glyphicon-hand-down:before {
  689. content: "\e130";
  690. }
  691. .glyphicon-circle-arrow-right:before {
  692. content: "\e131";
  693. }
  694. .glyphicon-circle-arrow-left:before {
  695. content: "\e132";
  696. }
  697. .glyphicon-circle-arrow-up:before {
  698. content: "\e133";
  699. }
  700. .glyphicon-circle-arrow-down:before {
  701. content: "\e134";
  702. }
  703. .glyphicon-globe:before {
  704. content: "\e135";
  705. }
  706. .glyphicon-wrench:before {
  707. content: "\e136";
  708. }
  709. .glyphicon-tasks:before {
  710. content: "\e137";
  711. }
  712. .glyphicon-filter:before {
  713. content: "\e138";
  714. }
  715. .glyphicon-briefcase:before {
  716. content: "\e139";
  717. }
  718. .glyphicon-fullscreen:before {
  719. content: "\e140";
  720. }
  721. .glyphicon-dashboard:before {
  722. content: "\e141";
  723. }
  724. .glyphicon-paperclip:before {
  725. content: "\e142";
  726. }
  727. .glyphicon-heart-empty:before {
  728. content: "\e143";
  729. }
  730. .glyphicon-link:before {
  731. content: "\e144";
  732. }
  733. .glyphicon-phone:before {
  734. content: "\e145";
  735. }
  736. .glyphicon-pushpin:before {
  737. content: "\e146";
  738. }
  739. .glyphicon-usd:before {
  740. content: "\e148";
  741. }
  742. .glyphicon-gbp:before {
  743. content: "\e149";
  744. }
  745. .glyphicon-sort:before {
  746. content: "\e150";
  747. }
  748. .glyphicon-sort-by-alphabet:before {
  749. content: "\e151";
  750. }
  751. .glyphicon-sort-by-alphabet-alt:before {
  752. content: "\e152";
  753. }
  754. .glyphicon-sort-by-order:before {
  755. content: "\e153";
  756. }
  757. .glyphicon-sort-by-order-alt:before {
  758. content: "\e154";
  759. }
  760. .glyphicon-sort-by-attributes:before {
  761. content: "\e155";
  762. }
  763. .glyphicon-sort-by-attributes-alt:before {
  764. content: "\e156";
  765. }
  766. .glyphicon-unchecked:before {
  767. content: "\e157";
  768. }
  769. .glyphicon-expand:before {
  770. content: "\e158";
  771. }
  772. .glyphicon-collapse-down:before {
  773. content: "\e159";
  774. }
  775. .glyphicon-collapse-up:before {
  776. content: "\e160";
  777. }
  778. .glyphicon-log-in:before {
  779. content: "\e161";
  780. }
  781. .glyphicon-flash:before {
  782. content: "\e162";
  783. }
  784. .glyphicon-log-out:before {
  785. content: "\e163";
  786. }
  787. .glyphicon-new-window:before {
  788. content: "\e164";
  789. }
  790. .glyphicon-record:before {
  791. content: "\e165";
  792. }
  793. .glyphicon-save:before {
  794. content: "\e166";
  795. }
  796. .glyphicon-open:before {
  797. content: "\e167";
  798. }
  799. .glyphicon-saved:before {
  800. content: "\e168";
  801. }
  802. .glyphicon-import:before {
  803. content: "\e169";
  804. }
  805. .glyphicon-export:before {
  806. content: "\e170";
  807. }
  808. .glyphicon-send:before {
  809. content: "\e171";
  810. }
  811. .glyphicon-floppy-disk:before {
  812. content: "\e172";
  813. }
  814. .glyphicon-floppy-saved:before {
  815. content: "\e173";
  816. }
  817. .glyphicon-floppy-remove:before {
  818. content: "\e174";
  819. }
  820. .glyphicon-floppy-save:before {
  821. content: "\e175";
  822. }
  823. .glyphicon-floppy-open:before {
  824. content: "\e176";
  825. }
  826. .glyphicon-credit-card:before {
  827. content: "\e177";
  828. }
  829. .glyphicon-transfer:before {
  830. content: "\e178";
  831. }
  832. .glyphicon-cutlery:before {
  833. content: "\e179";
  834. }
  835. .glyphicon-header:before {
  836. content: "\e180";
  837. }
  838. .glyphicon-compressed:before {
  839. content: "\e181";
  840. }
  841. .glyphicon-earphone:before {
  842. content: "\e182";
  843. }
  844. .glyphicon-phone-alt:before {
  845. content: "\e183";
  846. }
  847. .glyphicon-tower:before {
  848. content: "\e184";
  849. }
  850. .glyphicon-stats:before {
  851. content: "\e185";
  852. }
  853. .glyphicon-sd-video:before {
  854. content: "\e186";
  855. }
  856. .glyphicon-hd-video:before {
  857. content: "\e187";
  858. }
  859. .glyphicon-subtitles:before {
  860. content: "\e188";
  861. }
  862. .glyphicon-sound-stereo:before {
  863. content: "\e189";
  864. }
  865. .glyphicon-sound-dolby:before {
  866. content: "\e190";
  867. }
  868. .glyphicon-sound-5-1:before {
  869. content: "\e191";
  870. }
  871. .glyphicon-sound-6-1:before {
  872. content: "\e192";
  873. }
  874. .glyphicon-sound-7-1:before {
  875. content: "\e193";
  876. }
  877. .glyphicon-copyright-mark:before {
  878. content: "\e194";
  879. }
  880. .glyphicon-registration-mark:before {
  881. content: "\e195";
  882. }
  883. .glyphicon-cloud-download:before {
  884. content: "\e197";
  885. }
  886. .glyphicon-cloud-upload:before {
  887. content: "\e198";
  888. }
  889. .glyphicon-tree-conifer:before {
  890. content: "\e199";
  891. }
  892. .glyphicon-tree-deciduous:before {
  893. content: "\e200";
  894. }
  895. .glyphicon-cd:before {
  896. content: "\e201";
  897. }
  898. .glyphicon-save-file:before {
  899. content: "\e202";
  900. }
  901. .glyphicon-open-file:before {
  902. content: "\e203";
  903. }
  904. .glyphicon-level-up:before {
  905. content: "\e204";
  906. }
  907. .glyphicon-copy:before {
  908. content: "\e205";
  909. }
  910. .glyphicon-paste:before {
  911. content: "\e206";
  912. }
  913. .glyphicon-alert:before {
  914. content: "\e209";
  915. }
  916. .glyphicon-equalizer:before {
  917. content: "\e210";
  918. }
  919. .glyphicon-king:before {
  920. content: "\e211";
  921. }
  922. .glyphicon-queen:before {
  923. content: "\e212";
  924. }
  925. .glyphicon-pawn:before {
  926. content: "\e213";
  927. }
  928. .glyphicon-bishop:before {
  929. content: "\e214";
  930. }
  931. .glyphicon-knight:before {
  932. content: "\e215";
  933. }
  934. .glyphicon-baby-formula:before {
  935. content: "\e216";
  936. }
  937. .glyphicon-tent:before {
  938. content: "\26fa";
  939. }
  940. .glyphicon-blackboard:before {
  941. content: "\e218";
  942. }
  943. .glyphicon-bed:before {
  944. content: "\e219";
  945. }
  946. .glyphicon-apple:before {
  947. content: "\f8ff";
  948. }
  949. .glyphicon-erase:before {
  950. content: "\e221";
  951. }
  952. .glyphicon-hourglass:before {
  953. content: "\231b";
  954. }
  955. .glyphicon-lamp:before {
  956. content: "\e223";
  957. }
  958. .glyphicon-duplicate:before {
  959. content: "\e224";
  960. }
  961. .glyphicon-piggy-bank:before {
  962. content: "\e225";
  963. }
  964. .glyphicon-scissors:before {
  965. content: "\e226";
  966. }
  967. .glyphicon-bitcoin:before {
  968. content: "\e227";
  969. }
  970. .glyphicon-btc:before {
  971. content: "\e227";
  972. }
  973. .glyphicon-xbt:before {
  974. content: "\e227";
  975. }
  976. .glyphicon-yen:before {
  977. content: "\00a5";
  978. }
  979. .glyphicon-jpy:before {
  980. content: "\00a5";
  981. }
  982. .glyphicon-ruble:before {
  983. content: "\20bd";
  984. }
  985. .glyphicon-rub:before {
  986. content: "\20bd";
  987. }
  988. .glyphicon-scale:before {
  989. content: "\e230";
  990. }
  991. .glyphicon-ice-lolly:before {
  992. content: "\e231";
  993. }
  994. .glyphicon-ice-lolly-tasted:before {
  995. content: "\e232";
  996. }
  997. .glyphicon-education:before {
  998. content: "\e233";
  999. }
  1000. .glyphicon-option-horizontal:before {
  1001. content: "\e234";
  1002. }
  1003. .glyphicon-option-vertical:before {
  1004. content: "\e235";
  1005. }
  1006. .glyphicon-menu-hamburger:before {
  1007. content: "\e236";
  1008. }
  1009. .glyphicon-modal-window:before {
  1010. content: "\e237";
  1011. }
  1012. .glyphicon-oil:before {
  1013. content: "\e238";
  1014. }
  1015. .glyphicon-grain:before {
  1016. content: "\e239";
  1017. }
  1018. .glyphicon-sunglasses:before {
  1019. content: "\e240";
  1020. }
  1021. .glyphicon-text-size:before {
  1022. content: "\e241";
  1023. }
  1024. .glyphicon-text-color:before {
  1025. content: "\e242";
  1026. }
  1027. .glyphicon-text-background:before {
  1028. content: "\e243";
  1029. }
  1030. .glyphicon-object-align-top:before {
  1031. content: "\e244";
  1032. }
  1033. .glyphicon-object-align-bottom:before {
  1034. content: "\e245";
  1035. }
  1036. .glyphicon-object-align-horizontal:before {
  1037. content: "\e246";
  1038. }
  1039. .glyphicon-object-align-left:before {
  1040. content: "\e247";
  1041. }
  1042. .glyphicon-object-align-vertical:before {
  1043. content: "\e248";
  1044. }
  1045. .glyphicon-object-align-right:before {
  1046. content: "\e249";
  1047. }
  1048. .glyphicon-triangle-right:before {
  1049. content: "\e250";
  1050. }
  1051. .glyphicon-triangle-left:before {
  1052. content: "\e251";
  1053. }
  1054. .glyphicon-triangle-bottom:before {
  1055. content: "\e252";
  1056. }
  1057. .glyphicon-triangle-top:before {
  1058. content: "\e253";
  1059. }
  1060. .glyphicon-console:before {
  1061. content: "\e254";
  1062. }
  1063. .glyphicon-superscript:before {
  1064. content: "\e255";
  1065. }
  1066. .glyphicon-subscript:before {
  1067. content: "\e256";
  1068. }
  1069. .glyphicon-menu-left:before {
  1070. content: "\e257";
  1071. }
  1072. .glyphicon-menu-right:before {
  1073. content: "\e258";
  1074. }
  1075. .glyphicon-menu-down:before {
  1076. content: "\e259";
  1077. }
  1078. .glyphicon-menu-up:before {
  1079. content: "\e260";
  1080. }
  1081. * {
  1082. -webkit-box-sizing: border-box;
  1083. -moz-box-sizing: border-box;
  1084. box-sizing: border-box;
  1085. }
  1086. *:before,
  1087. *:after {
  1088. -webkit-box-sizing: border-box;
  1089. -moz-box-sizing: border-box;
  1090. box-sizing: border-box;
  1091. }
  1092. html {
  1093. font-size: 10px;
  1094. -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  1095. }
  1096. body {
  1097. font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  1098. font-size: 14px;
  1099. line-height: 1.42857143;
  1100. color: #333333;
  1101. background-color: #ffffff;
  1102. }
  1103. input,
  1104. button,
  1105. select,
  1106. textarea {
  1107. font-family: inherit;
  1108. font-size: inherit;
  1109. line-height: inherit;
  1110. }
  1111. a {
  1112. color: #337ab7;
  1113. text-decoration: none;
  1114. }
  1115. a:hover,
  1116. a:focus {
  1117. color: #23527c;
  1118. text-decoration: underline;
  1119. }
  1120. a:focus {
  1121. outline: thin dotted;
  1122. outline: 5px auto -webkit-focus-ring-color;
  1123. outline-offset: -2px;
  1124. }
  1125. figure {
  1126. margin: 0;
  1127. }
  1128. img {
  1129. vertical-align: middle;
  1130. }
  1131. .img-responsive,
  1132. .thumbnail > img,
  1133. .thumbnail a > img,
  1134. .carousel-inner > .item > img,
  1135. .carousel-inner > .item > a > img {
  1136. display: block;
  1137. max-width: 100%;
  1138. height: auto;
  1139. }
  1140. .img-rounded {
  1141. border-radius: 6px;
  1142. }
  1143. .img-thumbnail {
  1144. padding: 4px;
  1145. line-height: 1.42857143;
  1146. background-color: #ffffff;
  1147. border: 1px solid #dddddd;
  1148. border-radius: 4px;
  1149. -webkit-transition: all 0.2s ease-in-out;
  1150. -o-transition: all 0.2s ease-in-out;
  1151. transition: all 0.2s ease-in-out;
  1152. display: inline-block;
  1153. max-width: 100%;
  1154. height: auto;
  1155. }
  1156. .img-circle {
  1157. border-radius: 50%;
  1158. }
  1159. hr {
  1160. margin-top: 20px;
  1161. margin-bottom: 20px;
  1162. border: 0;
  1163. border-top: 1px solid #eeeeee;
  1164. }
  1165. .sr-only {
  1166. position: absolute;
  1167. width: 1px;
  1168. height: 1px;
  1169. margin: -1px;
  1170. padding: 0;
  1171. overflow: hidden;
  1172. clip: rect(0, 0, 0, 0);
  1173. border: 0;
  1174. }
  1175. .sr-only-focusable:active,
  1176. .sr-only-focusable:focus {
  1177. position: static;
  1178. width: auto;
  1179. height: auto;
  1180. margin: 0;
  1181. overflow: visible;
  1182. clip: auto;
  1183. }
  1184. [role="button"] {
  1185. cursor: pointer;
  1186. }
  1187. h1,
  1188. h2,
  1189. h3,
  1190. h4,
  1191. h5,
  1192. h6,
  1193. .h1,
  1194. .h2,
  1195. .h3,
  1196. .h4,
  1197. .h5,
  1198. .h6 {
  1199. font-family: inherit;
  1200. font-weight: 500;
  1201. line-height: 1.1;
  1202. color: inherit;
  1203. }
  1204. h1 small,
  1205. h2 small,
  1206. h3 small,
  1207. h4 small,
  1208. h5 small,
  1209. h6 small,
  1210. .h1 small,
  1211. .h2 small,
  1212. .h3 small,
  1213. .h4 small,
  1214. .h5 small,
  1215. .h6 small,
  1216. h1 .small,
  1217. h2 .small,
  1218. h3 .small,
  1219. h4 .small,
  1220. h5 .small,
  1221. h6 .small,
  1222. .h1 .small,
  1223. .h2 .small,
  1224. .h3 .small,
  1225. .h4 .small,
  1226. .h5 .small,
  1227. .h6 .small {
  1228. font-weight: normal;
  1229. line-height: 1;
  1230. color: #777777;
  1231. }
  1232. h1,
  1233. .h1,
  1234. h2,
  1235. .h2,
  1236. h3,
  1237. .h3 {
  1238. margin-top: 20px;
  1239. margin-bottom: 10px;
  1240. }
  1241. h1 small,
  1242. .h1 small,
  1243. h2 small,
  1244. .h2 small,
  1245. h3 small,
  1246. .h3 small,
  1247. h1 .small,
  1248. .h1 .small,
  1249. h2 .small,
  1250. .h2 .small,
  1251. h3 .small,
  1252. .h3 .small {
  1253. font-size: 65%;
  1254. }
  1255. h4,
  1256. .h4,
  1257. h5,
  1258. .h5,
  1259. h6,
  1260. .h6 {
  1261. margin-top: 10px;
  1262. margin-bottom: 10px;
  1263. }
  1264. h4 small,
  1265. .h4 small,
  1266. h5 small,
  1267. .h5 small,
  1268. h6 small,
  1269. .h6 small,
  1270. h4 .small,
  1271. .h4 .small,
  1272. h5 .small,
  1273. .h5 .small,
  1274. h6 .small,
  1275. .h6 .small {
  1276. font-size: 75%;
  1277. }
  1278. h1,
  1279. .h1 {
  1280. font-size: 36px;
  1281. }
  1282. h2,
  1283. .h2 {
  1284. font-size: 30px;
  1285. }
  1286. h3,
  1287. .h3 {
  1288. font-size: 24px;
  1289. }
  1290. h4,
  1291. .h4 {
  1292. font-size: 18px;
  1293. }
  1294. h5,
  1295. .h5 {
  1296. font-size: 14px;
  1297. }
  1298. h6,
  1299. .h6 {
  1300. font-size: 12px;
  1301. }
  1302. p {
  1303. margin: 0 0 10px;
  1304. }
  1305. .lead {
  1306. margin-bottom: 20px;
  1307. font-size: 16px;
  1308. font-weight: 300;
  1309. line-height: 1.4;
  1310. }
  1311. @media (min-width: 768px) {
  1312. .lead {
  1313. font-size: 21px;
  1314. }
  1315. }
  1316. small,
  1317. .small {
  1318. font-size: 85%;
  1319. }
  1320. mark,
  1321. .mark {
  1322. background-color: #fcf8e3;
  1323. padding: .2em;
  1324. }
  1325. .text-left {
  1326. text-align: left;
  1327. }
  1328. .text-right {
  1329. text-align: right;
  1330. }
  1331. .text-center {
  1332. text-align: center;
  1333. }
  1334. .text-justify {
  1335. text-align: justify;
  1336. }
  1337. .text-nowrap {
  1338. white-space: nowrap;
  1339. }
  1340. .text-lowercase {
  1341. text-transform: lowercase;
  1342. }
  1343. .text-uppercase {
  1344. text-transform: uppercase;
  1345. }
  1346. .text-capitalize {
  1347. text-transform: capitalize;
  1348. }
  1349. .text-muted {
  1350. color: #777777;
  1351. }
  1352. .text-primary {
  1353. color: #337ab7;
  1354. }
  1355. a.text-primary:hover,
  1356. a.text-primary:focus {
  1357. color: #286090;
  1358. }
  1359. .text-success {
  1360. color: #3c763d;
  1361. }
  1362. a.text-success:hover,
  1363. a.text-success:focus {
  1364. color: #2b542c;
  1365. }
  1366. .text-info {
  1367. color: #31708f;
  1368. }
  1369. a.text-info:hover,
  1370. a.text-info:focus {
  1371. color: #245269;
  1372. }
  1373. .text-warning {
  1374. color: #8a6d3b;
  1375. }
  1376. a.text-warning:hover,
  1377. a.text-warning:focus {
  1378. color: #66512c;
  1379. }
  1380. .text-danger {
  1381. color: #a94442;
  1382. }
  1383. a.text-danger:hover,
  1384. a.text-danger:focus {
  1385. color: #843534;
  1386. }
  1387. .bg-primary {
  1388. color: #fff;
  1389. background-color: #337ab7;
  1390. }
  1391. a.bg-primary:hover,
  1392. a.bg-primary:focus {
  1393. background-color: #286090;
  1394. }
  1395. .bg-success {
  1396. background-color: #dff0d8;
  1397. }
  1398. a.bg-success:hover,
  1399. a.bg-success:focus {
  1400. background-color: #c1e2b3;
  1401. }
  1402. .bg-info {
  1403. background-color: #d9edf7;
  1404. }
  1405. a.bg-info:hover,
  1406. a.bg-info:focus {
  1407. background-color: #afd9ee;
  1408. }
  1409. .bg-warning {
  1410. background-color: #fcf8e3;
  1411. }
  1412. a.bg-warning:hover,
  1413. a.bg-warning:focus {
  1414. background-color: #f7ecb5;
  1415. }
  1416. .bg-danger {
  1417. background-color: #f2dede;
  1418. }
  1419. a.bg-danger:hover,
  1420. a.bg-danger:focus {
  1421. background-color: #e4b9b9;
  1422. }
  1423. .page-header {
  1424. padding-bottom: 9px;
  1425. margin: 40px 0 20px;
  1426. border-bottom: 1px solid #eeeeee;
  1427. }
  1428. ul,
  1429. ol {
  1430. margin-top: 0;
  1431. margin-bottom: 10px;
  1432. }
  1433. ul ul,
  1434. ol ul,
  1435. ul ol,
  1436. ol ol {
  1437. margin-bottom: 0;
  1438. }
  1439. .list-unstyled {
  1440. padding-left: 0;
  1441. list-style: none;
  1442. }
  1443. .list-inline {
  1444. padding-left: 0;
  1445. list-style: none;
  1446. margin-left: -5px;
  1447. }
  1448. .list-inline > li {
  1449. display: inline-block;
  1450. padding-left: 5px;
  1451. padding-right: 5px;
  1452. }
  1453. dl {
  1454. margin-top: 0;
  1455. margin-bottom: 20px;
  1456. }
  1457. dt,
  1458. dd {
  1459. line-height: 1.42857143;
  1460. }
  1461. dt {
  1462. font-weight: bold;
  1463. }
  1464. dd {
  1465. margin-left: 0;
  1466. }
  1467. @media (min-width: 768px) {
  1468. .dl-horizontal dt {
  1469. float: left;
  1470. width: 160px;
  1471. clear: left;
  1472. text-align: right;
  1473. overflow: hidden;
  1474. text-overflow: ellipsis;
  1475. white-space: nowrap;
  1476. }
  1477. .dl-horizontal dd {
  1478. margin-left: 180px;
  1479. }
  1480. }
  1481. abbr[title],
  1482. abbr[data-original-title] {
  1483. cursor: help;
  1484. border-bottom: 1px dotted #777777;
  1485. }
  1486. .initialism {
  1487. font-size: 90%;
  1488. text-transform: uppercase;
  1489. }
  1490. blockquote {
  1491. padding: 10px 20px;
  1492. margin: 0 0 20px;
  1493. font-size: 17.5px;
  1494. border-left: 5px solid #eeeeee;
  1495. }
  1496. blockquote p:last-child,
  1497. blockquote ul:last-child,
  1498. blockquote ol:last-child {
  1499. margin-bottom: 0;
  1500. }
  1501. blockquote footer,
  1502. blockquote small,
  1503. blockquote .small {
  1504. display: block;
  1505. font-size: 80%;
  1506. line-height: 1.42857143;
  1507. color: #777777;
  1508. }
  1509. blockquote footer:before,
  1510. blockquote small:before,
  1511. blockquote .small:before {
  1512. content: '\2014 \00A0';
  1513. }
  1514. .blockquote-reverse,
  1515. blockquote.pull-right {
  1516. padding-right: 15px;
  1517. padding-left: 0;
  1518. border-right: 5px solid #eeeeee;
  1519. border-left: 0;
  1520. text-align: right;
  1521. }
  1522. .blockquote-reverse footer:before,
  1523. blockquote.pull-right footer:before,
  1524. .blockquote-reverse small:before,
  1525. blockquote.pull-right small:before,
  1526. .blockquote-reverse .small:before,
  1527. blockquote.pull-right .small:before {
  1528. content: '';
  1529. }
  1530. .blockquote-reverse footer:after,
  1531. blockquote.pull-right footer:after,
  1532. .blockquote-reverse small:after,
  1533. blockquote.pull-right small:after,
  1534. .blockquote-reverse .small:after,
  1535. blockquote.pull-right .small:after {
  1536. content: '\00A0 \2014';
  1537. }
  1538. address {
  1539. margin-bottom: 20px;
  1540. font-style: normal;
  1541. line-height: 1.42857143;
  1542. }
  1543. code,
  1544. kbd,
  1545. pre,
  1546. samp {
  1547. font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
  1548. }
  1549. code {
  1550. padding: 2px 4px;
  1551. font-size: 90%;
  1552. color: #c7254e;
  1553. background-color: #f9f2f4;
  1554. border-radius: 4px;
  1555. }
  1556. kbd {
  1557. padding: 2px 4px;
  1558. font-size: 90%;
  1559. color: #ffffff;
  1560. background-color: #333333;
  1561. border-radius: 3px;
  1562. -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
  1563. box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
  1564. }
  1565. kbd kbd {
  1566. padding: 0;
  1567. font-size: 100%;
  1568. font-weight: bold;
  1569. -webkit-box-shadow: none;
  1570. box-shadow: none;
  1571. }
  1572. pre {
  1573. display: block;
  1574. padding: 9.5px;
  1575. margin: 0 0 10px;
  1576. font-size: 13px;
  1577. line-height: 1.42857143;
  1578. word-break: break-all;
  1579. word-wrap: break-word;
  1580. color: #333333;
  1581. background-color: #f5f5f5;
  1582. border: 1px solid #cccccc;
  1583. border-radius: 4px;
  1584. }
  1585. pre code {
  1586. padding: 0;
  1587. font-size: inherit;
  1588. color: inherit;
  1589. white-space: pre-wrap;
  1590. background-color: transparent;
  1591. border-radius: 0;
  1592. }
  1593. .pre-scrollable {
  1594. max-height: 340px;
  1595. overflow-y: scroll;
  1596. }
  1597. .container {
  1598. margin-right: auto;
  1599. margin-left: auto;
  1600. padding-left: 15px;
  1601. padding-right: 15px;
  1602. }
  1603. @media (min-width: 768px) {
  1604. .container {
  1605. width: 750px;
  1606. }
  1607. }
  1608. @media (min-width: 992px) {
  1609. .container {
  1610. width: 970px;
  1611. }
  1612. }
  1613. @media (min-width: 1200px) {
  1614. .container {
  1615. width: 1170px;
  1616. }
  1617. }
  1618. .container-fluid {
  1619. margin-right: auto;
  1620. margin-left: auto;
  1621. padding-left: 15px;
  1622. padding-right: 15px;
  1623. }
  1624. .row {
  1625. margin-left: -15px;
  1626. margin-right: -15px;
  1627. }
  1628. .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  1629. position: relative;
  1630. min-height: 1px;
  1631. padding-left: 15px;
  1632. padding-right: 15px;
  1633. }
  1634. .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  1635. float: left;
  1636. }
  1637. .col-xs-12 {
  1638. width: 100%;
  1639. }
  1640. .col-xs-11 {
  1641. width: 91.66666667%;
  1642. }
  1643. .col-xs-10 {
  1644. width: 83.33333333%;
  1645. }
  1646. .col-xs-9 {
  1647. width: 75%;
  1648. }
  1649. .col-xs-8 {
  1650. width: 66.66666667%;
  1651. }
  1652. .col-xs-7 {
  1653. width: 58.33333333%;
  1654. }
  1655. .col-xs-6 {
  1656. width: 50%;
  1657. }
  1658. .col-xs-5 {
  1659. width: 41.66666667%;
  1660. }
  1661. .col-xs-4 {
  1662. width: 33.33333333%;
  1663. }
  1664. .col-xs-3 {
  1665. width: 25%;
  1666. }
  1667. .col-xs-2 {
  1668. width: 16.66666667%;
  1669. }
  1670. .col-xs-1 {
  1671. width: 8.33333333%;
  1672. }
  1673. .col-xs-pull-12 {
  1674. right: 100%;
  1675. }
  1676. .col-xs-pull-11 {
  1677. right: 91.66666667%;
  1678. }
  1679. .col-xs-pull-10 {
  1680. right: 83.33333333%;
  1681. }
  1682. .col-xs-pull-9 {
  1683. right: 75%;
  1684. }
  1685. .col-xs-pull-8 {
  1686. right: 66.66666667%;
  1687. }
  1688. .col-xs-pull-7 {
  1689. right: 58.33333333%;
  1690. }
  1691. .col-xs-pull-6 {
  1692. right: 50%;
  1693. }
  1694. .col-xs-pull-5 {
  1695. right: 41.66666667%;
  1696. }
  1697. .col-xs-pull-4 {
  1698. right: 33.33333333%;
  1699. }
  1700. .col-xs-pull-3 {
  1701. right: 25%;
  1702. }
  1703. .col-xs-pull-2 {
  1704. right: 16.66666667%;
  1705. }
  1706. .col-xs-pull-1 {
  1707. right: 8.33333333%;
  1708. }
  1709. .col-xs-pull-0 {
  1710. right: auto;
  1711. }
  1712. .col-xs-push-12 {
  1713. left: 100%;
  1714. }
  1715. .col-xs-push-11 {
  1716. left: 91.66666667%;
  1717. }
  1718. .col-xs-push-10 {
  1719. left: 83.33333333%;
  1720. }
  1721. .col-xs-push-9 {
  1722. left: 75%;
  1723. }
  1724. .col-xs-push-8 {
  1725. left: 66.66666667%;
  1726. }
  1727. .col-xs-push-7 {
  1728. left: 58.33333333%;
  1729. }
  1730. .col-xs-push-6 {
  1731. left: 50%;
  1732. }
  1733. .col-xs-push-5 {
  1734. left: 41.66666667%;
  1735. }
  1736. .col-xs-push-4 {
  1737. left: 33.33333333%;
  1738. }
  1739. .col-xs-push-3 {
  1740. left: 25%;
  1741. }
  1742. .col-xs-push-2 {
  1743. left: 16.66666667%;
  1744. }
  1745. .col-xs-push-1 {
  1746. left: 8.33333333%;
  1747. }
  1748. .col-xs-push-0 {
  1749. left: auto;
  1750. }
  1751. .col-xs-offset-12 {
  1752. margin-left: 100%;
  1753. }
  1754. .col-xs-offset-11 {
  1755. margin-left: 91.66666667%;
  1756. }
  1757. .col-xs-offset-10 {
  1758. margin-left: 83.33333333%;
  1759. }
  1760. .col-xs-offset-9 {
  1761. margin-left: 75%;
  1762. }
  1763. .col-xs-offset-8 {
  1764. margin-left: 66.66666667%;
  1765. }
  1766. .col-xs-offset-7 {
  1767. margin-left: 58.33333333%;
  1768. }
  1769. .col-xs-offset-6 {
  1770. margin-left: 50%;
  1771. }
  1772. .col-xs-offset-5 {
  1773. margin-left: 41.66666667%;
  1774. }
  1775. .col-xs-offset-4 {
  1776. margin-left: 33.33333333%;
  1777. }
  1778. .col-xs-offset-3 {
  1779. margin-left: 25%;
  1780. }
  1781. .col-xs-offset-2 {
  1782. margin-left: 16.66666667%;
  1783. }
  1784. .col-xs-offset-1 {
  1785. margin-left: 8.33333333%;
  1786. }
  1787. .col-xs-offset-0 {
  1788. margin-left: 0%;
  1789. }
  1790. @media (min-width: 768px) {
  1791. .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
  1792. float: left;
  1793. }
  1794. .col-sm-12 {
  1795. width: 100%;
  1796. }
  1797. .col-sm-11 {
  1798. width: 91.66666667%;
  1799. }
  1800. .col-sm-10 {
  1801. width: 83.33333333%;
  1802. }
  1803. .col-sm-9 {
  1804. width: 75%;
  1805. }
  1806. .col-sm-8 {
  1807. width: 66.66666667%;
  1808. }
  1809. .col-sm-7 {
  1810. width: 58.33333333%;
  1811. }
  1812. .col-sm-6 {
  1813. width: 50%;
  1814. }
  1815. .col-sm-5 {
  1816. width: 41.66666667%;
  1817. }
  1818. .col-sm-4 {
  1819. width: 33.33333333%;
  1820. }
  1821. .col-sm-3 {
  1822. width: 25%;
  1823. }
  1824. .col-sm-2 {
  1825. width: 16.66666667%;
  1826. }
  1827. .col-sm-1 {
  1828. width: 8.33333333%;
  1829. }
  1830. .col-sm-pull-12 {
  1831. right: 100%;
  1832. }
  1833. .col-sm-pull-11 {
  1834. right: 91.66666667%;
  1835. }
  1836. .col-sm-pull-10 {
  1837. right: 83.33333333%;
  1838. }
  1839. .col-sm-pull-9 {
  1840. right: 75%;
  1841. }
  1842. .col-sm-pull-8 {
  1843. right: 66.66666667%;
  1844. }
  1845. .col-sm-pull-7 {
  1846. right: 58.33333333%;
  1847. }
  1848. .col-sm-pull-6 {
  1849. right: 50%;
  1850. }
  1851. .col-sm-pull-5 {
  1852. right: 41.66666667%;
  1853. }
  1854. .col-sm-pull-4 {
  1855. right: 33.33333333%;
  1856. }
  1857. .col-sm-pull-3 {
  1858. right: 25%;
  1859. }
  1860. .col-sm-pull-2 {
  1861. right: 16.66666667%;
  1862. }
  1863. .col-sm-pull-1 {
  1864. right: 8.33333333%;
  1865. }
  1866. .col-sm-pull-0 {
  1867. right: auto;
  1868. }
  1869. .col-sm-push-12 {
  1870. left: 100%;
  1871. }
  1872. .col-sm-push-11 {
  1873. left: 91.66666667%;
  1874. }
  1875. .col-sm-push-10 {
  1876. left: 83.33333333%;
  1877. }
  1878. .col-sm-push-9 {
  1879. left: 75%;
  1880. }
  1881. .col-sm-push-8 {
  1882. left: 66.66666667%;
  1883. }
  1884. .col-sm-push-7 {
  1885. left: 58.33333333%;
  1886. }
  1887. .col-sm-push-6 {
  1888. left: 50%;
  1889. }
  1890. .col-sm-push-5 {
  1891. left: 41.66666667%;
  1892. }
  1893. .col-sm-push-4 {
  1894. left: 33.33333333%;
  1895. }
  1896. .col-sm-push-3 {
  1897. left: 25%;
  1898. }
  1899. .col-sm-push-2 {
  1900. left: 16.66666667%;
  1901. }
  1902. .col-sm-push-1 {
  1903. left: 8.33333333%;
  1904. }
  1905. .col-sm-push-0 {
  1906. left: auto;
  1907. }
  1908. .col-sm-offset-12 {
  1909. margin-left: 100%;
  1910. }
  1911. .col-sm-offset-11 {
  1912. margin-left: 91.66666667%;
  1913. }
  1914. .col-sm-offset-10 {
  1915. margin-left: 83.33333333%;
  1916. }
  1917. .col-sm-offset-9 {
  1918. margin-left: 75%;
  1919. }
  1920. .col-sm-offset-8 {
  1921. margin-left: 66.66666667%;
  1922. }
  1923. .col-sm-offset-7 {
  1924. margin-left: 58.33333333%;
  1925. }
  1926. .col-sm-offset-6 {
  1927. margin-left: 50%;
  1928. }
  1929. .col-sm-offset-5 {
  1930. margin-left: 41.66666667%;
  1931. }
  1932. .col-sm-offset-4 {
  1933. margin-left: 33.33333333%;
  1934. }
  1935. .col-sm-offset-3 {
  1936. margin-left: 25%;
  1937. }
  1938. .col-sm-offset-2 {
  1939. margin-left: 16.66666667%;
  1940. }
  1941. .col-sm-offset-1 {
  1942. margin-left: 8.33333333%;
  1943. }
  1944. .col-sm-offset-0 {
  1945. margin-left: 0%;
  1946. }
  1947. }
  1948. @media (min-width: 992px) {
  1949. .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
  1950. float: left;
  1951. }
  1952. .col-md-12 {
  1953. width: 100%;
  1954. }
  1955. .col-md-11 {
  1956. width: 91.66666667%;
  1957. }
  1958. .col-md-10 {
  1959. width: 83.33333333%;
  1960. }
  1961. .col-md-9 {
  1962. width: 75%;
  1963. }
  1964. .col-md-8 {
  1965. width: 66.66666667%;
  1966. }
  1967. .col-md-7 {
  1968. width: 58.33333333%;
  1969. }
  1970. .col-md-6 {
  1971. width: 50%;
  1972. }
  1973. .col-md-5 {
  1974. width: 41.66666667%;
  1975. }
  1976. .col-md-4 {
  1977. width: 33.33333333%;
  1978. }
  1979. .col-md-3 {
  1980. width: 25%;
  1981. }
  1982. .col-md-2 {
  1983. width: 16.66666667%;
  1984. }
  1985. .col-md-1 {
  1986. width: 8.33333333%;
  1987. }
  1988. .col-md-pull-12 {
  1989. right: 100%;
  1990. }
  1991. .col-md-pull-11 {
  1992. right: 91.66666667%;
  1993. }
  1994. .col-md-pull-10 {
  1995. right: 83.33333333%;
  1996. }
  1997. .col-md-pull-9 {
  1998. right: 75%;
  1999. }
  2000. .col-md-pull-8 {
  2001. right: 66.66666667%;
  2002. }
  2003. .col-md-pull-7 {
  2004. right: 58.33333333%;
  2005. }
  2006. .col-md-pull-6 {
  2007. right: 50%;
  2008. }
  2009. .col-md-pull-5 {
  2010. right: 41.66666667%;
  2011. }
  2012. .col-md-pull-4 {
  2013. right: 33.33333333%;
  2014. }
  2015. .col-md-pull-3 {
  2016. right: 25%;
  2017. }
  2018. .col-md-pull-2 {
  2019. right: 16.66666667%;
  2020. }
  2021. .col-md-pull-1 {
  2022. right: 8.33333333%;
  2023. }
  2024. .col-md-pull-0 {
  2025. right: auto;
  2026. }
  2027. .col-md-push-12 {
  2028. left: 100%;
  2029. }
  2030. .col-md-push-11 {
  2031. left: 91.66666667%;
  2032. }
  2033. .col-md-push-10 {
  2034. left: 83.33333333%;
  2035. }
  2036. .col-md-push-9 {
  2037. left: 75%;
  2038. }
  2039. .col-md-push-8 {
  2040. left: 66.66666667%;
  2041. }
  2042. .col-md-push-7 {
  2043. left: 58.33333333%;
  2044. }
  2045. .col-md-push-6 {
  2046. left: 50%;
  2047. }
  2048. .col-md-push-5 {
  2049. left: 41.66666667%;
  2050. }
  2051. .col-md-push-4 {
  2052. left: 33.33333333%;
  2053. }
  2054. .col-md-push-3 {
  2055. left: 25%;
  2056. }
  2057. .col-md-push-2 {
  2058. left: 16.66666667%;
  2059. }
  2060. .col-md-push-1 {
  2061. left: 8.33333333%;
  2062. }
  2063. .col-md-push-0 {
  2064. left: auto;
  2065. }
  2066. .col-md-offset-12 {
  2067. margin-left: 100%;
  2068. }
  2069. .col-md-offset-11 {
  2070. margin-left: 91.66666667%;
  2071. }
  2072. .col-md-offset-10 {
  2073. margin-left: 83.33333333%;
  2074. }
  2075. .col-md-offset-9 {
  2076. margin-left: 75%;
  2077. }
  2078. .col-md-offset-8 {
  2079. margin-left: 66.66666667%;
  2080. }
  2081. .col-md-offset-7 {
  2082. margin-left: 58.33333333%;
  2083. }
  2084. .col-md-offset-6 {
  2085. margin-left: 50%;
  2086. }
  2087. .col-md-offset-5 {
  2088. margin-left: 41.66666667%;
  2089. }
  2090. .col-md-offset-4 {
  2091. margin-left: 33.33333333%;
  2092. }
  2093. .col-md-offset-3 {
  2094. margin-left: 25%;
  2095. }
  2096. .col-md-offset-2 {
  2097. margin-left: 16.66666667%;
  2098. }
  2099. .col-md-offset-1 {
  2100. margin-left: 8.33333333%;
  2101. }
  2102. .col-md-offset-0 {
  2103. margin-left: 0%;
  2104. }
  2105. }
  2106. @media (min-width: 1200px) {
  2107. .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
  2108. float: left;
  2109. }
  2110. .col-lg-12 {
  2111. width: 100%;
  2112. }
  2113. .col-lg-11 {
  2114. width: 91.66666667%;
  2115. }
  2116. .col-lg-10 {
  2117. width: 83.33333333%;
  2118. }
  2119. .col-lg-9 {
  2120. width: 75%;
  2121. }
  2122. .col-lg-8 {
  2123. width: 66.66666667%;
  2124. }
  2125. .col-lg-7 {
  2126. width: 58.33333333%;
  2127. }
  2128. .col-lg-6 {
  2129. width: 50%;
  2130. }
  2131. .col-lg-5 {
  2132. width: 41.66666667%;
  2133. }
  2134. .col-lg-4 {
  2135. width: 33.33333333%;
  2136. }
  2137. .col-lg-3 {
  2138. width: 25%;
  2139. }
  2140. .col-lg-2 {
  2141. width: 16.66666667%;
  2142. }
  2143. .col-lg-1 {
  2144. width: 8.33333333%;
  2145. }
  2146. .col-lg-pull-12 {
  2147. right: 100%;
  2148. }
  2149. .col-lg-pull-11 {
  2150. right: 91.66666667%;
  2151. }
  2152. .col-lg-pull-10 {
  2153. right: 83.33333333%;
  2154. }
  2155. .col-lg-pull-9 {
  2156. right: 75%;
  2157. }
  2158. .col-lg-pull-8 {
  2159. right: 66.66666667%;
  2160. }
  2161. .col-lg-pull-7 {
  2162. right: 58.33333333%;
  2163. }
  2164. .col-lg-pull-6 {
  2165. right: 50%;
  2166. }
  2167. .col-lg-pull-5 {
  2168. right: 41.66666667%;
  2169. }
  2170. .col-lg-pull-4 {
  2171. right: 33.33333333%;
  2172. }
  2173. .col-lg-pull-3 {
  2174. right: 25%;
  2175. }
  2176. .col-lg-pull-2 {
  2177. right: 16.66666667%;
  2178. }
  2179. .col-lg-pull-1 {
  2180. right: 8.33333333%;
  2181. }
  2182. .col-lg-pull-0 {
  2183. right: auto;
  2184. }
  2185. .col-lg-push-12 {
  2186. left: 100%;
  2187. }
  2188. .col-lg-push-11 {
  2189. left: 91.66666667%;
  2190. }
  2191. .col-lg-push-10 {
  2192. left: 83.33333333%;
  2193. }
  2194. .col-lg-push-9 {
  2195. left: 75%;
  2196. }
  2197. .col-lg-push-8 {
  2198. left: 66.66666667%;
  2199. }
  2200. .col-lg-push-7 {
  2201. left: 58.33333333%;
  2202. }
  2203. .col-lg-push-6 {
  2204. left: 50%;
  2205. }
  2206. .col-lg-push-5 {
  2207. left: 41.66666667%;
  2208. }
  2209. .col-lg-push-4 {
  2210. left: 33.33333333%;
  2211. }
  2212. .col-lg-push-3 {
  2213. left: 25%;
  2214. }
  2215. .col-lg-push-2 {
  2216. left: 16.66666667%;
  2217. }
  2218. .col-lg-push-1 {
  2219. left: 8.33333333%;
  2220. }
  2221. .col-lg-push-0 {
  2222. left: auto;
  2223. }
  2224. .col-lg-offset-12 {
  2225. margin-left: 100%;
  2226. }
  2227. .col-lg-offset-11 {
  2228. margin-left: 91.66666667%;
  2229. }
  2230. .col-lg-offset-10 {
  2231. margin-left: 83.33333333%;
  2232. }
  2233. .col-lg-offset-9 {
  2234. margin-left: 75%;
  2235. }
  2236. .col-lg-offset-8 {
  2237. margin-left: 66.66666667%;
  2238. }
  2239. .col-lg-offset-7 {
  2240. margin-left: 58.33333333%;
  2241. }
  2242. .col-lg-offset-6 {
  2243. margin-left: 50%;
  2244. }
  2245. .col-lg-offset-5 {
  2246. margin-left: 41.66666667%;
  2247. }
  2248. .col-lg-offset-4 {
  2249. margin-left: 33.33333333%;
  2250. }
  2251. .col-lg-offset-3 {
  2252. margin-left: 25%;
  2253. }
  2254. .col-lg-offset-2 {
  2255. margin-left: 16.66666667%;
  2256. }
  2257. .col-lg-offset-1 {
  2258. margin-left: 8.33333333%;
  2259. }
  2260. .col-lg-offset-0 {
  2261. margin-left: 0%;
  2262. }
  2263. }
  2264. table {
  2265. background-color: transparent;
  2266. }
  2267. caption {
  2268. padding-top: 8px;
  2269. padding-bottom: 8px;
  2270. color: #777777;
  2271. text-align: left;
  2272. }
  2273. th {
  2274. text-align: left;
  2275. }
  2276. .table {
  2277. width: 100%;
  2278. max-width: 100%;
  2279. margin-bottom: 20px;
  2280. }
  2281. .table > thead > tr > th,
  2282. .table > tbody > tr > th,
  2283. .table > tfoot > tr > th,
  2284. .table > thead > tr > td,
  2285. .table > tbody > tr > td,
  2286. .table > tfoot > tr > td {
  2287. padding: 8px;
  2288. line-height: 1.42857143;
  2289. vertical-align: top;
  2290. border-top: 1px solid #dddddd;
  2291. }
  2292. .table > thead > tr > th {
  2293. vertical-align: bottom;
  2294. border-bottom: 2px solid #dddddd;
  2295. }
  2296. .table > caption + thead > tr:first-child > th,
  2297. .table > colgroup + thead > tr:first-child > th,
  2298. .table > thead:first-child > tr:first-child > th,
  2299. .table > caption + thead > tr:first-child > td,
  2300. .table > colgroup + thead > tr:first-child > td,
  2301. .table > thead:first-child > tr:first-child > td {
  2302. border-top: 0;
  2303. }
  2304. .table > tbody + tbody {
  2305. border-top: 2px solid #dddddd;
  2306. }
  2307. .table .table {
  2308. background-color: #ffffff;
  2309. }
  2310. .table-condensed > thead > tr > th,
  2311. .table-condensed > tbody > tr > th,
  2312. .table-condensed > tfoot > tr > th,
  2313. .table-condensed > thead > tr > td,
  2314. .table-condensed > tbody > tr > td,
  2315. .table-condensed > tfoot > tr > td {
  2316. padding: 5px;
  2317. }
  2318. .table-bordered {
  2319. border: 1px solid #dddddd;
  2320. }
  2321. .table-bordered > thead > tr > th,
  2322. .table-bordered > tbody > tr > th,
  2323. .table-bordered > tfoot > tr > th,
  2324. .table-bordered > thead > tr > td,
  2325. .table-bordered > tbody > tr > td,
  2326. .table-bordered > tfoot > tr > td {
  2327. border: 1px solid #dddddd;
  2328. }
  2329. .table-bordered > thead > tr > th,
  2330. .table-bordered > thead > tr > td {
  2331. border-bottom-width: 2px;
  2332. }
  2333. .table-striped > tbody > tr:nth-of-type(odd) {
  2334. background-color: #f9f9f9;
  2335. }
  2336. .table-hover > tbody > tr:hover {
  2337. background-color: #f5f5f5;
  2338. }
  2339. table col[class*="col-"] {
  2340. position: static;
  2341. float: none;
  2342. display: table-column;
  2343. }
  2344. table td[class*="col-"],
  2345. table th[class*="col-"] {
  2346. position: static;
  2347. float: none;
  2348. display: table-cell;
  2349. }
  2350. .table > thead > tr > td.active,
  2351. .table > tbody > tr > td.active,
  2352. .table > tfoot > tr > td.active,
  2353. .table > thead > tr > th.active,
  2354. .table > tbody > tr > th.active,
  2355. .table > tfoot > tr > th.active,
  2356. .table > thead > tr.active > td,
  2357. .table > tbody > tr.active > td,
  2358. .table > tfoot > tr.active > td,
  2359. .table > thead > tr.active > th,
  2360. .table > tbody > tr.active > th,
  2361. .table > tfoot > tr.active > th {
  2362. background-color: #f5f5f5;
  2363. }
  2364. .table-hover > tbody > tr > td.active:hover,
  2365. .table-hover > tbody > tr > th.active:hover,
  2366. .table-hover > tbody > tr.active:hover > td,
  2367. .table-hover > tbody > tr:hover > .active,
  2368. .table-hover > tbody > tr.active:hover > th {
  2369. background-color: #e8e8e8;
  2370. }
  2371. .table > thead > tr > td.success,
  2372. .table > tbody > tr > td.success,
  2373. .table > tfoot > tr > td.success,
  2374. .table > thead > tr > th.success,
  2375. .table > tbody > tr > th.success,
  2376. .table > tfoot > tr > th.success,
  2377. .table > thead > tr.success > td,
  2378. .table > tbody > tr.success > td,
  2379. .table > tfoot > tr.success > td,
  2380. .table > thead > tr.success > th,
  2381. .table > tbody > tr.success > th,
  2382. .table > tfoot > tr.success > th {
  2383. background-color: #dff0d8;
  2384. }
  2385. .table-hover > tbody > tr > td.success:hover,
  2386. .table-hover > tbody > tr > th.success:hover,
  2387. .table-hover > tbody > tr.success:hover > td,
  2388. .table-hover > tbody > tr:hover > .success,
  2389. .table-hover > tbody > tr.success:hover > th {
  2390. background-color: #d0e9c6;
  2391. }
  2392. .table > thead > tr > td.info,
  2393. .table > tbody > tr > td.info,
  2394. .table > tfoot > tr > td.info,
  2395. .table > thead > tr > th.info,
  2396. .table > tbody > tr > th.info,
  2397. .table > tfoot > tr > th.info,
  2398. .table > thead > tr.info > td,
  2399. .table > tbody > tr.info > td,
  2400. .table > tfoot > tr.info > td,
  2401. .table > thead > tr.info > th,
  2402. .table > tbody > tr.info > th,
  2403. .table > tfoot > tr.info > th {
  2404. background-color: #d9edf7;
  2405. }
  2406. .table-hover > tbody > tr > td.info:hover,
  2407. .table-hover > tbody > tr > th.info:hover,
  2408. .table-hover > tbody > tr.info:hover > td,
  2409. .table-hover > tbody > tr:hover > .info,
  2410. .table-hover > tbody > tr.info:hover > th {
  2411. background-color: #c4e3f3;
  2412. }
  2413. .table > thead > tr > td.warning,
  2414. .table > tbody > tr > td.warning,
  2415. .table > tfoot > tr > td.warning,
  2416. .table > thead > tr > th.warning,
  2417. .table > tbody > tr > th.warning,
  2418. .table > tfoot > tr > th.warning,
  2419. .table > thead > tr.warning > td,
  2420. .table > tbody > tr.warning > td,
  2421. .table > tfoot > tr.warning > td,
  2422. .table > thead > tr.warning > th,
  2423. .table > tbody > tr.warning > th,
  2424. .table > tfoot > tr.warning > th {
  2425. background-color: #fcf8e3;
  2426. }
  2427. .table-hover > tbody > tr > td.warning:hover,
  2428. .table-hover > tbody > tr > th.warning:hover,
  2429. .table-hover > tbody > tr.warning:hover > td,
  2430. .table-hover > tbody > tr:hover > .warning,
  2431. .table-hover > tbody > tr.warning:hover > th {
  2432. background-color: #faf2cc;
  2433. }
  2434. .table > thead > tr > td.danger,
  2435. .table > tbody > tr > td.danger,
  2436. .table > tfoot > tr > td.danger,
  2437. .table > thead > tr > th.danger,
  2438. .table > tbody > tr > th.danger,
  2439. .table > tfoot > tr > th.danger,
  2440. .table > thead > tr.danger > td,
  2441. .table > tbody > tr.danger > td,
  2442. .table > tfoot > tr.danger > td,
  2443. .table > thead > tr.danger > th,
  2444. .table > tbody > tr.danger > th,
  2445. .table > tfoot > tr.danger > th {
  2446. background-color: #f2dede;
  2447. }
  2448. .table-hover > tbody > tr > td.danger:hover,
  2449. .table-hover > tbody > tr > th.danger:hover,
  2450. .table-hover > tbody > tr.danger:hover > td,
  2451. .table-hover > tbody > tr:hover > .danger,
  2452. .table-hover > tbody > tr.danger:hover > th {
  2453. background-color: #ebcccc;
  2454. }
  2455. .table-responsive {
  2456. overflow-x: auto;
  2457. min-height: 0.01%;
  2458. }
  2459. @media screen and (max-width: 767px) {
  2460. .table-responsive {
  2461. width: 100%;
  2462. margin-bottom: 15px;
  2463. overflow-y: hidden;
  2464. -ms-overflow-style: -ms-autohiding-scrollbar;
  2465. border: 1px solid #dddddd;
  2466. }
  2467. .table-responsive > .table {
  2468. margin-bottom: 0;
  2469. }
  2470. .table-responsive > .table > thead > tr > th,
  2471. .table-responsive > .table > tbody > tr > th,
  2472. .table-responsive > .table > tfoot > tr > th,
  2473. .table-responsive > .table > thead > tr > td,
  2474. .table-responsive > .table > tbody > tr > td,
  2475. .table-responsive > .table > tfoot > tr > td {
  2476. white-space: nowrap;
  2477. }
  2478. .table-responsive > .table-bordered {
  2479. border: 0;
  2480. }
  2481. .table-responsive > .table-bordered > thead > tr > th:first-child,
  2482. .table-responsive > .table-bordered > tbody > tr > th:first-child,
  2483. .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  2484. .table-responsive > .table-bordered > thead > tr > td:first-child,
  2485. .table-responsive > .table-bordered > tbody > tr > td:first-child,
  2486. .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  2487. border-left: 0;
  2488. }
  2489. .table-responsive > .table-bordered > thead > tr > th:last-child,
  2490. .table-responsive > .table-bordered > tbody > tr > th:last-child,
  2491. .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  2492. .table-responsive > .table-bordered > thead > tr > td:last-child,
  2493. .table-responsive > .table-bordered > tbody > tr > td:last-child,
  2494. .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  2495. border-right: 0;
  2496. }
  2497. .table-responsive > .table-bordered > tbody > tr:last-child > th,
  2498. .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  2499. .table-responsive > .table-bordered > tbody > tr:last-child > td,
  2500. .table-responsive > .table-bordered > tfoot > tr:last-child > td {
  2501. border-bottom: 0;
  2502. }
  2503. }
  2504. fieldset {
  2505. padding: 0;
  2506. margin: 0;
  2507. border: 0;
  2508. min-width: 0;
  2509. }
  2510. legend {
  2511. display: block;
  2512. width: 100%;
  2513. padding: 0;
  2514. margin-bottom: 20px;
  2515. font-size: 21px;
  2516. line-height: inherit;
  2517. color: #333333;
  2518. border: 0;
  2519. border-bottom: 1px solid #e5e5e5;
  2520. }
  2521. label {
  2522. display: inline-block;
  2523. max-width: 100%;
  2524. margin-bottom: 5px;
  2525. font-weight: bold;
  2526. }
  2527. input[type="search"] {
  2528. -webkit-box-sizing: border-box;
  2529. -moz-box-sizing: border-box;
  2530. box-sizing: border-box;
  2531. }
  2532. input[type="radio"],
  2533. input[type="checkbox"] {
  2534. margin: 4px 0 0;
  2535. margin-top: 1px \9;
  2536. line-height: normal;
  2537. }
  2538. input[type="file"] {
  2539. display: block;
  2540. }
  2541. input[type="range"] {
  2542. display: block;
  2543. width: 100%;
  2544. }
  2545. select[multiple],
  2546. select[size] {
  2547. height: auto;
  2548. }
  2549. input[type="file"]:focus,
  2550. input[type="radio"]:focus,
  2551. input[type="checkbox"]:focus {
  2552. outline: thin dotted;
  2553. outline: 5px auto -webkit-focus-ring-color;
  2554. outline-offset: -2px;
  2555. }
  2556. output {
  2557. display: block;
  2558. padding-top: 7px;
  2559. font-size: 14px;
  2560. line-height: 1.42857143;
  2561. color: #555555;
  2562. }
  2563. .form-control {
  2564. display: block;
  2565. width: 100%;
  2566. height: 34px;
  2567. padding: 6px 12px;
  2568. font-size: 14px;
  2569. line-height: 1.42857143;
  2570. color: #555555;
  2571. background-color: #ffffff;
  2572. background-image: none;
  2573. border: 1px solid #cccccc;
  2574. border-radius: 4px;
  2575. -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  2576. box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  2577. -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  2578. -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  2579. transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  2580. }
  2581. .form-control:focus {
  2582. border-color: #66afe9;
  2583. outline: 0;
  2584. -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  2585. box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  2586. }
  2587. .form-control::-moz-placeholder {
  2588. color: #999999;
  2589. opacity: 1;
  2590. }
  2591. .form-control:-ms-input-placeholder {
  2592. color: #999999;
  2593. }
  2594. .form-control::-webkit-input-placeholder {
  2595. color: #999999;
  2596. }
  2597. .form-control[disabled],
  2598. .form-control[readonly],
  2599. fieldset[disabled] .form-control {
  2600. background-color: #eeeeee;
  2601. opacity: 1;
  2602. }
  2603. .form-control[disabled],
  2604. fieldset[disabled] .form-control {
  2605. cursor: not-allowed;
  2606. }
  2607. textarea.form-control {
  2608. height: auto;
  2609. }
  2610. input[type="search"] {
  2611. -webkit-appearance: none;
  2612. }
  2613. @media screen and (-webkit-min-device-pixel-ratio: 0) {
  2614. input[type="date"].form-control,
  2615. input[type="time"].form-control,
  2616. input[type="datetime-local"].form-control,
  2617. input[type="month"].form-control {
  2618. line-height: 34px;
  2619. }
  2620. input[type="date"].input-sm,
  2621. input[type="time"].input-sm,
  2622. input[type="datetime-local"].input-sm,
  2623. input[type="month"].input-sm,
  2624. .input-group-sm input[type="date"],
  2625. .input-group-sm input[type="time"],
  2626. .input-group-sm input[type="datetime-local"],
  2627. .input-group-sm input[type="month"] {
  2628. line-height: 30px;
  2629. }
  2630. input[type="date"].input-lg,
  2631. input[type="time"].input-lg,
  2632. input[type="datetime-local"].input-lg,
  2633. input[type="month"].input-lg,
  2634. .input-group-lg input[type="date"],
  2635. .input-group-lg input[type="time"],
  2636. .input-group-lg input[type="datetime-local"],
  2637. .input-group-lg input[type="month"] {
  2638. line-height: 46px;
  2639. }
  2640. }
  2641. .form-group {
  2642. margin-bottom: 15px;
  2643. }
  2644. .radio,
  2645. .checkbox {
  2646. position: relative;
  2647. display: block;
  2648. margin-top: 10px;
  2649. margin-bottom: 10px;
  2650. }
  2651. .radio label,
  2652. .checkbox label {
  2653. min-height: 20px;
  2654. padding-left: 20px;
  2655. margin-bottom: 0;
  2656. font-weight: normal;
  2657. cursor: pointer;
  2658. }
  2659. .radio input[type="radio"],
  2660. .radio-inline input[type="radio"],
  2661. .checkbox input[type="checkbox"],
  2662. .checkbox-inline input[type="checkbox"] {
  2663. position: absolute;
  2664. margin-left: -20px;
  2665. margin-top: 4px \9;
  2666. }
  2667. .radio + .radio,
  2668. .checkbox + .checkbox {
  2669. margin-top: -5px;
  2670. }
  2671. .radio-inline,
  2672. .checkbox-inline {
  2673. position: relative;
  2674. display: inline-block;
  2675. padding-left: 20px;
  2676. margin-bottom: 0;
  2677. vertical-align: middle;
  2678. font-weight: normal;
  2679. cursor: pointer;
  2680. }
  2681. .radio-inline + .radio-inline,
  2682. .checkbox-inline + .checkbox-inline {
  2683. margin-top: 0;
  2684. margin-left: 10px;
  2685. }
  2686. input[type="radio"][disabled],
  2687. input[type="checkbox"][disabled],
  2688. input[type="radio"].disabled,
  2689. input[type="checkbox"].disabled,
  2690. fieldset[disabled] input[type="radio"],
  2691. fieldset[disabled] input[type="checkbox"] {
  2692. cursor: not-allowed;
  2693. }
  2694. .radio-inline.disabled,
  2695. .checkbox-inline.disabled,
  2696. fieldset[disabled] .radio-inline,
  2697. fieldset[disabled] .checkbox-inline {
  2698. cursor: not-allowed;
  2699. }
  2700. .radio.disabled label,
  2701. .checkbox.disabled label,
  2702. fieldset[disabled] .radio label,
  2703. fieldset[disabled] .checkbox label {
  2704. cursor: not-allowed;
  2705. }
  2706. .form-control-static {
  2707. padding-top: 7px;
  2708. padding-bottom: 7px;
  2709. margin-bottom: 0;
  2710. min-height: 34px;
  2711. }
  2712. .form-control-static.input-lg,
  2713. .form-control-static.input-sm {
  2714. padding-left: 0;
  2715. padding-right: 0;
  2716. }
  2717. .input-sm {
  2718. height: 30px;
  2719. padding: 5px 10px;
  2720. font-size: 12px;
  2721. line-height: 1.5;
  2722. border-radius: 3px;
  2723. }
  2724. select.input-sm {
  2725. height: 30px;
  2726. line-height: 30px;
  2727. }
  2728. textarea.input-sm,
  2729. select[multiple].input-sm {
  2730. height: auto;
  2731. }
  2732. .form-group-sm .form-control {
  2733. height: 30px;
  2734. padding: 5px 10px;
  2735. font-size: 12px;
  2736. line-height: 1.5;
  2737. border-radius: 3px;
  2738. }
  2739. .form-group-sm select.form-control {
  2740. height: 30px;
  2741. line-height: 30px;
  2742. }
  2743. .form-group-sm textarea.form-control,
  2744. .form-group-sm select[multiple].form-control {
  2745. height: auto;
  2746. }
  2747. .form-group-sm .form-control-static {
  2748. height: 30px;
  2749. min-height: 32px;
  2750. padding: 6px 10px;
  2751. font-size: 12px;
  2752. line-height: 1.5;
  2753. }
  2754. .input-lg {
  2755. height: 46px;
  2756. padding: 10px 16px;
  2757. font-size: 18px;
  2758. line-height: 1.3333333;
  2759. border-radius: 6px;
  2760. }
  2761. select.input-lg {
  2762. height: 46px;
  2763. line-height: 46px;
  2764. }
  2765. textarea.input-lg,
  2766. select[multiple].input-lg {
  2767. height: auto;
  2768. }
  2769. .form-group-lg .form-control {
  2770. height: 46px;
  2771. padding: 10px 16px;
  2772. font-size: 18px;
  2773. line-height: 1.3333333;
  2774. border-radius: 6px;
  2775. }
  2776. .form-group-lg select.form-control {
  2777. height: 46px;
  2778. line-height: 46px;
  2779. }
  2780. .form-group-lg textarea.form-control,
  2781. .form-group-lg select[multiple].form-control {
  2782. height: auto;
  2783. }
  2784. .form-group-lg .form-control-static {
  2785. height: 46px;
  2786. min-height: 38px;
  2787. padding: 11px 16px;
  2788. font-size: 18px;
  2789. line-height: 1.3333333;
  2790. }
  2791. .has-feedback {
  2792. position: relative;
  2793. }
  2794. .has-feedback .form-control {
  2795. padding-right: 42.5px;
  2796. }
  2797. .form-control-feedback {
  2798. position: absolute;
  2799. top: 0;
  2800. right: 0;
  2801. z-index: 2;
  2802. display: block;
  2803. width: 34px;
  2804. height: 34px;
  2805. line-height: 34px;
  2806. text-align: center;
  2807. pointer-events: none;
  2808. }
  2809. .input-lg + .form-control-feedback,
  2810. .input-group-lg + .form-control-feedback,
  2811. .form-group-lg .form-control + .form-control-feedback {
  2812. width: 46px;
  2813. height: 46px;
  2814. line-height: 46px;
  2815. }
  2816. .input-sm + .form-control-feedback,
  2817. .input-group-sm + .form-control-feedback,
  2818. .form-group-sm .form-control + .form-control-feedback {
  2819. width: 30px;
  2820. height: 30px;
  2821. line-height: 30px;
  2822. }
  2823. .has-success .help-block,
  2824. .has-success .control-label,
  2825. .has-success .radio,
  2826. .has-success .checkbox,
  2827. .has-success .radio-inline,
  2828. .has-success .checkbox-inline,
  2829. .has-success.radio label,
  2830. .has-success.checkbox label,
  2831. .has-success.radio-inline label,
  2832. .has-success.checkbox-inline label {
  2833. color: #3c763d;
  2834. }
  2835. .has-success .form-control {
  2836. border-color: #3c763d;
  2837. -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  2838. box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  2839. }
  2840. .has-success .form-control:focus {
  2841. border-color: #2b542c;
  2842. -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  2843. box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  2844. }
  2845. .has-success .input-group-addon {
  2846. color: #3c763d;
  2847. border-color: #3c763d;
  2848. background-color: #dff0d8;
  2849. }
  2850. .has-success .form-control-feedback {
  2851. color: #3c763d;
  2852. }
  2853. .has-warning .help-block,
  2854. .has-warning .control-label,
  2855. .has-warning .radio,
  2856. .has-warning .checkbox,
  2857. .has-warning .radio-inline,
  2858. .has-warning .checkbox-inline,
  2859. .has-warning.radio label,
  2860. .has-warning.checkbox label,
  2861. .has-warning.radio-inline label,
  2862. .has-warning.checkbox-inline label {
  2863. color: #8a6d3b;
  2864. }
  2865. .has-warning .form-control {
  2866. border-color: #8a6d3b;
  2867. -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  2868. box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  2869. }
  2870. .has-warning .form-control:focus {
  2871. border-color: #66512c;
  2872. -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  2873. box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  2874. }
  2875. .has-warning .input-group-addon {
  2876. color: #8a6d3b;
  2877. border-color: #8a6d3b;
  2878. background-color: #fcf8e3;
  2879. }
  2880. .has-warning .form-control-feedback {
  2881. color: #8a6d3b;
  2882. }
  2883. .has-error .help-block,
  2884. .has-error .control-label,
  2885. .has-error .radio,
  2886. .has-error .checkbox,
  2887. .has-error .radio-inline,
  2888. .has-error .checkbox-inline,
  2889. .has-error.radio label,
  2890. .has-error.checkbox label,
  2891. .has-error.radio-inline label,
  2892. .has-error.checkbox-inline label {
  2893. color: #a94442;
  2894. }
  2895. .has-error .form-control {
  2896. border-color: #a94442;
  2897. -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  2898. box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  2899. }
  2900. .has-error .form-control:focus {
  2901. border-color: #843534;
  2902. -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  2903. box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  2904. }
  2905. .has-error .input-group-addon {
  2906. color: #a94442;
  2907. border-color: #a94442;
  2908. background-color: #f2dede;
  2909. }
  2910. .has-error .form-control-feedback {
  2911. color: #a94442;
  2912. }
  2913. .has-feedback label ~ .form-control-feedback {
  2914. top: 25px;
  2915. }
  2916. .has-feedback label.sr-only ~ .form-control-feedback {
  2917. top: 0;
  2918. }
  2919. .help-block {
  2920. display: block;
  2921. margin-top: 5px;
  2922. margin-bottom: 10px;
  2923. color: #737373;
  2924. }
  2925. @media (min-width: 768px) {
  2926. .form-inline .form-group {
  2927. display: inline-block;
  2928. margin-bottom: 0;
  2929. vertical-align: middle;
  2930. }
  2931. .form-inline .form-control {
  2932. display: inline-block;
  2933. width: auto;
  2934. vertical-align: middle;
  2935. }
  2936. .form-inline .form-control-static {
  2937. display: inline-block;
  2938. }
  2939. .form-inline .input-group {
  2940. display: inline-table;
  2941. vertical-align: middle;
  2942. }
  2943. .form-inline .input-group .input-group-addon,
  2944. .form-inline .input-group .input-group-btn,
  2945. .form-inline .input-group .form-control {
  2946. width: auto;
  2947. }
  2948. .form-inline .input-group > .form-control {
  2949. width: 100%;
  2950. }
  2951. .form-inline .control-label {
  2952. margin-bottom: 0;
  2953. vertical-align: middle;
  2954. }
  2955. .form-inline .radio,
  2956. .form-inline .checkbox {
  2957. display: inline-block;
  2958. margin-top: 0;
  2959. margin-bottom: 0;
  2960. vertical-align: middle;
  2961. }
  2962. .form-inline .radio label,
  2963. .form-inline .checkbox label {
  2964. padding-left: 0;
  2965. }
  2966. .form-inline .radio input[type="radio"],
  2967. .form-inline .checkbox input[type="checkbox"] {
  2968. position: relative;
  2969. margin-left: 0;
  2970. }
  2971. .form-inline .has-feedback .form-control-feedback {
  2972. top: 0;
  2973. }
  2974. }
  2975. .form-horizontal .radio,
  2976. .form-horizontal .checkbox,
  2977. .form-horizontal .radio-inline,
  2978. .form-horizontal .checkbox-inline {
  2979. margin-top: 0;
  2980. margin-bottom: 0;
  2981. padding-top: 7px;
  2982. }
  2983. .form-horizontal .radio,
  2984. .form-horizontal .checkbox {
  2985. min-height: 27px;
  2986. }
  2987. .form-horizontal .form-group {
  2988. margin-left: -15px;
  2989. margin-right: -15px;
  2990. }
  2991. @media (min-width: 768px) {
  2992. .form-horizontal .control-label {
  2993. text-align: right;
  2994. margin-bottom: 0;
  2995. padding-top: 7px;
  2996. }
  2997. }
  2998. .form-horizontal .has-feedback .form-control-feedback {
  2999. right: 15px;
  3000. }
  3001. @media (min-width: 768px) {
  3002. .form-horizontal .form-group-lg .control-label {
  3003. padding-top: 14.333333px;
  3004. font-size: 18px;
  3005. }
  3006. }
  3007. @media (min-width: 768px) {
  3008. .form-horizontal .form-group-sm .control-label {
  3009. padding-top: 6px;
  3010. font-size: 12px;
  3011. }
  3012. }
  3013. .btn {
  3014. display: inline-block;
  3015. margin-bottom: 0;
  3016. font-weight: normal;
  3017. text-align: center;
  3018. vertical-align: middle;
  3019. -ms-touch-action: manipulation;
  3020. touch-action: manipulation;
  3021. cursor: pointer;
  3022. background-image: none;
  3023. border: 1px solid transparent;
  3024. white-space: nowrap;
  3025. padding: 6px 12px;
  3026. font-size: 14px;
  3027. line-height: 1.42857143;
  3028. border-radius: 4px;
  3029. -webkit-user-select: none;
  3030. -moz-user-select: none;
  3031. -ms-user-select: none;
  3032. user-select: none;
  3033. }
  3034. .btn:focus,
  3035. .btn:active:focus,
  3036. .btn.active:focus,
  3037. .btn.focus,
  3038. .btn:active.focus,
  3039. .btn.active.focus {
  3040. outline: thin dotted;
  3041. outline: 5px auto -webkit-focus-ring-color;
  3042. outline-offset: -2px;
  3043. }
  3044. .btn:hover,
  3045. .btn:focus,
  3046. .btn.focus {
  3047. color: #333333;
  3048. text-decoration: none;
  3049. }
  3050. .btn:active,
  3051. .btn.active {
  3052. outline: 0;
  3053. background-image: none;
  3054. -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  3055. box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  3056. }
  3057. .btn.disabled,
  3058. .btn[disabled],
  3059. fieldset[disabled] .btn {
  3060. cursor: not-allowed;
  3061. opacity: 0.65;
  3062. filter: alpha(opacity=65);
  3063. -webkit-box-shadow: none;
  3064. box-shadow: none;
  3065. }
  3066. a.btn.disabled,
  3067. fieldset[disabled] a.btn {
  3068. pointer-events: none;
  3069. }
  3070. .btn-default {
  3071. color: #333333;
  3072. background-color: #ffffff;
  3073. border-color: #cccccc;
  3074. }
  3075. .btn-default:focus,
  3076. .btn-default.focus {
  3077. color: #333333;
  3078. background-color: #e6e6e6;
  3079. border-color: #8c8c8c;
  3080. }
  3081. .btn-default:hover {
  3082. color: #333333;
  3083. background-color: #e6e6e6;
  3084. border-color: #adadad;
  3085. }
  3086. .btn-default:active,
  3087. .btn-default.active,
  3088. .open > .dropdown-toggle.btn-default {
  3089. color: #333333;
  3090. background-color: #e6e6e6;
  3091. border-color: #adadad;
  3092. }
  3093. .btn-default:active:hover,
  3094. .btn-default.active:hover,
  3095. .open > .dropdown-toggle.btn-default:hover,
  3096. .btn-default:active:focus,
  3097. .btn-default.active:focus,
  3098. .open > .dropdown-toggle.btn-default:focus,
  3099. .btn-default:active.focus,
  3100. .btn-default.active.focus,
  3101. .open > .dropdown-toggle.btn-default.focus {
  3102. color: #333333;
  3103. background-color: #d4d4d4;
  3104. border-color: #8c8c8c;
  3105. }
  3106. .btn-default:active,
  3107. .btn-default.active,
  3108. .open > .dropdown-toggle.btn-default {
  3109. background-image: none;
  3110. }
  3111. .btn-default.disabled,
  3112. .btn-default[disabled],
  3113. fieldset[disabled] .btn-default,
  3114. .btn-default.disabled:hover,
  3115. .btn-default[disabled]:hover,
  3116. fieldset[disabled] .btn-default:hover,
  3117. .btn-default.disabled:focus,
  3118. .btn-default[disabled]:focus,
  3119. fieldset[disabled] .btn-default:focus,
  3120. .btn-default.disabled.focus,
  3121. .btn-default[disabled].focus,
  3122. fieldset[disabled] .btn-default.focus,
  3123. .btn-default.disabled:active,
  3124. .btn-default[disabled]:active,
  3125. fieldset[disabled] .btn-default:active,
  3126. .btn-default.disabled.active,
  3127. .btn-default[disabled].active,
  3128. fieldset[disabled] .btn-default.active {
  3129. background-color: #ffffff;
  3130. border-color: #cccccc;
  3131. }
  3132. .btn-default .badge {
  3133. color: #ffffff;
  3134. background-color: #333333;
  3135. }
  3136. .btn-primary {
  3137. color: #ffffff;
  3138. background-color: #337ab7;
  3139. border-color: #2e6da4;
  3140. }
  3141. .btn-primary:focus,
  3142. .btn-primary.focus {
  3143. color: #ffffff;
  3144. background-color: #286090;
  3145. border-color: #122b40;
  3146. }
  3147. .btn-primary:hover {
  3148. color: #ffffff;
  3149. background-color: #286090;
  3150. border-color: #204d74;
  3151. }
  3152. .btn-primary:active,
  3153. .btn-primary.active,
  3154. .open > .dropdown-toggle.btn-primary {
  3155. color: #ffffff;
  3156. background-color: #286090;
  3157. border-color: #204d74;
  3158. }
  3159. .btn-primary:active:hover,
  3160. .btn-primary.active:hover,
  3161. .open > .dropdown-toggle.btn-primary:hover,
  3162. .btn-primary:active:focus,
  3163. .btn-primary.active:focus,
  3164. .open > .dropdown-toggle.btn-primary:focus,
  3165. .btn-primary:active.focus,
  3166. .btn-primary.active.focus,
  3167. .open > .dropdown-toggle.btn-primary.focus {
  3168. color: #ffffff;
  3169. background-color: #204d74;
  3170. border-color: #122b40;
  3171. }
  3172. .btn-primary:active,
  3173. .btn-primary.active,
  3174. .open > .dropdown-toggle.btn-primary {
  3175. background-image: none;
  3176. }
  3177. .btn-primary.disabled,
  3178. .btn-primary[disabled],
  3179. fieldset[disabled] .btn-primary,
  3180. .btn-primary.disabled:hover,
  3181. .btn-primary[disabled]:hover,
  3182. fieldset[disabled] .btn-primary:hover,
  3183. .btn-primary.disabled:focus,
  3184. .btn-primary[disabled]:focus,
  3185. fieldset[disabled] .btn-primary:focus,
  3186. .btn-primary.disabled.focus,
  3187. .btn-primary[disabled].focus,
  3188. fieldset[disabled] .btn-primary.focus,
  3189. .btn-primary.disabled:active,
  3190. .btn-primary[disabled]:active,
  3191. fieldset[disabled] .btn-primary:active,
  3192. .btn-primary.disabled.active,
  3193. .btn-primary[disabled].active,
  3194. fieldset[disabled] .btn-primary.active {
  3195. background-color: #337ab7;
  3196. border-color: #2e6da4;
  3197. }
  3198. .btn-primary .badge {
  3199. color: #337ab7;
  3200. background-color: #ffffff;
  3201. }
  3202. .btn-success {
  3203. color: #ffffff;
  3204. background-color: #5cb85c;
  3205. border-color: #4cae4c;
  3206. }
  3207. .btn-success:focus,
  3208. .btn-success.focus {
  3209. color: #ffffff;
  3210. background-color: #449d44;
  3211. border-color: #255625;
  3212. }
  3213. .btn-success:hover {
  3214. color: #ffffff;
  3215. background-color: #449d44;
  3216. border-color: #398439;
  3217. }
  3218. .btn-success:active,
  3219. .btn-success.active,
  3220. .open > .dropdown-toggle.btn-success {
  3221. color: #ffffff;
  3222. background-color: #449d44;
  3223. border-color: #398439;
  3224. }
  3225. .btn-success:active:hover,
  3226. .btn-success.active:hover,
  3227. .open > .dropdown-toggle.btn-success:hover,
  3228. .btn-success:active:focus,
  3229. .btn-success.active:focus,
  3230. .open > .dropdown-toggle.btn-success:focus,
  3231. .btn-success:active.focus,
  3232. .btn-success.active.focus,
  3233. .open > .dropdown-toggle.btn-success.focus {
  3234. color: #ffffff;
  3235. background-color: #398439;
  3236. border-color: #255625;
  3237. }
  3238. .btn-success:active,
  3239. .btn-success.active,
  3240. .open > .dropdown-toggle.btn-success {
  3241. background-image: none;
  3242. }
  3243. .btn-success.disabled,
  3244. .btn-success[disabled],
  3245. fieldset[disabled] .btn-success,
  3246. .btn-success.disabled:hover,
  3247. .btn-success[disabled]:hover,
  3248. fieldset[disabled] .btn-success:hover,
  3249. .btn-success.disabled:focus,
  3250. .btn-success[disabled]:focus,
  3251. fieldset[disabled] .btn-success:focus,
  3252. .btn-success.disabled.focus,
  3253. .btn-success[disabled].focus,
  3254. fieldset[disabled] .btn-success.focus,
  3255. .btn-success.disabled:active,
  3256. .btn-success[disabled]:active,
  3257. fieldset[disabled] .btn-success:active,
  3258. .btn-success.disabled.active,
  3259. .btn-success[disabled].active,
  3260. fieldset[disabled] .btn-success.active {
  3261. background-color: #5cb85c;
  3262. border-color: #4cae4c;
  3263. }
  3264. .btn-success .badge {
  3265. color: #5cb85c;
  3266. background-color: #ffffff;
  3267. }
  3268. .btn-info {
  3269. color: #ffffff;
  3270. background-color: #5bc0de;
  3271. border-color: #46b8da;
  3272. }
  3273. .btn-info:focus,
  3274. .btn-info.focus {
  3275. color: #ffffff;
  3276. background-color: #31b0d5;
  3277. border-color: #1b6d85;
  3278. }
  3279. .btn-info:hover {
  3280. color: #ffffff;
  3281. background-color: #31b0d5;
  3282. border-color: #269abc;
  3283. }
  3284. .btn-info:active,
  3285. .btn-info.active,
  3286. .open > .dropdown-toggle.btn-info {
  3287. color: #ffffff;
  3288. background-color: #31b0d5;
  3289. border-color: #269abc;
  3290. }
  3291. .btn-info:active:hover,
  3292. .btn-info.active:hover,
  3293. .open > .dropdown-toggle.btn-info:hover,
  3294. .btn-info:active:focus,
  3295. .btn-info.active:focus,
  3296. .open > .dropdown-toggle.btn-info:focus,
  3297. .btn-info:active.focus,
  3298. .btn-info.active.focus,
  3299. .open > .dropdown-toggle.btn-info.focus {
  3300. color: #ffffff;
  3301. background-color: #269abc;
  3302. border-color: #1b6d85;
  3303. }
  3304. .btn-info:active,
  3305. .btn-info.active,
  3306. .open > .dropdown-toggle.btn-info {
  3307. background-image: none;
  3308. }
  3309. .btn-info.disabled,
  3310. .btn-info[disabled],
  3311. fieldset[disabled] .btn-info,
  3312. .btn-info.disabled:hover,
  3313. .btn-info[disabled]:hover,
  3314. fieldset[disabled] .btn-info:hover,
  3315. .btn-info.disabled:focus,
  3316. .btn-info[disabled]:focus,
  3317. fieldset[disabled] .btn-info:focus,
  3318. .btn-info.disabled.focus,
  3319. .btn-info[disabled].focus,
  3320. fieldset[disabled] .btn-info.focus,
  3321. .btn-info.disabled:active,
  3322. .btn-info[disabled]:active,
  3323. fieldset[disabled] .btn-info:active,
  3324. .btn-info.disabled.active,
  3325. .btn-info[disabled].active,
  3326. fieldset[disabled] .btn-info.active {
  3327. background-color: #5bc0de;
  3328. border-color: #46b8da;
  3329. }
  3330. .btn-info .badge {
  3331. color: #5bc0de;
  3332. background-color: #ffffff;
  3333. }
  3334. .btn-warning {
  3335. color: #ffffff;
  3336. background-color: #f0ad4e;
  3337. border-color: #eea236;
  3338. }
  3339. .btn-warning:focus,
  3340. .btn-warning.focus {
  3341. color: #ffffff;
  3342. background-color: #ec971f;
  3343. border-color: #985f0d;
  3344. }
  3345. .btn-warning:hover {
  3346. color: #ffffff;
  3347. background-color: #ec971f;
  3348. border-color: #d58512;
  3349. }
  3350. .btn-warning:active,
  3351. .btn-warning.active,
  3352. .open > .dropdown-toggle.btn-warning {
  3353. color: #ffffff;
  3354. background-color: #ec971f;
  3355. border-color: #d58512;
  3356. }
  3357. .btn-warning:active:hover,
  3358. .btn-warning.active:hover,
  3359. .open > .dropdown-toggle.btn-warning:hover,
  3360. .btn-warning:active:focus,
  3361. .btn-warning.active:focus,
  3362. .open > .dropdown-toggle.btn-warning:focus,
  3363. .btn-warning:active.focus,
  3364. .btn-warning.active.focus,
  3365. .open > .dropdown-toggle.btn-warning.focus {
  3366. color: #ffffff;
  3367. background-color: #d58512;
  3368. border-color: #985f0d;
  3369. }
  3370. .btn-warning:active,
  3371. .btn-warning.active,
  3372. .open > .dropdown-toggle.btn-warning {
  3373. background-image: none;
  3374. }
  3375. .btn-warning.disabled,
  3376. .btn-warning[disabled],
  3377. fieldset[disabled] .btn-warning,
  3378. .btn-warning.disabled:hover,
  3379. .btn-warning[disabled]:hover,
  3380. fieldset[disabled] .btn-warning:hover,
  3381. .btn-warning.disabled:focus,
  3382. .btn-warning[disabled]:focus,
  3383. fieldset[disabled] .btn-warning:focus,
  3384. .btn-warning.disabled.focus,
  3385. .btn-warning[disabled].focus,
  3386. fieldset[disabled] .btn-warning.focus,
  3387. .btn-warning.disabled:active,
  3388. .btn-warning[disabled]:active,
  3389. fieldset[disabled] .btn-warning:active,
  3390. .btn-warning.disabled.active,
  3391. .btn-warning[disabled].active,
  3392. fieldset[disabled] .btn-warning.active {
  3393. background-color: #f0ad4e;
  3394. border-color: #eea236;
  3395. }
  3396. .btn-warning .badge {
  3397. color: #f0ad4e;
  3398. background-color: #ffffff;
  3399. }
  3400. .btn-danger {
  3401. color: #ffffff;
  3402. background-color: #d9534f;
  3403. border-color: #d43f3a;
  3404. }
  3405. .btn-danger:focus,
  3406. .btn-danger.focus {
  3407. color: #ffffff;
  3408. background-color: #c9302c;
  3409. border-color: #761c19;
  3410. }
  3411. .btn-danger:hover {
  3412. color: #ffffff;
  3413. background-color: #c9302c;
  3414. border-color: #ac2925;
  3415. }
  3416. .btn-danger:active,
  3417. .btn-danger.active,
  3418. .open > .dropdown-toggle.btn-danger {
  3419. color: #ffffff;
  3420. background-color: #c9302c;
  3421. border-color: #ac2925;
  3422. }
  3423. .btn-danger:active:hover,
  3424. .btn-danger.active:hover,
  3425. .open > .dropdown-toggle.btn-danger:hover,
  3426. .btn-danger:active:focus,
  3427. .btn-danger.active:focus,
  3428. .open > .dropdown-toggle.btn-danger:focus,
  3429. .btn-danger:active.focus,
  3430. .btn-danger.active.focus,
  3431. .open > .dropdown-toggle.btn-danger.focus {
  3432. color: #ffffff;
  3433. background-color: #ac2925;
  3434. border-color: #761c19;
  3435. }
  3436. .btn-danger:active,
  3437. .btn-danger.active,
  3438. .open > .dropdown-toggle.btn-danger {
  3439. background-image: none;
  3440. }
  3441. .btn-danger.disabled,
  3442. .btn-danger[disabled],
  3443. fieldset[disabled] .btn-danger,
  3444. .btn-danger.disabled:hover,
  3445. .btn-danger[disabled]:hover,
  3446. fieldset[disabled] .btn-danger:hover,
  3447. .btn-danger.disabled:focus,
  3448. .btn-danger[disabled]:focus,
  3449. fieldset[disabled] .btn-danger:focus,
  3450. .btn-danger.disabled.focus,
  3451. .btn-danger[disabled].focus,
  3452. fieldset[disabled] .btn-danger.focus,
  3453. .btn-danger.disabled:active,
  3454. .btn-danger[disabled]:active,
  3455. fieldset[disabled] .btn-danger:active,
  3456. .btn-danger.disabled.active,
  3457. .btn-danger[disabled].active,
  3458. fieldset[disabled] .btn-danger.active {
  3459. background-color: #d9534f;
  3460. border-color: #d43f3a;
  3461. }
  3462. .btn-danger .badge {
  3463. color: #d9534f;
  3464. background-color: #ffffff;
  3465. }
  3466. .btn-link {
  3467. color: #337ab7;
  3468. font-weight: normal;
  3469. border-radius: 0;
  3470. }
  3471. .btn-link,
  3472. .btn-link:active,
  3473. .btn-link.active,
  3474. .btn-link[disabled],
  3475. fieldset[disabled] .btn-link {
  3476. background-color: transparent;
  3477. -webkit-box-shadow: none;
  3478. box-shadow: none;
  3479. }
  3480. .btn-link,
  3481. .btn-link:hover,
  3482. .btn-link:focus,
  3483. .btn-link:active {
  3484. border-color: transparent;
  3485. }
  3486. .btn-link:hover,
  3487. .btn-link:focus {
  3488. color: #23527c;
  3489. text-decoration: underline;
  3490. background-color: transparent;
  3491. }
  3492. .btn-link[disabled]:hover,
  3493. fieldset[disabled] .btn-link:hover,
  3494. .btn-link[disabled]:focus,
  3495. fieldset[disabled] .btn-link:focus {
  3496. color: #777777;
  3497. text-decoration: none;
  3498. }
  3499. .btn-lg,
  3500. .btn-group-lg > .btn {
  3501. padding: 10px 16px;
  3502. font-size: 18px;
  3503. line-height: 1.3333333;
  3504. border-radius: 6px;
  3505. }
  3506. .btn-sm,
  3507. .btn-group-sm > .btn {
  3508. padding: 5px 10px;
  3509. font-size: 12px;
  3510. line-height: 1.5;
  3511. border-radius: 3px;
  3512. }
  3513. .btn-xs,
  3514. .btn-group-xs > .btn {
  3515. padding: 1px 5px;
  3516. font-size: 12px;
  3517. line-height: 1.5;
  3518. border-radius: 3px;
  3519. }
  3520. .btn-block {
  3521. display: block;
  3522. width: 100%;
  3523. }
  3524. .btn-block + .btn-block {
  3525. margin-top: 5px;
  3526. }
  3527. input[type="submit"].btn-block,
  3528. input[type="reset"].btn-block,
  3529. input[type="button"].btn-block {
  3530. width: 100%;
  3531. }
  3532. .fade {
  3533. opacity: 0;
  3534. -webkit-transition: opacity 0.15s linear;
  3535. -o-transition: opacity 0.15s linear;
  3536. transition: opacity 0.15s linear;
  3537. }
  3538. .fade.in {
  3539. opacity: 1;
  3540. }
  3541. .collapse {
  3542. display: none;
  3543. }
  3544. .collapse.in {
  3545. display: block;
  3546. }
  3547. tr.collapse.in {
  3548. display: table-row;
  3549. }
  3550. tbody.collapse.in {
  3551. display: table-row-group;
  3552. }
  3553. .collapsing {
  3554. position: relative;
  3555. height: 0;
  3556. overflow: hidden;
  3557. -webkit-transition-property: height, visibility;
  3558. -o-transition-property: height, visibility;
  3559. transition-property: height, visibility;
  3560. -webkit-transition-duration: 0.35s;
  3561. -o-transition-duration: 0.35s;
  3562. transition-duration: 0.35s;
  3563. -webkit-transition-timing-function: ease;
  3564. -o-transition-timing-function: ease;
  3565. transition-timing-function: ease;
  3566. }
  3567. .caret {
  3568. display: inline-block;
  3569. width: 0;
  3570. height: 0;
  3571. margin-left: 2px;
  3572. vertical-align: middle;
  3573. border-top: 4px dashed;
  3574. border-top: 4px solid \9;
  3575. border-right: 4px solid transparent;
  3576. border-left: 4px solid transparent;
  3577. }
  3578. .dropup,
  3579. .dropdown {
  3580. position: relative;
  3581. }
  3582. .dropdown-toggle:focus {
  3583. outline: 0;
  3584. }
  3585. .dropdown-menu {
  3586. position: absolute;
  3587. top: 100%;
  3588. left: 0;
  3589. z-index: 1000;
  3590. display: none;
  3591. float: left;
  3592. min-width: 160px;
  3593. padding: 5px 0;
  3594. margin: 2px 0 0;
  3595. list-style: none;
  3596. font-size: 14px;
  3597. text-align: left;
  3598. background-color: #ffffff;
  3599. border: 1px solid #cccccc;
  3600. border: 1px solid rgba(0, 0, 0, 0.15);
  3601. border-radius: 4px;
  3602. -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  3603. box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  3604. -webkit-background-clip: padding-box;
  3605. background-clip: padding-box;
  3606. }
  3607. .dropdown-menu.pull-right {
  3608. right: 0;
  3609. left: auto;
  3610. }
  3611. .dropdown-menu .divider {
  3612. height: 1px;
  3613. margin: 9px 0;
  3614. overflow: hidden;
  3615. background-color: #e5e5e5;
  3616. }
  3617. .dropdown-menu > li > a {
  3618. display: block;
  3619. padding: 3px 20px;
  3620. clear: both;
  3621. font-weight: normal;
  3622. line-height: 1.42857143;
  3623. color: #333333;
  3624. white-space: nowrap;
  3625. }
  3626. .dropdown-menu > li > a:hover,
  3627. .dropdown-menu > li > a:focus {
  3628. text-decoration: none;
  3629. color: #262626;
  3630. background-color: #f5f5f5;
  3631. }
  3632. .dropdown-menu > .active > a,
  3633. .dropdown-menu > .active > a:hover,
  3634. .dropdown-menu > .active > a:focus {
  3635. color: #ffffff;
  3636. text-decoration: none;
  3637. outline: 0;
  3638. background-color: #337ab7;
  3639. }
  3640. .dropdown-menu > .disabled > a,
  3641. .dropdown-menu > .disabled > a:hover,
  3642. .dropdown-menu > .disabled > a:focus {
  3643. color: #777777;
  3644. }
  3645. .dropdown-menu > .disabled > a:hover,
  3646. .dropdown-menu > .disabled > a:focus {
  3647. text-decoration: none;
  3648. background-color: transparent;
  3649. background-image: none;
  3650. filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  3651. cursor: not-allowed;
  3652. }
  3653. .open > .dropdown-menu {
  3654. display: block;
  3655. }
  3656. .open > a {
  3657. outline: 0;
  3658. }
  3659. .dropdown-menu-right {
  3660. left: auto;
  3661. right: 0;
  3662. }
  3663. .dropdown-menu-left {
  3664. left: 0;
  3665. right: auto;
  3666. }
  3667. .dropdown-header {
  3668. display: block;
  3669. padding: 3px 20px;
  3670. font-size: 12px;
  3671. line-height: 1.42857143;
  3672. color: #777777;
  3673. white-space: nowrap;
  3674. }
  3675. .dropdown-backdrop {
  3676. position: fixed;
  3677. left: 0;
  3678. right: 0;
  3679. bottom: 0;
  3680. top: 0;
  3681. z-index: 990;
  3682. }
  3683. .pull-right > .dropdown-menu {
  3684. right: 0;
  3685. left: auto;
  3686. }
  3687. .dropup .caret,
  3688. .navbar-fixed-bottom .dropdown .caret {
  3689. border-top: 0;
  3690. border-bottom: 4px dashed;
  3691. border-bottom: 4px solid \9;
  3692. content: "";
  3693. }
  3694. .dropup .dropdown-menu,
  3695. .navbar-fixed-bottom .dropdown .dropdown-menu {
  3696. top: auto;
  3697. bottom: 100%;
  3698. margin-bottom: 2px;
  3699. }
  3700. @media (min-width: 768px) {
  3701. .navbar-right .dropdown-menu {
  3702. left: auto;
  3703. right: 0;
  3704. }
  3705. .navbar-right .dropdown-menu-left {
  3706. left: 0;
  3707. right: auto;
  3708. }
  3709. }
  3710. .btn-group,
  3711. .btn-group-vertical {
  3712. position: relative;
  3713. display: inline-block;
  3714. vertical-align: middle;
  3715. }
  3716. .btn-group > .btn,
  3717. .btn-group-vertical > .btn {
  3718. position: relative;
  3719. float: left;
  3720. }
  3721. .btn-group > .btn:hover,
  3722. .btn-group-vertical > .btn:hover,
  3723. .btn-group > .btn:focus,
  3724. .btn-group-vertical > .btn:focus,
  3725. .btn-group > .btn:active,
  3726. .btn-group-vertical > .btn:active,
  3727. .btn-group > .btn.active,
  3728. .btn-group-vertical > .btn.active {
  3729. z-index: 2;
  3730. }
  3731. .btn-group .btn + .btn,
  3732. .btn-group .btn + .btn-group,
  3733. .btn-group .btn-group + .btn,
  3734. .btn-group .btn-group + .btn-group {
  3735. margin-left: -1px;
  3736. }
  3737. .btn-toolbar {
  3738. margin-left: -5px;
  3739. }
  3740. .btn-toolbar .btn,
  3741. .btn-toolbar .btn-group,
  3742. .btn-toolbar .input-group {
  3743. float: left;
  3744. }
  3745. .btn-toolbar > .btn,
  3746. .btn-toolbar > .btn-group,
  3747. .btn-toolbar > .input-group {
  3748. margin-left: 5px;
  3749. }
  3750. .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  3751. border-radius: 0;
  3752. }
  3753. .btn-group > .btn:first-child {
  3754. margin-left: 0;
  3755. }
  3756. .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  3757. border-bottom-right-radius: 0;
  3758. border-top-right-radius: 0;
  3759. }
  3760. .btn-group > .btn:last-child:not(:first-child),
  3761. .btn-group > .dropdown-toggle:not(:first-child) {
  3762. border-bottom-left-radius: 0;
  3763. border-top-left-radius: 0;
  3764. }
  3765. .btn-group > .btn-group {
  3766. float: left;
  3767. }
  3768. .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  3769. border-radius: 0;
  3770. }
  3771. .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
  3772. .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  3773. border-bottom-right-radius: 0;
  3774. border-top-right-radius: 0;
  3775. }
  3776. .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  3777. border-bottom-left-radius: 0;
  3778. border-top-left-radius: 0;
  3779. }
  3780. .btn-group .dropdown-toggle:active,
  3781. .btn-group.open .dropdown-toggle {
  3782. outline: 0;
  3783. }
  3784. .btn-group > .btn + .dropdown-toggle {
  3785. padding-left: 8px;
  3786. padding-right: 8px;
  3787. }
  3788. .btn-group > .btn-lg + .dropdown-toggle {
  3789. padding-left: 12px;
  3790. padding-right: 12px;
  3791. }
  3792. .btn-group.open .dropdown-toggle {
  3793. -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  3794. box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  3795. }
  3796. .btn-group.open .dropdown-toggle.btn-link {
  3797. -webkit-box-shadow: none;
  3798. box-shadow: none;
  3799. }
  3800. .btn .caret {
  3801. margin-left: 0;
  3802. }
  3803. .btn-lg .caret {
  3804. border-width: 5px 5px 0;
  3805. border-bottom-width: 0;
  3806. }
  3807. .dropup .btn-lg .caret {
  3808. border-width: 0 5px 5px;
  3809. }
  3810. .btn-group-vertical > .btn,
  3811. .btn-group-vertical > .btn-group,
  3812. .btn-group-vertical > .btn-group > .btn {
  3813. display: block;
  3814. float: none;
  3815. width: 100%;
  3816. max-width: 100%;
  3817. }
  3818. .btn-group-vertical > .btn-group > .btn {
  3819. float: none;
  3820. }
  3821. .btn-group-vertical > .btn + .btn,
  3822. .btn-group-vertical > .btn + .btn-group,
  3823. .btn-group-vertical > .btn-group + .btn,
  3824. .btn-group-vertical > .btn-group + .btn-group {
  3825. margin-top: -1px;
  3826. margin-left: 0;
  3827. }
  3828. .btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  3829. border-radius: 0;
  3830. }
  3831. .btn-group-vertical > .btn:first-child:not(:last-child) {
  3832. border-top-right-radius: 4px;
  3833. border-bottom-right-radius: 0;
  3834. border-bottom-left-radius: 0;
  3835. }
  3836. .btn-group-vertical > .btn:last-child:not(:first-child) {
  3837. border-bottom-left-radius: 4px;
  3838. border-top-right-radius: 0;
  3839. border-top-left-radius: 0;
  3840. }
  3841. .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  3842. border-radius: 0;
  3843. }
  3844. .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
  3845. .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  3846. border-bottom-right-radius: 0;
  3847. border-bottom-left-radius: 0;
  3848. }
  3849. .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  3850. border-top-right-radius: 0;
  3851. border-top-left-radius: 0;
  3852. }
  3853. .btn-group-justified {
  3854. display: table;
  3855. width: 100%;
  3856. table-layout: fixed;
  3857. border-collapse: separate;
  3858. }
  3859. .btn-group-justified > .btn,
  3860. .btn-group-justified > .btn-group {
  3861. float: none;
  3862. display: table-cell;
  3863. width: 1%;
  3864. }
  3865. .btn-group-justified > .btn-group .btn {
  3866. width: 100%;
  3867. }
  3868. .btn-group-justified > .btn-group .dropdown-menu {
  3869. left: auto;
  3870. }
  3871. [data-toggle="buttons"] > .btn input[type="radio"],
  3872. [data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
  3873. [data-toggle="buttons"] > .btn input[type="checkbox"],
  3874. [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  3875. position: absolute;
  3876. clip: rect(0, 0, 0, 0);
  3877. pointer-events: none;
  3878. }
  3879. .input-group {
  3880. position: relative;
  3881. display: table;
  3882. border-collapse: separate;
  3883. }
  3884. .input-group[class*="col-"] {
  3885. float: none;
  3886. padding-left: 0;
  3887. padding-right: 0;
  3888. }
  3889. .input-group .form-control {
  3890. position: relative;
  3891. z-index: 2;
  3892. float: left;
  3893. width: 100%;
  3894. margin-bottom: 0;
  3895. }
  3896. .input-group-lg > .form-control,
  3897. .input-group-lg > .input-group-addon,
  3898. .input-group-lg > .input-group-btn > .btn {
  3899. height: 46px;
  3900. padding: 10px 16px;
  3901. font-size: 18px;
  3902. line-height: 1.3333333;
  3903. border-radius: 6px;
  3904. }
  3905. select.input-group-lg > .form-control,
  3906. select.input-group-lg > .input-group-addon,
  3907. select.input-group-lg > .input-group-btn > .btn {
  3908. height: 46px;
  3909. line-height: 46px;
  3910. }
  3911. textarea.input-group-lg > .form-control,
  3912. textarea.input-group-lg > .input-group-addon,
  3913. textarea.input-group-lg > .input-group-btn > .btn,
  3914. select[multiple].input-group-lg > .form-control,
  3915. select[multiple].input-group-lg > .input-group-addon,
  3916. select[multiple].input-group-lg > .input-group-btn > .btn {
  3917. height: auto;
  3918. }
  3919. .input-group-sm > .form-control,
  3920. .input-group-sm > .input-group-addon,
  3921. .input-group-sm > .input-group-btn > .btn {
  3922. height: 30px;
  3923. padding: 5px 10px;
  3924. font-size: 12px;
  3925. line-height: 1.5;
  3926. border-radius: 3px;
  3927. }
  3928. select.input-group-sm > .form-control,
  3929. select.input-group-sm > .input-group-addon,
  3930. select.input-group-sm > .input-group-btn > .btn {
  3931. height: 30px;
  3932. line-height: 30px;
  3933. }
  3934. textarea.input-group-sm > .form-control,
  3935. textarea.input-group-sm > .input-group-addon,
  3936. textarea.input-group-sm > .input-group-btn > .btn,
  3937. select[multiple].input-group-sm > .form-control,
  3938. select[multiple].input-group-sm > .input-group-addon,
  3939. select[multiple].input-group-sm > .input-group-btn > .btn {
  3940. height: auto;
  3941. }
  3942. .input-group-addon,
  3943. .input-group-btn,
  3944. .input-group .form-control {
  3945. display: table-cell;
  3946. }
  3947. .input-group-addon:not(:first-child):not(:last-child),
  3948. .input-group-btn:not(:first-child):not(:last-child),
  3949. .input-group .form-control:not(:first-child):not(:last-child) {
  3950. border-radius: 0;
  3951. }
  3952. .input-group-addon,
  3953. .input-group-btn {
  3954. width: 1%;
  3955. white-space: nowrap;
  3956. vertical-align: middle;
  3957. }
  3958. .input-group-addon {
  3959. padding: 6px 12px;
  3960. font-size: 14px;
  3961. font-weight: normal;
  3962. line-height: 1;
  3963. color: #555555;
  3964. text-align: center;
  3965. background-color: #eeeeee;
  3966. border: 1px solid #cccccc;
  3967. border-radius: 4px;
  3968. }
  3969. .input-group-addon.input-sm {
  3970. padding: 5px 10px;
  3971. font-size: 12px;
  3972. border-radius: 3px;
  3973. }
  3974. .input-group-addon.input-lg {
  3975. padding: 10px 16px;
  3976. font-size: 18px;
  3977. border-radius: 6px;
  3978. }
  3979. .input-group-addon input[type="radio"],
  3980. .input-group-addon input[type="checkbox"] {
  3981. margin-top: 0;
  3982. }
  3983. .input-group .form-control:first-child,
  3984. .input-group-addon:first-child,
  3985. .input-group-btn:first-child > .btn,
  3986. .input-group-btn:first-child > .btn-group > .btn,
  3987. .input-group-btn:first-child > .dropdown-toggle,
  3988. .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
  3989. .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  3990. border-bottom-right-radius: 0;
  3991. border-top-right-radius: 0;
  3992. }
  3993. .input-group-addon:first-child {
  3994. border-right: 0;
  3995. }
  3996. .input-group .form-control:last-child,
  3997. .input-group-addon:last-child,
  3998. .input-group-btn:last-child > .btn,
  3999. .input-group-btn:last-child > .btn-group > .btn,
  4000. .input-group-btn:last-child > .dropdown-toggle,
  4001. .input-group-btn:first-child > .btn:not(:first-child),
  4002. .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  4003. border-bottom-left-radius: 0;
  4004. border-top-left-radius: 0;
  4005. }
  4006. .input-group-addon:last-child {
  4007. border-left: 0;
  4008. }
  4009. .input-group-btn {
  4010. position: relative;
  4011. font-size: 0;
  4012. white-space: nowrap;
  4013. }
  4014. .input-group-btn > .btn {
  4015. position: relative;
  4016. }
  4017. .input-group-btn > .btn + .btn {
  4018. margin-left: -1px;
  4019. }
  4020. .input-group-btn > .btn:hover,
  4021. .input-group-btn > .btn:focus,
  4022. .input-group-btn > .btn:active {
  4023. z-index: 2;
  4024. }
  4025. .input-group-btn:first-child > .btn,
  4026. .input-group-btn:first-child > .btn-group {
  4027. margin-right: -1px;
  4028. }
  4029. .input-group-btn:last-child > .btn,
  4030. .input-group-btn:last-child > .btn-group {
  4031. z-index: 2;
  4032. margin-left: -1px;
  4033. }
  4034. .nav {
  4035. margin-bottom: 0;
  4036. padding-left: 0;
  4037. list-style: none;
  4038. }
  4039. .nav > li {
  4040. position: relative;
  4041. display: block;
  4042. }
  4043. .nav > li > a {
  4044. position: relative;
  4045. display: block;
  4046. padding: 10px 15px;
  4047. }
  4048. .nav > li > a:hover,
  4049. .nav > li > a:focus {
  4050. text-decoration: none;
  4051. background-color: #eeeeee;
  4052. }
  4053. .nav > li.disabled > a {
  4054. color: #777777;
  4055. }
  4056. .nav > li.disabled > a:hover,
  4057. .nav > li.disabled > a:focus {
  4058. color: #777777;
  4059. text-decoration: none;
  4060. background-color: transparent;
  4061. cursor: not-allowed;
  4062. }
  4063. .nav .open > a,
  4064. .nav .open > a:hover,
  4065. .nav .open > a:focus {
  4066. background-color: #eeeeee;
  4067. border-color: #337ab7;
  4068. }
  4069. .nav .nav-divider {
  4070. height: 1px;
  4071. margin: 9px 0;
  4072. overflow: hidden;
  4073. background-color: #e5e5e5;
  4074. }
  4075. .nav > li > a > img {
  4076. max-width: none;
  4077. }
  4078. .nav-tabs {
  4079. border-bottom: 1px solid #dddddd;
  4080. }
  4081. .nav-tabs > li {
  4082. float: left;
  4083. margin-bottom: -1px;
  4084. }
  4085. .nav-tabs > li > a {
  4086. margin-right: 2px;
  4087. line-height: 1.42857143;
  4088. border: 1px solid transparent;
  4089. border-radius: 4px 4px 0 0;
  4090. }
  4091. .nav-tabs > li > a:hover {
  4092. border-color: #eeeeee #eeeeee #dddddd;
  4093. }
  4094. .nav-tabs > li.active > a,
  4095. .nav-tabs > li.active > a:hover,
  4096. .nav-tabs > li.active > a:focus {
  4097. color: #555555;
  4098. background-color: #ffffff;
  4099. border: 1px solid #dddddd;
  4100. border-bottom-color: transparent;
  4101. cursor: default;
  4102. }
  4103. .nav-tabs.nav-justified {
  4104. width: 100%;
  4105. border-bottom: 0;
  4106. }
  4107. .nav-tabs.nav-justified > li {
  4108. float: none;
  4109. }
  4110. .nav-tabs.nav-justified > li > a {
  4111. text-align: center;
  4112. margin-bottom: 5px;
  4113. }
  4114. .nav-tabs.nav-justified > .dropdown .dropdown-menu {
  4115. top: auto;
  4116. left: auto;
  4117. }
  4118. @media (min-width: 768px) {
  4119. .nav-tabs.nav-justified > li {
  4120. display: table-cell;
  4121. width: 1%;
  4122. }
  4123. .nav-tabs.nav-justified > li > a {
  4124. margin-bottom: 0;
  4125. }
  4126. }
  4127. .nav-tabs.nav-justified > li > a {
  4128. margin-right: 0;
  4129. border-radius: 4px;
  4130. }
  4131. .nav-tabs.nav-justified > .active > a,
  4132. .nav-tabs.nav-justified > .active > a:hover,
  4133. .nav-tabs.nav-justified > .active > a:focus {
  4134. border: 1px solid #dddddd;
  4135. }
  4136. @media (min-width: 768px) {
  4137. .nav-tabs.nav-justified > li > a {
  4138. border-bottom: 1px solid #dddddd;
  4139. border-radius: 4px 4px 0 0;
  4140. }
  4141. .nav-tabs.nav-justified > .active > a,
  4142. .nav-tabs.nav-justified > .active > a:hover,
  4143. .nav-tabs.nav-justified > .active > a:focus {
  4144. border-bottom-color: #ffffff;
  4145. }
  4146. }
  4147. .nav-pills > li {
  4148. float: left;
  4149. }
  4150. .nav-pills > li > a {
  4151. border-radius: 4px;
  4152. }
  4153. .nav-pills > li + li {
  4154. margin-left: 2px;
  4155. }
  4156. .nav-pills > li.active > a,
  4157. .nav-pills > li.active > a:hover,
  4158. .nav-pills > li.active > a:focus {
  4159. color: #ffffff;
  4160. background-color: #337ab7;
  4161. }
  4162. .nav-stacked > li {
  4163. float: none;
  4164. }
  4165. .nav-stacked > li + li {
  4166. margin-top: 2px;
  4167. margin-left: 0;
  4168. }
  4169. .nav-justified {
  4170. width: 100%;
  4171. }
  4172. .nav-justified > li {
  4173. float: none;
  4174. }
  4175. .nav-justified > li > a {
  4176. text-align: center;
  4177. margin-bottom: 5px;
  4178. }
  4179. .nav-justified > .dropdown .dropdown-menu {
  4180. top: auto;
  4181. left: auto;
  4182. }
  4183. @media (min-width: 768px) {
  4184. .nav-justified > li {
  4185. display: table-cell;
  4186. width: 1%;
  4187. }
  4188. .nav-justified > li > a {
  4189. margin-bottom: 0;
  4190. }
  4191. }
  4192. .nav-tabs-justified {
  4193. border-bottom: 0;
  4194. }
  4195. .nav-tabs-justified > li > a {
  4196. margin-right: 0;
  4197. border-radius: 4px;
  4198. }
  4199. .nav-tabs-justified > .active > a,
  4200. .nav-tabs-justified > .active > a:hover,
  4201. .nav-tabs-justified > .active > a:focus {
  4202. border: 1px solid #dddddd;
  4203. }
  4204. @media (min-width: 768px) {
  4205. .nav-tabs-justified > li > a {
  4206. border-bottom: 1px solid #dddddd;
  4207. border-radius: 4px 4px 0 0;
  4208. }
  4209. .nav-tabs-justified > .active > a,
  4210. .nav-tabs-justified > .active > a:hover,
  4211. .nav-tabs-justified > .active > a:focus {
  4212. border-bottom-color: #ffffff;
  4213. }
  4214. }
  4215. .tab-content > .tab-pane {
  4216. display: none;
  4217. }
  4218. .tab-content > .active {
  4219. display: block;
  4220. }
  4221. .nav-tabs .dropdown-menu {
  4222. margin-top: -1px;
  4223. border-top-right-radius: 0;
  4224. border-top-left-radius: 0;
  4225. }
  4226. .navbar {
  4227. position: relative;
  4228. min-height: 50px;
  4229. margin-bottom: 20px;
  4230. border: 1px solid transparent;
  4231. }
  4232. @media (min-width: 768px) {
  4233. .navbar {
  4234. border-radius: 4px;
  4235. }
  4236. }
  4237. @media (min-width: 768px) {
  4238. .navbar-header {
  4239. float: left;
  4240. }
  4241. }
  4242. .navbar-collapse {
  4243. overflow-x: visible;
  4244. padding-right: 15px;
  4245. padding-left: 15px;
  4246. border-top: 1px solid transparent;
  4247. -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  4248. box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  4249. -webkit-overflow-scrolling: touch;
  4250. }
  4251. .navbar-collapse.in {
  4252. overflow-y: auto;
  4253. }
  4254. @media (min-width: 768px) {
  4255. .navbar-collapse {
  4256. width: auto;
  4257. border-top: 0;
  4258. -webkit-box-shadow: none;
  4259. box-shadow: none;
  4260. }
  4261. .navbar-collapse.collapse {
  4262. display: block !important;
  4263. height: auto !important;
  4264. padding-bottom: 0;
  4265. overflow: visible !important;
  4266. }
  4267. .navbar-collapse.in {
  4268. overflow-y: visible;
  4269. }
  4270. .navbar-fixed-top .navbar-collapse,
  4271. .navbar-static-top .navbar-collapse,
  4272. .navbar-fixed-bottom .navbar-collapse {
  4273. padding-left: 0;
  4274. padding-right: 0;
  4275. }
  4276. }
  4277. .navbar-fixed-top .navbar-collapse,
  4278. .navbar-fixed-bottom .navbar-collapse {
  4279. max-height: 340px;
  4280. }
  4281. @media (max-device-width: 480px) and (orientation: landscape) {
  4282. .navbar-fixed-top .navbar-collapse,
  4283. .navbar-fixed-bottom .navbar-collapse {
  4284. max-height: 200px;
  4285. }
  4286. }
  4287. .container > .navbar-header,
  4288. .container-fluid > .navbar-header,
  4289. .container > .navbar-collapse,
  4290. .container-fluid > .navbar-collapse {
  4291. margin-right: -15px;
  4292. margin-left: -15px;
  4293. }
  4294. @media (min-width: 768px) {
  4295. .container > .navbar-header,
  4296. .container-fluid > .navbar-header,
  4297. .container > .navbar-collapse,
  4298. .container-fluid > .navbar-collapse {
  4299. margin-right: 0;
  4300. margin-left: 0;
  4301. }
  4302. }
  4303. .navbar-static-top {
  4304. z-index: 1000;
  4305. border-width: 0 0 1px;
  4306. }
  4307. @media (min-width: 768px) {
  4308. .navbar-static-top {
  4309. border-radius: 0;
  4310. }
  4311. }
  4312. .navbar-fixed-top,
  4313. .navbar-fixed-bottom {
  4314. position: fixed;
  4315. right: 0;
  4316. left: 0;
  4317. z-index: 1030;
  4318. }
  4319. @media (min-width: 768px) {
  4320. .navbar-fixed-top,
  4321. .navbar-fixed-bottom {
  4322. border-radius: 0;
  4323. }
  4324. }
  4325. .navbar-fixed-top {
  4326. top: 0;
  4327. border-width: 0 0 1px;
  4328. }
  4329. .navbar-fixed-bottom {
  4330. bottom: 0;
  4331. margin-bottom: 0;
  4332. border-width: 1px 0 0;
  4333. }
  4334. .navbar-brand {
  4335. float: left;
  4336. padding: 15px 15px;
  4337. font-size: 18px;
  4338. line-height: 20px;
  4339. height: 50px;
  4340. }
  4341. .navbar-brand:hover,
  4342. .navbar-brand:focus {
  4343. text-decoration: none;
  4344. }
  4345. .navbar-brand > img {
  4346. display: block;
  4347. }
  4348. @media (min-width: 768px) {
  4349. .navbar > .container .navbar-brand,
  4350. .navbar > .container-fluid .navbar-brand {
  4351. margin-left: -15px;
  4352. }
  4353. }
  4354. .navbar-toggle {
  4355. position: relative;
  4356. float: right;
  4357. margin-right: 15px;
  4358. padding: 9px 10px;
  4359. margin-top: 8px;
  4360. margin-bottom: 8px;
  4361. background-color: transparent;
  4362. background-image: none;
  4363. border: 1px solid transparent;
  4364. border-radius: 4px;
  4365. }
  4366. .navbar-toggle:focus {
  4367. outline: 0;
  4368. }
  4369. .navbar-toggle .icon-bar {
  4370. display: block;
  4371. width: 22px;
  4372. height: 2px;
  4373. border-radius: 1px;
  4374. }
  4375. .navbar-toggle .icon-bar + .icon-bar {
  4376. margin-top: 4px;
  4377. }
  4378. @media (min-width: 768px) {
  4379. .navbar-toggle {
  4380. display: none;
  4381. }
  4382. }
  4383. .navbar-nav {
  4384. margin: 7.5px -15px;
  4385. }
  4386. .navbar-nav > li > a {
  4387. padding-top: 10px;
  4388. padding-bottom: 10px;
  4389. line-height: 20px;
  4390. }
  4391. @media (max-width: 767px) {
  4392. .navbar-nav .open .dropdown-menu {
  4393. position: static;
  4394. float: none;
  4395. width: auto;
  4396. margin-top: 0;
  4397. background-color: transparent;
  4398. border: 0;
  4399. -webkit-box-shadow: none;
  4400. box-shadow: none;
  4401. }
  4402. .navbar-nav .open .dropdown-menu > li > a,
  4403. .navbar-nav .open .dropdown-menu .dropdown-header {
  4404. padding: 5px 15px 5px 25px;
  4405. }
  4406. .navbar-nav .open .dropdown-menu > li > a {
  4407. line-height: 20px;
  4408. }
  4409. .navbar-nav .open .dropdown-menu > li > a:hover,
  4410. .navbar-nav .open .dropdown-menu > li > a:focus {
  4411. background-image: none;
  4412. }
  4413. }
  4414. @media (min-width: 768px) {
  4415. .navbar-nav {
  4416. float: left;
  4417. margin: 0;
  4418. }
  4419. .navbar-nav > li {
  4420. float: left;
  4421. }
  4422. .navbar-nav > li > a {
  4423. padding-top: 15px;
  4424. padding-bottom: 15px;
  4425. }
  4426. }
  4427. .navbar-form {
  4428. margin-left: -15px;
  4429. margin-right: -15px;
  4430. padding: 10px 15px;
  4431. border-top: 1px solid transparent;
  4432. border-bottom: 1px solid transparent;
  4433. -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  4434. box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  4435. margin-top: 8px;
  4436. margin-bottom: 8px;
  4437. }
  4438. @media (min-width: 768px) {
  4439. .navbar-form .form-group {
  4440. display: inline-block;
  4441. margin-bottom: 0;
  4442. vertical-align: middle;
  4443. }
  4444. .navbar-form .form-control {
  4445. display: inline-block;
  4446. width: auto;
  4447. vertical-align: middle;
  4448. }
  4449. .navbar-form .form-control-static {
  4450. display: inline-block;
  4451. }
  4452. .navbar-form .input-group {
  4453. display: inline-table;
  4454. vertical-align: middle;
  4455. }
  4456. .navbar-form .input-group .input-group-addon,
  4457. .navbar-form .input-group .input-group-btn,
  4458. .navbar-form .input-group .form-control {
  4459. width: auto;
  4460. }
  4461. .navbar-form .input-group > .form-control {
  4462. width: 100%;
  4463. }
  4464. .navbar-form .control-label {
  4465. margin-bottom: 0;
  4466. vertical-align: middle;
  4467. }
  4468. .navbar-form .radio,
  4469. .navbar-form .checkbox {
  4470. display: inline-block;
  4471. margin-top: 0;
  4472. margin-bottom: 0;
  4473. vertical-align: middle;
  4474. }
  4475. .navbar-form .radio label,
  4476. .navbar-form .checkbox label {
  4477. padding-left: 0;
  4478. }
  4479. .navbar-form .radio input[type="radio"],
  4480. .navbar-form .checkbox input[type="checkbox"] {
  4481. position: relative;
  4482. margin-left: 0;
  4483. }
  4484. .navbar-form .has-feedback .form-control-feedback {
  4485. top: 0;
  4486. }
  4487. }
  4488. @media (max-width: 767px) {
  4489. .navbar-form .form-group {
  4490. margin-bottom: 5px;
  4491. }
  4492. .navbar-form .form-group:last-child {
  4493. margin-bottom: 0;
  4494. }
  4495. }
  4496. @media (min-width: 768px) {
  4497. .navbar-form {
  4498. width: auto;
  4499. border: 0;
  4500. margin-left: 0;
  4501. margin-right: 0;
  4502. padding-top: 0;
  4503. padding-bottom: 0;
  4504. -webkit-box-shadow: none;
  4505. box-shadow: none;
  4506. }
  4507. }
  4508. .navbar-nav > li > .dropdown-menu {
  4509. margin-top: 0;
  4510. border-top-right-radius: 0;
  4511. border-top-left-radius: 0;
  4512. }
  4513. .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  4514. margin-bottom: 0;
  4515. border-top-right-radius: 4px;
  4516. border-top-left-radius: 4px;
  4517. border-bottom-right-radius: 0;
  4518. border-bottom-left-radius: 0;
  4519. }
  4520. .navbar-btn {
  4521. margin-top: 8px;
  4522. margin-bottom: 8px;
  4523. }
  4524. .navbar-btn.btn-sm {
  4525. margin-top: 10px;
  4526. margin-bottom: 10px;
  4527. }
  4528. .navbar-btn.btn-xs {
  4529. margin-top: 14px;
  4530. margin-bottom: 14px;
  4531. }
  4532. .navbar-text {
  4533. margin-top: 15px;
  4534. margin-bottom: 15px;
  4535. }
  4536. @media (min-width: 768px) {
  4537. .navbar-text {
  4538. float: left;
  4539. margin-left: 15px;
  4540. margin-right: 15px;
  4541. }
  4542. }
  4543. @media (min-width: 768px) {
  4544. .navbar-left {
  4545. float: left !important;
  4546. }
  4547. .navbar-right {
  4548. float: right !important;
  4549. margin-right: -15px;
  4550. }
  4551. .navbar-right ~ .navbar-right {
  4552. margin-right: 0;
  4553. }
  4554. }
  4555. .navbar-default {
  4556. background-color: #f8f8f8;
  4557. border-color: #e7e7e7;
  4558. }
  4559. .navbar-default .navbar-brand {
  4560. color: #777777;
  4561. }
  4562. .navbar-default .navbar-brand:hover,
  4563. .navbar-default .navbar-brand:focus {
  4564. color: #5e5e5e;
  4565. background-color: transparent;
  4566. }
  4567. .navbar-default .navbar-text {
  4568. color: #777777;
  4569. }
  4570. .navbar-default .navbar-nav > li > a {
  4571. color: #777777;
  4572. }
  4573. .navbar-default .navbar-nav > li > a:hover,
  4574. .navbar-default .navbar-nav > li > a:focus {
  4575. color: #333333;
  4576. background-color: transparent;
  4577. }
  4578. .navbar-default .navbar-nav > .active > a,
  4579. .navbar-default .navbar-nav > .active > a:hover,
  4580. .navbar-default .navbar-nav > .active > a:focus {
  4581. color: #555555;
  4582. background-color: #e7e7e7;
  4583. }
  4584. .navbar-default .navbar-nav > .disabled > a,
  4585. .navbar-default .navbar-nav > .disabled > a:hover,
  4586. .navbar-default .navbar-nav > .disabled > a:focus {
  4587. color: #cccccc;
  4588. background-color: transparent;
  4589. }
  4590. .navbar-default .navbar-toggle {
  4591. border-color: #dddddd;
  4592. }
  4593. .navbar-default .navbar-toggle:hover,
  4594. .navbar-default .navbar-toggle:focus {
  4595. background-color: #dddddd;
  4596. }
  4597. .navbar-default .navbar-toggle .icon-bar {
  4598. background-color: #888888;
  4599. }
  4600. .navbar-default .navbar-collapse,
  4601. .navbar-default .navbar-form {
  4602. border-color: #e7e7e7;
  4603. }
  4604. .navbar-default .navbar-nav > .open > a,
  4605. .navbar-default .navbar-nav > .open > a:hover,
  4606. .navbar-default .navbar-nav > .open > a:focus {
  4607. background-color: #e7e7e7;
  4608. color: #555555;
  4609. }
  4610. @media (max-width: 767px) {
  4611. .navbar-default .navbar-nav .open .dropdown-menu > li > a {
  4612. color: #777777;
  4613. }
  4614. .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  4615. .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
  4616. color: #333333;
  4617. background-color: transparent;
  4618. }
  4619. .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  4620. .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  4621. .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
  4622. color: #555555;
  4623. background-color: #e7e7e7;
  4624. }
  4625. .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  4626. .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  4627. .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
  4628. color: #cccccc;
  4629. background-color: transparent;
  4630. }
  4631. }
  4632. .navbar-default .navbar-link {
  4633. color: #777777;
  4634. }
  4635. .navbar-default .navbar-link:hover {
  4636. color: #333333;
  4637. }
  4638. .navbar-default .btn-link {
  4639. color: #777777;
  4640. }
  4641. .navbar-default .btn-link:hover,
  4642. .navbar-default .btn-link:focus {
  4643. color: #333333;
  4644. }
  4645. .navbar-default .btn-link[disabled]:hover,
  4646. fieldset[disabled] .navbar-default .btn-link:hover,
  4647. .navbar-default .btn-link[disabled]:focus,
  4648. fieldset[disabled] .navbar-default .btn-link:focus {
  4649. color: #cccccc;
  4650. }
  4651. .navbar-inverse {
  4652. background-color: #222222;
  4653. border-color: #080808;
  4654. }
  4655. .navbar-inverse .navbar-brand {
  4656. color: #9d9d9d;
  4657. }
  4658. .navbar-inverse .navbar-brand:hover,
  4659. .navbar-inverse .navbar-brand:focus {
  4660. color: #ffffff;
  4661. background-color: transparent;
  4662. }
  4663. .navbar-inverse .navbar-text {
  4664. color: #9d9d9d;
  4665. }
  4666. .navbar-inverse .navbar-nav > li > a {
  4667. color: #9d9d9d;
  4668. }
  4669. .navbar-inverse .navbar-nav > li > a:hover,
  4670. .navbar-inverse .navbar-nav > li > a:focus {
  4671. color: #ffffff;
  4672. background-color: transparent;
  4673. }
  4674. .navbar-inverse .navbar-nav > .active > a,
  4675. .navbar-inverse .navbar-nav > .active > a:hover,
  4676. .navbar-inverse .navbar-nav > .active > a:focus {
  4677. color: #ffffff;
  4678. background-color: #080808;
  4679. }
  4680. .navbar-inverse .navbar-nav > .disabled > a,
  4681. .navbar-inverse .navbar-nav > .disabled > a:hover,
  4682. .navbar-inverse .navbar-nav > .disabled > a:focus {
  4683. color: #444444;
  4684. background-color: transparent;
  4685. }
  4686. .navbar-inverse .navbar-toggle {
  4687. border-color: #333333;
  4688. }
  4689. .navbar-inverse .navbar-toggle:hover,
  4690. .navbar-inverse .navbar-toggle:focus {
  4691. background-color: #333333;
  4692. }
  4693. .navbar-inverse .navbar-toggle .icon-bar {
  4694. background-color: #ffffff;
  4695. }
  4696. .navbar-inverse .navbar-collapse,
  4697. .navbar-inverse .navbar-form {
  4698. border-color: #101010;
  4699. }
  4700. .navbar-inverse .navbar-nav > .open > a,
  4701. .navbar-inverse .navbar-nav > .open > a:hover,
  4702. .navbar-inverse .navbar-nav > .open > a:focus {
  4703. background-color: #080808;
  4704. color: #ffffff;
  4705. }
  4706. @media (max-width: 767px) {
  4707. .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
  4708. border-color: #080808;
  4709. }
  4710. .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
  4711. background-color: #080808;
  4712. }
  4713. .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
  4714. color: #9d9d9d;
  4715. }
  4716. .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  4717. .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
  4718. color: #ffffff;
  4719. background-color: transparent;
  4720. }
  4721. .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  4722. .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  4723. .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
  4724. color: #ffffff;
  4725. background-color: #080808;
  4726. }
  4727. .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  4728. .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  4729. .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
  4730. color: #444444;
  4731. background-color: transparent;
  4732. }
  4733. }
  4734. .navbar-inverse .navbar-link {
  4735. color: #9d9d9d;
  4736. }
  4737. .navbar-inverse .navbar-link:hover {
  4738. color: #ffffff;
  4739. }
  4740. .navbar-inverse .btn-link {
  4741. color: #9d9d9d;
  4742. }
  4743. .navbar-inverse .btn-link:hover,
  4744. .navbar-inverse .btn-link:focus {
  4745. color: #ffffff;
  4746. }
  4747. .navbar-inverse .btn-link[disabled]:hover,
  4748. fieldset[disabled] .navbar-inverse .btn-link:hover,
  4749. .navbar-inverse .btn-link[disabled]:focus,
  4750. fieldset[disabled] .navbar-inverse .btn-link:focus {
  4751. color: #444444;
  4752. }
  4753. .breadcrumb {
  4754. padding: 8px 15px;
  4755. margin-bottom: 20px;
  4756. list-style: none;
  4757. background-color: #f5f5f5;
  4758. border-radius: 4px;
  4759. }
  4760. .breadcrumb > li {
  4761. display: inline-block;
  4762. }
  4763. .breadcrumb > li + li:before {
  4764. content: "/\00a0";
  4765. padding: 0 5px;
  4766. color: #cccccc;
  4767. }
  4768. .breadcrumb > .active {
  4769. color: #777777;
  4770. }
  4771. .pagination {
  4772. display: inline-block;
  4773. padding-left: 0;
  4774. margin: 20px 0;
  4775. border-radius: 4px;
  4776. }
  4777. .pagination > li {
  4778. display: inline;
  4779. }
  4780. .pagination > li > a,
  4781. .pagination > li > span {
  4782. position: relative;
  4783. float: left;
  4784. padding: 6px 12px;
  4785. line-height: 1.42857143;
  4786. text-decoration: none;
  4787. color: #337ab7;
  4788. background-color: #ffffff;
  4789. border: 1px solid #dddddd;
  4790. margin-left: -1px;
  4791. }
  4792. .pagination > li:first-child > a,
  4793. .pagination > li:first-child > span {
  4794. margin-left: 0;
  4795. border-bottom-left-radius: 4px;
  4796. border-top-left-radius: 4px;
  4797. }
  4798. .pagination > li:last-child > a,
  4799. .pagination > li:last-child > span {
  4800. border-bottom-right-radius: 4px;
  4801. border-top-right-radius: 4px;
  4802. }
  4803. .pagination > li > a:hover,
  4804. .pagination > li > span:hover,
  4805. .pagination > li > a:focus,
  4806. .pagination > li > span:focus {
  4807. z-index: 3;
  4808. color: #23527c;
  4809. background-color: #eeeeee;
  4810. border-color: #dddddd;
  4811. }
  4812. .pagination > .active > a,
  4813. .pagination > .active > span,
  4814. .pagination > .active > a:hover,
  4815. .pagination > .active > span:hover,
  4816. .pagination > .active > a:focus,
  4817. .pagination > .active > span:focus {
  4818. z-index: 2;
  4819. color: #ffffff;
  4820. background-color: #337ab7;
  4821. border-color: #337ab7;
  4822. cursor: default;
  4823. }
  4824. .pagination > .disabled > span,
  4825. .pagination > .disabled > span:hover,
  4826. .pagination > .disabled > span:focus,
  4827. .pagination > .disabled > a,
  4828. .pagination > .disabled > a:hover,
  4829. .pagination > .disabled > a:focus {
  4830. color: #777777;
  4831. background-color: #ffffff;
  4832. border-color: #dddddd;
  4833. cursor: not-allowed;
  4834. }
  4835. .pagination-lg > li > a,
  4836. .pagination-lg > li > span {
  4837. padding: 10px 16px;
  4838. font-size: 18px;
  4839. line-height: 1.3333333;
  4840. }
  4841. .pagination-lg > li:first-child > a,
  4842. .pagination-lg > li:first-child > span {
  4843. border-bottom-left-radius: 6px;
  4844. border-top-left-radius: 6px;
  4845. }
  4846. .pagination-lg > li:last-child > a,
  4847. .pagination-lg > li:last-child > span {
  4848. border-bottom-right-radius: 6px;
  4849. border-top-right-radius: 6px;
  4850. }
  4851. .pagination-sm > li > a,
  4852. .pagination-sm > li > span {
  4853. padding: 5px 10px;
  4854. font-size: 12px;
  4855. line-height: 1.5;
  4856. }
  4857. .pagination-sm > li:first-child > a,
  4858. .pagination-sm > li:first-child > span {
  4859. border-bottom-left-radius: 3px;
  4860. border-top-left-radius: 3px;
  4861. }
  4862. .pagination-sm > li:last-child > a,
  4863. .pagination-sm > li:last-child > span {
  4864. border-bottom-right-radius: 3px;
  4865. border-top-right-radius: 3px;
  4866. }
  4867. .pager {
  4868. padding-left: 0;
  4869. margin: 20px 0;
  4870. list-style: none;
  4871. text-align: center;
  4872. }
  4873. .pager li {
  4874. display: inline;
  4875. }
  4876. .pager li > a,
  4877. .pager li > span {
  4878. display: inline-block;
  4879. padding: 5px 14px;
  4880. background-color: #ffffff;
  4881. border: 1px solid #dddddd;
  4882. border-radius: 15px;
  4883. }
  4884. .pager li > a:hover,
  4885. .pager li > a:focus {
  4886. text-decoration: none;
  4887. background-color: #eeeeee;
  4888. }
  4889. .pager .next > a,
  4890. .pager .next > span {
  4891. float: right;
  4892. }
  4893. .pager .previous > a,
  4894. .pager .previous > span {
  4895. float: left;
  4896. }
  4897. .pager .disabled > a,
  4898. .pager .disabled > a:hover,
  4899. .pager .disabled > a:focus,
  4900. .pager .disabled > span {
  4901. color: #777777;
  4902. background-color: #ffffff;
  4903. cursor: not-allowed;
  4904. }
  4905. .label {
  4906. display: inline;
  4907. padding: .2em .6em .3em;
  4908. font-size: 75%;
  4909. font-weight: bold;
  4910. line-height: 1;
  4911. color: #ffffff;
  4912. text-align: center;
  4913. white-space: nowrap;
  4914. vertical-align: baseline;
  4915. border-radius: .25em;
  4916. }
  4917. a.label:hover,
  4918. a.label:focus {
  4919. color: #ffffff;
  4920. text-decoration: none;
  4921. cursor: pointer;
  4922. }
  4923. .label:empty {
  4924. display: none;
  4925. }
  4926. .btn .label {
  4927. position: relative;
  4928. top: -1px;
  4929. }
  4930. .label-default {
  4931. background-color: #777777;
  4932. }
  4933. .label-default[href]:hover,
  4934. .label-default[href]:focus {
  4935. background-color: #5e5e5e;
  4936. }
  4937. .label-primary {
  4938. background-color: #337ab7;
  4939. }
  4940. .label-primary[href]:hover,
  4941. .label-primary[href]:focus {
  4942. background-color: #286090;
  4943. }
  4944. .label-success {
  4945. background-color: #5cb85c;
  4946. }
  4947. .label-success[href]:hover,
  4948. .label-success[href]:focus {
  4949. background-color: #449d44;
  4950. }
  4951. .label-info {
  4952. background-color: #5bc0de;
  4953. }
  4954. .label-info[href]:hover,
  4955. .label-info[href]:focus {
  4956. background-color: #31b0d5;
  4957. }
  4958. .label-warning {
  4959. background-color: #f0ad4e;
  4960. }
  4961. .label-warning[href]:hover,
  4962. .label-warning[href]:focus {
  4963. background-color: #ec971f;
  4964. }
  4965. .label-danger {
  4966. background-color: #d9534f;
  4967. }
  4968. .label-danger[href]:hover,
  4969. .label-danger[href]:focus {
  4970. background-color: #c9302c;
  4971. }
  4972. .badge {
  4973. display: inline-block;
  4974. min-width: 10px;
  4975. padding: 3px 7px;
  4976. font-size: 12px;
  4977. font-weight: bold;
  4978. color: #ffffff;
  4979. line-height: 1;
  4980. vertical-align: middle;
  4981. white-space: nowrap;
  4982. text-align: center;
  4983. background-color: #777777;
  4984. border-radius: 10px;
  4985. }
  4986. .badge:empty {
  4987. display: none;
  4988. }
  4989. .btn .badge {
  4990. position: relative;
  4991. top: -1px;
  4992. }
  4993. .btn-xs .badge,
  4994. .btn-group-xs > .btn .badge {
  4995. top: 0;
  4996. padding: 1px 5px;
  4997. }
  4998. a.badge:hover,
  4999. a.badge:focus {
  5000. color: #ffffff;
  5001. text-decoration: none;
  5002. cursor: pointer;
  5003. }
  5004. .list-group-item.active > .badge,
  5005. .nav-pills > .active > a > .badge {
  5006. color: #337ab7;
  5007. background-color: #ffffff;
  5008. }
  5009. .list-group-item > .badge {
  5010. float: right;
  5011. }
  5012. .list-group-item > .badge + .badge {
  5013. margin-right: 5px;
  5014. }
  5015. .nav-pills > li > a > .badge {
  5016. margin-left: 3px;
  5017. }
  5018. .jumbotron {
  5019. padding-top: 30px;
  5020. padding-bottom: 30px;
  5021. margin-bottom: 30px;
  5022. color: inherit;
  5023. background-color: #eeeeee;
  5024. }
  5025. .jumbotron h1,
  5026. .jumbotron .h1 {
  5027. color: inherit;
  5028. }
  5029. .jumbotron p {
  5030. margin-bottom: 15px;
  5031. font-size: 21px;
  5032. font-weight: 200;
  5033. }
  5034. .jumbotron > hr {
  5035. border-top-color: #d5d5d5;
  5036. }
  5037. .container .jumbotron,
  5038. .container-fluid .jumbotron {
  5039. border-radius: 6px;
  5040. }
  5041. .jumbotron .container {
  5042. max-width: 100%;
  5043. }
  5044. @media screen and (min-width: 768px) {
  5045. .jumbotron {
  5046. padding-top: 48px;
  5047. padding-bottom: 48px;
  5048. }
  5049. .container .jumbotron,
  5050. .container-fluid .jumbotron {
  5051. padding-left: 60px;
  5052. padding-right: 60px;
  5053. }
  5054. .jumbotron h1,
  5055. .jumbotron .h1 {
  5056. font-size: 63px;
  5057. }
  5058. }
  5059. .thumbnail {
  5060. display: block;
  5061. padding: 4px;
  5062. margin-bottom: 20px;
  5063. line-height: 1.42857143;
  5064. background-color: #ffffff;
  5065. border: 1px solid #dddddd;
  5066. border-radius: 4px;
  5067. -webkit-transition: border 0.2s ease-in-out;
  5068. -o-transition: border 0.2s ease-in-out;
  5069. transition: border 0.2s ease-in-out;
  5070. }
  5071. .thumbnail > img,
  5072. .thumbnail a > img {
  5073. margin-left: auto;
  5074. margin-right: auto;
  5075. }
  5076. a.thumbnail:hover,
  5077. a.thumbnail:focus,
  5078. a.thumbnail.active {
  5079. border-color: #337ab7;
  5080. }
  5081. .thumbnail .caption {
  5082. padding: 9px;
  5083. color: #333333;
  5084. }
  5085. .alert {
  5086. padding: 15px;
  5087. margin-bottom: 20px;
  5088. border: 1px solid transparent;
  5089. border-radius: 4px;
  5090. }
  5091. .alert h4 {
  5092. margin-top: 0;
  5093. color: inherit;
  5094. }
  5095. .alert .alert-link {
  5096. font-weight: bold;
  5097. }
  5098. .alert > p,
  5099. .alert > ul {
  5100. margin-bottom: 0;
  5101. }
  5102. .alert > p + p {
  5103. margin-top: 5px;
  5104. }
  5105. .alert-dismissable,
  5106. .alert-dismissible {
  5107. padding-right: 35px;
  5108. }
  5109. .alert-dismissable .close,
  5110. .alert-dismissible .close {
  5111. position: relative;
  5112. top: -2px;
  5113. right: -21px;
  5114. color: inherit;
  5115. }
  5116. .alert-success {
  5117. background-color: #dff0d8;
  5118. border-color: #d6e9c6;
  5119. color: #3c763d;
  5120. }
  5121. .alert-success hr {
  5122. border-top-color: #c9e2b3;
  5123. }
  5124. .alert-success .alert-link {
  5125. color: #2b542c;
  5126. }
  5127. .alert-info {
  5128. background-color: #d9edf7;
  5129. border-color: #bce8f1;
  5130. color: #31708f;
  5131. }
  5132. .alert-info hr {
  5133. border-top-color: #a6e1ec;
  5134. }
  5135. .alert-info .alert-link {
  5136. color: #245269;
  5137. }
  5138. .alert-warning {
  5139. background-color: #fcf8e3;
  5140. border-color: #faebcc;
  5141. color: #8a6d3b;
  5142. }
  5143. .alert-warning hr {
  5144. border-top-color: #f7e1b5;
  5145. }
  5146. .alert-warning .alert-link {
  5147. color: #66512c;
  5148. }
  5149. .alert-danger {
  5150. background-color: #f2dede;
  5151. border-color: #ebccd1;
  5152. color: #a94442;
  5153. }
  5154. .alert-danger hr {
  5155. border-top-color: #e4b9c0;
  5156. }
  5157. .alert-danger .alert-link {
  5158. color: #843534;
  5159. }
  5160. @-webkit-keyframes progress-bar-stripes {
  5161. from {
  5162. background-position: 40px 0;
  5163. }
  5164. to {
  5165. background-position: 0 0;
  5166. }
  5167. }
  5168. @-o-keyframes progress-bar-stripes {
  5169. from {
  5170. background-position: 40px 0;
  5171. }
  5172. to {
  5173. background-position: 0 0;
  5174. }
  5175. }
  5176. @keyframes progress-bar-stripes {
  5177. from {
  5178. background-position: 40px 0;
  5179. }
  5180. to {
  5181. background-position: 0 0;
  5182. }
  5183. }
  5184. .progress {
  5185. overflow: hidden;
  5186. height: 20px;
  5187. margin-bottom: 20px;
  5188. background-color: #f5f5f5;
  5189. border-radius: 4px;
  5190. -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  5191. box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  5192. }
  5193. .progress-bar {
  5194. float: left;
  5195. width: 0%;
  5196. height: 100%;
  5197. font-size: 12px;
  5198. line-height: 20px;
  5199. color: #ffffff;
  5200. text-align: center;
  5201. background-color: #337ab7;
  5202. -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  5203. box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  5204. -webkit-transition: width 0.6s ease;
  5205. -o-transition: width 0.6s ease;
  5206. transition: width 0.6s ease;
  5207. }
  5208. .progress-striped .progress-bar,
  5209. .progress-bar-striped {
  5210. background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5211. background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5212. background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5213. -webkit-background-size: 40px 40px;
  5214. background-size: 40px 40px;
  5215. }
  5216. .progress.active .progress-bar,
  5217. .progress-bar.active {
  5218. -webkit-animation: progress-bar-stripes 2s linear infinite;
  5219. -o-animation: progress-bar-stripes 2s linear infinite;
  5220. animation: progress-bar-stripes 2s linear infinite;
  5221. }
  5222. .progress-bar-success {
  5223. background-color: #5cb85c;
  5224. }
  5225. .progress-striped .progress-bar-success {
  5226. background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5227. background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5228. background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5229. }
  5230. .progress-bar-info {
  5231. background-color: #5bc0de;
  5232. }
  5233. .progress-striped .progress-bar-info {
  5234. background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5235. background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5236. background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5237. }
  5238. .progress-bar-warning {
  5239. background-color: #f0ad4e;
  5240. }
  5241. .progress-striped .progress-bar-warning {
  5242. background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5243. background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5244. background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5245. }
  5246. .progress-bar-danger {
  5247. background-color: #d9534f;
  5248. }
  5249. .progress-striped .progress-bar-danger {
  5250. background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5251. background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5252. background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  5253. }
  5254. .media {
  5255. margin-top: 15px;
  5256. }
  5257. .media:first-child {
  5258. margin-top: 0;
  5259. }
  5260. .media,
  5261. .media-body {
  5262. zoom: 1;
  5263. overflow: hidden;
  5264. }
  5265. .media-body {
  5266. width: 10000px;
  5267. }
  5268. .media-object {
  5269. display: block;
  5270. }
  5271. .media-object.img-thumbnail {
  5272. max-width: none;
  5273. }
  5274. .media-right,
  5275. .media > .pull-right {
  5276. padding-left: 10px;
  5277. }
  5278. .media-left,
  5279. .media > .pull-left {
  5280. padding-right: 10px;
  5281. }
  5282. .media-left,
  5283. .media-right,
  5284. .media-body {
  5285. display: table-cell;
  5286. vertical-align: top;
  5287. }
  5288. .media-middle {
  5289. vertical-align: middle;
  5290. }
  5291. .media-bottom {
  5292. vertical-align: bottom;
  5293. }
  5294. .media-heading {
  5295. margin-top: 0;
  5296. margin-bottom: 5px;
  5297. }
  5298. .media-list {
  5299. padding-left: 0;
  5300. list-style: none;
  5301. }
  5302. .list-group {
  5303. margin-bottom: 20px;
  5304. padding-left: 0;
  5305. }
  5306. .list-group-item {
  5307. position: relative;
  5308. display: block;
  5309. padding: 10px 15px;
  5310. margin-bottom: -1px;
  5311. background-color: #ffffff;
  5312. border: 1px solid #dddddd;
  5313. }
  5314. .list-group-item:first-child {
  5315. border-top-right-radius: 4px;
  5316. border-top-left-radius: 4px;
  5317. }
  5318. .list-group-item:last-child {
  5319. margin-bottom: 0;
  5320. border-bottom-right-radius: 4px;
  5321. border-bottom-left-radius: 4px;
  5322. }
  5323. a.list-group-item,
  5324. button.list-group-item {
  5325. color: #555555;
  5326. }
  5327. a.list-group-item .list-group-item-heading,
  5328. button.list-group-item .list-group-item-heading {
  5329. color: #333333;
  5330. }
  5331. a.list-group-item:hover,
  5332. button.list-group-item:hover,
  5333. a.list-group-item:focus,
  5334. button.list-group-item:focus {
  5335. text-decoration: none;
  5336. color: #555555;
  5337. background-color: #f5f5f5;
  5338. }
  5339. button.list-group-item {
  5340. width: 100%;
  5341. text-align: left;
  5342. }
  5343. .list-group-item.disabled,
  5344. .list-group-item.disabled:hover,
  5345. .list-group-item.disabled:focus {
  5346. background-color: #eeeeee;
  5347. color: #777777;
  5348. cursor: not-allowed;
  5349. }
  5350. .list-group-item.disabled .list-group-item-heading,
  5351. .list-group-item.disabled:hover .list-group-item-heading,
  5352. .list-group-item.disabled:focus .list-group-item-heading {
  5353. color: inherit;
  5354. }
  5355. .list-group-item.disabled .list-group-item-text,
  5356. .list-group-item.disabled:hover .list-group-item-text,
  5357. .list-group-item.disabled:focus .list-group-item-text {
  5358. color: #777777;
  5359. }
  5360. .list-group-item.active,
  5361. .list-group-item.active:hover,
  5362. .list-group-item.active:focus {
  5363. z-index: 2;
  5364. color: #ffffff;
  5365. background-color: #337ab7;
  5366. border-color: #337ab7;
  5367. }
  5368. .list-group-item.active .list-group-item-heading,
  5369. .list-group-item.active:hover .list-group-item-heading,
  5370. .list-group-item.active:focus .list-group-item-heading,
  5371. .list-group-item.active .list-group-item-heading > small,
  5372. .list-group-item.active:hover .list-group-item-heading > small,
  5373. .list-group-item.active:focus .list-group-item-heading > small,
  5374. .list-group-item.active .list-group-item-heading > .small,
  5375. .list-group-item.active:hover .list-group-item-heading > .small,
  5376. .list-group-item.active:focus .list-group-item-heading > .small {
  5377. color: inherit;
  5378. }
  5379. .list-group-item.active .list-group-item-text,
  5380. .list-group-item.active:hover .list-group-item-text,
  5381. .list-group-item.active:focus .list-group-item-text {
  5382. color: #c7ddef;
  5383. }
  5384. .list-group-item-success {
  5385. color: #3c763d;
  5386. background-color: #dff0d8;
  5387. }
  5388. a.list-group-item-success,
  5389. button.list-group-item-success {
  5390. color: #3c763d;
  5391. }
  5392. a.list-group-item-success .list-group-item-heading,
  5393. button.list-group-item-success .list-group-item-heading {
  5394. color: inherit;
  5395. }
  5396. a.list-group-item-success:hover,
  5397. button.list-group-item-success:hover,
  5398. a.list-group-item-success:focus,
  5399. button.list-group-item-success:focus {
  5400. color: #3c763d;
  5401. background-color: #d0e9c6;
  5402. }
  5403. a.list-group-item-success.active,
  5404. button.list-group-item-success.active,
  5405. a.list-group-item-success.active:hover,
  5406. button.list-group-item-success.active:hover,
  5407. a.list-group-item-success.active:focus,
  5408. button.list-group-item-success.active:focus {
  5409. color: #fff;
  5410. background-color: #3c763d;
  5411. border-color: #3c763d;
  5412. }
  5413. .list-group-item-info {
  5414. color: #31708f;
  5415. background-color: #d9edf7;
  5416. }
  5417. a.list-group-item-info,
  5418. button.list-group-item-info {
  5419. color: #31708f;
  5420. }
  5421. a.list-group-item-info .list-group-item-heading,
  5422. button.list-group-item-info .list-group-item-heading {
  5423. color: inherit;
  5424. }
  5425. a.list-group-item-info:hover,
  5426. button.list-group-item-info:hover,
  5427. a.list-group-item-info:focus,
  5428. button.list-group-item-info:focus {
  5429. color: #31708f;
  5430. background-color: #c4e3f3;
  5431. }
  5432. a.list-group-item-info.active,
  5433. button.list-group-item-info.active,
  5434. a.list-group-item-info.active:hover,
  5435. button.list-group-item-info.active:hover,
  5436. a.list-group-item-info.active:focus,
  5437. button.list-group-item-info.active:focus {
  5438. color: #fff;
  5439. background-color: #31708f;
  5440. border-color: #31708f;
  5441. }
  5442. .list-group-item-warning {
  5443. color: #8a6d3b;
  5444. background-color: #fcf8e3;
  5445. }
  5446. a.list-group-item-warning,
  5447. button.list-group-item-warning {
  5448. color: #8a6d3b;
  5449. }
  5450. a.list-group-item-warning .list-group-item-heading,
  5451. button.list-group-item-warning .list-group-item-heading {
  5452. color: inherit;
  5453. }
  5454. a.list-group-item-warning:hover,
  5455. button.list-group-item-warning:hover,
  5456. a.list-group-item-warning:focus,
  5457. button.list-group-item-warning:focus {
  5458. color: #8a6d3b;
  5459. background-color: #faf2cc;
  5460. }
  5461. a.list-group-item-warning.active,
  5462. button.list-group-item-warning.active,
  5463. a.list-group-item-warning.active:hover,
  5464. button.list-group-item-warning.active:hover,
  5465. a.list-group-item-warning.active:focus,
  5466. button.list-group-item-warning.active:focus {
  5467. color: #fff;
  5468. background-color: #8a6d3b;
  5469. border-color: #8a6d3b;
  5470. }
  5471. .list-group-item-danger {
  5472. color: #a94442;
  5473. background-color: #f2dede;
  5474. }
  5475. a.list-group-item-danger,
  5476. button.list-group-item-danger {
  5477. color: #a94442;
  5478. }
  5479. a.list-group-item-danger .list-group-item-heading,
  5480. button.list-group-item-danger .list-group-item-heading {
  5481. color: inherit;
  5482. }
  5483. a.list-group-item-danger:hover,
  5484. button.list-group-item-danger:hover,
  5485. a.list-group-item-danger:focus,
  5486. button.list-group-item-danger:focus {
  5487. color: #a94442;
  5488. background-color: #ebcccc;
  5489. }
  5490. a.list-group-item-danger.active,
  5491. button.list-group-item-danger.active,
  5492. a.list-group-item-danger.active:hover,
  5493. button.list-group-item-danger.active:hover,
  5494. a.list-group-item-danger.active:focus,
  5495. button.list-group-item-danger.active:focus {
  5496. color: #fff;
  5497. background-color: #a94442;
  5498. border-color: #a94442;
  5499. }
  5500. .list-group-item-heading {
  5501. margin-top: 0;
  5502. margin-bottom: 5px;
  5503. }
  5504. .list-group-item-text {
  5505. margin-bottom: 0;
  5506. line-height: 1.3;
  5507. }
  5508. .panel {
  5509. margin-bottom: 20px;
  5510. background-color: #ffffff;
  5511. border: 1px solid transparent;
  5512. border-radius: 4px;
  5513. -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  5514. box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  5515. }
  5516. .panel-body {
  5517. padding: 15px;
  5518. }
  5519. .panel-heading {
  5520. padding: 10px 15px;
  5521. border-bottom: 1px solid transparent;
  5522. border-top-right-radius: 3px;
  5523. border-top-left-radius: 3px;
  5524. }
  5525. .panel-heading > .dropdown .dropdown-toggle {
  5526. color: inherit;
  5527. }
  5528. .panel-title {
  5529. margin-top: 0;
  5530. margin-bottom: 0;
  5531. font-size: 16px;
  5532. color: inherit;
  5533. }
  5534. .panel-title > a,
  5535. .panel-title > small,
  5536. .panel-title > .small,
  5537. .panel-title > small > a,
  5538. .panel-title > .small > a {
  5539. color: inherit;
  5540. }
  5541. .panel-footer {
  5542. padding: 10px 15px;
  5543. background-color: #f5f5f5;
  5544. border-top: 1px solid #dddddd;
  5545. border-bottom-right-radius: 3px;
  5546. border-bottom-left-radius: 3px;
  5547. }
  5548. .panel > .list-group,
  5549. .panel > .panel-collapse > .list-group {
  5550. margin-bottom: 0;
  5551. }
  5552. .panel > .list-group .list-group-item,
  5553. .panel > .panel-collapse > .list-group .list-group-item {
  5554. border-width: 1px 0;
  5555. border-radius: 0;
  5556. }
  5557. .panel > .list-group:first-child .list-group-item:first-child,
  5558. .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  5559. border-top: 0;
  5560. border-top-right-radius: 3px;
  5561. border-top-left-radius: 3px;
  5562. }
  5563. .panel > .list-group:last-child .list-group-item:last-child,
  5564. .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  5565. border-bottom: 0;
  5566. border-bottom-right-radius: 3px;
  5567. border-bottom-left-radius: 3px;
  5568. }
  5569. .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  5570. border-top-right-radius: 0;
  5571. border-top-left-radius: 0;
  5572. }
  5573. .panel-heading + .list-group .list-group-item:first-child {
  5574. border-top-width: 0;
  5575. }
  5576. .list-group + .panel-footer {
  5577. border-top-width: 0;
  5578. }
  5579. .panel > .table,
  5580. .panel > .table-responsive > .table,
  5581. .panel > .panel-collapse > .table {
  5582. margin-bottom: 0;
  5583. }
  5584. .panel > .table caption,
  5585. .panel > .table-responsive > .table caption,
  5586. .panel > .panel-collapse > .table caption {
  5587. padding-left: 15px;
  5588. padding-right: 15px;
  5589. }
  5590. .panel > .table:first-child,
  5591. .panel > .table-responsive:first-child > .table:first-child {
  5592. border-top-right-radius: 3px;
  5593. border-top-left-radius: 3px;
  5594. }
  5595. .panel > .table:first-child > thead:first-child > tr:first-child,
  5596. .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
  5597. .panel > .table:first-child > tbody:first-child > tr:first-child,
  5598. .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  5599. border-top-left-radius: 3px;
  5600. border-top-right-radius: 3px;
  5601. }
  5602. .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
  5603. .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
  5604. .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
  5605. .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
  5606. .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
  5607. .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
  5608. .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
  5609. .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  5610. border-top-left-radius: 3px;
  5611. }
  5612. .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
  5613. .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
  5614. .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
  5615. .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
  5616. .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
  5617. .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
  5618. .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
  5619. .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  5620. border-top-right-radius: 3px;
  5621. }
  5622. .panel > .table:last-child,
  5623. .panel > .table-responsive:last-child > .table:last-child {
  5624. border-bottom-right-radius: 3px;
  5625. border-bottom-left-radius: 3px;
  5626. }
  5627. .panel > .table:last-child > tbody:last-child > tr:last-child,
  5628. .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
  5629. .panel > .table:last-child > tfoot:last-child > tr:last-child,
  5630. .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  5631. border-bottom-left-radius: 3px;
  5632. border-bottom-right-radius: 3px;
  5633. }
  5634. .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
  5635. .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
  5636. .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
  5637. .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
  5638. .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
  5639. .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
  5640. .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
  5641. .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  5642. border-bottom-left-radius: 3px;
  5643. }
  5644. .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
  5645. .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
  5646. .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
  5647. .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
  5648. .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
  5649. .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
  5650. .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
  5651. .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  5652. border-bottom-right-radius: 3px;
  5653. }
  5654. .panel > .panel-body + .table,
  5655. .panel > .panel-body + .table-responsive,
  5656. .panel > .table + .panel-body,
  5657. .panel > .table-responsive + .panel-body {
  5658. border-top: 1px solid #dddddd;
  5659. }
  5660. .panel > .table > tbody:first-child > tr:first-child th,
  5661. .panel > .table > tbody:first-child > tr:first-child td {
  5662. border-top: 0;
  5663. }
  5664. .panel > .table-bordered,
  5665. .panel > .table-responsive > .table-bordered {
  5666. border: 0;
  5667. }
  5668. .panel > .table-bordered > thead > tr > th:first-child,
  5669. .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
  5670. .panel > .table-bordered > tbody > tr > th:first-child,
  5671. .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
  5672. .panel > .table-bordered > tfoot > tr > th:first-child,
  5673. .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  5674. .panel > .table-bordered > thead > tr > td:first-child,
  5675. .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
  5676. .panel > .table-bordered > tbody > tr > td:first-child,
  5677. .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
  5678. .panel > .table-bordered > tfoot > tr > td:first-child,
  5679. .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  5680. border-left: 0;
  5681. }
  5682. .panel > .table-bordered > thead > tr > th:last-child,
  5683. .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
  5684. .panel > .table-bordered > tbody > tr > th:last-child,
  5685. .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
  5686. .panel > .table-bordered > tfoot > tr > th:last-child,
  5687. .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  5688. .panel > .table-bordered > thead > tr > td:last-child,
  5689. .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
  5690. .panel > .table-bordered > tbody > tr > td:last-child,
  5691. .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
  5692. .panel > .table-bordered > tfoot > tr > td:last-child,
  5693. .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  5694. border-right: 0;
  5695. }
  5696. .panel > .table-bordered > thead > tr:first-child > td,
  5697. .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
  5698. .panel > .table-bordered > tbody > tr:first-child > td,
  5699. .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
  5700. .panel > .table-bordered > thead > tr:first-child > th,
  5701. .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
  5702. .panel > .table-bordered > tbody > tr:first-child > th,
  5703. .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  5704. border-bottom: 0;
  5705. }
  5706. .panel > .table-bordered > tbody > tr:last-child > td,
  5707. .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
  5708. .panel > .table-bordered > tfoot > tr:last-child > td,
  5709. .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
  5710. .panel > .table-bordered > tbody > tr:last-child > th,
  5711. .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
  5712. .panel > .table-bordered > tfoot > tr:last-child > th,
  5713. .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  5714. border-bottom: 0;
  5715. }
  5716. .panel > .table-responsive {
  5717. border: 0;
  5718. margin-bottom: 0;
  5719. }
  5720. .panel-group {
  5721. margin-bottom: 20px;
  5722. }
  5723. .panel-group .panel {
  5724. margin-bottom: 0;
  5725. border-radius: 4px;
  5726. }
  5727. .panel-group .panel + .panel {
  5728. margin-top: 5px;
  5729. }
  5730. .panel-group .panel-heading {
  5731. border-bottom: 0;
  5732. }
  5733. .panel-group .panel-heading + .panel-collapse > .panel-body,
  5734. .panel-group .panel-heading + .panel-collapse > .list-group {
  5735. border-top: 1px solid #dddddd;
  5736. }
  5737. .panel-group .panel-footer {
  5738. border-top: 0;
  5739. }
  5740. .panel-group .panel-footer + .panel-collapse .panel-body {
  5741. border-bottom: 1px solid #dddddd;
  5742. }
  5743. .panel-default {
  5744. border-color: #dddddd;
  5745. }
  5746. .panel-default > .panel-heading {
  5747. color: #333333;
  5748. background-color: #f5f5f5;
  5749. border-color: #dddddd;
  5750. }
  5751. .panel-default > .panel-heading + .panel-collapse > .panel-body {
  5752. border-top-color: #dddddd;
  5753. }
  5754. .panel-default > .panel-heading .badge {
  5755. color: #f5f5f5;
  5756. background-color: #333333;
  5757. }
  5758. .panel-default > .panel-footer + .panel-collapse > .panel-body {
  5759. border-bottom-color: #dddddd;
  5760. }
  5761. .panel-primary {
  5762. border-color: #337ab7;
  5763. }
  5764. .panel-primary > .panel-heading {
  5765. color: #ffffff;
  5766. background-color: #337ab7;
  5767. border-color: #337ab7;
  5768. }
  5769. .panel-primary > .panel-heading + .panel-collapse > .panel-body {
  5770. border-top-color: #337ab7;
  5771. }
  5772. .panel-primary > .panel-heading .badge {
  5773. color: #337ab7;
  5774. background-color: #ffffff;
  5775. }
  5776. .panel-primary > .panel-footer + .panel-collapse > .panel-body {
  5777. border-bottom-color: #337ab7;
  5778. }
  5779. .panel-success {
  5780. border-color: #d6e9c6;
  5781. }
  5782. .panel-success > .panel-heading {
  5783. color: #3c763d;
  5784. background-color: #dff0d8;
  5785. border-color: #d6e9c6;
  5786. }
  5787. .panel-success > .panel-heading + .panel-collapse > .panel-body {
  5788. border-top-color: #d6e9c6;
  5789. }
  5790. .panel-success > .panel-heading .badge {
  5791. color: #dff0d8;
  5792. background-color: #3c763d;
  5793. }
  5794. .panel-success > .panel-footer + .panel-collapse > .panel-body {
  5795. border-bottom-color: #d6e9c6;
  5796. }
  5797. .panel-info {
  5798. border-color: #bce8f1;
  5799. }
  5800. .panel-info > .panel-heading {
  5801. color: #31708f;
  5802. background-color: #d9edf7;
  5803. border-color: #bce8f1;
  5804. }
  5805. .panel-info > .panel-heading + .panel-collapse > .panel-body {
  5806. border-top-color: #bce8f1;
  5807. }
  5808. .panel-info > .panel-heading .badge {
  5809. color: #d9edf7;
  5810. background-color: #31708f;
  5811. }
  5812. .panel-info > .panel-footer + .panel-collapse > .panel-body {
  5813. border-bottom-color: #bce8f1;
  5814. }
  5815. .panel-warning {
  5816. border-color: #faebcc;
  5817. }
  5818. .panel-warning > .panel-heading {
  5819. color: #8a6d3b;
  5820. background-color: #fcf8e3;
  5821. border-color: #faebcc;
  5822. }
  5823. .panel-warning > .panel-heading + .panel-collapse > .panel-body {
  5824. border-top-color: #faebcc;
  5825. }
  5826. .panel-warning > .panel-heading .badge {
  5827. color: #fcf8e3;
  5828. background-color: #8a6d3b;
  5829. }
  5830. .panel-warning > .panel-footer + .panel-collapse > .panel-body {
  5831. border-bottom-color: #faebcc;
  5832. }
  5833. .panel-danger {
  5834. border-color: #ebccd1;
  5835. }
  5836. .panel-danger > .panel-heading {
  5837. color: #a94442;
  5838. background-color: #f2dede;
  5839. border-color: #ebccd1;
  5840. }
  5841. .panel-danger > .panel-heading + .panel-collapse > .panel-body {
  5842. border-top-color: #ebccd1;
  5843. }
  5844. .panel-danger > .panel-heading .badge {
  5845. color: #f2dede;
  5846. background-color: #a94442;
  5847. }
  5848. .panel-danger > .panel-footer + .panel-collapse > .panel-body {
  5849. border-bottom-color: #ebccd1;
  5850. }
  5851. .embed-responsive {
  5852. position: relative;
  5853. display: block;
  5854. height: 0;
  5855. padding: 0;
  5856. overflow: hidden;
  5857. }
  5858. .embed-responsive .embed-responsive-item,
  5859. .embed-responsive iframe,
  5860. .embed-responsive embed,
  5861. .embed-responsive object,
  5862. .embed-responsive video {
  5863. position: absolute;
  5864. top: 0;
  5865. left: 0;
  5866. bottom: 0;
  5867. height: 100%;
  5868. width: 100%;
  5869. border: 0;
  5870. }
  5871. .embed-responsive-16by9 {
  5872. padding-bottom: 56.25%;
  5873. }
  5874. .embed-responsive-4by3 {
  5875. padding-bottom: 75%;
  5876. }
  5877. .well {
  5878. min-height: 20px;
  5879. padding: 19px;
  5880. margin-bottom: 20px;
  5881. background-color: #f5f5f5;
  5882. border: 1px solid #e3e3e3;
  5883. border-radius: 4px;
  5884. -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  5885. box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  5886. }
  5887. .well blockquote {
  5888. border-color: #ddd;
  5889. border-color: rgba(0, 0, 0, 0.15);
  5890. }
  5891. .well-lg {
  5892. padding: 24px;
  5893. border-radius: 6px;
  5894. }
  5895. .well-sm {
  5896. padding: 9px;
  5897. border-radius: 3px;
  5898. }
  5899. .close {
  5900. float: right;
  5901. font-size: 21px;
  5902. font-weight: bold;
  5903. line-height: 1;
  5904. color: #000000;
  5905. text-shadow: 0 1px 0 #ffffff;
  5906. opacity: 0.2;
  5907. filter: alpha(opacity=20);
  5908. }
  5909. .close:hover,
  5910. .close:focus {
  5911. color: #000000;
  5912. text-decoration: none;
  5913. cursor: pointer;
  5914. opacity: 0.5;
  5915. filter: alpha(opacity=50);
  5916. }
  5917. button.close {
  5918. padding: 0;
  5919. cursor: pointer;
  5920. background: transparent;
  5921. border: 0;
  5922. -webkit-appearance: none;
  5923. }
  5924. .modal-open {
  5925. overflow: hidden;
  5926. }
  5927. .modal {
  5928. display: none;
  5929. overflow: hidden;
  5930. position: fixed;
  5931. top: 0;
  5932. right: 0;
  5933. bottom: 0;
  5934. left: 0;
  5935. z-index: 1050;
  5936. -webkit-overflow-scrolling: touch;
  5937. outline: 0;
  5938. }
  5939. .modal.fade .modal-dialog {
  5940. -webkit-transform: translate(0, -25%);
  5941. -ms-transform: translate(0, -25%);
  5942. -o-transform: translate(0, -25%);
  5943. transform: translate(0, -25%);
  5944. -webkit-transition: -webkit-transform 0.3s ease-out;
  5945. -o-transition: -o-transform 0.3s ease-out;
  5946. transition: transform 0.3s ease-out;
  5947. }
  5948. .modal.in .modal-dialog {
  5949. -webkit-transform: translate(0, 0);
  5950. -ms-transform: translate(0, 0);
  5951. -o-transform: translate(0, 0);
  5952. transform: translate(0, 0);
  5953. }
  5954. .modal-open .modal {
  5955. overflow-x: hidden;
  5956. overflow-y: auto;
  5957. }
  5958. .modal-dialog {
  5959. position: relative;
  5960. width: auto;
  5961. margin: 10px;
  5962. }
  5963. .modal-content {
  5964. position: relative;
  5965. background-color: #ffffff;
  5966. border: 1px solid #999999;
  5967. border: 1px solid rgba(0, 0, 0, 0.2);
  5968. border-radius: 6px;
  5969. -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  5970. box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  5971. -webkit-background-clip: padding-box;
  5972. background-clip: padding-box;
  5973. outline: 0;
  5974. }
  5975. .modal-backdrop {
  5976. position: fixed;
  5977. top: 0;
  5978. right: 0;
  5979. bottom: 0;
  5980. left: 0;
  5981. z-index: 1040;
  5982. background-color: #000000;
  5983. }
  5984. .modal-backdrop.fade {
  5985. opacity: 0;
  5986. filter: alpha(opacity=0);
  5987. }
  5988. .modal-backdrop.in {
  5989. opacity: 0.5;
  5990. filter: alpha(opacity=50);
  5991. }
  5992. .modal-header {
  5993. padding: 15px;
  5994. border-bottom: 1px solid #e5e5e5;
  5995. min-height: 16.42857143px;
  5996. }
  5997. .modal-header .close {
  5998. margin-top: -2px;
  5999. }
  6000. .modal-title {
  6001. margin: 0;
  6002. line-height: 1.42857143;
  6003. }
  6004. .modal-body {
  6005. position: relative;
  6006. padding: 15px;
  6007. }
  6008. .modal-footer {
  6009. padding: 15px;
  6010. text-align: right;
  6011. border-top: 1px solid #e5e5e5;
  6012. }
  6013. .modal-footer .btn + .btn {
  6014. margin-left: 5px;
  6015. margin-bottom: 0;
  6016. }
  6017. .modal-footer .btn-group .btn + .btn {
  6018. margin-left: -1px;
  6019. }
  6020. .modal-footer .btn-block + .btn-block {
  6021. margin-left: 0;
  6022. }
  6023. .modal-scrollbar-measure {
  6024. position: absolute;
  6025. top: -9999px;
  6026. width: 50px;
  6027. height: 50px;
  6028. overflow: scroll;
  6029. }
  6030. @media (min-width: 768px) {
  6031. .modal-dialog {
  6032. width: 600px;
  6033. margin: 30px auto;
  6034. }
  6035. .modal-content {
  6036. -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  6037. box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  6038. }
  6039. .modal-sm {
  6040. width: 300px;
  6041. }
  6042. }
  6043. @media (min-width: 992px) {
  6044. .modal-lg {
  6045. width: 900px;
  6046. }
  6047. }
  6048. .tooltip {
  6049. position: absolute;
  6050. z-index: 1070;
  6051. display: block;
  6052. font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  6053. font-style: normal;
  6054. font-weight: normal;
  6055. letter-spacing: normal;
  6056. line-break: auto;
  6057. line-height: 1.42857143;
  6058. text-align: left;
  6059. text-align: start;
  6060. text-decoration: none;
  6061. text-shadow: none;
  6062. text-transform: none;
  6063. white-space: normal;
  6064. word-break: normal;
  6065. word-spacing: normal;
  6066. word-wrap: normal;
  6067. font-size: 12px;
  6068. opacity: 0;
  6069. filter: alpha(opacity=0);
  6070. }
  6071. .tooltip.in {
  6072. opacity: 0.9;
  6073. filter: alpha(opacity=90);
  6074. }
  6075. .tooltip.top {
  6076. margin-top: -3px;
  6077. padding: 5px 0;
  6078. }
  6079. .tooltip.right {
  6080. margin-left: 3px;
  6081. padding: 0 5px;
  6082. }
  6083. .tooltip.bottom {
  6084. margin-top: 3px;
  6085. padding: 5px 0;
  6086. }
  6087. .tooltip.left {
  6088. margin-left: -3px;
  6089. padding: 0 5px;
  6090. }
  6091. .tooltip-inner {
  6092. max-width: 200px;
  6093. padding: 3px 8px;
  6094. color: #ffffff;
  6095. text-align: center;
  6096. background-color: #000000;
  6097. border-radius: 4px;
  6098. }
  6099. .tooltip-arrow {
  6100. position: absolute;
  6101. width: 0;
  6102. height: 0;
  6103. border-color: transparent;
  6104. border-style: solid;
  6105. }
  6106. .tooltip.top .tooltip-arrow {
  6107. bottom: 0;
  6108. left: 50%;
  6109. margin-left: -5px;
  6110. border-width: 5px 5px 0;
  6111. border-top-color: #000000;
  6112. }
  6113. .tooltip.top-left .tooltip-arrow {
  6114. bottom: 0;
  6115. right: 5px;
  6116. margin-bottom: -5px;
  6117. border-width: 5px 5px 0;
  6118. border-top-color: #000000;
  6119. }
  6120. .tooltip.top-right .tooltip-arrow {
  6121. bottom: 0;
  6122. left: 5px;
  6123. margin-bottom: -5px;
  6124. border-width: 5px 5px 0;
  6125. border-top-color: #000000;
  6126. }
  6127. .tooltip.right .tooltip-arrow {
  6128. top: 50%;
  6129. left: 0;
  6130. margin-top: -5px;
  6131. border-width: 5px 5px 5px 0;
  6132. border-right-color: #000000;
  6133. }
  6134. .tooltip.left .tooltip-arrow {
  6135. top: 50%;
  6136. right: 0;
  6137. margin-top: -5px;
  6138. border-width: 5px 0 5px 5px;
  6139. border-left-color: #000000;
  6140. }
  6141. .tooltip.bottom .tooltip-arrow {
  6142. top: 0;
  6143. left: 50%;
  6144. margin-left: -5px;
  6145. border-width: 0 5px 5px;
  6146. border-bottom-color: #000000;
  6147. }
  6148. .tooltip.bottom-left .tooltip-arrow {
  6149. top: 0;
  6150. right: 5px;
  6151. margin-top: -5px;
  6152. border-width: 0 5px 5px;
  6153. border-bottom-color: #000000;
  6154. }
  6155. .tooltip.bottom-right .tooltip-arrow {
  6156. top: 0;
  6157. left: 5px;
  6158. margin-top: -5px;
  6159. border-width: 0 5px 5px;
  6160. border-bottom-color: #000000;
  6161. }
  6162. .popover {
  6163. position: absolute;
  6164. top: 0;
  6165. left: 0;
  6166. z-index: 1060;
  6167. display: none;
  6168. max-width: 276px;
  6169. padding: 1px;
  6170. font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  6171. font-style: normal;
  6172. font-weight: normal;
  6173. letter-spacing: normal;
  6174. line-break: auto;
  6175. line-height: 1.42857143;
  6176. text-align: left;
  6177. text-align: start;
  6178. text-decoration: none;
  6179. text-shadow: none;
  6180. text-transform: none;
  6181. white-space: normal;
  6182. word-break: normal;
  6183. word-spacing: normal;
  6184. word-wrap: normal;
  6185. font-size: 14px;
  6186. background-color: #ffffff;
  6187. -webkit-background-clip: padding-box;
  6188. background-clip: padding-box;
  6189. border: 1px solid #cccccc;
  6190. border: 1px solid rgba(0, 0, 0, 0.2);
  6191. border-radius: 6px;
  6192. -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  6193. box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  6194. }
  6195. .popover.top {
  6196. margin-top: -10px;
  6197. }
  6198. .popover.right {
  6199. margin-left: 10px;
  6200. }
  6201. .popover.bottom {
  6202. margin-top: 10px;
  6203. }
  6204. .popover.left {
  6205. margin-left: -10px;
  6206. }
  6207. .popover-title {
  6208. margin: 0;
  6209. padding: 8px 14px;
  6210. font-size: 14px;
  6211. background-color: #f7f7f7;
  6212. border-bottom: 1px solid #ebebeb;
  6213. border-radius: 5px 5px 0 0;
  6214. }
  6215. .popover-content {
  6216. padding: 9px 14px;
  6217. }
  6218. .popover > .arrow,
  6219. .popover > .arrow:after {
  6220. position: absolute;
  6221. display: block;
  6222. width: 0;
  6223. height: 0;
  6224. border-color: transparent;
  6225. border-style: solid;
  6226. }
  6227. .popover > .arrow {
  6228. border-width: 11px;
  6229. }
  6230. .popover > .arrow:after {
  6231. border-width: 10px;
  6232. content: "";
  6233. }
  6234. .popover.top > .arrow {
  6235. left: 50%;
  6236. margin-left: -11px;
  6237. border-bottom-width: 0;
  6238. border-top-color: #999999;
  6239. border-top-color: rgba(0, 0, 0, 0.25);
  6240. bottom: -11px;
  6241. }
  6242. .popover.top > .arrow:after {
  6243. content: " ";
  6244. bottom: 1px;
  6245. margin-left: -10px;
  6246. border-bottom-width: 0;
  6247. border-top-color: #ffffff;
  6248. }
  6249. .popover.right > .arrow {
  6250. top: 50%;
  6251. left: -11px;
  6252. margin-top: -11px;
  6253. border-left-width: 0;
  6254. border-right-color: #999999;
  6255. border-right-color: rgba(0, 0, 0, 0.25);
  6256. }
  6257. .popover.right > .arrow:after {
  6258. content: " ";
  6259. left: 1px;
  6260. bottom: -10px;
  6261. border-left-width: 0;
  6262. border-right-color: #ffffff;
  6263. }
  6264. .popover.bottom > .arrow {
  6265. left: 50%;
  6266. margin-left: -11px;
  6267. border-top-width: 0;
  6268. border-bottom-color: #999999;
  6269. border-bottom-color: rgba(0, 0, 0, 0.25);
  6270. top: -11px;
  6271. }
  6272. .popover.bottom > .arrow:after {
  6273. content: " ";
  6274. top: 1px;
  6275. margin-left: -10px;
  6276. border-top-width: 0;
  6277. border-bottom-color: #ffffff;
  6278. }
  6279. .popover.left > .arrow {
  6280. top: 50%;
  6281. right: -11px;
  6282. margin-top: -11px;
  6283. border-right-width: 0;
  6284. border-left-color: #999999;
  6285. border-left-color: rgba(0, 0, 0, 0.25);
  6286. }
  6287. .popover.left > .arrow:after {
  6288. content: " ";
  6289. right: 1px;
  6290. border-right-width: 0;
  6291. border-left-color: #ffffff;
  6292. bottom: -10px;
  6293. }
  6294. .carousel {
  6295. position: relative;
  6296. }
  6297. .carousel-inner {
  6298. position: relative;
  6299. overflow: hidden;
  6300. width: 100%;
  6301. }
  6302. .carousel-inner > .item {
  6303. display: none;
  6304. position: relative;
  6305. -webkit-transition: 0.6s ease-in-out left;
  6306. -o-transition: 0.6s ease-in-out left;
  6307. transition: 0.6s ease-in-out left;
  6308. }
  6309. .carousel-inner > .item > img,
  6310. .carousel-inner > .item > a > img {
  6311. line-height: 1;
  6312. }
  6313. @media all and (transform-3d), (-webkit-transform-3d) {
  6314. .carousel-inner > .item {
  6315. -webkit-transition: -webkit-transform 0.6s ease-in-out;
  6316. -o-transition: -o-transform 0.6s ease-in-out;
  6317. transition: transform 0.6s ease-in-out;
  6318. -webkit-backface-visibility: hidden;
  6319. backface-visibility: hidden;
  6320. -webkit-perspective: 1000px;
  6321. perspective: 1000px;
  6322. }
  6323. .carousel-inner > .item.next,
  6324. .carousel-inner > .item.active.right {
  6325. -webkit-transform: translate3d(100%, 0, 0);
  6326. transform: translate3d(100%, 0, 0);
  6327. left: 0;
  6328. }
  6329. .carousel-inner > .item.prev,
  6330. .carousel-inner > .item.active.left {
  6331. -webkit-transform: translate3d(-100%, 0, 0);
  6332. transform: translate3d(-100%, 0, 0);
  6333. left: 0;
  6334. }
  6335. .carousel-inner > .item.next.left,
  6336. .carousel-inner > .item.prev.right,
  6337. .carousel-inner > .item.active {
  6338. -webkit-transform: translate3d(0, 0, 0);
  6339. transform: translate3d(0, 0, 0);
  6340. left: 0;
  6341. }
  6342. }
  6343. .carousel-inner > .active,
  6344. .carousel-inner > .next,
  6345. .carousel-inner > .prev {
  6346. display: block;
  6347. }
  6348. .carousel-inner > .active {
  6349. left: 0;
  6350. }
  6351. .carousel-inner > .next,
  6352. .carousel-inner > .prev {
  6353. position: absolute;
  6354. top: 0;
  6355. width: 100%;
  6356. }
  6357. .carousel-inner > .next {
  6358. left: 100%;
  6359. }
  6360. .carousel-inner > .prev {
  6361. left: -100%;
  6362. }
  6363. .carousel-inner > .next.left,
  6364. .carousel-inner > .prev.right {
  6365. left: 0;
  6366. }
  6367. .carousel-inner > .active.left {
  6368. left: -100%;
  6369. }
  6370. .carousel-inner > .active.right {
  6371. left: 100%;
  6372. }
  6373. .carousel-control {
  6374. position: absolute;
  6375. top: 0;
  6376. left: 0;
  6377. bottom: 0;
  6378. width: 15%;
  6379. opacity: 0.5;
  6380. filter: alpha(opacity=50);
  6381. font-size: 20px;
  6382. color: #ffffff;
  6383. text-align: center;
  6384. text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  6385. }
  6386. .carousel-control.left {
  6387. background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  6388. background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  6389. background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));
  6390. background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  6391. background-repeat: repeat-x;
  6392. filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
  6393. }
  6394. .carousel-control.right {
  6395. left: auto;
  6396. right: 0;
  6397. background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  6398. background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  6399. background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));
  6400. background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  6401. background-repeat: repeat-x;
  6402. filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
  6403. }
  6404. .carousel-control:hover,
  6405. .carousel-control:focus {
  6406. outline: 0;
  6407. color: #ffffff;
  6408. text-decoration: none;
  6409. opacity: 0.9;
  6410. filter: alpha(opacity=90);
  6411. }
  6412. .carousel-control .icon-prev,
  6413. .carousel-control .icon-next,
  6414. .carousel-control .glyphicon-chevron-left,
  6415. .carousel-control .glyphicon-chevron-right {
  6416. position: absolute;
  6417. top: 50%;
  6418. margin-top: -10px;
  6419. z-index: 5;
  6420. display: inline-block;
  6421. }
  6422. .carousel-control .icon-prev,
  6423. .carousel-control .glyphicon-chevron-left {
  6424. left: 50%;
  6425. margin-left: -10px;
  6426. }
  6427. .carousel-control .icon-next,
  6428. .carousel-control .glyphicon-chevron-right {
  6429. right: 50%;
  6430. margin-right: -10px;
  6431. }
  6432. .carousel-control .icon-prev,
  6433. .carousel-control .icon-next {
  6434. width: 20px;
  6435. height: 20px;
  6436. line-height: 1;
  6437. font-family: serif;
  6438. }
  6439. .carousel-control .icon-prev:before {
  6440. content: '\2039';
  6441. }
  6442. .carousel-control .icon-next:before {
  6443. content: '\203a';
  6444. }
  6445. .carousel-indicators {
  6446. position: absolute;
  6447. bottom: 10px;
  6448. left: 50%;
  6449. z-index: 15;
  6450. width: 60%;
  6451. margin-left: -30%;
  6452. padding-left: 0;
  6453. list-style: none;
  6454. text-align: center;
  6455. }
  6456. .carousel-indicators li {
  6457. display: inline-block;
  6458. width: 10px;
  6459. height: 10px;
  6460. margin: 1px;
  6461. text-indent: -999px;
  6462. border: 1px solid #ffffff;
  6463. border-radius: 10px;
  6464. cursor: pointer;
  6465. background-color: #000 \9;
  6466. background-color: rgba(0, 0, 0, 0);
  6467. }
  6468. .carousel-indicators .active {
  6469. margin: 0;
  6470. width: 12px;
  6471. height: 12px;
  6472. background-color: #ffffff;
  6473. }
  6474. .carousel-caption {
  6475. position: absolute;
  6476. left: 15%;
  6477. right: 15%;
  6478. bottom: 20px;
  6479. z-index: 10;
  6480. padding-top: 20px;
  6481. padding-bottom: 20px;
  6482. color: #ffffff;
  6483. text-align: center;
  6484. text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  6485. }
  6486. .carousel-caption .btn {
  6487. text-shadow: none;
  6488. }
  6489. @media screen and (min-width: 768px) {
  6490. .carousel-control .glyphicon-chevron-left,
  6491. .carousel-control .glyphicon-chevron-right,
  6492. .carousel-control .icon-prev,
  6493. .carousel-control .icon-next {
  6494. width: 30px;
  6495. height: 30px;
  6496. margin-top: -15px;
  6497. font-size: 30px;
  6498. }
  6499. .carousel-control .glyphicon-chevron-left,
  6500. .carousel-control .icon-prev {
  6501. margin-left: -15px;
  6502. }
  6503. .carousel-control .glyphicon-chevron-right,
  6504. .carousel-control .icon-next {
  6505. margin-right: -15px;
  6506. }
  6507. .carousel-caption {
  6508. left: 20%;
  6509. right: 20%;
  6510. padding-bottom: 30px;
  6511. }
  6512. .carousel-indicators {
  6513. bottom: 20px;
  6514. }
  6515. }
  6516. .clearfix:before,
  6517. .clearfix:after,
  6518. .dl-horizontal dd:before,
  6519. .dl-horizontal dd:after,
  6520. .container:before,
  6521. .container:after,
  6522. .container-fluid:before,
  6523. .container-fluid:after,
  6524. .row:before,
  6525. .row:after,
  6526. .form-horizontal .form-group:before,
  6527. .form-horizontal .form-group:after,
  6528. .btn-toolbar:before,
  6529. .btn-toolbar:after,
  6530. .btn-group-vertical > .btn-group:before,
  6531. .btn-group-vertical > .btn-group:after,
  6532. .nav:before,
  6533. .nav:after,
  6534. .navbar:before,
  6535. .navbar:after,
  6536. .navbar-header:before,
  6537. .navbar-header:after,
  6538. .navbar-collapse:before,
  6539. .navbar-collapse:after,
  6540. .pager:before,
  6541. .pager:after,
  6542. .panel-body:before,
  6543. .panel-body:after,
  6544. .modal-footer:before,
  6545. .modal-footer:after {
  6546. content: " ";
  6547. display: table;
  6548. }
  6549. .clearfix:after,
  6550. .dl-horizontal dd:after,
  6551. .container:after,
  6552. .container-fluid:after,
  6553. .row:after,
  6554. .form-horizontal .form-group:after,
  6555. .btn-toolbar:after,
  6556. .btn-group-vertical > .btn-group:after,
  6557. .nav:after,
  6558. .navbar:after,
  6559. .navbar-header:after,
  6560. .navbar-collapse:after,
  6561. .pager:after,
  6562. .panel-body:after,
  6563. .modal-footer:after {
  6564. clear: both;
  6565. }
  6566. .center-block {
  6567. display: block;
  6568. margin-left: auto;
  6569. margin-right: auto;
  6570. }
  6571. .pull-right {
  6572. float: right !important;
  6573. }
  6574. .pull-left {
  6575. float: left !important;
  6576. }
  6577. .hide {
  6578. display: none !important;
  6579. }
  6580. .show {
  6581. display: block !important;
  6582. }
  6583. .invisible {
  6584. visibility: hidden;
  6585. }
  6586. .text-hide {
  6587. font: 0/0 a;
  6588. color: transparent;
  6589. text-shadow: none;
  6590. background-color: transparent;
  6591. border: 0;
  6592. }
  6593. .hidden {
  6594. display: none !important;
  6595. }
  6596. .affix {
  6597. position: fixed;
  6598. }
  6599. @-ms-viewport {
  6600. width: device-width;
  6601. }
  6602. .visible-xs,
  6603. .visible-sm,
  6604. .visible-md,
  6605. .visible-lg {
  6606. display: none !important;
  6607. }
  6608. .visible-xs-block,
  6609. .visible-xs-inline,
  6610. .visible-xs-inline-block,
  6611. .visible-sm-block,
  6612. .visible-sm-inline,
  6613. .visible-sm-inline-block,
  6614. .visible-md-block,
  6615. .visible-md-inline,
  6616. .visible-md-inline-block,
  6617. .visible-lg-block,
  6618. .visible-lg-inline,
  6619. .visible-lg-inline-block {
  6620. display: none !important;
  6621. }
  6622. @media (max-width: 767px) {
  6623. .visible-xs {
  6624. display: block !important;
  6625. }
  6626. table.visible-xs {
  6627. display: table !important;
  6628. }
  6629. tr.visible-xs {
  6630. display: table-row !important;
  6631. }
  6632. th.visible-xs,
  6633. td.visible-xs {
  6634. display: table-cell !important;
  6635. }
  6636. }
  6637. @media (max-width: 767px) {
  6638. .visible-xs-block {
  6639. display: block !important;
  6640. }
  6641. }
  6642. @media (max-width: 767px) {
  6643. .visible-xs-inline {
  6644. display: inline !important;
  6645. }
  6646. }
  6647. @media (max-width: 767px) {
  6648. .visible-xs-inline-block {
  6649. display: inline-block !important;
  6650. }
  6651. }
  6652. @media (min-width: 768px) and (max-width: 991px) {
  6653. .visible-sm {
  6654. display: block !important;
  6655. }
  6656. table.visible-sm {
  6657. display: table !important;
  6658. }
  6659. tr.visible-sm {
  6660. display: table-row !important;
  6661. }
  6662. th.visible-sm,
  6663. td.visible-sm {
  6664. display: table-cell !important;
  6665. }
  6666. }
  6667. @media (min-width: 768px) and (max-width: 991px) {
  6668. .visible-sm-block {
  6669. display: block !important;
  6670. }
  6671. }
  6672. @media (min-width: 768px) and (max-width: 991px) {
  6673. .visible-sm-inline {
  6674. display: inline !important;
  6675. }
  6676. }
  6677. @media (min-width: 768px) and (max-width: 991px) {
  6678. .visible-sm-inline-block {
  6679. display: inline-block !important;
  6680. }
  6681. }
  6682. @media (min-width: 992px) and (max-width: 1199px) {
  6683. .visible-md {
  6684. display: block !important;
  6685. }
  6686. table.visible-md {
  6687. display: table !important;
  6688. }
  6689. tr.visible-md {
  6690. display: table-row !important;
  6691. }
  6692. th.visible-md,
  6693. td.visible-md {
  6694. display: table-cell !important;
  6695. }
  6696. }
  6697. @media (min-width: 992px) and (max-width: 1199px) {
  6698. .visible-md-block {
  6699. display: block !important;
  6700. }
  6701. }
  6702. @media (min-width: 992px) and (max-width: 1199px) {
  6703. .visible-md-inline {
  6704. display: inline !important;
  6705. }
  6706. }
  6707. @media (min-width: 992px) and (max-width: 1199px) {
  6708. .visible-md-inline-block {
  6709. display: inline-block !important;
  6710. }
  6711. }
  6712. @media (min-width: 1200px) {
  6713. .visible-lg {
  6714. display: block !important;
  6715. }
  6716. table.visible-lg {
  6717. display: table !important;
  6718. }
  6719. tr.visible-lg {
  6720. display: table-row !important;
  6721. }
  6722. th.visible-lg,
  6723. td.visible-lg {
  6724. display: table-cell !important;
  6725. }
  6726. }
  6727. @media (min-width: 1200px) {
  6728. .visible-lg-block {
  6729. display: block !important;
  6730. }
  6731. }
  6732. @media (min-width: 1200px) {
  6733. .visible-lg-inline {
  6734. display: inline !important;
  6735. }
  6736. }
  6737. @media (min-width: 1200px) {
  6738. .visible-lg-inline-block {
  6739. display: inline-block !important;
  6740. }
  6741. }
  6742. @media (max-width: 767px) {
  6743. .hidden-xs {
  6744. display: none !important;
  6745. }
  6746. }
  6747. @media (min-width: 768px) and (max-width: 991px) {
  6748. .hidden-sm {
  6749. display: none !important;
  6750. }
  6751. }
  6752. @media (min-width: 992px) and (max-width: 1199px) {
  6753. .hidden-md {
  6754. display: none !important;
  6755. }
  6756. }
  6757. @media (min-width: 1200px) {
  6758. .hidden-lg {
  6759. display: none !important;
  6760. }
  6761. }
  6762. .visible-print {
  6763. display: none !important;
  6764. }
  6765. @media print {
  6766. .visible-print {
  6767. display: block !important;
  6768. }
  6769. table.visible-print {
  6770. display: table !important;
  6771. }
  6772. tr.visible-print {
  6773. display: table-row !important;
  6774. }
  6775. th.visible-print,
  6776. td.visible-print {
  6777. display: table-cell !important;
  6778. }
  6779. }
  6780. .visible-print-block {
  6781. display: none !important;
  6782. }
  6783. @media print {
  6784. .visible-print-block {
  6785. display: block !important;
  6786. }
  6787. }
  6788. .visible-print-inline {
  6789. display: none !important;
  6790. }
  6791. @media print {
  6792. .visible-print-inline {
  6793. display: inline !important;
  6794. }
  6795. }
  6796. .visible-print-inline-block {
  6797. display: none !important;
  6798. }
  6799. @media print {
  6800. .visible-print-inline-block {
  6801. display: inline-block !important;
  6802. }
  6803. }
  6804. @media print {
  6805. .hidden-print {
  6806. display: none !important;
  6807. }
  6808. }
  6809. </style>
  6810. <style>.com { color: #93a1a1; }
  6811. .lit { color: #195f91; }
  6812. .pun, .opn, .clo { color: #93a1a1; }
  6813. .fun { color: #dc322f; }
  6814. .str, .atv { color: #D14; }
  6815. .kwd, .prettyprint .tag { color: #1e347b; }
  6816. .typ, .atn, .dec, .var { color: teal; }
  6817. .pln { color: #48484c; }
  6818. .prettyprint {
  6819. padding: 8px;
  6820. background-color: #f7f7f9;
  6821. border: 1px solid #e1e1e8;
  6822. }
  6823. .prettyprint.linenums {
  6824. -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
  6825. -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
  6826. box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
  6827. }
  6828. /* Specify class=linenums on a pre to get line numbering */
  6829. ol.linenums {
  6830. margin: 0 0 0 33px; /* IE indents via margin-left */
  6831. }
  6832. ol.linenums li {
  6833. padding-left: 12px;
  6834. color: #bebec5;
  6835. line-height: 20px;
  6836. text-shadow: 0 1px 0 #fff;
  6837. }
  6838. .str { color:#181; font-style:italic }
  6839. .kwd { color:#369 }
  6840. .com { color:#666 }
  6841. .typ { color:#c40 }
  6842. .lit { color:#900 }
  6843. .pun { color:#000; font-weight:bold }
  6844. .pln { color:#333 }
  6845. .tag { color:#369; font-weight:bold }
  6846. .atn { color:#939; font-weight:bold }
  6847. .atv { color:#181 }
  6848. .dec { color:#606 }
  6849. .com{ color: #A62A00; }
  6850. .typ{ color: #0A67A3; }
  6851. .kwd{ color: #3B0470; }</style>
  6852. <style>nav.sidebar {
  6853. width: 300px;
  6854. margin-top: 75px;
  6855. box-shadow: inset 2px 0px 0px 0px #CCC;
  6856. flex-grow: 0;
  6857. flex-shrink: 0;
  6858. }
  6859. nav.sidebar #searchfield {
  6860. width: 100%;
  6861. background-color: #f5f5f5;
  6862. border-radius: 4px;
  6863. }
  6864. nav.sidebar .sidebar-package-header {
  6865. padding-left: 18px;
  6866. padding-bottom: 5px;
  6867. padding-top: 10px;
  6868. position: relative;
  6869. vertical-align: baseline;
  6870. }
  6871. nav.sidebar .sidebar-brand {
  6872. font-size: 14pt;
  6873. font-family: bitter;
  6874. color: #333;
  6875. }
  6876. nav.sidebar .sidebar-brand:hover {
  6877. text-decoration: none;
  6878. color: #000;
  6879. }
  6880. nav.sidebar .package-version {
  6881. font-family: bitter;
  6882. margin-left: 8px;
  6883. right: 10px;
  6884. position: absolute;
  6885. padding-right: 10px;
  6886. }
  6887. nav.navbar .package-version {
  6888. display: inline-block;
  6889. padding-top: 15px;
  6890. font-size: 18px;
  6891. line-height: 20px;
  6892. color: #777;
  6893. }
  6894. .wrapper {
  6895. display: flex;
  6896. align-items: start;
  6897. }
  6898. .sidenav-l0 {
  6899. padding-left: 0px;
  6900. font-weight: bold;
  6901. line-height: 1.5;
  6902. margin-bottom: 0px;
  6903. }
  6904. .sidenav-l0 li {
  6905. position: relative;
  6906. display: block;
  6907. list-style: none;
  6908. }
  6909. .sidenav-l0 a {
  6910. position: relative;
  6911. display: block;
  6912. padding-left: 10px;
  6913. padding-top: 0px;
  6914. padding-bottom: 5px;
  6915. }
  6916. .sidenav-l0 a:hover, .sidenav-l0 a:focus {
  6917. text-decoration: none;
  6918. }
  6919. .sidenav-l0 li > a:hover, .sidenav-l0 li.active > a {
  6920. padding-left: 8px;
  6921. border-width: 0px 0px 0px 2px;
  6922. border-color: #000000;
  6923. border-style: solid;
  6924. background-color: transparent;
  6925. }
  6926. .sidenav-l0 li.active > a {
  6927. font-weight: bold;
  6928. }
  6929. li p {
  6930. margin-bottom: 0px;
  6931. }
  6932. .sidenav-l1 {
  6933. font-weight: normal;
  6934. padding-left: 0px;
  6935. }
  6936. .sidenav-l1 li > a {
  6937. padding-left: 30px;
  6938. }
  6939. .sidenav-l1 li > a:hover, .sidenav-l1 li.active > a {
  6940. padding-left: 28px;
  6941. }
  6942. .sidenav-l2 {
  6943. font-weight: normal;
  6944. padding-left: 0px;
  6945. }
  6946. .sidenav-l2 li > a {
  6947. padding-left: 40px;
  6948. }
  6949. .sidenav-l2 li > a:hover, .sidenav-l2 li.active > a {
  6950. padding-left: 38px;
  6951. }
  6952. .sidenav-l3 {
  6953. font-weight: normal;
  6954. padding-left: 0px;
  6955. }
  6956. .sidenav-l3 li > a {
  6957. padding-left: 50px;
  6958. }
  6959. .sidenav-l3 li > a:hover, .sidenav-l3 li.active > a {
  6960. padding-left: 48px;
  6961. }
  6962. .sidenav-l4 {
  6963. font-weight: normal;
  6964. padding-left: 0px;
  6965. }
  6966. .sidenav-l4 li > a {
  6967. padding-left: 60px;
  6968. }
  6969. .sidenav-l4 li > a:hover, .sidenav-l4 li.active > a {
  6970. padding-left: 58px;
  6971. }
  6972. .arrow-down {
  6973. width: 0;
  6974. height: 0;
  6975. border-left: 4px solid transparent;
  6976. border-right: 4px solid transparent;
  6977. border-top: 4px solid #333;
  6978. margin-right: 4px;
  6979. display: inline-block;
  6980. }
  6981. .arrow-none {
  6982. width: 0;
  6983. height: 0;
  6984. margin-right: 12px;
  6985. display: inline-block;
  6986. }
  6987. .arrow-right {
  6988. width: 0;
  6989. height: 0;
  6990. border-top: 4px solid transparent;
  6991. border-bottom: 4px solid transparent;
  6992. border-left: 4px solid #333;
  6993. margin-right: 8px;
  6994. display: inline-block;
  6995. }
  6996. .container {
  6997. margin-right: auto;
  6998. margin-left: auto;
  6999. padding-left: 15px;
  7000. padding-right: 15px;
  7001. padding-top: 25px;
  7002. }
  7003. /*@media (min-width: 768px) {
  7004. .container {
  7005. width: 750px;
  7006. }
  7007. }
  7008. @media (min-width: 992px) {
  7009. .container {
  7010. width: 970px;
  7011. }
  7012. }
  7013. @media (min-width: 1200px) {
  7014. .container {
  7015. width: 1170px;
  7016. }
  7017. }
  7018. @media (min-width: 1200px + 300px) {
  7019. .container {
  7020. width: 1170px + 300px;
  7021. }
  7022. }*/
  7023. body {
  7024. font-family: "Source Sans Pro", sans-serif;
  7025. font-size: 15px;
  7026. }
  7027. h1, h2, h3, h4 {
  7028. font-family: "Bitter", serif;
  7029. }
  7030. span.file-location {
  7031. color: #BDBDBD;
  7032. }
  7033. .sidebar {
  7034. display: block;
  7035. font-size: 80%;
  7036. line-height: 50%;
  7037. }
  7038. .memberdef {
  7039. position: relative;
  7040. border-width: 2px;
  7041. border-style: solid;
  7042. border-width: 2px;
  7043. border-color: black;
  7044. box-shadow: 0px 2px 5px #CCC;
  7045. -webkit-border-radius: 5;
  7046. -moz-border-radius: 5;
  7047. border-radius: 5;
  7048. margin: 5px;
  7049. padding: 5px;
  7050. }
  7051. .memberdef h3 {
  7052. margin-top: 0px;
  7053. padding-top: 3px;
  7054. font-size: 20px;
  7055. line-height: normal;
  7056. }
  7057. table.compound-view tr {
  7058. margin: 4px;
  7059. }
  7060. table.compound-view tr td {
  7061. font-size: 11px;
  7062. }
  7063. table.compound-view tr a {
  7064. transition: background-color 0.1s;
  7065. -webkit-transition: background-color 0.1s;
  7066. display: block;
  7067. border-radius: 5px;
  7068. border-style: solid;
  7069. border-width: 1px;
  7070. border-color: #FFF;
  7071. height: 60px;
  7072. background-color: #EEE;
  7073. text-align: center;
  7074. padding: 5px;
  7075. color: #222;
  7076. }
  7077. table.compound-view tr a b {
  7078. color: #0D5484;
  7079. }
  7080. table.compound-view tr a:hover {
  7081. text-decoration: none;
  7082. background-color: #DDD;
  7083. }
  7084. video, .youtube-video {
  7085. border-radius: 3px;
  7086. margin: 5px;
  7087. margin-left: auto;
  7088. margin-right: auto;
  7089. max-width: 100%;
  7090. max-height: 800px;
  7091. display: block;
  7092. border: 1px solid #444;
  7093. }
  7094. img {
  7095. border-radius: 3px;
  7096. margin: 5px;
  7097. margin-left: auto;
  7098. margin-right: auto;
  7099. max-width: 100%;
  7100. max-height: 800px;
  7101. display: block;
  7102. border: 1px solid #444;
  7103. }
  7104. .borderless img {
  7105. border: none;
  7106. }
  7107. code {
  7108. display: block;
  7109. white-space: pre;
  7110. overflow: auto;
  7111. margin-top: 5px;
  7112. }
  7113. /** Needs a bit of resetting since it can turn out basically anywhere in the DOM */
  7114. .tooltip {
  7115. margin: 0px;
  7116. font-size: 11px;
  7117. font-weight: normal;
  7118. font-style: normal;
  7119. text-decoration: none;
  7120. line-height: normal;
  7121. white-space: normal;
  7122. font-family: Hevetica, Arial, Sans-serif;
  7123. text-shadow: none;
  7124. }
  7125. .tooltip p {
  7126. display: inline;
  7127. margin: 0px;
  7128. }
  7129. .label {
  7130. margin-right: 2px;
  7131. margin-left: 2px;
  7132. }
  7133. .empty-section {
  7134. font-size: 0.9em;
  7135. color: #BBB;
  7136. }
  7137. .compound-kind {
  7138. color: #888;
  7139. }
  7140. .simplesect {
  7141. border-style: solid;
  7142. border-width: 0px 0px 0px 4px;
  7143. padding-left: 5px;
  7144. margin-bottom: 5px;
  7145. }
  7146. .simplesect h3 {
  7147. font-size: 16px;
  7148. line-height: normal;
  7149. margin-top: 2px;
  7150. margin-bottom: 3px;
  7151. }
  7152. .simplesect > p {
  7153. margin-top: 0px;
  7154. margin-bottom: 0px;
  7155. margin-left: 14px;
  7156. }
  7157. .simplesect-return {
  7158. border-color: #505050;
  7159. }
  7160. .simplesect-author, .simplesect-authors {
  7161. border-color: #0BAA0B;
  7162. }
  7163. .simplesect-version {
  7164. border-color: #0BAA0B;
  7165. }
  7166. .simplesect-since {
  7167. border-color: #D48B0D;
  7168. }
  7169. .simplesect-date {
  7170. border-color: #505050;
  7171. }
  7172. .simplesect-note {
  7173. border-color: #15458C;
  7174. }
  7175. .simplesect-warning {
  7176. border-color: #D40D0D;
  7177. }
  7178. .simplesect-pre {
  7179. border-color: #505050;
  7180. }
  7181. .simplesect-post {
  7182. border-color: #505050;
  7183. }
  7184. .simplesect-copyright {
  7185. border-color: #505050;
  7186. }
  7187. .simplesect-invariant {
  7188. border-color: #505050;
  7189. }
  7190. .simplesect-remark {
  7191. border-color: #15458C;
  7192. }
  7193. .simplesect-attention {
  7194. border-color: #D48B0D;
  7195. }
  7196. .simplesect-par {
  7197. border-color: #505050;
  7198. }
  7199. .simplesect-rcs {
  7200. border-color: #505050;
  7201. }
  7202. .simplesect-see {
  7203. border-color: #0BAA0B;
  7204. }
  7205. .simplesect-deprecated {
  7206. border-color: #303030;
  7207. }
  7208. .member-list .member-brief {
  7209. font-family: monospace;
  7210. }
  7211. .member-list .member-brief .member-name {
  7212. color: #337ab7;
  7213. font-weight: bold;
  7214. }
  7215. .member-list .member-brief .member-paramlist {
  7216. color: #5b5b5b;
  7217. }
  7218. .member-list .member-desc p {
  7219. text-overflow: ellipsis;
  7220. white-space: nowrap;
  7221. overflow: hidden;
  7222. }
  7223. .member-prot {
  7224. white-space: nowrap;
  7225. }
  7226. .member-list-item-header {
  7227. padding-top: 5px;
  7228. padding-bottom: 1px;
  7229. cursor: pointer;
  7230. }
  7231. .member-list-item-header p {
  7232. margin-top: 0px;
  7233. margin-bottom: 0px;
  7234. }
  7235. .member-list-item-header:focus, .member-list-item-header:hover {
  7236. background-color: rgba(0, 0, 0, 0.05);
  7237. }
  7238. table.member-list-section td {
  7239. padding-top: 0.1em;
  7240. padding-bottom: 0.1em;
  7241. }
  7242. table.member-list-section .member-desc {
  7243. width: 100%;
  7244. }
  7245. table.member-list-section .member-desc, table.member-list-section .member-name, table.member-list-section .member-type {
  7246. font-size: 0.9em;
  7247. margin-bottom: 0px;
  7248. padding-bottom: 0px;
  7249. }
  7250. table.member-list-section a, table.member-list-section p, table.member-list-section span {
  7251. -webkit-margin-after: 0px;
  7252. line-height: 1.5em;
  7253. vertical-align: center;
  7254. }
  7255. .member-detailed {
  7256. background: #EEE;
  7257. border-bottom: 1px #AAA solid;
  7258. }
  7259. .member-detailed .member-name {
  7260. font-weight: bold;
  7261. }
  7262. @media print {
  7263. .member-detailed {
  7264. display: block;
  7265. }
  7266. }
  7267. .member-params-detail {
  7268. margin-left: 30px;
  7269. margin-top: 5px;
  7270. }
  7271. .member-params-detail td, .member-params-detail th {
  7272. padding-left: 8px;
  7273. padding-right: 8px;
  7274. padding-top: 2px;
  7275. padding-bottom: 2px;
  7276. vertical-align: top;
  7277. }
  7278. .member-params-detail td p, .member-params-detail th p {
  7279. margin: 0 0 5px;
  7280. }
  7281. .member-params-detail .param-name {
  7282. color: #000;
  7283. font-weight: bold;
  7284. }
  7285. .protection {
  7286. display: inline;
  7287. padding: 0.4em 0.6em 0em 0.6em;
  7288. margin-right: 0.2em;
  7289. font-size: 75%;
  7290. font-weight: bold;
  7291. line-height: 1;
  7292. color: #ffffff;
  7293. text-align: center;
  7294. white-space: nowrap;
  7295. vertical-align: baseline;
  7296. border-radius: 0.3em;
  7297. background-color: #fc20e6;
  7298. }
  7299. .member-side-prot {
  7300. margin: 5px 5px 5px 0px;
  7301. }
  7302. @media (min-width: 908px) {
  7303. .member-side-prot {
  7304. margin: 0px;
  7305. position: absolute;
  7306. left: -75px;
  7307. width: 70px;
  7308. text-align: right;
  7309. }
  7310. .member-side-prot span {
  7311. margin-bottom: 3px;
  7312. }
  7313. }
  7314. .member-top-prot {
  7315. position: absolute;
  7316. left: 0px;
  7317. top: 0px;
  7318. width: 100%;
  7319. height: 100%;
  7320. background: #EEE;
  7321. display: none;
  7322. padding: 5px 5px 5px 15px;
  7323. line-height: 50%;
  7324. border-top: 1px #AAA solid;
  7325. }
  7326. .member-top-prot .protection {
  7327. display: inline-block;
  7328. padding: 0.4em 0.6em 0.4em 0.6em;
  7329. }
  7330. .member-side-prot {
  7331. line-height: 50%;
  7332. }
  7333. .member-side-prot .protection {
  7334. display: inline-block;
  7335. padding: 0.4em 0.6em 0.4em 0.6em;
  7336. }
  7337. .deprecated {
  7338. text-decoration: line-through;
  7339. text-decoration-color: #555;
  7340. }
  7341. .protection-public {
  7342. background-color: #5cb85c;
  7343. }
  7344. .protection-private {
  7345. background-color: #666666;
  7346. }
  7347. .protection-protected {
  7348. background-color: #c1c1c1;
  7349. }
  7350. .protection-package {
  7351. background-color: #7f3b2c;
  7352. }
  7353. .protection-abstract {
  7354. background-color: #865add;
  7355. }
  7356. .protection-readonly {
  7357. background-color: #f0ad4e;
  7358. }
  7359. .protection-static {
  7360. background-color: #5bc0de;
  7361. }
  7362. a:focus {
  7363. outline: none;
  7364. }
  7365. .member-list {
  7366. list-style-type: none;
  7367. padding-left: 0px;
  7368. }
  7369. .member-list ul {
  7370. list-style-type: none;
  7371. padding-left: 0px;
  7372. }
  7373. .member-depth-1 {
  7374. padding-left: 32px;
  7375. }
  7376. .member-depth-2 {
  7377. padding-left: 52px;
  7378. }
  7379. .member-depth-3 {
  7380. padding-left: 72px;
  7381. }
  7382. .member-depth-4 {
  7383. padding-left: 92px;
  7384. }
  7385. .member-depth-5 {
  7386. padding-left: 112px;
  7387. }
  7388. .member-depth-6, .member-depth-7, .member-depth-8 {
  7389. padding-left: 132px;
  7390. }
  7391. .header-version {
  7392. position: absolute;
  7393. right: 20px;
  7394. top: 0;
  7395. vertical-align: center;
  7396. line-height: 50px;
  7397. color: #777;
  7398. }
  7399. .inner-dropdown-menu {
  7400. list-style: none;
  7401. font-size: 14px;
  7402. text-align: left;
  7403. padding-left: 0px;
  7404. }
  7405. .inner-dropdown-menu > li > a {
  7406. display: block;
  7407. padding: 3px 20px 3px 40px;
  7408. clear: both;
  7409. font-weight: normal;
  7410. line-height: 1.42857143;
  7411. color: #333333;
  7412. white-space: nowrap;
  7413. }
  7414. .inner-dropdown-menu > li > a:hover,
  7415. .inner-dropdown-menu > li > a:focus {
  7416. text-decoration: none;
  7417. color: #262626;
  7418. background-color: #f5f5f5;
  7419. }
  7420. .inner-dropdown-menu > .active > a,
  7421. .inner-dropdown-menu > .active > a:hover,
  7422. .inner-dropdown-menu > .active > a:focus {
  7423. color: #ffffff;
  7424. text-decoration: none;
  7425. outline: 0;
  7426. background-color: #337ab7;
  7427. }
  7428. .dropdown-menu a {
  7429. height: 26px;
  7430. }
  7431. .dropdown-menu a .glyphicon {
  7432. margin-right: 8px;
  7433. padding-top: 1px;
  7434. }
  7435. .dropdown-menu a small {
  7436. float: right;
  7437. margin-left: 10px;
  7438. line-height: 182%;
  7439. }
  7440. .search-dropdown-align {
  7441. margin-left: 0px;
  7442. min-width: 208px;
  7443. }
  7444. @keyframes shadowPulse {
  7445. 0% {
  7446. box-shadow: 0px 0px 0px rgba(71, 91, 118, 0.7);
  7447. }
  7448. 10% {
  7449. box-shadow: 0px 0px 0px rgba(71, 91, 118, 0.7);
  7450. }
  7451. 50% {
  7452. box-shadow: 0px 0px 10px rgba(71, 91, 118, 0.7);
  7453. }
  7454. 100% {
  7455. box-shadow: 0px 0px 0px rgba(71, 91, 118, 0.7);
  7456. }
  7457. }
  7458. .shadowPulse {
  7459. animation-name: shadowPulse;
  7460. animation-duration: 1s;
  7461. animation-iteration-count: 2;
  7462. animation-timing-function: ease;
  7463. }
  7464. #banner {
  7465. width: 100%;
  7466. display: block;
  7467. text-align: center;
  7468. background: #f0af0b;
  7469. padding-top: 7px;
  7470. color: #000;
  7471. overflow: hidden;
  7472. padding-bottom: 6px;
  7473. }
  7474. #banner a {
  7475. color: #000;
  7476. text-decoration: underline;
  7477. }
  7478. h1 {
  7479. margin-top: 0px;
  7480. }
  7481. table.table-filled {
  7482. border: 1px solid #e1e1e8;
  7483. border-radius: 3px;
  7484. border-collapse: separate;
  7485. background-color: #f7f7f9;
  7486. }
  7487. table.horizontalAlternative2D3D th {
  7488. text-align: center;
  7489. }
  7490. table.horizontalAlternative2D3D th.Alt2D {
  7491. background: #6599e7;
  7492. }
  7493. table.horizontalAlternative2D3D th.Alt3D {
  7494. background: #ed8585;
  7495. }
  7496. table.horizontalAlternative2D3D td {
  7497. padding: 10px;
  7498. width: 50%;
  7499. vertical-align: top;
  7500. }
  7501. table.horizontalAlternative2D3D td.Alt2D {
  7502. background: #6599e755;
  7503. }
  7504. table.horizontalAlternative2D3D td.Alt3D {
  7505. background: #ed858555;
  7506. }
  7507. .inspector-field {
  7508. margin-left: 20px;
  7509. }
  7510. .prettyprint {
  7511. margin-bottom: 10px;
  7512. }
  7513. /*# sourceMappingURL=style.css.map */
  7514. </style>
  7515. <style>@font-face {
  7516. font-family: 'Bitter';
  7517. font-style: normal;
  7518. font-weight: 400;
  7519. src: local('Bitter Regular'), local('Bitter-Regular'), url(https://fonts.gstatic.com/s/bitter/v13/rax8HiqOu8IVPmn7f4xs.ttf) format('truetype');
  7520. }
  7521. </style>
  7522. <script type="text/javascript">var pathToRoot = "";</script>
  7523. </head>
  7524. <body>
  7525. <div id="banner"></div>
  7526. <div class="container">
  7527. <div class="wrapper">
  7528. <nav class="sidebar hidden-print hidden-sm hidden-xs">
  7529. <ul class="sidenav-l0">
  7530. <li class=''>
  7531. <a href='http://arongranberg.com/astar/documentation/stable/changelog.html'><span class='arrow-none'></span>Changelog</a>
  7532. </li>
  7533. <li class=''>
  7534. <a href='http://arongranberg.com/astar/documentation/stable/beginner.html'><span class='arrow-down'></span>Get Started</a>
  7535. <ul class='sidenav-l1'>
  7536. <li class='active'>
  7537. <a href='http://arongranberg.com/astar/documentation/stable/getstarted.html'><span class='arrow-down'></span>Get Started With The A* Pathfinding Project</a>
  7538. <ul class='sidenav-l2'>
  7539. <li class=''>
  7540. <a href='http://arongranberg.com/astar/documentation/stable/custom_movement_script.html'><span class='arrow-none'></span>Writing a movement script</a>
  7541. </li>
  7542. </ul>
  7543. </li>
  7544. <li class=''>
  7545. <a href='http://arongranberg.com/astar/documentation/stable/getstarted2.html'><span class='arrow-right'></span>Using navmeshes</a>
  7546. </li>
  7547. <li class=''>
  7548. <a href='http://arongranberg.com/astar/documentation/stable/inspector.html'><span class='arrow-none'></span>The A* Inspector</a>
  7549. </li>
  7550. <li class=''>
  7551. <a href='http://arongranberg.com/astar/documentation/stable/graphtypes.html'><span class='arrow-none'></span>Graph Types</a>
  7552. </li>
  7553. <li class=''>
  7554. <a href='http://arongranberg.com/astar/documentation/stable/architecture.html'><span class='arrow-none'></span>Architecture overview</a>
  7555. </li>
  7556. <li class=''>
  7557. <a href='http://arongranberg.com/astar/documentation/stable/migratingfromunity.html'><span class='arrow-none'></span>Migrating from Unity Navigation</a>
  7558. </li>
  7559. <li class=''>
  7560. <a href='http://arongranberg.com/astar/documentation/stable/errormessages.html'><span class='arrow-none'></span>Error messages</a>
  7561. </li>
  7562. </ul>
  7563. </li>
  7564. <li class=''>
  7565. <a href='http://arongranberg.com/astar/documentation/stable/agentmovement.html'><span class='arrow-right'></span>Agent Movement</a>
  7566. </li>
  7567. <li class=''>
  7568. <a href='http://arongranberg.com/astar/documentation/stable/graphgeneration.html'><span class='arrow-right'></span>Graph Generation</a>
  7569. </li>
  7570. <li class=''>
  7571. <a href='http://arongranberg.com/astar/documentation/stable/deploying.html'><span class='arrow-right'></span>Deploying</a>
  7572. </li>
  7573. <li class=''>
  7574. <a href='http://arongranberg.com/astar/documentation/stable/misc.html'><span class='arrow-right'></span>Misc</a>
  7575. </li>
  7576. <li class=''>
  7577. <a href='http://arongranberg.com/astar/documentation/stable/deprecated.html'><span class='arrow-none'></span>Deprecated List</a>
  7578. </li>
  7579. <li class=''>
  7580. <a href='http://arongranberg.com/astar/documentation/stable/examples2.html'><span class='arrow-none'></span>Examples</a>
  7581. </li>
  7582. <li class=''>
  7583. <a href='http://arongranberg.com/astar/documentation/stable/groups.html'><span class='arrow-none'></span>Groups</a>
  7584. </li>
  7585. <li class=''>
  7586. <a href='http://arongranberg.com/astar/documentation/stable/classes.html'><span class='arrow-none'></span>Classes</a>
  7587. </li>
  7588. </ul>
  7589. </nav> <div style="flex-grow: 1; min-width: 0;">
  7590. <nav class="navbar navbar-default">
  7591. <div class="container-fluid">
  7592. <div class="navbar-header">
  7593. <a class="navbar-brand" href="index.html">A* Pathfinding Project</a>
  7594. <span class="package-version"">4.2.18</span>
  7595. </div>
  7596. <div class="collapse navbar-collapse">
  7597. <ul class="nav navbar-nav">
  7598. </ul>
  7599. <ul class="nav navbar-nav navbar-right">
  7600. <li>
  7601. <form id="searchform" style="display: none;" class="navbar-form">
  7602. <div class="form-group">
  7603. <input type="text" autocomplete="off" id="searchfield" class="form-control" placeholder="Search">
  7604. </div>
  7605. </form>
  7606. <ul id="search-dropdown" class="dropdown-menu search-dropdown-align">
  7607. <li><a href="http://arongranberg.com/astar/documentation/stable/#">Action</a></li>
  7608. <li><a href="http://arongranberg.com/astar/documentation/stable/#">Another action</a></li>
  7609. <li><a href="http://arongranberg.com/astar/documentation/stable/#">Something else here</a></li>
  7610. <li role="separator" class="divider"></li>
  7611. <li><a href="http://arongranberg.com/astar/documentation/stable/#">Separated link</a></li>
  7612. </ul>
  7613. </li>
  7614. </ul>
  7615. </div>
  7616. </div>
  7617. </nav> <div class="row">
  7618. <article class="col-md-12">
  7619. <h1>Get Started With The A* Pathfinding Project</h1><div class='alert alert-danger' role='alert'>This is an excerpt from the full documentation. You can view the full documentation <a href='http://arongranberg.com/astar/documentation/stable'>here</a>. Most links on this page will just take you to the full documentation.</div>
  7620. <p>Get Started with the A* Pathfinding Project. </p>
  7621. <p>Pathfinding is all about finding the best path between point A and B. This is what the A* Pathfinding Project does, in this tutorial you will learn how to set up the project in a new scene and get a simple AI moving while avoiding obstacles.</p><p>This AI you will write will not be very advanced, it is just the minimal amount of code needed to get moving and following a path. If you want a more advanced AI, you can either extend the script you will write in this tutorial or use (or extend) the AIPath or <a href='http://arongranberg.com/astar/documentation/stable/richai.html'>RichAI </a> scripts included in the package (see part 2 for basic usage of the RichAI component).</p><h3 id='downloading' >Downloading</h3><p>The first thing you need to do, if you haven't done so already, is to download the A* Pathfinding Project.</p><p>The project can be downloaded from <a href='https://www.arongranberg.com/astar/download' >here</a>. You can either download the free version with some limited features (but still very powerful) or buy the pro version which has more cool stuff included. If you want, you can explore the different example scenes in the project before you start with the next section.</p><h3 id='usingIphone' >Deploying for Mobile/UWP</h3><p>Depending on which platform you are building for, you might want to read this page first: <a href='http://arongranberg.com/astar/documentation/stable/iphone.html'>Deploying for mobile/uwp</a></p><h3 id='errors' >Troubleshooting</h3><p>At this stage, if you are getting any compiler errors from the code, you can first check the <a href='http://arongranberg.com/astar/documentation/stable/upgrading.html'>Upgrade Guide</a>.</p><p>If you are still getting errors, take a look at the forums (see <a href='https://forum.arongranberg.com' >https://forum.arongranberg.com</a>) to see if anyone else has the same problem, or post a new question there.</p><h3 id='overview' >Overview</h3><p>There are several different parts of the package. Broadly, they can be grouped into:<ul><li><p>Movement scripts, which tell the agent how to move and where it should move (see <a href='http://arongranberg.com/astar/documentation/stable/movementscripts.html'>Movement scripts</a>).</p>
  7622. </li><li><p>Graphs, which describe where an agent can move (see <a href='http://arongranberg.com/astar/documentation/stable/graphtypes.html'>Graph Types</a>).</p>
  7623. </li><li><p>Temporary obstacles, which cut holes in the navmesh or update it in other ways (see <a href='http://arongranberg.com/astar/documentation/stable/graphupdates.html'>Graph Updates during Runtime</a>).</p>
  7624. </li><li><p>Off-mesh links, which allow an agent to move or jump between otherwise parts of the navmesh (see <a href='http://arongranberg.com/astar/documentation/stable/nodelink2.html'>NodeLink2</a>).</p>
  7625. </li><li><p>Path modifiers, which post-process paths to for example smooth them (see <a href='http://arongranberg.com/astar/documentation/stable/modifiers2.html'>Using Modifiers</a>).</p>
  7626. </li></ul>
  7627. </p><p>What you will primarily interact with is the movement script and the <a href='http://arongranberg.com/astar/documentation/stable/seeker.html'>Seeker</a> component. Both need to be attached to an agent that needs to move. The movement script controls how the agent should move, its velocity, rotation, and so on, as well as what the current destination of the agent is and when it should recalculate its path. The <a href='http://arongranberg.com/astar/documentation/stable/seeker.html'>Seeker</a> component is controlled by the movement script. The movement script tells it to calculate a path, and the Seeker will chug along and later (possibly in a later frame) return the result to the movement script.</p><p>The <a href='http://arongranberg.com/astar/documentation/stable/astarpath.html'>AstarPath</a> component holds all the graph data in a scene. It follows the <a href='https://en.wikipedia.org/wiki/Singleton_pattern' >singleton pattern</a>, so there should only be one such component in a scene. It may contain one or many graphs, of the same or different types. Each graph, in turn, contains and manages all its nodes (of which there may be many, sometimes up to millions).</p><p>There are a number of included movement scripts in the package (e.g <a href='http://arongranberg.com/astar/documentation/stable/aipath.html'>AIPath</a>, <a href='http://arongranberg.com/astar/documentation/stable/richai.html'>RichAI</a>, <a href='http://arongranberg.com/astar/documentation/stable/ailerp.html'>AILerp</a>). You may use one of the included ones, or you can write your own (see <a href='http://arongranberg.com/astar/documentation/stable/custom_movement_script.html'>Writing a movement script</a>). You can find a comparison of the built-in movement scripts here: <a href='http://arongranberg.com/astar/documentation/stable/movementscripts.html'>Movement scripts</a>.</p><h3 id='video' >Video Tutorial</h3><p>If you prefer a video tutorial instead of a text tutorial. Here is a video for you. The video tutorial takes a more high-level approach, and you will learn how to use the built-in movement scripts instead of writing a custom one. Since the video and text tutorials cover slightly different ground, it is not a bad idea to take a look at both.</p><p> <iframe class="youtube-video" width="690" height="400" src="https://www.youtube.com/embed/5QT5Czfe0YE" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p><p>You can also take a look at the excellent tutorial by Gabriel Williams (Unity Cookie) in part 8 of the series on making a Tower Defence game: <a href='https://www.youtube.com/watch?feature=player_embedded&amp;v=PUJSvd53v4k' >https://www.youtube.com/watch?feature=player_embedded&amp;v=PUJSvd53v4k</a> The video covers most things which will be discussed in the text tutorial.</p><h3 id='newscene' >New Scene</h3><p>Create a new scene, name it "PathfindingTest". Now let's create something which an AI could walk on and something for it to avoid: add a plane to the scene, place it in the scene origin (0,0,0) and scale it to 10,10,10.</p><p>Create a new layer (Edit → Project Settings → Tags) named "Ground" and place the plane in that layer. Now create some cubes of different scales and place them on the plane, these will be obstacles which the AI should avoid. Place them in a new layer named "Obstacles".</p><p>Your scene should now look something like this: <img class="tinyshadow" src="data:image/png;base64,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"></img></p><h3 id='addingastar' >Adding A*</h3><p>Now we have ground for an AI to stand on and obstacles for it to avoid. So now we are going to add the A* Pathfinding System to the scene to enable Pathfinding.</p><p>Create a new GameObject, name it "A*", then add the "AstarPath" component to it (Menu bar → Components → Pathfinding → Pathfinder).</p><p>The <a href='http://arongranberg.com/astar/documentation/stable/astarpath.html'>AstarPath</a> inspector is divided into several parts. The two most important are the Graphs area and the Scan button at the bottom. The Graphs area holds all the graphs in your scene, you may have up to 256, but usually 1 or 2 will be sufficient. A single graph is usually preferred for simplicity.</p><p>If you open the Graphs area by clicking on it, you will see a list of graphs which you can add. For this tutorial, we will create a <a href='http://arongranberg.com/astar/documentation/stable/gridgraph.html'>GridGraph</a>, which generates nodes in a grid pattern.</p><p></p><div class='simplesect simplesect-see' ><h3>See</h3><p>You can read more about the different graph types in <a href='http://arongranberg.com/astar/documentation/stable/graphtypes.html'>Graph Types</a>.</p></div><p>
  7628. After you have added the grid graph, click its label to bring up the graph settings.</p><p>At the bottom of the inspector, you will find a button called "Scan". This is used to calculate the graph based on its settings and the world. After you change any settings, you will have to scan the graph to see the changes. There is a handy <a href='http://arongranberg.com/astar/documentation/stable/shortcuts.html'>shortcut</a> for this: Cmd+Alt+S (mac) or Ctrl+Alt+S (windows).</p><p>All graphs are scanned by default when the game starts (unless the startup is cached, more about that in <a href='http://arongranberg.com/astar/documentation/stable/saveloadgraphs.html'>another part</a>).</p><p> <img class="tinyshadow" src="data:image/png;base64,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nz83nGYHAAAADH5EItHd3T0sLMzOzq79t20DXmNj47lz5wICAsaPH89gMLAzzQEAAIBBTqfTKRSKoqKis2fPxsXF2dvbt8nQNuD9+eefAQEB48aNo9FoeDwezisAAADwUtDr9Uwm09HRsbW19c8//xw3blybDG0D3vPnz8ePH0+j0WxsbPqpjwAAAAZafX3977///uTJE5VK1WEGMpns7e39+uuvOzo69meR7pai0WihoaE//vhj+2xtA55Go4GZTAAAsCp1dXV79+7lcrlTp061s7NrHwJ0Op1MJisuLv7uu+/mzZvn5OTUZRGNRtPU1NStIu1b6UHfHB0dGQyGVqtt/2N2sGgFZjIBAMCqXLx40dPT87XXXrO3t7exsekwqLi6urq4uFy4cOHixYszZ840XeTatWt5eXm2trYxMTGtra3mFOmwlZ71rbN7tj65k2tubu6LagEAAPSFJ0+eBAcH29vbE4nEDqMFHo8nEon29vYhISFCodB0kYsXL165ckWtVtfV1f3222/BwcGmi7S0tHzzzTf79+9v30qbUlVVVR12vn2pDnXvPDyhUHj+/Pnq6moGgzF69Oh//OMf7e8Fnz9//p///GfOnDkTJ040Tt+zZ4+Dg8OMGTN6UGe3iMXiffv2vf322z4+Pr2pBwAArIRKpbKzs+ty6YaNjY2dnZ1arTZR5Pfff8/LyzNcKpXKLos0NDRIJBLDQzvjVoxLVVRUHDhwICoqyji45OTk3Lp1KzEx0dvb27hUh7oR8AoKCjIzM5lMZmBgoFgs3rNnT3l5eVJSUptsLi4u7777blhYWJv0x48ftz/33Mw6u6WlpeXBgweTJk3qTSUAAGBV8Hg8Ho9vbW198ODBX3/9JRaLFQoFFnucnJz8/PwCAgLazChiRYwr+e23327cuGGcMm3aNAKBYKIIQsje3n7WrFmenp6d5cFShg0bFhUVdfPmTYQQFvOwaBcZGenr64tlM/0zmhvwWltbv//+e3d39/Xr11MoFITQ999///vvv0+aNIlEIuXk5PD5/Pz8fG9vb19f39ra2ubmZicnp6ampt9//12hUMTExPSmTj6f39jYeO3atdraWjabPXbsWBqNVl9fn5OTM3r06L/++qumpiYsLCwoKMhQuV6vP3v2bG1tbWhoqHE6AACADjU2Nh46dIhIJIaGhr7yyit//PEHQig0NJRIJN66dev69euJiYkmiv/yyy/37983Tpk2bVpwcPDz5887K6LRaC5fvnzr1i08Hv/BBx902UMszmExT6/XY9HO/NsbcwOeUChsbGx8++23sciEEEpKSpo1axaZTBaJRGfPnr116xaDwWCxWI2NjWfPnvXx8XF3d9+8eXN1dXVQUNDXX38tl8vb3OGZX6dSqdywYQMOhwsKCjpz5szt27c3bNiANXT37l0WiyWVSn///ffFixdHRUVhVWVnZ9va2lZXV//222/r1q179dVXzfxJAQDAOuXk5EycONHHxweHw3355ZdNTU0IoRs3bqxYsWLUqFFCofC3337r8O4FIaRUKtus3njzzTeDg4NNt3jlyhVfX9+bN2/a2NgQiURzOmkc87oV7ZD5Aa+hoQEh5OzsjBCSyWQnT57E0qOiorAJ2cjIyNmzZyOEysvLsa+Kioqqqqrmz58/duzYurq69tHb/DqVSuXcuXO5XK6Dg4OTk9PPP/8sl8uxzIGBgf/617+0Wm16evrZs2cNAS88PHz69OlSqTQtLe3evXsQ8AAAwDSlUvn06VNserANHA739OlTEwsST5w44ezs7Ovre+HCBYTQ9OnTzZlai42NPXfuHEJoxIgR5r/8rdfrDb0yswjG3IBHpVIRQjKZDCHU2tpaX1/f0tJy//59Ly8vDw8PhFD7FSI1NTUIoYCAAISQk5MTFth6VieZTJZKpefPn3/27BmW3/D64YgRIxBCBALh1VdfLSgoMFTO4XAQQg4ODgQCoaWlxewBAQAAK5WQkHD48OHHjx8HBQWNHj36+vXreDx+9OjRN2/eLC4u1mg0iYmJncW8R48e6fX6kJCQoKAgd3d3Mx8ktba2YrOgI0eONLOThud2OBzO+HmeOcx9LcHb25tAIGBrbxwcHNLS0gQCAULIxcWlsyJkMhkh1NjYiBDS6/XY3XHP6rx+/frevXsDAwP/85//tJlExuIf1pBhahQAAEB3MZnMhQsX8vn8ysrKW7duqVSq5ubmW7duVVZW8vn8hQsXMpnMDgsKhUK9Xs/lckkk0ptvvhkZGWlmi3/99Zdarbazs3Nzc8PukUwzRLtJkyZNnDgRW8OC3VOaw9w7PDqd/sYbb5w+fXrnzp3h4eH19fUnT54cNmwYj8erqKjosAi2pOfYsWNvv/323bt3DZOQPahTLpfjcLiAgAAGg5Gfn9/m5+dyuS9evHjw4MGYMWPM/HEAAAAY0+l0Op3OxsZm5MiRnd1vYXnaXOLxeCaTmZaW1mE47KwIdvn48WOEEJPJvHLlSmxsbIdFDCnl5eVtVqkYnufxeDwul9umVHvdeC1h5syZZDL5/Pnzt2/fxuFwoaGhc+fONTGF6uLikpSUdPjw4YyMjJiYGC6X2+M6BQLB9evXP/roIwqFEh4ebvzVqFGjMjMz5XI5j8fDXssHAADQLWQyWSaTubq6ml7Z39raKpPJSCRSmyLYHmDdKmJol0KhcDiccePGGRatGBcxLuXj4zNnzpw2j88mTpzI4/GGDRum0WiMS3UId+DAAePr/fv3p6WlOTg4dFZAr9fLZDIqlWq6XgOtVqvVak1PNppZp0wmo9Fohlc6ysvL169fv2TJkoiIiObmZjqdbk5/AAAAtHH06NHW1tYJEyZgr3h3uH0XFocuXLhAIBBmzpzZP0V61jepVJqZmdn+le7u7bSCEMLhcO0PGTKBQCAYv3XYmzo7PNAPKw7RDgAAeiw2NhZ7DTooKMj0Bs1Pnz5NTk7utyI9LtWhbt/hDR6NjY25ublhYWFsNnug+wIAAC+3urq6ixcvCoXCznbnIpFIPj4+r732mmECs3+K9KCUxe7wBg97e/v4+PiB7gUAAAwFTk5O3V0G0T9FelyqPTj3DgAAgFWAgAcAAMAqvMRTmgAYa2lpUavVhj2HAABWBYfDkUgkbAOvzkDAA0NBS0sLjUbD9u4Z6L4AAAaAVqsVi8XNzc0mYh5MaYKhQK1Ws9lsiHYAWC0CgcBms00fAAsBDwwFer0eoh0AVo5AIJh+qAEBDwxNf/7557Jly6ZPn75o0aJr1661z1BeXj5+/Pj2J2ns27cPO/cSADDEWDLgKRSKPXv2LF68eNmyZUePHsX28Wxubt64caMFWwGgS9euXVuyZMmYMWM+//zzyZMnr1+//ueff26Tx9PT87PPPms/3S8UCs3ZtR0A8NKx5CzQxx9/PHz48LVr17a0tHz33XdyuXzevHkajaa4uNiCrQDQpc2bN2/duhU7DZjH47m5uS1atGj69OkajWbfvn18Pv/XX39NTk7Oz8/HzjFRqVRHjx4VCoVjx44d6L4DAPqKxQKeSqX666+/vvjiC+ysgw8++ODevXuGb0Ui0ZkzZ6hU6tSpU7GtX+Ry+blz58RisY+PT1xcHB6PV6lU2dnZY8aMOXXqFIVCiY+Pd3V1RQhptdoLFy4IhUIulxsXF2fmptXAaj158qS1tRWLdpiwsDDsoEiZTLZnz54HDx5MmDABh8MdPnw4NTUVIZSWlmZraxsfH3/x4sX8/Hzzz6IEAPSP27dv/fzzT20SZ8yYxeebe/YesuCUJplM9vLy2rt3L3bunbOz8+uvv459pVKpfvnll5EjR7a0tKxZs0av16tUqkWLFsnl8ujo6Lt3737//fcIIaVSefTo0W+//TYgIMDW1jYtLa2urg4htGXLlsLCwvDw8MrKyvXr11uqw2Cokkgk7u7u2GeFQnHqb9hvplar/eKLLxISEgx7kT948KC8vPyzzz6LjY395JNP4C8qAAYhPj8yPJxvnBIezu9WtEOWndLcsmXLvn375s6dy+VyX3/99TfeeAPb1lqj0SxcuJBKpY4ePToxMVEikbi4uHz55ZfOzs4IIQaDsWPHjvnz5yOEWlpaFi1a5ObmhhB6/vz56dOnY2Jiqqqqdu/ejcPhoqOjU1NTS0pK/P39LdhtMMQwGAyZTIZ9VqlU2EzDr7/+GhAQ4ODgQKfT2xxWJRQK/f39DYs8AwMD+7nDAABzzJjxTmNj4+PHDxFCw4e/OmPGO92twZIBj8lkLlu2LDU19d69e4cPH66oqFi0aBFCiMFgGJYGMBiM5uZmhFBZWdnu3bufPn1q/NoEjUbDoh1CKCAgIC8vz8PDQyqVLlmyBEusrq4Wi8UQ8IAJw4cPr66urqqq8vT0dHJyWrdunVwu/+WXX1xcXDQaTfv8dDq9oaHBcGkIlgCAQQWPx7///tyvv96JEHr//bmmz6rtkMUCnkKheP78OY/HIxAIo0aN8vDwSEtLwwJee6WlpV999dWaNWt4PN7z588/+eQTLF2lUmm1Wuxv7YaGBhqNRqVSeTze2rVrDWVNnyULAIlEmjt37gcffPDll196eHjIZLJ169ZNmjSJwWBIpdL2+SMiItatW3f//v3AwMAnT57k5eWNHz++/7sNAOgSmUyeN+/f2IceFLfYMzylUrly5crHjx9jl5cuXTI8R2lPIpF4eHgEBQWRyeQrV64Y0ltbW0+dOoUQUqlU586di4yMDA4OFgqFYrGYwWDo9frt27c3NTVZqs9gqFq4cGFsbOyMGTPGjBkTGxvLZDJNPP21s7PbtGnTokWL/vnPf65fv37ChAn92VUAQLfY2dnb2XXjEHJjFrvDY7FYy5Yt++ijj2g0mlwud3Fx+c9//tNZZj6ff/78+fnz5+v1+uDgYEO6nZ1dTU3NwoULZTKZQCAQCAQIoVWrVmVkZNDp9Lq6uilTpnTrvHVgnXA4XEpKyoIFC+rr6+3s7AzrUBwcHPLy8tp/fv3118eOHdvY2MhisQamxwCAvmfJZ3ixsbHjx4+vq6sjEAhMJhNLtLe3P3bsmCHP7t27sQ+bN29ubGwkk8ltpihTUlKwezg6nY6lhIeH79+/v76+3tbWtme3scA64fF48wMYkUiEaAfA0Gbh7QdxOJz5/2p0dq9mCHUG3fqXC1ghHA5nePoLALBOWq0WexG8M4NoL00KhfL+++8PdC/AS4lEIonFYtMbpQMAhjC1Wv3gwQPT79EOor+IyWTy1KlTB7oX4KVEpVKfPn1aVFSE7eAKALA2eDze0dHR0dHRRJ5BFPAA6A0Oh8PhcAa6FwCAwWsQTWkCAAAAfQcCHgAAAKsAAQ8AAIBVgGd4YChQKpUvXrzQarUm8hAIBBcXF9iaDgCrBQEPDAU4HE4gEBi2O+iQVCotKyvrty4BAAYbmNIEQ4FWqzUd7RBCDg4Opm8BAQBDmyXv8BobG/ft21daWspms5OSkoYNG4YQ+vjjj5VKJULI1tY2KCho0qRJsD0YAACA/mfJO7wtW7bY2dllZGSMGTNm3bp1KpUKIVRUVPTWW28lJyePHTu2oKDggw8+wNIBAACA/mSxgNfa2kogEJKSklxcXMaPH+/o6FhRUYF95e3tzePxBALBxx9/zGKxjh8/bqlGAQAAADNZLODZ2Nhs3rwZO4JWLpe/ePGiw20vEhISbt68aalGAQAAADNZftGKTqfbunXrtGnTGAxG+29dXV3r6uos3igAAABgmuUD3s6dO8lk8qxZszr8ViqVtj/9BwAAAOhrFg54+/btq6mpSU9P7+xQotzc3KCgIMs2CgAAAHTJkgHvxIkThYWF69ev7/AcToVCkZ2dfenSpZkzZ1qwUQAAAMAcFnsPTyaTffPNNyQSKTExEUtJSUmZOHEiQujf//43QohAIAQFBW3bts3Z2dlSjQIAAABmsljAs7OzO3/+fPv0X375xVJNANAZAoEglUodHBxM5JFKpR3OPQAArAT89w+GAjKZXFZW1uXm0bDLDwDWDAIeGCLIZDLEMwCACbB5NAAAAKsAAQ8AAIBVgIAHAADAKkDAAwAAYBUg4AEAALAKsEoTDBG1tbUKhUKn0w10RwAYFPB4PIPBYLFYA92RQQQCHhgK1Go1k8mMiYmBNxMAwKhUqgcPHqjVahKJNNB9GSwg4IGhQKvVjho1ikgkDnRHABgsyGRyUFDQ3bt3Owt4FRUV+/fvR/jXSz0AACAASURBVAgxmcyxY8eGhIT0bwcHADzDA0OBXq+HaAdAG0QiUa/Xd/YthUIZNmwYm81uaGg4ceJEaWlpf/ZtQLysAU+r1cJBsgAA0GNsNjspKWnhwoVsNhshdPXq1YHuUZ+zWMA7cuTIjRs3sM+tra0ffvhhfn4+dqlWqz/88MPy8vI5c+Yolco2BbOzs7GcCoVCpVIhhJqbmzdu3Gi6uWPHjuXl5fW4t4ZGzXHy5MmioqIetwX6mU6n27Vr15w5cwwpGo3ms88+mzBhQmJi4p9//tllOgBWZcSIEQghsVg80B3pcxZ7hsdgMK5evRodHY0QKi0tvXPnjpOTU0REBEKopKRELpd7enquWrWKQqG0KSgSiWg0GkIoKysrNDR04sSJGo2muLjYRFtqtfr06dPff/99j3traNQcERERn3zySVZWVo+bA/2mpqZm3rx5bDb7+vXrhsStW7cWFxdnZWXdv3//vffeu3btmqOjo4l0AEBnlCrV2fPnCwoLsctXhg2b/MYbbFfXge2VmSwW8EaNGnX48GHsc2FhoUAgMPzJXFhYGBYW1traWlRUhD0XVavVZ86cqaqq4vP5WJ6rV6+WlZXJZDKlUjl27FiEkEgkOnPmDJVKnTp1qpOTk3Fb+fn53t7eZDJZpVJlZ2fHxMScOXOGwWBMmzbN3t4eIaTVanNycoRCIYfDiY+Pp1KpHTaK5bxw4YJQKORyuXFxcdjTXalUmpOTU1tbGxYWNnr0aDc3N61W++jRIx6PZ6nhAn2ktrZ2xYoVISEhoaGhWIpKpTp48OClS5fYbDaPx7t58+aRI0cWL17cWfrA9h+AwUypUu3dt0/a0BA7btwrw4aJxeKLV658t29fakoK095+oHvXNYtNabq7u5PJ5KqqKoTQn3/+OW3aNBsbm+rqaoTQvXv3Ro0apVQqT506hWXeuHFjaWlpREREXl7evXv3EEIcDofJZHI4HG9vb4SQSqX65ZdfRo4c2dLSsmbNmjbPXR88eODv748QUiqVR48ePX78eGhoqEQiWb9+PZbh008/LSgo4PP5NTU1K1euxE6Nad8oQmjLli2FhYXh4eGVlZVYcZVKtXTpUhqNFhUVdfDgwdzcXIRQaGgoTHm9FAICAmJjY41TRCIRi8XCnlIghAQCATZ/0Fk6AKAzfxYWVovF8//1r9ixY1/x8oqOjFy5bBlC6NKVKwPdNbNY8rWEsLCwwsJCFxeXiooKf39/7JLJZIpEIj8/v6amJizb48ePq6qq9u7dSyAQoqOjsfPQfX19WSyWr69vYGBgY2OjRqNZuHAhlUodPXp0YmKiRCJxcXExNCSRSLy8vLDPKpUqJSWFQqHw+fzp06c3NTWJxeKHDx/+8MMPRCIxKipq5cqVubm57u7u7RstKyurqqravXs3DoeLjo5OTU0tKSlhsVjNzc2xsbEMBiMgIACbg2Wz2Y8ePbLgWIF+I5FIjGcIHB0dX7x4YSIdANCZktJSvxEjjCcwKWRyWEhIQWHhW9OmDWDHzGTJgDdq1KhLly65u7v7+/sTCITw8PCrV6+yWKyAgADjk6ZFIpGvr68hpcN5QgaDgc1DYp+bm5uNv1WpVMbfYjHJxsaGRqO1tLRUVFTweDzDIvWgoKCKigqtVtu+0crKSqlUumTJEiyxurpaLBb7+/vHxcUlJyePGDFCIBBMmDABIeTg4GAI2ODlYmdnJ5fLDZcKhQKb9+4sHQBggtvfkyIGfiNG5N28OSCd6S5LBryQkJCdO3ey2ezw8HDsMisri8VijRo1yjgblUqVyWSGS4VC0d2GGAxGQ0NDZ9/SaDTjOuVyuYuLS4eNUqlUHo+3du1aQzoWO+fNmzdnzpz79+/v27evrq5u9uzZzc3NsFvBS8rT07OqqqqlpQX7I6mkpASbHugsHQAwVFnyPTw6nc5ms8+fP49FOBqNxmazc3JywsLCjLMFBweXl5djM4RVVVUFBQVYOpFIrK+vN6chLpdbU1PT2bfBwcEVFRXYS5QSieTatWtRUVEdNhocHCwUCsViMYPB0Ov127dvb2pqEolEmZmZZDI5PDw8MjISm+aqq6tzdnbu2bCAgWVvby8QCLBFtmKx+ODBg++8846JdACslokbCYRQeWVlQ0NDeUXFpatXjf/vz8JChNCffy+MGMwsvLVYeHh4fX09h8MxXNbU1Hh6ehrnYTAYy5cvX79+vZOTE4VCEQgEWHp8fHxGRkZxcXF6errpVsLCwnbs2NHZt3Q6PT09ffPmzfb29lKpNDk5mcvlIoTaN8pgMFatWpWRkUGn0+vq6qZMmWJvb0+n0xUKxdy5c+l0emtr64YNGxBCJSUlkydP7sXAgIG0adOmpKSkQ4cONTc3L1++3M/Pz3Q6AFbF9e9ncvfu3cMWyXdo7759CCFpQ0N5RUX7b7N//TV05Mg+6Z/l4A4cOGB8vX///rS0NAcHh75uWKvVyuXyNg3p9Xq1Wm3O/r+pqakfffSRa+cvf+h0uvr6eiaTafz4sMNGsZy2trbG7WJzngwGAyGkUqnmzp27b98+mNUctJqamrB3QE2QSCS2trbt3wTtLB2AIeDGjRt0Or3LbN9++61YLKZQKO+8886wYcM6zLMuI8N0JZ9s2NCDHvYFqVSamZmZlJTUJn3AthYjEAjtwyoOhzNzt/sFCxbcunXLRAY8Hs9isYyjXWeNYjnbtMtgMLBohxDKyclJSEiAaDeY4XA4jUZjOo+zs3OHUa2zdABedhqNBofDmZMzKSlp2LBhSqVy//79Q3iPsZf1tITg4ODg4OD+aSsmJgbW7w1yBAJBJBJxuVzYQhoAjEajEYlEbf7oN4HJZPZpfwaDlzXg9ac2+7yAQYhEIkmlUolEYmJveACsCg6HIxAIZk5N/fe//62oqEAITZo0KSoqqm97NnAg4IEhgkQiwbQzAD0gFouxaDdu3LghHO3Qy3s8EAAAAIt4+PAh9mHkoF9m2UtwhweGiNraWoVCodPpBrojAAwKeDyewWCwWCzziwz5x3gQ8MBQoFarmUxmTEyMmat8ARjyVCrVgwcP1Gq1pab6KRRK+wNNXy4Q8MBQoNVqR40aBUs0ATAgk8lBQUF37961VMBbt3q1ReoZQPAMDwwFer0eoh0AbRCJRFi3bOzlDnharbaurm6gewEAAOAlYMmA9/HHH69Zs2bNmjWbN28+efKkSqXqQSUKhQIr2NzcvHHjRtOZjx07lpeX15O+IoQQys7Ozs/PNzPzyZMni4qKetwW6Dc6nW7Xrl1z5swxpGg0ms8++2zChAmJiYnGB/l2lg4AGJIsGfCKioreeuut5OTksWPHFhQUfPDBBz2IeVlZWdjGNhqNxvQJ1Gq1+vTp0xMnTuxxh0UiUW1trZmZIyIivv322x63BfpHTU1NQkLCnTt3rl+/bkjcunVrUVFRVlbWjBkz3nvvPcOhHJ2lAwCGJAsvWvH29maxWDweTyAQfPzxx8ePH581axZCSKvVXrhwQSgUcrncuLg4EomkUqmys7PHjBlz6tQpCoUSHx/v6up69erVsrIymUymVCqxTbtFItGZM2eoVOrUqVPb7HiSn5/v7e1NJpOxqmJiYs6cOcNgMKZNm4btBKbVanNycoRCIYfDiY+Px449U6vVZ86cqaqq4vP5hqradw8hJJVKc3Jyamtrw8LCRo8e7ebmptVqHz161OGJtWCQqK2tXbFiRUhISGhoKJaiUqkOHjx46dIlNpvN4/Fu3rx55MiRxYsXd5Y+sP0HoP9hh6mx253sOvT04TO8hISEm38fg7tly5bCwsLw8PDKysr169cjhJRK5dGjR7/99tuAgABbW9u0tLS6ujoOh8NkMjkcjre3N0JIpVL98ssvI0eObGlpWbNmTZunrw8ePPD39zdUdfz48dDQUIlEgtWPEPr0008LCgr4fH5NTc3KlSu1Wi1CaOPGjaWlpREREXl5eff+PsCpffdUKtXSpUtpNFpUVNTBgwdzc3MRQqGhoTDxNcgFBATExsYap4hEIhaLZfiPWSAQYDMHnaUDYCXEYvH+/fuxcxIQQiYOBhoy+vC1BFdXV2xFSVlZWVVV1e7du3E4XHR0dGpqaklJCYfDaWlpWbRokZubG0Lo+fPnp0+fTkpKYrFYvr6+gYGBjY2NGo1m4cKFVCp19OjRiYmJEonExcXFUL9EIjEcUa1SqVJSUigUCp/Pnz59elNTk1gsfvjw4Q8//EAkEqOiolauXJmbm+vu7l5VVbV3714CgRAdHf3vf/+7s+6xWKzm5ubY2FgGgxEQEIDtps9ms7EjZMFLRCKRGM8NODo6Yof6dpYOgJVQKpXYjmJMJnPs2LEjRowY6B71uT4MeFKpFDuHqbKyUiqVLlmyBEuvrq4Wi8UcDodGo2HRDiEUEBDQfvkJg8HA5iGxz83NzcbfqlQq42+xmGRjY0Oj0VpaWioqKng8nmGpelBQUEVFhVar9fX1NWwfjk1Odtg9f3//uLi45OTkESNGCASCCRMmIIQcHByamposOESgH9jZ2cnlcsOlQqHAZrw7SwfASgwbNmzDoDnBrn/0YcDLzc0NCgpCCFGpVB6Pt3btWsNXFAqlqalJpVJptVos/DQ0NNBotG7Vz2AwTBxIT6PRsENcMXK53MXFhUqlymQyQyKWocPuIYTmzZs3Z86c+/fv79u3r66ubvbs2c3NzbA98UvH09OzqqqqpaUF+/OopKQEmxjoLB0AMFT1yTM8hUKRnZ196dKlmTNnIoSCg4OFQqFYLGYwGHq9fvv27dh9Umtr66lTpxBCKpXq3LlzkZGRCCEikWjmYjkul1tTU9PZt8HBwRUVFdjDWIlEcu3ataioqODg4PLycmxasqqqqqCgoLPuiUSizMxMMpkcHh4eGRmJTXbV1dU5Ozv3fnxAf7K3txcIBFlZWQghsVh88ODBd955x0Q6AGCosvAdHvZUjEAgBAUFbdu2DQsPDAZj1apVGRkZdDq9rq5uypQp9vb2jY2NdnZ2NTU1CxculMlkAoFAIBAghOLj4zMyMoqLi9PT0023FRYWtmPHjs6+pdPp6enpmzdvtre3l0qlycnJXC4XIbR8+fL169c7OTlRKBSsxQ67R6fTFQrF3Llz6XR6a2srduNfUlIyefJky40W6CebNm1KSko6dOhQc3Pz8uXL/fz8TKcDAIYk3IEDB4yv9+/fn5aW5uDgYPGWdDpdfX29ra0ttr1vY2Pj/Pnzjx07ht3tYU/7MHq9Xq1Wm7MLcGpq6kcffeTq6mq6USaTaXzsr1arlcvlbX7GNt3DYHOeDAYDIaRSqebOnbtv3z6Y1RyEmpqaoqOjTeeRSCS2trbYfLU56QAMATdu3DD+19VKSKXSzMzMpKSkNun9t7UYHo9nsVjtwxidTm/zvwcOhzNzz/sFCxbcunWry0bbHHJPIBDaR/QOu8dgMLBohxDKyclJSEiAaDc44XA4jUZjOo+zs3OHUa2zdABedhqNBofDDXQvBpEBOy2BQqG8//77vawkODg4ODjYIv3pUkxMDKziG7QIBIJIJOJyubCFNAAYjUYjEona/Llv5QZsLMhk8tSpUweq9R5os88LGFRIJJJUKpVIJLA3PAAYHA5HIBBgUsoYBH8wRJBIJPhvGwBgwst9PBAAAABgJrjDA0NEbW2tQqHQ6XQD3REAwADA4/EMBoPFYpnIAwEPDAVqtZrJZMbExJi5vhcAMMSoVKoHDx6o1WoTjzZgShMMBVqtNigoCKIdAFaLTCYHBQVhp+J0BgIeGAr0ej28kACAlSMSiabXaUPAAwAAYBUsGfA+/vhj4yM0lUql8REEpmVnZ+fn53e3xadPn86ZM0epVHa3IBjCdDrdrl275syZM9AdAQAMLpYMeEVFRf/zP/9jOLVOq9Wafz64SCSqra3tbotsNnvVqlWwLxQwqKmpSUhIuHPnzvXr1we6LwCAwcXCqzRHjBiRlZW1atWqNularTYnJ0coFHI4nPj4eOwEMrVafebMmaqqKj6fb5zzwoULQqGQy+XGxcW1WW8jlUpzcnJqa2vDwsJGjx7d2tpaVFQUEhIik8l++uknQzZ3d/cpU6Z0WRsYempra1esWBESEhIaGjrQfQEADC4WfoaXnJxcVlbW/o/rTz/9tKCggM/n19TUrFy5EltIs3HjxtLS0oiIiLy8vHv37mE5t2zZUlhYGB4eXllZuX79euNKVCrV0qVLaTRaVFTUwYMHc3NzlUoldqIegUDw/Nvt27cN5+SZqA0MSQEBAbGxsQPdCwDAYGThOzwikZienr5u3bqAgADDqjmhUPjw4cMffviBSCRGRUWtXLkyNzfX3d29qqpq7969BAIhOjoaO0ivrKysqqpq9+7dOBwuOjo6NTW1pKTE398fq6exsbG5uTk2NpbBYAQEBFAoFMPx5TQaLS4uDiF08eJFBoOBnQphujYAAABWxfIvnvv4+EybNm3btm1r1qzBUioqKng8niH+BQUFVVRUaLVaX19fw07ePB4PIVRZWSmVSpcsWYIlVldXi8ViQ4hycXGJi4tLTk4eMWKEQCCYMGFCm6bLy8v37dv3v//7v1i1pmsDAABgVfpkp5V33nnn9u3bp0+fxi5pNBp2kipGLpe7uLhQqVTD/Rn6+6hVKpXK4/GM13a2WZAyb968OXPm3L9/f9++fXV1dfHx8YavmpqaPvnkk6VLlxq2lumyNgAAANajT97Dw+Fwq1atOnbsGHYZHBxcUVFRWlqKEJJIJNeuXYuKigoODi4vL3/06BFCqKqqqqCgAMspFArFYjGDwdDr9du3b8fOQ8eIRKLMzEwymRweHh4ZGfnixQvDV3q9/osvvhg7dmx4eLgh0XRtAAAArEpf7aXp5uY2f/78zMxMhBCdTk9PT9+8ebO9vb1UKk1OTuZyuQih5cuXr1+/3snJiUKhCAQChBCDwVi1alVGRgadTq+rq5syZYrxmavu7u4KhWLu3Ll0Or21tXXDhg2Gr+7fv3/jxo3CwsJff/0Vaz0rK8t0bQAAAKwK7sCBA8bX+/fvT0tLc3BwsHhLOp2uvr6eyWQan8Cr1Wrlcnmb5rCctra2HW6NiE1+MhiMbrXbWW1gaGhqaoqOjh7oXgAABtiNGzfodLpUKs3MzMRWLxrrv9MS8Hh8+4MbCARC++DaYU4D80OdObWBoQGHw2k0GthOEwBrptFocDiciQywlyYYCggEgkgk0mg0A90RAMDA0Gg0IpHIeAaxPTgPDwwFJBJJKpVKJBLTe6UDAIYqHA5HIBBMb6cFAQ8MESQSCbaOAwCYAAEPAADAoDNmzBjjy2vXrvUsjzEIeMAa1dbWKhQKnU430B0ZGHg8nsFg9HIxF4xhL8cQBrDLATQ8ocDhcEuXLu0yT5eNQsADVketVjOZzJiYGKt9U0WlUj148ECtVvd4ElitVnt5eXl4eMAY9mwMYQC7O4A7duxon9jmDq9LsEoTWB2tVhsUFGS1/9AghMhkclBQEHZoSc9otVoulwtj2OMxhAHs/S9hD8AdHrA6er0e3tgjEom9WdEKY4h6N4YwgMiMATRnltKcPAYQ8AAAAAw6165dW7NmzWeffWY6D/ahy5wYCwe80tLS7Ozsp0+fslisyZMnR0VFdbcGhUJBJBKt+U4f9Exubm5hYeHixYuxy8bGxi+++GLZsmWmn4prNJpt27ZdvHjR2dl51apVVn5O+tWrV8vKyubNm2dI2bVrV2BgILbVrfm6HFWdTrd79+4//vjj0KFDFuj3oPHo0aPvv//eOMXX13f+/PmmS8EvoZnarFvp8KmeaZZ8hldQULBhw4awsLD09PRx48bt3Lnz3Llz3a0kKyvr6tWrFuwVsBIREREFBQXXr1/HLvfs2cNisbpcRLd169aioqKsrKwZM2a899579fX1fd/TwYvP51++fLmoqAi7vHv3bl5eXkRERHfrMT2qNTU1CQkJd+7cMfyPNWR4eHgkG6mrq3N2du6yFPwS9htL3uF99dVXa9aswf48eeWVV9zd3Tds2PDGG2/gcDitVnvhwgWhUMjlcuPi4kgkkkqlys7OjomJOXPmDIPBmDZtmr29PfYHpkwmUyqVCQkJnZUKDg7+/fffExMTXVxcLNh/8FIjkUjLli37/PPPR40aVVZWdufOne+++850EZVKdfDgwUuXLrHZbB6Pd/PmzSNHjhjuEa0QlUpNSUnJysr6+uuv9Xr9N998s3jx4u5Ot3Q5qrW1tStWrAgJCRl6tzI0Gg07yxohdPbsWSaTmZCQYLoI/BL2J4vd4VVVVWk0GuPfYD8/v6NHj2JPFLds2VJYWBgeHl5ZWbl+/XqEkFKpPHr06PHjx0NDQyUSCZbI4XCYTCaHw/H29u6s1H//+9/s7OygoCAqlWqpzoOhISgoiM/n7927NzMzc+HChV3uMy4SiVgsFpvNxi4FAkFxcXHfd3NQEwgEzs7OJ0+ePH78uKenZ2RkZHdr6HJUAwICYmNjLdPdwerFixcHDx5csWJFl0sq4JewP1nsDq++vt7V1bXDr8rKyqqqqnbv3o3D4aKjo1NTU0tKSjgcjkqlSklJoVAofD5/+vTpTU1Nvr6+LBbL19c3MDCws1JarXbNmjXwkA90KDk5edasWV5eXuPHj+8ys0QicXJyMlw6OjoanypstRYvXrx8+XKEEHaepWlqtfqvv/7CPjOZTC8vLxhVvV7/5Zdfzp49283NrcvMMFz9yWIBj06nYyfVtVdZWSmVSpcsWYJdVldXi8ViDofDYDAoFApCyMbGhkajtbS00On0LkvRaDSIdqAzly9f9vLyqq6uLisr8/X1NZ3Zzs5OLpcbLhUKBRwRjBByc3OLjo4mk8nmPDKor6/fvHkz9jkqKmrFihUwqmfPntXpdFOnTjUnMwyX+XqwSqUNiwW8YcOG1dbWVldXG/6okUgkO3fuzMjIoFKpPB5v7dq1hswUCqWpqcl0hT0rBaxZbW3tgQMHtm3bdufOnR07dmRmZpqeUPL09KyqqmppacGmx0tKSry8vPqrs4MalUo1c/8LNpt99OhR4xQrH9UXL178+OOP27dvN/P9MCsfLhOwXVQMe6l0uZfmmDFjutxL02LP8AgEwsyZM7ds2VJTU4MQamxs3L59O4vFwuFwwcHBQqFQLBYzGAy9Xr99+3YTcYtIJGKLlLpVCgCE0I4dO6ZOncrlct98802E0IkTJ0znt7e3FwgEWVlZCCGxWHzw4MF33nmnPzo6pJkY1ZMnT8pksgHtXd/S6/Xbtm179913O3u+0x78Epqg/1sv8xhYcpXm22+/rdPpFi9ebGNj09LSMmnSpIULFyKEGAzGqlWrMjIy6HR6XV3dlClT7O3tGxsbO6wkPj4+IyOjuLh48+bN5pcC4PLly8+fP8cWN+Hx+KVLl65evVogEJh+M2HTpk1JSUmHDh1qbm5evny5n59ff/V3KOtwVNVqdXp6+q5du8aNGzfQHewrDx8+LCwsfPz48d69e7EUHo/X5QvR8EvYb3AHDhwwvt6/f39aWpqDg0OPa9Tr9Q0NDba2tm1OntXpdPX19ba2tl0+gdPr9Wq1GstmfikAzNTU1BQdHW2cIpFIbG1tsSfK1uPGjRvGT827pf0Yttd+VHU6HR4/pPbv7fEYwi8hxsQAjhkzxvgkhA5fYvnzzz+N8ximNKVSaWZmZlJSUpv8lt9aDIfDdRgv8Xi8mUdp4HA4Q3gzvxQAZsLhcBqNxngnQ3PeDh5iNBpNtzYhbKP9GLbXflSHWLTrzRjCLyEyYwCNv+3stATYSxMAUwgEgkgk4nK5Vrt7r0ajEYlEbeZgugXGsJdjCAPY5QB2uQLFzDzGIOABq0MikaRSqUQi6c1xAS81HA5HIBB6fBgegjHs9RjCAPb+l7AHIOABa0Qikfr5v7ShB8awl2AA+9+QmlIHAAAAOgMBDwAAgFWAKU1gjWpraxUKhU6nG+iODDp4PJ7BYPRyaTQMb2d6P7wwtp0xZ2wh4AGro1armUxmTEwMvNzZnkqlevDggVqt7vHjJbVa7eXl5eHhAcPbXi+HF8bWBHPGFqY0gdXRarVBQUHwT0aHyGRyUFCQVqvtcQ1arZbL5cLwdqiXwwtja4I5YwsBD1gdvV5vtS8/mYNIJPZmrTwMr2m9GV4YW9O6HFsIeAAAAKyCJZ/hffzxx0qlEiFEpVJDQ0OnTJliYichhUJBJBJN3JsbMjx9+nT16tV79+61tl3mQLfk5uYWFhYuXrwYu2xsbPziiy+WLVtm+iG2RqPZtm3bxYsXnZ2dV61a1eF+fQAhdPXq1bKysnnz5hlSdu3aFRgYKBAITJSC4TXHo0ePvv/+e+MUX1/f+fPnmy4FY9sDlrzDKyoqeuutt5KTkydPnvzHH3/s3r3bROasrKyrV6+ak4HNZq9atQqiHTAtIiKioKDg+vXr2OWePXtYLFaXy+G2bt1aVFSUlZU1Y8aM9957DzuaCrTH5/MvX75cVFSEXd69ezcvLy8iIsJ0KRhec3h4eCQbqaurM2dfTRjbHrDwKk1vb2/snxg3N7cVK1akpKQghLRabU5OjlAo5HA48fHxVCoV+2tRJpMplcqEhAS5XH7u3DmxWOzj4xMXF4fH440zTJo0qaioKCQkpMOqVCpVdnZ2TEzMmTNnGAzGtGnT4Lxg60QikZYtW/b555+PGjWqrKzszp073333nekiKpXq4MGDly5dYrPZPB7v5s2bR44cMdwjAmNUKjUlJSUrK+vrr7/W6/XffPPN4sWLTa+egOE1E41G4/F42OezZ88ymcyEhATTRWBse6avnuGp1WrDrqCffvppQUEBn8+vqalZuXKlVqvlcDhMJpPD4Xh7e6tUqkWLFsnl8ujo6Lt372K39sYZlErlqVOnOqtKqVQePXr0+PHjoaGhEokEOw4NWKegoCA+n793797MzMyFCxcyGAzT+UUiEYvFYrPZecZKcgAAIABJREFU2KVAICguLu77br6sBAKBs7PzyZMnjx8/7unpGRkZaTo/DG93vXjx4uDBgytWrOjyBAAY256x8B1ebm4ug8FQKBRnzpyZMmUKQkgoFD58+PCHH34gEolRUVErV67Mzc0dO3Ysi8Xy9fUNDAxECH355ZfYLTyDwdixY8f8+fN9fX0NGQyHvnZYVUhIiEqlSklJoVAofD5/+vTpTU1NPT7lC7zskpOTZ82a5eXlNX78+C4zSyQSJycnw6Wjo+OLFy/6sncvvcWLFy9fvhwhlJmZ2WVmGN5u0ev1X3755ezZs93c3LrMDGPbMxYOeA8fPqRQKIWFhSEhIbNnz0YIVVRU8Hg8w1LaoKCgioqKsWPHGpcqKyvbvXv306dP1Wq1ico7rCokJITBYGBP+GxsbGg0WktLCwQ8q3X58mUvL6/q6uqysjJfX1/Tme3s7ORyueFSoVDAfLhpbm5u0dHRZDLZxcWly8wwvN1y9uxZnU43depUczLD2PaMhac0k5OT09LSlixZkpeXh63YpNFoCoXCkEEul1OpVOMipaWlX331VUJCwvbt29etW2ei8i6rAlautrb2wIEDq1evfvfdd3fs2NHl206enp5VVVUtLS3YZUlJiZeXV9938+VGpVLNXEEGw2u+Fy9e/Pjjjx988IGZx5nC2PZMnzzDCw0NfeWVV7KzsxFCwcHBFRUVpaWlCCGJRHLt2rWoqCiEEJFIxJYVSSQSDw8PbOeLK1euGCoxZDDorCoAMDt27Jg6dSqXy33zzTcRQidOnDCd397eXiAQZGVlIYTEYvHBgwffeeed/uiodYDhNZNer9+2bdu7777r6upqZhEY257pq700582bt2rVqsmTJzOZzPT09M2bN9vb20ul0uTkZC6XixCKj4/PyMgoLi5ev379+fPn58+fr9frg4ODDTUYMqSnp2MpdDq9fVWGJ3zAyl2+fPn58+fYqiU8Hr906dLVq1cLBALTbyZs2rQpKSnp0KFDzc3Ny5cv9/Pz66/+WgUYXnM8fPiwsLDw8ePHe/fuxVJ4PN5nn31muhSMbQ/gDhw4YHy9f//+tLQ0BwcHyzaj0+nq6+uZTKbxge56vV6tVmMrmxsbG8lkcpupEuMMpqsCwHxNTU3R0dHGKRKJxNbWFt71NLhx40aPH4TD8Hapx8MLY9slbGylUmlmZmZSUlKbb/spZuDx+PZ/aONwOEMw6/CJq3EG01UBYD4cDqfRaIz3JDTnPV/rodFozHyS1CEYXtN6M7wwtqZ1ObawlyawOgQCQSQSaTSage7IYKTRaEQiUW+mT2B4Tejl8MLYmmDO2MKsILA6JBJJKpVKJJLenAkwVOFwOAKB0OPD8BAMr0m9HF4YWxPMGVsIeMAakUik3vybDkyD4e07MLa9AVOaAAAArAIEPAAAAFYBAh4AAACr0MEzPHO2hQUAAABeLh0EvLS0tObm5v7vCgAAANB7NBqtwzu3jldpcjic9q96dLgQtn2iOSkAAACAQfsXxs1J6TCRSCRKpdIOW+n0tQTjl/kBAACAlx28hweGiJaWFrVaDdMJAFgnHA5HIpFMnxkHAQ8MBS0tLTQazdvbG7YUB8A6abVasVjc3NxsIubBawlgKFCr1Ww2G6IdAFaLQCCw2Wy1Wm0iDwQ8MBTo9XqIdgBYOQKBYPqhBvwbAYag1NRU41drFi9e7OjomJycfPbs2Q6nOxQKxYcffrhjx4426TKZjEQiwWFjAAwNFg54paWl2dnZT58+ZbFYkydPjoqKsmz9XVIoFEQikUwmP336dPXq1Xv37oV/raxQfn7+F1984ejoiF1yuVwajfbZZ591Nrmv0Wjy8/Pbp3/yySfR0dHTp0/vw74CAPqLJQNeQUHB559//q9//SsxMfHJkyc7d+6USqVxcXEWbKJLWVlZoaGhEydOZLPZq1atgmhntV599VVXV1fDpVKpzM/Pj4yMxD7/97//LS8vHzt2rE6nc3Fx8fDwQAg9efLkp59+otFoiYmJLi4u586dKykpaWhoaGlpSUxMHLCfBABgIZYMeF999dWaNWtCQ0MRQq+88oq7u/uGDRveeOMNHA6n1WpzcnKEQiGHw4mPj6dSqSqVKjs7OyYm5syZMwwGY9q0afb29h0mIoS0Wu2FCxeEQiGXy42Li8NOx8ASnzx5giUSicSrV6+WlZXJZDKlUjlp0qSioqKQkBAspzmtI4SkUmlOTk5tbW1YWNjo0aMtODhgYLW0tBw+fDg1NRUhlJqa6uDgEBcXd/ny5du3b8+fP9/Dw0OpVO7fv3/MmDG3bt1KTk4+efKkl5eXk5OTl5fXq6++OtDdB8Da3b596+eff2qTOGPGLD4/0vxKLLZopaqqSqPRYNEO4+fnd/ToUew1+E8//bSgoIDP59fU1KxcuVKr1SqVyqNHjx4/fjw0NFQikaxfvx4h1GEiQmjLli2FhYXh4eGVlZXGiXfv3g0LC6usrFy7di1CiMPhMJlMDofj7e2tVCpPnTqF5TSzdZVKtXTpUhqNFhUVdfDgwdzcXEsNDuh/77///uS/KZVKQ3pxcXFVVdWnn34aGxu7ceNGMpmMpWs0mtWrV7/22mtr165VKBQ1NTX+/v6urq7+/v6jRo0aoB8CAPB/+PzI8HC+cUp4OL9b0Q5Z8A6vvr7eeAbJmFAofPjw4Q8//EAkEqOiolauXJmbmxsSEqJSqVJSUigUCp/Pnz59elNTE0KofWJ1dXVVVdXu3btxOFx0dHRqampJSQmJRBIKhT/88AMejx89evTZs2dVKpWvry+LxfL19Q0MDGxsbOxu601NTc3NzbGxsQwGIyAgAKZDX2rbt293dnbGPpPJ5JaWFuxzeXm5n5+fYUmnv78/9sHW1pZGo2Gf7ezsFApF//YXANCFGTPeaWxsfPz4IUJo+PBXZ8x4p7s1WCzg0en0zv6NqKio4PF4hr3KgoKCKioqQkJCGAwGFlRsbGxoNFpLSwuRSGyfWFlZKZVKlyxZghWvrq4Wi8V6vZ7H4+Hx/3eHGh8f31nHzG/dxcUlLi4uOTl5xIgRAoFgwoQJlhkaMBAcHR1ZLFb7dDs7O+N99urq6vqxUwCAnsPj8e+/P/frr3cihN5/f67h33/zWSzgDRs2rLa2trq62s3NDUuRSCQ7d+7MyMig0WjGsVAul7u4uJhfM5VK5fF42KQlhkKh5Ofny+Vyc4p3q/V58+bNmTPn/v37+/btq6urmz17tvn9BC8FPp+/YcOGM2fOjB8/Pi8vr6CgYOLEiZ1lJpFIEomkP7sHADCBTCbPm/dv7EMPilvsGR6BQJg5c+aWLVtqamoQQo2Njdu3b2exWDgcLjg4uKKiorS0FCEkkUiuXbvWrdcVgoODhUKhWCxmMBh6vX779u1NTU0jR4588uQJVmdNTc2CBQuw4x2IRGJ9fX2b4ma2LhKJMjMzyWRyeHh4ZGTkixcvejoYYOBNnTo18m8nT540pNNotD179pw4cWL69Ol5eXkmoh1CaObMmYcOHVqwYEHf9xcAYBY7O3s7O/uelbXkKs23335bp9MtXrzYxsampaVl0qRJCxcuRAjR6fT09PTNmzfb29tLpdLk5GQul2t4xtYlBoOxatWqjIwMOp1eV1c3ZcoUbEVlenr6J598gs1QLVq0CJu0jI+Pz8jIKC4uTk9Px4qb37q7u7tCoZg7dy6dTm9tbf3/7N1rXBPX2jD8NSEhZwhH0SBa5I4ngqiIoKnWUy0Utba0VmxlC7RaRNQKlm0VwQq6d203pdLdUg8IrdxiqX22p8q2Vtz10NuKCIhoE4RAJRBICATIeZ4P8755cocQEZFQcv0/ZdasueZK9OflzKxZa/fu3YPzu4Ah9+uvv/ZuvHbtGvHB3d09NzeX+JyQkECn011cXIx7EULGAhkQEHD58mW1Wv2M8wUADAUsPz/fdPvYsWOJiYkuLi4DjojjeHt7O5vNNpvqyWAwyGQyDoczsCmgiMPZbLbplSzR6OzsbLqYEY7jGo3G7IK3/2cn7n+yWKwBJAlspb29nc/n96enXq9/7bXXgoKCgoKCHjx48P333//www8cDudZZwgAGAKVlZUcDkcul2dnZ0dHR5vtHfy5NDEMc3Fx6V1XSCSSu7v7gCc8JA43K2NEo9nSfRiG9b692/+zs1gsqHZ/OsS7nv3p6eDgkJ+f7+PjU15e7urqevLkSah2AIwMOp3O4iKxRjCXJhgJHB0dJRKJp6cnMSmBdU5OTmvXrh2CrAAAQ0aj0dy7dw/WwwMjH51Ob2xsrKioMBgMts4FAGADJBLJ1dXVOIOuRVDwwAjB5XK5XK6tswAADF+wHh4AAAC7AAUPAACAXYCCBwAAwC7AMzwwEqhUqpaWFutvJpDJZE9PT5gTHAC7BQUPjAQYhgkEAutv1MnlcqFQOGQpAQCGG7ilCUYCnU732PfHXVxc+vlyOgBgRLLlFV5NTU1xcXFjY6O7u/vLL79sfUZppVJJoVB6T6HyREGAfVIqlTB7DgDAZld4ZWVlu3fvnjFjxvbt21944YXPP//8/PnzVvrn5OSUlpY+ZRBgh44fP7569WpY0BUAYLMrvIMHD6akpEyfPh0h9Nxzz40ZM2b37t0vvfSSRqM5ceKEceanvLy8t9566+rVq0KhsKOjQ6VSLV++/LFBiJkVL1y4IBKJuFxueHg4nU5Xq9XFxcUBAQEXL16MjIy8cuXK3Llzz549y2KxVqxYQazAoNPpSkpKRCKRj49PWFiYo6Oj6VFRUVEUCuXChQutra0zZsyYM2eOLX458ASOHz9eWFi4evVquMIDANjmCq+hoUGr1RKFijB58uSioiIMw1Qq1enTp43tp06d0mq1XC6Xw+FwuVxfX9/+BEEI7du3r6ysLDg4uLm5OSkpSafTqVSqEydOFBcX8/l8EolUVFR06tSp6dOnS6XS1NRUIkJmZmZ5eXlQUFB9fT3RaHqUg4PD5s2bGQxGSEhIQUHB1atXn/UPBZ5Ua2ur8bOx2kVFRdkwJQDAMGGbKzyZTDZq1Kj+9/fz83N3d/fz8/P39+9PEJFIdP/+/aNHj1IolJCQkKSkpKtXrwYGBup0upSUFCqVqlAo1Gr1hg0baDRacHDwypUru7q6mpqaGhoacnNzMQwLDQ1NSEiorq7mcrnGo1paWrq7uxcuXMhisaZOnQoD3Iebzs7OdevWERUOqh0AwIxtCh6TyXz6ZypWgtTV1fF4POOyQXw+v66uLjAwkMFgGIe9sFgsomI5ODgwGIyenp76+nq5XL5p0yaiQ1NTk0Qi4XK5xqM8PT3DwsJiYmImTZokEAiWLFnylF8BDC42m7169erCwsLKysqqqiqodgAAU7YpeOPHj29tbW1qaho9ejTRIpVKP//88/T0dAcHB71eTzTiOG5lHLmVIAwGw7QWdnZ2enp6PjYrOp3O4/F27NhhbKHRaF1dXaZ9YmNj16xZU1VVlZeX19bWtnr16n5/aTAUiAoH13YAgN5s8wyPTCa/8cYbmZmZzc3NCCGFQpGVleXu7o5hGIvFwjDs9u3bOI7/8MMPxuJHoVBkMlk/gwQEBNTV1dXU1CCEpFLplStX+vO6QkBAgEgkkkgkLBYLx/GsrCyzaicWi7Ozs6lUalBQ0OzZs1taWgbrBwGDKCoqas+ePVDtAABmbDZK8/XXXzcYDBs3bnRwcOjp6Vm6dOn69euJXe+9915aWhqFQlmzZo3xDmR4eHh6enplZWVGRsZjgzCZzO3bt2dkZDg7O8vl8piYGB8fH4VCYT0lFouVnJycnp7OZDLb2toiIiKcnZ1NjxozZoxSqVy3bh2TydTr9bt37x7kHwUMEtOhTAAAQMDy8/NNt48dO5aYmOji4jI0p8dxvL29nc1mk8n/q/QaDAaDwWDWiOO4RqPp/e65lSAymYzD4Zi1W0ccxWaze5+IQNwshWHuw4parfbz87P+95aYWqyvP1YAwIghl8uzs7Ojo6PN2m08lyaGYRb/kSKRSCSS+e1WDMMs/mtlJYi7u/uTpvTYo6DUDUNUKlUoFD528miodgDYM5g8GowQVCoV6hkAwAqYPBoAAIBdgIIHAADALkDBAwAAYBfgGR4YIVpbW5VKpcFgsHUiAAAbIJFILBbL+pBDKHhgJNBoNBwOZ+7cuTBuBQD7pFar7969q9FoHB0d++oDtzTBSKDT6fh8PlQ7AOwWlUrl8/nW302CggdGAhzHjXOFAwDsE4VCwXHcSgcoeAAAAOzCYBa8tLS0K1eumDXm5OQUFxcPLKBSqfz66683bty4ZcuWoqIi43gEpVKpVqufJk/TGTLr6uqysrL66tzY2LhmzRqVSmVxb3d39549eyxm/jQZgqdhMBi+/PLLNWvW2DoRAMDwMpgFr6KiorCw0LSlsbHx9OnTYrF4YAHT0tIMBsOOHTsSEhLKysqOHj1KtOfk5JSWlj5Nnlqt1ripVCqrq6v76uzl5ZWcnNzXWq9arbaysrJ3+1NmCAasubl5+fLlv/322y+//GLrXAAAw8sgj9Ls7u6+d+/e5MmTic2zZ8+aLkre2dl5/vx5iUQyYcKEsLAwEolUX19/8+bNyMhIhJBIJKqsrHzllVeIzmq1+t69ex9//DGGYQihbdu23blzByFUWloqFAo7OjpUKtXy5ct1Ol1JSYlIJPLx8QkLC3N0dFSr1cXFxfPmzTt9+jSNRgsPD+//6uq9o+n1+oqKisDAQCKls2fPNjY2zpo1C8dxNzc3Ly8vhJBYLD579iydTl+2bJmbm5tZhoP244J+aG1tff/99wMDA2HBBACAmUF+hhcREXH69Gnis1qtvnTpUlhYmHEzPj6+s7MzNDT01q1bR44cQQiNHTv2559//u2334j158aMGWMMRaVSx40bd/jw4c7OToSQh4fH4sWLEUJcLpfD4XC5XF9fX4RQZmZmeXl5UFBQfX19amoqQkilUhUVFX311VdTp05ls9mJiYltbW39zN9iNOM3SktLe/DgwaxZs3799devv/66traW+F7ff//9tGnTenp6UlJScBw3yxAMpalTpy5cuNDWWQAAhqNBvsJbtGjRhg0bOjo6nJycSktL+Xy+q6trU1MTQohKpX766aceHh4IIRaL9dlnn8XFxZFIpM2bN3/88cfLli3jcrnBwcGm0TIzM/Py8tatW+fj47N48eKXXnqJRCL5+fm5u7v7+fn5+/sLhcKGhobc3FwMw0JDQxMSEqqrq7lcbk9PT3x8PLES+qNHj86cOWO2TkRSUpKDgwPxWaPR0Ol0hFBf0Yhu9+/fb2pq+uijj8hkcmhoqHH1Pq1Wu379ejqdPmfOnKioKKlUaprh4P68AAAABmyQCx6dTn/++edLSkoiIyPPnDkTGxtLLEdOEAqFubm5jY2NGo3G2Mjj8fz9/Q8dOlRQUGAWjcPhbNmyJSEh4c6dO8ePH6+rq4uPjzftUF9fL5fLN23aRGw2NTVJJBIul8tgMIhqhxCaOnXqtWvXzCLv3LnTzc2N+FxTU0M8HewrGrHZ2Njo5+dnXFrPz8+P+MBisYh6SXzu7u5+wt8MAADAUBj8mVaWLVuWnp4eGBjY3d09bdq0kpISor2mpubgwYMpKSk8Hu/Ro0d79+4l2tVqdUVFxejRo8vKyhYsWGCMo1QqHz16xOPxyGTyzJkzvb29ExMTzQoenU7n8Xg7duwwttBotK6uLrVardPpiOLU3t7OYDDMkuRwOMYl9NhstvVoxGcWi2U6trO9vX3gvxEAAIAhN/jv4Y0fP97V1fVvf/tbRESEabtUKvX29iamw7h8+bKx/Ztvvpk2bdquXbsOHTpkWlFUKlVSUtLvv/9ObF66dMn4hI9CochkMoRQQECASCSSSCQsFot4CkjUJ71eTzx4U6vV58+fnz17dn8y7yuacW9jY+PPP//c09Nz9erVu3fvWgllzBAAAMAw8Uzm0oyIiPjHP/6xZMkS08bg4OAff/wxLi4Ox/GAgACi8eHDhz/99FNubi6LxQoLC/vnP/+ZkpJC7HJ3d9+yZcuuXbsYDEZnZ6enp+df//pXYld4eHh6enplZWVGRkZycnJ6ejqTyWxra4uIiHB2dlYoFE5OTs3NzevXr+/o6BAIBAKBoD9ps1gsi9GIvXQ6PTMz89ChQ8eOHZs5c6b1mKYZPtFPBwAA4BnB8vPzTbePHTuWmJhovN036BQKBZVK7eu1tt5wHG9rayOTyRwOx6xdo9EQcycaDAaZTMZms4lNhUIRFxd38uRJ4vqMyWQ+UYZm0Uy1t7cb00hLS5s/f77pPdjemRszBM9aV1dXaGiorbMAANjY9evXmUymXC7Pzs42G6uIhn61BGdn5yfqj2GYxeUeMAwz1hISiWSxz5OWOuvRDAZDSkoKn8/n8/kPHz588ODB+++/bz1zqHZDBsMwrVYL02kCYM+0Wi3x3nZfRuBcmjQabe3atYMelkQiHThwYMyYMdXV1c7OzgcPHnRychr0s4CBIZPJYrHYdAIdAIBd0Wq1YrHYOJDeohG4Hh6VSl22bNmziMxisVauXPksIoOn5OjoKJfLpVKp9bnSAQAjFYZhZDLZymJ4aEQWPGCfHB0drf9dBwDYuRF4SxMAAADoDQoeAAAAuwAFDwAAgF2AZ3hgJFCpVC0tLTqdzkofMpns6enZ/3dAAQAjDBQ8MBJgGCYQCMxmJzAjl8uFQuGQpQQAGG7glqY5nU4H02D+6eh0OuvVDiHk4uJi/RIQADCy2bjgfffdd19//bVNTq1UKtVqtVljVVXVW2+9tWPHjt67+q+7u3vPnj1Plx0YTEql0tYpAABsz5YFT6fTFRcXX7hwwXSRhCGTk5NTWlpq1njhwoWVK1d++eWXTzMrmFarraysfLrswKA5fvz46tWroeYBAGz5DO/mzZu+vr7u7u6XL19esWIF0ajT6UpKSmpra318fMLCwojZEftqvHDhgkgk4nK54eHhdDpdrVafOHHCOK9YXl7eW2+9pdfri4uL586de/bsWRaLtWLFCmdn59LSUqFQ2NHRoVKpli9fTvQvKSmpqamRyWRkMvm1116zGL+4uDggIODixYtRUVGenp7EgXK5/MKFC62trTNmzJgzZ47pd+wryLx5806fPk2j0cLDw0eNGmX8jiKRiPiOxDvUViKD/jh+/HhhYeHq1atZLJatcwEA2Jgtr/AuXry4cOHCBQsWXLx40diYmZl569atGTNm1NfXG9ditdi4b9++srKy4ODg5ubmpKQknU6nUqmIZfAIp06d0mq1KpWqqKjo1KlT06dPl0qlqampCCEul8vhcLhcrq+vr7G/j48P0ThhwoS+4p84caK4uJjP5xtXOVer1Zs3b2YwGCEhIQUFBVevXjX9jhaDFBUVffXVV1OnTmWz2YmJiW1tbcR3LC8vDwoKqq+vJ5K0HhlY1NraavxsrHZRUVE2TAkAMEzY7ApPqVSWl5cnJSXRaDSZTCYWi318fIRCoUgkOnr0KIlEmjNnzrlz59RqdUNDQ+/GxsbG+/fvHz16lEKhhISEJCUlXb16NTAw0OK51Gr1hg0baDRacHDwypUru7q6/Pz83N3d/fz8/P39jd0mTZpENAYGBopEIovxdTpdSkqK6Q1PhULR3d29cOFCFos1depUGo3W0dFB7OorSE9PT3x8/OjRoxFCjx49OnPmzNy5cxsaGnJzczEMCw0NTUhIqK6udnd3N4v8LP9ARoLOzs5169YRFQ6qHQDAjM0KXmlpqaur66VLlxBCHh4eFy9ejImJqa+v5/F4JNL/d90ZHh6OELLYWFdXx+PxjMvB8Pn8urq6vgoei8UiqoWDgwODwejp6XnsykF9xWcwGGaP9zw9PcPCwmJiYiZNmiQQCEyXvbUShKh2CKGpU6deu3bN29tbLpdv2rSJaGxqapJIJFOmTOkrMrCIzWavXr26sLCwsrKyqqoKqh0AwJTNCt6///1vHo8nkUgQQjwe79KlS+vWrSMWNzfr2Vej6TAEYkl0BwcHvV5PtOA4/jRj0C3G76tzbGzsmjVrqqqq8vLy2traiJJsJYhardbpdMQyFu3t7QwGg06n83g8491ahBBRoc0ir169esDfyE4QFQ6u7QAAvdnmGd6jR48aGxu3bt0aGxsbGxsbHx/PYDDKy8unTZtWW1tbU1ODEGpubn733Xe1Wq3FxoCAgLq6OqJRKpVeuXIlJCSExWJhGHb79m0cx3/44Qdj8bOIQqFYed/OYnyLPcVicXZ2NpVKDQoKmj17dktLy2OD6PV64lmjWq0+f/787NmzAwICRCKRRCJhsVg4jmdlZXV1dVmJDKyIioras2cPVDsAgBnbXOFdvHjx+eefN12pb+HChRcvXpw+ffr27dv37t3r5OQkl8vj4+MpFAqFQumrMSMjw9nZWS6Xx8TE+Pj4IITee++9tLQ0CoWyZs0a668WhIeHp6enV1ZWZmRk9N7LZDJ7x7f4+sSYMWOUSuW6deuYTKZer9+9e/djgzg5OTU3N69fv76jo0MgEAgEAoRQcnJyeno6k8lsa2uLiIhwdnZmMpl9RQbWTZ8+3dYpAACGHSw/P990+9ixY4mJiS4uLrZKCCFkMBhkMpmzs7Px6Zf1Rg6HY1o7DQaDwWCwvu4tAcdxjUZjpS5ajG8RcevS4th3syAKhSIuLu7kyZNdXV0IIdOniURPNpttmpKVyMBIrVb7+flZ/3tLTC32NG9YAgD+FORyeXZ2dnR0tFn7cJxLk0Qiubu7P02jcYSLdRiGWf/nz2J8i6wUpL6C9B44Y7EnlLr+oFKpQqHwsZNHQ7UDwJ4Nx4I3stFoNOOr8WAQUalUqGcAACtg8uihRqVSly1bZussAADA7kDBAwAAYBeg4AEAALAL8AwPAADAALW2tiqVSoPBYOtEEIlEYrFY1ocZQsEDAAAwEBqNZty4cd7e3sNhvJharb57965GoyEmdIClAAAgAElEQVSWmrEIbmkCAAAYCJ1O5+PjMxyqHUKISqXy+Xzr7yZBwQMAADAQOI6bzgRicxQKBcdxKx3gliYAAID/pba29v79+1KpFCHk4eExceJE06VD/7wG8wovLS3typUrZo05OTnFxcUDC6hUKr/++uuNGzdu2bKlqKiIeC7a3d29Z8+ep80VAACAJTdv3iwtLZVIJHq9Xq/XSySS0tLSmzdvWj9KJpNt27Zt4cKFf/nLX8rLy4lGrVa7f//+JUuWREVF3b59+9nn/hiDWfAqKioKCwtNWxobG0+fPi0WiwcWMC0tzWAw7NixIyEhoays7OjRowghrVZbWVk5COkCAAD432pra6uqqnq3V1VV1dbWWjlw7dq1jo6OBQUFkZGRb7/9dlNTE0LowIEDFRUVOTk5RKOVBWqGxiDf0uzu7r53797kyZOJzbNnz44aNcq4t7Oz8/z58xKJZMKECWFhYSQSqb6+/ubNm5GRkQghkUhUWVn5yiuvEJ3VavW9e/c+/vhjDMMQQtu2bbtz547Z6XQ63YULF0QiEZfLDQ8Pp9PparW6uLh43rx5p0+fptFo4eHhRAI6na6kpEQkEvn4+ISFhVkZxgMAAHbr/v37Vnb1dWNTKBTW1taePn0awzAul/vrr78WFRVt2LChoKDg0qVLXl5ePB7vxo0bhYWFGzdufGa5P94gF7yIiIjTp08TBU+tVl+6dGnlypVEqVer1fHx8S+88EJoaOj58+ebmpri4uLGjh3797//ffz48TNnzszKynr77beNoahU6rhx4w4fPrxq1So2m+3h4bF48WKz0+3btw8htGTJkrKysqSkpM8++0ylUhUVFd27d2/JkiUtLS2JiYlffPGFm5tbZmYmmUxesGDBzZs3U1NT9+/fP7hfHNjWrVu3bJ0CACNBc3PzAHYRLwMQFycIITabfffuXbFY7O7u7uXlRTQKBIJz584NbrZPapBHaS5atOi3337r6OhACJWWlvL5fFdXV2IXlUr99NNPY2NjZ82a9frrr//2228IIRKJtHnz5q+++ur06dNcLjc4ONg0WmZmJrEg3Pvvv3/u3DmzdxtFItH9+/dTUlJCQkLi4+PpdPrVq1cRQj09PfHx8fPmzYuMjJw7d+6ZM2eEQmFDQ8Nf//rX0NDQxMREpVJZXV09uF8cAADs1qRJk9hs9sGDB/V6/a+//vrNN9+oVCqpVOrm5mbs4+rqavNVrAf5Co9Opz///PMlJSWRkZFnzpyJjY01/U+BUCjMzc1tbGzUaDTGRh6P5+/vf+jQoYKCArNoHA5ny5YtCQkJd+7cOX78eF1dXXx8vHFvXV0dj8czDorl8/l1dXWBgYEMBmP06NFE49SpU69du+bt7S2Xyzdt2kQ0NjU1SSSSKVOmDO53BzY0c+ZMW6cAwEjQ0tIikUgs7jJ9PmWGRCLl5+d/8MEHBw8eDAwMTExMvHPnjpOTU2dnp7GPUql0dnYe/IyfxOC/lrBs2bL09PTAwMDu7u5p06aVlJQQ7TU1NQcPHkxJSeHxeI8ePdq7dy/RrlarKyoqRo8eXVZWtmDBAmMcpVL56NEjHo9HJpNnzpzp7e2dmJhoWvAYDAaxOCqhs7PT09OTCKjT6YjVVtvb2xkMBp1O5/F4O3bsMHam0WiD/sUBAODPbuLEiX0VvIkTJ/Z1lEaj6e7uLioqIjYzMzP5fP7YsWMbGhp6enrodDpCqLq6ety4cc8i5/4b/BfPx48f7+rq+re//S0iIsK0XSqVent78/l8KpV6+fJlY/s333wzbdq0Xbt2HTp0SKFQGNtVKlVSUtLvv/9ObF66dGnMmDGmAQMCAurq6mpqaojgV65cCQkJQQjp9frTp08jhNRq9fnz52fPnh0QECASiSQSCYvFwnE8KyuLWG0cAACAKV9fX39//97t/v7+Vl7FI5FIb7755vXr1xFCv//+e3Fx8SuvvOLs7CwQCHJychBCEomkoKBg1apVzy7z/ngmL55HRET84x//WLJkiWljcHDwjz/+GBcXh+N4QEAA0fjw4cOffvopNzeXxWKFhYX985//TElJIXa5u7tv2bJl165dDAaDuHr761//ahqQyWRu3749IyPD2dlZLpfHxMT4+PgoFAonJ6fm5ub169d3dHQIBAKBQIAQSk5OTk9PZzKZbW1tERERNr+yBgCA4WnWrFlubm5P9OI5mUz+6quvEhMTyWRyV1fXJ598Qtxv++ijj6Kjo7/99tvu7u6tW7caB/DbCpafn2+6fezYscTERBcXl2d0PoVCQaVS+39HEcfxtrY2MpnM4XAsdjAYDDKZjMPhEPcwFQpFXFzcyZMniWs4JpNp1pPNZg+Tmd8AAOBPraurKzQ01LiJ43hra6uLiwvxr7GRVCpls9lD8yDp+vXrTCZTLpdnZ2dHR0eb7R3qqcWe9NIKwzDryz2QSCSLHUxLnfWeAAAABgDDMK1Waxw5iGGYh4dH724WG58FrVZrfDXCopE2eTSNRlu7dq2tswAAgJGPTCaLxWKtVmvrRBBCSKvVisVis4tLMyNt8mgqlbps2TJbZwEAACOfo6OjXC6XSqXW1ygYGhiGkclk67NojbSCBwAAYMg4Ojr+iWZqHGm3NAEAAACL4AoPjBCtra1KpdJs/jkAgJ0gkUgsFsv6yEQoeGAk0Gg0HA5n7ty58M4JAPZJrVbfvXuXmMa6rz5wSxOMBDqdjpjEx9aJAABsg0ql8vl8nU5npQ8UPDAS4DhufBkIAGCfKBSK9fGiUPAAAADYhcEseGlpaSkmLK4T/1iNjY1r1qxRqVRPeaxSqVSr1QMIYmSM8DQpgaGn1Wr379+/ZMmSqKio27dv2zodAMBwMZiDVioqKlJSUoyTXpotbtBPXl5eycnJA5t1zfTYnJyc6dOnv/jiiwOIQzBGeJqUwNA7cOBAZWVlTk5OVVXV22+/feXKFeMqxAAAezbIozR9fX1NR4Wq1eri4uKAgICLFy9GRUW5urpeuHBBJBJxudzw8HBikSS5XH7hwoXW1tYZM2bMmTNHr9dXVFQEBgYihHQ6nVl/IuDcuXPPnj3LYrFWrFhhOjmn8djS0lKhUNjR0aFSqZYvX67T6UpKSkQikY+PT1hYmKOjo1lidDr9/PnzEolkwoQJYWFhJBLJNMLSpUsHkJLZ9xrc3xn0Ra1WFxQUXLp0ycvLi8fj3bhxo7CwcOPGjbbOCwBge8/2GZ5KpTpx4kRxcTGfz6fT6fv27SsrKwsODm5ubk5KStLpdGq1evPmzQwGIyQkpKCg4OrVqyqViljNDiHUu79KpSoqKjp16tT06dOlUmlqaqrZ6YhjuVwuh8PhcrnEkhaZmZnl5eVBQUH19fXEIaaJkUik+Pj4zs7O0NDQW7duHTlyxCzCAFLq/b2e6e8MjMRisbu7u5eXF7EpEAgqKyttmxIAYJgY5Cu8pKQkBwcH4vMXX3yBENLpdCkpKVQqVSQS3b9//+jRoxQKJSQkJCkp6erVq5MnT+7u7l64cCGLxZo6dSqNRuvo6CAOt9g/MDBQrVZv2LCBRqMFBwevXLmyq6ur98IIfn5+7u7ufn5+/v7+QqGwoaEhNzcXw7DQ0NCEhITq6moul2tMDCH06aefEvN5s1iszz77LC4uzjSCcVna/qfU1dVl9r0G93cGfZFKpW5ubsZNV1fXlpYWG+YDABg+Brng7dy50/jPjaOjo0qlYjAYRFGpq6vj8XjGseN8Pr+urm7+/PlhYWExMTGTJk0SCASma8Za7B8YGMhisYj64eDgwGAwenp6ehc8U/X19XK5fNOmTcRmU1OTRCLhcrnGxBBCQqEwNze3sbFRo9FYCdX/lDw9Pfv6XuCZcnJy6uzsNG4qlUpY7BcAQBjkgsfhcPpaPJbBYCiVSuMmsYg5Qig2NnbNmjVVVVV5eXltbW3h4eHW+z8pOp3O4/F27NhhbKHRaMTysISampqDBw+mpKTweLxHjx7t3bu3r1BPlJLZ91q9evUAkgdPauzYsQ0NDT09PcQT4urq6nHjxtk6KQDAsDB07+EFBATU1dXV1NQghKRS6ZUrV0JCQsRicXZ2NpVKDQoKmj17tundJ4v9+386CoUik8mIOCKRSCKRsFgsHMezsrJMqx0R3Nvbm5in4/Lly70jDCAlK98LPFPOzs4CgSAnJwchJJFICgoKVq1aZeukAADDwiBf4b3zzjvGBWc3btwYFBRk3MVkMrdv356RkeHs7CyXy2NiYnx8fHQ6nVKpXLduHZPJ1Ov1u3fvtt7f+DjtscLDw9PT0ysrKzMyMpKTk9PT05lMZltbW0REhLOzs2mc4ODgH3/8MS4uDsfxgICA3hG2b9/+pCmNGTOmr+8FnrWPPvooOjr622+/7e7u3rp16+TJk22dEQBgWMDy8/NNt48dO5aYmNjXbcmnZzAYZDIZh8MxXZeWuE/IYrH62b+fcBzXaDTEgzoiDpvN7mu6RYVCQaVSzUaXmEYYQEpWvhcYXF1dXaGhoaYtUqmUzWbDcCEA7Mr169eZTKZcLs/Ozo6OjjbbO9SrJZBIpN7LN1gpCRb79xOGYcZa9dg4Foc2mEYYQEpQ6oYMhmFardZ0Ok1i2C0AwH5otVrjLUaLYC5NMBKQyWSxWKzVam2dCADANrRarVgstn7jDdbDAyOBo6OjXC6XSqXW50oHAIxUGIaRyWQri+EhKHhgxHB0dLT+dx0AYOfgliYAAAC7AAUPAACAXYCCBwAAwC5YeIaXnZ099HkAAAAAz5SFgpeYmNjd3T30qQAAAABPj8FgWLxyszxKk8vl9n6lyeKA796N/WkBAAAAjHq/MN6fFouNFApFLpdbPEufryWYTloBAAAA/NnBoBUAAAB2AQoeAAAAuwAzrYCRQKVStbS06HQ6K33IZLKnpyesnwCA3YKCB0YCDMMEAgGHw7HSRy6XC4XCIUsJADDcwC1NMBLodDrr1Q4h5OLiYv0SEAAwsg3mFV5aWtrWrVuNC8uJxeKTJ09u27ZtAKEUCkVeXl5NTY2Xl1d0dPT48eOJ+CqVCiHEZrP5fP7SpUt7L1Zn7EOn04OCgsLDwzEM6+7uPnDgQGpq6gAyaWxs/OCDDw4fPgy3wgAA4E9tMK/wKioqTN/e6+rqqq6uHliozMxMJyen9PT0efPm7dy5U61WE/FfffXVmJiY+fPnl5WVbdu2jWg3y4HoEx4e/u9///vIkSMIIa1WW1lZObBMvLy8kpOTodoBAMCf3RA9w5PL5RcuXGhtbZ0xY8acOXMQQjqdrqSkRCQS+fj4hIWFmS7sotfryWRydHQ0iUTy9PQ8depUXV3dxIkTEUK+vr7u7u48Hk8gEKSlpZ06derNN980OxfRByHk6emZkpISGxtLtIvF4rNnz9Lp9GXLlrm5uZWVlXV3dwsEAmLvt99+Gx4e7uLiYpaqXq+vqKgIDAw05lxbW0vkTLyq2PurAQAAGIaG4hmeWq3evHkzg8EICQkpKCi4evUqQigzM7O8vDwoKKi+vt7sZqODg0NGRgaJREIIdXZ2trS0cLnc3mGXL19+48YNK+d1cHAwGAzGHL7//vtp06b19PSkpKTgOM5kMg8dOkTsffjw4blz5zgcTu9UVSrV6dOniW6ZmZm3bt2aMWNGfX39jh07+vpqAAAAhqGhuMJTKBTd3d0LFy5ksVhTp06l0WhCobChoSE3NxfDsNDQ0ISEhOrq6ilTppgdaDAYDhw4sGLFChaL1TvsqFGj2traerdLpVK9Xt/R0ZGXlzdv3jyiUavVrl+/nk6nz5kzJyoqSiqVTpw4kUKhPHjwgMfjXb58efHixRiG9U61o6ODiCAUCkUi0dGjR0kk0pw5c86dO6dWq3v3H9RfDgAAwKAZioLn6ekZFhYWExMzadIkgUCwZMmS+vp6uVy+adMmokNTU5NEIuld8D7//HMqldr7piVBLpczmcze7Z9++imZTGYwGDNmzFi1ahXRyGKx6HS68TMxO/aiRYt+/vlnHo9XWlq6d+9ei6kaw9bX1/N4POK6EyEUHh5uvT8AAIBhZTALHpPJ7OjoIJ6fIYQ6OzuNBSk2NnbNmjVVVVV5eXltbW3jxo3j8XjEXUFC72ujvLy85ubmPXv2WJwwFCF09epVPp/fu33fvn3GHKxbtGjRli1bnn/+eWdnZ29vb4upEoUNIcRgMDo7O3sHMeu/evXq/pwaAADAEBvMZ3ihoaFffvklURVaW1vz8vKIISFisTg7O5tKpQYFBc2ePbulpSUgIEAkEkkkEhaLheN4VlZWV1eXaaj/83/+T3l5eWpqKplsoSQrlcri4uJLly698cYbT5Owh4eHt7d3Tk7Oiy++SLT0TtXYedq0abW1tTU1NQih5ubmd999V6vVWukPAABgWBnMK7zY2NiDBw9GRUVxOByFQhEREfH6668jhMaMGaNUKtetW8dkMvV6/e7du1ksVnJycnp6OpPJbGtri4iIML69hxDq6Oj45z//6ejoGBUVRbRs2LCBqEnvvPMOQohMJvP5/E8++cTDw+Mpc16yZElWVtb8+fOJzd6pGnsyGIzt27fv3bvXyclJLpfHx8dTKBQr/QEAAAwrWH5+vun2sWPHEhMTXVxcBhxRpVK1t7e7urqavmmAEFIqlQgh0+EnBoNBJpOx2eze748PmUuXLl2/fv3DDz80beydqhGRs7Ozs+nySVb6g6GhVqv9/Pys/70lphaz4V82AMDQkMvl2dnZ0dHRZu2DP2iFRqN5eXn1bu9dD0gkUj8ftj0LOI7n5+f/9NNPO3fuNNtlpXRZzBlKnc1RqVShUPjYyaOh2gFgz+x38mi1Wu3m5paWlubr62vrXMAgoFKpUM8AAFbYb8Gj0WgRERG2zgIAAMAQgdUSAAAA2AUoeAAAAOwCFDwAAAB2AQoeAAAAuwAFDwAAgF0Y4ChNlUrV0tLy2NeePD09YQEBAAAAw8EACx6GYQKBgMPhWOlDTGwxsPgAAADA4BrgLU2dTme92iGEXFxcrF8CAgAAAEPmmTzDI+aWfHaI1ewGtndoDIccAAAAmBr8gnf8+PHVq1dbr3lCoTAnJ2fnzp379++/fPkyjuN99ZRIJPv3779//77xw6NHj957772SkhKL/a3vfazOzk6Li9490YFPmQMAAIBnYZAL3vHjxwsLC1evXm1lPuXffvtt7969Dx48GDt2rFqtPnz48LFjx/rq3NPTc/fuXYVCYfzg6en51ltvzZw502J/63sfKysrKysr6ykPfMocAAAAPAtPO5dma2urcfUAY7UzrmPXm16vP3LkiJeXV2pqKoPBQAgdOXLk0qVL4eHhnp6eOp3uypUr9fX1HA7nhRdesLjaS0dHR2tra3d3t5ubm0QiuXnzZltbm4+Pz7x588hksune3tFkMtmFCxcEAsGdO3dkMllQUNCUKVOMkUtLS6VSKUKosLAwMjKSQqFotdorV66IxWI3N7cFCxaw2WyEUO+Tmh3Y2dlJ5IBhmMXTdXV1Xbx4UalUzp07t6amhkajvfDCC0/5BwEAAMC6p7rC6+zsXLdu3fHjx1H/qh1CSCQSdXZ2Ll26lKh2CKFVq1alpqYSS59//PHHx48fV6lUv/zyy4cfftjW1tY7gkKhOHfuXFNTk1wu37Vr140bN3AcP3HixNdff22612I0Ym92dnZVVdVvv/22f//+2tpaY+Suri6dTqfT6drb23Ecx3H8wIEDJ0+e1Gq1//nPf3bt2tXV1WXxpGYHGnOweDq9Xp+RkfHDDz80Nzfn5OScOXPmf/7nf57mTwEAAEB/PNUVHpvNXr16dWFhYWVlZVVV1WOrHUKovb0dIeTp6WlsYTKZfn5+CKGKiorq6uq4uLj58+e3tbUlJSWdO3dOIBD0FeqPP/5QqVSLFy9esGDB4sWLVSqV6d7Kysq+os2ZM2flypUtLS3btm2rrKw0Lg8UHh5+69YthNB7771nzGfnzp0TJ05UKpWJiYnXrl0bPXp075OaHWjG7HQKhaKhocGY2LZt2/rzUwMAAHhKT3tLk6hw/bm2I9DpdISQxYEhjY2NCKGpU6cihNzc3EaNGtXQ0GAlFI/H8/PzO3LkyKlTpyZNmhQeHt7PaFwuF/3/RdesTPaOkJOTQ2zq9XqJRDJ//nwrJ7XI7HTNzc2miXl4eDw2AgAAgKc3COvhRUVFTZ48efr06f3pPGHCBDKZfOPGjZCQEKLl559/PnXq1LZt24y1kHgoqFQqR40aZSWUo6Pj7t27Gxoaampqzp07t2/fPmNxQiaVtZ/ReiPmiHnvvfecnZ2JFiaTafGkZPIT/IxEYnK53N3dXa/XK5VKqHkAADAEBmeUZj+rHUKIwWCEhYXdunUrJyfnxo0b//rXv7799ls3NzcfH5+AgAAKhfLdd981NTX961//UigUwcHBVkKVl5dv2bJFLBbPmjXrueee02g0BoPBuPdJoxGoVGpbW9uDBw8QQtOmTSOTyf/5z38oFEpdXd0nn3xSV1fX10lND7Ru2rRpVCo1Pz//+vXrhw4dsnKJCQAAYBAN8AqPTCbL5XKLoyiN5HK5xUuf119/nUKh/Pjjjzdu3HBwcJg1a9batWsxDHNzc0tISDh69Oj27dspFMqyZcvmzp378OHDvuL7+/tPmjTpq6++wnGczWa/++67jo6Oxr1PGo2wePHiL7/88qOPPvriiy/c3Nw2btyYl5f3n//8x8HBYd68ef7+/jiOWzyp6YHWT8HhcLZu3frdd999//33L7zwwpgxY6z3BwAAMCiw/Px80+1jx44lJiZar2QEtVr92MmjqVRqX3txHO/o6KDT6aZVytjOZDL7eZ9Qq9V2dXU5OztjGNbXWfofDSFkMBjUajVx49EYgcFgUCgU6yc1O7Aver3+999/d3d3J25pbt68edKkSQkJCf1MDwAAgHVyuTw7Ozs6OtqsfeDP8KhUqpV69lgYhhmfjfWnvS8UCsXKrJ5PGg0hRCKRTIuWxQgWT2p2YF90Ot3hw4d7enr8/f0bGhqUSuXChQufKEMAAAADMAiDVsAToVKpe/bsuXHjRnNzM5fLDQoKGj16tK2TAgCAkQ8Kng3Q6fQFCxbYOgsAALAvsOI5AAAAuwAFDwAAgF2AggcAAMAuQMEDAABgF6DgAQAAsAswShOMED09PRqNBsdxWycCALABDMMcHR2tvwwNBQ+MBD09PQwGw9fX94km8gYAjBg6nU4ikXR3d1upeXBLE4wEGo3Gy8sLqh0AdotMJnt5eWk0Git9oOCBkQDHcah2ANg5Mpls/aEGFDwwMlVUVGzdunXlypUbNmz4+eefn9FZlErl5s2bn1FwAMDgsmXBq6mpycjIeO+993bt2nXjxg0rPbu7u/fs2WP6obGxcc2aNb0XkysuLr558+YTpaFUKtVq9RPmDoa1a9euxcfHz507d//+/S+//PKePXtOnjz5LE6k1Wqf9O8bAMBWbHYXqKys7G9/+9tf/vKXqKio2trazz//XC6Xh4WFWeys1WorKytNP3h5eSUnJxOLkpsSi8UMBuOJMsnJyZk+ffqLL744oO8BhqOPPvro448/Dg0NRQhNnDhx7NixCQkJr732GolEUigU3333XWNj46RJkyIjIx0cHFQqVV5e3ksvvXT8+HEGg/H6669zuVyEUFtbW3FxcXNz85w5cxYtWqRSqQ4dOmRcyCkrK2vjxo2mJ9XpdN9//31NTc2ECRMiIyOfZi0RAMCzYLOCd/DgwZSUFGKp9Oeee27MmDG7d+9+6aWXMAzT6XQXLlwQiURcLjc8PNzikBu9Xl9RUREYGIgQ0mg0Z8+ebWhoMF3TXKfTlZSUiEQiHx+fsLAwR0dHtVpdXFwcEBBw8eLFqKgoT09PhFBpaalQKOzo6FCpVN7e3t3d3QKBgIjw7bffhoeHMxiM4uLiefPmnT59mkajhYeHjxo1ymL8IfjRQH/U1tZqtVqi2hECAwN/+eUXhJBKpXr11VdffvnlhQsXnjx5sqGhISkpqaen5/Dhw+Xl5StXrnz06NGqVau+//57JyenN9988y9/+cuCBQs++eQTHMdnzpx5/PhxY8ErKCh49913Tc+7bds2MpkcERFx5cqV995778iRI0P5rQEY2f7nf3797rv/NmuMjHwzOHh2/4PY5pZmQ0ODVqslqh1h8uTJRUVFxHqq+/btKysrCw4Obm5uTkpKsrjMrEqlOn36NPF5z549NTU1s2bNunbt2p07d4jGzMzM8vLyoKCg+vr61NRU4pATJ04UFxfz+XxjEeVyuRwOh8vl+vr6MpnMQ4cOEe0PHz48d+4ch8NRqVRFRUVfffXV1KlT2Wx2YmJiW1ubxfhgmJBKpX2tI0+j0b799tv333//+eefj42NJaogQqirq+vDDz9cunTpunXrlixZ8t///d9yuVypVC5fvlwgEHzzzTePXbPw3r17tbW1H3/88YIFC3bv3t3Z2Xn79u1B/mIA2LHg4NlBQcGmLUFBwU9U7ZCtrvBkMhlxndSbSCS6f//+0aNHKRRKSEhIUlLS1atXiSs5i37//feGhobDhw+TyeTQ0NB33nkHISQUChsaGnJzczEMCw0NTUhIqK6u5nK5Op0uJSXF9F6Tn5+fu7u7n5+fv78/QohCoTx48IDH412+fHnx4sVEAe7p6YmPjydWrXv06NGZM2fmzp3bO/6UKVMG91cCA8Nmszs6Ovrae+/evb///e8PHz40Hb7MYrHGjh1LfJ4+ffqlS5dGjx4dGRn50ksvTZs2bcmSJStWrLB+UqFQ2NraumrVKmKzoaHhjz/+MP0vHQDgKUVGrlIoFL//fh8h9F//NTEyctWTRrBNwWMymUql0uKuuro6Ho9HoVCITT6fX1dXZ6XgicViPz8/45B0Ho+HEKqvr5fL5Zs2bSIam5qaJBIJl8tlMBjWn6wsWrTo559/5vF4paWle/fuJRoZDIZxjdapU59yKswAACAASURBVKdeu3bN29u7d3woeMPEf/3XfzU3Nzc0NBhrmEQi2bNnz8GDB6uqqvbs2fPxxx/7+/uLxeKtW7cSHXp6erRaLfG3TiaTMZlMhNC2bdvi4+Nv3br12WefSaXSN998U6/XE/1xHDe78cBgMPz9/T/99FNjS+8HzACAp0EikdauXffFF58jhNauXUciPfEdStsUvPHjx7e2tjY1NRkLiVQq/fzzz9PT0xkMhmkt7OzsJB629YVOp5v+d544lk6n83i8HTt2GNtpNFpXV9djE1u0aNGWLVuef/55Z2dnb29volGtVut0OqKmtre3MxgMi/H788XBEKBQKLGxsdu2bfvHP/7B5XJlMllqauqYMWNIJJJEIhk/fnxQUBBC6Ny5c8ZD9Hp9YWHh2rVrVSrVd999l5iYWFtbW1BQkJqaKhAI7ty58+jRIycnJ4TQjRs3Zs+e/c0335gVvFmzZu3evbuxsXHy5MkKhWL37t27d+92cXEZ4u8OwMhGpVJjY98hPgzgcNs8wyOTyW+88UZmZmZzczNCSKFQZGVlubu7YxgWEBBQV1dXU1ODEJJKpVeuXAkJCbESKiAg4OHDhw8ePEAINTQ0lJWVEY0ikUgikbBYLBzHs7KyrFQ7CoUik8mIzx4eHt7e3jk5OaaDNvV6PfG8UK1Wnz9/fvbs2U8UHwy92NjYxYsXR0ZGCgSCxYsX+/j4fPjhhwihefPmUSiUiIiI8PDw9vZ2Y38Oh/Po0aMVK1YsXbo0NDT0xRdf9PHx6ejoeOmll1577bWLFy/GxsYihHbs2LFx48Y5c+bgOG72XxwnJ6f9+/dv2rRp5cqVYWFhvr6+UO0AeBacnJydnJwHdqzNRmm+/vrrBoNh48aNDg4OPT09S5cuXb9+PUKIyWRu3749IyPD2dlZLpfHxMT4+PgoFIq+4rBYrK1bt6amprq5udFoNGKMJYvFSk5OTk9PZzKZbW1tERERzs7OfQUJDw9PT0+vrKzMyMhACC1ZsiQrK2v+/PnGDk5OTs3NzevXr+/o6BAIBMQpescf3N8HPA0Mw9599924uDiZTObs7Gy8Q06j0XJzc+VyOY1GMxv9m5KS0tnZiRBis9kIITKZ/Mknn3R2duI4TlzbIYRWrFgRERFhMBgoFMratWsRQgwG49q1a8RegUBw4cKF1tZWZ2dnuOIHYBjC8vPzTbePHTuWmJg4ZP85xXG8vb2dzWabzQtlMBhkMhmHw+nnfFE6na6zs9MsbSIIm81+7MUvjuMajYbodunSpevXrxMXBAghhUIRFxd38uRJ4hqOeLrzpPHBs9be3s7n8wd2rFwuf/nll411CwDw51VZWcnhcORyeXZ2dnR0tNleG08/iGGYxeJKIpHc3d37H4dMJveO0/8gGIZRqVQcx/Pz83/66aedO3f27mNa6gaWJHh2iNc3BzadJp1ON44/AgD8eel0OmJofV9gLs3/R61Wu7m5paWlEUM9CTQajbh5BYYzR0dHiURifaL0vtBotNWrVw96SgCAoaTRaO7evWt9DhCYYP7/odFoERERZo1UKnXZsmU2yQf0H51Ob2xsrKioMBgMts4FAGADJBLJ1dXV1dXVSh8oeGCE4HK5xByYAABgEdzSBAAAYBfgCg+MEK2trUqlEm5pAmCfSCQSi8WyPpAQCh4YCTQaDYfDmTt3LrwiAoB9UqvVd+/e1Wg0VsatwC1NMBLodDo+nw/VDgC7RaVS+Xy+xdV1jKDggZEAx3HjdCoAAPtEoVBwHLfSAQoeAAAAu2CzZ3hpaWkqlQohxGaz+Xz+0qVLiftRjY2NH3zwweHDhwdxNkKlUkmhUOB+l52QyWT79u27ffv22LFjP/jgg0mTJtk6IwDAsGCzK7yKiopXX301JiZm/vz5ZWVl27ZtU6vVCCEvL6/k5OTBnXs3JyentLR0EAOC4Wz9+vWurq55eXnLli1bs2ZNT0+PrTMCAAwLthyl6evr6+7uzuPxBAJBWlraqVOniDU2KyoqiBVfOzs7z58/L5FIJkyYEBYWRiKR1Gp1cXHx7Nmzz58/z+VyX3nllZ9++unevXt8Pv+FF15ACOl0upKSEpFI5OPjExYW5ujoWFpaKhQKOzo6VCrV8uXLe3cgYgYEBFy8eDEqKsr68ntgmCNm1Ny+fbuDg4O3t/ehQ4dqampg5XEAABo+z/CWL19+48YNhJBKpTIuPhcfH9/Z2RkaGnrr1q0jR44Qe4uKis6cOTN9+vTS0tLt27e3tbUFBAR8/fXXt2/fRghlZmaWl5cHBQXV19enpqYihLhcLofD4XK5vr6+FjuoVKoTJ04UFxfz+XyzJWPAnw6ZTC4sLHRwcEAItbe3//HHH8SfOwAADJf38EaNGtXW1mbaQqVSP/30Uw8PD4QQi8X67LPP4uLiEEJarXbDhg3EA7mioqJVq1YhhEQi0b1799hsdkNDQ25uLoZhoaGhCQkJ1dXVU6ZMcXd39/Pz8/f3FwqFvTtwuVydTpeSkgIP+UYSvV6/efPmmJgYWKoQAEAYLgVPLpf3Xn9HKBTm5uY2NjaazoLPYDCIykQmk40XZBQKRaPR1NfXy+Vy41IvTU1NEolkypQpxmMtduByucaYYMRISUmh0+mJiYm2TgQAMFwMl4J39epVswU8a2pqDh48mJKSwuPxHj16tHfv3scGodPpPB5vx44dxhazwS8WOxAru4KRZP/+/Q0NDQUFBdYXxwIA2BXbP8NTKpXFxcWXLl164403TNulUqm3tzcxfcbly5f7EyogIEAkEkkkEhaLheN4VlYWUcwoFIpMJrPSAYwkhw8f/uWXX44cOQKvogMATNnyCu+dd95BCJHJZD6f/8knnxCP64yCg4N//PHHuLg4HMcDAgL6E5DFYiUnJ6enpzOZzLa2toiICOL5TXh4eHp6emVlZUZGRu8OCoXiWXw7YBNyuXzXrl00Gs04MjM9Pf3NN9+0bVYAgOEAy8/PN90+duxYYmKii4uLrRIyo1AoqFTqE72WZzAYZDIZm802fSyH47hGoyFaLHYAf2pdXV2hoaG2zgIAYGPXr19nMplyuTw7Ozs6Otps73B5hteXAQyxI5FIvVeIwDDMWN4sdgB/ahiGabVauIcJgD3TarXWH9vb/hkeAE+PTCaLxWKtVmvrRAAAtqHVasViMZls7SpuuF/hAdAfjo6OcrlcKpVanysdADBSYRhGJpOtLIaHoOCBEcPR0dH633UAgJ2DW5oAAADsAlzhgRGitbVVqVQaDAZbJwIAsAESicRisawPSISCB0YCjUbD4XDmzp0Lr5oAYJ/UavXdu3c1Go2VRxtwSxOMBDqdjpiUx9aJAABsg0ql8vl8nU5npQ8UPDAS4DgOL+EBYOcoFIr1cdr2VfAkEomtUwAAAGAbNit4aWlpppNY1tXVZWVl9dW5sbFxzZo1KpXK4t7u7u49e/b0blcqlWq12rgpk8nS0tJ6n3pQGM/VVzJgyMhksuTk5MWLF69bt66mpsbW6QAAhgubFbyKigrTeTGUSmV1dXVfnb28vJKTk/uaUVOr1VZWVvZuz8nJKS0tNW7evn2bmFDY7NSDwniuvpIBQ2b9+vWurq55eXnLli1bs2ZNT0+PrTMCAAwLw3GUpk6nKykpEYlEPj4+YWFhjo6Oer2+oqIiMDAQIaRWq8+ePdvY2Dhr1iwcx93c3Ly8vBBCYrH47NmzdDp92bJlbm5upaWlQqGwo6NDpVItX74cIXTr1q0FCxb0/6Rqtbq4uHju3Llnz55lsVgrVqwgJvbsnYBEIjGea/78+b2TGaIfDiCk0+nIZPL27dsdHBy8vb0PHTpUU1NjXDkBAGDPhuMzvMzMzPLy8qCgoPr6+tTUVISQSqU6ffo0sTctLe3BgwezZs369ddfv/7669raWoSQWq3+/vvvp02b1tPTk5KSguM4l8vlcDhcLtfX15c4sLKy0myN2ceetKio6NSpU9OnT5dKpUSjxQTMztU7mWf5a4H/hUwmFxYWOjg4IITa29v/+OMP418AAICds+UVXlJSEvEPE0JIo9HQ6XSEkFAobGhoyM3NxTAsNDQ0ISGhurqay+US3e7fv9/U1PTRRx+RyeTQ0ND169cT7Vqtdv369XQ6fc6cOVFRUVKp1M/Pz93d3c/Pz9/fHyFUV1fn5eXV103Rvk6qVqs3bNhAo9GCg4NXrlzZ1dXV2NjYOwHTcykUit7JeHp6PusfE5jR6/WbN2+OiYkZwIIbAIARyZYFb+fOncbbfTU1NUePHkUI1dfXy+XyTZs2Ee1NTU0SicRY8BobG/38/IzzYfv5+REfWCwWUS+Jz93d3WbnKisrmzFjRl+Z9HVSFotF1EgHBwcGg9HT09NXAqYemwwYAikpKXQ6PTEx0daJAACGC1sWPA6HY1xpls1mEx/odDqPx9uxY4exG41G6+rqIj6zWCzTAZbt7e39PNft27ffeuutvvZaP6mpAScAhtL+/fsbGhoKCgqsL44FALArw+4ZXkBAgEgkkkgkLBYLx/GsrCzTwhMQENDY2Pjzzz/39PRcvXr17t27VkJRKBSZTIYQ0ul0Dx8+5PF4AzupWU+LCRjPBWzu8OHDv/zyy5EjR+BVdACAqWE3SpPFYiUnJ6enpzOZzLa2toiICGdnZ+NFFZ1Oz8zMPHTo0LFjx2bOnCkQCKyECg8PT09Pr6ysXLVq1cSJE03/s//OO+8YN7Oysnx8fKyc1FRfCRjPtX379sH5IcCAyOXyXbt20Wg048jM9PT0N99807ZZAQCGAyw/P990+9ixY4mJicY7jbZiMBhkMhmbze49O2J7ezuHwyE+p6WlzZ8/38rLBjiOazSawsJCDw+Pl19+ecAn7U8CxLlgOkeb6OrqCg0NtXUWAAAbu379OpPJlMvl2dnZ0dHRZnuH3RUegUQiWVzlwWAwpKSk8Pl8Pp//8OHDBw8evP/++1biYBhGpVJDQkKMw14GcNJ+JkCc67FnAc8ChmFarRbuYQJgz7RarfXH9sPuGZ51JBLpwIEDY8aMqa6udnZ2PnjwoJOT02OPmjRpknFQjE0SAM8amUwWi8WDPoEOAODPQqvVisVi4xB6i4bpFZ4VLBZr5cqV9pwA6M3R0VEul0ulUnjNHwD7hGEYmUy2shge+jMWPAAscnR0tP53HQBg5/5ktzQBAACAgYErPDBCtLa2KpVKg8Fg60QAADZAIpFYLJb1gYdQ8MBIoNFoOBzO3LlzYaAsAPZJrVbfvXtXo9FYebQBtzTBSKDT6fh8PlQ7AOwWlUrl8/k6nc5KHyh4YCTAcRxewgPAzlEoFOvjtIdpwdPpdMapKU0/AwAAAANjy2d4NTU1xcXFf/zxh7u7+/Lly4OCgoj2qqqqvXv3cjiczz777Pfffzd+7ucNK6VSSaFQ4O6W3dJqtZ988slPP/3k4eGRnJwMy50DAAg2u8IrKyvbvXv3jBkzkpOTFy1alJ2d/eOPPxK7Lly4sHLlyi+//JJKpZp+7mfknJyc0tLSZ5Y4GO4OHDhQUVGRk5MTGRn59ttvw+0BAADBZld4Bw8eTElJIf73/dxzz/n6+m7ZsuWFF164cuVKTU2NTCYjk8lsNtv4+bXXXpPL5RcuXGhtbZ0xY8acOXMQQjqdrqSkRCQS+fj4hIWFOTo6lpaWCoXCjo4OlUq1fPlyW307YCtqtbqgoODSpUteXl48Hu/GjRuFhYUbN260dV4AANuzzRVeQ0ODVqs1vdc0duxYX1/fiooKHx8fDofD5XInTJhg+lmtVm/evJnBYISEhBQUFFy9ehUhlJmZWV5eHhQUVF9fn5qaihDicrnEIb6+vjb5asC2xGKxu7u7l5cXsSkQCCorK22bEgBgmLDNFZ5MJhs1apRZo4eHR1tbW3BwsLu7u5+fX2BgIELI+LmlpaW7u3vhwoUsFmvq1Kk0Gk0oFDY0NOTm5mIYFhoampCQUF1dPWXKFOIQf39/W3wzYGNSqdTNzc246erq2tLSYsN8AADDh20KHpPJVCqVZo1KpZLJZPZ1iKenZ1hYWExMzKRJkwQCwZIlS+rr6+Vy+aZNm4gOTU1NEolkypQpzzBvMOw5OTl1dnYaN5VKpbOzsw3zAQAMH7YpeOPHj29tbW1qaho9ejTR0tXVdffu3cTERCtHxcbGrlmzpqqqKi8vr62tbdy4cTweb8eOHcYONBrt2eYNhr2xY8c2NDT09PTQ6XSEUHV19bhx42ydFABgWLDNMzwymfzGG29kZmY2NzcjhBQKxf79+59//nkr06CJxeLs7GwqlRoUFDR79uyWlpaAgACRSCSRSFgsFo7jWVlZXV1dCCEKhQID8+yWs7OzQCDIyclBCEkkkoKCglWrVtk6KQDAsGCzUZqvv/66wWDYuHEjmUxWqVQvvfRSXFyclf5jxoxRKpXr1q1jMpl6vX737t0sFis5OTk9PZ3JZLa1tUVERBA3r8LDw9PT0ysrKzMyMobq24Bh5KOPPoqOjv7222+7u7u3bt06efJkW2cEABgWsPz8fNPtY8eOJSYmuri4DM3pcRxvb293cnJycHDoT3/iyR+LxTK2GAwGmUzGZrNNX9TDcVyj0cC75/ajq6srNDTUtEUqlbLZbLjLDYBduX79OpPJlMvl2dnZ0dHRZnttvFoChmFPVFxNSx2BRCL1vhGKYRhUO7uCYZhWqzWdTtPDw8OG+QAAhp5Wq8UwzEqHYTqXJgBPhEwmi8VirVZr60QAALah1WrFYjGZbO0qDtbDAyOBo6OjXC6XSqXW50oHAIxUGIaRyWQri+EhKHhgxHB0dLT+dx0AYOfgliYAAAC7AFd4YITo6enRaDRwSxMA+4RhmKOjIzHjRF+g4IGRoKenh8Fg+Pr6Wn9kDQAYqXQ6nUQi6e7utlLz4JYmGAk0Go2XlxdUOwDsFplM9vLy0mg0VvpAwQMjAY7jUO0AsHNkMtn6Qw0oeGBkqqio2Lp166uvvhofH//LL78Y2xMSEnp6eh57OLGG8BOdUalUbt68+YkTBQAMFVsWvJqamoyMjPj4+NTU1N9++83YnpaW1p9/a5RKpVqtfqIzdnd379mzpz8909LSFArFEwUfmLS0tCtXrvxf9u48oIlrbRj4SQgkIYGwiwRcANEqICCCLIqIGxS1trihr1ahLqjYurSoqIhL3UWu9PVSN7B16RW1esFKVVyqUhUXUEAIIIsSBElCQvbl+2PuzZsvCQEVCZLn91dyZs4y45iHOXPmHLXEtLS0rKysjhfS8eMyEHfv3o2LiwsKCtqxY8ekSZM2b96sPJ8PHjyQSqXtlrB169bLly+/U6USieTBgwfv01wAQJfQWy/Qo0ePdu7c+fXXX0dHR2MrIURHR0+cOBEhVFhY2JGfpLS0NG9v7/Hjx3e8UolE0sH1rwsLC7tm2o7CwsKGhoZRo0YpU+rq6i5dujRhwoSOF9Lx4zIQW7Zs2b17Nza7ppub28CBA6OjoyMiIrCn2W/fvv3nP/8pk8mmTp3q5uaGpWRlZTU0NAQGBoaFhV2+fLm4uJjNZgsEgujoaA6Hc/bs2bq6ukGDBkVFRWHzvkql0nPnzr148cLZ2XnatGlqrwBiW0tLS11cXKKiorCJ7tRq0cN5AcCw6S3gHTx4MCEhwdvbGyHUv39/Z2fnb7/9dvTo0dhsv2w2+/Tp0zKZbPz48f3790cIsVisK1euNDU1+fj4BAYG3rx5k8FgYP1OkydP5nK5ly9fZjKZLi4u4eHheDweISSVSnNzcysrK/v06RMeHq460aJya0VFBba1I+8sa9by6NEjPp8fHByM7fDrr79GRERYWlpqFi4SibKysjw9Pa9evRodHW1nZ6csls/nl5SUKCf1z87OVl0OXuuhqZ0N1UYyGIyCgoJp06ZhexqgyspKiUSiOpe0s7PzwIED79+/HxISghBKSkr66quvRCLRggULfv755/79+8+cOfPrr78ODQ3du3evQqHo27evtbV13759Bw4cKBQKv/zyy88//3zMmDH/+te/amtrV69ejRBatWoVDoebNGnSnTt3Fi5cePz4cdU2rFq1ikAgREZG3rp1a8mSJUePHhUKhWq1jB07tmtPDACfsPv3/z579rRaYlTUTD8//44Xop/fxNraWolEgkU7jJOTk7Ozc2FhIfb1wIED/fv379OnT0JCAoPBEIlEK1asMDU1HTFixIkTJ+7cuUOn0y0sLOh0urOzs0gkiouL43K5AQEBBQUFR48exQrZvn17QUGBj49PdXW16jqxyq1Pnjzx9fWtrq7euHFju23WWguFQjl8+DC2Q1VVVU5OjoWFhdbChULhmTNnsrKyPDw81EbNRkZGXrp0SVnL9evXw8PDdVSqeTaURVVUVGzdunXYsGEGG+0QQo2NjQ4ODmqJvXv3fvPmDfY5NjZ20qRJUVFRMTExx48fZ7FYPB5v8uTJwcHBv/zyy5gxYwYPHtyrV6/BgwcPGzaMRCL9+uuvK1euHDlyZExMDPY4sKSkpKSkZO/evWFhYRs3boyIiFDthC8pKamsrNy9e3doaOimTZu4XO7jx481a+myEwJAD+Dn5+/r66ea4uvr907RDunrDq+5uVn1JgZja2v79u1b7POMGTN8fX0RQnw+/9y5c19//TWfzx8zZgyVSh0yZAiJRMLhcDY2Nq6uru7u7gihffv2YbPjU6nUAwcOxMbGMhiMioqKY8eO4fH4wMDAnJwc1Qd+DAajtrY2PT0dh8MFBAQsW7asuLh48ODBOtpMJBI1axk4cKCxsXFZWZmbm9uNGzfGjh2Lw+G0Fk6n06VSaUJCguYyDmFhYYsXL25paTE3N79586aHh4eVlVV9fX1blXI4HLWz0dLSghCqqqratm1bYmKiq6vrB/3zfOLMzMywE6KqpaXFzMwM+6z8h/b29s7Jyendu3dUVNTEiROHDh06bty4KVOmqOUtKSnZtWtXVVWVcsQzg8Fwd3dXrmk1ffp0hJByLAyDwWhqalIuPFtbW/vq1Stvb2/dtQAAdIuKmsHhcMrLXyCEBgwYGBX1zms76yfgUSgUbGU7VTwej0KhYJ8HDBiAfRg8eHBeXp6dnV14ePiCBQsGDRoUHBw8btw4tbwMBiM9Pb2urk75k1RdXe3m5qa80YmIiEAIKf8Mr66uZrFYy5cvx77W19czmUzdAU9rLQihsLCwvLw8Nze3mzdvbt26ta3C6XS6qamp1kWLyGTyyJEjc3Nzo6Ki/v3vf8fExGALwbdVqdazIRAI1q5d6+3tbeDRDiE0YMCAhoaG2tpaJycnLIXL5RYUFGzatAn72tLSYmVlhRBisVjYJbdq1aq4uLiCgoIDBw40NjYuXLhQWVphYWFycvLu3bvd3d1ramq+++47hBCFQmGz2W01wNTU1N3dfd++fcoUrKNeRy0AgHbh8fi5c+f/9NM/EEJz585/j34s/XR89evXr6mpCbuJwbS2tj5//lwZcrhcLvaBzWZjHYAxMTGZmZmTJ0++ePHi6dP/X09uaWnpwYMHJ0+enJKSkpiYiCWampoqC9FEJpPd3Nx2/FdGRobqsBGttNaCEAoLC7t161ZxcTGNRnN0dHy/widNmpSdnc1gMPh8/tChQ9utVPNs4PH4HTt2lJeX5+bm6q6rxzM2No6JiVm1atWrV68QQiwW6/vvv58wYYKyU+GXX35BCMlksszMzJCQkMrKys2bN5NIpODg4NGjR79+/RohZGJi0tjYiBBiMpn9+vXz9fUlkUg5OTlYCX5+fi9evMB64F+9ejV58mTVv4GGDx9eUlJSV1dnZmYml8s3bNjA4/G01gIAeCdEIjEm5puYmG/eb8VT/QQ8AoEwffr07du3Y7cyHA5nx44dI0eOVC7l+vvvvyOE5HL5hQsX/P39sWGcRCLR19fX398fexhjbGzc3NyMEGpsbHR0dPTw8CASiTdu3MBKGDp0aGVlZWlpKUKooaFh4cKFqqMuPT09KyoqmEwmlUpVKBQpKSmtra2626y1FoSQra2to6NjWlqacrzoexTer18/KyurnTt3RkZGtlup1rNBJBL79eu3adOmw4cPl5eX666ux4uJiRk7dmxUVNTIkSPHjx/ft29f1ce09vb2ERER48ePNzc3nz17dp8+fVpaWiZOnPjVV19dvXo1JiYGITR9+vRff/114cKFo0aNMjY2joyMjIiIUN7VUanUnTt3fvvtt19++WV0dPSyZctUBz2Zm5vv2LFj+fLlU6dODQ8Pd3Z2trS01FoLAOBdmZvTzM1p75dXb6M0p02bJpfLly5dSiAQhELhxIkTY2NjlVttbW1jYmLEYvGAAQOmTJmCw+F4PN78+fMpFIpMJsP6piIiIjZv3lxUVLRx48Y//vgjNjZWoVB4enpiJZiamn7//fdbt241NzdnsVhxcXGqozSpVOqaNWs2b95MoVDevn0bGRlJo6mfwW+++Ua5eG5KSoqfn59mLZhx48alpKRgIwDbKrzdt/oiIyP379+v1lurtVIHBwfNs4FxcnJasWJFcnLywYMHNY/IcOBwuIULF8bGxrJYLAsLC+XDNoTQ33//jRCaPn26TCaztLTEEvfu3cvlchUKhbm5OZbi6el548YNkUhEIpHS09NZLBaJRFIdbRQcHPznn382NTVZWlpi0c7S0vLu3bvKrdgwWhqNhvVnEggEzVoAAF0Jl5mZqfo9IyMjPj5e+UPwsSkUCjabbW5urvqThOHxeDKZTPVXG3vsR6VSVbOLxWLs3pbD4RCJROzHRUkulzc3N9NoNLV3ElS3mpmZdfzuWGst169fv3fv3vr16z+w8HeqVPNsGDI2m+3h4aHvVgAA9KyoqMjCwoLFYqWmps6bN09tq56nH8ThcG0FV82fcs0UHA6nDCdab2jweLyym/Rdt2qlVotCocjMzLx27ZrqA7b3LryDlWIg1KnC4XBSqRSm0wTAkEmlUmW3nFaG+7ZWzSTjAQAAIABJREFUpxCJRNbW1klJSdiEHUBfTExMmEym7onSAQA9mFgsfv78ue4pROAv4g9CIpHUhpkAvSCTyXV1dYWFhXK5XN9tAQDoAR6Pt7Kywt44agsEPNBD0Ol0Op2u71YAALov6NIEAABgECDgAQAAMAgQ8AAAABgECHgAAAAMAgQ8AAAABgECHgAAAIPQ+a8l3L9/f/DgwbrnAVm/fj22eJipqamfn19kZOR7L1haW1u7cuXKEydOqM28BQAAAKjq/IDX2Nh469YtJyengQMHtvXS+5MnTzZs2GBpaclmszMzM5lM5nuvDda7d++1a9dCtAMAAKDbR+nSVCgUNTU1eXl5FRUVbc184eLiMnDgQH9//zVr1ly5cgUhJBQKT5w4UVRUtHv37oaGBqlUeunSpf379587dw6bMurhw4e3bt1SlpCRkcFisaRS6dOnT7EUzSwPHjy4d+8etvXSpUsPHz7EPp89exZbLA0AAICB+IjP8KRSaWlp6c2bN3WvdWlkZIQFRZFI9Ouvv545c2bo0KFkMjk5Ofnx48d+fn4vX75MSEhACFGp1EOHDmG5Kisrc3JyLCwsRCLR+fPnsUTNLAihkydPIoTkcnl6evrZs2cRQkKh8NixY122IgQAAIDu4KNPLcbn8x8/fsxms5WrmWMaGxtlMllLS8vPP/88evRoLFEmk23YsIFIJJaXl9fU1Bw9ehSPxwcFBS1cuPDZs2fu7u7GxsalpaWDBg26du3a+PHjVSfG1prFy8try5Ytra2tL1++9PLyKisrk0gkjx8/HjJkiKmp6cc+dgAAAN3HRw94pqamAwcOdHBwUEvftWuXkZGRqanp8OHDZ82ahSWSyWRsuZ+XL182NzcvXrwYS6+vr6+vr3d3d58wYcK1a9cGDRqUl5e3a9cu1QLbyuLj41NQUFBZWTlixAgSiVRUVHT//v2goKCPe9gAAAC6mY8Y8AgEgqura//+/bWOwNy9e7etrW1beclk8sCBA1XX8sYC4fjx4+Pi4kJCQiwsLBwdHTuSJSgo6P79+1VVVZs3bzYxMXn48OH9+/ejo6M//AABAAB8Qj7KMzwcDtenT5/Q0FAXF5f3e99g6NChDAajvr6eSqXK5fLdu3fz+XyEkI2NTZ8+fVJTUydMmNDBLCNGjMjPzxeLxTY2Nn5+frm5uRQKRUesBQAA0CN1/h2era1tu+/htcvMzGzdunWJiYlUKrWxsXHKlCnKVb8nTJiwa9eu0NDQDmYxMzNzdHTEniDSaDRbW1t/f/8PaRsAAIBPES4zM1P1e0ZGRnx8fDcZwSiXy5ubm83MzLDOyY+UBQAAQE/CYrFSU1PnzZunlt6tF4DF4/E2NjYfOwsAAABDAHNpAgAAMAgQ8AAAABgECHgAAAAMAgQ8AAAABgECHgAAAIMAAQ8AAIBBgIAHAADAILzne3hCofDNmzdSqVRX0QSCnZ0dLM0KAACgO3jPgIfD4YKDgy0sLHTsw2KxGAzG+5UPAAAAdK737NKUSqW6ox1CyNLSUvctIAAAANBlPsozPB6P14mlYYsedDfds1UAAADa0vkB7+TJk7NmzWor5rFYrB07djx8+FCZcvv27R07dggEAq37v379esmSJbm5uW1Vx2Qyd+zYUVFRoZbO5XK5XK7m/m2lt0s1Y7utAgAA0N10csA7efLkqVOnZs2a1dbyQGKx+Pnz501NTcqUhoaG58+ft9X5aWdnN2fOnGHDhrVVo0AgeP78eUtLi1p6SkpKSkqK5v5tpbdLNWO7rQIAANDdfOhqCU1NTcrVCZTR7r3XE5dIJLdu3aqpqbG2tg4NDTUzM2tpaWlqauLz+dbW1q2trVevXuXxeEFBQaWlpSQSafTo0VhGhUKRk5PT1NTk7e3t4eFx8+bNxsZGhNCpU6eioqKMjY2x3TTTNWtECDGZzAcPHrx9+7ZPnz6jRo0iEAhqGblcLtYqHA535cqV4ODgp0+fNjc3+/r6Ygvv6WgqAAAAvfigOzwulzt//vyTJ0+id4x2crlc8l9yuRxLVCgUe/bs+de//iWRSG7fvr1hw4bW1lYOh5OTk1NfXy+TybZt23bhwoWGhoa0tLR///vf9+/fVxaYlZVVWFhYUFCwa9euFy9etLa2SqVSqVTKZrMVCoVyN7V0rTWyWKwNGzbk5+crFIozZ878/PPPmhmVrcI+pKamPnv27OHDhzt27KisrNTdVAAAAHrxQXd4ZmZms2bNOnXqVFFR0bNnzzp+b3fq1KlTp06pJRYVFRUXFycmJg4cOJDH48XHx9+9e9fV1RXbWlhYWFtbGxsbGxIS8vbt21WrVqnm9fX1nTp1KovFio+Pf/r06fTp0wsKChBCS5YsUd0tIiJCNb2wsFCzxt69ewuFwrFjx4aGho4dO1YoFGpmVBMYGDh16tQ3b96sWrWqqKiIw+HoaCoAAAC9+NAuTSzCvWtPZmhoqLe3N/b57t27+fn5CKG6ujqEUFpaGpYuk8mYTKYy4DU0NCCEhgwZghCytra2tbVVLZBOpyOELC0tCQRCW+NfNGmtMSQkxNXV9ejRo+fPnx80aFBERES75WC129nZIYSEQqHupgIAANCLTljxPDo6+rPPPlMGsI5wcHBQ7q8cYInNybJkyRIajYalUCiU5uZm7DOZTEYIsVgsGxsbmUzG4/E+PJBordHExGTTpk21tbWlpaU5OTk//vhjWloagfAOJ+pjNBUAAMAH6pxRmu8U7doydOhQAoFw+/ZtY2Pjly9f7t279+XLl6pbiURiZmbmvXv3Dh8+jPU06kAkEt++fVtWVqYjXWuNT548+fbbb2tqaoYPH96/f3+xWIw9ZWyrQK0H8k5NBQAA0AXeM+ARCAQWi6V7HxaL9U43RtbW1kuXLi0sLFy5cmV6evqQIUPc3d2VWy0sLL777jsCgXDu3DlHR0cHBwfdpY0dO5bP52/ZskXtrTvVdK01uru7Dxo06J///Ofy5ctLS0sXLlxoYmKio0BN79pUAAAAXQCXmZmp+j0jIyM+Pt7S0rLdnCKRqN3Jo4lE4rs2SKFQtLS0mJqaKt8lwMhksvLychsbG6yfcMWKFYMGDVq2bJmOouRyuUgkwjoYdaRrrVEikbS2ttJoNBwO126Bat6jqQAAADoLi8VKTU2dN2+eWvr7P8MjEonvEc/ahcPhlE/UVEml0iNHjggEAnd399raWh6PN2bMGN1F4fF4rcFJLV1rjcbGxpqThbZV4Ic3FQAAwMfWCYNWugaRSExOTs7Pz29oaKDT6b6+vr1799Z3o7T7hJoKAACG45MJeAghMpkcGhqq71Z0yCfUVAAAMBCw4jkAAACDAAEPAACAQYCABwAAwCBAwAMAAGAQIOABAAAwCJ/SKE0AdGhqauLxeMrVpgAABgWPx1OpVOX6rFpBwAM9gVgstrCwCAoK+hiTIQAAuj+RSPT8+XOxWIxNBqkVdGmCnkAqlXp4eEC0A8BgEYlEDw8P3RNeQsADPYFCoVCbfBUAYGiMjY0VCoWOHSDgAQAAMAh6C3hJSUkJCQkJCQmbN2++ePHie4814PP5ycnJndIkHo8nEok6t0zQ9eRy+aFDh2bPnq1MkUgkO3bsGDduXHR09OPHj9tNBwD0SHoLeIWFhV9++eWCBQs+//zz27dvp6env185EomkqKioU5qUlpZ28+bNzi0TdLGGhobJkyc/fPjwr7/+Uibu2bOnsLAwLS0tKirqf/7nf5qbm3WnAwB6JH2O0nR2dsaGkPbu3XvlypWLFy9GCHG53MuXLzOZTBcXl/DwcDwe/+jRIz6fHxwcjOX69ddfIyIitK7YJ5VKc3NzKyoq+vTpEx4ebmJiIhKJsrKygoKCsrOzqVTqlClTsJWARCJRdnZ2XV3d8OHDFQqFtbU1k8lkMBgtLS1CoTAkJAQhVFNTk52dTSaTJ02aZG1t3XXnBXyApqamlStXenl5eXt7YykikejEiRPXr1+3t7d3c3PLz88/derU0qVL20rXb/sBAB9Pt3iGJxaLsbXRRSJRXFwcl8sNCAgoKCg4evQoQohCoRw+fBjbs6qqKicnR3OlOsz27dufPHni6+tbXV29ceNGhJBQKPztt9/Onz/v7e3d2NiIJSKEkpKSysrKhg8f/vfff//888+VlZV0Ot3CwoJOpzs7O2MtOXfu3NChQwUCQUJCgu4HoaD7GDJkiNrqgzU1NTY2Nvb29tjX4OBg7Pa9rXQAQE+lzzu8O3fuUKlUHo+XnZ0dGRmJECISifv27bO1tUUIUanUAwcOxMbGDhw40NjYuKyszM3N7caNG2PHjlVdhVyJwWDU1tamp6fjcLiAgIBly5YVFxfT6XSRSLR48WISieTn5zd16tTW1ta6urr6+votW7YQCISAgIBFixYhhFxdXW1sbFxdXd3d3TkcjkQiWbRoEZlMDgwMjI6ObmxstLOz6+LzAzpFY2Oj6g26lZXVmzdvdKQDAHoqfQa8Fy9ekEikJ0+eeHl5zZo1C0tkMBjp6el1dXVisVi5Z1hYWF5enpub282bN7du3aq1tOrqahaLtXz5cuxrfX09k8mk0+lUKpVEIiGEjIyMTE1NBQJBXV2dq6srdk+JEHJ1ddUsjUqlKhc3p1KpfD6/kw4adDVzc3Mul6v8yuPxsG7tttIBAD2VPgPeggULbGxsHj9+vHPnzoULF5JIpNLS0oMHDyYkJLi5ub1+/VoZ28LCwr799tuRI0fSaDRHR0etpZHJZDc3t3Xr1ilTSCRSa2ur5p5UKpXD4Si/stnsTj0s0L04OTnV1tYKBALsL5ji4uK+ffvqSAcA9FT6f4bn7e3dv3//rKwshFBjY6OjoyM2ZcaNGzeU+9ja2jo6OqalpY0fP76tcjw9PSsqKphMJpVKVSgUKSkpWqMdtmddXV1eXp5AILhz587z58+xdGNjYxin1/PQaLTg4OC0tDSEEJPJPHHixIwZM3SkAwB6Kv0HPIRQTEzM2bNn2Wy2n58fgUCIjY2NiYlpaWlR3WfcuHHV1dXY+EmtqFTqmjVrNm/evHjx4gULFjg5ObXVQ0Umk7dv33716tUlS5Y8evRIOf4zIiLi999/X79+fSceGugOtmzZcuXKFW9v75CQkEWLFn322We60wEAPRIuMzNT9XtGRkZ8fLzWQf9dhsPhEIlE7MGb0vXr1+/du9duNJLL5c3NzWZmZrqnVWSz2cqhnklJSSEhIaGhoQghhUIhFothSsZPTmtra0BAgO59GhsbzczM1K4rHekAgE/OvXv3KBQKi8VKTU2dN2+e2tbuuFqC2p2ZQqHIzMy8du1aYmJiu3nxeLzu5SEQQnK5PCEhwcPDw8PDo6qqqqysbOXKldgmHA4H0e5ThMPhJBKJ7uk0sdG/HU8HAHxaJBKJ1jH8St2iS1M3kUhkbW2dlJTk5ubWKQXi8fg9e/Y4ODgUFxfTaLSDBw+am5t3SslAXwgEQk1NjUQi0XdDAAD6IZFIampqlMPvteqOd3hqSCQS9pZeJ6JSqVOnTu3cMoEemZiYsFisxsZGmCIAAMOEw+EIBIKOxfDQJxHwAOgIExMT3dc6AMDAfQJdmgAAAMCHgzs80EMIBAKxWAxdmgAYJhwOZ2JiopwhSysIeKAnEAgEpqamzs7Ouh9ZAwB6KqlUymQy+Xy+jpgHXZqgJxCLxfb29hDtADBYBALB3t5edRJmTRDwQE+gUCgg2gFg4AgEgu6HGvAbAXqmx48fZ2RkVFdX9+7de+bMmaNGjfqo1R0/ftzFxWXkyJEftRYAwIfQ2x1eUlLSrVu31BLT0tKwWaQ7iM/nJycnd2q7QE9w69at5cuXjxo1aufOnZ9//vnGjRvPnj37UWusqKhoaGj4qFUAAD6Q3u7wCgsLGxoaVP/urquru3Tp0oQJEzpeiEQigVWqgaZt27bt2bNnxIgRCCE3N7fevXvHxcVNnTpVIpEcP37cz8/vwoULS5YssbW1PXfuXElJSZ8+faZPn06hUIRC4eHDh5ctW4aVk5KSsnTpUplMdvz48bFjx545c8bc3Hz27NlWVlYIIZFI9Ntvv1VUVOiY0xwA0H3os0uTz+eXlJQop6jPzs7u1auXciuXy718+TKTyXRxcQkPD8fj8QghFot15cqVpqYmHx+fwMBA1dIYDEZBQcG0adOwPYHBqqyslMlkWLTD+Pj45OfnI4RaWlp+/vnn58+fjxs3ztTUdPXq1QihKVOm3L17d968eadOnRIIBCdPnlQGvBMnTixcuFAkEh05cqS+vj4kJOTatWtxcXGnT59GCMXHx5uZmUVERFy7du3BgwdDhw7Vx+ECYBDu3//77NnTaolRUTP9/Pw7Xog+A15kZOSlS5ewgCcSia5fvz516tT6+nrsa1xc3OjRowMCAi5fvlxfXx8bGysSiVasWBEVFTVixIgjR44oFAp3d3esqIqKiq1btyYmJkK0A42NjQ4ODthnHo+Xl5eHfR49ejRCSCqV7t69G1ttuLCw8I8//jAxMQkNDZ07d+7Vq1dVw6QqoVCYkJBAJpNDQkKGDx/O5XJramqqqqpycnIIBMKYMWMmTZrUJQcHgIHy8/N/+bLy4cP7yhRfX793inZIvwEvLCxs8eLFLS0t5ubmN2/e9PDwsLKywgIekUjct28fNo09lUo9cOBAbGwsh8Ph8/ljxoyhUqlDhgwhkUjYmnlVVVXbtm1LTEx0dXXV4+GAboJKpSoXUxSJRE+fPkUIXbhwYciQIZaWlhQKBVsJqLy83MPDQzkbma+vb3l5eVsBz8zMDHu5x8jIiEKh8Pn8ioqKwYMHK4eGKv/2AgB8JFFRMzgcTnn5C4TQgAEDo6LeecVmfQY8Mpk8cuTI3NzcqKiof//73zExMaqP/RkMRnp6el1dnfK9Cjs7u/Dw8AULFgwaNCg4OHjcuHEIIYFAsHbtWm9vb4h2ADNgwID6+vra2lonJydra+vExEQul3vu3Dk7OzvV5RQoFIrqIsMcDsfBwcHIyEgmk2EpCoVCKpW2VQuFQmGz2cqvausVAwA6HR6Pnzt3/k8//QMhNHfu/Pfoz9NzB+CkSZOys7MZDAafz1d9BFJaWnrw4MHJkyenpKSoLoMXExOTmZk5efLkixcvYs9R8Hj8jh07ysvLc3Nz9XAAoPsxMTGZP3/+qlWr6urqEEItLS3r16+fMGEClUpV3W348OFlZWWFhYUIISaTeeXKldGjR2MLReXn5ysUil9++UVHwBs+fPiLFy+ePXuGEKqsrLx79+7HPSoAAEJEIjEm5puYmG/eb+FSPb+H169fPysrq507d6otANTY2Ojo6Ojh4YEQunHjBpZYU1Nz4cKF5cuX+/r6lpSUvHnzBiFEJBL79eu3adOmVatW9e/ff8CAAV1+EKDbWbRoEUIoKirKxMSEz+dHRESsXbtWbR8zM7OdO3euXLnS0tKyqanpu+++c3FxQQitW7du6dKlJiYmS5Ys0bEMurm5+ZYtW+Li4mxtbclkMtbfAAD42MzNae3v1Ab9v3geGRm5f/9+td8LPz+/P/74IzY2VqFQeHp6YokODg48Hm/+/PkUCkUmk23atEm5v5OT04oVK5KTkw8ePKi2YDowQDgcbvHixQsXLmxubjY3N1c+qLO0tFS9FQsODsYG/VpZWSlXS58yZUpkZKRcLjc2Np47dy5CyNTUVDXX7du3sQ9jx44NCQnhcDg2NjZddGAAgA+Ay8zMVP2ekZERHx9vaWmprwap4nA4RCJR7a9sHo+HEFLrngIGjs1mY/0BAABDVlRUZGFhwWKxUlNT582bp7ZV/3d4Omi9V4NQBzThcDipVArTaQJgyKRSKQ6H07EDvLUGegITExMmk6l7onQAQA8mFoufP3+ufH6hFfxFDHoCMplcV1dXWFgol8v13RYAgB7g8XgrKyts2r+2QMADPQSdTqfT6fpuBQCg+4IuTQAAAAYBAh4AAACDAAEPAACAQYBneKAnEAqFb9680TETGEKIQCDY2dnpmDwFANCzQcADPQEOhwsODrawsNCxD4vFYjAYXdYkAEB3A12aoCeQSqW6ox1CyNLSUvctIACgZ9PPHd69e/d+//13tcQffviBSCTu2bNn48aNqul1dXU//PDDkSNHtHZG8fl8zSyqkpKShEIhQohMJnt7e0dGRnblIrE8Hs/Y2Pj9JvYGAADQifQT8AYPHmxtbY0QOnLkiLu7u7+/P0LIzMystbW1qKhIbWd7e/s1a9a09ehFIpFoZlFVWFiYkJBgYWHR0tJy5syZ169fL168uJOOo31paWne3t7jx4/vshoBAABopZ+AR6PRsHkyqVRqr1693NzcVLfW1NRkZ2eTyeRJkyZZW1vLZLLCwkIvLy+EkFQqzc3Nrays7NOnT3h4uHKGewyDwSgoKJg2bZraPZyzszM2n33v3r1XrlyJBTwul3v58mUmk+ni4hIeHo7H4x89esTn84ODg7Fcv/76a0REBNYPplmpZnaEEIvFwmbf9/HxCQwMvHnzJoPBaGlpEQqFkydP/njnEwAAQLu63TM8kUh07ty5oUOHCgSChIQEhUIhFAovXbqEbd2+fXtBQYGPj091dfW6detUM1ZUVGzdunXYsGE6eizFYjE2v7BIJIqLi+NyuQEBAQUFBUePHkUIUSiUw4cPY3tWVVXl5ORgj4U0K9WaXSQSrVixwtTUdMSIESdOnLhz5w6dTrewsKDT6c7Ozh/lZAEAAOiwbjdKUyKRLFq0iEwmBwYGRkdHNzY2Kh+AMRiMioqKY8eO4fH4wMDAnJwckUiEbaqqqtq2bVtiYqKrq6tmmXfu3KFSqTweLzs7G1tplkgk7tu3z9bWFiFEpVIPHDgQGxs7cOBAY2PjsrIyNze3GzdujB07FofDaa1Ua3YOh8Pn88eMGUOlUocMGUIikXA4nI2Njaurq7u7exedPgAAAG3odgGPSqWSyWTlZz6frwx41dXVbm5uyhu4iIgIhJBQKBQIBGvXrvX29tYa7RBCL168IJFIT5488fLymjVrFpbIYDDS09Pr6upUp9gPCwvLy8tzc3O7efPm1q1b26pUa3Y7O7vw8PAFCxYMGjQoODgYlsAGAIBupdt1aepgamrK5XI10/F4/I4dO8rLy3Nzc7VmXLBgQXx8/PLly+/evYuN2CwtLT148ODkyZNTUlISExOVe4aFhd26dau4uJhGozk6OrZVaVvZY2JiMjMzJ0+efPHixdOnT3/4IQMAAOgsn1LAGzp0aGVlZWlpKUKooaFh4cKFEokEIUQkEvv167dp06bDhw+Xl5e3ld3b27t///5ZWVkIocbGRkdHRw8PDyKReOPGDeU+tra2jo6OaWlpynGVWivVmr2mpiY1NZVIJPr6+vr7+7958wYhZGxs3Nzc/HHOBwAAgHfQ7bo0dTA1Nf3++++3bt1qbm7OYrHi4uJUR2k6OTmtWLEiOTn54MGDWpdKRwjFxMSsWbPm888/9/Pz++OPP2JjYxUKhaenp+o+48aNS0lJCQkJ0VGp1uwODg48Hm/+/PkUCkUmk23atAkhFBERsXnz5qKiom3btn2UkwIAAKBjcJmZmarfMzIy4uPjLS0t9dWgdsnl8ubmZhqNpvZOwnvgcDhEIlHtDb/r16/fu3dv/fr17VaqNTuPx0MIUalUZYpCoRCLxfDu+UclEolcXV11X7fY1GLwDwFAj8disVJTU+fNm6eW/ind4WHweDz2Ut2HU7sRVCgUmZmZ165dU30sp6NSrfeRqqEOg8Ph4Ef2YyMSiQwGo93Jo+EfAgBD9ukFvI9HJBJZW1snJSXBa3OfIiKRCPEMAKADBLz/QyKRsLf0AAAA9Dyf0ihNAAAA4L1BwAMAAGAQIOABAAAwCBDwAAAAGAQYtAJ6AqFQ+ObNm3ZfS7Czs2trYUUAQI8HAQ/0BDgcLjg4GFvOqS3Yi+dd1iQAQHcDXZqgJ5BKpbqjHUIIW8u3a9oDAOiG9BbwkpKSOByO8mtNTc3evXs7sXw+n5+cnKz6oYOtwpZT0CynUxrT42VlZT148EDfrVCHzfcGADBwegt4hYWF2FoHmNbW1uLi4k4sXyKRFBUVqX7oYKvUbgLeKXu7jenxampqmpqa9N2K/8/JkydnzZoFMQ8A0O2e4YlEoqysrKCgoOzsbCqVOmXKFBqN9vDhQ5lM5u/vjxDKycmxt7f38fFBCJ0/f97f39/BwYHL5V6+fJnJZLq4uISHhyvXa1XDYDAKCgqmTZuGx+PbysJms0+fPi2TycaPH9+/f3/V7FKpNDc3t6Kiok+fPuHh4SYmJspNultIoVAQQjU1NdnZ2WQyedKkSdbW1loL1Hr4uk8OVs6VK1cqKirodHpERIRyBV1lruzs7Lq6uuHDhysUCmtr6379+mVlZXl6el69ejU6OtrKykotu0gkOnPmzNy5c7ESjh8/PmfOHJlMprV2sVicnZ1dW1vr5+f3Qf/2H8HJkydPnTo1a9YszTlOAQCGpts9wxMKhb/99tv58+e9vb0bGxs3btyIpf/2228IIblcfuTIkfPnzyOERCJRZmampaWlSCSKi4vjcrkBAQEFBQVHjx7VWnJFRcXWrVuHDRuGx+N1ZDlw4ED//v379OmTkJCgNsZh+/btT5488fX1ra6uVjZMSUcLsc/nzp0bOnSoQCBISEhQKBRaC2zr8HWfnB9//PHRo0d+fn4NDQ2rV69Wu0lNSkoqKysbPnz433///fPPP1dWVgqFwjNnzmRlZXl4eJDJZM3sQqHw0qVLyhLOnz8vkUjaqj05Obm0tHT48OF37959+vRpB/6RPyLV+0tltIuOjtZjkwAA3US3u8NDCIlEosWLF5NIJD8/v6lTp7a2tnp5ee3YsYPP51dXVw8dOrS8vFwqlT558mTw4MHY3cy+fftsbW0RQlQq9cCBA7GxsWplVlVVbdu2LTEx0dXVFSFEJBLbyjJjxgxfX1+EEJ995T/7AAAgAElEQVTPP3fu3KJFi7B0BoNRW1ubnp6Ow+ECAgKWLVtWXFw8ePBgbKvuForFYolEsmjRIjKZHBgYGB0d3djY2NLSolkgnU7XPHzsBrGtk8NkMl+8eHHs2DFjY+MRI0asXr36zp07yvX8Xrx4UV9fv2XLFgKBEBAQoDwcqVSakJBAJBIrKio0s3t5eXXwn+b169e1tbVHjhzByv/mm28+/AJ4b1wud/78+ViEg2gHAFDTHQMelUrFXpYyMjIyNTUVCAQUCsXb2/vx48eVlZV+fn5EIvHZs2cPHz4MCAjAsjAYjPT09Lq6OrFYrFmgQCBYu3att7c3Fu10ZxkwYAD2YfDgwXl5ecr06upqFou1fPly7Gt9fT2TyVQGPAKBoLuFVCpV2dNIpVKx0KhZIJ1O13r4Ok7Oy5cv3dzclAv1eXh4vHz5Uhnw6urqXF1dCYT//EMrz4CpqSm2toDW7G0FPM3aa2pqVMt3c3PTmrFrmJmZzZo169SpU0VFRc+ePYNoBwBQpbeAR6FQWlpalIvMcblc1Z91TSNGjHjw4MHLly8TExNNTEwKCgoePnw4Y8YMhFBpaenBgwcTEhLc3Nxev369detWtbx4PH7Hjh1bt27Nzc0dP3687ixcLhd7NMVms1UfhpHJZDc3t3Xr1ilT1F5h1tFCrbQW2NraquMkaGVqaqo6IoPL5drZ2Sm/UqlU1dGwbDa7I9mNjIxkMhmWolAodIzmJ5PJLS0tyq96HxuCRTi4twMAaNLbM7yAgIBDhw5xuVyEUFNT0/Hjx4ODg3Xs7+/vf//+fYlEYmNjM2zYsGvXrpmammLxsrGx0dHR0cPDg0gk3rhxQzMvkUjs16/fpk2bDh8+XF5erjvL77//jhCSy+UXLlzABqFgPD09KyoqmEwmlUpVKBQpKSlqwUlHC7Vqt8AO8vT0fPnyZWlpKXZct27dGjFihOrWurq6vLw8gUBw586d58+fdyQ7lUrF4XCPHz9WKBQXLlxQBj+ttVdVVZWVlSGEamtrHz169B6H0Lmio6OTk5Mh2gEA1OjtDi8mJubgwYPR0dEWFhYcDicyMnLatGk69qdSqXQ6fdCgQQghGo1mY2OjHBPo5+f3xx9/xMbGKhQKT0/PtkpwcnJasWJFcnLywYMHdWSxtbWNiYkRi8UDBgyYMmUKn89XNmDNmjWbN2+mUChv376NjIxUW/FcRwvbOiLNAlXvxjqIQqF8//3327Zto9FoLBZrwYIFffr0UW4lk8nbt28/fPhwRkbGsGHDNP+qaCv7kiVLkpKSjI2NZ8+erWNhVSqV+t13323cuNHa2ppEIun+q6XLeHt767sJAIBuB5eZman6PSMjIz4+HhtY2AWEQiGbzbayslId4v9+OBwOkUh8p5kS28rC4/FkMplaPMPI5fLm5mYzM7POWly7swrEyrGwsFA+TlNis9nKWUiSkpJCQkJCQ0M7kl0ul8vlcs0CNUmlUi6X22WXjSaRSOTq6qq7AdjUYrAqOgA9HovFSk1NnTdvnlq6ngetkEgke3v7TilKa3x6vyw63tnC4/E6einfQ2cV2FY5crk8ISHBw8PDw8MD63tcuXJlB7Pj8fi23mhUQyAQ9BjtEEJEIpHBYLQ7eTREOwAMWXccpQk6ER6P37Nnz59//llcXGxvb3/w4EFzc3N9N+qjIBKJEM8AADpAwOv5qFTq1KlT9d0KAADQs2430woAAADwMUDAAwAAYBAg4AEAADAIEPAAAAAYBAh4AAAADAIEPAAAAAYBAh4AAACDAAEPAACAQYCABwAAwCBAwAMAAGAQ3nlqMYFAIBaLFQrFx2gNAAAAoBUOhzMxMVFdl/tdvVvAEwgE2KpvHVkyBgAAAOgsUqn01atXPB7vvWPeu3VpisViiHYAAAC6HoFAoNPpYrH4vUt4t4CnUCgg2gEAANALAoHwIQ/UYNAKAAAAgwABDwAAgEGAgAcAAMAgQMADAABgECDgAQAAMAgQ8AAAABgECHgAAAAMArxUB8A7OHz48Nu3b3/44QetW48ePeri4hISEqI7ccmSJXw+HyFEoVACAgKio6ONjIy0Fsjj8X744Ye0tLTOOwIADBcEPAA6SiqVHj16VCwWL1y40NLSUnMHBoNBpVLbTfz777/37dtnbW3NZrP/+c9/VldXJyYmaq1RIpHcv3+/s9oPgIGDgAdAR928efOzzz7r1avXpUuX5s6diyWKRKLTp08zGIzQ0FDlnloTVQ0aNMje3h4h5OTkNHPmzMTERIFAkJ6evmLFCmyHffv2LV++XDWLVCo9e/ZsSUmJi4vLjBkziETiRzlIAHoueIYHQEedP39+0qRJkyZNunDhgjJx6dKlT548CQkJ+fPPP/Pz83UkaiUUCo2NjbEPv/zyizL9+PHjEolEdc8VK1bk5+ePGjWKwWAsXLiwMw8MAMMAd3gAdAiHw8nPz9+1axeJRHrz5k1FRYWLi8uzZ88qKir+/PNPAoEwduzY8PBwhJDWRDW5ubk0Go3D4Zw+fXrWrFnt1l5cXFxZWZmdnY3H48PCwqZOnfro0SMfH5/OP04Aei4IeAB0SE5Ojo2Nze+//44QcnBwOH/+/OrVqxkMxpAhQ5Qzqnt4eCCEtCaqKSwsJJPJ+fn5AQEBcXFx7dZeXl7e2Nj41VdfYV9ra2vr6uog4AHwTiDgAdAh58+f9/T0rKurQwh5eHhcvHhx5cqVFAqFzWYr9+FwOAghrYlqVq9ebW9vf/fu3dWrV69du5ZMJuPxeJlMhm1VKBRSqVR1f1NTUw8PjwMHDihTPmQZTAAMEzzDA6B91dXVlZWV27ZtW7NmzZo1azZs2EClUvPz8/38/EpLSwsLCxFClZWVd+7cQQhpTdQqMDDQzc3tyJEjCCEajYbD4e7evatQKDIzM9UCnp+fX0lJSV1dnbm5uUKhWL9+PY/H+7jHDECPA3d4ALTvwoUL4eHh2OgSzOTJky9cuBAYGLh9+/bFixfb2tqamppOmDABIUSj0TQT27JmzZo5c+bMmjXL2to6MTFx8eLFJiYmy5YtI5FIqrvRaLTdu3fHxcWZmZkxmczo6Git70UAAHTAZWZmqn7PyMiIj49v6/8Sm82GxwYAqJFIJGw229bWtt3EdslkMrlcrhpZ1bY2NTXRaDS1cAiA4Xj06JGFhYXufVgsVmpq6rx589TS4Q4PgA9lbGysGdi0JrbLyMiorVlXsK29evV65/YBABBC8AwPAACAgYCABwAAwCBAwAMAAGAQIOABAAAwCBDwAAAAGIR3C3g4HE7tfVgAAACga0ilUhwO997Z3y3gmZiYvHr1SiQSvXd9AAAAwHsQiUSFhYUmJibvXcK7vYdHJpNramqePHkil8vfu0oAAADgXeHxeCsrq3bfOtfhnV88p9PpdDr9vesDAAAA9AIGrQAAADAIEPAAAAAYBAh4AAAADIKWZ3ipqald3w4AAADgo9IS8OLj4/l8ftc3BQAAAPhwpqamWu/ctI/SpNPpEolELVGhUGjuqZnYkRQAAABASfN18o6kaE00NjZmsVhaa2nztYS2lqAEAAAAPkWdtgDskydPampqYOIxgHFxcamoqNB3K0C34OLi0rdvX323AvRwOBzOxMSETCbr2KdzAt6rV6+a5NZ9J841IlI6pUDwqZM9OeT21W59twJ0C7Inh3x8fPTdCtDDSaXSV69e8Xg8HTGvc15LaG5uth86CaIdAAAAvSAQCHQ6XSwW69incwKeXC5HBF03kkArmVTS0szUdysAAKAnIBAIusdI9vAXzwU8zqWfE/fHjfzHt2Ovn9kvl8sQQkI+93jyHH03DVU+u7tl9mfp674UiwT6both6YZXhYDHxi4DZTPe1JUnR38mFsILQh9dS0vLzp07v/jii+nTp6enp8tkMoQQj8dbunSpvpvWmTgcjkAgQAhVVVWNHDkS+2xoenjAO7ppplwm+5/1x6cu21v2KC/n6GaEkEwiriz8S99NQ/f/ODFqatzqQ3dNiHBz3KW64VVx7uDqpzfPqTbD2r5f9PeHTEim+mqS4Vi8eLFMJktJSdm0adOdO3f27t2LEJJIJPfv39d30zpTcnLy5cuXEUJOTk67du3SPbijp+q0UZrdkEQkqC65H7cnG4fDI4Rmrv6J8eS2cmtDzYt7/z5iQqYGT/7G3Lo3Qkgmldy/cuJ1RZG1g3PA5/OJZOqLh9dkMslg/4kIofycY1b2/dx8QhFCt8//72f+E2wcnJWlcVlv7l85wWl87TYs1D0wUiwS5J3ZP2HuOmxrzrHkCf+TIJPJbmb9w9Vz5IM/T9o5udWUPuSyGvAE49FRy/lc1t+XM5qZ1b2d3UdEfI3HG2HteZD7y+uKZ3Z9Bo6ImEcwJioTX1UU9XIaOCJiHsGE1HUntEfoyqtCM6/WC6PozqVXjKd8brNY2OoV8tV/8sqkFYV3XL1CxCLBzax/eARNupd9lEyxCP5iEZVmg+BK6CRCofDx48e//PILHo9HCO3YsSM/P1+5taKi4uTJkxQKZc6cOXZ2dgghqVR69uzZ4uLivn37zpw5k0Kh3L59WyqVhoaGIoROnz7t5OQUFBSEEMrIyBg9erTq8FQsb2lpqYuLy4wZM7B13TQLFAgEx44dGzdu3OnTp83MzObOnWtlZaU1UZm9pKQEK5NIJGqtKDs7+/nz52w2m8/nf/XVV/fv3w8ICOh47Qihpqams2fPMpnMoKCgcePGdeE/UWfqyXd4xkSyfd/Psg9v4nNZCCELW0ffcbOwTWKR4Na5NFevUWIB79APkxUKOULolx8XlD3KG+Q3nvWm5qdV4TKpGCF0/cx+hJBcLvv34U23zqVhef/I2GpmaaesSCISpMaPIZLNBo8Iv5L5Y9GdSxIh/87FdOUOt8//JJVIJEL+9dP7bpz9h4tHkIPzEKqFrQ3dxdHVUywS7FsSxOeyhgRElBVczzmShOU6sX3+i4LrbsNCG2pK09d9qUwsf3xrkO/YhprSwxumf/yz2NN02VWhNa/WC8OG7opdDL2d3ZWblHtKhPy8Mym3z//vAK/RnKZXR/77jw5XQqcgkUgDBgzYvXs3h8NBCPXu3Xvq1KnYJqFQeOzYsREjRrS2ts6dOxdbBPTbb7/966+/Ro8e/fr169mzZ2MTdKSnpyOEZDLZnj17jh8/jhASCAQpKSk2Njaqda1YseKvv/4KCgpiMBgLFizAEjULFAqF6enpGRkZAQEBTCZz4cKFWGM0E7Ey8/PzR40axWAwVBPVKurXr5+1tXW/fv0GDRokFAp/+eWXd609KiqKQqGMGTMmNTU1Nzf3I/6TfEw9+Q4PIbTwx/OXj2/58WuvXn0G+o6b5Tdx7n9uniTiyYt+JJIp7oGRm2cNZDe+5nOba0oL1h5/TDAmDhkRnrYqvOjOJY+gSb/8uEDI5zJflrgOHVnHeCKTihlPbvYb4k8kU5W18DhvhXzusLAZZCqtv/sIE5Ipv0X7e/4yqXTO2iPGRDJC6EHuSUdXL1evEITQsv25FraOCCEy1eJfKfGR32x5xXj6ivF07fEneLyRe2Bkfs4xsUjQWFv2prZsTXo+DocfEhCxf+mol8V/9xvs3xWnsgfpmqviVUWhZt4BXqM12+PoOpRm4+Do6uXsHtjKeau5g0QkmLJ4hwnJdLD/hHVf0IWtLW/rq+BK6CzHjh3bv39/WFiYq6vrF198MW3aNCMjI4SQRCJZt26dqanpuHHjgoKCmEwmh8MpLCy8evWqiYnJmDFjoqOjc3Nzx48f/9133/F4vPLycn9//+fPn0skkvz8fB8fHwrl/wauFxcXFxcXX7161cjICLt/EggEL1++1CwwMDBQKBSuX7+eTCaHhoZ6eXlxuVyEkGZibW1tZWVldnY2Ho8PCwubOnXqo0ePSCSSZkVDhgyxt7cfMmSIr6+vchaSkpKSDtbO5XJ5PN6UKVPMzc2HDRv26XaH9vCAR7WwnfZt6pfL9jKe3v7z1531L4unxu1GCJGpNCL5P9eiKdVCxG9hvixxGuiDdRsihFw8gphVJV4hXw3wHl3+KO911fPP/CcYE8lVz+6VPrg6ZESEai2Wdo7+4fN+nO/Vd9Bwz5FTlHcMmkimVGNtT+xeMQovpSe+qS2XioVYCrO6tM/AYdgPMUJoRMR8LJHb3JCybDSW+Lb+ZTOzGn7m3lXXXBVa82oNeO0iU2nYwzy8EYFkaiYScOFK6ETW1tZbt25NSkrKz89PS0srLy/fsGEDQsjMzMzU9D/PUGk0Go/HKysr8/DwwLoiEULDhw8vKyv7/PPPAwMD7969W1paOnr0aBKJ9PDhw1u3boWFhanWUl5e7unpiYVShNDMmTMRQloLDAwMNDMzw4KKkZERlUptbW0lEomaieXl5Y2NjV999Z9u8Nra2rq6OoVCoVmRVh2v3cHBYfr06WPHjvXy8po4ceIXX3zxoSddT3pywBPw2E2vq5zcvI0IxgOHjbF1dD2wPBT7adNEJFMFXLbyK5/LsuzlhBAaEhBR+vAq82Xx3MRMYxPSi4LrLx5eDZv5nVr2yNjk8XMSKovuXj6e3PK2PnBSrEz2n0lnFAqFTOcENDWlD7P+sWrO2sNObj5Nryszt8zF2tPa0qzRSIqTm/f/rM9QppiQPtU/tfSly64KrXnxRkYdvzB0gCuhs3A4nJqaGg8PDwKBEBwc3L9//6+++goLeJooFEpLS4tqXjqdjhAKCwu7detWWVnZP/7xDyKR+Ndff92+fXvRokVqedlsdgcL7CBTU1MPD48DBw4oU8hk8s2bNzUreqfD0er7779fvnz5gwcP9u/f39DQsGTJko63s/voyc/wxMLWtFUT68qfYF8fX/9NdUCBGtehI+tfPq8pfYgQYjfWPb11HhuVMNh/QvHfVyRiEc3GYeCwsIdXT5NMzWg2/99l0VDzIiv1O2MiedDwsYNHhDc31JKpFjgcrvzxDYVC8deFQ3KZ+kzcqtiNdbaOrs4eQcZE8uO8s/9pj9eo15VFWHuaG2p2f+MvlYhcPINfVRQ1M1+SqTSFQv7b/uXCVu6HnSSD02VXhda8bV0YBGPiO72RCVdCZxEIBNHR0c+ePcO+Xrx4UccsaP7+/i9evHj69ClCqL6+/vLly9hYldGjR+fl5YlEol69eo0cOfLChQtUKtXe3l4174gRI0pKSrC8r169ioiIEIvFbRXYQX5+fiUlJXV1debm5gqFYv369TweT2tFCCETE5M3b9505HA0VVRUbNy4kUQijRo1KjQ09PXr1x1vZLfSk+/waDb06d/943BiFNHUTMBlWdo5zVl3rK2dSRTz2T8cztw2j2JuzWW9iYhJ6tV3EEKITLWwdXTtO8gXIUShWVvYOHzmN14tr42DM5/L/nG+F8nUXC6Xzd90EiH0xZJdRzfNJBgTx83+QWs3ptJnfhP+/iNzZ4yvQiF38Rz5n/aYms3+4XDGlrkUcysu683UpbsIxkSCMTH6+/Rjm6NJFFpL0+vAyFgKzfoDz5Kh6bKroq28Wi+MgM/nH0uKrij8a/YPhztyFGSqBVwJncLe3n7btm3ffPMNlUpls9l0On3//v1t7WxmZrZ3794VK1ZYWlo2NjauXr3a1dUVIUSj0fr37z906FCEkKWlpb29/ejRo9XyUqnUvXv3Ll++3MLCoqmpaePGjSYmJiYmJpoFtjXTvyYajbZ79+64uDgzMzMmkxkdHW1paYkQ0qwIITRz5swlS5bcv38fe++ircPRWnvfvn1bWlrGjh1LpVLlcvlPP/3UwRZ2N7jMzEzV7xkZGfHx8dhZ67inT58aeS3u1IZ1GoVC3vK23ohgQrWwbXdnuVzGbWZSLWyNCCbvWpGAx0FIQaZaqJamkMs6WFQr560xkaz23hXWHgrNRvko6L+JDaZmlrrjqH7JnhzqtpcE6sKrQmterReGQqGQiIXv9FLmJ3ElIIRkTw4phz52T3K5/M2bN8bGxtbW7f/dIJPJGhsbra2t32NJGSyvlZWV8snZBxaIZW9qaqLRaCQSSTVRsyKFQiEUCtWGnHS89paWFoVCQaPR3qORXebRo0cWFhYsFis1NXXevHlqW3vyHR4Gh8Or9TXpgMcbdXxnNWSq+nWAxxuh/446aZfWv9C1tgePN6LZOLxHC4FSl10Vbf0Lal4YOBzuXacggCuhs+DxeLUeSB2MjIw6vnNH8n5IgVj2Xr16daRMHA6nOcCy47Wbm5u/dyO7ic55hofH45HUECeqAQAA0E1IpVKti8QqdU7As7Kykr/+G2IeAAAAvRCJRIWFhapduJo6p0uTTqejV6+ai09gkxEAgBCSPTmk7yaA7uL8+fP6bgLo4fB4vJWVlYWFhY59Ou0ZHp1Of6c3SAAAAICu1JPfwwMAAACUIOABAAAwCBDwAAAAGAQIeAAAAAxChwLeoUOHEhIS7ty509YOe/fuxVaB0he9NwAAAEA31/4oTTab/fvvv8vlcplMhq3kq6m4uNjBQZ8zPui9AQAAALq59gPezZs35XJ5aGjojRs3mpqalGv48ni8ixcvYjOKKnfOy8urrKycP38+Ho8XCoWZmZlDhw719/dnsVi5ubkNDQ10On3ixIkUCqWpqencuXPjxo178OBBY2NjUFCQl5cXQkgqlf7555/l5eXW1tYTJ07EprYTi8W5ubmVlZW2trYRERHYZG5aGwAAAABo1X6XZl5eXr9+/ebOnatQKG7evIklSqXS1atXnzx58vXr1z/++KNyUSW5XP7bb789f/4cIfTgwYOsrCwTExOBQBAfH5+dna1QKP71r3+tX78eIdTc3JyVlbV169ZHjx7duXMnISGhrKxMoVBs2LDhp59+4nK5f/zxx9KlSzkcjkKhSExMPHbsmFgs/vPPP5ctW8bj8dpqAAAAAKBVO3d4DQ0NJSUl8+bNc3BwcHV1vX79Ora6bkFBQVVV1cqVKydMmPDmzZv58+dj+wcFBZFIpHv37nl4eNy9e9fKysrLy0soFMbHxzs7O1tbW9va2mZkZHA4HGz/0NDQOXPm1NfXf/311wUFBS0tLY8ePVqzZs3YsWNra2sPHTrEYDAUCsXTp0/37t3r7u7O5XKjo6OvX7/eq1cvrQ0AAAAAtGon4F2/fh39t/PQzMzs8ePHtbW1Tk5Or169QghhnZB2dnbKybZJJFJAQMDdu3djYmLu378/fvx4HA5HIpGwDsyamhpsKV6hUIjtj6212Lt3b4QQn89/+fIlQghbVsrJyWnbtm0IobNnzyKEtm/fjs0KKpVK6+rqpFKp1gYAAAAAWrUT8G7cuEEmk//++29lSl5e3ty5c7E1Jthsdq9evRQKBZf7f6sth4WF5eXlXbx4kcfjjRkzBiF09erVlJSUmJiYpUuXPnz48H//93/bqo5CoSCEOByOra2tTCYrKSlxcHDA6kpISFCu0kelUvPz89tqAAAAAKBJ1zO8qqqqly9fzpgx48h/DRgwIC8vDyHk5eVlZGR07Nix0tLSY8eOKbsoEUI+Pj4WFhYZGRmOjo4DBgxACLW0tOBwOB8fHzMzMx3vNiCEhg8fTiQSjx07VlVVlZmZuWrVqrq6uuHDhxsbG+fm5hobG5eXl2/YsKG8vFxHAwAAAABNugIeFttGjhypTBk1atTr169fvHjRu3fv5cuXl5aWfvvtt2/fvnV2dlbuY2RkFBISIhAIsNs7hFBYWFi/fv2WLl06b948Ozs7HTXa2NisXbu2oqJi8eLF586dmz17tqenp52d3dq1ax8+fDhv3rw9e/Z4e3v7+PjoaAAAAACgCZeZman6PSMjIz4+Xtl5qJtUKpVIJJpL6GrFZrMpFEpH1rBXKBTYzmqL02smvlMDAAAAGAIWi5Wamjpv3jy19A9aHohAIBAIHS1B9zJFqnA4nGbE1Zr4Tg0AAABgyGAuTQAAAAYBAh4AAACDAAEPAACAQYCABwAAwCBAwAMAAGAQYIgj6AmEQuGbN2+wCefaQiAQ7OzsSCRSl7UKANCtQMADPQEOhwsODtb96guLxWIwGF3WJABAdwNdmqAnkEql7b7oaWlpqfsWEADQs3VmwEtKSlKd07Kmpmbv3r0fWGZWVtatW7c+sJC2JCUlJSQkJCQkbN68GVuur6096+rqZs+erVzkQROPxxOJRJqJP//889KlS7/99tvffvtNLpd3WtMRQgjx+fzk5OTOLRMAAHqqzuzSLCwslEgkyq+tra3FxcUfWGZNTY2OOPSBCgsLExISLCwsOBzOr7/+ymQyY2JitO5pb2+/Zs0aHY9/0tLSvL29x48fr5qYlJQ0YMCAdevWCQSCw4cPc7nctsp/PxKJpKioqBMLBACAHqyLnuGxWKwrV640NTX5+PgEBgYihKRSaW5ubkVFRZ8+fcLDw1VnyNRKJBKdOXNm7ty52Nfjx4/PmTNHJpNlZWX5+/tfvnyZTqd/8cUX165dKykp8fDw+H/t3Wl8FFW+P/5Tva/pLGQhC1kJkJAVJAlEkEkwgKgTBRTw6oAoyih4fy7DdUGYUce/oCjKCKgswUFkEUFWRTRAIBDJShZIZ4fQWUjS+971f1DcntzODgkh9Of9KH3q1DnfKn359Zw6VeeBBx4wGo379u2bPHnyTz/9JBAIZs6c6e3t7dBsSEjIsGHDCCFeXl4rVqxgEpLFYjl+/HhFRYWfn9/MmTOFQqHVai0sLIyNjWXanDRp0uHDhyUSyaOPPiqTyTIzM+VyuUqlMhgMjzzyiD3g0tLSNWvWMNv4vfrqqwUFBcyhTq9drVYfPXpUoVCEhobOmDGDxWIxfUVHR584cWL+/Pnu7u4///xzZWUlc5b9q6S1tbWHDx8WCoUPP/ywh4dHf/zjAgC4B92JZ3hGo3H58uUikSgxMXHHjh3MDkEffPBBfn7++PHja2pqVq5c2WMjBoPhp59+sv/cv3+/2Ww2GAy7d+8+dOhQXFxcZmbmG2+8cT7QaEkAACAASURBVOPGjejo6K+++iovL485umnTpsjISKlUumzZshs3bnTVPpvNtk85/vOf/8zNzZ0wYUJDQ8Nrr71msVjsvTNt7t+/Py4urqmpiYncz8/P1dXVz8+v/aYNfD4/MDDwm2++Yfbq8/T0TE1NZQ51vHaj0bh06VK1Wp2UlHTx4sUtW7YwfX3//ff79u2LiooSCoUffPDBxYsX4+Pja2pq3nzzTfu9/eGHH2JiYvR6/YoVKwZuNAwAMNTdiRGeUqnU6XR/+tOfJBJJZGSkQCCQy+V1dXWbN2+mKCopKemll14qKSmJiIi4hcbNZvMLL7zA5/MJIbt3737iiScIIRUVFaWlpSEhIXq9funSpcyO6vX19YcOHXL4fnZTU5PValWpVNu2bZs8eTJz7uXLl7du3crlchMTE1977bWsrCxma3WG0Wh84YUXBALBhAkT0tPTtVptWFjYsGHDwsLCxo4d277xDz74YNu2bQsXLhwxYkRqaur06dNZLFZX1/7JJ594enoSQiQSyWeffbZ48WJCiMViWbFiBZ/Pl8vlFRUVW7duZbFYEydOPHLkCPPI0Gw2L1myRCgUTpw4cf78+U1NTd1vwAQA4LTuRMLz8vKaMWPGokWLRo8enZycPG3atJqamtbW1pdffpmpcP36dYVCcWsJTyQSMdmOw+HY9wnicrkmk4k5ymQ7QkhkZOTZs2cdTv/kk084HI5IJIqPj2eSZXV1dXh4uH3CMCoqqrq6un3Ck0gkzMM8NpstEon0ej2zUXtHrq6ur7zyyksvvVRQULBz587q6uqlS5d2de1yuXzz5s1Xr15lIne4upqamvDwcBbr5oh85syZhBCDwSCRSOxXLZFIdDrdLdxDAABn0J8JTywWq1Qq5pEYIUStVtszwbPPPrtgwYJLly5t27btxo0bgYGB4eHh9nk5Qkj79SDM2nFm3x+r1cpmswkhbDbbarUyFWia7uX6cqPRaLFYmKba2tpEIpFDhX/+85/2gBkikUij0dh/qtXqWxszaTSa+vr68PBwDoczbtw4f3//ZcuWLV26VCgUdrz2srKyL774YsWKFeHh4fX19e+9955DayKRiJkaBQCAW9Ofz/CSkpI2btzI/He5ubl527ZtycnJhJDa2tr169fz+fzx48cnJCQ0NjZGR0dXVFQoFAqJRELT9KeffqrVau3tHD9+/N1336Vp2mQylZaWBgYGEkIkEglFUXl5eTRN//jjj/bk1z2r1co8ezMajUePHk1ISOjxlOjo6Orq6rKyMkJIU1PTqVOnEhMTezyLy+W2tLS0LzEYDK+99lp5eTnz8+TJk76+vkz7Ha+9qanJ398/KiqKz+f//vvvHduPiYmprKxkompoaHj++efbL4gFAIAe9ecI79lnn/3iiy/mz5/PLPSfNWvWnDlzCCG+vr4ajWbhwoVisdhqtb777rsSieT1119fvXq1WCy+cePGrFmzZDKZvZ3U1NTc3NwFCxZYrdakpKT4+Him/MUXX1y1ahWXy12wYAEz0dcjFxeXhoaGJUuWqFSq5ORkJgF3TywWv/HGG++//75MJmttbV20aNGIESPav1/YqZkzZ65evbqoqOj9999nSoYNG/bKK6+88847zODMy8vrf/7nfwghnV77hAkTjh07tnjxYpqmo6OjO7YvEoneeOON9957z8XFpbW1denSpb3ZOx4AAOyojIyM9r+3b9++bNmyjnuL957BYGhra3N3d3d404CZJ5RIJPYSm83W0tIilUo7zV5qtZrL5Tq8+maz2Ww2Wy93OVcqlYsXL96zZw8zfOzqSVunmNhcXV17v6M6MyR1uBaapm/cuMHhcBy+A9LptSuVSj6f383bfsxZMpkM2c6B0WgMCwvr/t9b5tNivfxfJQAYulpbW9evX++wRJEMxKIVgUDg4+PTsbx9qmOwWCyH52ftSaXSjoUsFsu+cKP3+pTq7B11E1unKIrq+B9TiqI6bafT9tsPc/srKifBLGTt8ePRyHYAzuxe/ni0QCCwv6gO9zw+n498BgDduJc/Hs3n8x9++OHBjgIAAO4K93LCAwAAsEPCAwAAp3AvP8MDp9Lc3KzRaPp9DyYAGBJYLJZEIul+WR8SHtwLTCZTYGCgv78/1q0AOCej0VhcXGwymbrZewdTmnAvsFgsI0aMQLYDcFp8Pj8qKqr7d5OQ8OBeQNM0XsYHcHJcLrf7LdKQ8AAAwCn0Z8JbtWpVV9+cvHr16oIFCwwGAyFEo9Ewe7m1L+xIp9P9/e9/79jFihUrVqxYsXr16sOHD/fLfqftO7LHBkOX2Wz+8MMPp02bNn/+/Ly8vMEOBwDuFv2Z8AoLC7v6hL+Pj8/rr7/OfCVyw4YNmZmZDoUdmc3moqKijl089thjixYtmjlz5i+//MLsDH6b2ndkjw2GrrVr1xYWFm7YsGH27Nn/9V//5bCLBQA4rf5fpWk0Gvft2zdp0qTDhw9LJJJHH31UJpNZrdbCwsLY2NjMzEy5XK5SqQwGQ1paGlNICFGr1UePHlUoFKGhoTNmzOjmg5khISHMwlMvL68VK1Y8++yzhBCLxfLzzz9XVFSMGDFixowZPB6v0zC676h9bP7+/jqdzr67wr///e+ZM2fezje14c4wGo07duw4efKkj49PeHh4dnb2d99999e//nWw4wKAwdf/z/AMBsPu3bv3798fFxfX1NS0cuVKppDZl87Pz8/V1dXPzy8kJMReaDQaly5dqlark5KSLl682MtxG5vNtr909cEHH+Tn548fP76mpsbeY8cwuu+ofWxisfjrr79myquqqo4cOeKw3QHcnWpra4cNG2b/fHlycnLHeQIAcE4D8h6e0Wh84YUXBALBhAkT0tPT22/uGhYWNmzYsLCwsLFjx9of+PH5/E8++cTT05MQIpFIPvvss8WLF3fVeFNTk9VqValU27Ztmzx5MiFELpfX1dVt3ryZoqikpKSXXnqppKTEz8+vYxhisbibjtrHRgjhcrlXrlwJDw///fffU1NTKYoaiHsF/aupqcnDw8P+093dvbGxcRDjAYC7x4AkPIlEwjyZY7PZIpFIr9f3uGRcLpdv3rz56tWrJpOp+5qffPIJh8MRiUTx8fFPPPEEIaSmpqa1tfXll19mKly/fl2hUPj5+XUMQywW976jlJSU3377LTw8PDMz87333uvltcPgcnFxUavV9p8ajabHTZcAwEncFV9aKSsr++KLL1asWBEeHl5fX999dvnnP//p8PEYoVAYHh7+5ptv2ksEAkH7YeWtdZSSkvLKK6/cf//9MpnM39+/j9cEgyMgIKCurk6v1wuFQkJISUlJYGDgYAcFAHeFQXgPj8vlOiyca2pq8vf3j4qK4vP5v//+e18bjI6OrqioUCgUEomEpulPP/2002zXm47ax+bp6env779hw4YHH3ywryHBYJHJZMnJyRs2bCCEKBSKHTt2MNMAAACDkPBmzpx54MCBt956y14yYcIEDoezePHiZ599VqVS9bVBiUTy+uuvr169+oUXXli0aFFAQEBXs1g9duQQ27Rp02pqaqZMmdLXkGAQ/eMf/zh+/HhcXNyUKVOWLFkyZsyYwY4IAO4KVEZGRvvf27dvX7Zs2UCvv6dp2mQyOXz5UKlU8vn8rl7L65HNZmtpaZFKpT1+ULH7jtrHdvLkyXPnzrXPzXB30mq1SUlJ7UuampqkUukt/+sEAEPRuXPnxGJxa2vr+vXrn3nmGYejg/MMj6KojmnpNhcXsFis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"></img> As the name implies, the GridGraph will generate a grid of nodes with the size width*depth. A grid can be positioned anywhere in the scene, and you can rotate it any way you want.</p><p>The Node Size variable determines how large a square/node in the grid is, for this tutorial you can leave it at 1, so the nodes will be spaced 1 unit apart.</p><p>The position needs to be changed, though. Switch to bottom-left in the small selector to the right of the position field (currently named "Center"), then enter (-50,-0.1,-50). The -0.1 is to avoid floating point errors, in our scene the ground is at Y=0, if the graph was to have position Y=0 too, we might get annoying floating point errors when casting rays against it for example (like the height check does).</p><p>To make the grid fit our scene, we need to change the width and depth variables, set both to 100 in this case. You can see that the grid is correctly positioned by the white bounding rectangle in the scene view, which should now be enclosing the plane exactly.</p><h4 id='heighttest' >Height Testing</h4><p>In order to place the nodes at their correct height, the A* system fires off a bunch of rays against the scene to see where they hit. That's the Height Testing settings. A ray is fired from [Ray Length] units above the grid downwards, a node is placed where it hits. If it doesn't hit anything, it is either made unwalkable if the Unwalkable When No Ground variable is toggled or the node is placed at Y=0 relative to the grid if it is set to false.</p><p>To make sure our height testing hits the correct things, we need to change the mask used. Currently it includes everything, but that would include our obstacles as well, and we don't want that. So set the Mask to only include the "Ground" layer which we created earlier.</p><h4 id='collisiontest' >Collision Testing</h4><p>When a node has been placed, it is checked for walkability, this can be done with a Sphere, Capsule or a Ray. Usually a capsule is used with the same diameter and height as the AI character which is going to be walking around in the world, preferably with some margin though.</p><p>Our AI will have the standard diameter and height of 1 and 2 world units respectively, but we will set the diameter and height for the collision testing to 2 and 2 to get some margin.</p><p>Next, to make the system aware of the obstacles we placed, we need to change the mask for the Collision Testing, this time set it to contain only the "Obstacles" layer as we wouldn't want our ground to be treated as an obstacle.</p><p>Now that everything is set up correctly you can press the Scan button. Wait a fraction of a second and you've got a generated grid! (if you have done everything correctly, that is. Compare your settings to the image below and make sure that Show Graphs is true).</p><p><table class='table table-striped table-filled' ><tr rows='1' cols='2' ><td thead='no' ><p> <img class="tinyshadow" src="data:image/png;base64,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"></img> </p>
  7629. </td><td thead='no' ><p> <img class="tinyshadow" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlAAAAO2CAIAAACo6j45AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nOzdeVRT17448J2QOQECBAgEggVMZRQQAkiuA61aULH2WqvYlit6lZ8iDlX0WqtFq21ftU+xtFZr61C1V0uts9g6VnBAKYJSVCIQVIIBAkmATCS/P85rVhZDCBAGyfez3norZ2dP7Ev9cvbZZ29cfn4+AgAAAIY6Qm8Kq1SqxsbG1tbWDr8lEolOTk44HK43TQAAAAAW0auA19jYGBwczOFwOvy2uLj42bNnTk5OeDy+zVdyufz58+dardZUzwgEd3d3W1vb3vQQAAAAwPQq4LW2tnYW7RBCQUFBer3++fPnLBarzX1ea2urQCBgMpkmKpdKpWVlZb3pHgAAAGDQq4DXpeDgYL1eLxaLWSyWcbpWqzUd7RBCDg4Opm8BLau1tbW+vh67H1UoFAwGo9+aBgCAl9rTp09v374tFosRQmw2m8/ne3h49KCe7OxshNA///lP84u0trb+9NNPCKFZs2bZ2NiYztx2srE3qqRPx372WquuNfKTGGmzFEscOXKkRqPpVj0KhcLEt7W1tal/W7ly5f79+9VqtYn8UqlUKv2/zohEotTU1AcPHrTJc/Pmzddff33KlCk3btyoqKiYMGHC0aNHzenqpk2bdu3aZU5OAAAYkm7cuHH48OHKykoOh8Plcquqqn766aebN2/2oCqhUCgUCrtVpKmp6dmzZ8+ePWtqauoyc9s7vBs3brx48aJ9PhcXl+joaBMVtepay2rKhjl7VdaLqESKLaWHz94OHz585MiRI0eOdHaPpVQq8/Pzg4ODfXx8ampqvvnmm+Li4q1bt3ZW4erVqxFCu3fvRgg1NTXl5+fPmjWrTZ79+/czGIyvv/7ax8cHh8OtWLHiH//4hzm9LS4u7tkfMgAAMAQ8ffr0jz/+QAhNnTrVzs5Or9dHRETs37//+vXrHh4epv953LNnj+FuBCGUnp6Offif//kfBweHf//73+Z0wM7O7u2338Y+dJm5bcALDAy8cuWKTqczTsTj8YGBgSZqKa0uTfz2fezzjK/eQQjxN47+NunriFfCzemxARbtZs+e3eWM4muvvYbFra1btx47duzFixcuLi719fWnTp2qrq7mcrkJCQkMBuPUqVPPnz9HCGVmZqakpGBldTrdoUOHqqur//GPf0RGRv78888VFRUEAuG3337z9PRsbm6urq5uamp68eLFTz/9FB8fn5eX9+LFi3HjxoWHhyOE5HL5sWPHGhsb4+PjjbukVqtPnTpVVlbm6uo6bdo0BwcHrIbXXnvt8uXL/v7+sbGx3RoNAAAY5G7fvo19EIvFV65c8fDwGDduHEJIp9Pdvn3bdMDrLKQZIp+Z3NzczMzZNuDZ2tpyudyKigrjRC6Xa3q1JI/Nu/6fK5+e+ZxOpuuRXq5UrJvyHwqJ0mXztbW1hsd7hmiXmJhoZu8RQs7Ozgih5ubmlpaWuXPn4nC4yMjIgwcPXrp06bvvvpPJZNiDwLq6OkMU3717t4ODQ0VFxbFjx7799tvGxkatVqvX6+vq6rD/f+jQocDAQDc3t0OHDv3xxx9sNvvJkyc///zz999/z+PxUlJSRCIRn8//6KOPGhoasP9FdTrdsmXLHj16NGbMmNOnTx8/fvzHH3/Eqvr999+ZTCabzTb/hwIAgJcC9twOIZSXl2dvbz9u3LgrV660+cp8Pj4+3S2iVCqx50opKSkUShdBp4NFK35+fs+ePTM8eCMSiX5+fqZrwePwNDLthUIy02/sjbJbw5y8aGRalx2Vy+Vz587FIlx3o11VVVVBQUFNTc3Ro0fd3d25XK5KpVq9ejWPx2OxWK6urt9++61UKp0zZ87Vq1cRQhkZGYay48aNmz9/vkQimTJlSl5e3qJFi65du0aj0YzzGEyaNGn+/PlPnz795z//eevWrfr6+rKysnXr1k2dOlUsFhsert66devu3bvffvttSEiITCabPHny+fPnsdvi119/PS0tzZwfCgAAXl4REREVFRVFRUXdLWhYq9Kt5So90EHAI5FIw4cPLykpwS6HDx9OIpFM17I2+6OLf13StmoLKv7U6XV4HD7vyY19yXtNl7K1tZ09e/aRI0eKi4vv37/frXu7n3/++eeff8bhcH5+fmvXrsXj8RQKRSKRHDlypLy8HJsXViqVHZb19vZGCDk7O5NIpC6fc2KZsdu45ubmqqoqhBA2t8lms93d3bFsT548QQh9+OGH2AsYWq1WJBJhAc/0bDAAALy82Gy24f2xa9eu6fV646/MrKS7C1WMUSgU7HFVl7d3qLPXEnx8fCorK5uamuh0ujn3mGsnr04Zv2D6zhm/pv38r+/mf/JWxgi3V83pKxbhejCTmZqaOmPGDBKJZFiHevbs2S1btmBLN2/evPnll1+aX5v5qFQqQqi+vt7NzU2n08lkMiydRqMhhDZt2uTo6Iil2NnZ1dTU9EUfAABgkODz+U+ePMEeGE2YMAEhdObMGYQQHo/n8/mmy2KLVozXqhi+Mn/RCkKouroaIfTKK690mbPjgIfH4/38/O7cuePn59d+n5T2GBSGqL6Kbc9mUpnSZulIz2AKsetgi0lMTPTz8wsNDTUzP4ZIJGKxx6ChoQGHw/H5fDs7O8MkMkKIQqFUVFTcu3dv5MiR3WqiQxERETY2Nt98883/+3//7+rVqw0NDVh6dHQ0iUQ6ffr0/Pnzi4qKdu/evXLlSgcHh963CAAAg5aHh0dMTExubq5Op8MmwBBCeDxeIBB0uYK9TUjr7loVjEwmO3bsGEIoJSWly4WanQYzDofj4+NjYiOVNvRIP4s/Q6FSJEbOMj/aYbob7ToUHx/v4+Pz/vvvv/XWW8a30m+//bZCoViwYIHx+tce43A46enp9+/fnzdvnkQiGT58OJbOZrM3bdp08+bN6dOnb9y4MSIiosu/bgAAYAiIjo6eNWuWr6/vkydPnjx54uvrO2vWrKioKPNr8PHx6cFyFQydTudwOBwOh06nd5kZ15vTEqqrq6dMmdJlttOnT7dZNtrQ0ODr62v6BgjbWqzLDVnal6LT6W0eOup0upaWFnOGw0wajUar1ba5xcQakkqltra2XT71BAAA0M96tbWYjY3Ns2fPTN8FPnv2rP12L7a2tmVlZV1uHt2DnaM7DKJ4PN6C0Q4hRCQSiURihw05OTlZsCEAAACW0qs7PNPHA2FsbGzs7e3JZHKPWwEAAAB6r1d3eGQy2cXFxVJdAQAAAPqOJTePBgAAAAYtgkXWLgIAAACDHO61114b6D4AAAAAfY7wxhtvDHQfAAAAgD5HsLe3H+g+AAAAAH2OYM6GmwAAAMDLDlZpAgAAsAoQ8AAAAFgFCHgAAACsAgQ8AAAAVsHcrcWePn2al5dXW1tLo9GCg4NDQ0Oxo717rLa29tSpUxMmTOjyzCQAAACg98y6w/vrr7++++47kUjk5uam1WqPHz9++vTpXjasUqmePHnS1NTUy3oAAAAAc3R9h6fT6U6ePMlisRYsWIAd83bixInbt29jZ3zn5eUFBgaWlJRwOJyAgACFQlFQUNDQ0ODk5DRq1CgKhSKTyfLy8kaOHFleXl5fXz9ixAhfX1/jyq9fv97Q0GBIr62tLSkpaWxsZLPZoaGhBEKvtrcGAAAAMDbTp083naOqqurmzZsTJkzw9PTEUoYPHx4TE8NgMOrq6o4fP15WViaXy52dnZ2dnbOysp4/f+7o6FhQUPDo0aNRo0bV1tYeP35cKBQ2NzeLxeK8vDxnZ2dXV1e5XH7nzh2JRKJQKCorK2/fvu3j42NjY5OVlSWTyezs7G7cuCGRSAICAvp+EAAAAAx9Xd8/yWQy9PfBqk1NTVevXsXSg4KC8Hg8QigwMBDbn0ytVickJLi5udna2trb21+8eNEwY+nr6zt16lStVpuZmXn9+vWgoCAs3d/ff/z48TKZ7Isvvnj06JG3t7dKpYqMjAwPD+fz+Wq1ug9+ZAAAANao64CHbcWChS6dTieTyZRKpVAodHNzww7DM9z5EYlEuVyel5cnkUiw/BqNBvtq2LBhCCECgeDl5VVaWmqoHKvBzs6OQCCoVCoul+vp6XnixIlLly698sorMTExFv1hAQAAWK+uF61wOBwbG5uioiKEkK2t7axZs0JDQxFCjo6ObXIWFhb++uuvPj4+c+fOnTRpkvFXhls9hUKBPQjsEJFIXLBgweLFi8eOHSsSiX744QfTx6kDAAAAZuo64FGp1NGjR5eWlv70009FRUV//PHH6dOn3d3duVxum5zNzc04HM7Hx4dKpZaUlBh/lZeXV1FRUVBQ8OTJk+HDh3fW1sOHD7du3VpTU+Pv78/hcLRarU6n69kPBgAAABgzaw3khAkTsAWZDx48wOFwr776akJCQvv38EJCQgoLC7/55hsymezn52f8lb+//08//dTU1OTl5TVhwoTOGvL19R02bFh2drZer6fT6dOnTycSiT34qQAAAIA2cAcOHDAzq16vb2pqIpPJpoMQlsfwOsGzZ8927do1a9Ysf39/pVJJpVK7bEir1ba0tDAYjF6+2w4AAAAYdOMtNxwOx2AwusxGp9M7K25OtEMIEQgEW1tb8zsGAAAAdKnP99K0t7efNGmSq6trXzcEAAAAmNDn+5gwGAyBQNDXrQAAAACmwWkJAAAArAIEPAAAAFYBAh4AAACrAAEPAACAVYCABwAAwCpAwAMAAGAVIOABAACwChDwAAAAWIUOXjyXyWQFBQXPnz83nGYHAAAADH5EItHd3T0sLMzOzq79t20DXmNj47lz5wICAsaPH89gMLAzzQEAAIBBTqfTKRSKoqKis2fPxsXF2dvbt8nQNuD9+eefAQEB48aNo9FoeDwezisAAADwUtDr9Uwm09HRsbW19c8//xw3blybDG0D3vPnz8ePH0+j0WxsbPqpjwAAAAZafX3977///uTJE5VK1WEGMpns7e39+uuvOzo69meR7pai0WihoaE//vhj+2xtA55Go4GZTAAAsCp1dXV79+7lcrlTp061s7NrHwJ0Op1MJisuLv7uu+/mzZvn5OTUZRGNRtPU1NStIu1b6UHfHB0dGQyGVqtt/2N2sGgFZjIBAMCqXLx40dPT87XXXrO3t7exsekwqLi6urq4uFy4cOHixYszZ840XeTatWt5eXm2trYxMTGtra3mFOmwlZ71rbN7tj65k2tubu6LagEAAPSFJ0+eBAcH29vbE4nEDqMFHo8nEon29vYhISFCodB0kYsXL165ckWtVtfV1f3222/BwcGmi7S0tHzzzTf79+9v30qbUlVVVR12vn2pDnXvPDyhUHj+/Pnq6moGgzF69Oh//OMf7e8Fnz9//p///GfOnDkTJ040Tt+zZ4+Dg8OMGTN6UGe3iMXiffv2vf322z4+Pr2pBwAArIRKpbKzs+ty6YaNjY2dnZ1arTZR5Pfff8/LyzNcKpXKLos0NDRIJBLDQzvjVoxLVVRUHDhwICoqyji45OTk3Lp1KzEx0dvb27hUh7oR8AoKCjIzM5lMZmBgoFgs3rNnT3l5eVJSUptsLi4u7777blhYWJv0x48ftz/33Mw6u6WlpeXBgweTJk3qTSUAAGBV8Hg8Ho9vbW198ODBX3/9JRaLFQoFFnucnJz8/PwCAgLazChiRYwr+e23327cuGGcMm3aNAKBYKIIQsje3n7WrFmenp6d5cFShg0bFhUVdfPmTYQQFvOwaBcZGenr64tlM/0zmhvwWltbv//+e3d39/Xr11MoFITQ999///vvv0+aNIlEIuXk5PD5/Pz8fG9vb19f39ra2ubmZicnp6ampt9//12hUMTExPSmTj6f39jYeO3atdraWjabPXbsWBqNVl9fn5OTM3r06L/++qumpiYsLCwoKMhQuV6vP3v2bG1tbWhoqHE6AACADjU2Nh46dIhIJIaGhr7yyit//PEHQig0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K1Y8++yzhBCLxfLzzz9XVFSMGDFixowZPB6v0zC676h9bP7+/jqdzr67wr///e+ZM2fezje14c4wGo07duw4efKkj49PeHh4dnb2d99999e//nWw4wKAwdf/z/AMBsPu3bv3798fFxfX1NS0cuVKppDZl87Pz8/V1dXPzy8kJMReaDQaly5dqlark5KSLl682MtxG5vNtr909cEHH+Tn548fP76mpsbeY8cwuu+ofWxisfjrr79myquqqo4cOeKw3QHcnWpra4cNG2b/fHlycnLHeQIAcE4D8h6e0Wh84YUXBALBhAkT0tPT22/uGhYWNmzYsLCwsLFjx9of+PH5/E8++cTT05MQIpFIPvvss8WLF3fVeFNTk9VqValU27Ztmzx5MiFELpfX1dVt3ryZoqikpKSXXnqppKTEz8+vYxhisbibjtrHRgjhcrlXrlwJDw///fffU1NTKYoaiHsF/aupqcnDw8P+093dvbGxcRDjAYC7x4AkPIlEwjyZY7PZIpFIr9f3uGRcLpdv3rz56tWrJpOp+5qffPIJh8MRiUTx8fFPPPEEIaSmpqa1tfXll19mKly/fl2hUPj5+XUMQywW976jlJSU3377LTw8PDMz87333uvltcPgcnFxUavV9p8ajabHTZcAwEncFV9aKSsr++KLL1asWBEeHl5fX999dvnnP//p8PEYoVAYHh7+5ptv2ksEAkH7YeWtdZSSkvLKK6/cf//9MpnM39+/j9cEgyMgIKCurk6v1wuFQkJISUlJYGDgYAcFAHeFQXgPj8vlOiyca2pq8vf3j4qK4vP5v//+e18bjI6OrqioUCgUEomEpulPP/2002zXm47ax+bp6env779hw4YHH3ywryHBYJHJZMnJyRs2bCCEKBSKHTt2MNMAAACDkPBmzpx54MCBt956y14yYcIEDoezePHiZ599VqVS9bVBiUTy+uuvr169+oUXXli0aFFAQEBXs1g9duQQ27Rp02pqaqZMmdLXkGAQ/eMf/zh+/HhcXNyUKVOWLFkyZsyYwY4IAO4KVEZGRvvf27dvX7Zs2UCvv6dp2mQyOXz5UKlU8vn8rl7L65HNZmtpaZFKpT1+ULH7jtrHdvLkyXPnzrXPzXB30mq1SUlJ7UuampqkUukt/+sEAEPRuXPnxGJxa2vr+vXrn3nmGYejg/MMj6KojmnpNhcXsFis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"></img> </p>
  7630. </td></tr></table>
  7631. </p><h3 id='addingai' >Adding the AI</h3><p>What is a pathfinding test without some moving stuff? Not fun at all, so let's add an AI to play around with.</p><p>Create a capsule and add the Character Controller component to it, also place it somewhere visible on the plane.</p><p>Add the Seeker component to the AI, this script is a helper script for calling requesting paths from other scripts, it can also handle path modifiers which can e.g. smooth the path or simplify it using raycasts.</p><p>There are two alternatives now. You can either write your own movement script or you can use one of the built-in movement scripts. The included scripts are much more advanced than what you write in the tutorial linked below, so for most cases I recommend using them. However, I still recommend following the tutorial for writing a custom movement script even if you end up using one of the built-in ones in your game because it makes it easier to understand how the system works under the hood.</p><p>Check out this subpage for the tutorial: <a href='http://arongranberg.com/astar/documentation/stable/custom_movement_script.html'>Writing a movement script</a></p><p>The included scripts are called <a href='http://arongranberg.com/astar/documentation/stable/aipath.html'>AIPath</a>, <a href='http://arongranberg.com/astar/documentation/stable/richai.html'>RichAI</a> and <a href='http://arongranberg.com/astar/documentation/stable/ailerp.html'>AILerp</a>. The AIPath and AILerp scripts can be used on any graph, while RichAI is primarily for navmesh based graphs. While the AIPath and RichAI scripts follow the path loosely, the AILerp script uses interpolation to move along the path very precisely, but perhaps not in the most realistic way. Which one you use depends on your game.</p><p></p><div class='simplesect simplesect-see' ><h3>See</h3><p>For more information about the included movement scripts, take a look at <a href='http://arongranberg.com/astar/documentation/stable/movementscripts.html'>Movement scripts</a>. You can also see how they are used in the included example scenes.</p></div><p>
  7632. For this tutorial, you can attach the <a href='http://arongranberg.com/astar/documentation/stable/aipath.html'>AIPath</a> component to the AI. Also create a new GameObject named "Target" and position it where you want the AI to move. Then attach the <a href='http://arongranberg.com/astar/documentation/stable/aidestinationsetter.html'>AIDestinationSetter</a> component to the AI. This component is just a very simple helper script which will tell the AIPath script to move to a particular location. You will likely replace this script with your own game-specific script in the future. The AIDestinationSetter component has a single field called "target", assign the "Target" GameObject that you created earlier to this field.</p><p>If you press play now, the AI should move to the target. How the movement scripts work and how to configure them is explained in more detail in the video tutorial linked above. Take a look at that if something doesn't seem to work.</p><h3 id='smoothing' >Smoothing</h3><p>Now you have learned how to set up a simple grid graph and how to calculate paths Pathfinding, but surely there must be a way to get those paths to look a bit smoother?<br>
  7633. Sure it is. Path smoothing and simplification scripts are called Path Modifiers and are scripts which can be added to the same GameObject as the Seeker.</p><p>The most straight forward one is the Simple Smooth modifier, which can be found at Menu bar → Components → Pathfinding → Modifiers → Simple Smooth. Add that to our AI.</p><p>What this modifier is going to do, is to subdivide the path a number of times until each segment becomes smaller than the Max Segment Length variable. Then it will smooth the path by moving the points closer to each other. The modifier has a number of settings, I won't go through all of them here. See the <a href='http://arongranberg.com/astar/documentation/stable/simplesmoothmodifier.html'>SimpleSmoothModifier</a> documentation for more info about each variable. For this tutorial you can set Max Segment Length to, say 1. Iterations to 5 and Strength to 0.25. Experiment with it to get good values.</p><p>Now press play again, the path should look much smoother, just as we wanted.</p><p></p><div class='simplesect simplesect-warning' ><h3>Warning</h3><p>Smoothers don't usually take world geometry or the graph into account, so be careful with applying too much smoothing since that could cause paths to pass through unwalkable areas.</p></div><p>
  7634. <img class="tinyshadow" src="data:image/png;base64,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"></img></p><p>Another good modifier to use is the <a href='http://arongranberg.com/astar/documentation/stable/funnelmodifier.html'>FunnelModifier</a> which will simplify the path a great deal. This modifier is almost always used when using navmesh/recast graphs.</p><p>Read more about modifiers on the page <a href='http://arongranberg.com/astar/documentation/stable/modifiers2.html'>Using Modifiers</a>.</p><h3 id='logging' >Logging settings</h3><p>Every time a path is calculated by the system, it can optionally be logged to the console. This can be a big help in understanding what the system is doing and also to spot performance issues. Logging is not free, however, so for release builds it is recommended that you disable it.</p><p>You can change the logging settings under the A* Inspector → Settings → Debug tab. <img class="tinyshadow" srcset="images/path_logging@2x.png 2x" src="data:image/png;base64,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"></img></p><p>Use less debugging to improve performance (a bit) or just to get rid of the console spam. Use more debugging (heavy) if you want more information about what the pathfinding scripts are doing. The InGame option will display the latest path log using the in-game GUI.</p><h3 id='end' >Conclusion</h3><p>That was the end of the Get Started tutorial part 1. I hope you learned something from it. From here on, you can explore the rest of the documentation or dig straight in to the project. If you want a little better AI, you can use the AIPath script, which is included in the project.</p><p>You can continue with the next part of the get started tutorial, where we will use navmesh graphs: <a href='http://arongranberg.com/astar/documentation/stable/getstarted2.html'>Using navmeshes</a></p><p>You can also take a look in the sidebar, there you will find a number of tutorials for how to use the package.</p><p>Good Luck! </p><div class='alert alert-danger' role='alert'>This is an excerpt from the full documentation. You can view the full documentation <a href='http://arongranberg.com/astar/documentation/stable'>here</a>. Most links on this page will just take you to the full documentation.</div>
  7635. </article>
  7636. </div>
  7637. <div class="row">
  7638. <div class="col-md-12" style="height: 30px">
  7639. </div>
  7640. </div> </div>
  7641. </div>
  7642. </div>
  7643. <script>/*!
  7644. * jQuery JavaScript Library v2.1.4
  7645. * http://jquery.com/
  7646. *
  7647. * Includes Sizzle.js
  7648. * http://sizzlejs.com/
  7649. *
  7650. * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
  7651. * Released under the MIT license
  7652. * http://jquery.org/license
  7653. *
  7654. * Date: 2015-04-28T16:01Z
  7655. */
  7656. (function( global, factory ) {
  7657. if ( typeof module === "object" && typeof module.exports === "object" ) {
  7658. // For CommonJS and CommonJS-like environments where a proper `window`
  7659. // is present, execute the factory and get jQuery.
  7660. // For environments that do not have a `window` with a `document`
  7661. // (such as Node.js), expose a factory as module.exports.
  7662. // This accentuates the need for the creation of a real `window`.
  7663. // e.g. var jQuery = require("jquery")(window);
  7664. // See ticket #14549 for more info.
  7665. module.exports = global.document ?
  7666. factory( global, true ) :
  7667. function( w ) {
  7668. if ( !w.document ) {
  7669. throw new Error( "jQuery requires a window with a document" );
  7670. }
  7671. return factory( w );
  7672. };
  7673. } else {
  7674. factory( global );
  7675. }
  7676. // Pass this if window is not defined yet
  7677. }(typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
  7678. // Support: Firefox 18+
  7679. // Can't be in strict mode, several libs including ASP.NET trace
  7680. // the stack via arguments.caller.callee and Firefox dies if
  7681. // you try to trace through "use strict" call chains. (#13335)
  7682. //
  7683. var arr = [];
  7684. var slice = arr.slice;
  7685. var concat = arr.concat;
  7686. var push = arr.push;
  7687. var indexOf = arr.indexOf;
  7688. var class2type = {};
  7689. var toString = class2type.toString;
  7690. var hasOwn = class2type.hasOwnProperty;
  7691. var support = {};
  7692. var
  7693. // Use the correct document accordingly with window argument (sandbox)
  7694. document = window.document,
  7695. version = "2.1.4",
  7696. // Define a local copy of jQuery
  7697. jQuery = function( selector, context ) {
  7698. // The jQuery object is actually just the init constructor 'enhanced'
  7699. // Need init if jQuery is called (just allow error to be thrown if not included)
  7700. return new jQuery.fn.init( selector, context );
  7701. },
  7702. // Support: Android<4.1
  7703. // Make sure we trim BOM and NBSP
  7704. rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
  7705. // Matches dashed string for camelizing
  7706. rmsPrefix = /^-ms-/,
  7707. rdashAlpha = /-([\da-z])/gi,
  7708. // Used by jQuery.camelCase as callback to replace()
  7709. fcamelCase = function( all, letter ) {
  7710. return letter.toUpperCase();
  7711. };
  7712. jQuery.fn = jQuery.prototype = {
  7713. // The current version of jQuery being used
  7714. jquery: version,
  7715. constructor: jQuery,
  7716. // Start with an empty selector
  7717. selector: "",
  7718. // The default length of a jQuery object is 0
  7719. length: 0,
  7720. toArray: function() {
  7721. return slice.call( this );
  7722. },
  7723. // Get the Nth element in the matched element set OR
  7724. // Get the whole matched element set as a clean array
  7725. get: function( num ) {
  7726. return num != null ?
  7727. // Return just the one element from the set
  7728. ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
  7729. // Return all the elements in a clean array
  7730. slice.call( this );
  7731. },
  7732. // Take an array of elements and push it onto the stack
  7733. // (returning the new matched element set)
  7734. pushStack: function( elems ) {
  7735. // Build a new jQuery matched element set
  7736. var ret = jQuery.merge( this.constructor(), elems );
  7737. // Add the old object onto the stack (as a reference)
  7738. ret.prevObject = this;
  7739. ret.context = this.context;
  7740. // Return the newly-formed element set
  7741. return ret;
  7742. },
  7743. // Execute a callback for every element in the matched set.
  7744. // (You can seed the arguments with an array of args, but this is
  7745. // only used internally.)
  7746. each: function( callback, args ) {
  7747. return jQuery.each( this, callback, args );
  7748. },
  7749. map: function( callback ) {
  7750. return this.pushStack( jQuery.map(this, function( elem, i ) {
  7751. return callback.call( elem, i, elem );
  7752. }));
  7753. },
  7754. slice: function() {
  7755. return this.pushStack( slice.apply( this, arguments ) );
  7756. },
  7757. first: function() {
  7758. return this.eq( 0 );
  7759. },
  7760. last: function() {
  7761. return this.eq( -1 );
  7762. },
  7763. eq: function( i ) {
  7764. var len = this.length,
  7765. j = +i + ( i < 0 ? len : 0 );
  7766. return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
  7767. },
  7768. end: function() {
  7769. return this.prevObject || this.constructor(null);
  7770. },
  7771. // For internal use only.
  7772. // Behaves like an Array's method, not like a jQuery method.
  7773. push: push,
  7774. sort: arr.sort,
  7775. splice: arr.splice
  7776. };
  7777. jQuery.extend = jQuery.fn.extend = function() {
  7778. var options, name, src, copy, copyIsArray, clone,
  7779. target = arguments[0] || {},
  7780. i = 1,
  7781. length = arguments.length,
  7782. deep = false;
  7783. // Handle a deep copy situation
  7784. if ( typeof target === "boolean" ) {
  7785. deep = target;
  7786. // Skip the boolean and the target
  7787. target = arguments[ i ] || {};
  7788. i++;
  7789. }
  7790. // Handle case when target is a string or something (possible in deep copy)
  7791. if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
  7792. target = {};
  7793. }
  7794. // Extend jQuery itself if only one argument is passed
  7795. if ( i === length ) {
  7796. target = this;
  7797. i--;
  7798. }
  7799. for ( ; i < length; i++ ) {
  7800. // Only deal with non-null/undefined values
  7801. if ( (options = arguments[ i ]) != null ) {
  7802. // Extend the base object
  7803. for ( name in options ) {
  7804. src = target[ name ];
  7805. copy = options[ name ];
  7806. // Prevent never-ending loop
  7807. if ( target === copy ) {
  7808. continue;
  7809. }
  7810. // Recurse if we're merging plain objects or arrays
  7811. if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
  7812. if ( copyIsArray ) {
  7813. copyIsArray = false;
  7814. clone = src && jQuery.isArray(src) ? src : [];
  7815. } else {
  7816. clone = src && jQuery.isPlainObject(src) ? src : {};
  7817. }
  7818. // Never move original objects, clone them
  7819. target[ name ] = jQuery.extend( deep, clone, copy );
  7820. // Don't bring in undefined values
  7821. } else if ( copy !== undefined ) {
  7822. target[ name ] = copy;
  7823. }
  7824. }
  7825. }
  7826. }
  7827. // Return the modified object
  7828. return target;
  7829. };
  7830. jQuery.extend({
  7831. // Unique for each copy of jQuery on the page
  7832. expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
  7833. // Assume jQuery is ready without the ready module
  7834. isReady: true,
  7835. error: function( msg ) {
  7836. throw new Error( msg );
  7837. },
  7838. noop: function() {},
  7839. isFunction: function( obj ) {
  7840. return jQuery.type(obj) === "function";
  7841. },
  7842. isArray: Array.isArray,
  7843. isWindow: function( obj ) {
  7844. return obj != null && obj === obj.window;
  7845. },
  7846. isNumeric: function( obj ) {
  7847. // parseFloat NaNs numeric-cast false positives (null|true|false|"")
  7848. // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
  7849. // subtraction forces infinities to NaN
  7850. // adding 1 corrects loss of precision from parseFloat (#15100)
  7851. return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0;
  7852. },
  7853. isPlainObject: function( obj ) {
  7854. // Not plain objects:
  7855. // - Any object or value whose internal [[Class]] property is not "[object Object]"
  7856. // - DOM nodes
  7857. // - window
  7858. if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
  7859. return false;
  7860. }
  7861. if ( obj.constructor &&
  7862. !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
  7863. return false;
  7864. }
  7865. // If the function hasn't returned already, we're confident that
  7866. // |obj| is a plain object, created by {} or constructed with new Object
  7867. return true;
  7868. },
  7869. isEmptyObject: function( obj ) {
  7870. var name;
  7871. for ( name in obj ) {
  7872. return false;
  7873. }
  7874. return true;
  7875. },
  7876. type: function( obj ) {
  7877. if ( obj == null ) {
  7878. return obj + "";
  7879. }
  7880. // Support: Android<4.0, iOS<6 (functionish RegExp)
  7881. return typeof obj === "object" || typeof obj === "function" ?
  7882. class2type[ toString.call(obj) ] || "object" :
  7883. typeof obj;
  7884. },
  7885. // Evaluates a script in a global context
  7886. globalEval: function( code ) {
  7887. var script,
  7888. indirect = eval;
  7889. code = jQuery.trim( code );
  7890. if ( code ) {
  7891. // If the code includes a valid, prologue position
  7892. // strict mode pragma, execute code by injecting a
  7893. // script tag into the document.
  7894. if ( code.indexOf("use strict") === 1 ) {
  7895. script = document.createElement("script");
  7896. script.text = code;
  7897. document.head.appendChild( script ).parentNode.removeChild( script );
  7898. } else {
  7899. // Otherwise, avoid the DOM node creation, insertion
  7900. // and removal by using an indirect global eval
  7901. indirect( code );
  7902. }
  7903. }
  7904. },
  7905. // Convert dashed to camelCase; used by the css and data modules
  7906. // Support: IE9-11+
  7907. // Microsoft forgot to hump their vendor prefix (#9572)
  7908. camelCase: function( string ) {
  7909. return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
  7910. },
  7911. nodeName: function( elem, name ) {
  7912. return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
  7913. },
  7914. // args is for internal usage only
  7915. each: function( obj, callback, args ) {
  7916. var value,
  7917. i = 0,
  7918. length = obj.length,
  7919. isArray = isArraylike( obj );
  7920. if ( args ) {
  7921. if ( isArray ) {
  7922. for ( ; i < length; i++ ) {
  7923. value = callback.apply( obj[ i ], args );
  7924. if ( value === false ) {
  7925. break;
  7926. }
  7927. }
  7928. } else {
  7929. for ( i in obj ) {
  7930. value = callback.apply( obj[ i ], args );
  7931. if ( value === false ) {
  7932. break;
  7933. }
  7934. }
  7935. }
  7936. // A special, fast, case for the most common use of each
  7937. } else {
  7938. if ( isArray ) {
  7939. for ( ; i < length; i++ ) {
  7940. value = callback.call( obj[ i ], i, obj[ i ] );
  7941. if ( value === false ) {
  7942. break;
  7943. }
  7944. }
  7945. } else {
  7946. for ( i in obj ) {
  7947. value = callback.call( obj[ i ], i, obj[ i ] );
  7948. if ( value === false ) {
  7949. break;
  7950. }
  7951. }
  7952. }
  7953. }
  7954. return obj;
  7955. },
  7956. // Support: Android<4.1
  7957. trim: function( text ) {
  7958. return text == null ?
  7959. "" :
  7960. ( text + "" ).replace( rtrim, "" );
  7961. },
  7962. // results is for internal usage only
  7963. makeArray: function( arr, results ) {
  7964. var ret = results || [];
  7965. if ( arr != null ) {
  7966. if ( isArraylike( Object(arr) ) ) {
  7967. jQuery.merge( ret,
  7968. typeof arr === "string" ?
  7969. [ arr ] : arr
  7970. );
  7971. } else {
  7972. push.call( ret, arr );
  7973. }
  7974. }
  7975. return ret;
  7976. },
  7977. inArray: function( elem, arr, i ) {
  7978. return arr == null ? -1 : indexOf.call( arr, elem, i );
  7979. },
  7980. merge: function( first, second ) {
  7981. var len = +second.length,
  7982. j = 0,
  7983. i = first.length;
  7984. for ( ; j < len; j++ ) {
  7985. first[ i++ ] = second[ j ];
  7986. }
  7987. first.length = i;
  7988. return first;
  7989. },
  7990. grep: function( elems, callback, invert ) {
  7991. var callbackInverse,
  7992. matches = [],
  7993. i = 0,
  7994. length = elems.length,
  7995. callbackExpect = !invert;
  7996. // Go through the array, only saving the items
  7997. // that pass the validator function
  7998. for ( ; i < length; i++ ) {
  7999. callbackInverse = !callback( elems[ i ], i );
  8000. if ( callbackInverse !== callbackExpect ) {
  8001. matches.push( elems[ i ] );
  8002. }
  8003. }
  8004. return matches;
  8005. },
  8006. // arg is for internal usage only
  8007. map: function( elems, callback, arg ) {
  8008. var value,
  8009. i = 0,
  8010. length = elems.length,
  8011. isArray = isArraylike( elems ),
  8012. ret = [];
  8013. // Go through the array, translating each of the items to their new values
  8014. if ( isArray ) {
  8015. for ( ; i < length; i++ ) {
  8016. value = callback( elems[ i ], i, arg );
  8017. if ( value != null ) {
  8018. ret.push( value );
  8019. }
  8020. }
  8021. // Go through every key on the object,
  8022. } else {
  8023. for ( i in elems ) {
  8024. value = callback( elems[ i ], i, arg );
  8025. if ( value != null ) {
  8026. ret.push( value );
  8027. }
  8028. }
  8029. }
  8030. // Flatten any nested arrays
  8031. return concat.apply( [], ret );
  8032. },
  8033. // A global GUID counter for objects
  8034. guid: 1,
  8035. // Bind a function to a context, optionally partially applying any
  8036. // arguments.
  8037. proxy: function( fn, context ) {
  8038. var tmp, args, proxy;
  8039. if ( typeof context === "string" ) {
  8040. tmp = fn[ context ];
  8041. context = fn;
  8042. fn = tmp;
  8043. }
  8044. // Quick check to determine if target is callable, in the spec
  8045. // this throws a TypeError, but we will just return undefined.
  8046. if ( !jQuery.isFunction( fn ) ) {
  8047. return undefined;
  8048. }
  8049. // Simulated bind
  8050. args = slice.call( arguments, 2 );
  8051. proxy = function() {
  8052. return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
  8053. };
  8054. // Set the guid of unique handler to the same of original handler, so it can be removed
  8055. proxy.guid = fn.guid = fn.guid || jQuery.guid++;
  8056. return proxy;
  8057. },
  8058. now: Date.now,
  8059. // jQuery.support is not used in Core but other projects attach their
  8060. // properties to it so it needs to exist.
  8061. support: support
  8062. });
  8063. // Populate the class2type map
  8064. jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
  8065. class2type[ "[object " + name + "]" ] = name.toLowerCase();
  8066. });
  8067. function isArraylike( obj ) {
  8068. // Support: iOS 8.2 (not reproducible in simulator)
  8069. // `in` check used to prevent JIT error (gh-2145)
  8070. // hasOwn isn't used here due to false negatives
  8071. // regarding Nodelist length in IE
  8072. var length = "length" in obj && obj.length,
  8073. type = jQuery.type( obj );
  8074. if ( type === "function" || jQuery.isWindow( obj ) ) {
  8075. return false;
  8076. }
  8077. if ( obj.nodeType === 1 && length ) {
  8078. return true;
  8079. }
  8080. return type === "array" || length === 0 ||
  8081. typeof length === "number" && length > 0 && ( length - 1 ) in obj;
  8082. }
  8083. var Sizzle =
  8084. /*!
  8085. * Sizzle CSS Selector Engine v2.2.0-pre
  8086. * http://sizzlejs.com/
  8087. *
  8088. * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors
  8089. * Released under the MIT license
  8090. * http://jquery.org/license
  8091. *
  8092. * Date: 2014-12-16
  8093. */
  8094. (function( window ) {
  8095. var i,
  8096. support,
  8097. Expr,
  8098. getText,
  8099. isXML,
  8100. tokenize,
  8101. compile,
  8102. select,
  8103. outermostContext,
  8104. sortInput,
  8105. hasDuplicate,
  8106. // Local document vars
  8107. setDocument,
  8108. document,
  8109. docElem,
  8110. documentIsHTML,
  8111. rbuggyQSA,
  8112. rbuggyMatches,
  8113. matches,
  8114. contains,
  8115. // Instance-specific data
  8116. expando = "sizzle" + 1 * new Date(),
  8117. preferredDoc = window.document,
  8118. dirruns = 0,
  8119. done = 0,
  8120. classCache = createCache(),
  8121. tokenCache = createCache(),
  8122. compilerCache = createCache(),
  8123. sortOrder = function( a, b ) {
  8124. if ( a === b ) {
  8125. hasDuplicate = true;
  8126. }
  8127. return 0;
  8128. },
  8129. // General-purpose constants
  8130. MAX_NEGATIVE = 1 << 31,
  8131. // Instance methods
  8132. hasOwn = ({}).hasOwnProperty,
  8133. arr = [],
  8134. pop = arr.pop,
  8135. push_native = arr.push,
  8136. push = arr.push,
  8137. slice = arr.slice,
  8138. // Use a stripped-down indexOf as it's faster than native
  8139. // http://jsperf.com/thor-indexof-vs-for/5
  8140. indexOf = function( list, elem ) {
  8141. var i = 0,
  8142. len = list.length;
  8143. for ( ; i < len; i++ ) {
  8144. if ( list[i] === elem ) {
  8145. return i;
  8146. }
  8147. }
  8148. return -1;
  8149. },
  8150. booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
  8151. // Regular expressions
  8152. // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
  8153. whitespace = "[\\x20\\t\\r\\n\\f]",
  8154. // http://www.w3.org/TR/css3-syntax/#characters
  8155. characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
  8156. // Loosely modeled on CSS identifier characters
  8157. // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors
  8158. // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
  8159. identifier = characterEncoding.replace( "w", "w#" ),
  8160. // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
  8161. attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace +
  8162. // Operator (capture 2)
  8163. "*([*^$|!~]?=)" + whitespace +
  8164. // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
  8165. "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
  8166. "*\\]",
  8167. pseudos = ":(" + characterEncoding + ")(?:\\((" +
  8168. // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
  8169. // 1. quoted (capture 3; capture 4 or capture 5)
  8170. "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
  8171. // 2. simple (capture 6)
  8172. "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
  8173. // 3. anything else (capture 2)
  8174. ".*" +
  8175. ")\\)|)",
  8176. // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
  8177. rwhitespace = new RegExp( whitespace + "+", "g" ),
  8178. rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
  8179. rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
  8180. rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
  8181. rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
  8182. rpseudo = new RegExp( pseudos ),
  8183. ridentifier = new RegExp( "^" + identifier + "$" ),
  8184. matchExpr = {
  8185. "ID": new RegExp( "^#(" + characterEncoding + ")" ),
  8186. "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ),
  8187. "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ),
  8188. "ATTR": new RegExp( "^" + attributes ),
  8189. "PSEUDO": new RegExp( "^" + pseudos ),
  8190. "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
  8191. "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
  8192. "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
  8193. "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
  8194. // For use in libraries implementing .is()
  8195. // We use this for POS matching in `select`
  8196. "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
  8197. whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
  8198. },
  8199. rinputs = /^(?:input|select|textarea|button)$/i,
  8200. rheader = /^h\d$/i,
  8201. rnative = /^[^{]+\{\s*\[native \w/,
  8202. // Easily-parseable/retrievable ID or TAG or CLASS selectors
  8203. rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
  8204. rsibling = /[+~]/,
  8205. rescape = /'|\\/g,
  8206. // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
  8207. runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
  8208. funescape = function( _, escaped, escapedWhitespace ) {
  8209. var high = "0x" + escaped - 0x10000;
  8210. // NaN means non-codepoint
  8211. // Support: Firefox<24
  8212. // Workaround erroneous numeric interpretation of +"0x"
  8213. return high !== high || escapedWhitespace ?
  8214. escaped :
  8215. high < 0 ?
  8216. // BMP codepoint
  8217. String.fromCharCode( high + 0x10000 ) :
  8218. // Supplemental Plane codepoint (surrogate pair)
  8219. String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
  8220. },
  8221. // Used for iframes
  8222. // See setDocument()
  8223. // Removing the function wrapper causes a "Permission Denied"
  8224. // error in IE
  8225. unloadHandler = function() {
  8226. setDocument();
  8227. };
  8228. // Optimize for push.apply( _, NodeList )
  8229. try {
  8230. push.apply(
  8231. (arr = slice.call( preferredDoc.childNodes )),
  8232. preferredDoc.childNodes
  8233. );
  8234. // Support: Android<4.0
  8235. // Detect silently failing push.apply
  8236. arr[ preferredDoc.childNodes.length ].nodeType;
  8237. } catch ( e ) {
  8238. push = { apply: arr.length ?
  8239. // Leverage slice if possible
  8240. function( target, els ) {
  8241. push_native.apply( target, slice.call(els) );
  8242. } :
  8243. // Support: IE<9
  8244. // Otherwise append directly
  8245. function( target, els ) {
  8246. var j = target.length,
  8247. i = 0;
  8248. // Can't trust NodeList.length
  8249. while ( (target[j++] = els[i++]) ) {}
  8250. target.length = j - 1;
  8251. }
  8252. };
  8253. }
  8254. function Sizzle( selector, context, results, seed ) {
  8255. var match, elem, m, nodeType,
  8256. // QSA vars
  8257. i, groups, old, nid, newContext, newSelector;
  8258. if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
  8259. setDocument( context );
  8260. }
  8261. context = context || document;
  8262. results = results || [];
  8263. nodeType = context.nodeType;
  8264. if ( typeof selector !== "string" || !selector ||
  8265. nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
  8266. return results;
  8267. }
  8268. if ( !seed && documentIsHTML ) {
  8269. // Try to shortcut find operations when possible (e.g., not under DocumentFragment)
  8270. if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
  8271. // Speed-up: Sizzle("#ID")
  8272. if ( (m = match[1]) ) {
  8273. if ( nodeType === 9 ) {
  8274. elem = context.getElementById( m );
  8275. // Check parentNode to catch when Blackberry 4.6 returns
  8276. // nodes that are no longer in the document (jQuery #6963)
  8277. if ( elem && elem.parentNode ) {
  8278. // Handle the case where IE, Opera, and Webkit return items
  8279. // by name instead of ID
  8280. if ( elem.id === m ) {
  8281. results.push( elem );
  8282. return results;
  8283. }
  8284. } else {
  8285. return results;
  8286. }
  8287. } else {
  8288. // Context is not a document
  8289. if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&
  8290. contains( context, elem ) && elem.id === m ) {
  8291. results.push( elem );
  8292. return results;
  8293. }
  8294. }
  8295. // Speed-up: Sizzle("TAG")
  8296. } else if ( match[2] ) {
  8297. push.apply( results, context.getElementsByTagName( selector ) );
  8298. return results;
  8299. // Speed-up: Sizzle(".CLASS")
  8300. } else if ( (m = match[3]) && support.getElementsByClassName ) {
  8301. push.apply( results, context.getElementsByClassName( m ) );
  8302. return results;
  8303. }
  8304. }
  8305. // QSA path
  8306. if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
  8307. nid = old = expando;
  8308. newContext = context;
  8309. newSelector = nodeType !== 1 && selector;
  8310. // qSA works strangely on Element-rooted queries
  8311. // We can work around this by specifying an extra ID on the root
  8312. // and working up from there (Thanks to Andrew Dupont for the technique)
  8313. // IE 8 doesn't work on object elements
  8314. if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
  8315. groups = tokenize( selector );
  8316. if ( (old = context.getAttribute("id")) ) {
  8317. nid = old.replace( rescape, "\\$&" );
  8318. } else {
  8319. context.setAttribute( "id", nid );
  8320. }
  8321. nid = "[id='" + nid + "'] ";
  8322. i = groups.length;
  8323. while ( i-- ) {
  8324. groups[i] = nid + toSelector( groups[i] );
  8325. }
  8326. newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context;
  8327. newSelector = groups.join(",");
  8328. }
  8329. if ( newSelector ) {
  8330. try {
  8331. push.apply( results,
  8332. newContext.querySelectorAll( newSelector )
  8333. );
  8334. return results;
  8335. } catch(qsaError) {
  8336. } finally {
  8337. if ( !old ) {
  8338. context.removeAttribute("id");
  8339. }
  8340. }
  8341. }
  8342. }
  8343. }
  8344. // All others
  8345. return select( selector.replace( rtrim, "$1" ), context, results, seed );
  8346. }
  8347. /**
  8348. * Create key-value caches of limited size
  8349. * @returns {Function(string, Object)} Returns the Object data after storing it on itself with
  8350. * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
  8351. * deleting the oldest entry
  8352. */
  8353. function createCache() {
  8354. var keys = [];
  8355. function cache( key, value ) {
  8356. // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
  8357. if ( keys.push( key + " " ) > Expr.cacheLength ) {
  8358. // Only keep the most recent entries
  8359. delete cache[ keys.shift() ];
  8360. }
  8361. return (cache[ key + " " ] = value);
  8362. }
  8363. return cache;
  8364. }
  8365. /**
  8366. * Mark a function for special use by Sizzle
  8367. * @param {Function} fn The function to mark
  8368. */
  8369. function markFunction( fn ) {
  8370. fn[ expando ] = true;
  8371. return fn;
  8372. }
  8373. /**
  8374. * Support testing using an element
  8375. * @param {Function} fn Passed the created div and expects a boolean result
  8376. */
  8377. function assert( fn ) {
  8378. var div = document.createElement("div");
  8379. try {
  8380. return !!fn( div );
  8381. } catch (e) {
  8382. return false;
  8383. } finally {
  8384. // Remove from its parent by default
  8385. if ( div.parentNode ) {
  8386. div.parentNode.removeChild( div );
  8387. }
  8388. // release memory in IE
  8389. div = null;
  8390. }
  8391. }
  8392. /**
  8393. * Adds the same handler for all of the specified attrs
  8394. * @param {String} attrs Pipe-separated list of attributes
  8395. * @param {Function} handler The method that will be applied
  8396. */
  8397. function addHandle( attrs, handler ) {
  8398. var arr = attrs.split("|"),
  8399. i = attrs.length;
  8400. while ( i-- ) {
  8401. Expr.attrHandle[ arr[i] ] = handler;
  8402. }
  8403. }
  8404. /**
  8405. * Checks document order of two siblings
  8406. * @param {Element} a
  8407. * @param {Element} b
  8408. * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
  8409. */
  8410. function siblingCheck( a, b ) {
  8411. var cur = b && a,
  8412. diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
  8413. ( ~b.sourceIndex || MAX_NEGATIVE ) -
  8414. ( ~a.sourceIndex || MAX_NEGATIVE );
  8415. // Use IE sourceIndex if available on both nodes
  8416. if ( diff ) {
  8417. return diff;
  8418. }
  8419. // Check if b follows a
  8420. if ( cur ) {
  8421. while ( (cur = cur.nextSibling) ) {
  8422. if ( cur === b ) {
  8423. return -1;
  8424. }
  8425. }
  8426. }
  8427. return a ? 1 : -1;
  8428. }
  8429. /**
  8430. * Returns a function to use in pseudos for input types
  8431. * @param {String} type
  8432. */
  8433. function createInputPseudo( type ) {
  8434. return function( elem ) {
  8435. var name = elem.nodeName.toLowerCase();
  8436. return name === "input" && elem.type === type;
  8437. };
  8438. }
  8439. /**
  8440. * Returns a function to use in pseudos for buttons
  8441. * @param {String} type
  8442. */
  8443. function createButtonPseudo( type ) {
  8444. return function( elem ) {
  8445. var name = elem.nodeName.toLowerCase();
  8446. return (name === "input" || name === "button") && elem.type === type;
  8447. };
  8448. }
  8449. /**
  8450. * Returns a function to use in pseudos for positionals
  8451. * @param {Function} fn
  8452. */
  8453. function createPositionalPseudo( fn ) {
  8454. return markFunction(function( argument ) {
  8455. argument = +argument;
  8456. return markFunction(function( seed, matches ) {
  8457. var j,
  8458. matchIndexes = fn( [], seed.length, argument ),
  8459. i = matchIndexes.length;
  8460. // Match elements found at the specified indexes
  8461. while ( i-- ) {
  8462. if ( seed[ (j = matchIndexes[i]) ] ) {
  8463. seed[j] = !(matches[j] = seed[j]);
  8464. }
  8465. }
  8466. });
  8467. });
  8468. }
  8469. /**
  8470. * Checks a node for validity as a Sizzle context
  8471. * @param {Element|Object=} context
  8472. * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
  8473. */
  8474. function testContext( context ) {
  8475. return context && typeof context.getElementsByTagName !== "undefined" && context;
  8476. }
  8477. // Expose support vars for convenience
  8478. support = Sizzle.support = {};
  8479. /**
  8480. * Detects XML nodes
  8481. * @param {Element|Object} elem An element or a document
  8482. * @returns {Boolean} True iff elem is a non-HTML XML node
  8483. */
  8484. isXML = Sizzle.isXML = function( elem ) {
  8485. // documentElement is verified for cases where it doesn't yet exist
  8486. // (such as loading iframes in IE - #4833)
  8487. var documentElement = elem && (elem.ownerDocument || elem).documentElement;
  8488. return documentElement ? documentElement.nodeName !== "HTML" : false;
  8489. };
  8490. /**
  8491. * Sets document-related variables once based on the current document
  8492. * @param {Element|Object} [doc] An element or document object to use to set the document
  8493. * @returns {Object} Returns the current document
  8494. */
  8495. setDocument = Sizzle.setDocument = function( node ) {
  8496. var hasCompare, parent,
  8497. doc = node ? node.ownerDocument || node : preferredDoc;
  8498. // If no document and documentElement is available, return
  8499. if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
  8500. return document;
  8501. }
  8502. // Set our document
  8503. document = doc;
  8504. docElem = doc.documentElement;
  8505. parent = doc.defaultView;
  8506. // Support: IE>8
  8507. // If iframe document is assigned to "document" variable and if iframe has been reloaded,
  8508. // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936
  8509. // IE6-8 do not support the defaultView property so parent will be undefined
  8510. if ( parent && parent !== parent.top ) {
  8511. // IE11 does not have attachEvent, so all must suffer
  8512. if ( parent.addEventListener ) {
  8513. parent.addEventListener( "unload", unloadHandler, false );
  8514. } else if ( parent.attachEvent ) {
  8515. parent.attachEvent( "onunload", unloadHandler );
  8516. }
  8517. }
  8518. /* Support tests
  8519. ---------------------------------------------------------------------- */
  8520. documentIsHTML = !isXML( doc );
  8521. /* Attributes
  8522. ---------------------------------------------------------------------- */
  8523. // Support: IE<8
  8524. // Verify that getAttribute really returns attributes and not properties
  8525. // (excepting IE8 booleans)
  8526. support.attributes = assert(function( div ) {
  8527. div.className = "i";
  8528. return !div.getAttribute("className");
  8529. });
  8530. /* getElement(s)By*
  8531. ---------------------------------------------------------------------- */
  8532. // Check if getElementsByTagName("*") returns only elements
  8533. support.getElementsByTagName = assert(function( div ) {
  8534. div.appendChild( doc.createComment("") );
  8535. return !div.getElementsByTagName("*").length;
  8536. });
  8537. // Support: IE<9
  8538. support.getElementsByClassName = rnative.test( doc.getElementsByClassName );
  8539. // Support: IE<10
  8540. // Check if getElementById returns elements by name
  8541. // The broken getElementById methods don't pick up programatically-set names,
  8542. // so use a roundabout getElementsByName test
  8543. support.getById = assert(function( div ) {
  8544. docElem.appendChild( div ).id = expando;
  8545. return !doc.getElementsByName || !doc.getElementsByName( expando ).length;
  8546. });
  8547. // ID find and filter
  8548. if ( support.getById ) {
  8549. Expr.find["ID"] = function( id, context ) {
  8550. if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
  8551. var m = context.getElementById( id );
  8552. // Check parentNode to catch when Blackberry 4.6 returns
  8553. // nodes that are no longer in the document #6963
  8554. return m && m.parentNode ? [ m ] : [];
  8555. }
  8556. };
  8557. Expr.filter["ID"] = function( id ) {
  8558. var attrId = id.replace( runescape, funescape );
  8559. return function( elem ) {
  8560. return elem.getAttribute("id") === attrId;
  8561. };
  8562. };
  8563. } else {
  8564. // Support: IE6/7
  8565. // getElementById is not reliable as a find shortcut
  8566. delete Expr.find["ID"];
  8567. Expr.filter["ID"] = function( id ) {
  8568. var attrId = id.replace( runescape, funescape );
  8569. return function( elem ) {
  8570. var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
  8571. return node && node.value === attrId;
  8572. };
  8573. };
  8574. }
  8575. // Tag
  8576. Expr.find["TAG"] = support.getElementsByTagName ?
  8577. function( tag, context ) {
  8578. if ( typeof context.getElementsByTagName !== "undefined" ) {
  8579. return context.getElementsByTagName( tag );
  8580. // DocumentFragment nodes don't have gEBTN
  8581. } else if ( support.qsa ) {
  8582. return context.querySelectorAll( tag );
  8583. }
  8584. } :
  8585. function( tag, context ) {
  8586. var elem,
  8587. tmp = [],
  8588. i = 0,
  8589. // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
  8590. results = context.getElementsByTagName( tag );
  8591. // Filter out possible comments
  8592. if ( tag === "*" ) {
  8593. while ( (elem = results[i++]) ) {
  8594. if ( elem.nodeType === 1 ) {
  8595. tmp.push( elem );
  8596. }
  8597. }
  8598. return tmp;
  8599. }
  8600. return results;
  8601. };
  8602. // Class
  8603. Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
  8604. if ( documentIsHTML ) {
  8605. return context.getElementsByClassName( className );
  8606. }
  8607. };
  8608. /* QSA/matchesSelector
  8609. ---------------------------------------------------------------------- */
  8610. // QSA and matchesSelector support
  8611. // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
  8612. rbuggyMatches = [];
  8613. // qSa(:focus) reports false when true (Chrome 21)
  8614. // We allow this because of a bug in IE8/9 that throws an error
  8615. // whenever `document.activeElement` is accessed on an iframe
  8616. // So, we allow :focus to pass through QSA all the time to avoid the IE error
  8617. // See http://bugs.jquery.com/ticket/13378
  8618. rbuggyQSA = [];
  8619. if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) {
  8620. // Build QSA regex
  8621. // Regex strategy adopted from Diego Perini
  8622. assert(function( div ) {
  8623. // Select is set to empty string on purpose
  8624. // This is to test IE's treatment of not explicitly
  8625. // setting a boolean content attribute,
  8626. // since its presence should be enough
  8627. // http://bugs.jquery.com/ticket/12359
  8628. docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" +
  8629. "<select id='" + expando + "-\f]' msallowcapture=''>" +
  8630. "<option selected=''></option></select>";
  8631. // Support: IE8, Opera 11-12.16
  8632. // Nothing should be selected when empty strings follow ^= or $= or *=
  8633. // The test attribute must be unknown in Opera but "safe" for WinRT
  8634. // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
  8635. if ( div.querySelectorAll("[msallowcapture^='']").length ) {
  8636. rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
  8637. }
  8638. // Support: IE8
  8639. // Boolean attributes and "value" are not treated correctly
  8640. if ( !div.querySelectorAll("[selected]").length ) {
  8641. rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
  8642. }
  8643. // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+
  8644. if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
  8645. rbuggyQSA.push("~=");
  8646. }
  8647. // Webkit/Opera - :checked should return selected option elements
  8648. // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
  8649. // IE8 throws error here and will not see later tests
  8650. if ( !div.querySelectorAll(":checked").length ) {
  8651. rbuggyQSA.push(":checked");
  8652. }
  8653. // Support: Safari 8+, iOS 8+
  8654. // https://bugs.webkit.org/show_bug.cgi?id=136851
  8655. // In-page `selector#id sibing-combinator selector` fails
  8656. if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) {
  8657. rbuggyQSA.push(".#.+[+~]");
  8658. }
  8659. });
  8660. assert(function( div ) {
  8661. // Support: Windows 8 Native Apps
  8662. // The type and name attributes are restricted during .innerHTML assignment
  8663. var input = doc.createElement("input");
  8664. input.setAttribute( "type", "hidden" );
  8665. div.appendChild( input ).setAttribute( "name", "D" );
  8666. // Support: IE8
  8667. // Enforce case-sensitivity of name attribute
  8668. if ( div.querySelectorAll("[name=d]").length ) {
  8669. rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
  8670. }
  8671. // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
  8672. // IE8 throws error here and will not see later tests
  8673. if ( !div.querySelectorAll(":enabled").length ) {
  8674. rbuggyQSA.push( ":enabled", ":disabled" );
  8675. }
  8676. // Opera 10-11 does not throw on post-comma invalid pseudos
  8677. div.querySelectorAll("*,:x");
  8678. rbuggyQSA.push(",.*:");
  8679. });
  8680. }
  8681. if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
  8682. docElem.webkitMatchesSelector ||
  8683. docElem.mozMatchesSelector ||
  8684. docElem.oMatchesSelector ||
  8685. docElem.msMatchesSelector) )) ) {
  8686. assert(function( div ) {
  8687. // Check to see if it's possible to do matchesSelector
  8688. // on a disconnected node (IE 9)
  8689. support.disconnectedMatch = matches.call( div, "div" );
  8690. // This should fail with an exception
  8691. // Gecko does not error, returns false instead
  8692. matches.call( div, "[s!='']:x" );
  8693. rbuggyMatches.push( "!=", pseudos );
  8694. });
  8695. }
  8696. rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
  8697. rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
  8698. /* Contains
  8699. ---------------------------------------------------------------------- */
  8700. hasCompare = rnative.test( docElem.compareDocumentPosition );
  8701. // Element contains another
  8702. // Purposefully does not implement inclusive descendent
  8703. // As in, an element does not contain itself
  8704. contains = hasCompare || rnative.test( docElem.contains ) ?
  8705. function( a, b ) {
  8706. var adown = a.nodeType === 9 ? a.documentElement : a,
  8707. bup = b && b.parentNode;
  8708. return a === bup || !!( bup && bup.nodeType === 1 && (
  8709. adown.contains ?
  8710. adown.contains( bup ) :
  8711. a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
  8712. ));
  8713. } :
  8714. function( a, b ) {
  8715. if ( b ) {
  8716. while ( (b = b.parentNode) ) {
  8717. if ( b === a ) {
  8718. return true;
  8719. }
  8720. }
  8721. }
  8722. return false;
  8723. };
  8724. /* Sorting
  8725. ---------------------------------------------------------------------- */
  8726. // Document order sorting
  8727. sortOrder = hasCompare ?
  8728. function( a, b ) {
  8729. // Flag for duplicate removal
  8730. if ( a === b ) {
  8731. hasDuplicate = true;
  8732. return 0;
  8733. }
  8734. // Sort on method existence if only one input has compareDocumentPosition
  8735. var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
  8736. if ( compare ) {
  8737. return compare;
  8738. }
  8739. // Calculate position if both inputs belong to the same document
  8740. compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
  8741. a.compareDocumentPosition( b ) :
  8742. // Otherwise we know they are disconnected
  8743. 1;
  8744. // Disconnected nodes
  8745. if ( compare & 1 ||
  8746. (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
  8747. // Choose the first element that is related to our preferred document
  8748. if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
  8749. return -1;
  8750. }
  8751. if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
  8752. return 1;
  8753. }
  8754. // Maintain original order
  8755. return sortInput ?
  8756. ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
  8757. 0;
  8758. }
  8759. return compare & 4 ? -1 : 1;
  8760. } :
  8761. function( a, b ) {
  8762. // Exit early if the nodes are identical
  8763. if ( a === b ) {
  8764. hasDuplicate = true;
  8765. return 0;
  8766. }
  8767. var cur,
  8768. i = 0,
  8769. aup = a.parentNode,
  8770. bup = b.parentNode,
  8771. ap = [ a ],
  8772. bp = [ b ];
  8773. // Parentless nodes are either documents or disconnected
  8774. if ( !aup || !bup ) {
  8775. return a === doc ? -1 :
  8776. b === doc ? 1 :
  8777. aup ? -1 :
  8778. bup ? 1 :
  8779. sortInput ?
  8780. ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
  8781. 0;
  8782. // If the nodes are siblings, we can do a quick check
  8783. } else if ( aup === bup ) {
  8784. return siblingCheck( a, b );
  8785. }
  8786. // Otherwise we need full lists of their ancestors for comparison
  8787. cur = a;
  8788. while ( (cur = cur.parentNode) ) {
  8789. ap.unshift( cur );
  8790. }
  8791. cur = b;
  8792. while ( (cur = cur.parentNode) ) {
  8793. bp.unshift( cur );
  8794. }
  8795. // Walk down the tree looking for a discrepancy
  8796. while ( ap[i] === bp[i] ) {
  8797. i++;
  8798. }
  8799. return i ?
  8800. // Do a sibling check if the nodes have a common ancestor
  8801. siblingCheck( ap[i], bp[i] ) :
  8802. // Otherwise nodes in our document sort first
  8803. ap[i] === preferredDoc ? -1 :
  8804. bp[i] === preferredDoc ? 1 :
  8805. 0;
  8806. };
  8807. return doc;
  8808. };
  8809. Sizzle.matches = function( expr, elements ) {
  8810. return Sizzle( expr, null, null, elements );
  8811. };
  8812. Sizzle.matchesSelector = function( elem, expr ) {
  8813. // Set document vars if needed
  8814. if ( ( elem.ownerDocument || elem ) !== document ) {
  8815. setDocument( elem );
  8816. }
  8817. // Make sure that attribute selectors are quoted
  8818. expr = expr.replace( rattributeQuotes, "='$1']" );
  8819. if ( support.matchesSelector && documentIsHTML &&
  8820. ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
  8821. ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
  8822. try {
  8823. var ret = matches.call( elem, expr );
  8824. // IE 9's matchesSelector returns false on disconnected nodes
  8825. if ( ret || support.disconnectedMatch ||
  8826. // As well, disconnected nodes are said to be in a document
  8827. // fragment in IE 9
  8828. elem.document && elem.document.nodeType !== 11 ) {
  8829. return ret;
  8830. }
  8831. } catch (e) {}
  8832. }
  8833. return Sizzle( expr, document, null, [ elem ] ).length > 0;
  8834. };
  8835. Sizzle.contains = function( context, elem ) {
  8836. // Set document vars if needed
  8837. if ( ( context.ownerDocument || context ) !== document ) {
  8838. setDocument( context );
  8839. }
  8840. return contains( context, elem );
  8841. };
  8842. Sizzle.attr = function( elem, name ) {
  8843. // Set document vars if needed
  8844. if ( ( elem.ownerDocument || elem ) !== document ) {
  8845. setDocument( elem );
  8846. }
  8847. var fn = Expr.attrHandle[ name.toLowerCase() ],
  8848. // Don't get fooled by Object.prototype properties (jQuery #13807)
  8849. val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
  8850. fn( elem, name, !documentIsHTML ) :
  8851. undefined;
  8852. return val !== undefined ?
  8853. val :
  8854. support.attributes || !documentIsHTML ?
  8855. elem.getAttribute( name ) :
  8856. (val = elem.getAttributeNode(name)) && val.specified ?
  8857. val.value :
  8858. null;
  8859. };
  8860. Sizzle.error = function( msg ) {
  8861. throw new Error( "Syntax error, unrecognized expression: " + msg );
  8862. };
  8863. /**
  8864. * Document sorting and removing duplicates
  8865. * @param {ArrayLike} results
  8866. */
  8867. Sizzle.uniqueSort = function( results ) {
  8868. var elem,
  8869. duplicates = [],
  8870. j = 0,
  8871. i = 0;
  8872. // Unless we *know* we can detect duplicates, assume their presence
  8873. hasDuplicate = !support.detectDuplicates;
  8874. sortInput = !support.sortStable && results.slice( 0 );
  8875. results.sort( sortOrder );
  8876. if ( hasDuplicate ) {
  8877. while ( (elem = results[i++]) ) {
  8878. if ( elem === results[ i ] ) {
  8879. j = duplicates.push( i );
  8880. }
  8881. }
  8882. while ( j-- ) {
  8883. results.splice( duplicates[ j ], 1 );
  8884. }
  8885. }
  8886. // Clear input after sorting to release objects
  8887. // See https://github.com/jquery/sizzle/pull/225
  8888. sortInput = null;
  8889. return results;
  8890. };
  8891. /**
  8892. * Utility function for retrieving the text value of an array of DOM nodes
  8893. * @param {Array|Element} elem
  8894. */
  8895. getText = Sizzle.getText = function( elem ) {
  8896. var node,
  8897. ret = "",
  8898. i = 0,
  8899. nodeType = elem.nodeType;
  8900. if ( !nodeType ) {
  8901. // If no nodeType, this is expected to be an array
  8902. while ( (node = elem[i++]) ) {
  8903. // Do not traverse comment nodes
  8904. ret += getText( node );
  8905. }
  8906. } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
  8907. // Use textContent for elements
  8908. // innerText usage removed for consistency of new lines (jQuery #11153)
  8909. if ( typeof elem.textContent === "string" ) {
  8910. return elem.textContent;
  8911. } else {
  8912. // Traverse its children
  8913. for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
  8914. ret += getText( elem );
  8915. }
  8916. }
  8917. } else if ( nodeType === 3 || nodeType === 4 ) {
  8918. return elem.nodeValue;
  8919. }
  8920. // Do not include comment or processing instruction nodes
  8921. return ret;
  8922. };
  8923. Expr = Sizzle.selectors = {
  8924. // Can be adjusted by the user
  8925. cacheLength: 50,
  8926. createPseudo: markFunction,
  8927. match: matchExpr,
  8928. attrHandle: {},
  8929. find: {},
  8930. relative: {
  8931. ">": { dir: "parentNode", first: true },
  8932. " ": { dir: "parentNode" },
  8933. "+": { dir: "previousSibling", first: true },
  8934. "~": { dir: "previousSibling" }
  8935. },
  8936. preFilter: {
  8937. "ATTR": function( match ) {
  8938. match[1] = match[1].replace( runescape, funescape );
  8939. // Move the given value to match[3] whether quoted or unquoted
  8940. match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
  8941. if ( match[2] === "~=" ) {
  8942. match[3] = " " + match[3] + " ";
  8943. }
  8944. return match.slice( 0, 4 );
  8945. },
  8946. "CHILD": function( match ) {
  8947. /* matches from matchExpr["CHILD"]
  8948. 1 type (only|nth|...)
  8949. 2 what (child|of-type)
  8950. 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
  8951. 4 xn-component of xn+y argument ([+-]?\d*n|)
  8952. 5 sign of xn-component
  8953. 6 x of xn-component
  8954. 7 sign of y-component
  8955. 8 y of y-component
  8956. */
  8957. match[1] = match[1].toLowerCase();
  8958. if ( match[1].slice( 0, 3 ) === "nth" ) {
  8959. // nth-* requires argument
  8960. if ( !match[3] ) {
  8961. Sizzle.error( match[0] );
  8962. }
  8963. // numeric x and y parameters for Expr.filter.CHILD
  8964. // remember that false/true cast respectively to 0/1
  8965. match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
  8966. match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
  8967. // other types prohibit arguments
  8968. } else if ( match[3] ) {
  8969. Sizzle.error( match[0] );
  8970. }
  8971. return match;
  8972. },
  8973. "PSEUDO": function( match ) {
  8974. var excess,
  8975. unquoted = !match[6] && match[2];
  8976. if ( matchExpr["CHILD"].test( match[0] ) ) {
  8977. return null;
  8978. }
  8979. // Accept quoted arguments as-is
  8980. if ( match[3] ) {
  8981. match[2] = match[4] || match[5] || "";
  8982. // Strip excess characters from unquoted arguments
  8983. } else if ( unquoted && rpseudo.test( unquoted ) &&
  8984. // Get excess from tokenize (recursively)
  8985. (excess = tokenize( unquoted, true )) &&
  8986. // advance to the next closing parenthesis
  8987. (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
  8988. // excess is a negative index
  8989. match[0] = match[0].slice( 0, excess );
  8990. match[2] = unquoted.slice( 0, excess );
  8991. }
  8992. // Return only captures needed by the pseudo filter method (type and argument)
  8993. return match.slice( 0, 3 );
  8994. }
  8995. },
  8996. filter: {
  8997. "TAG": function( nodeNameSelector ) {
  8998. var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
  8999. return nodeNameSelector === "*" ?
  9000. function() { return true; } :
  9001. function( elem ) {
  9002. return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
  9003. };
  9004. },
  9005. "CLASS": function( className ) {
  9006. var pattern = classCache[ className + " " ];
  9007. return pattern ||
  9008. (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
  9009. classCache( className, function( elem ) {
  9010. return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
  9011. });
  9012. },
  9013. "ATTR": function( name, operator, check ) {
  9014. return function( elem ) {
  9015. var result = Sizzle.attr( elem, name );
  9016. if ( result == null ) {
  9017. return operator === "!=";
  9018. }
  9019. if ( !operator ) {
  9020. return true;
  9021. }
  9022. result += "";
  9023. return operator === "=" ? result === check :
  9024. operator === "!=" ? result !== check :
  9025. operator === "^=" ? check && result.indexOf( check ) === 0 :
  9026. operator === "*=" ? check && result.indexOf( check ) > -1 :
  9027. operator === "$=" ? check && result.slice( -check.length ) === check :
  9028. operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
  9029. operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
  9030. false;
  9031. };
  9032. },
  9033. "CHILD": function( type, what, argument, first, last ) {
  9034. var simple = type.slice( 0, 3 ) !== "nth",
  9035. forward = type.slice( -4 ) !== "last",
  9036. ofType = what === "of-type";
  9037. return first === 1 && last === 0 ?
  9038. // Shortcut for :nth-*(n)
  9039. function( elem ) {
  9040. return !!elem.parentNode;
  9041. } :
  9042. function( elem, context, xml ) {
  9043. var cache, outerCache, node, diff, nodeIndex, start,
  9044. dir = simple !== forward ? "nextSibling" : "previousSibling",
  9045. parent = elem.parentNode,
  9046. name = ofType && elem.nodeName.toLowerCase(),
  9047. useCache = !xml && !ofType;
  9048. if ( parent ) {
  9049. // :(first|last|only)-(child|of-type)
  9050. if ( simple ) {
  9051. while ( dir ) {
  9052. node = elem;
  9053. while ( (node = node[ dir ]) ) {
  9054. if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) {
  9055. return false;
  9056. }
  9057. }
  9058. // Reverse direction for :only-* (if we haven't yet done so)
  9059. start = dir = type === "only" && !start && "nextSibling";
  9060. }
  9061. return true;
  9062. }
  9063. start = [ forward ? parent.firstChild : parent.lastChild ];
  9064. // non-xml :nth-child(...) stores cache data on `parent`
  9065. if ( forward && useCache ) {
  9066. // Seek `elem` from a previously-cached index
  9067. outerCache = parent[ expando ] || (parent[ expando ] = {});
  9068. cache = outerCache[ type ] || [];
  9069. nodeIndex = cache[0] === dirruns && cache[1];
  9070. diff = cache[0] === dirruns && cache[2];
  9071. node = nodeIndex && parent.childNodes[ nodeIndex ];
  9072. while ( (node = ++nodeIndex && node && node[ dir ] ||
  9073. // Fallback to seeking `elem` from the start
  9074. (diff = nodeIndex = 0) || start.pop()) ) {
  9075. // When found, cache indexes on `parent` and break
  9076. if ( node.nodeType === 1 && ++diff && node === elem ) {
  9077. outerCache[ type ] = [ dirruns, nodeIndex, diff ];
  9078. break;
  9079. }
  9080. }
  9081. // Use previously-cached element index if available
  9082. } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) {
  9083. diff = cache[1];
  9084. // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...)
  9085. } else {
  9086. // Use the same loop as above to seek `elem` from the start
  9087. while ( (node = ++nodeIndex && node && node[ dir ] ||
  9088. (diff = nodeIndex = 0) || start.pop()) ) {
  9089. if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) {
  9090. // Cache the index of each encountered element
  9091. if ( useCache ) {
  9092. (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ];
  9093. }
  9094. if ( node === elem ) {
  9095. break;
  9096. }
  9097. }
  9098. }
  9099. }
  9100. // Incorporate the offset, then check against cycle size
  9101. diff -= last;
  9102. return diff === first || ( diff % first === 0 && diff / first >= 0 );
  9103. }
  9104. };
  9105. },
  9106. "PSEUDO": function( pseudo, argument ) {
  9107. // pseudo-class names are case-insensitive
  9108. // http://www.w3.org/TR/selectors/#pseudo-classes
  9109. // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
  9110. // Remember that setFilters inherits from pseudos
  9111. var args,
  9112. fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
  9113. Sizzle.error( "unsupported pseudo: " + pseudo );
  9114. // The user may use createPseudo to indicate that
  9115. // arguments are needed to create the filter function
  9116. // just as Sizzle does
  9117. if ( fn[ expando ] ) {
  9118. return fn( argument );
  9119. }
  9120. // But maintain support for old signatures
  9121. if ( fn.length > 1 ) {
  9122. args = [ pseudo, pseudo, "", argument ];
  9123. return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
  9124. markFunction(function( seed, matches ) {
  9125. var idx,
  9126. matched = fn( seed, argument ),
  9127. i = matched.length;
  9128. while ( i-- ) {
  9129. idx = indexOf( seed, matched[i] );
  9130. seed[ idx ] = !( matches[ idx ] = matched[i] );
  9131. }
  9132. }) :
  9133. function( elem ) {
  9134. return fn( elem, 0, args );
  9135. };
  9136. }
  9137. return fn;
  9138. }
  9139. },
  9140. pseudos: {
  9141. // Potentially complex pseudos
  9142. "not": markFunction(function( selector ) {
  9143. // Trim the selector passed to compile
  9144. // to avoid treating leading and trailing
  9145. // spaces as combinators
  9146. var input = [],
  9147. results = [],
  9148. matcher = compile( selector.replace( rtrim, "$1" ) );
  9149. return matcher[ expando ] ?
  9150. markFunction(function( seed, matches, context, xml ) {
  9151. var elem,
  9152. unmatched = matcher( seed, null, xml, [] ),
  9153. i = seed.length;
  9154. // Match elements unmatched by `matcher`
  9155. while ( i-- ) {
  9156. if ( (elem = unmatched[i]) ) {
  9157. seed[i] = !(matches[i] = elem);
  9158. }
  9159. }
  9160. }) :
  9161. function( elem, context, xml ) {
  9162. input[0] = elem;
  9163. matcher( input, null, xml, results );
  9164. // Don't keep the element (issue #299)
  9165. input[0] = null;
  9166. return !results.pop();
  9167. };
  9168. }),
  9169. "has": markFunction(function( selector ) {
  9170. return function( elem ) {
  9171. return Sizzle( selector, elem ).length > 0;
  9172. };
  9173. }),
  9174. "contains": markFunction(function( text ) {
  9175. text = text.replace( runescape, funescape );
  9176. return function( elem ) {
  9177. return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
  9178. };
  9179. }),
  9180. // "Whether an element is represented by a :lang() selector
  9181. // is based solely on the element's language value
  9182. // being equal to the identifier C,
  9183. // or beginning with the identifier C immediately followed by "-".
  9184. // The matching of C against the element's language value is performed case-insensitively.
  9185. // The identifier C does not have to be a valid language name."
  9186. // http://www.w3.org/TR/selectors/#lang-pseudo
  9187. "lang": markFunction( function( lang ) {
  9188. // lang value must be a valid identifier
  9189. if ( !ridentifier.test(lang || "") ) {
  9190. Sizzle.error( "unsupported lang: " + lang );
  9191. }
  9192. lang = lang.replace( runescape, funescape ).toLowerCase();
  9193. return function( elem ) {
  9194. var elemLang;
  9195. do {
  9196. if ( (elemLang = documentIsHTML ?
  9197. elem.lang :
  9198. elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
  9199. elemLang = elemLang.toLowerCase();
  9200. return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
  9201. }
  9202. } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
  9203. return false;
  9204. };
  9205. }),
  9206. // Miscellaneous
  9207. "target": function( elem ) {
  9208. var hash = window.location && window.location.hash;
  9209. return hash && hash.slice( 1 ) === elem.id;
  9210. },
  9211. "root": function( elem ) {
  9212. return elem === docElem;
  9213. },
  9214. "focus": function( elem ) {
  9215. return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
  9216. },
  9217. // Boolean properties
  9218. "enabled": function( elem ) {
  9219. return elem.disabled === false;
  9220. },
  9221. "disabled": function( elem ) {
  9222. return elem.disabled === true;
  9223. },
  9224. "checked": function( elem ) {
  9225. // In CSS3, :checked should return both checked and selected elements
  9226. // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
  9227. var nodeName = elem.nodeName.toLowerCase();
  9228. return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
  9229. },
  9230. "selected": function( elem ) {
  9231. // Accessing this property makes selected-by-default
  9232. // options in Safari work properly
  9233. if ( elem.parentNode ) {
  9234. elem.parentNode.selectedIndex;
  9235. }
  9236. return elem.selected === true;
  9237. },
  9238. // Contents
  9239. "empty": function( elem ) {
  9240. // http://www.w3.org/TR/selectors/#empty-pseudo
  9241. // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
  9242. // but not by others (comment: 8; processing instruction: 7; etc.)
  9243. // nodeType < 6 works because attributes (2) do not appear as children
  9244. for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
  9245. if ( elem.nodeType < 6 ) {
  9246. return false;
  9247. }
  9248. }
  9249. return true;
  9250. },
  9251. "parent": function( elem ) {
  9252. return !Expr.pseudos["empty"]( elem );
  9253. },
  9254. // Element/input types
  9255. "header": function( elem ) {
  9256. return rheader.test( elem.nodeName );
  9257. },
  9258. "input": function( elem ) {
  9259. return rinputs.test( elem.nodeName );
  9260. },
  9261. "button": function( elem ) {
  9262. var name = elem.nodeName.toLowerCase();
  9263. return name === "input" && elem.type === "button" || name === "button";
  9264. },
  9265. "text": function( elem ) {
  9266. var attr;
  9267. return elem.nodeName.toLowerCase() === "input" &&
  9268. elem.type === "text" &&
  9269. // Support: IE<8
  9270. // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
  9271. ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
  9272. },
  9273. // Position-in-collection
  9274. "first": createPositionalPseudo(function() {
  9275. return [ 0 ];
  9276. }),
  9277. "last": createPositionalPseudo(function( matchIndexes, length ) {
  9278. return [ length - 1 ];
  9279. }),
  9280. "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
  9281. return [ argument < 0 ? argument + length : argument ];
  9282. }),
  9283. "even": createPositionalPseudo(function( matchIndexes, length ) {
  9284. var i = 0;
  9285. for ( ; i < length; i += 2 ) {
  9286. matchIndexes.push( i );
  9287. }
  9288. return matchIndexes;
  9289. }),
  9290. "odd": createPositionalPseudo(function( matchIndexes, length ) {
  9291. var i = 1;
  9292. for ( ; i < length; i += 2 ) {
  9293. matchIndexes.push( i );
  9294. }
  9295. return matchIndexes;
  9296. }),
  9297. "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
  9298. var i = argument < 0 ? argument + length : argument;
  9299. for ( ; --i >= 0; ) {
  9300. matchIndexes.push( i );
  9301. }
  9302. return matchIndexes;
  9303. }),
  9304. "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
  9305. var i = argument < 0 ? argument + length : argument;
  9306. for ( ; ++i < length; ) {
  9307. matchIndexes.push( i );
  9308. }
  9309. return matchIndexes;
  9310. })
  9311. }
  9312. };
  9313. Expr.pseudos["nth"] = Expr.pseudos["eq"];
  9314. // Add button/input type pseudos
  9315. for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
  9316. Expr.pseudos[ i ] = createInputPseudo( i );
  9317. }
  9318. for ( i in { submit: true, reset: true } ) {
  9319. Expr.pseudos[ i ] = createButtonPseudo( i );
  9320. }
  9321. // Easy API for creating new setFilters
  9322. function setFilters() {}
  9323. setFilters.prototype = Expr.filters = Expr.pseudos;
  9324. Expr.setFilters = new setFilters();
  9325. tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
  9326. var matched, match, tokens, type,
  9327. soFar, groups, preFilters,
  9328. cached = tokenCache[ selector + " " ];
  9329. if ( cached ) {
  9330. return parseOnly ? 0 : cached.slice( 0 );
  9331. }
  9332. soFar = selector;
  9333. groups = [];
  9334. preFilters = Expr.preFilter;
  9335. while ( soFar ) {
  9336. // Comma and first run
  9337. if ( !matched || (match = rcomma.exec( soFar )) ) {
  9338. if ( match ) {
  9339. // Don't consume trailing commas as valid
  9340. soFar = soFar.slice( match[0].length ) || soFar;
  9341. }
  9342. groups.push( (tokens = []) );
  9343. }
  9344. matched = false;
  9345. // Combinators
  9346. if ( (match = rcombinators.exec( soFar )) ) {
  9347. matched = match.shift();
  9348. tokens.push({
  9349. value: matched,
  9350. // Cast descendant combinators to space
  9351. type: match[0].replace( rtrim, " " )
  9352. });
  9353. soFar = soFar.slice( matched.length );
  9354. }
  9355. // Filters
  9356. for ( type in Expr.filter ) {
  9357. if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
  9358. (match = preFilters[ type ]( match ))) ) {
  9359. matched = match.shift();
  9360. tokens.push({
  9361. value: matched,
  9362. type: type,
  9363. matches: match
  9364. });
  9365. soFar = soFar.slice( matched.length );
  9366. }
  9367. }
  9368. if ( !matched ) {
  9369. break;
  9370. }
  9371. }
  9372. // Return the length of the invalid excess
  9373. // if we're just parsing
  9374. // Otherwise, throw an error or return tokens
  9375. return parseOnly ?
  9376. soFar.length :
  9377. soFar ?
  9378. Sizzle.error( selector ) :
  9379. // Cache the tokens
  9380. tokenCache( selector, groups ).slice( 0 );
  9381. };
  9382. function toSelector( tokens ) {
  9383. var i = 0,
  9384. len = tokens.length,
  9385. selector = "";
  9386. for ( ; i < len; i++ ) {
  9387. selector += tokens[i].value;
  9388. }
  9389. return selector;
  9390. }
  9391. function addCombinator( matcher, combinator, base ) {
  9392. var dir = combinator.dir,
  9393. checkNonElements = base && dir === "parentNode",
  9394. doneName = done++;
  9395. return combinator.first ?
  9396. // Check against closest ancestor/preceding element
  9397. function( elem, context, xml ) {
  9398. while ( (elem = elem[ dir ]) ) {
  9399. if ( elem.nodeType === 1 || checkNonElements ) {
  9400. return matcher( elem, context, xml );
  9401. }
  9402. }
  9403. } :
  9404. // Check against all ancestor/preceding elements
  9405. function( elem, context, xml ) {
  9406. var oldCache, outerCache,
  9407. newCache = [ dirruns, doneName ];
  9408. // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching
  9409. if ( xml ) {
  9410. while ( (elem = elem[ dir ]) ) {
  9411. if ( elem.nodeType === 1 || checkNonElements ) {
  9412. if ( matcher( elem, context, xml ) ) {
  9413. return true;
  9414. }
  9415. }
  9416. }
  9417. } else {
  9418. while ( (elem = elem[ dir ]) ) {
  9419. if ( elem.nodeType === 1 || checkNonElements ) {
  9420. outerCache = elem[ expando ] || (elem[ expando ] = {});
  9421. if ( (oldCache = outerCache[ dir ]) &&
  9422. oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
  9423. // Assign to newCache so results back-propagate to previous elements
  9424. return (newCache[ 2 ] = oldCache[ 2 ]);
  9425. } else {
  9426. // Reuse newcache so results back-propagate to previous elements
  9427. outerCache[ dir ] = newCache;
  9428. // A match means we're done; a fail means we have to keep checking
  9429. if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
  9430. return true;
  9431. }
  9432. }
  9433. }
  9434. }
  9435. }
  9436. };
  9437. }
  9438. function elementMatcher( matchers ) {
  9439. return matchers.length > 1 ?
  9440. function( elem, context, xml ) {
  9441. var i = matchers.length;
  9442. while ( i-- ) {
  9443. if ( !matchers[i]( elem, context, xml ) ) {
  9444. return false;
  9445. }
  9446. }
  9447. return true;
  9448. } :
  9449. matchers[0];
  9450. }
  9451. function multipleContexts( selector, contexts, results ) {
  9452. var i = 0,
  9453. len = contexts.length;
  9454. for ( ; i < len; i++ ) {
  9455. Sizzle( selector, contexts[i], results );
  9456. }
  9457. return results;
  9458. }
  9459. function condense( unmatched, map, filter, context, xml ) {
  9460. var elem,
  9461. newUnmatched = [],
  9462. i = 0,
  9463. len = unmatched.length,
  9464. mapped = map != null;
  9465. for ( ; i < len; i++ ) {
  9466. if ( (elem = unmatched[i]) ) {
  9467. if ( !filter || filter( elem, context, xml ) ) {
  9468. newUnmatched.push( elem );
  9469. if ( mapped ) {
  9470. map.push( i );
  9471. }
  9472. }
  9473. }
  9474. }
  9475. return newUnmatched;
  9476. }
  9477. function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
  9478. if ( postFilter && !postFilter[ expando ] ) {
  9479. postFilter = setMatcher( postFilter );
  9480. }
  9481. if ( postFinder && !postFinder[ expando ] ) {
  9482. postFinder = setMatcher( postFinder, postSelector );
  9483. }
  9484. return markFunction(function( seed, results, context, xml ) {
  9485. var temp, i, elem,
  9486. preMap = [],
  9487. postMap = [],
  9488. preexisting = results.length,
  9489. // Get initial elements from seed or context
  9490. elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
  9491. // Prefilter to get matcher input, preserving a map for seed-results synchronization
  9492. matcherIn = preFilter && ( seed || !selector ) ?
  9493. condense( elems, preMap, preFilter, context, xml ) :
  9494. elems,
  9495. matcherOut = matcher ?
  9496. // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
  9497. postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
  9498. // ...intermediate processing is necessary
  9499. [] :
  9500. // ...otherwise use results directly
  9501. results :
  9502. matcherIn;
  9503. // Find primary matches
  9504. if ( matcher ) {
  9505. matcher( matcherIn, matcherOut, context, xml );
  9506. }
  9507. // Apply postFilter
  9508. if ( postFilter ) {
  9509. temp = condense( matcherOut, postMap );
  9510. postFilter( temp, [], context, xml );
  9511. // Un-match failing elements by moving them back to matcherIn
  9512. i = temp.length;
  9513. while ( i-- ) {
  9514. if ( (elem = temp[i]) ) {
  9515. matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
  9516. }
  9517. }
  9518. }
  9519. if ( seed ) {
  9520. if ( postFinder || preFilter ) {
  9521. if ( postFinder ) {
  9522. // Get the final matcherOut by condensing this intermediate into postFinder contexts
  9523. temp = [];
  9524. i = matcherOut.length;
  9525. while ( i-- ) {
  9526. if ( (elem = matcherOut[i]) ) {
  9527. // Restore matcherIn since elem is not yet a final match
  9528. temp.push( (matcherIn[i] = elem) );
  9529. }
  9530. }
  9531. postFinder( null, (matcherOut = []), temp, xml );
  9532. }
  9533. // Move matched elements from seed to results to keep them synchronized
  9534. i = matcherOut.length;
  9535. while ( i-- ) {
  9536. if ( (elem = matcherOut[i]) &&
  9537. (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
  9538. seed[temp] = !(results[temp] = elem);
  9539. }
  9540. }
  9541. }
  9542. // Add elements to results, through postFinder if defined
  9543. } else {
  9544. matcherOut = condense(
  9545. matcherOut === results ?
  9546. matcherOut.splice( preexisting, matcherOut.length ) :
  9547. matcherOut
  9548. );
  9549. if ( postFinder ) {
  9550. postFinder( null, results, matcherOut, xml );
  9551. } else {
  9552. push.apply( results, matcherOut );
  9553. }
  9554. }
  9555. });
  9556. }
  9557. function matcherFromTokens( tokens ) {
  9558. var checkContext, matcher, j,
  9559. len = tokens.length,
  9560. leadingRelative = Expr.relative[ tokens[0].type ],
  9561. implicitRelative = leadingRelative || Expr.relative[" "],
  9562. i = leadingRelative ? 1 : 0,
  9563. // The foundational matcher ensures that elements are reachable from top-level context(s)
  9564. matchContext = addCombinator( function( elem ) {
  9565. return elem === checkContext;
  9566. }, implicitRelative, true ),
  9567. matchAnyContext = addCombinator( function( elem ) {
  9568. return indexOf( checkContext, elem ) > -1;
  9569. }, implicitRelative, true ),
  9570. matchers = [ function( elem, context, xml ) {
  9571. var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
  9572. (checkContext = context).nodeType ?
  9573. matchContext( elem, context, xml ) :
  9574. matchAnyContext( elem, context, xml ) );
  9575. // Avoid hanging onto element (issue #299)
  9576. checkContext = null;
  9577. return ret;
  9578. } ];
  9579. for ( ; i < len; i++ ) {
  9580. if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
  9581. matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
  9582. } else {
  9583. matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
  9584. // Return special upon seeing a positional matcher
  9585. if ( matcher[ expando ] ) {
  9586. // Find the next relative operator (if any) for proper handling
  9587. j = ++i;
  9588. for ( ; j < len; j++ ) {
  9589. if ( Expr.relative[ tokens[j].type ] ) {
  9590. break;
  9591. }
  9592. }
  9593. return setMatcher(
  9594. i > 1 && elementMatcher( matchers ),
  9595. i > 1 && toSelector(
  9596. // If the preceding token was a descendant combinator, insert an implicit any-element `*`
  9597. tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
  9598. ).replace( rtrim, "$1" ),
  9599. matcher,
  9600. i < j && matcherFromTokens( tokens.slice( i, j ) ),
  9601. j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
  9602. j < len && toSelector( tokens )
  9603. );
  9604. }
  9605. matchers.push( matcher );
  9606. }
  9607. }
  9608. return elementMatcher( matchers );
  9609. }
  9610. function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
  9611. var bySet = setMatchers.length > 0,
  9612. byElement = elementMatchers.length > 0,
  9613. superMatcher = function( seed, context, xml, results, outermost ) {
  9614. var elem, j, matcher,
  9615. matchedCount = 0,
  9616. i = "0",
  9617. unmatched = seed && [],
  9618. setMatched = [],
  9619. contextBackup = outermostContext,
  9620. // We must always have either seed elements or outermost context
  9621. elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
  9622. // Use integer dirruns iff this is the outermost matcher
  9623. dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
  9624. len = elems.length;
  9625. if ( outermost ) {
  9626. outermostContext = context !== document && context;
  9627. }
  9628. // Add elements passing elementMatchers directly to results
  9629. // Keep `i` a string if there are no elements so `matchedCount` will be "00" below
  9630. // Support: IE<9, Safari
  9631. // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
  9632. for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
  9633. if ( byElement && elem ) {
  9634. j = 0;
  9635. while ( (matcher = elementMatchers[j++]) ) {
  9636. if ( matcher( elem, context, xml ) ) {
  9637. results.push( elem );
  9638. break;
  9639. }
  9640. }
  9641. if ( outermost ) {
  9642. dirruns = dirrunsUnique;
  9643. }
  9644. }
  9645. // Track unmatched elements for set filters
  9646. if ( bySet ) {
  9647. // They will have gone through all possible matchers
  9648. if ( (elem = !matcher && elem) ) {
  9649. matchedCount--;
  9650. }
  9651. // Lengthen the array for every element, matched or not
  9652. if ( seed ) {
  9653. unmatched.push( elem );
  9654. }
  9655. }
  9656. }
  9657. // Apply set filters to unmatched elements
  9658. matchedCount += i;
  9659. if ( bySet && i !== matchedCount ) {
  9660. j = 0;
  9661. while ( (matcher = setMatchers[j++]) ) {
  9662. matcher( unmatched, setMatched, context, xml );
  9663. }
  9664. if ( seed ) {
  9665. // Reintegrate element matches to eliminate the need for sorting
  9666. if ( matchedCount > 0 ) {
  9667. while ( i-- ) {
  9668. if ( !(unmatched[i] || setMatched[i]) ) {
  9669. setMatched[i] = pop.call( results );
  9670. }
  9671. }
  9672. }
  9673. // Discard index placeholder values to get only actual matches
  9674. setMatched = condense( setMatched );
  9675. }
  9676. // Add matches to results
  9677. push.apply( results, setMatched );
  9678. // Seedless set matches succeeding multiple successful matchers stipulate sorting
  9679. if ( outermost && !seed && setMatched.length > 0 &&
  9680. ( matchedCount + setMatchers.length ) > 1 ) {
  9681. Sizzle.uniqueSort( results );
  9682. }
  9683. }
  9684. // Override manipulation of globals by nested matchers
  9685. if ( outermost ) {
  9686. dirruns = dirrunsUnique;
  9687. outermostContext = contextBackup;
  9688. }
  9689. return unmatched;
  9690. };
  9691. return bySet ?
  9692. markFunction( superMatcher ) :
  9693. superMatcher;
  9694. }
  9695. compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
  9696. var i,
  9697. setMatchers = [],
  9698. elementMatchers = [],
  9699. cached = compilerCache[ selector + " " ];
  9700. if ( !cached ) {
  9701. // Generate a function of recursive functions that can be used to check each element
  9702. if ( !match ) {
  9703. match = tokenize( selector );
  9704. }
  9705. i = match.length;
  9706. while ( i-- ) {
  9707. cached = matcherFromTokens( match[i] );
  9708. if ( cached[ expando ] ) {
  9709. setMatchers.push( cached );
  9710. } else {
  9711. elementMatchers.push( cached );
  9712. }
  9713. }
  9714. // Cache the compiled function
  9715. cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
  9716. // Save selector and tokenization
  9717. cached.selector = selector;
  9718. }
  9719. return cached;
  9720. };
  9721. /**
  9722. * A low-level selection function that works with Sizzle's compiled
  9723. * selector functions
  9724. * @param {String|Function} selector A selector or a pre-compiled
  9725. * selector function built with Sizzle.compile
  9726. * @param {Element} context
  9727. * @param {Array} [results]
  9728. * @param {Array} [seed] A set of elements to match against
  9729. */
  9730. select = Sizzle.select = function( selector, context, results, seed ) {
  9731. var i, tokens, token, type, find,
  9732. compiled = typeof selector === "function" && selector,
  9733. match = !seed && tokenize( (selector = compiled.selector || selector) );
  9734. results = results || [];
  9735. // Try to minimize operations if there is no seed and only one group
  9736. if ( match.length === 1 ) {
  9737. // Take a shortcut and set the context if the root selector is an ID
  9738. tokens = match[0] = match[0].slice( 0 );
  9739. if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
  9740. support.getById && context.nodeType === 9 && documentIsHTML &&
  9741. Expr.relative[ tokens[1].type ] ) {
  9742. context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
  9743. if ( !context ) {
  9744. return results;
  9745. // Precompiled matchers will still verify ancestry, so step up a level
  9746. } else if ( compiled ) {
  9747. context = context.parentNode;
  9748. }
  9749. selector = selector.slice( tokens.shift().value.length );
  9750. }
  9751. // Fetch a seed set for right-to-left matching
  9752. i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
  9753. while ( i-- ) {
  9754. token = tokens[i];
  9755. // Abort if we hit a combinator
  9756. if ( Expr.relative[ (type = token.type) ] ) {
  9757. break;
  9758. }
  9759. if ( (find = Expr.find[ type ]) ) {
  9760. // Search, expanding context for leading sibling combinators
  9761. if ( (seed = find(
  9762. token.matches[0].replace( runescape, funescape ),
  9763. rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
  9764. )) ) {
  9765. // If seed is empty or no tokens remain, we can return early
  9766. tokens.splice( i, 1 );
  9767. selector = seed.length && toSelector( tokens );
  9768. if ( !selector ) {
  9769. push.apply( results, seed );
  9770. return results;
  9771. }
  9772. break;
  9773. }
  9774. }
  9775. }
  9776. }
  9777. // Compile and execute a filtering function if one is not provided
  9778. // Provide `match` to avoid retokenization if we modified the selector above
  9779. ( compiled || compile( selector, match ) )(
  9780. seed,
  9781. context,
  9782. !documentIsHTML,
  9783. results,
  9784. rsibling.test( selector ) && testContext( context.parentNode ) || context
  9785. );
  9786. return results;
  9787. };
  9788. // One-time assignments
  9789. // Sort stability
  9790. support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
  9791. // Support: Chrome 14-35+
  9792. // Always assume duplicates if they aren't passed to the comparison function
  9793. support.detectDuplicates = !!hasDuplicate;
  9794. // Initialize against the default document
  9795. setDocument();
  9796. // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
  9797. // Detached nodes confoundingly follow *each other*
  9798. support.sortDetached = assert(function( div1 ) {
  9799. // Should return 1, but returns 4 (following)
  9800. return div1.compareDocumentPosition( document.createElement("div") ) & 1;
  9801. });
  9802. // Support: IE<8
  9803. // Prevent attribute/property "interpolation"
  9804. // http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
  9805. if ( !assert(function( div ) {
  9806. div.innerHTML = "<a href='http://arongranberg.com/astar/documentation/stable/#'></a>";
  9807. return div.firstChild.getAttribute("href") === "#" ;
  9808. }) ) {
  9809. addHandle( "type|href|height|width", function( elem, name, isXML ) {
  9810. if ( !isXML ) {
  9811. return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
  9812. }
  9813. });
  9814. }
  9815. // Support: IE<9
  9816. // Use defaultValue in place of getAttribute("value")
  9817. if ( !support.attributes || !assert(function( div ) {
  9818. div.innerHTML = "<input/>";
  9819. div.firstChild.setAttribute( "value", "" );
  9820. return div.firstChild.getAttribute( "value" ) === "";
  9821. }) ) {
  9822. addHandle( "value", function( elem, name, isXML ) {
  9823. if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
  9824. return elem.defaultValue;
  9825. }
  9826. });
  9827. }
  9828. // Support: IE<9
  9829. // Use getAttributeNode to fetch booleans when getAttribute lies
  9830. if ( !assert(function( div ) {
  9831. return div.getAttribute("disabled") == null;
  9832. }) ) {
  9833. addHandle( booleans, function( elem, name, isXML ) {
  9834. var val;
  9835. if ( !isXML ) {
  9836. return elem[ name ] === true ? name.toLowerCase() :
  9837. (val = elem.getAttributeNode( name )) && val.specified ?
  9838. val.value :
  9839. null;
  9840. }
  9841. });
  9842. }
  9843. return Sizzle;
  9844. })( window );
  9845. jQuery.find = Sizzle;
  9846. jQuery.expr = Sizzle.selectors;
  9847. jQuery.expr[":"] = jQuery.expr.pseudos;
  9848. jQuery.unique = Sizzle.uniqueSort;
  9849. jQuery.text = Sizzle.getText;
  9850. jQuery.isXMLDoc = Sizzle.isXML;
  9851. jQuery.contains = Sizzle.contains;
  9852. var rneedsContext = jQuery.expr.match.needsContext;
  9853. var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/);
  9854. var risSimple = /^.[^:#\[\.,]*$/;
  9855. // Implement the identical functionality for filter and not
  9856. function winnow( elements, qualifier, not ) {
  9857. if ( jQuery.isFunction( qualifier ) ) {
  9858. return jQuery.grep( elements, function( elem, i ) {
  9859. /* jshint -W018 */
  9860. return !!qualifier.call( elem, i, elem ) !== not;
  9861. });
  9862. }
  9863. if ( qualifier.nodeType ) {
  9864. return jQuery.grep( elements, function( elem ) {
  9865. return ( elem === qualifier ) !== not;
  9866. });
  9867. }
  9868. if ( typeof qualifier === "string" ) {
  9869. if ( risSimple.test( qualifier ) ) {
  9870. return jQuery.filter( qualifier, elements, not );
  9871. }
  9872. qualifier = jQuery.filter( qualifier, elements );
  9873. }
  9874. return jQuery.grep( elements, function( elem ) {
  9875. return ( indexOf.call( qualifier, elem ) >= 0 ) !== not;
  9876. });
  9877. }
  9878. jQuery.filter = function( expr, elems, not ) {
  9879. var elem = elems[ 0 ];
  9880. if ( not ) {
  9881. expr = ":not(" + expr + ")";
  9882. }
  9883. return elems.length === 1 && elem.nodeType === 1 ?
  9884. jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
  9885. jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
  9886. return elem.nodeType === 1;
  9887. }));
  9888. };
  9889. jQuery.fn.extend({
  9890. find: function( selector ) {
  9891. var i,
  9892. len = this.length,
  9893. ret = [],
  9894. self = this;
  9895. if ( typeof selector !== "string" ) {
  9896. return this.pushStack( jQuery( selector ).filter(function() {
  9897. for ( i = 0; i < len; i++ ) {
  9898. if ( jQuery.contains( self[ i ], this ) ) {
  9899. return true;
  9900. }
  9901. }
  9902. }) );
  9903. }
  9904. for ( i = 0; i < len; i++ ) {
  9905. jQuery.find( selector, self[ i ], ret );
  9906. }
  9907. // Needed because $( selector, context ) becomes $( context ).find( selector )
  9908. ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
  9909. ret.selector = this.selector ? this.selector + " " + selector : selector;
  9910. return ret;
  9911. },
  9912. filter: function( selector ) {
  9913. return this.pushStack( winnow(this, selector || [], false) );
  9914. },
  9915. not: function( selector ) {
  9916. return this.pushStack( winnow(this, selector || [], true) );
  9917. },
  9918. is: function( selector ) {
  9919. return !!winnow(
  9920. this,
  9921. // If this is a positional/relative selector, check membership in the returned set
  9922. // so $("p:first").is("p:last") won't return true for a doc with two "p".
  9923. typeof selector === "string" && rneedsContext.test( selector ) ?
  9924. jQuery( selector ) :
  9925. selector || [],
  9926. false
  9927. ).length;
  9928. }
  9929. });
  9930. // Initialize a jQuery object
  9931. // A central reference to the root jQuery(document)
  9932. var rootjQuery,
  9933. // A simple way to check for HTML strings
  9934. // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
  9935. // Strict HTML recognition (#11290: must start with <)
  9936. rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
  9937. init = jQuery.fn.init = function( selector, context ) {
  9938. var match, elem;
  9939. // HANDLE: $(""), $(null), $(undefined), $(false)
  9940. if ( !selector ) {
  9941. return this;
  9942. }
  9943. // Handle HTML strings
  9944. if ( typeof selector === "string" ) {
  9945. if ( selector[0] === "<" && selector[ selector.length - 1 ] === ">" && selector.length >= 3 ) {
  9946. // Assume that strings that start and end with <> are HTML and skip the regex check
  9947. match = [ null, selector, null ];
  9948. } else {
  9949. match = rquickExpr.exec( selector );
  9950. }
  9951. // Match html or make sure no context is specified for #id
  9952. if ( match && (match[1] || !context) ) {
  9953. // HANDLE: $(html) -> $(array)
  9954. if ( match[1] ) {
  9955. context = context instanceof jQuery ? context[0] : context;
  9956. // Option to run scripts is true for back-compat
  9957. // Intentionally let the error be thrown if parseHTML is not present
  9958. jQuery.merge( this, jQuery.parseHTML(
  9959. match[1],
  9960. context && context.nodeType ? context.ownerDocument || context : document,
  9961. true
  9962. ) );
  9963. // HANDLE: $(html, props)
  9964. if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
  9965. for ( match in context ) {
  9966. // Properties of context are called as methods if possible
  9967. if ( jQuery.isFunction( this[ match ] ) ) {
  9968. this[ match ]( context[ match ] );
  9969. // ...and otherwise set as attributes
  9970. } else {
  9971. this.attr( match, context[ match ] );
  9972. }
  9973. }
  9974. }
  9975. return this;
  9976. // HANDLE: $(#id)
  9977. } else {
  9978. elem = document.getElementById( match[2] );
  9979. // Support: Blackberry 4.6
  9980. // gEBID returns nodes no longer in the document (#6963)
  9981. if ( elem && elem.parentNode ) {
  9982. // Inject the element directly into the jQuery object
  9983. this.length = 1;
  9984. this[0] = elem;
  9985. }
  9986. this.context = document;
  9987. this.selector = selector;
  9988. return this;
  9989. }
  9990. // HANDLE: $(expr, $(...))
  9991. } else if ( !context || context.jquery ) {
  9992. return ( context || rootjQuery ).find( selector );
  9993. // HANDLE: $(expr, context)
  9994. // (which is just equivalent to: $(context).find(expr)
  9995. } else {
  9996. return this.constructor( context ).find( selector );
  9997. }
  9998. // HANDLE: $(DOMElement)
  9999. } else if ( selector.nodeType ) {
  10000. this.context = this[0] = selector;
  10001. this.length = 1;
  10002. return this;
  10003. // HANDLE: $(function)
  10004. // Shortcut for document ready
  10005. } else if ( jQuery.isFunction( selector ) ) {
  10006. return typeof rootjQuery.ready !== "undefined" ?
  10007. rootjQuery.ready( selector ) :
  10008. // Execute immediately if ready is not present
  10009. selector( jQuery );
  10010. }
  10011. if ( selector.selector !== undefined ) {
  10012. this.selector = selector.selector;
  10013. this.context = selector.context;
  10014. }
  10015. return jQuery.makeArray( selector, this );
  10016. };
  10017. // Give the init function the jQuery prototype for later instantiation
  10018. init.prototype = jQuery.fn;
  10019. // Initialize central reference
  10020. rootjQuery = jQuery( document );
  10021. var rparentsprev = /^(?:parents|prev(?:Until|All))/,
  10022. // Methods guaranteed to produce a unique set when starting from a unique set
  10023. guaranteedUnique = {
  10024. children: true,
  10025. contents: true,
  10026. next: true,
  10027. prev: true
  10028. };
  10029. jQuery.extend({
  10030. dir: function( elem, dir, until ) {
  10031. var matched = [],
  10032. truncate = until !== undefined;
  10033. while ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) {
  10034. if ( elem.nodeType === 1 ) {
  10035. if ( truncate && jQuery( elem ).is( until ) ) {
  10036. break;
  10037. }
  10038. matched.push( elem );
  10039. }
  10040. }
  10041. return matched;
  10042. },
  10043. sibling: function( n, elem ) {
  10044. var matched = [];
  10045. for ( ; n; n = n.nextSibling ) {
  10046. if ( n.nodeType === 1 && n !== elem ) {
  10047. matched.push( n );
  10048. }
  10049. }
  10050. return matched;
  10051. }
  10052. });
  10053. jQuery.fn.extend({
  10054. has: function( target ) {
  10055. var targets = jQuery( target, this ),
  10056. l = targets.length;
  10057. return this.filter(function() {
  10058. var i = 0;
  10059. for ( ; i < l; i++ ) {
  10060. if ( jQuery.contains( this, targets[i] ) ) {
  10061. return true;
  10062. }
  10063. }
  10064. });
  10065. },
  10066. closest: function( selectors, context ) {
  10067. var cur,
  10068. i = 0,
  10069. l = this.length,
  10070. matched = [],
  10071. pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ?
  10072. jQuery( selectors, context || this.context ) :
  10073. 0;
  10074. for ( ; i < l; i++ ) {
  10075. for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) {
  10076. // Always skip document fragments
  10077. if ( cur.nodeType < 11 && (pos ?
  10078. pos.index(cur) > -1 :
  10079. // Don't pass non-elements to Sizzle
  10080. cur.nodeType === 1 &&
  10081. jQuery.find.matchesSelector(cur, selectors)) ) {
  10082. matched.push( cur );
  10083. break;
  10084. }
  10085. }
  10086. }
  10087. return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched );
  10088. },
  10089. // Determine the position of an element within the set
  10090. index: function( elem ) {
  10091. // No argument, return index in parent
  10092. if ( !elem ) {
  10093. return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
  10094. }
  10095. // Index in selector
  10096. if ( typeof elem === "string" ) {
  10097. return indexOf.call( jQuery( elem ), this[ 0 ] );
  10098. }
  10099. // Locate the position of the desired element
  10100. return indexOf.call( this,
  10101. // If it receives a jQuery object, the first element is used
  10102. elem.jquery ? elem[ 0 ] : elem
  10103. );
  10104. },
  10105. add: function( selector, context ) {
  10106. return this.pushStack(
  10107. jQuery.unique(
  10108. jQuery.merge( this.get(), jQuery( selector, context ) )
  10109. )
  10110. );
  10111. },
  10112. addBack: function( selector ) {
  10113. return this.add( selector == null ?
  10114. this.prevObject : this.prevObject.filter(selector)
  10115. );
  10116. }
  10117. });
  10118. function sibling( cur, dir ) {
  10119. while ( (cur = cur[dir]) && cur.nodeType !== 1 ) {}
  10120. return cur;
  10121. }
  10122. jQuery.each({
  10123. parent: function( elem ) {
  10124. var parent = elem.parentNode;
  10125. return parent && parent.nodeType !== 11 ? parent : null;
  10126. },
  10127. parents: function( elem ) {
  10128. return jQuery.dir( elem, "parentNode" );
  10129. },
  10130. parentsUntil: function( elem, i, until ) {
  10131. return jQuery.dir( elem, "parentNode", until );
  10132. },
  10133. next: function( elem ) {
  10134. return sibling( elem, "nextSibling" );
  10135. },
  10136. prev: function( elem ) {
  10137. return sibling( elem, "previousSibling" );
  10138. },
  10139. nextAll: function( elem ) {
  10140. return jQuery.dir( elem, "nextSibling" );
  10141. },
  10142. prevAll: function( elem ) {
  10143. return jQuery.dir( elem, "previousSibling" );
  10144. },
  10145. nextUntil: function( elem, i, until ) {
  10146. return jQuery.dir( elem, "nextSibling", until );
  10147. },
  10148. prevUntil: function( elem, i, until ) {
  10149. return jQuery.dir( elem, "previousSibling", until );
  10150. },
  10151. siblings: function( elem ) {
  10152. return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem );
  10153. },
  10154. children: function( elem ) {
  10155. return jQuery.sibling( elem.firstChild );
  10156. },
  10157. contents: function( elem ) {
  10158. return elem.contentDocument || jQuery.merge( [], elem.childNodes );
  10159. }
  10160. }, function( name, fn ) {
  10161. jQuery.fn[ name ] = function( until, selector ) {
  10162. var matched = jQuery.map( this, fn, until );
  10163. if ( name.slice( -5 ) !== "Until" ) {
  10164. selector = until;
  10165. }
  10166. if ( selector && typeof selector === "string" ) {
  10167. matched = jQuery.filter( selector, matched );
  10168. }
  10169. if ( this.length > 1 ) {
  10170. // Remove duplicates
  10171. if ( !guaranteedUnique[ name ] ) {
  10172. jQuery.unique( matched );
  10173. }
  10174. // Reverse order for parents* and prev-derivatives
  10175. if ( rparentsprev.test( name ) ) {
  10176. matched.reverse();
  10177. }
  10178. }
  10179. return this.pushStack( matched );
  10180. };
  10181. });
  10182. var rnotwhite = (/\S+/g);
  10183. // String to Object options format cache
  10184. var optionsCache = {};
  10185. // Convert String-formatted options into Object-formatted ones and store in cache
  10186. function createOptions( options ) {
  10187. var object = optionsCache[ options ] = {};
  10188. jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
  10189. object[ flag ] = true;
  10190. });
  10191. return object;
  10192. }
  10193. /*
  10194. * Create a callback list using the following parameters:
  10195. *
  10196. * options: an optional list of space-separated options that will change how
  10197. * the callback list behaves or a more traditional option object
  10198. *
  10199. * By default a callback list will act like an event callback list and can be
  10200. * "fired" multiple times.
  10201. *
  10202. * Possible options:
  10203. *
  10204. * once: will ensure the callback list can only be fired once (like a Deferred)
  10205. *
  10206. * memory: will keep track of previous values and will call any callback added
  10207. * after the list has been fired right away with the latest "memorized"
  10208. * values (like a Deferred)
  10209. *
  10210. * unique: will ensure a callback can only be added once (no duplicate in the list)
  10211. *
  10212. * stopOnFalse: interrupt callings when a callback returns false
  10213. *
  10214. */
  10215. jQuery.Callbacks = function( options ) {
  10216. // Convert options from String-formatted to Object-formatted if needed
  10217. // (we check in cache first)
  10218. options = typeof options === "string" ?
  10219. ( optionsCache[ options ] || createOptions( options ) ) :
  10220. jQuery.extend( {}, options );
  10221. var // Last fire value (for non-forgettable lists)
  10222. memory,
  10223. // Flag to know if list was already fired
  10224. fired,
  10225. // Flag to know if list is currently firing
  10226. firing,
  10227. // First callback to fire (used internally by add and fireWith)
  10228. firingStart,
  10229. // End of the loop when firing
  10230. firingLength,
  10231. // Index of currently firing callback (modified by remove if needed)
  10232. firingIndex,
  10233. // Actual callback list
  10234. list = [],
  10235. // Stack of fire calls for repeatable lists
  10236. stack = !options.once && [],
  10237. // Fire callbacks
  10238. fire = function( data ) {
  10239. memory = options.memory && data;
  10240. fired = true;
  10241. firingIndex = firingStart || 0;
  10242. firingStart = 0;
  10243. firingLength = list.length;
  10244. firing = true;
  10245. for ( ; list && firingIndex < firingLength; firingIndex++ ) {
  10246. if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {
  10247. memory = false; // To prevent further calls using add
  10248. break;
  10249. }
  10250. }
  10251. firing = false;
  10252. if ( list ) {
  10253. if ( stack ) {
  10254. if ( stack.length ) {
  10255. fire( stack.shift() );
  10256. }
  10257. } else if ( memory ) {
  10258. list = [];
  10259. } else {
  10260. self.disable();
  10261. }
  10262. }
  10263. },
  10264. // Actual Callbacks object
  10265. self = {
  10266. // Add a callback or a collection of callbacks to the list
  10267. add: function() {
  10268. if ( list ) {
  10269. // First, we save the current length
  10270. var start = list.length;
  10271. (function add( args ) {
  10272. jQuery.each( args, function( _, arg ) {
  10273. var type = jQuery.type( arg );
  10274. if ( type === "function" ) {
  10275. if ( !options.unique || !self.has( arg ) ) {
  10276. list.push( arg );
  10277. }
  10278. } else if ( arg && arg.length && type !== "string" ) {
  10279. // Inspect recursively
  10280. add( arg );
  10281. }
  10282. });
  10283. })( arguments );
  10284. // Do we need to add the callbacks to the
  10285. // current firing batch?
  10286. if ( firing ) {
  10287. firingLength = list.length;
  10288. // With memory, if we're not firing then
  10289. // we should call right away
  10290. } else if ( memory ) {
  10291. firingStart = start;
  10292. fire( memory );
  10293. }
  10294. }
  10295. return this;
  10296. },
  10297. // Remove a callback from the list
  10298. remove: function() {
  10299. if ( list ) {
  10300. jQuery.each( arguments, function( _, arg ) {
  10301. var index;
  10302. while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
  10303. list.splice( index, 1 );
  10304. // Handle firing indexes
  10305. if ( firing ) {
  10306. if ( index <= firingLength ) {
  10307. firingLength--;
  10308. }
  10309. if ( index <= firingIndex ) {
  10310. firingIndex--;
  10311. }
  10312. }
  10313. }
  10314. });
  10315. }
  10316. return this;
  10317. },
  10318. // Check if a given callback is in the list.
  10319. // If no argument is given, return whether or not list has callbacks attached.
  10320. has: function( fn ) {
  10321. return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length );
  10322. },
  10323. // Remove all callbacks from the list
  10324. empty: function() {
  10325. list = [];
  10326. firingLength = 0;
  10327. return this;
  10328. },
  10329. // Have the list do nothing anymore
  10330. disable: function() {
  10331. list = stack = memory = undefined;
  10332. return this;
  10333. },
  10334. // Is it disabled?
  10335. disabled: function() {
  10336. return !list;
  10337. },
  10338. // Lock the list in its current state
  10339. lock: function() {
  10340. stack = undefined;
  10341. if ( !memory ) {
  10342. self.disable();
  10343. }
  10344. return this;
  10345. },
  10346. // Is it locked?
  10347. locked: function() {
  10348. return !stack;
  10349. },
  10350. // Call all callbacks with the given context and arguments
  10351. fireWith: function( context, args ) {
  10352. if ( list && ( !fired || stack ) ) {
  10353. args = args || [];
  10354. args = [ context, args.slice ? args.slice() : args ];
  10355. if ( firing ) {
  10356. stack.push( args );
  10357. } else {
  10358. fire( args );
  10359. }
  10360. }
  10361. return this;
  10362. },
  10363. // Call all the callbacks with the given arguments
  10364. fire: function() {
  10365. self.fireWith( this, arguments );
  10366. return this;
  10367. },
  10368. // To know if the callbacks have already been called at least once
  10369. fired: function() {
  10370. return !!fired;
  10371. }
  10372. };
  10373. return self;
  10374. };
  10375. jQuery.extend({
  10376. Deferred: function( func ) {
  10377. var tuples = [
  10378. // action, add listener, listener list, final state
  10379. [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ],
  10380. [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ],
  10381. [ "notify", "progress", jQuery.Callbacks("memory") ]
  10382. ],
  10383. state = "pending",
  10384. promise = {
  10385. state: function() {
  10386. return state;
  10387. },
  10388. always: function() {
  10389. deferred.done( arguments ).fail( arguments );
  10390. return this;
  10391. },
  10392. then: function( /* fnDone, fnFail, fnProgress */ ) {
  10393. var fns = arguments;
  10394. return jQuery.Deferred(function( newDefer ) {
  10395. jQuery.each( tuples, function( i, tuple ) {
  10396. var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
  10397. // deferred[ done | fail | progress ] for forwarding actions to newDefer
  10398. deferred[ tuple[1] ](function() {
  10399. var returned = fn && fn.apply( this, arguments );
  10400. if ( returned && jQuery.isFunction( returned.promise ) ) {
  10401. returned.promise()
  10402. .done( newDefer.resolve )
  10403. .fail( newDefer.reject )
  10404. .progress( newDefer.notify );
  10405. } else {
  10406. newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );
  10407. }
  10408. });
  10409. });
  10410. fns = null;
  10411. }).promise();
  10412. },
  10413. // Get a promise for this deferred
  10414. // If obj is provided, the promise aspect is added to the object
  10415. promise: function( obj ) {
  10416. return obj != null ? jQuery.extend( obj, promise ) : promise;
  10417. }
  10418. },
  10419. deferred = {};
  10420. // Keep pipe for back-compat
  10421. promise.pipe = promise.then;
  10422. // Add list-specific methods
  10423. jQuery.each( tuples, function( i, tuple ) {
  10424. var list = tuple[ 2 ],
  10425. stateString = tuple[ 3 ];
  10426. // promise[ done | fail | progress ] = list.add
  10427. promise[ tuple[1] ] = list.add;
  10428. // Handle state
  10429. if ( stateString ) {
  10430. list.add(function() {
  10431. // state = [ resolved | rejected ]
  10432. state = stateString;
  10433. // [ reject_list | resolve_list ].disable; progress_list.lock
  10434. }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
  10435. }
  10436. // deferred[ resolve | reject | notify ]
  10437. deferred[ tuple[0] ] = function() {
  10438. deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments );
  10439. return this;
  10440. };
  10441. deferred[ tuple[0] + "With" ] = list.fireWith;
  10442. });
  10443. // Make the deferred a promise
  10444. promise.promise( deferred );
  10445. // Call given func if any
  10446. if ( func ) {
  10447. func.call( deferred, deferred );
  10448. }
  10449. // All done!
  10450. return deferred;
  10451. },
  10452. // Deferred helper
  10453. when: function( subordinate /* , ..., subordinateN */ ) {
  10454. var i = 0,
  10455. resolveValues = slice.call( arguments ),
  10456. length = resolveValues.length,
  10457. // the count of uncompleted subordinates
  10458. remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
  10459. // the master Deferred. If resolveValues consist of only a single Deferred, just use that.
  10460. deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
  10461. // Update function for both resolve and progress values
  10462. updateFunc = function( i, contexts, values ) {
  10463. return function( value ) {
  10464. contexts[ i ] = this;
  10465. values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
  10466. if ( values === progressValues ) {
  10467. deferred.notifyWith( contexts, values );
  10468. } else if ( !( --remaining ) ) {
  10469. deferred.resolveWith( contexts, values );
  10470. }
  10471. };
  10472. },
  10473. progressValues, progressContexts, resolveContexts;
  10474. // Add listeners to Deferred subordinates; treat others as resolved
  10475. if ( length > 1 ) {
  10476. progressValues = new Array( length );
  10477. progressContexts = new Array( length );
  10478. resolveContexts = new Array( length );
  10479. for ( ; i < length; i++ ) {
  10480. if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
  10481. resolveValues[ i ].promise()
  10482. .done( updateFunc( i, resolveContexts, resolveValues ) )
  10483. .fail( deferred.reject )
  10484. .progress( updateFunc( i, progressContexts, progressValues ) );
  10485. } else {
  10486. --remaining;
  10487. }
  10488. }
  10489. }
  10490. // If we're not waiting on anything, resolve the master
  10491. if ( !remaining ) {
  10492. deferred.resolveWith( resolveContexts, resolveValues );
  10493. }
  10494. return deferred.promise();
  10495. }
  10496. });
  10497. // The deferred used on DOM ready
  10498. var readyList;
  10499. jQuery.fn.ready = function( fn ) {
  10500. // Add the callback
  10501. jQuery.ready.promise().done( fn );
  10502. return this;
  10503. };
  10504. jQuery.extend({
  10505. // Is the DOM ready to be used? Set to true once it occurs.
  10506. isReady: false,
  10507. // A counter to track how many items to wait for before
  10508. // the ready event fires. See #6781
  10509. readyWait: 1,
  10510. // Hold (or release) the ready event
  10511. holdReady: function( hold ) {
  10512. if ( hold ) {
  10513. jQuery.readyWait++;
  10514. } else {
  10515. jQuery.ready( true );
  10516. }
  10517. },
  10518. // Handle when the DOM is ready
  10519. ready: function( wait ) {
  10520. // Abort if there are pending holds or we're already ready
  10521. if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
  10522. return;
  10523. }
  10524. // Remember that the DOM is ready
  10525. jQuery.isReady = true;
  10526. // If a normal DOM Ready event fired, decrement, and wait if need be
  10527. if ( wait !== true && --jQuery.readyWait > 0 ) {
  10528. return;
  10529. }
  10530. // If there are functions bound, to execute
  10531. readyList.resolveWith( document, [ jQuery ] );
  10532. // Trigger any bound ready events
  10533. if ( jQuery.fn.triggerHandler ) {
  10534. jQuery( document ).triggerHandler( "ready" );
  10535. jQuery( document ).off( "ready" );
  10536. }
  10537. }
  10538. });
  10539. /**
  10540. * The ready event handler and self cleanup method
  10541. */
  10542. function completed() {
  10543. document.removeEventListener( "DOMContentLoaded", completed, false );
  10544. window.removeEventListener( "load", completed, false );
  10545. jQuery.ready();
  10546. }
  10547. jQuery.ready.promise = function( obj ) {
  10548. if ( !readyList ) {
  10549. readyList = jQuery.Deferred();
  10550. // Catch cases where $(document).ready() is called after the browser event has already occurred.
  10551. // We once tried to use readyState "interactive" here, but it caused issues like the one
  10552. // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
  10553. if ( document.readyState === "complete" ) {
  10554. // Handle it asynchronously to allow scripts the opportunity to delay ready
  10555. setTimeout( jQuery.ready );
  10556. } else {
  10557. // Use the handy event callback
  10558. document.addEventListener( "DOMContentLoaded", completed, false );
  10559. // A fallback to window.onload, that will always work
  10560. window.addEventListener( "load", completed, false );
  10561. }
  10562. }
  10563. return readyList.promise( obj );
  10564. };
  10565. // Kick off the DOM ready check even if the user does not
  10566. jQuery.ready.promise();
  10567. // Multifunctional method to get and set values of a collection
  10568. // The value/s can optionally be executed if it's a function
  10569. var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
  10570. var i = 0,
  10571. len = elems.length,
  10572. bulk = key == null;
  10573. // Sets many values
  10574. if ( jQuery.type( key ) === "object" ) {
  10575. chainable = true;
  10576. for ( i in key ) {
  10577. jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
  10578. }
  10579. // Sets one value
  10580. } else if ( value !== undefined ) {
  10581. chainable = true;
  10582. if ( !jQuery.isFunction( value ) ) {
  10583. raw = true;
  10584. }
  10585. if ( bulk ) {
  10586. // Bulk operations run against the entire set
  10587. if ( raw ) {
  10588. fn.call( elems, value );
  10589. fn = null;
  10590. // ...except when executing function values
  10591. } else {
  10592. bulk = fn;
  10593. fn = function( elem, key, value ) {
  10594. return bulk.call( jQuery( elem ), value );
  10595. };
  10596. }
  10597. }
  10598. if ( fn ) {
  10599. for ( ; i < len; i++ ) {
  10600. fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );
  10601. }
  10602. }
  10603. }
  10604. return chainable ?
  10605. elems :
  10606. // Gets
  10607. bulk ?
  10608. fn.call( elems ) :
  10609. len ? fn( elems[0], key ) : emptyGet;
  10610. };
  10611. /**
  10612. * Determines whether an object can have data
  10613. */
  10614. jQuery.acceptData = function( owner ) {
  10615. // Accepts only:
  10616. // - Node
  10617. // - Node.ELEMENT_NODE
  10618. // - Node.DOCUMENT_NODE
  10619. // - Object
  10620. // - Any
  10621. /* jshint -W018 */
  10622. return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
  10623. };
  10624. function Data() {
  10625. // Support: Android<4,
  10626. // Old WebKit does not have Object.preventExtensions/freeze method,
  10627. // return new empty object instead with no [[set]] accessor
  10628. Object.defineProperty( this.cache = {}, 0, {
  10629. get: function() {
  10630. return {};
  10631. }
  10632. });
  10633. this.expando = jQuery.expando + Data.uid++;
  10634. }
  10635. Data.uid = 1;
  10636. Data.accepts = jQuery.acceptData;
  10637. Data.prototype = {
  10638. key: function( owner ) {
  10639. // We can accept data for non-element nodes in modern browsers,
  10640. // but we should not, see #8335.
  10641. // Always return the key for a frozen object.
  10642. if ( !Data.accepts( owner ) ) {
  10643. return 0;
  10644. }
  10645. var descriptor = {},
  10646. // Check if the owner object already has a cache key
  10647. unlock = owner[ this.expando ];
  10648. // If not, create one
  10649. if ( !unlock ) {
  10650. unlock = Data.uid++;
  10651. // Secure it in a non-enumerable, non-writable property
  10652. try {
  10653. descriptor[ this.expando ] = { value: unlock };
  10654. Object.defineProperties( owner, descriptor );
  10655. // Support: Android<4
  10656. // Fallback to a less secure definition
  10657. } catch ( e ) {
  10658. descriptor[ this.expando ] = unlock;
  10659. jQuery.extend( owner, descriptor );
  10660. }
  10661. }
  10662. // Ensure the cache object
  10663. if ( !this.cache[ unlock ] ) {
  10664. this.cache[ unlock ] = {};
  10665. }
  10666. return unlock;
  10667. },
  10668. set: function( owner, data, value ) {
  10669. var prop,
  10670. // There may be an unlock assigned to this node,
  10671. // if there is no entry for this "owner", create one inline
  10672. // and set the unlock as though an owner entry had always existed
  10673. unlock = this.key( owner ),
  10674. cache = this.cache[ unlock ];
  10675. // Handle: [ owner, key, value ] args
  10676. if ( typeof data === "string" ) {
  10677. cache[ data ] = value;
  10678. // Handle: [ owner, { properties } ] args
  10679. } else {
  10680. // Fresh assignments by object are shallow copied
  10681. if ( jQuery.isEmptyObject( cache ) ) {
  10682. jQuery.extend( this.cache[ unlock ], data );
  10683. // Otherwise, copy the properties one-by-one to the cache object
  10684. } else {
  10685. for ( prop in data ) {
  10686. cache[ prop ] = data[ prop ];
  10687. }
  10688. }
  10689. }
  10690. return cache;
  10691. },
  10692. get: function( owner, key ) {
  10693. // Either a valid cache is found, or will be created.
  10694. // New caches will be created and the unlock returned,
  10695. // allowing direct access to the newly created
  10696. // empty data object. A valid owner object must be provided.
  10697. var cache = this.cache[ this.key( owner ) ];
  10698. return key === undefined ?
  10699. cache : cache[ key ];
  10700. },
  10701. access: function( owner, key, value ) {
  10702. var stored;
  10703. // In cases where either:
  10704. //
  10705. // 1. No key was specified
  10706. // 2. A string key was specified, but no value provided
  10707. //
  10708. // Take the "read" path and allow the get method to determine
  10709. // which value to return, respectively either:
  10710. //
  10711. // 1. The entire cache object
  10712. // 2. The data stored at the key
  10713. //
  10714. if ( key === undefined ||
  10715. ((key && typeof key === "string") && value === undefined) ) {
  10716. stored = this.get( owner, key );
  10717. return stored !== undefined ?
  10718. stored : this.get( owner, jQuery.camelCase(key) );
  10719. }
  10720. // [*]When the key is not a string, or both a key and value
  10721. // are specified, set or extend (existing objects) with either:
  10722. //
  10723. // 1. An object of properties
  10724. // 2. A key and value
  10725. //
  10726. this.set( owner, key, value );
  10727. // Since the "set" path can have two possible entry points
  10728. // return the expected data based on which path was taken[*]
  10729. return value !== undefined ? value : key;
  10730. },
  10731. remove: function( owner, key ) {
  10732. var i, name, camel,
  10733. unlock = this.key( owner ),
  10734. cache = this.cache[ unlock ];
  10735. if ( key === undefined ) {
  10736. this.cache[ unlock ] = {};
  10737. } else {
  10738. // Support array or space separated string of keys
  10739. if ( jQuery.isArray( key ) ) {
  10740. // If "name" is an array of keys...
  10741. // When data is initially created, via ("key", "val") signature,
  10742. // keys will be converted to camelCase.
  10743. // Since there is no way to tell _how_ a key was added, remove
  10744. // both plain key and camelCase key. #12786
  10745. // This will only penalize the array argument path.
  10746. name = key.concat( key.map( jQuery.camelCase ) );
  10747. } else {
  10748. camel = jQuery.camelCase( key );
  10749. // Try the string as a key before any manipulation
  10750. if ( key in cache ) {
  10751. name = [ key, camel ];
  10752. } else {
  10753. // If a key with the spaces exists, use it.
  10754. // Otherwise, create an array by matching non-whitespace
  10755. name = camel;
  10756. name = name in cache ?
  10757. [ name ] : ( name.match( rnotwhite ) || [] );
  10758. }
  10759. }
  10760. i = name.length;
  10761. while ( i-- ) {
  10762. delete cache[ name[ i ] ];
  10763. }
  10764. }
  10765. },
  10766. hasData: function( owner ) {
  10767. return !jQuery.isEmptyObject(
  10768. this.cache[ owner[ this.expando ] ] || {}
  10769. );
  10770. },
  10771. discard: function( owner ) {
  10772. if ( owner[ this.expando ] ) {
  10773. delete this.cache[ owner[ this.expando ] ];
  10774. }
  10775. }
  10776. };
  10777. var data_priv = new Data();
  10778. var data_user = new Data();
  10779. // Implementation Summary
  10780. //
  10781. // 1. Enforce API surface and semantic compatibility with 1.9.x branch
  10782. // 2. Improve the module's maintainability by reducing the storage
  10783. // paths to a single mechanism.
  10784. // 3. Use the same single mechanism to support "private" and "user" data.
  10785. // 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
  10786. // 5. Avoid exposing implementation details on user objects (eg. expando properties)
  10787. // 6. Provide a clear path for implementation upgrade to WeakMap in 2014
  10788. var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
  10789. rmultiDash = /([A-Z])/g;
  10790. function dataAttr( elem, key, data ) {
  10791. var name;
  10792. // If nothing was found internally, try to fetch any
  10793. // data from the HTML5 data-* attribute
  10794. if ( data === undefined && elem.nodeType === 1 ) {
  10795. name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
  10796. data = elem.getAttribute( name );
  10797. if ( typeof data === "string" ) {
  10798. try {
  10799. data = data === "true" ? true :
  10800. data === "false" ? false :
  10801. data === "null" ? null :
  10802. // Only convert to a number if it doesn't change the string
  10803. +data + "" === data ? +data :
  10804. rbrace.test( data ) ? jQuery.parseJSON( data ) :
  10805. data;
  10806. } catch( e ) {}
  10807. // Make sure we set the data so it isn't changed later
  10808. data_user.set( elem, key, data );
  10809. } else {
  10810. data = undefined;
  10811. }
  10812. }
  10813. return data;
  10814. }
  10815. jQuery.extend({
  10816. hasData: function( elem ) {
  10817. return data_user.hasData( elem ) || data_priv.hasData( elem );
  10818. },
  10819. data: function( elem, name, data ) {
  10820. return data_user.access( elem, name, data );
  10821. },
  10822. removeData: function( elem, name ) {
  10823. data_user.remove( elem, name );
  10824. },
  10825. // TODO: Now that all calls to _data and _removeData have been replaced
  10826. // with direct calls to data_priv methods, these can be deprecated.
  10827. _data: function( elem, name, data ) {
  10828. return data_priv.access( elem, name, data );
  10829. },
  10830. _removeData: function( elem, name ) {
  10831. data_priv.remove( elem, name );
  10832. }
  10833. });
  10834. jQuery.fn.extend({
  10835. data: function( key, value ) {
  10836. var i, name, data,
  10837. elem = this[ 0 ],
  10838. attrs = elem && elem.attributes;
  10839. // Gets all values
  10840. if ( key === undefined ) {
  10841. if ( this.length ) {
  10842. data = data_user.get( elem );
  10843. if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
  10844. i = attrs.length;
  10845. while ( i-- ) {
  10846. // Support: IE11+
  10847. // The attrs elements can be null (#14894)
  10848. if ( attrs[ i ] ) {
  10849. name = attrs[ i ].name;
  10850. if ( name.indexOf( "data-" ) === 0 ) {
  10851. name = jQuery.camelCase( name.slice(5) );
  10852. dataAttr( elem, name, data[ name ] );
  10853. }
  10854. }
  10855. }
  10856. data_priv.set( elem, "hasDataAttrs", true );
  10857. }
  10858. }
  10859. return data;
  10860. }
  10861. // Sets multiple values
  10862. if ( typeof key === "object" ) {
  10863. return this.each(function() {
  10864. data_user.set( this, key );
  10865. });
  10866. }
  10867. return access( this, function( value ) {
  10868. var data,
  10869. camelKey = jQuery.camelCase( key );
  10870. // The calling jQuery object (element matches) is not empty
  10871. // (and therefore has an element appears at this[ 0 ]) and the
  10872. // `value` parameter was not undefined. An empty jQuery object
  10873. // will result in `undefined` for elem = this[ 0 ] which will
  10874. // throw an exception if an attempt to read a data cache is made.
  10875. if ( elem && value === undefined ) {
  10876. // Attempt to get data from the cache
  10877. // with the key as-is
  10878. data = data_user.get( elem, key );
  10879. if ( data !== undefined ) {
  10880. return data;
  10881. }
  10882. // Attempt to get data from the cache
  10883. // with the key camelized
  10884. data = data_user.get( elem, camelKey );
  10885. if ( data !== undefined ) {
  10886. return data;
  10887. }
  10888. // Attempt to "discover" the data in
  10889. // HTML5 custom data-* attrs
  10890. data = dataAttr( elem, camelKey, undefined );
  10891. if ( data !== undefined ) {
  10892. return data;
  10893. }
  10894. // We tried really hard, but the data doesn't exist.
  10895. return;
  10896. }
  10897. // Set the data...
  10898. this.each(function() {
  10899. // First, attempt to store a copy or reference of any
  10900. // data that might've been store with a camelCased key.
  10901. var data = data_user.get( this, camelKey );
  10902. // For HTML5 data-* attribute interop, we have to
  10903. // store property names with dashes in a camelCase form.
  10904. // This might not apply to all properties...*
  10905. data_user.set( this, camelKey, value );
  10906. // *... In the case of properties that might _actually_
  10907. // have dashes, we need to also store a copy of that
  10908. // unchanged property.
  10909. if ( key.indexOf("-") !== -1 && data !== undefined ) {
  10910. data_user.set( this, key, value );
  10911. }
  10912. });
  10913. }, null, value, arguments.length > 1, null, true );
  10914. },
  10915. removeData: function( key ) {
  10916. return this.each(function() {
  10917. data_user.remove( this, key );
  10918. });
  10919. }
  10920. });
  10921. jQuery.extend({
  10922. queue: function( elem, type, data ) {
  10923. var queue;
  10924. if ( elem ) {
  10925. type = ( type || "fx" ) + "queue";
  10926. queue = data_priv.get( elem, type );
  10927. // Speed up dequeue by getting out quickly if this is just a lookup
  10928. if ( data ) {
  10929. if ( !queue || jQuery.isArray( data ) ) {
  10930. queue = data_priv.access( elem, type, jQuery.makeArray(data) );
  10931. } else {
  10932. queue.push( data );
  10933. }
  10934. }
  10935. return queue || [];
  10936. }
  10937. },
  10938. dequeue: function( elem, type ) {
  10939. type = type || "fx";
  10940. var queue = jQuery.queue( elem, type ),
  10941. startLength = queue.length,
  10942. fn = queue.shift(),
  10943. hooks = jQuery._queueHooks( elem, type ),
  10944. next = function() {
  10945. jQuery.dequeue( elem, type );
  10946. };
  10947. // If the fx queue is dequeued, always remove the progress sentinel
  10948. if ( fn === "inprogress" ) {
  10949. fn = queue.shift();
  10950. startLength--;
  10951. }
  10952. if ( fn ) {
  10953. // Add a progress sentinel to prevent the fx queue from being
  10954. // automatically dequeued
  10955. if ( type === "fx" ) {
  10956. queue.unshift( "inprogress" );
  10957. }
  10958. // Clear up the last queue stop function
  10959. delete hooks.stop;
  10960. fn.call( elem, next, hooks );
  10961. }
  10962. if ( !startLength && hooks ) {
  10963. hooks.empty.fire();
  10964. }
  10965. },
  10966. // Not public - generate a queueHooks object, or return the current one
  10967. _queueHooks: function( elem, type ) {
  10968. var key = type + "queueHooks";
  10969. return data_priv.get( elem, key ) || data_priv.access( elem, key, {
  10970. empty: jQuery.Callbacks("once memory").add(function() {
  10971. data_priv.remove( elem, [ type + "queue", key ] );
  10972. })
  10973. });
  10974. }
  10975. });
  10976. jQuery.fn.extend({
  10977. queue: function( type, data ) {
  10978. var setter = 2;
  10979. if ( typeof type !== "string" ) {
  10980. data = type;
  10981. type = "fx";
  10982. setter--;
  10983. }
  10984. if ( arguments.length < setter ) {
  10985. return jQuery.queue( this[0], type );
  10986. }
  10987. return data === undefined ?
  10988. this :
  10989. this.each(function() {
  10990. var queue = jQuery.queue( this, type, data );
  10991. // Ensure a hooks for this queue
  10992. jQuery._queueHooks( this, type );
  10993. if ( type === "fx" && queue[0] !== "inprogress" ) {
  10994. jQuery.dequeue( this, type );
  10995. }
  10996. });
  10997. },
  10998. dequeue: function( type ) {
  10999. return this.each(function() {
  11000. jQuery.dequeue( this, type );
  11001. });
  11002. },
  11003. clearQueue: function( type ) {
  11004. return this.queue( type || "fx", [] );
  11005. },
  11006. // Get a promise resolved when queues of a certain type
  11007. // are emptied (fx is the type by default)
  11008. promise: function( type, obj ) {
  11009. var tmp,
  11010. count = 1,
  11011. defer = jQuery.Deferred(),
  11012. elements = this,
  11013. i = this.length,
  11014. resolve = function() {
  11015. if ( !( --count ) ) {
  11016. defer.resolveWith( elements, [ elements ] );
  11017. }
  11018. };
  11019. if ( typeof type !== "string" ) {
  11020. obj = type;
  11021. type = undefined;
  11022. }
  11023. type = type || "fx";
  11024. while ( i-- ) {
  11025. tmp = data_priv.get( elements[ i ], type + "queueHooks" );
  11026. if ( tmp && tmp.empty ) {
  11027. count++;
  11028. tmp.empty.add( resolve );
  11029. }
  11030. }
  11031. resolve();
  11032. return defer.promise( obj );
  11033. }
  11034. });
  11035. var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;
  11036. var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
  11037. var isHidden = function( elem, el ) {
  11038. // isHidden might be called from jQuery#filter function;
  11039. // in that case, element will be second argument
  11040. elem = el || elem;
  11041. return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem );
  11042. };
  11043. var rcheckableType = (/^(?:checkbox|radio)$/i);
  11044. (function() {
  11045. var fragment = document.createDocumentFragment(),
  11046. div = fragment.appendChild( document.createElement( "div" ) ),
  11047. input = document.createElement( "input" );
  11048. // Support: Safari<=5.1
  11049. // Check state lost if the name is set (#11217)
  11050. // Support: Windows Web Apps (WWA)
  11051. // `name` and `type` must use .setAttribute for WWA (#14901)
  11052. input.setAttribute( "type", "radio" );
  11053. input.setAttribute( "checked", "checked" );
  11054. input.setAttribute( "name", "t" );
  11055. div.appendChild( input );
  11056. // Support: Safari<=5.1, Android<4.2
  11057. // Older WebKit doesn't clone checked state correctly in fragments
  11058. support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
  11059. // Support: IE<=11+
  11060. // Make sure textarea (and checkbox) defaultValue is properly cloned
  11061. div.innerHTML = "<textarea>x</textarea>";
  11062. support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
  11063. })();
  11064. var strundefined = typeof undefined;
  11065. support.focusinBubbles = "onfocusin" in window;
  11066. var
  11067. rkeyEvent = /^key/,
  11068. rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,
  11069. rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
  11070. rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
  11071. function returnTrue() {
  11072. return true;
  11073. }
  11074. function returnFalse() {
  11075. return false;
  11076. }
  11077. function safeActiveElement() {
  11078. try {
  11079. return document.activeElement;
  11080. } catch ( err ) { }
  11081. }
  11082. /*
  11083. * Helper functions for managing events -- not part of the public interface.
  11084. * Props to Dean Edwards' addEvent library for many of the ideas.
  11085. */
  11086. jQuery.event = {
  11087. global: {},
  11088. add: function( elem, types, handler, data, selector ) {
  11089. var handleObjIn, eventHandle, tmp,
  11090. events, t, handleObj,
  11091. special, handlers, type, namespaces, origType,
  11092. elemData = data_priv.get( elem );
  11093. // Don't attach events to noData or text/comment nodes (but allow plain objects)
  11094. if ( !elemData ) {
  11095. return;
  11096. }
  11097. // Caller can pass in an object of custom data in lieu of the handler
  11098. if ( handler.handler ) {
  11099. handleObjIn = handler;
  11100. handler = handleObjIn.handler;
  11101. selector = handleObjIn.selector;
  11102. }
  11103. // Make sure that the handler has a unique ID, used to find/remove it later
  11104. if ( !handler.guid ) {
  11105. handler.guid = jQuery.guid++;
  11106. }
  11107. // Init the element's event structure and main handler, if this is the first
  11108. if ( !(events = elemData.events) ) {
  11109. events = elemData.events = {};
  11110. }
  11111. if ( !(eventHandle = elemData.handle) ) {
  11112. eventHandle = elemData.handle = function( e ) {
  11113. // Discard the second event of a jQuery.event.trigger() and
  11114. // when an event is called after a page has unloaded
  11115. return typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ?
  11116. jQuery.event.dispatch.apply( elem, arguments ) : undefined;
  11117. };
  11118. }
  11119. // Handle multiple events separated by a space
  11120. types = ( types || "" ).match( rnotwhite ) || [ "" ];
  11121. t = types.length;
  11122. while ( t-- ) {
  11123. tmp = rtypenamespace.exec( types[t] ) || [];
  11124. type = origType = tmp[1];
  11125. namespaces = ( tmp[2] || "" ).split( "." ).sort();
  11126. // There *must* be a type, no attaching namespace-only handlers
  11127. if ( !type ) {
  11128. continue;
  11129. }
  11130. // If event changes its type, use the special event handlers for the changed type
  11131. special = jQuery.event.special[ type ] || {};
  11132. // If selector defined, determine special event api type, otherwise given type
  11133. type = ( selector ? special.delegateType : special.bindType ) || type;
  11134. // Update special based on newly reset type
  11135. special = jQuery.event.special[ type ] || {};
  11136. // handleObj is passed to all event handlers
  11137. handleObj = jQuery.extend({
  11138. type: type,
  11139. origType: origType,
  11140. data: data,
  11141. handler: handler,
  11142. guid: handler.guid,
  11143. selector: selector,
  11144. needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
  11145. namespace: namespaces.join(".")
  11146. }, handleObjIn );
  11147. // Init the event handler queue if we're the first
  11148. if ( !(handlers = events[ type ]) ) {
  11149. handlers = events[ type ] = [];
  11150. handlers.delegateCount = 0;
  11151. // Only use addEventListener if the special events handler returns false
  11152. if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
  11153. if ( elem.addEventListener ) {
  11154. elem.addEventListener( type, eventHandle, false );
  11155. }
  11156. }
  11157. }
  11158. if ( special.add ) {
  11159. special.add.call( elem, handleObj );
  11160. if ( !handleObj.handler.guid ) {
  11161. handleObj.handler.guid = handler.guid;
  11162. }
  11163. }
  11164. // Add to the element's handler list, delegates in front
  11165. if ( selector ) {
  11166. handlers.splice( handlers.delegateCount++, 0, handleObj );
  11167. } else {
  11168. handlers.push( handleObj );
  11169. }
  11170. // Keep track of which events have ever been used, for event optimization
  11171. jQuery.event.global[ type ] = true;
  11172. }
  11173. },
  11174. // Detach an event or set of events from an element
  11175. remove: function( elem, types, handler, selector, mappedTypes ) {
  11176. var j, origCount, tmp,
  11177. events, t, handleObj,
  11178. special, handlers, type, namespaces, origType,
  11179. elemData = data_priv.hasData( elem ) && data_priv.get( elem );
  11180. if ( !elemData || !(events = elemData.events) ) {
  11181. return;
  11182. }
  11183. // Once for each type.namespace in types; type may be omitted
  11184. types = ( types || "" ).match( rnotwhite ) || [ "" ];
  11185. t = types.length;
  11186. while ( t-- ) {
  11187. tmp = rtypenamespace.exec( types[t] ) || [];
  11188. type = origType = tmp[1];
  11189. namespaces = ( tmp[2] || "" ).split( "." ).sort();
  11190. // Unbind all events (on this namespace, if provided) for the element
  11191. if ( !type ) {
  11192. for ( type in events ) {
  11193. jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
  11194. }
  11195. continue;
  11196. }
  11197. special = jQuery.event.special[ type ] || {};
  11198. type = ( selector ? special.delegateType : special.bindType ) || type;
  11199. handlers = events[ type ] || [];
  11200. tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" );
  11201. // Remove matching events
  11202. origCount = j = handlers.length;
  11203. while ( j-- ) {
  11204. handleObj = handlers[ j ];
  11205. if ( ( mappedTypes || origType === handleObj.origType ) &&
  11206. ( !handler || handler.guid === handleObj.guid ) &&
  11207. ( !tmp || tmp.test( handleObj.namespace ) ) &&
  11208. ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
  11209. handlers.splice( j, 1 );
  11210. if ( handleObj.selector ) {
  11211. handlers.delegateCount--;
  11212. }
  11213. if ( special.remove ) {
  11214. special.remove.call( elem, handleObj );
  11215. }
  11216. }
  11217. }
  11218. // Remove generic event handler if we removed something and no more handlers exist
  11219. // (avoids potential for endless recursion during removal of special event handlers)
  11220. if ( origCount && !handlers.length ) {
  11221. if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
  11222. jQuery.removeEvent( elem, type, elemData.handle );
  11223. }
  11224. delete events[ type ];
  11225. }
  11226. }
  11227. // Remove the expando if it's no longer used
  11228. if ( jQuery.isEmptyObject( events ) ) {
  11229. delete elemData.handle;
  11230. data_priv.remove( elem, "events" );
  11231. }
  11232. },
  11233. trigger: function( event, data, elem, onlyHandlers ) {
  11234. var i, cur, tmp, bubbleType, ontype, handle, special,
  11235. eventPath = [ elem || document ],
  11236. type = hasOwn.call( event, "type" ) ? event.type : event,
  11237. namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : [];
  11238. cur = tmp = elem = elem || document;
  11239. // Don't do events on text and comment nodes
  11240. if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
  11241. return;
  11242. }
  11243. // focus/blur morphs to focusin/out; ensure we're not firing them right now
  11244. if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
  11245. return;
  11246. }
  11247. if ( type.indexOf(".") >= 0 ) {
  11248. // Namespaced trigger; create a regexp to match event type in handle()
  11249. namespaces = type.split(".");
  11250. type = namespaces.shift();
  11251. namespaces.sort();
  11252. }
  11253. ontype = type.indexOf(":") < 0 && "on" + type;
  11254. // Caller can pass in a jQuery.Event object, Object, or just an event type string
  11255. event = event[ jQuery.expando ] ?
  11256. event :
  11257. new jQuery.Event( type, typeof event === "object" && event );
  11258. // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
  11259. event.isTrigger = onlyHandlers ? 2 : 3;
  11260. event.namespace = namespaces.join(".");
  11261. event.namespace_re = event.namespace ?
  11262. new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) :
  11263. null;
  11264. // Clean up the event in case it is being reused
  11265. event.result = undefined;
  11266. if ( !event.target ) {
  11267. event.target = elem;
  11268. }
  11269. // Clone any incoming data and prepend the event, creating the handler arg list
  11270. data = data == null ?
  11271. [ event ] :
  11272. jQuery.makeArray( data, [ event ] );
  11273. // Allow special events to draw outside the lines
  11274. special = jQuery.event.special[ type ] || {};
  11275. if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
  11276. return;
  11277. }
  11278. // Determine event propagation path in advance, per W3C events spec (#9951)
  11279. // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
  11280. if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
  11281. bubbleType = special.delegateType || type;
  11282. if ( !rfocusMorph.test( bubbleType + type ) ) {
  11283. cur = cur.parentNode;
  11284. }
  11285. for ( ; cur; cur = cur.parentNode ) {
  11286. eventPath.push( cur );
  11287. tmp = cur;
  11288. }
  11289. // Only add window if we got to document (e.g., not plain obj or detached DOM)
  11290. if ( tmp === (elem.ownerDocument || document) ) {
  11291. eventPath.push( tmp.defaultView || tmp.parentWindow || window );
  11292. }
  11293. }
  11294. // Fire handlers on the event path
  11295. i = 0;
  11296. while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {
  11297. event.type = i > 1 ?
  11298. bubbleType :
  11299. special.bindType || type;
  11300. // jQuery handler
  11301. handle = ( data_priv.get( cur, "events" ) || {} )[ event.type ] && data_priv.get( cur, "handle" );
  11302. if ( handle ) {
  11303. handle.apply( cur, data );
  11304. }
  11305. // Native handler
  11306. handle = ontype && cur[ ontype ];
  11307. if ( handle && handle.apply && jQuery.acceptData( cur ) ) {
  11308. event.result = handle.apply( cur, data );
  11309. if ( event.result === false ) {
  11310. event.preventDefault();
  11311. }
  11312. }
  11313. }
  11314. event.type = type;
  11315. // If nobody prevented the default action, do it now
  11316. if ( !onlyHandlers && !event.isDefaultPrevented() ) {
  11317. if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) &&
  11318. jQuery.acceptData( elem ) ) {
  11319. // Call a native DOM method on the target with the same name name as the event.
  11320. // Don't do default actions on window, that's where global variables be (#6170)
  11321. if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
  11322. // Don't re-trigger an onFOO event when we call its FOO() method
  11323. tmp = elem[ ontype ];
  11324. if ( tmp ) {
  11325. elem[ ontype ] = null;
  11326. }
  11327. // Prevent re-triggering of the same event, since we already bubbled it above
  11328. jQuery.event.triggered = type;
  11329. elem[ type ]();
  11330. jQuery.event.triggered = undefined;
  11331. if ( tmp ) {
  11332. elem[ ontype ] = tmp;
  11333. }
  11334. }
  11335. }
  11336. }
  11337. return event.result;
  11338. },
  11339. dispatch: function( event ) {
  11340. // Make a writable jQuery.Event from the native event object
  11341. event = jQuery.event.fix( event );
  11342. var i, j, ret, matched, handleObj,
  11343. handlerQueue = [],
  11344. args = slice.call( arguments ),
  11345. handlers = ( data_priv.get( this, "events" ) || {} )[ event.type ] || [],
  11346. special = jQuery.event.special[ event.type ] || {};
  11347. // Use the fix-ed jQuery.Event rather than the (read-only) native event
  11348. args[0] = event;
  11349. event.delegateTarget = this;
  11350. // Call the preDispatch hook for the mapped type, and let it bail if desired
  11351. if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
  11352. return;
  11353. }
  11354. // Determine handlers
  11355. handlerQueue = jQuery.event.handlers.call( this, event, handlers );
  11356. // Run delegates first; they may want to stop propagation beneath us
  11357. i = 0;
  11358. while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {
  11359. event.currentTarget = matched.elem;
  11360. j = 0;
  11361. while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {
  11362. // Triggered event must either 1) have no namespace, or 2) have namespace(s)
  11363. // a subset or equal to those in the bound event (both can have no namespace).
  11364. if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {
  11365. event.handleObj = handleObj;
  11366. event.data = handleObj.data;
  11367. ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
  11368. .apply( matched.elem, args );
  11369. if ( ret !== undefined ) {
  11370. if ( (event.result = ret) === false ) {
  11371. event.preventDefault();
  11372. event.stopPropagation();
  11373. }
  11374. }
  11375. }
  11376. }
  11377. }
  11378. // Call the postDispatch hook for the mapped type
  11379. if ( special.postDispatch ) {
  11380. special.postDispatch.call( this, event );
  11381. }
  11382. return event.result;
  11383. },
  11384. handlers: function( event, handlers ) {
  11385. var i, matches, sel, handleObj,
  11386. handlerQueue = [],
  11387. delegateCount = handlers.delegateCount,
  11388. cur = event.target;
  11389. // Find delegate handlers
  11390. // Black-hole SVG <use> instance trees (#13180)
  11391. // Avoid non-left-click bubbling in Firefox (#3861)
  11392. if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) {
  11393. for ( ; cur !== this; cur = cur.parentNode || this ) {
  11394. // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
  11395. if ( cur.disabled !== true || event.type !== "click" ) {
  11396. matches = [];
  11397. for ( i = 0; i < delegateCount; i++ ) {
  11398. handleObj = handlers[ i ];
  11399. // Don't conflict with Object.prototype properties (#13203)
  11400. sel = handleObj.selector + " ";
  11401. if ( matches[ sel ] === undefined ) {
  11402. matches[ sel ] = handleObj.needsContext ?
  11403. jQuery( sel, this ).index( cur ) >= 0 :
  11404. jQuery.find( sel, this, null, [ cur ] ).length;
  11405. }
  11406. if ( matches[ sel ] ) {
  11407. matches.push( handleObj );
  11408. }
  11409. }
  11410. if ( matches.length ) {
  11411. handlerQueue.push({ elem: cur, handlers: matches });
  11412. }
  11413. }
  11414. }
  11415. }
  11416. // Add the remaining (directly-bound) handlers
  11417. if ( delegateCount < handlers.length ) {
  11418. handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) });
  11419. }
  11420. return handlerQueue;
  11421. },
  11422. // Includes some event props shared by KeyEvent and MouseEvent
  11423. props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
  11424. fixHooks: {},
  11425. keyHooks: {
  11426. props: "char charCode key keyCode".split(" "),
  11427. filter: function( event, original ) {
  11428. // Add which for key events
  11429. if ( event.which == null ) {
  11430. event.which = original.charCode != null ? original.charCode : original.keyCode;
  11431. }
  11432. return event;
  11433. }
  11434. },
  11435. mouseHooks: {
  11436. props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
  11437. filter: function( event, original ) {
  11438. var eventDoc, doc, body,
  11439. button = original.button;
  11440. // Calculate pageX/Y if missing and clientX/Y available
  11441. if ( event.pageX == null && original.clientX != null ) {
  11442. eventDoc = event.target.ownerDocument || document;
  11443. doc = eventDoc.documentElement;
  11444. body = eventDoc.body;
  11445. event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
  11446. event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );
  11447. }
  11448. // Add which for click: 1 === left; 2 === middle; 3 === right
  11449. // Note: button is not normalized, so don't use it
  11450. if ( !event.which && button !== undefined ) {
  11451. event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
  11452. }
  11453. return event;
  11454. }
  11455. },
  11456. fix: function( event ) {
  11457. if ( event[ jQuery.expando ] ) {
  11458. return event;
  11459. }
  11460. // Create a writable copy of the event object and normalize some properties
  11461. var i, prop, copy,
  11462. type = event.type,
  11463. originalEvent = event,
  11464. fixHook = this.fixHooks[ type ];
  11465. if ( !fixHook ) {
  11466. this.fixHooks[ type ] = fixHook =
  11467. rmouseEvent.test( type ) ? this.mouseHooks :
  11468. rkeyEvent.test( type ) ? this.keyHooks :
  11469. {};
  11470. }
  11471. copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
  11472. event = new jQuery.Event( originalEvent );
  11473. i = copy.length;
  11474. while ( i-- ) {
  11475. prop = copy[ i ];
  11476. event[ prop ] = originalEvent[ prop ];
  11477. }
  11478. // Support: Cordova 2.5 (WebKit) (#13255)
  11479. // All events should have a target; Cordova deviceready doesn't
  11480. if ( !event.target ) {
  11481. event.target = document;
  11482. }
  11483. // Support: Safari 6.0+, Chrome<28
  11484. // Target should not be a text node (#504, #13143)
  11485. if ( event.target.nodeType === 3 ) {
  11486. event.target = event.target.parentNode;
  11487. }
  11488. return fixHook.filter ? fixHook.filter( event, originalEvent ) : event;
  11489. },
  11490. special: {
  11491. load: {
  11492. // Prevent triggered image.load events from bubbling to window.load
  11493. noBubble: true
  11494. },
  11495. focus: {
  11496. // Fire native event if possible so blur/focus sequence is correct
  11497. trigger: function() {
  11498. if ( this !== safeActiveElement() && this.focus ) {
  11499. this.focus();
  11500. return false;
  11501. }
  11502. },
  11503. delegateType: "focusin"
  11504. },
  11505. blur: {
  11506. trigger: function() {
  11507. if ( this === safeActiveElement() && this.blur ) {
  11508. this.blur();
  11509. return false;
  11510. }
  11511. },
  11512. delegateType: "focusout"
  11513. },
  11514. click: {
  11515. // For checkbox, fire native event so checked state will be right
  11516. trigger: function() {
  11517. if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
  11518. this.click();
  11519. return false;
  11520. }
  11521. },
  11522. // For cross-browser consistency, don't fire native .click() on links
  11523. _default: function( event ) {
  11524. return jQuery.nodeName( event.target, "a" );
  11525. }
  11526. },
  11527. beforeunload: {
  11528. postDispatch: function( event ) {
  11529. // Support: Firefox 20+
  11530. // Firefox doesn't alert if the returnValue field is not set.
  11531. if ( event.result !== undefined && event.originalEvent ) {
  11532. event.originalEvent.returnValue = event.result;
  11533. }
  11534. }
  11535. }
  11536. },
  11537. simulate: function( type, elem, event, bubble ) {
  11538. // Piggyback on a donor event to simulate a different one.
  11539. // Fake originalEvent to avoid donor's stopPropagation, but if the
  11540. // simulated event prevents default then we do the same on the donor.
  11541. var e = jQuery.extend(
  11542. new jQuery.Event(),
  11543. event,
  11544. {
  11545. type: type,
  11546. isSimulated: true,
  11547. originalEvent: {}
  11548. }
  11549. );
  11550. if ( bubble ) {
  11551. jQuery.event.trigger( e, null, elem );
  11552. } else {
  11553. jQuery.event.dispatch.call( elem, e );
  11554. }
  11555. if ( e.isDefaultPrevented() ) {
  11556. event.preventDefault();
  11557. }
  11558. }
  11559. };
  11560. jQuery.removeEvent = function( elem, type, handle ) {
  11561. if ( elem.removeEventListener ) {
  11562. elem.removeEventListener( type, handle, false );
  11563. }
  11564. };
  11565. jQuery.Event = function( src, props ) {
  11566. // Allow instantiation without the 'new' keyword
  11567. if ( !(this instanceof jQuery.Event) ) {
  11568. return new jQuery.Event( src, props );
  11569. }
  11570. // Event object
  11571. if ( src && src.type ) {
  11572. this.originalEvent = src;
  11573. this.type = src.type;
  11574. // Events bubbling up the document may have been marked as prevented
  11575. // by a handler lower down the tree; reflect the correct value.
  11576. this.isDefaultPrevented = src.defaultPrevented ||
  11577. src.defaultPrevented === undefined &&
  11578. // Support: Android<4.0
  11579. src.returnValue === false ?
  11580. returnTrue :
  11581. returnFalse;
  11582. // Event type
  11583. } else {
  11584. this.type = src;
  11585. }
  11586. // Put explicitly provided properties onto the event object
  11587. if ( props ) {
  11588. jQuery.extend( this, props );
  11589. }
  11590. // Create a timestamp if incoming event doesn't have one
  11591. this.timeStamp = src && src.timeStamp || jQuery.now();
  11592. // Mark it as fixed
  11593. this[ jQuery.expando ] = true;
  11594. };
  11595. // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
  11596. // http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
  11597. jQuery.Event.prototype = {
  11598. isDefaultPrevented: returnFalse,
  11599. isPropagationStopped: returnFalse,
  11600. isImmediatePropagationStopped: returnFalse,
  11601. preventDefault: function() {
  11602. var e = this.originalEvent;
  11603. this.isDefaultPrevented = returnTrue;
  11604. if ( e && e.preventDefault ) {
  11605. e.preventDefault();
  11606. }
  11607. },
  11608. stopPropagation: function() {
  11609. var e = this.originalEvent;
  11610. this.isPropagationStopped = returnTrue;
  11611. if ( e && e.stopPropagation ) {
  11612. e.stopPropagation();
  11613. }
  11614. },
  11615. stopImmediatePropagation: function() {
  11616. var e = this.originalEvent;
  11617. this.isImmediatePropagationStopped = returnTrue;
  11618. if ( e && e.stopImmediatePropagation ) {
  11619. e.stopImmediatePropagation();
  11620. }
  11621. this.stopPropagation();
  11622. }
  11623. };
  11624. // Create mouseenter/leave events using mouseover/out and event-time checks
  11625. // Support: Chrome 15+
  11626. jQuery.each({
  11627. mouseenter: "mouseover",
  11628. mouseleave: "mouseout",
  11629. pointerenter: "pointerover",
  11630. pointerleave: "pointerout"
  11631. }, function( orig, fix ) {
  11632. jQuery.event.special[ orig ] = {
  11633. delegateType: fix,
  11634. bindType: fix,
  11635. handle: function( event ) {
  11636. var ret,
  11637. target = this,
  11638. related = event.relatedTarget,
  11639. handleObj = event.handleObj;
  11640. // For mousenter/leave call the handler if related is outside the target.
  11641. // NB: No relatedTarget if the mouse left/entered the browser window
  11642. if ( !related || (related !== target && !jQuery.contains( target, related )) ) {
  11643. event.type = handleObj.origType;
  11644. ret = handleObj.handler.apply( this, arguments );
  11645. event.type = fix;
  11646. }
  11647. return ret;
  11648. }
  11649. };
  11650. });
  11651. // Support: Firefox, Chrome, Safari
  11652. // Create "bubbling" focus and blur events
  11653. if ( !support.focusinBubbles ) {
  11654. jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
  11655. // Attach a single capturing handler on the document while someone wants focusin/focusout
  11656. var handler = function( event ) {
  11657. jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
  11658. };
  11659. jQuery.event.special[ fix ] = {
  11660. setup: function() {
  11661. var doc = this.ownerDocument || this,
  11662. attaches = data_priv.access( doc, fix );
  11663. if ( !attaches ) {
  11664. doc.addEventListener( orig, handler, true );
  11665. }
  11666. data_priv.access( doc, fix, ( attaches || 0 ) + 1 );
  11667. },
  11668. teardown: function() {
  11669. var doc = this.ownerDocument || this,
  11670. attaches = data_priv.access( doc, fix ) - 1;
  11671. if ( !attaches ) {
  11672. doc.removeEventListener( orig, handler, true );
  11673. data_priv.remove( doc, fix );
  11674. } else {
  11675. data_priv.access( doc, fix, attaches );
  11676. }
  11677. }
  11678. };
  11679. });
  11680. }
  11681. jQuery.fn.extend({
  11682. on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
  11683. var origFn, type;
  11684. // Types can be a map of types/handlers
  11685. if ( typeof types === "object" ) {
  11686. // ( types-Object, selector, data )
  11687. if ( typeof selector !== "string" ) {
  11688. // ( types-Object, data )
  11689. data = data || selector;
  11690. selector = undefined;
  11691. }
  11692. for ( type in types ) {
  11693. this.on( type, selector, data, types[ type ], one );
  11694. }
  11695. return this;
  11696. }
  11697. if ( data == null && fn == null ) {
  11698. // ( types, fn )
  11699. fn = selector;
  11700. data = selector = undefined;
  11701. } else if ( fn == null ) {
  11702. if ( typeof selector === "string" ) {
  11703. // ( types, selector, fn )
  11704. fn = data;
  11705. data = undefined;
  11706. } else {
  11707. // ( types, data, fn )
  11708. fn = data;
  11709. data = selector;
  11710. selector = undefined;
  11711. }
  11712. }
  11713. if ( fn === false ) {
  11714. fn = returnFalse;
  11715. } else if ( !fn ) {
  11716. return this;
  11717. }
  11718. if ( one === 1 ) {
  11719. origFn = fn;
  11720. fn = function( event ) {
  11721. // Can use an empty set, since event contains the info
  11722. jQuery().off( event );
  11723. return origFn.apply( this, arguments );
  11724. };
  11725. // Use same guid so caller can remove using origFn
  11726. fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
  11727. }
  11728. return this.each( function() {
  11729. jQuery.event.add( this, types, fn, data, selector );
  11730. });
  11731. },
  11732. one: function( types, selector, data, fn ) {
  11733. return this.on( types, selector, data, fn, 1 );
  11734. },
  11735. off: function( types, selector, fn ) {
  11736. var handleObj, type;
  11737. if ( types && types.preventDefault && types.handleObj ) {
  11738. // ( event ) dispatched jQuery.Event
  11739. handleObj = types.handleObj;
  11740. jQuery( types.delegateTarget ).off(
  11741. handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType,
  11742. handleObj.selector,
  11743. handleObj.handler
  11744. );
  11745. return this;
  11746. }
  11747. if ( typeof types === "object" ) {
  11748. // ( types-object [, selector] )
  11749. for ( type in types ) {
  11750. this.off( type, selector, types[ type ] );
  11751. }
  11752. return this;
  11753. }
  11754. if ( selector === false || typeof selector === "function" ) {
  11755. // ( types [, fn] )
  11756. fn = selector;
  11757. selector = undefined;
  11758. }
  11759. if ( fn === false ) {
  11760. fn = returnFalse;
  11761. }
  11762. return this.each(function() {
  11763. jQuery.event.remove( this, types, fn, selector );
  11764. });
  11765. },
  11766. trigger: function( type, data ) {
  11767. return this.each(function() {
  11768. jQuery.event.trigger( type, data, this );
  11769. });
  11770. },
  11771. triggerHandler: function( type, data ) {
  11772. var elem = this[0];
  11773. if ( elem ) {
  11774. return jQuery.event.trigger( type, data, elem, true );
  11775. }
  11776. }
  11777. });
  11778. var
  11779. rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
  11780. rtagName = /<([\w:]+)/,
  11781. rhtml = /<|&#?\w+;/,
  11782. rnoInnerhtml = /<(?:script|style|link)/i,
  11783. // checked="checked" or checked
  11784. rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
  11785. rscriptType = /^$|\/(?:java|ecma)script/i,
  11786. rscriptTypeMasked = /^true\/(.*)/,
  11787. rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
  11788. // We have to close these tags to support XHTML (#13200)
  11789. wrapMap = {
  11790. // Support: IE9
  11791. option: [ 1, "<select multiple='multiple'>", "</select>" ],
  11792. thead: [ 1, "<table>", "</table>" ],
  11793. col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
  11794. tr: [ 2, "<table><tbody>", "</tbody></table>" ],
  11795. td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
  11796. _default: [ 0, "", "" ]
  11797. };
  11798. // Support: IE9
  11799. wrapMap.optgroup = wrapMap.option;
  11800. wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
  11801. wrapMap.th = wrapMap.td;
  11802. // Support: 1.x compatibility
  11803. // Manipulating tables requires a tbody
  11804. function manipulationTarget( elem, content ) {
  11805. return jQuery.nodeName( elem, "table" ) &&
  11806. jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ?
  11807. elem.getElementsByTagName("tbody")[0] ||
  11808. elem.appendChild( elem.ownerDocument.createElement("tbody") ) :
  11809. elem;
  11810. }
  11811. // Replace/restore the type attribute of script elements for safe DOM manipulation
  11812. function disableScript( elem ) {
  11813. elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type;
  11814. return elem;
  11815. }
  11816. function restoreScript( elem ) {
  11817. var match = rscriptTypeMasked.exec( elem.type );
  11818. if ( match ) {
  11819. elem.type = match[ 1 ];
  11820. } else {
  11821. elem.removeAttribute("type");
  11822. }
  11823. return elem;
  11824. }
  11825. // Mark scripts as having already been evaluated
  11826. function setGlobalEval( elems, refElements ) {
  11827. var i = 0,
  11828. l = elems.length;
  11829. for ( ; i < l; i++ ) {
  11830. data_priv.set(
  11831. elems[ i ], "globalEval", !refElements || data_priv.get( refElements[ i ], "globalEval" )
  11832. );
  11833. }
  11834. }
  11835. function cloneCopyEvent( src, dest ) {
  11836. var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
  11837. if ( dest.nodeType !== 1 ) {
  11838. return;
  11839. }
  11840. // 1. Copy private data: events, handlers, etc.
  11841. if ( data_priv.hasData( src ) ) {
  11842. pdataOld = data_priv.access( src );
  11843. pdataCur = data_priv.set( dest, pdataOld );
  11844. events = pdataOld.events;
  11845. if ( events ) {
  11846. delete pdataCur.handle;
  11847. pdataCur.events = {};
  11848. for ( type in events ) {
  11849. for ( i = 0, l = events[ type ].length; i < l; i++ ) {
  11850. jQuery.event.add( dest, type, events[ type ][ i ] );
  11851. }
  11852. }
  11853. }
  11854. }
  11855. // 2. Copy user data
  11856. if ( data_user.hasData( src ) ) {
  11857. udataOld = data_user.access( src );
  11858. udataCur = jQuery.extend( {}, udataOld );
  11859. data_user.set( dest, udataCur );
  11860. }
  11861. }
  11862. function getAll( context, tag ) {
  11863. var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) :
  11864. context.querySelectorAll ? context.querySelectorAll( tag || "*" ) :
  11865. [];
  11866. return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
  11867. jQuery.merge( [ context ], ret ) :
  11868. ret;
  11869. }
  11870. // Fix IE bugs, see support tests
  11871. function fixInput( src, dest ) {
  11872. var nodeName = dest.nodeName.toLowerCase();
  11873. // Fails to persist the checked state of a cloned checkbox or radio button.
  11874. if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
  11875. dest.checked = src.checked;
  11876. // Fails to return the selected option to the default selected state when cloning options
  11877. } else if ( nodeName === "input" || nodeName === "textarea" ) {
  11878. dest.defaultValue = src.defaultValue;
  11879. }
  11880. }
  11881. jQuery.extend({
  11882. clone: function( elem, dataAndEvents, deepDataAndEvents ) {
  11883. var i, l, srcElements, destElements,
  11884. clone = elem.cloneNode( true ),
  11885. inPage = jQuery.contains( elem.ownerDocument, elem );
  11886. // Fix IE cloning issues
  11887. if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
  11888. !jQuery.isXMLDoc( elem ) ) {
  11889. // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
  11890. destElements = getAll( clone );
  11891. srcElements = getAll( elem );
  11892. for ( i = 0, l = srcElements.length; i < l; i++ ) {
  11893. fixInput( srcElements[ i ], destElements[ i ] );
  11894. }
  11895. }
  11896. // Copy the events from the original to the clone
  11897. if ( dataAndEvents ) {
  11898. if ( deepDataAndEvents ) {
  11899. srcElements = srcElements || getAll( elem );
  11900. destElements = destElements || getAll( clone );
  11901. for ( i = 0, l = srcElements.length; i < l; i++ ) {
  11902. cloneCopyEvent( srcElements[ i ], destElements[ i ] );
  11903. }
  11904. } else {
  11905. cloneCopyEvent( elem, clone );
  11906. }
  11907. }
  11908. // Preserve script evaluation history
  11909. destElements = getAll( clone, "script" );
  11910. if ( destElements.length > 0 ) {
  11911. setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
  11912. }
  11913. // Return the cloned set
  11914. return clone;
  11915. },
  11916. buildFragment: function( elems, context, scripts, selection ) {
  11917. var elem, tmp, tag, wrap, contains, j,
  11918. fragment = context.createDocumentFragment(),
  11919. nodes = [],
  11920. i = 0,
  11921. l = elems.length;
  11922. for ( ; i < l; i++ ) {
  11923. elem = elems[ i ];
  11924. if ( elem || elem === 0 ) {
  11925. // Add nodes directly
  11926. if ( jQuery.type( elem ) === "object" ) {
  11927. // Support: QtWebKit, PhantomJS
  11928. // push.apply(_, arraylike) throws on ancient WebKit
  11929. jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
  11930. // Convert non-html into a text node
  11931. } else if ( !rhtml.test( elem ) ) {
  11932. nodes.push( context.createTextNode( elem ) );
  11933. // Convert html into DOM nodes
  11934. } else {
  11935. tmp = tmp || fragment.appendChild( context.createElement("div") );
  11936. // Deserialize a standard representation
  11937. tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
  11938. wrap = wrapMap[ tag ] || wrapMap._default;
  11939. tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[ 2 ];
  11940. // Descend through wrappers to the right content
  11941. j = wrap[ 0 ];
  11942. while ( j-- ) {
  11943. tmp = tmp.lastChild;
  11944. }
  11945. // Support: QtWebKit, PhantomJS
  11946. // push.apply(_, arraylike) throws on ancient WebKit
  11947. jQuery.merge( nodes, tmp.childNodes );
  11948. // Remember the top-level container
  11949. tmp = fragment.firstChild;
  11950. // Ensure the created nodes are orphaned (#12392)
  11951. tmp.textContent = "";
  11952. }
  11953. }
  11954. }
  11955. // Remove wrapper from fragment
  11956. fragment.textContent = "";
  11957. i = 0;
  11958. while ( (elem = nodes[ i++ ]) ) {
  11959. // #4087 - If origin and destination elements are the same, and this is
  11960. // that element, do not do anything
  11961. if ( selection && jQuery.inArray( elem, selection ) !== -1 ) {
  11962. continue;
  11963. }
  11964. contains = jQuery.contains( elem.ownerDocument, elem );
  11965. // Append to fragment
  11966. tmp = getAll( fragment.appendChild( elem ), "script" );
  11967. // Preserve script evaluation history
  11968. if ( contains ) {
  11969. setGlobalEval( tmp );
  11970. }
  11971. // Capture executables
  11972. if ( scripts ) {
  11973. j = 0;
  11974. while ( (elem = tmp[ j++ ]) ) {
  11975. if ( rscriptType.test( elem.type || "" ) ) {
  11976. scripts.push( elem );
  11977. }
  11978. }
  11979. }
  11980. }
  11981. return fragment;
  11982. },
  11983. cleanData: function( elems ) {
  11984. var data, elem, type, key,
  11985. special = jQuery.event.special,
  11986. i = 0;
  11987. for ( ; (elem = elems[ i ]) !== undefined; i++ ) {
  11988. if ( jQuery.acceptData( elem ) ) {
  11989. key = elem[ data_priv.expando ];
  11990. if ( key && (data = data_priv.cache[ key ]) ) {
  11991. if ( data.events ) {
  11992. for ( type in data.events ) {
  11993. if ( special[ type ] ) {
  11994. jQuery.event.remove( elem, type );
  11995. // This is a shortcut to avoid jQuery.event.remove's overhead
  11996. } else {
  11997. jQuery.removeEvent( elem, type, data.handle );
  11998. }
  11999. }
  12000. }
  12001. if ( data_priv.cache[ key ] ) {
  12002. // Discard any remaining `private` data
  12003. delete data_priv.cache[ key ];
  12004. }
  12005. }
  12006. }
  12007. // Discard any remaining `user` data
  12008. delete data_user.cache[ elem[ data_user.expando ] ];
  12009. }
  12010. }
  12011. });
  12012. jQuery.fn.extend({
  12013. text: function( value ) {
  12014. return access( this, function( value ) {
  12015. return value === undefined ?
  12016. jQuery.text( this ) :
  12017. this.empty().each(function() {
  12018. if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
  12019. this.textContent = value;
  12020. }
  12021. });
  12022. }, null, value, arguments.length );
  12023. },
  12024. append: function() {
  12025. return this.domManip( arguments, function( elem ) {
  12026. if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
  12027. var target = manipulationTarget( this, elem );
  12028. target.appendChild( elem );
  12029. }
  12030. });
  12031. },
  12032. prepend: function() {
  12033. return this.domManip( arguments, function( elem ) {
  12034. if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
  12035. var target = manipulationTarget( this, elem );
  12036. target.insertBefore( elem, target.firstChild );
  12037. }
  12038. });
  12039. },
  12040. before: function() {
  12041. return this.domManip( arguments, function( elem ) {
  12042. if ( this.parentNode ) {
  12043. this.parentNode.insertBefore( elem, this );
  12044. }
  12045. });
  12046. },
  12047. after: function() {
  12048. return this.domManip( arguments, function( elem ) {
  12049. if ( this.parentNode ) {
  12050. this.parentNode.insertBefore( elem, this.nextSibling );
  12051. }
  12052. });
  12053. },
  12054. remove: function( selector, keepData /* Internal Use Only */ ) {
  12055. var elem,
  12056. elems = selector ? jQuery.filter( selector, this ) : this,
  12057. i = 0;
  12058. for ( ; (elem = elems[i]) != null; i++ ) {
  12059. if ( !keepData && elem.nodeType === 1 ) {
  12060. jQuery.cleanData( getAll( elem ) );
  12061. }
  12062. if ( elem.parentNode ) {
  12063. if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {
  12064. setGlobalEval( getAll( elem, "script" ) );
  12065. }
  12066. elem.parentNode.removeChild( elem );
  12067. }
  12068. }
  12069. return this;
  12070. },
  12071. empty: function() {
  12072. var elem,
  12073. i = 0;
  12074. for ( ; (elem = this[i]) != null; i++ ) {
  12075. if ( elem.nodeType === 1 ) {
  12076. // Prevent memory leaks
  12077. jQuery.cleanData( getAll( elem, false ) );
  12078. // Remove any remaining nodes
  12079. elem.textContent = "";
  12080. }
  12081. }
  12082. return this;
  12083. },
  12084. clone: function( dataAndEvents, deepDataAndEvents ) {
  12085. dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
  12086. deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
  12087. return this.map(function() {
  12088. return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
  12089. });
  12090. },
  12091. html: function( value ) {
  12092. return access( this, function( value ) {
  12093. var elem = this[ 0 ] || {},
  12094. i = 0,
  12095. l = this.length;
  12096. if ( value === undefined && elem.nodeType === 1 ) {
  12097. return elem.innerHTML;
  12098. }
  12099. // See if we can take a shortcut and just use innerHTML
  12100. if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
  12101. !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
  12102. value = value.replace( rxhtmlTag, "<$1></$2>" );
  12103. try {
  12104. for ( ; i < l; i++ ) {
  12105. elem = this[ i ] || {};
  12106. // Remove element nodes and prevent memory leaks
  12107. if ( elem.nodeType === 1 ) {
  12108. jQuery.cleanData( getAll( elem, false ) );
  12109. elem.innerHTML = value;
  12110. }
  12111. }
  12112. elem = 0;
  12113. // If using innerHTML throws an exception, use the fallback method
  12114. } catch( e ) {}
  12115. }
  12116. if ( elem ) {
  12117. this.empty().append( value );
  12118. }
  12119. }, null, value, arguments.length );
  12120. },
  12121. replaceWith: function() {
  12122. var arg = arguments[ 0 ];
  12123. // Make the changes, replacing each context element with the new content
  12124. this.domManip( arguments, function( elem ) {
  12125. arg = this.parentNode;
  12126. jQuery.cleanData( getAll( this ) );
  12127. if ( arg ) {
  12128. arg.replaceChild( elem, this );
  12129. }
  12130. });
  12131. // Force removal if there was no new content (e.g., from empty arguments)
  12132. return arg && (arg.length || arg.nodeType) ? this : this.remove();
  12133. },
  12134. detach: function( selector ) {
  12135. return this.remove( selector, true );
  12136. },
  12137. domManip: function( args, callback ) {
  12138. // Flatten any nested arrays
  12139. args = concat.apply( [], args );
  12140. var fragment, first, scripts, hasScripts, node, doc,
  12141. i = 0,
  12142. l = this.length,
  12143. set = this,
  12144. iNoClone = l - 1,
  12145. value = args[ 0 ],
  12146. isFunction = jQuery.isFunction( value );
  12147. // We can't cloneNode fragments that contain checked, in WebKit
  12148. if ( isFunction ||
  12149. ( l > 1 && typeof value === "string" &&
  12150. !support.checkClone && rchecked.test( value ) ) ) {
  12151. return this.each(function( index ) {
  12152. var self = set.eq( index );
  12153. if ( isFunction ) {
  12154. args[ 0 ] = value.call( this, index, self.html() );
  12155. }
  12156. self.domManip( args, callback );
  12157. });
  12158. }
  12159. if ( l ) {
  12160. fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this );
  12161. first = fragment.firstChild;
  12162. if ( fragment.childNodes.length === 1 ) {
  12163. fragment = first;
  12164. }
  12165. if ( first ) {
  12166. scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
  12167. hasScripts = scripts.length;
  12168. // Use the original fragment for the last item instead of the first because it can end up
  12169. // being emptied incorrectly in certain situations (#8070).
  12170. for ( ; i < l; i++ ) {
  12171. node = fragment;
  12172. if ( i !== iNoClone ) {
  12173. node = jQuery.clone( node, true, true );
  12174. // Keep references to cloned scripts for later restoration
  12175. if ( hasScripts ) {
  12176. // Support: QtWebKit
  12177. // jQuery.merge because push.apply(_, arraylike) throws
  12178. jQuery.merge( scripts, getAll( node, "script" ) );
  12179. }
  12180. }
  12181. callback.call( this[ i ], node, i );
  12182. }
  12183. if ( hasScripts ) {
  12184. doc = scripts[ scripts.length - 1 ].ownerDocument;
  12185. // Reenable scripts
  12186. jQuery.map( scripts, restoreScript );
  12187. // Evaluate executable scripts on first document insertion
  12188. for ( i = 0; i < hasScripts; i++ ) {
  12189. node = scripts[ i ];
  12190. if ( rscriptType.test( node.type || "" ) &&
  12191. !data_priv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) {
  12192. if ( node.src ) {
  12193. // Optional AJAX dependency, but won't run scripts if not present
  12194. if ( jQuery._evalUrl ) {
  12195. jQuery._evalUrl( node.src );
  12196. }
  12197. } else {
  12198. jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) );
  12199. }
  12200. }
  12201. }
  12202. }
  12203. }
  12204. }
  12205. return this;
  12206. }
  12207. });
  12208. jQuery.each({
  12209. appendTo: "append",
  12210. prependTo: "prepend",
  12211. insertBefore: "before",
  12212. insertAfter: "after",
  12213. replaceAll: "replaceWith"
  12214. }, function( name, original ) {
  12215. jQuery.fn[ name ] = function( selector ) {
  12216. var elems,
  12217. ret = [],
  12218. insert = jQuery( selector ),
  12219. last = insert.length - 1,
  12220. i = 0;
  12221. for ( ; i <= last; i++ ) {
  12222. elems = i === last ? this : this.clone( true );
  12223. jQuery( insert[ i ] )[ original ]( elems );
  12224. // Support: QtWebKit
  12225. // .get() because push.apply(_, arraylike) throws
  12226. push.apply( ret, elems.get() );
  12227. }
  12228. return this.pushStack( ret );
  12229. };
  12230. });
  12231. var iframe,
  12232. elemdisplay = {};
  12233. /**
  12234. * Retrieve the actual display of a element
  12235. * @param {String} name nodeName of the element
  12236. * @param {Object} doc Document object
  12237. */
  12238. // Called only from within defaultDisplay
  12239. function actualDisplay( name, doc ) {
  12240. var style,
  12241. elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
  12242. // getDefaultComputedStyle might be reliably used only on attached element
  12243. display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ?
  12244. // Use of this method is a temporary fix (more like optimization) until something better comes along,
  12245. // since it was removed from specification and supported only in FF
  12246. style.display : jQuery.css( elem[ 0 ], "display" );
  12247. // We don't have any data stored on the element,
  12248. // so use "detach" method as fast way to get rid of the element
  12249. elem.detach();
  12250. return display;
  12251. }
  12252. /**
  12253. * Try to determine the default display value of an element
  12254. * @param {String} nodeName
  12255. */
  12256. function defaultDisplay( nodeName ) {
  12257. var doc = document,
  12258. display = elemdisplay[ nodeName ];
  12259. if ( !display ) {
  12260. display = actualDisplay( nodeName, doc );
  12261. // If the simple way fails, read from inside an iframe
  12262. if ( display === "none" || !display ) {
  12263. // Use the already-created iframe if possible
  12264. iframe = (iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" )).appendTo( doc.documentElement );
  12265. // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse
  12266. doc = iframe[ 0 ].contentDocument;
  12267. // Support: IE
  12268. doc.write();
  12269. doc.close();
  12270. display = actualDisplay( nodeName, doc );
  12271. iframe.detach();
  12272. }
  12273. // Store the correct default display
  12274. elemdisplay[ nodeName ] = display;
  12275. }
  12276. return display;
  12277. }
  12278. var rmargin = (/^margin/);
  12279. var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
  12280. var getStyles = function( elem ) {
  12281. // Support: IE<=11+, Firefox<=30+ (#15098, #14150)
  12282. // IE throws on elements created in popups
  12283. // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
  12284. if ( elem.ownerDocument.defaultView.opener ) {
  12285. return elem.ownerDocument.defaultView.getComputedStyle( elem, null );
  12286. }
  12287. return window.getComputedStyle( elem, null );
  12288. };
  12289. function curCSS( elem, name, computed ) {
  12290. var width, minWidth, maxWidth, ret,
  12291. style = elem.style;
  12292. computed = computed || getStyles( elem );
  12293. // Support: IE9
  12294. // getPropertyValue is only needed for .css('filter') (#12537)
  12295. if ( computed ) {
  12296. ret = computed.getPropertyValue( name ) || computed[ name ];
  12297. }
  12298. if ( computed ) {
  12299. if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
  12300. ret = jQuery.style( elem, name );
  12301. }
  12302. // Support: iOS < 6
  12303. // A tribute to the "awesome hack by Dean Edwards"
  12304. // iOS < 6 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
  12305. // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
  12306. if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
  12307. // Remember the original values
  12308. width = style.width;
  12309. minWidth = style.minWidth;
  12310. maxWidth = style.maxWidth;
  12311. // Put in the new values to get a computed value out
  12312. style.minWidth = style.maxWidth = style.width = ret;
  12313. ret = computed.width;
  12314. // Revert the changed values
  12315. style.width = width;
  12316. style.minWidth = minWidth;
  12317. style.maxWidth = maxWidth;
  12318. }
  12319. }
  12320. return ret !== undefined ?
  12321. // Support: IE
  12322. // IE returns zIndex value as an integer.
  12323. ret + "" :
  12324. ret;
  12325. }
  12326. function addGetHookIf( conditionFn, hookFn ) {
  12327. // Define the hook, we'll check on the first run if it's really needed.
  12328. return {
  12329. get: function() {
  12330. if ( conditionFn() ) {
  12331. // Hook not needed (or it's not possible to use it due
  12332. // to missing dependency), remove it.
  12333. delete this.get;
  12334. return;
  12335. }
  12336. // Hook needed; redefine it so that the support test is not executed again.
  12337. return (this.get = hookFn).apply( this, arguments );
  12338. }
  12339. };
  12340. }
  12341. (function() {
  12342. var pixelPositionVal, boxSizingReliableVal,
  12343. docElem = document.documentElement,
  12344. container = document.createElement( "div" ),
  12345. div = document.createElement( "div" );
  12346. if ( !div.style ) {
  12347. return;
  12348. }
  12349. // Support: IE9-11+
  12350. // Style of cloned element affects source element cloned (#8908)
  12351. div.style.backgroundClip = "content-box";
  12352. div.cloneNode( true ).style.backgroundClip = "";
  12353. support.clearCloneStyle = div.style.backgroundClip === "content-box";
  12354. container.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;" +
  12355. "position:absolute";
  12356. container.appendChild( div );
  12357. // Executing both pixelPosition & boxSizingReliable tests require only one layout
  12358. // so they're executed at the same time to save the second computation.
  12359. function computePixelPositionAndBoxSizingReliable() {
  12360. div.style.cssText =
  12361. // Support: Firefox<29, Android 2.3
  12362. // Vendor-prefix box-sizing
  12363. "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
  12364. "box-sizing:border-box;display:block;margin-top:1%;top:1%;" +
  12365. "border:1px;padding:1px;width:4px;position:absolute";
  12366. div.innerHTML = "";
  12367. docElem.appendChild( container );
  12368. var divStyle = window.getComputedStyle( div, null );
  12369. pixelPositionVal = divStyle.top !== "1%";
  12370. boxSizingReliableVal = divStyle.width === "4px";
  12371. docElem.removeChild( container );
  12372. }
  12373. // Support: node.js jsdom
  12374. // Don't assume that getComputedStyle is a property of the global object
  12375. if ( window.getComputedStyle ) {
  12376. jQuery.extend( support, {
  12377. pixelPosition: function() {
  12378. // This test is executed only once but we still do memoizing
  12379. // since we can use the boxSizingReliable pre-computing.
  12380. // No need to check if the test was already performed, though.
  12381. computePixelPositionAndBoxSizingReliable();
  12382. return pixelPositionVal;
  12383. },
  12384. boxSizingReliable: function() {
  12385. if ( boxSizingReliableVal == null ) {
  12386. computePixelPositionAndBoxSizingReliable();
  12387. }
  12388. return boxSizingReliableVal;
  12389. },
  12390. reliableMarginRight: function() {
  12391. // Support: Android 2.3
  12392. // Check if div with explicit width and no margin-right incorrectly
  12393. // gets computed margin-right based on width of container. (#3333)
  12394. // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
  12395. // This support function is only executed once so no memoizing is needed.
  12396. var ret,
  12397. marginDiv = div.appendChild( document.createElement( "div" ) );
  12398. // Reset CSS: box-sizing; display; margin; border; padding
  12399. marginDiv.style.cssText = div.style.cssText =
  12400. // Support: Firefox<29, Android 2.3
  12401. // Vendor-prefix box-sizing
  12402. "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
  12403. "box-sizing:content-box;display:block;margin:0;border:0;padding:0";
  12404. marginDiv.style.marginRight = marginDiv.style.width = "0";
  12405. div.style.width = "1px";
  12406. docElem.appendChild( container );
  12407. ret = !parseFloat( window.getComputedStyle( marginDiv, null ).marginRight );
  12408. docElem.removeChild( container );
  12409. div.removeChild( marginDiv );
  12410. return ret;
  12411. }
  12412. });
  12413. }
  12414. })();
  12415. // A method for quickly swapping in/out CSS properties to get correct calculations.
  12416. jQuery.swap = function( elem, options, callback, args ) {
  12417. var ret, name,
  12418. old = {};
  12419. // Remember the old values, and insert the new ones
  12420. for ( name in options ) {
  12421. old[ name ] = elem.style[ name ];
  12422. elem.style[ name ] = options[ name ];
  12423. }
  12424. ret = callback.apply( elem, args || [] );
  12425. // Revert the old values
  12426. for ( name in options ) {
  12427. elem.style[ name ] = old[ name ];
  12428. }
  12429. return ret;
  12430. };
  12431. var
  12432. // Swappable if display is none or starts with table except "table", "table-cell", or "table-caption"
  12433. // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
  12434. rdisplayswap = /^(none|table(?!-c[ea]).+)/,
  12435. rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ),
  12436. rrelNum = new RegExp( "^([+-])=(" + pnum + ")", "i" ),
  12437. cssShow = { position: "absolute", visibility: "hidden", display: "block" },
  12438. cssNormalTransform = {
  12439. letterSpacing: "0",
  12440. fontWeight: "400"
  12441. },
  12442. cssPrefixes = [ "Webkit", "O", "Moz", "ms" ];
  12443. // Return a css property mapped to a potentially vendor prefixed property
  12444. function vendorPropName( style, name ) {
  12445. // Shortcut for names that are not vendor prefixed
  12446. if ( name in style ) {
  12447. return name;
  12448. }
  12449. // Check for vendor prefixed names
  12450. var capName = name[0].toUpperCase() + name.slice(1),
  12451. origName = name,
  12452. i = cssPrefixes.length;
  12453. while ( i-- ) {
  12454. name = cssPrefixes[ i ] + capName;
  12455. if ( name in style ) {
  12456. return name;
  12457. }
  12458. }
  12459. return origName;
  12460. }
  12461. function setPositiveNumber( elem, value, subtract ) {
  12462. var matches = rnumsplit.exec( value );
  12463. return matches ?
  12464. // Guard against undefined "subtract", e.g., when used as in cssHooks
  12465. Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) :
  12466. value;
  12467. }
  12468. function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
  12469. var i = extra === ( isBorderBox ? "border" : "content" ) ?
  12470. // If we already have the right measurement, avoid augmentation
  12471. 4 :
  12472. // Otherwise initialize for horizontal or vertical properties
  12473. name === "width" ? 1 : 0,
  12474. val = 0;
  12475. for ( ; i < 4; i += 2 ) {
  12476. // Both box models exclude margin, so add it if we want it
  12477. if ( extra === "margin" ) {
  12478. val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
  12479. }
  12480. if ( isBorderBox ) {
  12481. // border-box includes padding, so remove it if we want content
  12482. if ( extra === "content" ) {
  12483. val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
  12484. }
  12485. // At this point, extra isn't border nor margin, so remove border
  12486. if ( extra !== "margin" ) {
  12487. val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
  12488. }
  12489. } else {
  12490. // At this point, extra isn't content, so add padding
  12491. val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
  12492. // At this point, extra isn't content nor padding, so add border
  12493. if ( extra !== "padding" ) {
  12494. val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
  12495. }
  12496. }
  12497. }
  12498. return val;
  12499. }
  12500. function getWidthOrHeight( elem, name, extra ) {
  12501. // Start with offset property, which is equivalent to the border-box value
  12502. var valueIsBorderBox = true,
  12503. val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
  12504. styles = getStyles( elem ),
  12505. isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
  12506. // Some non-html elements return undefined for offsetWidth, so check for null/undefined
  12507. // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
  12508. // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
  12509. if ( val <= 0 || val == null ) {
  12510. // Fall back to computed then uncomputed css if necessary
  12511. val = curCSS( elem, name, styles );
  12512. if ( val < 0 || val == null ) {
  12513. val = elem.style[ name ];
  12514. }
  12515. // Computed unit is not pixels. Stop here and return.
  12516. if ( rnumnonpx.test(val) ) {
  12517. return val;
  12518. }
  12519. // Check for style in case a browser which returns unreliable values
  12520. // for getComputedStyle silently falls back to the reliable elem.style
  12521. valueIsBorderBox = isBorderBox &&
  12522. ( support.boxSizingReliable() || val === elem.style[ name ] );
  12523. // Normalize "", auto, and prepare for extra
  12524. val = parseFloat( val ) || 0;
  12525. }
  12526. // Use the active box-sizing model to add/subtract irrelevant styles
  12527. return ( val +
  12528. augmentWidthOrHeight(
  12529. elem,
  12530. name,
  12531. extra || ( isBorderBox ? "border" : "content" ),
  12532. valueIsBorderBox,
  12533. styles
  12534. )
  12535. ) + "px";
  12536. }
  12537. function showHide( elements, show ) {
  12538. var display, elem, hidden,
  12539. values = [],
  12540. index = 0,
  12541. length = elements.length;
  12542. for ( ; index < length; index++ ) {
  12543. elem = elements[ index ];
  12544. if ( !elem.style ) {
  12545. continue;
  12546. }
  12547. values[ index ] = data_priv.get( elem, "olddisplay" );
  12548. display = elem.style.display;
  12549. if ( show ) {
  12550. // Reset the inline display of this element to learn if it is
  12551. // being hidden by cascaded rules or not
  12552. if ( !values[ index ] && display === "none" ) {
  12553. elem.style.display = "";
  12554. }
  12555. // Set elements which have been overridden with display: none
  12556. // in a stylesheet to whatever the default browser style is
  12557. // for such an element
  12558. if ( elem.style.display === "" && isHidden( elem ) ) {
  12559. values[ index ] = data_priv.access( elem, "olddisplay", defaultDisplay(elem.nodeName) );
  12560. }
  12561. } else {
  12562. hidden = isHidden( elem );
  12563. if ( display !== "none" || !hidden ) {
  12564. data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
  12565. }
  12566. }
  12567. }
  12568. // Set the display of most of the elements in a second loop
  12569. // to avoid the constant reflow
  12570. for ( index = 0; index < length; index++ ) {
  12571. elem = elements[ index ];
  12572. if ( !elem.style ) {
  12573. continue;
  12574. }
  12575. if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
  12576. elem.style.display = show ? values[ index ] || "" : "none";
  12577. }
  12578. }
  12579. return elements;
  12580. }
  12581. jQuery.extend({
  12582. // Add in style property hooks for overriding the default
  12583. // behavior of getting and setting a style property
  12584. cssHooks: {
  12585. opacity: {
  12586. get: function( elem, computed ) {
  12587. if ( computed ) {
  12588. // We should always get a number back from opacity
  12589. var ret = curCSS( elem, "opacity" );
  12590. return ret === "" ? "1" : ret;
  12591. }
  12592. }
  12593. }
  12594. },
  12595. // Don't automatically add "px" to these possibly-unitless properties
  12596. cssNumber: {
  12597. "columnCount": true,
  12598. "fillOpacity": true,
  12599. "flexGrow": true,
  12600. "flexShrink": true,
  12601. "fontWeight": true,
  12602. "lineHeight": true,
  12603. "opacity": true,
  12604. "order": true,
  12605. "orphans": true,
  12606. "widows": true,
  12607. "zIndex": true,
  12608. "zoom": true
  12609. },
  12610. // Add in properties whose names you wish to fix before
  12611. // setting or getting the value
  12612. cssProps: {
  12613. "float": "cssFloat"
  12614. },
  12615. // Get and set the style property on a DOM Node
  12616. style: function( elem, name, value, extra ) {
  12617. // Don't set styles on text and comment nodes
  12618. if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
  12619. return;
  12620. }
  12621. // Make sure that we're working with the right name
  12622. var ret, type, hooks,
  12623. origName = jQuery.camelCase( name ),
  12624. style = elem.style;
  12625. name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) );
  12626. // Gets hook for the prefixed version, then unprefixed version
  12627. hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
  12628. // Check if we're setting a value
  12629. if ( value !== undefined ) {
  12630. type = typeof value;
  12631. // Convert "+=" or "-=" to relative numbers (#7345)
  12632. if ( type === "string" && (ret = rrelNum.exec( value )) ) {
  12633. value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) );
  12634. // Fixes bug #9237
  12635. type = "number";
  12636. }
  12637. // Make sure that null and NaN values aren't set (#7116)
  12638. if ( value == null || value !== value ) {
  12639. return;
  12640. }
  12641. // If a number, add 'px' to the (except for certain CSS properties)
  12642. if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
  12643. value += "px";
  12644. }
  12645. // Support: IE9-11+
  12646. // background-* props affect original clone's values
  12647. if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
  12648. style[ name ] = "inherit";
  12649. }
  12650. // If a hook was provided, use that value, otherwise just set the specified value
  12651. if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {
  12652. style[ name ] = value;
  12653. }
  12654. } else {
  12655. // If a hook was provided get the non-computed value from there
  12656. if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
  12657. return ret;
  12658. }
  12659. // Otherwise just get the value from the style object
  12660. return style[ name ];
  12661. }
  12662. },
  12663. css: function( elem, name, extra, styles ) {
  12664. var val, num, hooks,
  12665. origName = jQuery.camelCase( name );
  12666. // Make sure that we're working with the right name
  12667. name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) );
  12668. // Try prefixed name followed by the unprefixed name
  12669. hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
  12670. // If a hook was provided get the computed value from there
  12671. if ( hooks && "get" in hooks ) {
  12672. val = hooks.get( elem, true, extra );
  12673. }
  12674. // Otherwise, if a way to get the computed value exists, use that
  12675. if ( val === undefined ) {
  12676. val = curCSS( elem, name, styles );
  12677. }
  12678. // Convert "normal" to computed value
  12679. if ( val === "normal" && name in cssNormalTransform ) {
  12680. val = cssNormalTransform[ name ];
  12681. }
  12682. // Make numeric if forced or a qualifier was provided and val looks numeric
  12683. if ( extra === "" || extra ) {
  12684. num = parseFloat( val );
  12685. return extra === true || jQuery.isNumeric( num ) ? num || 0 : val;
  12686. }
  12687. return val;
  12688. }
  12689. });
  12690. jQuery.each([ "height", "width" ], function( i, name ) {
  12691. jQuery.cssHooks[ name ] = {
  12692. get: function( elem, computed, extra ) {
  12693. if ( computed ) {
  12694. // Certain elements can have dimension info if we invisibly show them
  12695. // but it must have a current display style that would benefit
  12696. return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ?
  12697. jQuery.swap( elem, cssShow, function() {
  12698. return getWidthOrHeight( elem, name, extra );
  12699. }) :
  12700. getWidthOrHeight( elem, name, extra );
  12701. }
  12702. },
  12703. set: function( elem, value, extra ) {
  12704. var styles = extra && getStyles( elem );
  12705. return setPositiveNumber( elem, value, extra ?
  12706. augmentWidthOrHeight(
  12707. elem,
  12708. name,
  12709. extra,
  12710. jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
  12711. styles
  12712. ) : 0
  12713. );
  12714. }
  12715. };
  12716. });
  12717. // Support: Android 2.3
  12718. jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,
  12719. function( elem, computed ) {
  12720. if ( computed ) {
  12721. return jQuery.swap( elem, { "display": "inline-block" },
  12722. curCSS, [ elem, "marginRight" ] );
  12723. }
  12724. }
  12725. );
  12726. // These hooks are used by animate to expand properties
  12727. jQuery.each({
  12728. margin: "",
  12729. padding: "",
  12730. border: "Width"
  12731. }, function( prefix, suffix ) {
  12732. jQuery.cssHooks[ prefix + suffix ] = {
  12733. expand: function( value ) {
  12734. var i = 0,
  12735. expanded = {},
  12736. // Assumes a single number if not a string
  12737. parts = typeof value === "string" ? value.split(" ") : [ value ];
  12738. for ( ; i < 4; i++ ) {
  12739. expanded[ prefix + cssExpand[ i ] + suffix ] =
  12740. parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
  12741. }
  12742. return expanded;
  12743. }
  12744. };
  12745. if ( !rmargin.test( prefix ) ) {
  12746. jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
  12747. }
  12748. });
  12749. jQuery.fn.extend({
  12750. css: function( name, value ) {
  12751. return access( this, function( elem, name, value ) {
  12752. var styles, len,
  12753. map = {},
  12754. i = 0;
  12755. if ( jQuery.isArray( name ) ) {
  12756. styles = getStyles( elem );
  12757. len = name.length;
  12758. for ( ; i < len; i++ ) {
  12759. map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
  12760. }
  12761. return map;
  12762. }
  12763. return value !== undefined ?
  12764. jQuery.style( elem, name, value ) :
  12765. jQuery.css( elem, name );
  12766. }, name, value, arguments.length > 1 );
  12767. },
  12768. show: function() {
  12769. return showHide( this, true );
  12770. },
  12771. hide: function() {
  12772. return showHide( this );
  12773. },
  12774. toggle: function( state ) {
  12775. if ( typeof state === "boolean" ) {
  12776. return state ? this.show() : this.hide();
  12777. }
  12778. return this.each(function() {
  12779. if ( isHidden( this ) ) {
  12780. jQuery( this ).show();
  12781. } else {
  12782. jQuery( this ).hide();
  12783. }
  12784. });
  12785. }
  12786. });
  12787. function Tween( elem, options, prop, end, easing ) {
  12788. return new Tween.prototype.init( elem, options, prop, end, easing );
  12789. }
  12790. jQuery.Tween = Tween;
  12791. Tween.prototype = {
  12792. constructor: Tween,
  12793. init: function( elem, options, prop, end, easing, unit ) {
  12794. this.elem = elem;
  12795. this.prop = prop;
  12796. this.easing = easing || "swing";
  12797. this.options = options;
  12798. this.start = this.now = this.cur();
  12799. this.end = end;
  12800. this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
  12801. },
  12802. cur: function() {
  12803. var hooks = Tween.propHooks[ this.prop ];
  12804. return hooks && hooks.get ?
  12805. hooks.get( this ) :
  12806. Tween.propHooks._default.get( this );
  12807. },
  12808. run: function( percent ) {
  12809. var eased,
  12810. hooks = Tween.propHooks[ this.prop ];
  12811. if ( this.options.duration ) {
  12812. this.pos = eased = jQuery.easing[ this.easing ](
  12813. percent, this.options.duration * percent, 0, 1, this.options.duration
  12814. );
  12815. } else {
  12816. this.pos = eased = percent;
  12817. }
  12818. this.now = ( this.end - this.start ) * eased + this.start;
  12819. if ( this.options.step ) {
  12820. this.options.step.call( this.elem, this.now, this );
  12821. }
  12822. if ( hooks && hooks.set ) {
  12823. hooks.set( this );
  12824. } else {
  12825. Tween.propHooks._default.set( this );
  12826. }
  12827. return this;
  12828. }
  12829. };
  12830. Tween.prototype.init.prototype = Tween.prototype;
  12831. Tween.propHooks = {
  12832. _default: {
  12833. get: function( tween ) {
  12834. var result;
  12835. if ( tween.elem[ tween.prop ] != null &&
  12836. (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) {
  12837. return tween.elem[ tween.prop ];
  12838. }
  12839. // Passing an empty string as a 3rd parameter to .css will automatically
  12840. // attempt a parseFloat and fallback to a string if the parse fails.
  12841. // Simple values such as "10px" are parsed to Float;
  12842. // complex values such as "rotate(1rad)" are returned as-is.
  12843. result = jQuery.css( tween.elem, tween.prop, "" );
  12844. // Empty strings, null, undefined and "auto" are converted to 0.
  12845. return !result || result === "auto" ? 0 : result;
  12846. },
  12847. set: function( tween ) {
  12848. // Use step hook for back compat.
  12849. // Use cssHook if its there.
  12850. // Use .style if available and use plain properties where available.
  12851. if ( jQuery.fx.step[ tween.prop ] ) {
  12852. jQuery.fx.step[ tween.prop ]( tween );
  12853. } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {
  12854. jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
  12855. } else {
  12856. tween.elem[ tween.prop ] = tween.now;
  12857. }
  12858. }
  12859. }
  12860. };
  12861. // Support: IE9
  12862. // Panic based approach to setting things on disconnected nodes
  12863. Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
  12864. set: function( tween ) {
  12865. if ( tween.elem.nodeType && tween.elem.parentNode ) {
  12866. tween.elem[ tween.prop ] = tween.now;
  12867. }
  12868. }
  12869. };
  12870. jQuery.easing = {
  12871. linear: function( p ) {
  12872. return p;
  12873. },
  12874. swing: function( p ) {
  12875. return 0.5 - Math.cos( p * Math.PI ) / 2;
  12876. }
  12877. };
  12878. jQuery.fx = Tween.prototype.init;
  12879. // Back Compat <1.8 extension point
  12880. jQuery.fx.step = {};
  12881. var
  12882. fxNow, timerId,
  12883. rfxtypes = /^(?:toggle|show|hide)$/,
  12884. rfxnum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ),
  12885. rrun = /queueHooks$/,
  12886. animationPrefilters = [ defaultPrefilter ],
  12887. tweeners = {
  12888. "*": [ function( prop, value ) {
  12889. var tween = this.createTween( prop, value ),
  12890. target = tween.cur(),
  12891. parts = rfxnum.exec( value ),
  12892. unit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
  12893. // Starting value computation is required for potential unit mismatches
  12894. start = ( jQuery.cssNumber[ prop ] || unit !== "px" && +target ) &&
  12895. rfxnum.exec( jQuery.css( tween.elem, prop ) ),
  12896. scale = 1,
  12897. maxIterations = 20;
  12898. if ( start && start[ 3 ] !== unit ) {
  12899. // Trust units reported by jQuery.css
  12900. unit = unit || start[ 3 ];
  12901. // Make sure we update the tween properties later on
  12902. parts = parts || [];
  12903. // Iteratively approximate from a nonzero starting point
  12904. start = +target || 1;
  12905. do {
  12906. // If previous iteration zeroed out, double until we get *something*.
  12907. // Use string for doubling so we don't accidentally see scale as unchanged below
  12908. scale = scale || ".5";
  12909. // Adjust and apply
  12910. start = start / scale;
  12911. jQuery.style( tween.elem, prop, start + unit );
  12912. // Update scale, tolerating zero or NaN from tween.cur(),
  12913. // break the loop if scale is unchanged or perfect, or if we've just had enough
  12914. } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations );
  12915. }
  12916. // Update tween properties
  12917. if ( parts ) {
  12918. start = tween.start = +start || +target || 0;
  12919. tween.unit = unit;
  12920. // If a +=/-= token was provided, we're doing a relative animation
  12921. tween.end = parts[ 1 ] ?
  12922. start + ( parts[ 1 ] + 1 ) * parts[ 2 ] :
  12923. +parts[ 2 ];
  12924. }
  12925. return tween;
  12926. } ]
  12927. };
  12928. // Animations created synchronously will run synchronously
  12929. function createFxNow() {
  12930. setTimeout(function() {
  12931. fxNow = undefined;
  12932. });
  12933. return ( fxNow = jQuery.now() );
  12934. }
  12935. // Generate parameters to create a standard animation
  12936. function genFx( type, includeWidth ) {
  12937. var which,
  12938. i = 0,
  12939. attrs = { height: type };
  12940. // If we include width, step value is 1 to do all cssExpand values,
  12941. // otherwise step value is 2 to skip over Left and Right
  12942. includeWidth = includeWidth ? 1 : 0;
  12943. for ( ; i < 4 ; i += 2 - includeWidth ) {
  12944. which = cssExpand[ i ];
  12945. attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
  12946. }
  12947. if ( includeWidth ) {
  12948. attrs.opacity = attrs.width = type;
  12949. }
  12950. return attrs;
  12951. }
  12952. function createTween( value, prop, animation ) {
  12953. var tween,
  12954. collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ),
  12955. index = 0,
  12956. length = collection.length;
  12957. for ( ; index < length; index++ ) {
  12958. if ( (tween = collection[ index ].call( animation, prop, value )) ) {
  12959. // We're done with this property
  12960. return tween;
  12961. }
  12962. }
  12963. }
  12964. function defaultPrefilter( elem, props, opts ) {
  12965. /* jshint validthis: true */
  12966. var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,
  12967. anim = this,
  12968. orig = {},
  12969. style = elem.style,
  12970. hidden = elem.nodeType && isHidden( elem ),
  12971. dataShow = data_priv.get( elem, "fxshow" );
  12972. // Handle queue: false promises
  12973. if ( !opts.queue ) {
  12974. hooks = jQuery._queueHooks( elem, "fx" );
  12975. if ( hooks.unqueued == null ) {
  12976. hooks.unqueued = 0;
  12977. oldfire = hooks.empty.fire;
  12978. hooks.empty.fire = function() {
  12979. if ( !hooks.unqueued ) {
  12980. oldfire();
  12981. }
  12982. };
  12983. }
  12984. hooks.unqueued++;
  12985. anim.always(function() {
  12986. // Ensure the complete handler is called before this completes
  12987. anim.always(function() {
  12988. hooks.unqueued--;
  12989. if ( !jQuery.queue( elem, "fx" ).length ) {
  12990. hooks.empty.fire();
  12991. }
  12992. });
  12993. });
  12994. }
  12995. // Height/width overflow pass
  12996. if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) {
  12997. // Make sure that nothing sneaks out
  12998. // Record all 3 overflow attributes because IE9-10 do not
  12999. // change the overflow attribute when overflowX and
  13000. // overflowY are set to the same value
  13001. opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
  13002. // Set display property to inline-block for height/width
  13003. // animations on inline elements that are having width/height animated
  13004. display = jQuery.css( elem, "display" );
  13005. // Test default display if display is currently "none"
  13006. checkDisplay = display === "none" ?
  13007. data_priv.get( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display;
  13008. if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) {
  13009. style.display = "inline-block";
  13010. }
  13011. }
  13012. if ( opts.overflow ) {
  13013. style.overflow = "hidden";
  13014. anim.always(function() {
  13015. style.overflow = opts.overflow[ 0 ];
  13016. style.overflowX = opts.overflow[ 1 ];
  13017. style.overflowY = opts.overflow[ 2 ];
  13018. });
  13019. }
  13020. // show/hide pass
  13021. for ( prop in props ) {
  13022. value = props[ prop ];
  13023. if ( rfxtypes.exec( value ) ) {
  13024. delete props[ prop ];
  13025. toggle = toggle || value === "toggle";
  13026. if ( value === ( hidden ? "hide" : "show" ) ) {
  13027. // If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden
  13028. if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
  13029. hidden = true;
  13030. } else {
  13031. continue;
  13032. }
  13033. }
  13034. orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
  13035. // Any non-fx value stops us from restoring the original display value
  13036. } else {
  13037. display = undefined;
  13038. }
  13039. }
  13040. if ( !jQuery.isEmptyObject( orig ) ) {
  13041. if ( dataShow ) {
  13042. if ( "hidden" in dataShow ) {
  13043. hidden = dataShow.hidden;
  13044. }
  13045. } else {
  13046. dataShow = data_priv.access( elem, "fxshow", {} );
  13047. }
  13048. // Store state if its toggle - enables .stop().toggle() to "reverse"
  13049. if ( toggle ) {
  13050. dataShow.hidden = !hidden;
  13051. }
  13052. if ( hidden ) {
  13053. jQuery( elem ).show();
  13054. } else {
  13055. anim.done(function() {
  13056. jQuery( elem ).hide();
  13057. });
  13058. }
  13059. anim.done(function() {
  13060. var prop;
  13061. data_priv.remove( elem, "fxshow" );
  13062. for ( prop in orig ) {
  13063. jQuery.style( elem, prop, orig[ prop ] );
  13064. }
  13065. });
  13066. for ( prop in orig ) {
  13067. tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
  13068. if ( !( prop in dataShow ) ) {
  13069. dataShow[ prop ] = tween.start;
  13070. if ( hidden ) {
  13071. tween.end = tween.start;
  13072. tween.start = prop === "width" || prop === "height" ? 1 : 0;
  13073. }
  13074. }
  13075. }
  13076. // If this is a noop like .hide().hide(), restore an overwritten display value
  13077. } else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) {
  13078. style.display = display;
  13079. }
  13080. }
  13081. function propFilter( props, specialEasing ) {
  13082. var index, name, easing, value, hooks;
  13083. // camelCase, specialEasing and expand cssHook pass
  13084. for ( index in props ) {
  13085. name = jQuery.camelCase( index );
  13086. easing = specialEasing[ name ];
  13087. value = props[ index ];
  13088. if ( jQuery.isArray( value ) ) {
  13089. easing = value[ 1 ];
  13090. value = props[ index ] = value[ 0 ];
  13091. }
  13092. if ( index !== name ) {
  13093. props[ name ] = value;
  13094. delete props[ index ];
  13095. }
  13096. hooks = jQuery.cssHooks[ name ];
  13097. if ( hooks && "expand" in hooks ) {
  13098. value = hooks.expand( value );
  13099. delete props[ name ];
  13100. // Not quite $.extend, this won't overwrite existing keys.
  13101. // Reusing 'index' because we have the correct "name"
  13102. for ( index in value ) {
  13103. if ( !( index in props ) ) {
  13104. props[ index ] = value[ index ];
  13105. specialEasing[ index ] = easing;
  13106. }
  13107. }
  13108. } else {
  13109. specialEasing[ name ] = easing;
  13110. }
  13111. }
  13112. }
  13113. function Animation( elem, properties, options ) {
  13114. var result,
  13115. stopped,
  13116. index = 0,
  13117. length = animationPrefilters.length,
  13118. deferred = jQuery.Deferred().always( function() {
  13119. // Don't match elem in the :animated selector
  13120. delete tick.elem;
  13121. }),
  13122. tick = function() {
  13123. if ( stopped ) {
  13124. return false;
  13125. }
  13126. var currentTime = fxNow || createFxNow(),
  13127. remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
  13128. // Support: Android 2.3
  13129. // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
  13130. temp = remaining / animation.duration || 0,
  13131. percent = 1 - temp,
  13132. index = 0,
  13133. length = animation.tweens.length;
  13134. for ( ; index < length ; index++ ) {
  13135. animation.tweens[ index ].run( percent );
  13136. }
  13137. deferred.notifyWith( elem, [ animation, percent, remaining ]);
  13138. if ( percent < 1 && length ) {
  13139. return remaining;
  13140. } else {
  13141. deferred.resolveWith( elem, [ animation ] );
  13142. return false;
  13143. }
  13144. },
  13145. animation = deferred.promise({
  13146. elem: elem,
  13147. props: jQuery.extend( {}, properties ),
  13148. opts: jQuery.extend( true, { specialEasing: {} }, options ),
  13149. originalProperties: properties,
  13150. originalOptions: options,
  13151. startTime: fxNow || createFxNow(),
  13152. duration: options.duration,
  13153. tweens: [],
  13154. createTween: function( prop, end ) {
  13155. var tween = jQuery.Tween( elem, animation.opts, prop, end,
  13156. animation.opts.specialEasing[ prop ] || animation.opts.easing );
  13157. animation.tweens.push( tween );
  13158. return tween;
  13159. },
  13160. stop: function( gotoEnd ) {
  13161. var index = 0,
  13162. // If we are going to the end, we want to run all the tweens
  13163. // otherwise we skip this part
  13164. length = gotoEnd ? animation.tweens.length : 0;
  13165. if ( stopped ) {
  13166. return this;
  13167. }
  13168. stopped = true;
  13169. for ( ; index < length ; index++ ) {
  13170. animation.tweens[ index ].run( 1 );
  13171. }
  13172. // Resolve when we played the last frame; otherwise, reject
  13173. if ( gotoEnd ) {
  13174. deferred.resolveWith( elem, [ animation, gotoEnd ] );
  13175. } else {
  13176. deferred.rejectWith( elem, [ animation, gotoEnd ] );
  13177. }
  13178. return this;
  13179. }
  13180. }),
  13181. props = animation.props;
  13182. propFilter( props, animation.opts.specialEasing );
  13183. for ( ; index < length ; index++ ) {
  13184. result = animationPrefilters[ index ].call( animation, elem, props, animation.opts );
  13185. if ( result ) {
  13186. return result;
  13187. }
  13188. }
  13189. jQuery.map( props, createTween, animation );
  13190. if ( jQuery.isFunction( animation.opts.start ) ) {
  13191. animation.opts.start.call( elem, animation );
  13192. }
  13193. jQuery.fx.timer(
  13194. jQuery.extend( tick, {
  13195. elem: elem,
  13196. anim: animation,
  13197. queue: animation.opts.queue
  13198. })
  13199. );
  13200. // attach callbacks from options
  13201. return animation.progress( animation.opts.progress )
  13202. .done( animation.opts.done, animation.opts.complete )
  13203. .fail( animation.opts.fail )
  13204. .always( animation.opts.always );
  13205. }
  13206. jQuery.Animation = jQuery.extend( Animation, {
  13207. tweener: function( props, callback ) {
  13208. if ( jQuery.isFunction( props ) ) {
  13209. callback = props;
  13210. props = [ "*" ];
  13211. } else {
  13212. props = props.split(" ");
  13213. }
  13214. var prop,
  13215. index = 0,
  13216. length = props.length;
  13217. for ( ; index < length ; index++ ) {
  13218. prop = props[ index ];
  13219. tweeners[ prop ] = tweeners[ prop ] || [];
  13220. tweeners[ prop ].unshift( callback );
  13221. }
  13222. },
  13223. prefilter: function( callback, prepend ) {
  13224. if ( prepend ) {
  13225. animationPrefilters.unshift( callback );
  13226. } else {
  13227. animationPrefilters.push( callback );
  13228. }
  13229. }
  13230. });
  13231. jQuery.speed = function( speed, easing, fn ) {
  13232. var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
  13233. complete: fn || !fn && easing ||
  13234. jQuery.isFunction( speed ) && speed,
  13235. duration: speed,
  13236. easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
  13237. };
  13238. opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
  13239. opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
  13240. // Normalize opt.queue - true/undefined/null -> "fx"
  13241. if ( opt.queue == null || opt.queue === true ) {
  13242. opt.queue = "fx";
  13243. }
  13244. // Queueing
  13245. opt.old = opt.complete;
  13246. opt.complete = function() {
  13247. if ( jQuery.isFunction( opt.old ) ) {
  13248. opt.old.call( this );
  13249. }
  13250. if ( opt.queue ) {
  13251. jQuery.dequeue( this, opt.queue );
  13252. }
  13253. };
  13254. return opt;
  13255. };
  13256. jQuery.fn.extend({
  13257. fadeTo: function( speed, to, easing, callback ) {
  13258. // Show any hidden elements after setting opacity to 0
  13259. return this.filter( isHidden ).css( "opacity", 0 ).show()
  13260. // Animate to the value specified
  13261. .end().animate({ opacity: to }, speed, easing, callback );
  13262. },
  13263. animate: function( prop, speed, easing, callback ) {
  13264. var empty = jQuery.isEmptyObject( prop ),
  13265. optall = jQuery.speed( speed, easing, callback ),
  13266. doAnimation = function() {
  13267. // Operate on a copy of prop so per-property easing won't be lost
  13268. var anim = Animation( this, jQuery.extend( {}, prop ), optall );
  13269. // Empty animations, or finishing resolves immediately
  13270. if ( empty || data_priv.get( this, "finish" ) ) {
  13271. anim.stop( true );
  13272. }
  13273. };
  13274. doAnimation.finish = doAnimation;
  13275. return empty || optall.queue === false ?
  13276. this.each( doAnimation ) :
  13277. this.queue( optall.queue, doAnimation );
  13278. },
  13279. stop: function( type, clearQueue, gotoEnd ) {
  13280. var stopQueue = function( hooks ) {
  13281. var stop = hooks.stop;
  13282. delete hooks.stop;
  13283. stop( gotoEnd );
  13284. };
  13285. if ( typeof type !== "string" ) {
  13286. gotoEnd = clearQueue;
  13287. clearQueue = type;
  13288. type = undefined;
  13289. }
  13290. if ( clearQueue && type !== false ) {
  13291. this.queue( type || "fx", [] );
  13292. }
  13293. return this.each(function() {
  13294. var dequeue = true,
  13295. index = type != null && type + "queueHooks",
  13296. timers = jQuery.timers,
  13297. data = data_priv.get( this );
  13298. if ( index ) {
  13299. if ( data[ index ] && data[ index ].stop ) {
  13300. stopQueue( data[ index ] );
  13301. }
  13302. } else {
  13303. for ( index in data ) {
  13304. if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
  13305. stopQueue( data[ index ] );
  13306. }
  13307. }
  13308. }
  13309. for ( index = timers.length; index--; ) {
  13310. if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {
  13311. timers[ index ].anim.stop( gotoEnd );
  13312. dequeue = false;
  13313. timers.splice( index, 1 );
  13314. }
  13315. }
  13316. // Start the next in the queue if the last step wasn't forced.
  13317. // Timers currently will call their complete callbacks, which
  13318. // will dequeue but only if they were gotoEnd.
  13319. if ( dequeue || !gotoEnd ) {
  13320. jQuery.dequeue( this, type );
  13321. }
  13322. });
  13323. },
  13324. finish: function( type ) {
  13325. if ( type !== false ) {
  13326. type = type || "fx";
  13327. }
  13328. return this.each(function() {
  13329. var index,
  13330. data = data_priv.get( this ),
  13331. queue = data[ type + "queue" ],
  13332. hooks = data[ type + "queueHooks" ],
  13333. timers = jQuery.timers,
  13334. length = queue ? queue.length : 0;
  13335. // Enable finishing flag on private data
  13336. data.finish = true;
  13337. // Empty the queue first
  13338. jQuery.queue( this, type, [] );
  13339. if ( hooks && hooks.stop ) {
  13340. hooks.stop.call( this, true );
  13341. }
  13342. // Look for any active animations, and finish them
  13343. for ( index = timers.length; index--; ) {
  13344. if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
  13345. timers[ index ].anim.stop( true );
  13346. timers.splice( index, 1 );
  13347. }
  13348. }
  13349. // Look for any animations in the old queue and finish them
  13350. for ( index = 0; index < length; index++ ) {
  13351. if ( queue[ index ] && queue[ index ].finish ) {
  13352. queue[ index ].finish.call( this );
  13353. }
  13354. }
  13355. // Turn off finishing flag
  13356. delete data.finish;
  13357. });
  13358. }
  13359. });
  13360. jQuery.each([ "toggle", "show", "hide" ], function( i, name ) {
  13361. var cssFn = jQuery.fn[ name ];
  13362. jQuery.fn[ name ] = function( speed, easing, callback ) {
  13363. return speed == null || typeof speed === "boolean" ?
  13364. cssFn.apply( this, arguments ) :
  13365. this.animate( genFx( name, true ), speed, easing, callback );
  13366. };
  13367. });
  13368. // Generate shortcuts for custom animations
  13369. jQuery.each({
  13370. slideDown: genFx("show"),
  13371. slideUp: genFx("hide"),
  13372. slideToggle: genFx("toggle"),
  13373. fadeIn: { opacity: "show" },
  13374. fadeOut: { opacity: "hide" },
  13375. fadeToggle: { opacity: "toggle" }
  13376. }, function( name, props ) {
  13377. jQuery.fn[ name ] = function( speed, easing, callback ) {
  13378. return this.animate( props, speed, easing, callback );
  13379. };
  13380. });
  13381. jQuery.timers = [];
  13382. jQuery.fx.tick = function() {
  13383. var timer,
  13384. i = 0,
  13385. timers = jQuery.timers;
  13386. fxNow = jQuery.now();
  13387. for ( ; i < timers.length; i++ ) {
  13388. timer = timers[ i ];
  13389. // Checks the timer has not already been removed
  13390. if ( !timer() && timers[ i ] === timer ) {
  13391. timers.splice( i--, 1 );
  13392. }
  13393. }
  13394. if ( !timers.length ) {
  13395. jQuery.fx.stop();
  13396. }
  13397. fxNow = undefined;
  13398. };
  13399. jQuery.fx.timer = function( timer ) {
  13400. jQuery.timers.push( timer );
  13401. if ( timer() ) {
  13402. jQuery.fx.start();
  13403. } else {
  13404. jQuery.timers.pop();
  13405. }
  13406. };
  13407. jQuery.fx.interval = 13;
  13408. jQuery.fx.start = function() {
  13409. if ( !timerId ) {
  13410. timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval );
  13411. }
  13412. };
  13413. jQuery.fx.stop = function() {
  13414. clearInterval( timerId );
  13415. timerId = null;
  13416. };
  13417. jQuery.fx.speeds = {
  13418. slow: 600,
  13419. fast: 200,
  13420. // Default speed
  13421. _default: 400
  13422. };
  13423. // Based off of the plugin by Clint Helfers, with permission.
  13424. // http://blindsignals.com/index.php/2009/07/jquery-delay/
  13425. jQuery.fn.delay = function( time, type ) {
  13426. time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
  13427. type = type || "fx";
  13428. return this.queue( type, function( next, hooks ) {
  13429. var timeout = setTimeout( next, time );
  13430. hooks.stop = function() {
  13431. clearTimeout( timeout );
  13432. };
  13433. });
  13434. };
  13435. (function() {
  13436. var input = document.createElement( "input" ),
  13437. select = document.createElement( "select" ),
  13438. opt = select.appendChild( document.createElement( "option" ) );
  13439. input.type = "checkbox";
  13440. // Support: iOS<=5.1, Android<=4.2+
  13441. // Default value for a checkbox should be "on"
  13442. support.checkOn = input.value !== "";
  13443. // Support: IE<=11+
  13444. // Must access selectedIndex to make default options select
  13445. support.optSelected = opt.selected;
  13446. // Support: Android<=2.3
  13447. // Options inside disabled selects are incorrectly marked as disabled
  13448. select.disabled = true;
  13449. support.optDisabled = !opt.disabled;
  13450. // Support: IE<=11+
  13451. // An input loses its value after becoming a radio
  13452. input = document.createElement( "input" );
  13453. input.value = "t";
  13454. input.type = "radio";
  13455. support.radioValue = input.value === "t";
  13456. })();
  13457. var nodeHook, boolHook,
  13458. attrHandle = jQuery.expr.attrHandle;
  13459. jQuery.fn.extend({
  13460. attr: function( name, value ) {
  13461. return access( this, jQuery.attr, name, value, arguments.length > 1 );
  13462. },
  13463. removeAttr: function( name ) {
  13464. return this.each(function() {
  13465. jQuery.removeAttr( this, name );
  13466. });
  13467. }
  13468. });
  13469. jQuery.extend({
  13470. attr: function( elem, name, value ) {
  13471. var hooks, ret,
  13472. nType = elem.nodeType;
  13473. // don't get/set attributes on text, comment and attribute nodes
  13474. if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
  13475. return;
  13476. }
  13477. // Fallback to prop when attributes are not supported
  13478. if ( typeof elem.getAttribute === strundefined ) {
  13479. return jQuery.prop( elem, name, value );
  13480. }
  13481. // All attributes are lowercase
  13482. // Grab necessary hook if one is defined
  13483. if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
  13484. name = name.toLowerCase();
  13485. hooks = jQuery.attrHooks[ name ] ||
  13486. ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );
  13487. }
  13488. if ( value !== undefined ) {
  13489. if ( value === null ) {
  13490. jQuery.removeAttr( elem, name );
  13491. } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
  13492. return ret;
  13493. } else {
  13494. elem.setAttribute( name, value + "" );
  13495. return value;
  13496. }
  13497. } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
  13498. return ret;
  13499. } else {
  13500. ret = jQuery.find.attr( elem, name );
  13501. // Non-existent attributes return null, we normalize to undefined
  13502. return ret == null ?
  13503. undefined :
  13504. ret;
  13505. }
  13506. },
  13507. removeAttr: function( elem, value ) {
  13508. var name, propName,
  13509. i = 0,
  13510. attrNames = value && value.match( rnotwhite );
  13511. if ( attrNames && elem.nodeType === 1 ) {
  13512. while ( (name = attrNames[i++]) ) {
  13513. propName = jQuery.propFix[ name ] || name;
  13514. // Boolean attributes get special treatment (#10870)
  13515. if ( jQuery.expr.match.bool.test( name ) ) {
  13516. // Set corresponding property to false
  13517. elem[ propName ] = false;
  13518. }
  13519. elem.removeAttribute( name );
  13520. }
  13521. }
  13522. },
  13523. attrHooks: {
  13524. type: {
  13525. set: function( elem, value ) {
  13526. if ( !support.radioValue && value === "radio" &&
  13527. jQuery.nodeName( elem, "input" ) ) {
  13528. var val = elem.value;
  13529. elem.setAttribute( "type", value );
  13530. if ( val ) {
  13531. elem.value = val;
  13532. }
  13533. return value;
  13534. }
  13535. }
  13536. }
  13537. }
  13538. });
  13539. // Hooks for boolean attributes
  13540. boolHook = {
  13541. set: function( elem, value, name ) {
  13542. if ( value === false ) {
  13543. // Remove boolean attributes when set to false
  13544. jQuery.removeAttr( elem, name );
  13545. } else {
  13546. elem.setAttribute( name, name );
  13547. }
  13548. return name;
  13549. }
  13550. };
  13551. jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
  13552. var getter = attrHandle[ name ] || jQuery.find.attr;
  13553. attrHandle[ name ] = function( elem, name, isXML ) {
  13554. var ret, handle;
  13555. if ( !isXML ) {
  13556. // Avoid an infinite loop by temporarily removing this function from the getter
  13557. handle = attrHandle[ name ];
  13558. attrHandle[ name ] = ret;
  13559. ret = getter( elem, name, isXML ) != null ?
  13560. name.toLowerCase() :
  13561. null;
  13562. attrHandle[ name ] = handle;
  13563. }
  13564. return ret;
  13565. };
  13566. });
  13567. var rfocusable = /^(?:input|select|textarea|button)$/i;
  13568. jQuery.fn.extend({
  13569. prop: function( name, value ) {
  13570. return access( this, jQuery.prop, name, value, arguments.length > 1 );
  13571. },
  13572. removeProp: function( name ) {
  13573. return this.each(function() {
  13574. delete this[ jQuery.propFix[ name ] || name ];
  13575. });
  13576. }
  13577. });
  13578. jQuery.extend({
  13579. propFix: {
  13580. "for": "htmlFor",
  13581. "class": "className"
  13582. },
  13583. prop: function( elem, name, value ) {
  13584. var ret, hooks, notxml,
  13585. nType = elem.nodeType;
  13586. // Don't get/set properties on text, comment and attribute nodes
  13587. if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
  13588. return;
  13589. }
  13590. notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
  13591. if ( notxml ) {
  13592. // Fix name and attach hooks
  13593. name = jQuery.propFix[ name ] || name;
  13594. hooks = jQuery.propHooks[ name ];
  13595. }
  13596. if ( value !== undefined ) {
  13597. return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ?
  13598. ret :
  13599. ( elem[ name ] = value );
  13600. } else {
  13601. return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ?
  13602. ret :
  13603. elem[ name ];
  13604. }
  13605. },
  13606. propHooks: {
  13607. tabIndex: {
  13608. get: function( elem ) {
  13609. return elem.hasAttribute( "tabindex" ) || rfocusable.test( elem.nodeName ) || elem.href ?
  13610. elem.tabIndex :
  13611. -1;
  13612. }
  13613. }
  13614. }
  13615. });
  13616. if ( !support.optSelected ) {
  13617. jQuery.propHooks.selected = {
  13618. get: function( elem ) {
  13619. var parent = elem.parentNode;
  13620. if ( parent && parent.parentNode ) {
  13621. parent.parentNode.selectedIndex;
  13622. }
  13623. return null;
  13624. }
  13625. };
  13626. }
  13627. jQuery.each([
  13628. "tabIndex",
  13629. "readOnly",
  13630. "maxLength",
  13631. "cellSpacing",
  13632. "cellPadding",
  13633. "rowSpan",
  13634. "colSpan",
  13635. "useMap",
  13636. "frameBorder",
  13637. "contentEditable"
  13638. ], function() {
  13639. jQuery.propFix[ this.toLowerCase() ] = this;
  13640. });
  13641. var rclass = /[\t\r\n\f]/g;
  13642. jQuery.fn.extend({
  13643. addClass: function( value ) {
  13644. var classes, elem, cur, clazz, j, finalValue,
  13645. proceed = typeof value === "string" && value,
  13646. i = 0,
  13647. len = this.length;
  13648. if ( jQuery.isFunction( value ) ) {
  13649. return this.each(function( j ) {
  13650. jQuery( this ).addClass( value.call( this, j, this.className ) );
  13651. });
  13652. }
  13653. if ( proceed ) {
  13654. // The disjunction here is for better compressibility (see removeClass)
  13655. classes = ( value || "" ).match( rnotwhite ) || [];
  13656. for ( ; i < len; i++ ) {
  13657. elem = this[ i ];
  13658. cur = elem.nodeType === 1 && ( elem.className ?
  13659. ( " " + elem.className + " " ).replace( rclass, " " ) :
  13660. " "
  13661. );
  13662. if ( cur ) {
  13663. j = 0;
  13664. while ( (clazz = classes[j++]) ) {
  13665. if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
  13666. cur += clazz + " ";
  13667. }
  13668. }
  13669. // only assign if different to avoid unneeded rendering.
  13670. finalValue = jQuery.trim( cur );
  13671. if ( elem.className !== finalValue ) {
  13672. elem.className = finalValue;
  13673. }
  13674. }
  13675. }
  13676. }
  13677. return this;
  13678. },
  13679. removeClass: function( value ) {
  13680. var classes, elem, cur, clazz, j, finalValue,
  13681. proceed = arguments.length === 0 || typeof value === "string" && value,
  13682. i = 0,
  13683. len = this.length;
  13684. if ( jQuery.isFunction( value ) ) {
  13685. return this.each(function( j ) {
  13686. jQuery( this ).removeClass( value.call( this, j, this.className ) );
  13687. });
  13688. }
  13689. if ( proceed ) {
  13690. classes = ( value || "" ).match( rnotwhite ) || [];
  13691. for ( ; i < len; i++ ) {
  13692. elem = this[ i ];
  13693. // This expression is here for better compressibility (see addClass)
  13694. cur = elem.nodeType === 1 && ( elem.className ?
  13695. ( " " + elem.className + " " ).replace( rclass, " " ) :
  13696. ""
  13697. );
  13698. if ( cur ) {
  13699. j = 0;
  13700. while ( (clazz = classes[j++]) ) {
  13701. // Remove *all* instances
  13702. while ( cur.indexOf( " " + clazz + " " ) >= 0 ) {
  13703. cur = cur.replace( " " + clazz + " ", " " );
  13704. }
  13705. }
  13706. // Only assign if different to avoid unneeded rendering.
  13707. finalValue = value ? jQuery.trim( cur ) : "";
  13708. if ( elem.className !== finalValue ) {
  13709. elem.className = finalValue;
  13710. }
  13711. }
  13712. }
  13713. }
  13714. return this;
  13715. },
  13716. toggleClass: function( value, stateVal ) {
  13717. var type = typeof value;
  13718. if ( typeof stateVal === "boolean" && type === "string" ) {
  13719. return stateVal ? this.addClass( value ) : this.removeClass( value );
  13720. }
  13721. if ( jQuery.isFunction( value ) ) {
  13722. return this.each(function( i ) {
  13723. jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
  13724. });
  13725. }
  13726. return this.each(function() {
  13727. if ( type === "string" ) {
  13728. // Toggle individual class names
  13729. var className,
  13730. i = 0,
  13731. self = jQuery( this ),
  13732. classNames = value.match( rnotwhite ) || [];
  13733. while ( (className = classNames[ i++ ]) ) {
  13734. // Check each className given, space separated list
  13735. if ( self.hasClass( className ) ) {
  13736. self.removeClass( className );
  13737. } else {
  13738. self.addClass( className );
  13739. }
  13740. }
  13741. // Toggle whole class name
  13742. } else if ( type === strundefined || type === "boolean" ) {
  13743. if ( this.className ) {
  13744. // store className if set
  13745. data_priv.set( this, "__className__", this.className );
  13746. }
  13747. // If the element has a class name or if we're passed `false`,
  13748. // then remove the whole classname (if there was one, the above saved it).
  13749. // Otherwise bring back whatever was previously saved (if anything),
  13750. // falling back to the empty string if nothing was stored.
  13751. this.className = this.className || value === false ? "" : data_priv.get( this, "__className__" ) || "";
  13752. }
  13753. });
  13754. },
  13755. hasClass: function( selector ) {
  13756. var className = " " + selector + " ",
  13757. i = 0,
  13758. l = this.length;
  13759. for ( ; i < l; i++ ) {
  13760. if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) {
  13761. return true;
  13762. }
  13763. }
  13764. return false;
  13765. }
  13766. });
  13767. var rreturn = /\r/g;
  13768. jQuery.fn.extend({
  13769. val: function( value ) {
  13770. var hooks, ret, isFunction,
  13771. elem = this[0];
  13772. if ( !arguments.length ) {
  13773. if ( elem ) {
  13774. hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];
  13775. if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
  13776. return ret;
  13777. }
  13778. ret = elem.value;
  13779. return typeof ret === "string" ?
  13780. // Handle most common string cases
  13781. ret.replace(rreturn, "") :
  13782. // Handle cases where value is null/undef or number
  13783. ret == null ? "" : ret;
  13784. }
  13785. return;
  13786. }
  13787. isFunction = jQuery.isFunction( value );
  13788. return this.each(function( i ) {
  13789. var val;
  13790. if ( this.nodeType !== 1 ) {
  13791. return;
  13792. }
  13793. if ( isFunction ) {
  13794. val = value.call( this, i, jQuery( this ).val() );
  13795. } else {
  13796. val = value;
  13797. }
  13798. // Treat null/undefined as ""; convert numbers to string
  13799. if ( val == null ) {
  13800. val = "";
  13801. } else if ( typeof val === "number" ) {
  13802. val += "";
  13803. } else if ( jQuery.isArray( val ) ) {
  13804. val = jQuery.map( val, function( value ) {
  13805. return value == null ? "" : value + "";
  13806. });
  13807. }
  13808. hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
  13809. // If set returns undefined, fall back to normal setting
  13810. if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
  13811. this.value = val;
  13812. }
  13813. });
  13814. }
  13815. });
  13816. jQuery.extend({
  13817. valHooks: {
  13818. option: {
  13819. get: function( elem ) {
  13820. var val = jQuery.find.attr( elem, "value" );
  13821. return val != null ?
  13822. val :
  13823. // Support: IE10-11+
  13824. // option.text throws exceptions (#14686, #14858)
  13825. jQuery.trim( jQuery.text( elem ) );
  13826. }
  13827. },
  13828. select: {
  13829. get: function( elem ) {
  13830. var value, option,
  13831. options = elem.options,
  13832. index = elem.selectedIndex,
  13833. one = elem.type === "select-one" || index < 0,
  13834. values = one ? null : [],
  13835. max = one ? index + 1 : options.length,
  13836. i = index < 0 ?
  13837. max :
  13838. one ? index : 0;
  13839. // Loop through all the selected options
  13840. for ( ; i < max; i++ ) {
  13841. option = options[ i ];
  13842. // IE6-9 doesn't update selected after form reset (#2551)
  13843. if ( ( option.selected || i === index ) &&
  13844. // Don't return options that are disabled or in a disabled optgroup
  13845. ( support.optDisabled ? !option.disabled : option.getAttribute( "disabled" ) === null ) &&
  13846. ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
  13847. // Get the specific value for the option
  13848. value = jQuery( option ).val();
  13849. // We don't need an array for one selects
  13850. if ( one ) {
  13851. return value;
  13852. }
  13853. // Multi-Selects return an array
  13854. values.push( value );
  13855. }
  13856. }
  13857. return values;
  13858. },
  13859. set: function( elem, value ) {
  13860. var optionSet, option,
  13861. options = elem.options,
  13862. values = jQuery.makeArray( value ),
  13863. i = options.length;
  13864. while ( i-- ) {
  13865. option = options[ i ];
  13866. if ( (option.selected = jQuery.inArray( option.value, values ) >= 0) ) {
  13867. optionSet = true;
  13868. }
  13869. }
  13870. // Force browsers to behave consistently when non-matching value is set
  13871. if ( !optionSet ) {
  13872. elem.selectedIndex = -1;
  13873. }
  13874. return values;
  13875. }
  13876. }
  13877. }
  13878. });
  13879. // Radios and checkboxes getter/setter
  13880. jQuery.each([ "radio", "checkbox" ], function() {
  13881. jQuery.valHooks[ this ] = {
  13882. set: function( elem, value ) {
  13883. if ( jQuery.isArray( value ) ) {
  13884. return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
  13885. }
  13886. }
  13887. };
  13888. if ( !support.checkOn ) {
  13889. jQuery.valHooks[ this ].get = function( elem ) {
  13890. return elem.getAttribute("value") === null ? "on" : elem.value;
  13891. };
  13892. }
  13893. });
  13894. // Return jQuery for attributes-only inclusion
  13895. jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
  13896. "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
  13897. "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
  13898. // Handle event binding
  13899. jQuery.fn[ name ] = function( data, fn ) {
  13900. return arguments.length > 0 ?
  13901. this.on( name, null, data, fn ) :
  13902. this.trigger( name );
  13903. };
  13904. });
  13905. jQuery.fn.extend({
  13906. hover: function( fnOver, fnOut ) {
  13907. return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
  13908. },
  13909. bind: function( types, data, fn ) {
  13910. return this.on( types, null, data, fn );
  13911. },
  13912. unbind: function( types, fn ) {
  13913. return this.off( types, null, fn );
  13914. },
  13915. delegate: function( selector, types, data, fn ) {
  13916. return this.on( types, selector, data, fn );
  13917. },
  13918. undelegate: function( selector, types, fn ) {
  13919. // ( namespace ) or ( selector, types [, fn] )
  13920. return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn );
  13921. }
  13922. });
  13923. var nonce = jQuery.now();
  13924. var rquery = (/\?/);
  13925. // Support: Android 2.3
  13926. // Workaround failure to string-cast null input
  13927. jQuery.parseJSON = function( data ) {
  13928. return JSON.parse( data + "" );
  13929. };
  13930. // Cross-browser xml parsing
  13931. jQuery.parseXML = function( data ) {
  13932. var xml, tmp;
  13933. if ( !data || typeof data !== "string" ) {
  13934. return null;
  13935. }
  13936. // Support: IE9
  13937. try {
  13938. tmp = new DOMParser();
  13939. xml = tmp.parseFromString( data, "text/xml" );
  13940. } catch ( e ) {
  13941. xml = undefined;
  13942. }
  13943. if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
  13944. jQuery.error( "Invalid XML: " + data );
  13945. }
  13946. return xml;
  13947. };
  13948. var
  13949. rhash = /#.*$/,
  13950. rts = /([?&])_=[^&]*/,
  13951. rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
  13952. // #7653, #8125, #8152: local protocol detection
  13953. rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
  13954. rnoContent = /^(?:GET|HEAD)$/,
  13955. rprotocol = /^\/\//,
  13956. rurl = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,
  13957. /* Prefilters
  13958. * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
  13959. * 2) These are called:
  13960. * - BEFORE asking for a transport
  13961. * - AFTER param serialization (s.data is a string if s.processData is true)
  13962. * 3) key is the dataType
  13963. * 4) the catchall symbol "*" can be used
  13964. * 5) execution will start with transport dataType and THEN continue down to "*" if needed
  13965. */
  13966. prefilters = {},
  13967. /* Transports bindings
  13968. * 1) key is the dataType
  13969. * 2) the catchall symbol "*" can be used
  13970. * 3) selection will start with transport dataType and THEN go to "*" if needed
  13971. */
  13972. transports = {},
  13973. // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
  13974. allTypes = "*/".concat( "*" ),
  13975. // Document location
  13976. ajaxLocation = window.location.href,
  13977. // Segment location into parts
  13978. ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
  13979. // Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
  13980. function addToPrefiltersOrTransports( structure ) {
  13981. // dataTypeExpression is optional and defaults to "*"
  13982. return function( dataTypeExpression, func ) {
  13983. if ( typeof dataTypeExpression !== "string" ) {
  13984. func = dataTypeExpression;
  13985. dataTypeExpression = "*";
  13986. }
  13987. var dataType,
  13988. i = 0,
  13989. dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];
  13990. if ( jQuery.isFunction( func ) ) {
  13991. // For each dataType in the dataTypeExpression
  13992. while ( (dataType = dataTypes[i++]) ) {
  13993. // Prepend if requested
  13994. if ( dataType[0] === "+" ) {
  13995. dataType = dataType.slice( 1 ) || "*";
  13996. (structure[ dataType ] = structure[ dataType ] || []).unshift( func );
  13997. // Otherwise append
  13998. } else {
  13999. (structure[ dataType ] = structure[ dataType ] || []).push( func );
  14000. }
  14001. }
  14002. }
  14003. };
  14004. }
  14005. // Base inspection function for prefilters and transports
  14006. function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
  14007. var inspected = {},
  14008. seekingTransport = ( structure === transports );
  14009. function inspect( dataType ) {
  14010. var selected;
  14011. inspected[ dataType ] = true;
  14012. jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
  14013. var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
  14014. if ( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) {
  14015. options.dataTypes.unshift( dataTypeOrTransport );
  14016. inspect( dataTypeOrTransport );
  14017. return false;
  14018. } else if ( seekingTransport ) {
  14019. return !( selected = dataTypeOrTransport );
  14020. }
  14021. });
  14022. return selected;
  14023. }
  14024. return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
  14025. }
  14026. // A special extend for ajax options
  14027. // that takes "flat" options (not to be deep extended)
  14028. // Fixes #9887
  14029. function ajaxExtend( target, src ) {
  14030. var key, deep,
  14031. flatOptions = jQuery.ajaxSettings.flatOptions || {};
  14032. for ( key in src ) {
  14033. if ( src[ key ] !== undefined ) {
  14034. ( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ];
  14035. }
  14036. }
  14037. if ( deep ) {
  14038. jQuery.extend( true, target, deep );
  14039. }
  14040. return target;
  14041. }
  14042. /* Handles responses to an ajax request:
  14043. * - finds the right dataType (mediates between content-type and expected dataType)
  14044. * - returns the corresponding response
  14045. */
  14046. function ajaxHandleResponses( s, jqXHR, responses ) {
  14047. var ct, type, finalDataType, firstDataType,
  14048. contents = s.contents,
  14049. dataTypes = s.dataTypes;
  14050. // Remove auto dataType and get content-type in the process
  14051. while ( dataTypes[ 0 ] === "*" ) {
  14052. dataTypes.shift();
  14053. if ( ct === undefined ) {
  14054. ct = s.mimeType || jqXHR.getResponseHeader("Content-Type");
  14055. }
  14056. }
  14057. // Check if we're dealing with a known content-type
  14058. if ( ct ) {
  14059. for ( type in contents ) {
  14060. if ( contents[ type ] && contents[ type ].test( ct ) ) {
  14061. dataTypes.unshift( type );
  14062. break;
  14063. }
  14064. }
  14065. }
  14066. // Check to see if we have a response for the expected dataType
  14067. if ( dataTypes[ 0 ] in responses ) {
  14068. finalDataType = dataTypes[ 0 ];
  14069. } else {
  14070. // Try convertible dataTypes
  14071. for ( type in responses ) {
  14072. if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) {
  14073. finalDataType = type;
  14074. break;
  14075. }
  14076. if ( !firstDataType ) {
  14077. firstDataType = type;
  14078. }
  14079. }
  14080. // Or just use first one
  14081. finalDataType = finalDataType || firstDataType;
  14082. }
  14083. // If we found a dataType
  14084. // We add the dataType to the list if needed
  14085. // and return the corresponding response
  14086. if ( finalDataType ) {
  14087. if ( finalDataType !== dataTypes[ 0 ] ) {
  14088. dataTypes.unshift( finalDataType );
  14089. }
  14090. return responses[ finalDataType ];
  14091. }
  14092. }
  14093. /* Chain conversions given the request and the original response
  14094. * Also sets the responseXXX fields on the jqXHR instance
  14095. */
  14096. function ajaxConvert( s, response, jqXHR, isSuccess ) {
  14097. var conv2, current, conv, tmp, prev,
  14098. converters = {},
  14099. // Work with a copy of dataTypes in case we need to modify it for conversion
  14100. dataTypes = s.dataTypes.slice();
  14101. // Create converters map with lowercased keys
  14102. if ( dataTypes[ 1 ] ) {
  14103. for ( conv in s.converters ) {
  14104. converters[ conv.toLowerCase() ] = s.converters[ conv ];
  14105. }
  14106. }
  14107. current = dataTypes.shift();
  14108. // Convert to each sequential dataType
  14109. while ( current ) {
  14110. if ( s.responseFields[ current ] ) {
  14111. jqXHR[ s.responseFields[ current ] ] = response;
  14112. }
  14113. // Apply the dataFilter if provided
  14114. if ( !prev && isSuccess && s.dataFilter ) {
  14115. response = s.dataFilter( response, s.dataType );
  14116. }
  14117. prev = current;
  14118. current = dataTypes.shift();
  14119. if ( current ) {
  14120. // There's only work to do if current dataType is non-auto
  14121. if ( current === "*" ) {
  14122. current = prev;
  14123. // Convert response if prev dataType is non-auto and differs from current
  14124. } else if ( prev !== "*" && prev !== current ) {
  14125. // Seek a direct converter
  14126. conv = converters[ prev + " " + current ] || converters[ "* " + current ];
  14127. // If none found, seek a pair
  14128. if ( !conv ) {
  14129. for ( conv2 in converters ) {
  14130. // If conv2 outputs current
  14131. tmp = conv2.split( " " );
  14132. if ( tmp[ 1 ] === current ) {
  14133. // If prev can be converted to accepted input
  14134. conv = converters[ prev + " " + tmp[ 0 ] ] ||
  14135. converters[ "* " + tmp[ 0 ] ];
  14136. if ( conv ) {
  14137. // Condense equivalence converters
  14138. if ( conv === true ) {
  14139. conv = converters[ conv2 ];
  14140. // Otherwise, insert the intermediate dataType
  14141. } else if ( converters[ conv2 ] !== true ) {
  14142. current = tmp[ 0 ];
  14143. dataTypes.unshift( tmp[ 1 ] );
  14144. }
  14145. break;
  14146. }
  14147. }
  14148. }
  14149. }
  14150. // Apply converter (if not an equivalence)
  14151. if ( conv !== true ) {
  14152. // Unless errors are allowed to bubble, catch and return them
  14153. if ( conv && s[ "throws" ] ) {
  14154. response = conv( response );
  14155. } else {
  14156. try {
  14157. response = conv( response );
  14158. } catch ( e ) {
  14159. return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current };
  14160. }
  14161. }
  14162. }
  14163. }
  14164. }
  14165. }
  14166. return { state: "success", data: response };
  14167. }
  14168. jQuery.extend({
  14169. // Counter for holding the number of active queries
  14170. active: 0,
  14171. // Last-Modified header cache for next request
  14172. lastModified: {},
  14173. etag: {},
  14174. ajaxSettings: {
  14175. url: ajaxLocation,
  14176. type: "GET",
  14177. isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
  14178. global: true,
  14179. processData: true,
  14180. async: true,
  14181. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  14182. /*
  14183. timeout: 0,
  14184. data: null,
  14185. dataType: null,
  14186. username: null,
  14187. password: null,
  14188. cache: null,
  14189. throws: false,
  14190. traditional: false,
  14191. headers: {},
  14192. */
  14193. accepts: {
  14194. "*": allTypes,
  14195. text: "text/plain",
  14196. html: "text/html",
  14197. xml: "application/xml, text/xml",
  14198. json: "application/json, text/javascript"
  14199. },
  14200. contents: {
  14201. xml: /xml/,
  14202. html: /html/,
  14203. json: /json/
  14204. },
  14205. responseFields: {
  14206. xml: "responseXML",
  14207. text: "responseText",
  14208. json: "responseJSON"
  14209. },
  14210. // Data converters
  14211. // Keys separate source (or catchall "*") and destination types with a single space
  14212. converters: {
  14213. // Convert anything to text
  14214. "* text": String,
  14215. // Text to html (true = no transformation)
  14216. "text html": true,
  14217. // Evaluate text as a json expression
  14218. "text json": jQuery.parseJSON,
  14219. // Parse text as xml
  14220. "text xml": jQuery.parseXML
  14221. },
  14222. // For options that shouldn't be deep extended:
  14223. // you can add your own custom options here if
  14224. // and when you create one that shouldn't be
  14225. // deep extended (see ajaxExtend)
  14226. flatOptions: {
  14227. url: true,
  14228. context: true
  14229. }
  14230. },
  14231. // Creates a full fledged settings object into target
  14232. // with both ajaxSettings and settings fields.
  14233. // If target is omitted, writes into ajaxSettings.
  14234. ajaxSetup: function( target, settings ) {
  14235. return settings ?
  14236. // Building a settings object
  14237. ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
  14238. // Extending ajaxSettings
  14239. ajaxExtend( jQuery.ajaxSettings, target );
  14240. },
  14241. ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
  14242. ajaxTransport: addToPrefiltersOrTransports( transports ),
  14243. // Main method
  14244. ajax: function( url, options ) {
  14245. // If url is an object, simulate pre-1.5 signature
  14246. if ( typeof url === "object" ) {
  14247. options = url;
  14248. url = undefined;
  14249. }
  14250. // Force options to be an object
  14251. options = options || {};
  14252. var transport,
  14253. // URL without anti-cache param
  14254. cacheURL,
  14255. // Response headers
  14256. responseHeadersString,
  14257. responseHeaders,
  14258. // timeout handle
  14259. timeoutTimer,
  14260. // Cross-domain detection vars
  14261. parts,
  14262. // To know if global events are to be dispatched
  14263. fireGlobals,
  14264. // Loop variable
  14265. i,
  14266. // Create the final options object
  14267. s = jQuery.ajaxSetup( {}, options ),
  14268. // Callbacks context
  14269. callbackContext = s.context || s,
  14270. // Context for global events is callbackContext if it is a DOM node or jQuery collection
  14271. globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ?
  14272. jQuery( callbackContext ) :
  14273. jQuery.event,
  14274. // Deferreds
  14275. deferred = jQuery.Deferred(),
  14276. completeDeferred = jQuery.Callbacks("once memory"),
  14277. // Status-dependent callbacks
  14278. statusCode = s.statusCode || {},
  14279. // Headers (they are sent all at once)
  14280. requestHeaders = {},
  14281. requestHeadersNames = {},
  14282. // The jqXHR state
  14283. state = 0,
  14284. // Default abort message
  14285. strAbort = "canceled",
  14286. // Fake xhr
  14287. jqXHR = {
  14288. readyState: 0,
  14289. // Builds headers hashtable if needed
  14290. getResponseHeader: function( key ) {
  14291. var match;
  14292. if ( state === 2 ) {
  14293. if ( !responseHeaders ) {
  14294. responseHeaders = {};
  14295. while ( (match = rheaders.exec( responseHeadersString )) ) {
  14296. responseHeaders[ match[1].toLowerCase() ] = match[ 2 ];
  14297. }
  14298. }
  14299. match = responseHeaders[ key.toLowerCase() ];
  14300. }
  14301. return match == null ? null : match;
  14302. },
  14303. // Raw string
  14304. getAllResponseHeaders: function() {
  14305. return state === 2 ? responseHeadersString : null;
  14306. },
  14307. // Caches the header
  14308. setRequestHeader: function( name, value ) {
  14309. var lname = name.toLowerCase();
  14310. if ( !state ) {
  14311. name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
  14312. requestHeaders[ name ] = value;
  14313. }
  14314. return this;
  14315. },
  14316. // Overrides response content-type header
  14317. overrideMimeType: function( type ) {
  14318. if ( !state ) {
  14319. s.mimeType = type;
  14320. }
  14321. return this;
  14322. },
  14323. // Status-dependent callbacks
  14324. statusCode: function( map ) {
  14325. var code;
  14326. if ( map ) {
  14327. if ( state < 2 ) {
  14328. for ( code in map ) {
  14329. // Lazy-add the new callback in a way that preserves old ones
  14330. statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
  14331. }
  14332. } else {
  14333. // Execute the appropriate callbacks
  14334. jqXHR.always( map[ jqXHR.status ] );
  14335. }
  14336. }
  14337. return this;
  14338. },
  14339. // Cancel the request
  14340. abort: function( statusText ) {
  14341. var finalText = statusText || strAbort;
  14342. if ( transport ) {
  14343. transport.abort( finalText );
  14344. }
  14345. done( 0, finalText );
  14346. return this;
  14347. }
  14348. };
  14349. // Attach deferreds
  14350. deferred.promise( jqXHR ).complete = completeDeferred.add;
  14351. jqXHR.success = jqXHR.done;
  14352. jqXHR.error = jqXHR.fail;
  14353. // Remove hash character (#7531: and string promotion)
  14354. // Add protocol if not provided (prefilters might expect it)
  14355. // Handle falsy url in the settings object (#10093: consistency with old signature)
  14356. // We also use the url parameter if available
  14357. s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" )
  14358. .replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
  14359. // Alias method option to type as per ticket #12004
  14360. s.type = options.method || options.type || s.method || s.type;
  14361. // Extract dataTypes list
  14362. s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ];
  14363. // A cross-domain request is in order when we have a protocol:host:port mismatch
  14364. if ( s.crossDomain == null ) {
  14365. parts = rurl.exec( s.url.toLowerCase() );
  14366. s.crossDomain = !!( parts &&
  14367. ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
  14368. ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !==
  14369. ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) )
  14370. );
  14371. }
  14372. // Convert data if not already a string
  14373. if ( s.data && s.processData && typeof s.data !== "string" ) {
  14374. s.data = jQuery.param( s.data, s.traditional );
  14375. }
  14376. // Apply prefilters
  14377. inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
  14378. // If request was aborted inside a prefilter, stop there
  14379. if ( state === 2 ) {
  14380. return jqXHR;
  14381. }
  14382. // We can fire global events as of now if asked to
  14383. // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
  14384. fireGlobals = jQuery.event && s.global;
  14385. // Watch for a new set of requests
  14386. if ( fireGlobals && jQuery.active++ === 0 ) {
  14387. jQuery.event.trigger("ajaxStart");
  14388. }
  14389. // Uppercase the type
  14390. s.type = s.type.toUpperCase();
  14391. // Determine if request has content
  14392. s.hasContent = !rnoContent.test( s.type );
  14393. // Save the URL in case we're toying with the If-Modified-Since
  14394. // and/or If-None-Match header later on
  14395. cacheURL = s.url;
  14396. // More options handling for requests with no content
  14397. if ( !s.hasContent ) {
  14398. // If data is available, append data to url
  14399. if ( s.data ) {
  14400. cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data );
  14401. // #9682: remove data so that it's not used in an eventual retry
  14402. delete s.data;
  14403. }
  14404. // Add anti-cache in url if needed
  14405. if ( s.cache === false ) {
  14406. s.url = rts.test( cacheURL ) ?
  14407. // If there is already a '_' parameter, set its value
  14408. cacheURL.replace( rts, "$1_=" + nonce++ ) :
  14409. // Otherwise add one to the end
  14410. cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++;
  14411. }
  14412. }
  14413. // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
  14414. if ( s.ifModified ) {
  14415. if ( jQuery.lastModified[ cacheURL ] ) {
  14416. jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
  14417. }
  14418. if ( jQuery.etag[ cacheURL ] ) {
  14419. jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
  14420. }
  14421. }
  14422. // Set the correct header, if data is being sent
  14423. if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
  14424. jqXHR.setRequestHeader( "Content-Type", s.contentType );
  14425. }
  14426. // Set the Accepts header for the server, depending on the dataType
  14427. jqXHR.setRequestHeader(
  14428. "Accept",
  14429. s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?
  14430. s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
  14431. s.accepts[ "*" ]
  14432. );
  14433. // Check for headers option
  14434. for ( i in s.headers ) {
  14435. jqXHR.setRequestHeader( i, s.headers[ i ] );
  14436. }
  14437. // Allow custom headers/mimetypes and early abort
  14438. if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
  14439. // Abort if not done already and return
  14440. return jqXHR.abort();
  14441. }
  14442. // Aborting is no longer a cancellation
  14443. strAbort = "abort";
  14444. // Install callbacks on deferreds
  14445. for ( i in { success: 1, error: 1, complete: 1 } ) {
  14446. jqXHR[ i ]( s[ i ] );
  14447. }
  14448. // Get transport
  14449. transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
  14450. // If no transport, we auto-abort
  14451. if ( !transport ) {
  14452. done( -1, "No Transport" );
  14453. } else {
  14454. jqXHR.readyState = 1;
  14455. // Send global event
  14456. if ( fireGlobals ) {
  14457. globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
  14458. }
  14459. // Timeout
  14460. if ( s.async && s.timeout > 0 ) {
  14461. timeoutTimer = setTimeout(function() {
  14462. jqXHR.abort("timeout");
  14463. }, s.timeout );
  14464. }
  14465. try {
  14466. state = 1;
  14467. transport.send( requestHeaders, done );
  14468. } catch ( e ) {
  14469. // Propagate exception as error if not done
  14470. if ( state < 2 ) {
  14471. done( -1, e );
  14472. // Simply rethrow otherwise
  14473. } else {
  14474. throw e;
  14475. }
  14476. }
  14477. }
  14478. // Callback for when everything is done
  14479. function done( status, nativeStatusText, responses, headers ) {
  14480. var isSuccess, success, error, response, modified,
  14481. statusText = nativeStatusText;
  14482. // Called once
  14483. if ( state === 2 ) {
  14484. return;
  14485. }
  14486. // State is "done" now
  14487. state = 2;
  14488. // Clear timeout if it exists
  14489. if ( timeoutTimer ) {
  14490. clearTimeout( timeoutTimer );
  14491. }
  14492. // Dereference transport for early garbage collection
  14493. // (no matter how long the jqXHR object will be used)
  14494. transport = undefined;
  14495. // Cache response headers
  14496. responseHeadersString = headers || "";
  14497. // Set readyState
  14498. jqXHR.readyState = status > 0 ? 4 : 0;
  14499. // Determine if successful
  14500. isSuccess = status >= 200 && status < 300 || status === 304;
  14501. // Get response data
  14502. if ( responses ) {
  14503. response = ajaxHandleResponses( s, jqXHR, responses );
  14504. }
  14505. // Convert no matter what (that way responseXXX fields are always set)
  14506. response = ajaxConvert( s, response, jqXHR, isSuccess );
  14507. // If successful, handle type chaining
  14508. if ( isSuccess ) {
  14509. // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
  14510. if ( s.ifModified ) {
  14511. modified = jqXHR.getResponseHeader("Last-Modified");
  14512. if ( modified ) {
  14513. jQuery.lastModified[ cacheURL ] = modified;
  14514. }
  14515. modified = jqXHR.getResponseHeader("etag");
  14516. if ( modified ) {
  14517. jQuery.etag[ cacheURL ] = modified;
  14518. }
  14519. }
  14520. // if no content
  14521. if ( status === 204 || s.type === "HEAD" ) {
  14522. statusText = "nocontent";
  14523. // if not modified
  14524. } else if ( status === 304 ) {
  14525. statusText = "notmodified";
  14526. // If we have data, let's convert it
  14527. } else {
  14528. statusText = response.state;
  14529. success = response.data;
  14530. error = response.error;
  14531. isSuccess = !error;
  14532. }
  14533. } else {
  14534. // Extract error from statusText and normalize for non-aborts
  14535. error = statusText;
  14536. if ( status || !statusText ) {
  14537. statusText = "error";
  14538. if ( status < 0 ) {
  14539. status = 0;
  14540. }
  14541. }
  14542. }
  14543. // Set data for the fake xhr object
  14544. jqXHR.status = status;
  14545. jqXHR.statusText = ( nativeStatusText || statusText ) + "";
  14546. // Success/Error
  14547. if ( isSuccess ) {
  14548. deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
  14549. } else {
  14550. deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
  14551. }
  14552. // Status-dependent callbacks
  14553. jqXHR.statusCode( statusCode );
  14554. statusCode = undefined;
  14555. if ( fireGlobals ) {
  14556. globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
  14557. [ jqXHR, s, isSuccess ? success : error ] );
  14558. }
  14559. // Complete
  14560. completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
  14561. if ( fireGlobals ) {
  14562. globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
  14563. // Handle the global AJAX counter
  14564. if ( !( --jQuery.active ) ) {
  14565. jQuery.event.trigger("ajaxStop");
  14566. }
  14567. }
  14568. }
  14569. return jqXHR;
  14570. },
  14571. getJSON: function( url, data, callback ) {
  14572. return jQuery.get( url, data, callback, "json" );
  14573. },
  14574. getScript: function( url, callback ) {
  14575. return jQuery.get( url, undefined, callback, "script" );
  14576. }
  14577. });
  14578. jQuery.each( [ "get", "post" ], function( i, method ) {
  14579. jQuery[ method ] = function( url, data, callback, type ) {
  14580. // Shift arguments if data argument was omitted
  14581. if ( jQuery.isFunction( data ) ) {
  14582. type = type || callback;
  14583. callback = data;
  14584. data = undefined;
  14585. }
  14586. return jQuery.ajax({
  14587. url: url,
  14588. type: method,
  14589. dataType: type,
  14590. data: data,
  14591. success: callback
  14592. });
  14593. };
  14594. });
  14595. jQuery._evalUrl = function( url ) {
  14596. return jQuery.ajax({
  14597. url: url,
  14598. type: "GET",
  14599. dataType: "script",
  14600. async: false,
  14601. global: false,
  14602. "throws": true
  14603. });
  14604. };
  14605. jQuery.fn.extend({
  14606. wrapAll: function( html ) {
  14607. var wrap;
  14608. if ( jQuery.isFunction( html ) ) {
  14609. return this.each(function( i ) {
  14610. jQuery( this ).wrapAll( html.call(this, i) );
  14611. });
  14612. }
  14613. if ( this[ 0 ] ) {
  14614. // The elements to wrap the target around
  14615. wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
  14616. if ( this[ 0 ].parentNode ) {
  14617. wrap.insertBefore( this[ 0 ] );
  14618. }
  14619. wrap.map(function() {
  14620. var elem = this;
  14621. while ( elem.firstElementChild ) {
  14622. elem = elem.firstElementChild;
  14623. }
  14624. return elem;
  14625. }).append( this );
  14626. }
  14627. return this;
  14628. },
  14629. wrapInner: function( html ) {
  14630. if ( jQuery.isFunction( html ) ) {
  14631. return this.each(function( i ) {
  14632. jQuery( this ).wrapInner( html.call(this, i) );
  14633. });
  14634. }
  14635. return this.each(function() {
  14636. var self = jQuery( this ),
  14637. contents = self.contents();
  14638. if ( contents.length ) {
  14639. contents.wrapAll( html );
  14640. } else {
  14641. self.append( html );
  14642. }
  14643. });
  14644. },
  14645. wrap: function( html ) {
  14646. var isFunction = jQuery.isFunction( html );
  14647. return this.each(function( i ) {
  14648. jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
  14649. });
  14650. },
  14651. unwrap: function() {
  14652. return this.parent().each(function() {
  14653. if ( !jQuery.nodeName( this, "body" ) ) {
  14654. jQuery( this ).replaceWith( this.childNodes );
  14655. }
  14656. }).end();
  14657. }
  14658. });
  14659. jQuery.expr.filters.hidden = function( elem ) {
  14660. // Support: Opera <= 12.12
  14661. // Opera reports offsetWidths and offsetHeights less than zero on some elements
  14662. return elem.offsetWidth <= 0 && elem.offsetHeight <= 0;
  14663. };
  14664. jQuery.expr.filters.visible = function( elem ) {
  14665. return !jQuery.expr.filters.hidden( elem );
  14666. };
  14667. var r20 = /%20/g,
  14668. rbracket = /\[\]$/,
  14669. rCRLF = /\r?\n/g,
  14670. rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
  14671. rsubmittable = /^(?:input|select|textarea|keygen)/i;
  14672. function buildParams( prefix, obj, traditional, add ) {
  14673. var name;
  14674. if ( jQuery.isArray( obj ) ) {
  14675. // Serialize array item.
  14676. jQuery.each( obj, function( i, v ) {
  14677. if ( traditional || rbracket.test( prefix ) ) {
  14678. // Treat each array item as a scalar.
  14679. add( prefix, v );
  14680. } else {
  14681. // Item is non-scalar (array or object), encode its numeric index.
  14682. buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add );
  14683. }
  14684. });
  14685. } else if ( !traditional && jQuery.type( obj ) === "object" ) {
  14686. // Serialize object item.
  14687. for ( name in obj ) {
  14688. buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
  14689. }
  14690. } else {
  14691. // Serialize scalar item.
  14692. add( prefix, obj );
  14693. }
  14694. }
  14695. // Serialize an array of form elements or a set of
  14696. // key/values into a query string
  14697. jQuery.param = function( a, traditional ) {
  14698. var prefix,
  14699. s = [],
  14700. add = function( key, value ) {
  14701. // If value is a function, invoke it and return its value
  14702. value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );
  14703. s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
  14704. };
  14705. // Set traditional to true for jQuery <= 1.3.2 behavior.
  14706. if ( traditional === undefined ) {
  14707. traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;
  14708. }
  14709. // If an array was passed in, assume that it is an array of form elements.
  14710. if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
  14711. // Serialize the form elements
  14712. jQuery.each( a, function() {
  14713. add( this.name, this.value );
  14714. });
  14715. } else {
  14716. // If traditional, encode the "old" way (the way 1.3.2 or older
  14717. // did it), otherwise encode params recursively.
  14718. for ( prefix in a ) {
  14719. buildParams( prefix, a[ prefix ], traditional, add );
  14720. }
  14721. }
  14722. // Return the resulting serialization
  14723. return s.join( "&" ).replace( r20, "+" );
  14724. };
  14725. jQuery.fn.extend({
  14726. serialize: function() {
  14727. return jQuery.param( this.serializeArray() );
  14728. },
  14729. serializeArray: function() {
  14730. return this.map(function() {
  14731. // Can add propHook for "elements" to filter or add form elements
  14732. var elements = jQuery.prop( this, "elements" );
  14733. return elements ? jQuery.makeArray( elements ) : this;
  14734. })
  14735. .filter(function() {
  14736. var type = this.type;
  14737. // Use .is( ":disabled" ) so that fieldset[disabled] works
  14738. return this.name && !jQuery( this ).is( ":disabled" ) &&
  14739. rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
  14740. ( this.checked || !rcheckableType.test( type ) );
  14741. })
  14742. .map(function( i, elem ) {
  14743. var val = jQuery( this ).val();
  14744. return val == null ?
  14745. null :
  14746. jQuery.isArray( val ) ?
  14747. jQuery.map( val, function( val ) {
  14748. return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
  14749. }) :
  14750. { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
  14751. }).get();
  14752. }
  14753. });
  14754. jQuery.ajaxSettings.xhr = function() {
  14755. try {
  14756. return new XMLHttpRequest();
  14757. } catch( e ) {}
  14758. };
  14759. var xhrId = 0,
  14760. xhrCallbacks = {},
  14761. xhrSuccessStatus = {
  14762. // file protocol always yields status code 0, assume 200
  14763. 0: 200,
  14764. // Support: IE9
  14765. // #1450: sometimes IE returns 1223 when it should be 204
  14766. 1223: 204
  14767. },
  14768. xhrSupported = jQuery.ajaxSettings.xhr();
  14769. // Support: IE9
  14770. // Open requests must be manually aborted on unload (#5280)
  14771. // See https://support.microsoft.com/kb/2856746 for more info
  14772. if ( window.attachEvent ) {
  14773. window.attachEvent( "onunload", function() {
  14774. for ( var key in xhrCallbacks ) {
  14775. xhrCallbacks[ key ]();
  14776. }
  14777. });
  14778. }
  14779. support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
  14780. support.ajax = xhrSupported = !!xhrSupported;
  14781. jQuery.ajaxTransport(function( options ) {
  14782. var callback;
  14783. // Cross domain only allowed if supported through XMLHttpRequest
  14784. if ( support.cors || xhrSupported && !options.crossDomain ) {
  14785. return {
  14786. send: function( headers, complete ) {
  14787. var i,
  14788. xhr = options.xhr(),
  14789. id = ++xhrId;
  14790. xhr.open( options.type, options.url, options.async, options.username, options.password );
  14791. // Apply custom fields if provided
  14792. if ( options.xhrFields ) {
  14793. for ( i in options.xhrFields ) {
  14794. xhr[ i ] = options.xhrFields[ i ];
  14795. }
  14796. }
  14797. // Override mime type if needed
  14798. if ( options.mimeType && xhr.overrideMimeType ) {
  14799. xhr.overrideMimeType( options.mimeType );
  14800. }
  14801. // X-Requested-With header
  14802. // For cross-domain requests, seeing as conditions for a preflight are
  14803. // akin to a jigsaw puzzle, we simply never set it to be sure.
  14804. // (it can always be set on a per-request basis or even using ajaxSetup)
  14805. // For same-domain requests, won't change header if already provided.
  14806. if ( !options.crossDomain && !headers["X-Requested-With"] ) {
  14807. headers["X-Requested-With"] = "XMLHttpRequest";
  14808. }
  14809. // Set headers
  14810. for ( i in headers ) {
  14811. xhr.setRequestHeader( i, headers[ i ] );
  14812. }
  14813. // Callback
  14814. callback = function( type ) {
  14815. return function() {
  14816. if ( callback ) {
  14817. delete xhrCallbacks[ id ];
  14818. callback = xhr.onload = xhr.onerror = null;
  14819. if ( type === "abort" ) {
  14820. xhr.abort();
  14821. } else if ( type === "error" ) {
  14822. complete(
  14823. // file: protocol always yields status 0; see #8605, #14207
  14824. xhr.status,
  14825. xhr.statusText
  14826. );
  14827. } else {
  14828. complete(
  14829. xhrSuccessStatus[ xhr.status ] || xhr.status,
  14830. xhr.statusText,
  14831. // Support: IE9
  14832. // Accessing binary-data responseText throws an exception
  14833. // (#11426)
  14834. typeof xhr.responseText === "string" ? {
  14835. text: xhr.responseText
  14836. } : undefined,
  14837. xhr.getAllResponseHeaders()
  14838. );
  14839. }
  14840. }
  14841. };
  14842. };
  14843. // Listen to events
  14844. xhr.onload = callback();
  14845. xhr.onerror = callback("error");
  14846. // Create the abort callback
  14847. callback = xhrCallbacks[ id ] = callback("abort");
  14848. try {
  14849. // Do send the request (this may raise an exception)
  14850. xhr.send( options.hasContent && options.data || null );
  14851. } catch ( e ) {
  14852. // #14683: Only rethrow if this hasn't been notified as an error yet
  14853. if ( callback ) {
  14854. throw e;
  14855. }
  14856. }
  14857. },
  14858. abort: function() {
  14859. if ( callback ) {
  14860. callback();
  14861. }
  14862. }
  14863. };
  14864. }
  14865. });
  14866. // Install script dataType
  14867. jQuery.ajaxSetup({
  14868. accepts: {
  14869. script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
  14870. },
  14871. contents: {
  14872. script: /(?:java|ecma)script/
  14873. },
  14874. converters: {
  14875. "text script": function( text ) {
  14876. jQuery.globalEval( text );
  14877. return text;
  14878. }
  14879. }
  14880. });
  14881. // Handle cache's special case and crossDomain
  14882. jQuery.ajaxPrefilter( "script", function( s ) {
  14883. if ( s.cache === undefined ) {
  14884. s.cache = false;
  14885. }
  14886. if ( s.crossDomain ) {
  14887. s.type = "GET";
  14888. }
  14889. });
  14890. // Bind script tag hack transport
  14891. jQuery.ajaxTransport( "script", function( s ) {
  14892. // This transport only deals with cross domain requests
  14893. if ( s.crossDomain ) {
  14894. var script, callback;
  14895. return {
  14896. send: function( _, complete ) {
  14897. script = jQuery("<script>").prop({
  14898. async: true,
  14899. charset: s.scriptCharset,
  14900. src: s.url
  14901. }).on(
  14902. "load error",
  14903. callback = function( evt ) {
  14904. script.remove();
  14905. callback = null;
  14906. if ( evt ) {
  14907. complete( evt.type === "error" ? 404 : 200, evt.type );
  14908. }
  14909. }
  14910. );
  14911. document.head.appendChild( script[ 0 ] );
  14912. },
  14913. abort: function() {
  14914. if ( callback ) {
  14915. callback();
  14916. }
  14917. }
  14918. };
  14919. }
  14920. });
  14921. var oldCallbacks = [],
  14922. rjsonp = /(=)\?(?=&|$)|\?\?/;
  14923. // Default jsonp settings
  14924. jQuery.ajaxSetup({
  14925. jsonp: "callback",
  14926. jsonpCallback: function() {
  14927. var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
  14928. this[ callback ] = true;
  14929. return callback;
  14930. }
  14931. });
  14932. // Detect, normalize options and install callbacks for jsonp requests
  14933. jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
  14934. var callbackName, overwritten, responseContainer,
  14935. jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
  14936. "url" :
  14937. typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data"
  14938. );
  14939. // Handle iff the expected data type is "jsonp" or we have a parameter to set
  14940. if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
  14941. // Get callback name, remembering preexisting value associated with it
  14942. callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
  14943. s.jsonpCallback() :
  14944. s.jsonpCallback;
  14945. // Insert callback into url or form data
  14946. if ( jsonProp ) {
  14947. s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
  14948. } else if ( s.jsonp !== false ) {
  14949. s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
  14950. }
  14951. // Use data converter to retrieve json after script execution
  14952. s.converters["script json"] = function() {
  14953. if ( !responseContainer ) {
  14954. jQuery.error( callbackName + " was not called" );
  14955. }
  14956. return responseContainer[ 0 ];
  14957. };
  14958. // force json dataType
  14959. s.dataTypes[ 0 ] = "json";
  14960. // Install callback
  14961. overwritten = window[ callbackName ];
  14962. window[ callbackName ] = function() {
  14963. responseContainer = arguments;
  14964. };
  14965. // Clean-up function (fires after converters)
  14966. jqXHR.always(function() {
  14967. // Restore preexisting value
  14968. window[ callbackName ] = overwritten;
  14969. // Save back as free
  14970. if ( s[ callbackName ] ) {
  14971. // make sure that re-using the options doesn't screw things around
  14972. s.jsonpCallback = originalSettings.jsonpCallback;
  14973. // save the callback name for future use
  14974. oldCallbacks.push( callbackName );
  14975. }
  14976. // Call if it was a function and we have a response
  14977. if ( responseContainer && jQuery.isFunction( overwritten ) ) {
  14978. overwritten( responseContainer[ 0 ] );
  14979. }
  14980. responseContainer = overwritten = undefined;
  14981. });
  14982. // Delegate to script
  14983. return "script";
  14984. }
  14985. });
  14986. // data: string of html
  14987. // context (optional): If specified, the fragment will be created in this context, defaults to document
  14988. // keepScripts (optional): If true, will include scripts passed in the html string
  14989. jQuery.parseHTML = function( data, context, keepScripts ) {
  14990. if ( !data || typeof data !== "string" ) {
  14991. return null;
  14992. }
  14993. if ( typeof context === "boolean" ) {
  14994. keepScripts = context;
  14995. context = false;
  14996. }
  14997. context = context || document;
  14998. var parsed = rsingleTag.exec( data ),
  14999. scripts = !keepScripts && [];
  15000. // Single tag
  15001. if ( parsed ) {
  15002. return [ context.createElement( parsed[1] ) ];
  15003. }
  15004. parsed = jQuery.buildFragment( [ data ], context, scripts );
  15005. if ( scripts && scripts.length ) {
  15006. jQuery( scripts ).remove();
  15007. }
  15008. return jQuery.merge( [], parsed.childNodes );
  15009. };
  15010. // Keep a copy of the old load method
  15011. var _load = jQuery.fn.load;
  15012. /**
  15013. * Load a url into a page
  15014. */
  15015. jQuery.fn.load = function( url, params, callback ) {
  15016. if ( typeof url !== "string" && _load ) {
  15017. return _load.apply( this, arguments );
  15018. }
  15019. var selector, type, response,
  15020. self = this,
  15021. off = url.indexOf(" ");
  15022. if ( off >= 0 ) {
  15023. selector = jQuery.trim( url.slice( off ) );
  15024. url = url.slice( 0, off );
  15025. }
  15026. // If it's a function
  15027. if ( jQuery.isFunction( params ) ) {
  15028. // We assume that it's the callback
  15029. callback = params;
  15030. params = undefined;
  15031. // Otherwise, build a param string
  15032. } else if ( params && typeof params === "object" ) {
  15033. type = "POST";
  15034. }
  15035. // If we have elements to modify, make the request
  15036. if ( self.length > 0 ) {
  15037. jQuery.ajax({
  15038. url: url,
  15039. // if "type" variable is undefined, then "GET" method will be used
  15040. type: type,
  15041. dataType: "html",
  15042. data: params
  15043. }).done(function( responseText ) {
  15044. // Save response for use in complete callback
  15045. response = arguments;
  15046. self.html( selector ?
  15047. // If a selector was specified, locate the right elements in a dummy div
  15048. // Exclude scripts to avoid IE 'Permission Denied' errors
  15049. jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) :
  15050. // Otherwise use the full result
  15051. responseText );
  15052. }).complete( callback && function( jqXHR, status ) {
  15053. self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] );
  15054. });
  15055. }
  15056. return this;
  15057. };
  15058. // Attach a bunch of functions for handling common AJAX events
  15059. jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) {
  15060. jQuery.fn[ type ] = function( fn ) {
  15061. return this.on( type, fn );
  15062. };
  15063. });
  15064. jQuery.expr.filters.animated = function( elem ) {
  15065. return jQuery.grep(jQuery.timers, function( fn ) {
  15066. return elem === fn.elem;
  15067. }).length;
  15068. };
  15069. var docElem = window.document.documentElement;
  15070. /**
  15071. * Gets a window from an element
  15072. */
  15073. function getWindow( elem ) {
  15074. return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;
  15075. }
  15076. jQuery.offset = {
  15077. setOffset: function( elem, options, i ) {
  15078. var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
  15079. position = jQuery.css( elem, "position" ),
  15080. curElem = jQuery( elem ),
  15081. props = {};
  15082. // Set position first, in-case top/left are set even on static elem
  15083. if ( position === "static" ) {
  15084. elem.style.position = "relative";
  15085. }
  15086. curOffset = curElem.offset();
  15087. curCSSTop = jQuery.css( elem, "top" );
  15088. curCSSLeft = jQuery.css( elem, "left" );
  15089. calculatePosition = ( position === "absolute" || position === "fixed" ) &&
  15090. ( curCSSTop + curCSSLeft ).indexOf("auto") > -1;
  15091. // Need to be able to calculate position if either
  15092. // top or left is auto and position is either absolute or fixed
  15093. if ( calculatePosition ) {
  15094. curPosition = curElem.position();
  15095. curTop = curPosition.top;
  15096. curLeft = curPosition.left;
  15097. } else {
  15098. curTop = parseFloat( curCSSTop ) || 0;
  15099. curLeft = parseFloat( curCSSLeft ) || 0;
  15100. }
  15101. if ( jQuery.isFunction( options ) ) {
  15102. options = options.call( elem, i, curOffset );
  15103. }
  15104. if ( options.top != null ) {
  15105. props.top = ( options.top - curOffset.top ) + curTop;
  15106. }
  15107. if ( options.left != null ) {
  15108. props.left = ( options.left - curOffset.left ) + curLeft;
  15109. }
  15110. if ( "using" in options ) {
  15111. options.using.call( elem, props );
  15112. } else {
  15113. curElem.css( props );
  15114. }
  15115. }
  15116. };
  15117. jQuery.fn.extend({
  15118. offset: function( options ) {
  15119. if ( arguments.length ) {
  15120. return options === undefined ?
  15121. this :
  15122. this.each(function( i ) {
  15123. jQuery.offset.setOffset( this, options, i );
  15124. });
  15125. }
  15126. var docElem, win,
  15127. elem = this[ 0 ],
  15128. box = { top: 0, left: 0 },
  15129. doc = elem && elem.ownerDocument;
  15130. if ( !doc ) {
  15131. return;
  15132. }
  15133. docElem = doc.documentElement;
  15134. // Make sure it's not a disconnected DOM node
  15135. if ( !jQuery.contains( docElem, elem ) ) {
  15136. return box;
  15137. }
  15138. // Support: BlackBerry 5, iOS 3 (original iPhone)
  15139. // If we don't have gBCR, just use 0,0 rather than error
  15140. if ( typeof elem.getBoundingClientRect !== strundefined ) {
  15141. box = elem.getBoundingClientRect();
  15142. }
  15143. win = getWindow( doc );
  15144. return {
  15145. top: box.top + win.pageYOffset - docElem.clientTop,
  15146. left: box.left + win.pageXOffset - docElem.clientLeft
  15147. };
  15148. },
  15149. position: function() {
  15150. if ( !this[ 0 ] ) {
  15151. return;
  15152. }
  15153. var offsetParent, offset,
  15154. elem = this[ 0 ],
  15155. parentOffset = { top: 0, left: 0 };
  15156. // Fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent
  15157. if ( jQuery.css( elem, "position" ) === "fixed" ) {
  15158. // Assume getBoundingClientRect is there when computed position is fixed
  15159. offset = elem.getBoundingClientRect();
  15160. } else {
  15161. // Get *real* offsetParent
  15162. offsetParent = this.offsetParent();
  15163. // Get correct offsets
  15164. offset = this.offset();
  15165. if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {
  15166. parentOffset = offsetParent.offset();
  15167. }
  15168. // Add offsetParent borders
  15169. parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true );
  15170. parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true );
  15171. }
  15172. // Subtract parent offsets and element margins
  15173. return {
  15174. top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
  15175. left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
  15176. };
  15177. },
  15178. offsetParent: function() {
  15179. return this.map(function() {
  15180. var offsetParent = this.offsetParent || docElem;
  15181. while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position" ) === "static" ) ) {
  15182. offsetParent = offsetParent.offsetParent;
  15183. }
  15184. return offsetParent || docElem;
  15185. });
  15186. }
  15187. });
  15188. // Create scrollLeft and scrollTop methods
  15189. jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
  15190. var top = "pageYOffset" === prop;
  15191. jQuery.fn[ method ] = function( val ) {
  15192. return access( this, function( elem, method, val ) {
  15193. var win = getWindow( elem );
  15194. if ( val === undefined ) {
  15195. return win ? win[ prop ] : elem[ method ];
  15196. }
  15197. if ( win ) {
  15198. win.scrollTo(
  15199. !top ? val : window.pageXOffset,
  15200. top ? val : window.pageYOffset
  15201. );
  15202. } else {
  15203. elem[ method ] = val;
  15204. }
  15205. }, method, val, arguments.length, null );
  15206. };
  15207. });
  15208. // Support: Safari<7+, Chrome<37+
  15209. // Add the top/left cssHooks using jQuery.fn.position
  15210. // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
  15211. // Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280
  15212. // getComputedStyle returns percent when specified for top/left/bottom/right;
  15213. // rather than make the css module depend on the offset module, just check for it here
  15214. jQuery.each( [ "top", "left" ], function( i, prop ) {
  15215. jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
  15216. function( elem, computed ) {
  15217. if ( computed ) {
  15218. computed = curCSS( elem, prop );
  15219. // If curCSS returns percentage, fallback to offset
  15220. return rnumnonpx.test( computed ) ?
  15221. jQuery( elem ).position()[ prop ] + "px" :
  15222. computed;
  15223. }
  15224. }
  15225. );
  15226. });
  15227. // Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
  15228. jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
  15229. jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) {
  15230. // Margin is only for outerHeight, outerWidth
  15231. jQuery.fn[ funcName ] = function( margin, value ) {
  15232. var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
  15233. extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
  15234. return access( this, function( elem, type, value ) {
  15235. var doc;
  15236. if ( jQuery.isWindow( elem ) ) {
  15237. // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
  15238. // isn't a whole lot we can do. See pull request at this URL for discussion:
  15239. // https://github.com/jquery/jquery/pull/764
  15240. return elem.document.documentElement[ "client" + name ];
  15241. }
  15242. // Get document width or height
  15243. if ( elem.nodeType === 9 ) {
  15244. doc = elem.documentElement;
  15245. // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
  15246. // whichever is greatest
  15247. return Math.max(
  15248. elem.body[ "scroll" + name ], doc[ "scroll" + name ],
  15249. elem.body[ "offset" + name ], doc[ "offset" + name ],
  15250. doc[ "client" + name ]
  15251. );
  15252. }
  15253. return value === undefined ?
  15254. // Get width or height on the element, requesting but not forcing parseFloat
  15255. jQuery.css( elem, type, extra ) :
  15256. // Set width or height on the element
  15257. jQuery.style( elem, type, value, extra );
  15258. }, type, chainable ? margin : undefined, chainable, null );
  15259. };
  15260. });
  15261. });
  15262. // The number of elements contained in the matched element set
  15263. jQuery.fn.size = function() {
  15264. return this.length;
  15265. };
  15266. jQuery.fn.andSelf = jQuery.fn.addBack;
  15267. // Register as a named AMD module, since jQuery can be concatenated with other
  15268. // files that may use define, but not via a proper concatenation script that
  15269. // understands anonymous AMD modules. A named AMD is safest and most robust
  15270. // way to register. Lowercase jquery is used because AMD module names are
  15271. // derived from file names, and jQuery is normally delivered in a lowercase
  15272. // file name. Do this after creating the global so that if an AMD module wants
  15273. // to call noConflict to hide this version of jQuery, it will work.
  15274. // Note that for maximum portability, libraries that are not jQuery should
  15275. // declare themselves as anonymous modules, and avoid setting a global if an
  15276. // AMD loader is present. jQuery is a special case. For more information, see
  15277. // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
  15278. if ( typeof define === "function" && define.amd ) {
  15279. define( "jquery", [], function() {
  15280. return jQuery;
  15281. });
  15282. }
  15283. var
  15284. // Map over jQuery in case of overwrite
  15285. _jQuery = window.jQuery,
  15286. // Map over the $ in case of overwrite
  15287. _$ = window.$;
  15288. jQuery.noConflict = function( deep ) {
  15289. if ( window.$ === jQuery ) {
  15290. window.$ = _$;
  15291. }
  15292. if ( deep && window.jQuery === jQuery ) {
  15293. window.jQuery = _jQuery;
  15294. }
  15295. return jQuery;
  15296. };
  15297. // Expose jQuery and $ identifiers, even in AMD
  15298. // (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
  15299. // and CommonJS for browser emulators (#13566)
  15300. if ( typeof noGlobal === strundefined ) {
  15301. window.jQuery = window.$ = jQuery;
  15302. }
  15303. return jQuery;
  15304. }));
  15305. </script>
  15306. <script>/*!
  15307. * Bootstrap v3.3.5 (http://getbootstrap.com)
  15308. * Copyright 2011-2015 Twitter, Inc.
  15309. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  15310. */
  15311. /*!
  15312. * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=ca1d29b8c16a782c676c)
  15313. * Config saved to config.json and https://gist.github.com/ca1d29b8c16a782c676c
  15314. */
  15315. if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.alert");n||i.data("bs.alert",n=new o(this)),"string"==typeof e&&n[e].call(i)})}var i='[data-dismiss="alert"]',o=function(e){t(e).on("click",i,this.close)};o.VERSION="3.3.5",o.TRANSITION_DURATION=150,o.prototype.close=function(e){function i(){a.detach().trigger("closed.bs.alert").remove()}var n=t(this),s=n.attr("data-target");s||(s=n.attr("href"),s=s&&s.replace(/.*(?=#[^\s]*$)/,""));var a=t(s);e&&e.preventDefault(),a.length||(a=n.closest(".alert")),a.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(a.removeClass("in"),t.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",i).emulateTransitionEnd(o.TRANSITION_DURATION):i())};var n=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=o,t.fn.alert.noConflict=function(){return t.fn.alert=n,this},t(document).on("click.bs.alert.data-api",i,o.prototype.close)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.button"),s="object"==typeof e&&e;n||o.data("bs.button",n=new i(this,s)),"toggle"==e?n.toggle():e&&n.setState(e)})}var i=function(e,o){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,o),this.isLoading=!1};i.VERSION="3.3.5",i.DEFAULTS={loadingText:"loading..."},i.prototype.setState=function(e){var i="disabled",o=this.$element,n=o.is("input")?"val":"html",s=o.data();e+="Text",null==s.resetText&&o.data("resetText",o[n]()),setTimeout(t.proxy(function(){o[n](null==s[e]?this.options[e]:s[e]),"loadingText"==e?(this.isLoading=!0,o.addClass(i).attr(i,i)):this.isLoading&&(this.isLoading=!1,o.removeClass(i).removeAttr(i))},this),0)},i.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")?(i.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==i.prop("type")&&(i.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),i.prop("checked",this.$element.hasClass("active")),t&&i.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var o=t.fn.button;t.fn.button=e,t.fn.button.Constructor=i,t.fn.button.noConflict=function(){return t.fn.button=o,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(i){var o=t(i.target);o.hasClass("btn")||(o=o.closest(".btn")),e.call(o,"toggle"),t(i.target).is('input[type="radio"]')||t(i.target).is('input[type="checkbox"]')||i.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.carousel"),s=t.extend({},i.DEFAULTS,o.data(),"object"==typeof e&&e),a="string"==typeof e?e:s.slide;n||o.data("bs.carousel",n=new i(this,s)),"number"==typeof e?n.to(e):a?n[a]():s.interval&&n.pause().cycle()})}var i=function(e,i){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=i,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};i.VERSION="3.3.5",i.TRANSITION_DURATION=600,i.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},i.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},i.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},i.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},i.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e),o="prev"==t&&0===i||"next"==t&&i==this.$items.length-1;if(o&&!this.options.wrap)return e;var n="prev"==t?-1:1,s=(i+n)%this.$items.length;return this.$items.eq(s)},i.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));return t>this.$items.length-1||0>t?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",this.$items.eq(t))},i.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},i.prototype.next=function(){return this.sliding?void 0:this.slide("next")},i.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},i.prototype.slide=function(e,o){var n=this.$element.find(".item.active"),s=o||this.getItemForDirection(e,n),a=this.interval,r="next"==e?"left":"right",l=this;if(s.hasClass("active"))return this.sliding=!1;var h=s[0],d=t.Event("slide.bs.carousel",{relatedTarget:h,direction:r});if(this.$element.trigger(d),!d.isDefaultPrevented()){if(this.sliding=!0,a&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var p=t(this.$indicators.children()[this.getItemIndex(s)]);p&&p.addClass("active")}var c=t.Event("slid.bs.carousel",{relatedTarget:h,direction:r});return t.support.transition&&this.$element.hasClass("slide")?(s.addClass(e),s[0].offsetWidth,n.addClass(r),s.addClass(r),n.one("bsTransitionEnd",function(){s.removeClass([e,r].join(" ")).addClass("active"),n.removeClass(["active",r].join(" ")),l.sliding=!1,setTimeout(function(){l.$element.trigger(c)},0)}).emulateTransitionEnd(i.TRANSITION_DURATION)):(n.removeClass("active"),s.addClass("active"),this.sliding=!1,this.$element.trigger(c)),a&&this.cycle(),this}};var o=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=i,t.fn.carousel.noConflict=function(){return t.fn.carousel=o,this};var n=function(i){var o,n=t(this),s=t(n.attr("data-target")||(o=n.attr("href"))&&o.replace(/.*(?=#[^\s]+$)/,""));if(s.hasClass("carousel")){var a=t.extend({},s.data(),n.data()),r=n.attr("data-slide-to");r&&(a.interval=!1),e.call(s,a),r&&s.data("bs.carousel").to(r),i.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",n).on("click.bs.carousel.data-api","[data-slide-to]",n),t(window).on("load",function(){t('[data-ride="carousel"]').each(function(){var i=t(this);e.call(i,i.data())})})}(jQuery),+function(t){"use strict";function e(e){var i=e.attr("data-target");i||(i=e.attr("href"),i=i&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,""));var o=i&&t(i);return o&&o.length?o:e.parent()}function i(i){i&&3===i.which||(t(n).remove(),t(s).each(function(){var o=t(this),n=e(o),s={relatedTarget:this};n.hasClass("open")&&(i&&"click"==i.type&&/input|textarea/i.test(i.target.tagName)&&t.contains(n[0],i.target)||(n.trigger(i=t.Event("hide.bs.dropdown",s)),i.isDefaultPrevented()||(o.attr("aria-expanded","false"),n.removeClass("open").trigger("hidden.bs.dropdown",s))))}))}function o(e){return this.each(function(){var i=t(this),o=i.data("bs.dropdown");o||i.data("bs.dropdown",o=new a(this)),"string"==typeof e&&o[e].call(i)})}var n=".dropdown-backdrop",s='[data-toggle="dropdown"]',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.5",a.prototype.toggle=function(o){var n=t(this);if(!n.is(".disabled, :disabled")){var s=e(n),a=s.hasClass("open");if(i(),!a){"ontouchstart"in document.documentElement&&!s.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",i);var r={relatedTarget:this};if(s.trigger(o=t.Event("show.bs.dropdown",r)),o.isDefaultPrevented())return;n.trigger("focus").attr("aria-expanded","true"),s.toggleClass("open").trigger("shown.bs.dropdown",r)}return!1}},a.prototype.keydown=function(i){if(/(38|40|27|32)/.test(i.which)&&!/input|textarea/i.test(i.target.tagName)){var o=t(this);if(i.preventDefault(),i.stopPropagation(),!o.is(".disabled, :disabled")){var n=e(o),a=n.hasClass("open");if(!a&&27!=i.which||a&&27==i.which)return 27==i.which&&n.find(s).trigger("focus"),o.trigger("click");var r=" li:not(.disabled):visible a",l=n.find(".dropdown-menu"+r);if(l.length){var h=l.index(i.target);38==i.which&&h>0&&h--,40==i.which&&h<l.length-1&&h++,~h||(h=0),l.eq(h).trigger("focus")}}}};var r=t.fn.dropdown;t.fn.dropdown=o,t.fn.dropdown.Constructor=a,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=r,this},t(document).on("click.bs.dropdown.data-api",i).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",s,a.prototype.toggle).on("keydown.bs.dropdown.data-api",s,a.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",a.prototype.keydown)}(jQuery),+function(t){"use strict";function e(e,o){return this.each(function(){var n=t(this),s=n.data("bs.modal"),a=t.extend({},i.DEFAULTS,n.data(),"object"==typeof e&&e);s||n.data("bs.modal",s=new i(this,a)),"string"==typeof e?s[e](o):a.show&&s.show(o)})}var i=function(e,i){this.options=i,this.$body=t(document.body),this.$element=t(e),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,t.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};i.VERSION="3.3.5",i.TRANSITION_DURATION=300,i.BACKDROP_TRANSITION_DURATION=150,i.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},i.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},i.prototype.show=function(e){var o=this,n=t.Event("show.bs.modal",{relatedTarget:e});this.$element.trigger(n),this.isShown||n.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',t.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){o.$element.one("mouseup.dismiss.bs.modal",function(e){t(e.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var n=t.support.transition&&o.$element.hasClass("fade");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),n&&o.$element[0].offsetWidth,o.$element.addClass("in"),o.enforceFocus();var s=t.Event("shown.bs.modal",{relatedTarget:e});n?o.$dialog.one("bsTransitionEnd",function(){o.$element.trigger("focus").trigger(s)}).emulateTransitionEnd(i.TRANSITION_DURATION):o.$element.trigger("focus").trigger(s)}))},i.prototype.hide=function(e){e&&e.preventDefault(),e=t.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),t(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),t.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",t.proxy(this.hideModal,this)).emulateTransitionEnd(i.TRANSITION_DURATION):this.hideModal())},i.prototype.enforceFocus=function(){t(document).off("focusin.bs.modal").on("focusin.bs.modal",t.proxy(function(t){this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},i.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",t.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},i.prototype.resize=function(){this.isShown?t(window).on("resize.bs.modal",t.proxy(this.handleUpdate,this)):t(window).off("resize.bs.modal")},i.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},i.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},i.prototype.backdrop=function(e){var o=this,n=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var s=t.support.transition&&n;if(this.$backdrop=t(document.createElement("div")).addClass("modal-backdrop "+n).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",t.proxy(function(t){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),s&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!e)return;s?this.$backdrop.one("bsTransitionEnd",e).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION):e()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var a=function(){o.removeBackdrop(),e&&e()};t.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",a).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION):a()}else e&&e()},i.prototype.handleUpdate=function(){this.adjustDialog()},i.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},i.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},i.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},i.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},i.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},i.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var o=t.fn.modal;t.fn.modal=e,t.fn.modal.Constructor=i,t.fn.modal.noConflict=function(){return t.fn.modal=o,this},t(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(i){var o=t(this),n=o.attr("href"),s=t(o.attr("data-target")||n&&n.replace(/.*(?=#[^\s]+$)/,"")),a=s.data("bs.modal")?"toggle":t.extend({remote:!/#/.test(n)&&n},s.data(),o.data());o.is("a")&&i.preventDefault(),s.one("show.bs.modal",function(t){t.isDefaultPrevented()||s.one("hidden.bs.modal",function(){o.is(":visible")&&o.trigger("focus")})}),e.call(s,a,this)})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.tooltip"),s="object"==typeof e&&e;(n||!/destroy|hide/.test(e))&&(n||o.data("bs.tooltip",n=new i(this,s)),"string"==typeof e&&n[e]())})}var i=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};i.VERSION="3.3.5",i.TRANSITION_DURATION=150,i.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},i.prototype.init=function(e,i,o){if(this.enabled=!0,this.type=e,this.$element=t(i),this.options=this.getOptions(o),this.$viewport=this.options.viewport&&t(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var n=this.options.trigger.split(" "),s=n.length;s--;){var a=n[s];if("click"==a)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=a){var r="hover"==a?"mouseenter":"focusin",l="hover"==a?"mouseleave":"focusout";this.$element.on(r+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},i.prototype.getDelegateOptions=function(){var e={},i=this.getDefaults();return this._options&&t.each(this._options,function(t,o){i[t]!=o&&(e[t]=o)}),e},i.prototype.enter=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusin"==e.type?"focus":"hover"]=!0),i.tip().hasClass("in")||"in"==i.hoverState?void(i.hoverState="in"):(clearTimeout(i.timeout),i.hoverState="in",i.options.delay&&i.options.delay.show?void(i.timeout=setTimeout(function(){"in"==i.hoverState&&i.show()},i.options.delay.show)):i.show())},i.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},i.prototype.leave=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusout"==e.type?"focus":"hover"]=!1),i.isInStateTrue()?void 0:(clearTimeout(i.timeout),i.hoverState="out",i.options.delay&&i.options.delay.hide?void(i.timeout=setTimeout(function(){"out"==i.hoverState&&i.hide()},i.options.delay.hide)):i.hide())},i.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var o=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!o)return;var n=this,s=this.tip(),a=this.getUID(this.type);this.setContent(),s.attr("id",a),this.$element.attr("aria-describedby",a),this.options.animation&&s.addClass("fade");var r="function"==typeof this.options.placement?this.options.placement.call(this,s[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,h=l.test(r);h&&(r=r.replace(l,"")||"top"),s.detach().css({top:0,left:0,display:"block"}).addClass(r).data("bs."+this.type,this),this.options.container?s.appendTo(this.options.container):s.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var d=this.getPosition(),p=s[0].offsetWidth,c=s[0].offsetHeight;if(h){var f=r,u=this.getPosition(this.$viewport);r="bottom"==r&&d.bottom+c>u.bottom?"top":"top"==r&&d.top-c<u.top?"bottom":"right"==r&&d.right+p>u.width?"left":"left"==r&&d.left-p<u.left?"right":r,s.removeClass(f).addClass(r)}var g=this.getCalculatedOffset(r,d,p,c);this.applyPlacement(g,r);var m=function(){var t=n.hoverState;n.$element.trigger("shown.bs."+n.type),n.hoverState=null,"out"==t&&n.leave(n)};t.support.transition&&this.$tip.hasClass("fade")?s.one("bsTransitionEnd",m).emulateTransitionEnd(i.TRANSITION_DURATION):m()}},i.prototype.applyPlacement=function(e,i){var o=this.tip(),n=o[0].offsetWidth,s=o[0].offsetHeight,a=parseInt(o.css("margin-top"),10),r=parseInt(o.css("margin-left"),10);isNaN(a)&&(a=0),isNaN(r)&&(r=0),e.top+=a,e.left+=r,t.offset.setOffset(o[0],t.extend({using:function(t){o.css({top:Math.round(t.top),left:Math.round(t.left)})}},e),0),o.addClass("in");var l=o[0].offsetWidth,h=o[0].offsetHeight;"top"==i&&h!=s&&(e.top=e.top+s-h);var d=this.getViewportAdjustedDelta(i,e,l,h);d.left?e.left+=d.left:e.top+=d.top;var p=/top|bottom/.test(i),c=p?2*d.left-n+l:2*d.top-s+h,f=p?"offsetWidth":"offsetHeight";o.offset(e),this.replaceArrow(c,o[0][f],p)},i.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?"left":"top",50*(1-t/e)+"%").css(i?"top":"left","")},i.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},i.prototype.hide=function(e){function o(){"in"!=n.hoverState&&s.detach(),n.$element.removeAttr("aria-describedby").trigger("hidden.bs."+n.type),e&&e()}var n=this,s=t(this.$tip),a=t.Event("hide.bs."+this.type);return this.$element.trigger(a),a.isDefaultPrevented()?void 0:(s.removeClass("in"),t.support.transition&&s.hasClass("fade")?s.one("bsTransitionEnd",o).emulateTransitionEnd(i.TRANSITION_DURATION):o(),this.hoverState=null,this)},i.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},i.prototype.hasContent=function(){return this.getTitle()},i.prototype.getPosition=function(e){e=e||this.$element;var i=e[0],o="BODY"==i.tagName,n=i.getBoundingClientRect();null==n.width&&(n=t.extend({},n,{width:n.right-n.left,height:n.bottom-n.top}));var s=o?{top:0,left:0}:e.offset(),a={scroll:o?document.documentElement.scrollTop||document.body.scrollTop:e.scrollTop()},r=o?{width:t(window).width(),height:t(window).height()}:null;return t.extend({},n,a,r,s)},i.prototype.getCalculatedOffset=function(t,e,i,o){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:"top"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:"left"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},i.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},i.prototype.getTitle=function(){var t,e=this.$element,i=this.options;return t=e.attr("data-original-title")||("function"==typeof i.title?i.title.call(e[0]):i.title)},i.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},i.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},i.prototype.enable=function(){this.enabled=!0},i.prototype.disable=function(){this.enabled=!1},i.prototype.toggleEnabled=function(){this.enabled=!this.enabled},i.prototype.toggle=function(e){var i=this;e&&(i=t(e.currentTarget).data("bs."+this.type),i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i))),e?(i.inState.click=!i.inState.click,i.isInStateTrue()?i.enter(i):i.leave(i)):i.tip().hasClass("in")?i.leave(i):i.enter(i)},i.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null})};var o=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=i,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=o,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.popover"),s="object"==typeof e&&e;(n||!/destroy|hide/.test(e))&&(n||o.data("bs.popover",n=new i(this,s)),"string"==typeof e&&n[e]())})}var i=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");i.VERSION="3.3.5",i.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),i.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),i.prototype.constructor=i,i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof i?"html":"append":"text"](i),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},i.prototype.hasContent=function(){return this.getTitle()||this.getContent()},i.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var o=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=i,t.fn.popover.noConflict=function(){return t.fn.popover=o,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.tab");n||o.data("bs.tab",n=new i(this)),"string"==typeof e&&n[e]()})}var i=function(e){this.element=t(e)};i.VERSION="3.3.5",i.TRANSITION_DURATION=150,i.prototype.show=function(){var e=this.element,i=e.closest("ul:not(.dropdown-menu)"),o=e.data("target");if(o||(o=e.attr("href"),o=o&&o.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var n=i.find(".active:last a"),s=t.Event("hide.bs.tab",{relatedTarget:e[0]}),a=t.Event("show.bs.tab",{relatedTarget:n[0]});if(n.trigger(s),e.trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){var r=t(o);this.activate(e.closest("li"),i),this.activate(r,r.parent(),function(){n.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:n[0]})})}}},i.prototype.activate=function(e,o,n){function s(){a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),r?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),n&&n()}var a=o.find("> .active"),r=n&&t.support.transition&&(a.length&&a.hasClass("fade")||!!o.find("> .fade").length);a.length&&r?a.one("bsTransitionEnd",s).emulateTransitionEnd(i.TRANSITION_DURATION):s(),a.removeClass("in")};var o=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=i,t.fn.tab.noConflict=function(){return t.fn.tab=o,this};var n=function(i){i.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',n).on("click.bs.tab.data-api",'[data-toggle="pill"]',n)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.affix"),s="object"==typeof e&&e;n||o.data("bs.affix",n=new i(this,s)),"string"==typeof e&&n[e]()})}var i=function(e,o){this.options=t.extend({},i.DEFAULTS,o),this.$target=t(this.options.target).on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};i.VERSION="3.3.5",i.RESET="affix affix-top affix-bottom",i.DEFAULTS={offset:0,target:window},i.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return i>n?"top":!1;if("bottom"==this.affixed)return null!=i?n+this.unpin<=s.top?!1:"bottom":t-o>=n+a?!1:"bottom";var r=null==this.affixed,l=r?n:s.top,h=r?a:e;return null!=i&&i>=n?"top":null!=o&&l+h>=t-o?"bottom":!1},i.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(i.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},i.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},i.prototype.checkPosition=function(){if(this.$element.is(":visible")){var e=this.$element.height(),o=this.options.offset,n=o.top,s=o.bottom,a=Math.max(t(document).height(),t(document.body).height());"object"!=typeof o&&(s=n=o),"function"==typeof n&&(n=o.top(this.$element)),"function"==typeof s&&(s=o.bottom(this.$element));var r=this.getState(a,e,n,s);if(this.affixed!=r){null!=this.unpin&&this.$element.css("top","");var l="affix"+(r?"-"+r:""),h=t.Event(l+".bs.affix");if(this.$element.trigger(h),h.isDefaultPrevented())return;this.affixed=r,this.unpin="bottom"==r?this.getPinnedOffset():null,this.$element.removeClass(i.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==r&&this.$element.offset({top:a-e-s})}};var o=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=i,t.fn.affix.noConflict=function(){return t.fn.affix=o,this},t(window).on("load",function(){t('[data-spy="affix"]').each(function(){var i=t(this),o=i.data();o.offset=o.offset||{},null!=o.offsetBottom&&(o.offset.bottom=o.offsetBottom),null!=o.offsetTop&&(o.offset.top=o.offsetTop),e.call(i,o)})})}(jQuery),+function(t){"use strict";function e(e){var i,o=e.attr("data-target")||(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,"");return t(o)}function i(e){return this.each(function(){var i=t(this),n=i.data("bs.collapse"),s=t.extend({},o.DEFAULTS,i.data(),"object"==typeof e&&e);!n&&s.toggle&&/show|hide/.test(e)&&(s.toggle=!1),n||i.data("bs.collapse",n=new o(this,s)),"string"==typeof e&&n[e]()})}var o=function(e,i){this.$element=t(e),this.options=t.extend({},o.DEFAULTS,i),this.$trigger=t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};o.VERSION="3.3.5",o.TRANSITION_DURATION=350,o.DEFAULTS={toggle:!0},o.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},o.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,n=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(n&&n.length&&(e=n.data("bs.collapse"),e&&e.transitioning))){var s=t.Event("show.bs.collapse");if(this.$element.trigger(s),!s.isDefaultPrevented()){n&&n.length&&(i.call(n,"hide"),e||n.data("bs.collapse",null));var a=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var r=function(){this.$element.removeClass("collapsing").addClass("collapse in")[a](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return r.call(this);var l=t.camelCase(["scroll",a].join("-"));this.$element.one("bsTransitionEnd",t.proxy(r,this)).emulateTransitionEnd(o.TRANSITION_DURATION)[a](this.$element[0][l]);
  15316. }}}},o.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var i=this.dimension();this.$element[i](this.$element[i]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var n=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return t.support.transition?void this.$element[i](0).one("bsTransitionEnd",t.proxy(n,this)).emulateTransitionEnd(o.TRANSITION_DURATION):n.call(this)}}},o.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},o.prototype.getParent=function(){return t(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(i,o){var n=t(o);this.addAriaAndCollapsedClass(e(n),n)},this)).end()},o.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var n=t.fn.collapse;t.fn.collapse=i,t.fn.collapse.Constructor=o,t.fn.collapse.noConflict=function(){return t.fn.collapse=n,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(o){var n=t(this);n.attr("data-target")||o.preventDefault();var s=e(n),a=s.data("bs.collapse"),r=a?"toggle":n.data();i.call(s,r)})}(jQuery),+function(t){"use strict";function e(i,o){this.$body=t(document.body),this.$scrollElement=t(t(i).is(document.body)?window:i),this.options=t.extend({},e.DEFAULTS,o),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",t.proxy(this.process,this)),this.refresh(),this.process()}function i(i){return this.each(function(){var o=t(this),n=o.data("bs.scrollspy"),s="object"==typeof i&&i;n||o.data("bs.scrollspy",n=new e(this,s)),"string"==typeof i&&n[i]()})}e.VERSION="3.3.5",e.DEFAULTS={offset:10},e.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},e.prototype.refresh=function(){var e=this,i="offset",o=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),t.isWindow(this.$scrollElement[0])||(i="position",o=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var e=t(this),n=e.data("target")||e.attr("href"),s=/^#./.test(n)&&t(n);return s&&s.length&&s.is(":visible")&&[[s[i]().top+o,n]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){e.offsets.push(this[0]),e.targets.push(this[1])})},e.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),e>=o)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(void 0===n[t+1]||e<n[t+1])&&this.activate(s[t])},e.prototype.activate=function(e){this.activeTarget=e,this.clear();var i=this.selector+'[data-target="'+e+'"],'+this.selector+'[href="'+e+'"]',o=t(i).parents("li").addClass("active");o.parent(".dropdown-menu").length&&(o=o.closest("li.dropdown").addClass("active")),o.trigger("activate.bs.scrollspy")},e.prototype.clear=function(){t(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var o=t.fn.scrollspy;t.fn.scrollspy=i,t.fn.scrollspy.Constructor=e,t.fn.scrollspy.noConflict=function(){return t.fn.scrollspy=o,this},t(window).on("load.bs.scrollspy.data-api",function(){t('[data-spy="scroll"]').each(function(){var e=t(this);i.call(e,e.data())})})}(jQuery),+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(void 0!==t.style[i])return{end:e[i]};return!1}t.fn.emulateTransitionEnd=function(e){var i=!1,o=this;t(this).one("bsTransitionEnd",function(){i=!0});var n=function(){i||t(o).trigger(t.support.transition.end)};return setTimeout(n,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){return t(e.target).is(this)?e.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery);</script>
  15317. <script>var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
  15318. (function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
  15319. [],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
  15320. f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
  15321. (j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
  15322. {b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
  15323. t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
  15324. "string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
  15325. l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
  15326. q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
  15327. q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
  15328. "");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
  15329. a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
  15330. for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
  15331. m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
  15332. a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
  15333. j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
  15334. "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
  15335. H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
  15336. J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
  15337. I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
  15338. ["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
  15339. /^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
  15340. ["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
  15341. hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
  15342. !k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
  15343. 250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
  15344. PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();</script>
  15345. <script>events.js:377
  15346. throw er; // Unhandled 'error' event
  15347. ^
  15348. Error: ENOENT: no such file or directory, open '/home/arong/Unity/PackageBuild/docs/html_standalone/https:/cdn.jsdelivr.net/fuse/2.5.0/fuse.min.js'
  15349. Emitted 'error' event on ReadStream instance at:
  15350. at internal/fs/streams.js:126:14
  15351. at FSReqCallback.oncomplete (fs.js:179:23) {
  15352. errno: -2,
  15353. code: 'ENOENT',
  15354. syscall: 'open',
  15355. path: '/home/arong/Unity/PackageBuild/docs/html_standalone/https:/cdn.jsdelivr.net/fuse/2.5.0/fuse.min.js'
  15356. }