voyager_base-83d560e0d0350eb5ccd49f0320347575.js 240 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196
  1. /*!
  2. * jQuery JavaScript Library v1.9.1
  3. * http://jquery.com/
  4. *
  5. * Includes Sizzle.js
  6. * http://sizzlejs.com/
  7. *
  8. * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
  9. * Released under the MIT license
  10. * http://jquery.org/license
  11. *
  12. * Date: 2013-2-4
  13. */
  14. (function(e, t) {
  15. function P(e) {
  16. var t = e.length,
  17. n = b.type(e);
  18. return b.isWindow(e) ? !1 : e.nodeType === 1 && t ? !0 : n === "array" || n !== "function" && (t === 0 || typeof t == "number" && t > 0 && t - 1 in e)
  19. }
  20. function B(e) {
  21. var t = H[e] = {};
  22. return b.each(e.match(E) || [],
  23. function(e, n) {
  24. t[n] = !0
  25. }),
  26. t
  27. }
  28. function I(e, n, r, i) {
  29. if (!b.acceptData(e)) return;
  30. var s, o, u = b.expando,
  31. a = typeof n == "string",
  32. f = e.nodeType,
  33. c = f ? b.cache: e,
  34. h = f ? e[u] : e[u] && u;
  35. if ((!h || !c[h] || !i && !c[h].data) && a && r === t) return;
  36. h || (f ? e[u] = h = l.pop() || b.guid++:h = u),
  37. c[h] || (c[h] = {},
  38. f || (c[h].toJSON = b.noop));
  39. if (typeof n == "object" || typeof n == "function") i ? c[h] = b.extend(c[h], n) : c[h].data = b.extend(c[h].data, n);
  40. return s = c[h],
  41. i || (s.data || (s.data = {}), s = s.data),
  42. r !== t && (s[b.camelCase(n)] = r),
  43. a ? (o = s[n], o == null && (o = s[b.camelCase(n)])) : o = s,
  44. o
  45. }
  46. function q(e, t, n) {
  47. if (!b.acceptData(e)) return;
  48. var r, i, s, o = e.nodeType,
  49. u = o ? b.cache: e,
  50. a = o ? e[b.expando] : b.expando;
  51. if (!u[a]) return;
  52. if (t) {
  53. s = n ? u[a] : u[a].data;
  54. if (s) {
  55. b.isArray(t) ? t = t.concat(b.map(t, b.camelCase)) : t in s ? t = [t] : (t = b.camelCase(t), t in s ? t = [t] : t = t.split(" "));
  56. for (r = 0, i = t.length; r < i; r++) delete s[t[r]];
  57. if (! (n ? U: b.isEmptyObject)(s)) return
  58. }
  59. }
  60. if (!n) {
  61. delete u[a].data;
  62. if (!U(u[a])) return
  63. }
  64. o ? b.cleanData([e], !0) : b.support.deleteExpando || u != u.window ? delete u[a] : u[a] = null
  65. }
  66. function R(e, n, r) {
  67. if (r === t && e.nodeType === 1) {
  68. var i = "data-" + n.replace(F, "-$1").toLowerCase();
  69. r = e.getAttribute(i);
  70. if (typeof r == "string") {
  71. try {
  72. r = r === "true" ? !0 : r === "false" ? !1 : r === "null" ? null: +r + "" === r ? +r: j.test(r) ? b.parseJSON(r) : r
  73. } catch(s) {}
  74. b.data(e, n, r)
  75. } else r = t
  76. }
  77. return r
  78. }
  79. function U(e) {
  80. var t;
  81. for (t in e) {
  82. if (t === "data" && b.isEmptyObject(e[t])) continue;
  83. if (t !== "toJSON") return ! 1
  84. }
  85. return ! 0
  86. }
  87. function it() {
  88. return ! 0
  89. }
  90. function st() {
  91. return ! 1
  92. }
  93. function ct(e, t) {
  94. do e = e[t];
  95. while (e && e.nodeType !== 1);
  96. return e
  97. }
  98. function ht(e, t, n) {
  99. t = t || 0;
  100. if (b.isFunction(t)) return b.grep(e,
  101. function(e, r) {
  102. var i = !!t.call(e, r, e);
  103. return i === n
  104. });
  105. if (t.nodeType) return b.grep(e,
  106. function(e) {
  107. return e === t === n
  108. });
  109. if (typeof t == "string") {
  110. var r = b.grep(e,
  111. function(e) {
  112. return e.nodeType === 1
  113. });
  114. if (at.test(t)) return b.filter(t, r, !n);
  115. t = b.filter(t, r)
  116. }
  117. return b.grep(e,
  118. function(e) {
  119. return b.inArray(e, t) >= 0 === n
  120. })
  121. }
  122. function pt(e) {
  123. var t = dt.split("|"),
  124. n = e.createDocumentFragment();
  125. if (n.createElement) while (t.length) n.createElement(t.pop());
  126. return n
  127. }
  128. function Mt(e, t) {
  129. return e.getElementsByTagName(t)[0] || e.appendChild(e.ownerDocument.createElement(t))
  130. }
  131. function _t(e) {
  132. var t = e.getAttributeNode("type");
  133. return e.type = (t && t.specified) + "/" + e.type,
  134. e
  135. }
  136. function Dt(e) {
  137. var t = Ct.exec(e.type);
  138. return t ? e.type = t[1] : e.removeAttribute("type"),
  139. e
  140. }
  141. function Pt(e, t) {
  142. var n, r = 0;
  143. for (; (n = e[r]) != null; r++) b._data(n, "globalEval", !t || b._data(t[r], "globalEval"))
  144. }
  145. function Ht(e, t) {
  146. if (t.nodeType !== 1 || !b.hasData(e)) return;
  147. var n, r, i, s = b._data(e),
  148. o = b._data(t, s),
  149. u = s.events;
  150. if (u) {
  151. delete o.handle,
  152. o.events = {};
  153. for (n in u) for (r = 0, i = u[n].length; r < i; r++) b.event.add(t, n, u[n][r])
  154. }
  155. o.data && (o.data = b.extend({},
  156. o.data))
  157. }
  158. function Bt(e, t) {
  159. var n, r, i;
  160. if (t.nodeType !== 1) return;
  161. n = t.nodeName.toLowerCase();
  162. if (!b.support.noCloneEvent && t[b.expando]) {
  163. i = b._data(t);
  164. for (r in i.events) b.removeEvent(t, r, i.handle);
  165. t.removeAttribute(b.expando)
  166. }
  167. if (n === "script" && t.text !== e.text) _t(t).text = e.text,
  168. Dt(t);
  169. else if (n === "object") t.parentNode && (t.outerHTML = e.outerHTML),
  170. b.support.html5Clone && e.innerHTML && !b.trim(t.innerHTML) && (t.innerHTML = e.innerHTML);
  171. else if (n === "input" && xt.test(e.type)) t.defaultChecked = t.checked = e.checked,
  172. t.value !== e.value && (t.value = e.value);
  173. else if (n === "option") t.defaultSelected = t.selected = e.defaultSelected;
  174. else if (n === "input" || n === "textarea") t.defaultValue = e.defaultValue
  175. }
  176. function jt(e, n) {
  177. var r, s, o = 0,
  178. u = typeof e.getElementsByTagName !== i ? e.getElementsByTagName(n || "*") : typeof e.querySelectorAll !== i ? e.querySelectorAll(n || "*") : t;
  179. if (!u) for (u = [], r = e.childNodes || e; (s = r[o]) != null; o++) ! n || b.nodeName(s, n) ? u.push(s) : b.merge(u, jt(s, n));
  180. return n === t || n && b.nodeName(e, n) ? b.merge([e], u) : u
  181. }
  182. function Ft(e) {
  183. xt.test(e.type) && (e.defaultChecked = e.checked)
  184. }
  185. function tn(e, t) {
  186. if (t in e) return t;
  187. var n = t.charAt(0).toUpperCase() + t.slice(1),
  188. r = t,
  189. i = en.length;
  190. while (i--) {
  191. t = en[i] + n;
  192. if (t in e) return t
  193. }
  194. return r
  195. }
  196. function nn(e, t) {
  197. return e = t || e,
  198. b.css(e, "display") === "none" || !b.contains(e.ownerDocument, e)
  199. }
  200. function rn(e, t) {
  201. var n, r, i, s = [],
  202. o = 0,
  203. u = e.length;
  204. for (; o < u; o++) {
  205. r = e[o];
  206. if (!r.style) continue;
  207. s[o] = b._data(r, "olddisplay"),
  208. n = r.style.display,
  209. t ? (!s[o] && n === "none" && (r.style.display = ""), r.style.display === "" && nn(r) && (s[o] = b._data(r, "olddisplay", an(r.nodeName)))) : s[o] || (i = nn(r), (n && n !== "none" || !i) && b._data(r, "olddisplay", i ? n: b.css(r, "display")))
  210. }
  211. for (o = 0; o < u; o++) {
  212. r = e[o];
  213. if (!r.style) continue;
  214. if (!t || r.style.display === "none" || r.style.display === "") r.style.display = t ? s[o] || "": "none"
  215. }
  216. return e
  217. }
  218. function sn(e, t, n) {
  219. var r = $t.exec(t);
  220. return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t
  221. }
  222. function on(e, t, n, r, i) {
  223. var s = n === (r ? "border": "content") ? 4 : t === "width" ? 1 : 0,
  224. o = 0;
  225. for (; s < 4; s += 2) n === "margin" && (o += b.css(e, n + Zt[s], !0, i)),
  226. r ? (n === "content" && (o -= b.css(e, "padding" + Zt[s], !0, i)), n !== "margin" && (o -= b.css(e, "border" + Zt[s] + "Width", !0, i))) : (o += b.css(e, "padding" + Zt[s], !0, i), n !== "padding" && (o += b.css(e, "border" + Zt[s] + "Width", !0, i)));
  227. return o
  228. }
  229. function un(e, t, n) {
  230. var r = !0,
  231. i = t === "width" ? e.offsetWidth: e.offsetHeight,
  232. s = qt(e),
  233. o = b.support.boxSizing && b.css(e, "boxSizing", !1, s) === "border-box";
  234. if (i <= 0 || i == null) {
  235. i = Rt(e, t, s);
  236. if (i < 0 || i == null) i = e.style[t];
  237. if (Jt.test(i)) return i;
  238. r = o && (b.support.boxSizingReliable || i === e.style[t]),
  239. i = parseFloat(i) || 0
  240. }
  241. return i + on(e, t, n || (o ? "border": "content"), r, s) + "px"
  242. }
  243. function an(e) {
  244. var t = s,
  245. n = Qt[e];
  246. if (!n) {
  247. n = fn(e, t);
  248. if (n === "none" || !n) It = (It || b("<iframe frameborder='0' width='0' height='0'/>").css("cssText", "display:block !important")).appendTo(t.documentElement),
  249. t = (It[0].contentWindow || It[0].contentDocument).document,
  250. t.write("<!doctype html><html><body>"),
  251. t.close(),
  252. n = fn(e, t),
  253. It.detach();
  254. Qt[e] = n
  255. }
  256. return n
  257. }
  258. function fn(e, t) {
  259. var n = b(t.createElement(e)).appendTo(t.body),
  260. r = b.css(n[0], "display");
  261. return n.remove(),
  262. r
  263. }
  264. function vn(e, t, n, r) {
  265. var i;
  266. if (b.isArray(t)) b.each(t,
  267. function(t, i) {
  268. n || cn.test(e) ? r(e, i) : vn(e + "[" + (typeof i == "object" ? t: "") + "]", i, n, r)
  269. });
  270. else if (!n && b.type(t) === "object") for (i in t) vn(e + "[" + i + "]", t[i], n, r);
  271. else r(e, t)
  272. }
  273. function _n(e) {
  274. return function(t, n) {
  275. typeof t != "string" && (n = t, t = "*");
  276. var r, i = 0,
  277. s = t.toLowerCase().match(E) || [];
  278. if (b.isFunction(n)) while (r = s[i++]) r[0] === "+" ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
  279. }
  280. }
  281. function Dn(e, t, n, r) {
  282. function o(u) {
  283. var a;
  284. return i[u] = !0,
  285. b.each(e[u] || [],
  286. function(e, u) {
  287. var f = u(t, n, r);
  288. if (typeof f == "string" && !s && !i[f]) return t.dataTypes.unshift(f),
  289. o(f),
  290. !1;
  291. if (s) return ! (a = f)
  292. }),
  293. a
  294. }
  295. var i = {},
  296. s = e === An;
  297. return o(t.dataTypes[0]) || !i["*"] && o("*")
  298. }
  299. function Pn(e, n) {
  300. var r, i, s = b.ajaxSettings.flatOptions || {};
  301. for (i in n) n[i] !== t && ((s[i] ? e: r || (r = {}))[i] = n[i]);
  302. return r && b.extend(!0, e, r),
  303. e
  304. }
  305. function Hn(e, n, r) {
  306. var i, s, o, u, a = e.contents,
  307. f = e.dataTypes,
  308. l = e.responseFields;
  309. for (u in l) u in r && (n[l[u]] = r[u]);
  310. while (f[0] === "*") f.shift(),
  311. s === t && (s = e.mimeType || n.getResponseHeader("Content-Type"));
  312. if (s) for (u in a) if (a[u] && a[u].test(s)) {
  313. f.unshift(u);
  314. break
  315. }
  316. if (f[0] in r) o = f[0];
  317. else {
  318. for (u in r) {
  319. if (!f[0] || e.converters[u + " " + f[0]]) {
  320. o = u;
  321. break
  322. }
  323. i || (i = u)
  324. }
  325. o = o || i
  326. }
  327. if (o) return o !== f[0] && f.unshift(o),
  328. r[o]
  329. }
  330. function Bn(e, t) {
  331. var n, r, i, s, o = {},
  332. u = 0,
  333. a = e.dataTypes.slice(),
  334. f = a[0];
  335. e.dataFilter && (t = e.dataFilter(t, e.dataType));
  336. if (a[1]) for (i in e.converters) o[i.toLowerCase()] = e.converters[i];
  337. for (; r = a[++u];) if (r !== "*") {
  338. if (f !== "*" && f !== r) {
  339. i = o[f + " " + r] || o["* " + r];
  340. if (!i) for (n in o) {
  341. s = n.split(" ");
  342. if (s[1] === r) {
  343. i = o[f + " " + s[0]] || o["* " + s[0]];
  344. if (i) {
  345. i === !0 ? i = o[n] : o[n] !== !0 && (r = s[0], a.splice(u--, 0, r));
  346. break
  347. }
  348. }
  349. }
  350. if (i !== !0) if (i && e["throws"]) t = i(t);
  351. else try {
  352. t = i(t)
  353. } catch(l) {
  354. return {
  355. state: "parsererror",
  356. error: i ? l: "No conversion from " + f + " to " + r
  357. }
  358. }
  359. }
  360. f = r
  361. }
  362. return {
  363. state: "success",
  364. data: t
  365. }
  366. }
  367. function zn() {
  368. try {
  369. return new e.XMLHttpRequest
  370. } catch(t) {}
  371. }
  372. function Wn() {
  373. try {
  374. return new e.ActiveXObject("Microsoft.XMLHTTP")
  375. } catch(t) {}
  376. }
  377. function Yn() {
  378. return setTimeout(function() {
  379. Xn = t
  380. }),
  381. Xn = b.now()
  382. }
  383. function Zn(e, t) {
  384. b.each(t,
  385. function(t, n) {
  386. var r = (Gn[t] || []).concat(Gn["*"]),
  387. i = 0,
  388. s = r.length;
  389. for (; i < s; i++) if (r[i].call(e, t, n)) return
  390. })
  391. }
  392. function er(e, t, n) {
  393. var r, i, s = 0,
  394. o = Qn.length,
  395. u = b.Deferred().always(function() {
  396. delete a.elem
  397. }),
  398. a = function() {
  399. if (i) return ! 1;
  400. var t = Xn || Yn(),
  401. n = Math.max(0, f.startTime + f.duration - t),
  402. r = n / f.duration || 0,
  403. s = 1 - r,
  404. o = 0,
  405. a = f.tweens.length;
  406. for (; o < a; o++) f.tweens[o].run(s);
  407. return u.notifyWith(e, [f, s, n]),
  408. s < 1 && a ? n: (u.resolveWith(e, [f]), !1)
  409. },
  410. f = u.promise({
  411. elem: e,
  412. props: b.extend({},
  413. t),
  414. opts: b.extend(!0, {
  415. specialEasing: {}
  416. },
  417. n),
  418. originalProperties: t,
  419. originalOptions: n,
  420. startTime: Xn || Yn(),
  421. duration: n.duration,
  422. tweens: [],
  423. createTween: function(t, n) {
  424. var r = b.Tween(e, f.opts, t, n, f.opts.specialEasing[t] || f.opts.easing);
  425. return f.tweens.push(r),
  426. r
  427. },
  428. stop: function(t) {
  429. var n = 0,
  430. r = t ? f.tweens.length: 0;
  431. if (i) return this;
  432. i = !0;
  433. for (; n < r; n++) f.tweens[n].run(1);
  434. return t ? u.resolveWith(e, [f, t]) : u.rejectWith(e, [f, t]),
  435. this
  436. }
  437. }),
  438. l = f.props;
  439. tr(l, f.opts.specialEasing);
  440. for (; s < o; s++) {
  441. r = Qn[s].call(f, e, l, f.opts);
  442. if (r) return r
  443. }
  444. return Zn(f, l),
  445. b.isFunction(f.opts.start) && f.opts.start.call(e, f),
  446. b.fx.timer(b.extend(a, {
  447. elem: e,
  448. anim: f,
  449. queue: f.opts.queue
  450. })),
  451. f.progress(f.opts.progress).done(f.opts.done, f.opts.complete).fail(f.opts.fail).always(f.opts.always)
  452. }
  453. function tr(e, t) {
  454. var n, r, i, s, o;
  455. for (i in e) {
  456. r = b.camelCase(i),
  457. s = t[r],
  458. n = e[i],
  459. b.isArray(n) && (s = n[1], n = e[i] = n[0]),
  460. i !== r && (e[r] = n, delete e[i]),
  461. o = b.cssHooks[r];
  462. if (o && "expand" in o) {
  463. n = o.expand(n),
  464. delete e[r];
  465. for (i in n) i in e || (e[i] = n[i], t[i] = s)
  466. } else t[r] = s
  467. }
  468. }
  469. function nr(e, t, n) {
  470. var r, i, s, o, u, a, f, l, c, h = this,
  471. p = e.style,
  472. d = {},
  473. v = [],
  474. m = e.nodeType && nn(e);
  475. n.queue || (l = b._queueHooks(e, "fx"), l.unqueued == null && (l.unqueued = 0, c = l.empty.fire, l.empty.fire = function() {
  476. l.unqueued || c()
  477. }), l.unqueued++, h.always(function() {
  478. h.always(function() {
  479. l.unqueued--,
  480. b.queue(e, "fx").length || l.empty.fire()
  481. })
  482. })),
  483. e.nodeType === 1 && ("height" in t || "width" in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], b.css(e, "display") === "inline" && b.css(e, "float") === "none" && (!b.support.inlineBlockNeedsLayout || an(e.nodeName) === "inline" ? p.display = "inline-block": p.zoom = 1)),
  484. n.overflow && (p.overflow = "hidden", b.support.shrinkWrapBlocks || h.always(function() {
  485. p.overflow = n.overflow[0],
  486. p.overflowX = n.overflow[1],
  487. p.overflowY = n.overflow[2]
  488. }));
  489. for (i in t) {
  490. o = t[i];
  491. if ($n.exec(o)) {
  492. delete t[i],
  493. a = a || o === "toggle";
  494. if (o === (m ? "hide": "show")) continue;
  495. v.push(i)
  496. }
  497. }
  498. s = v.length;
  499. if (s) {
  500. u = b._data(e, "fxshow") || b._data(e, "fxshow", {}),
  501. "hidden" in u && (m = u.hidden),
  502. a && (u.hidden = !m),
  503. m ? b(e).show() : h.done(function() {
  504. b(e).hide()
  505. }),
  506. h.done(function() {
  507. var t;
  508. b._removeData(e, "fxshow");
  509. for (t in d) b.style(e, t, d[t])
  510. });
  511. for (i = 0; i < s; i++) r = v[i],
  512. f = h.createTween(r, m ? u[r] : 0),
  513. d[r] = u[r] || b.style(e, r),
  514. r in u || (u[r] = f.start, m && (f.end = f.start, f.start = r === "width" || r === "height" ? 1 : 0))
  515. }
  516. }
  517. function rr(e, t, n, r, i) {
  518. return new rr.prototype.init(e, t, n, r, i)
  519. }
  520. function ir(e, t) {
  521. var n, r = {
  522. height: e
  523. },
  524. i = 0;
  525. t = t ? 1 : 0;
  526. for (; i < 4; i += 2 - t) n = Zt[i],
  527. r["margin" + n] = r["padding" + n] = e;
  528. return t && (r.opacity = r.width = e),
  529. r
  530. }
  531. function sr(e) {
  532. return b.isWindow(e) ? e: e.nodeType === 9 ? e.defaultView || e.parentWindow: !1
  533. }
  534. var n, r, i = typeof t,
  535. s = e.document,
  536. o = e.location,
  537. u = e.jQuery,
  538. a = e.$,
  539. f = {},
  540. l = [],
  541. c = "1.9.1",
  542. h = l.concat,
  543. p = l.push,
  544. d = l.slice,
  545. v = l.indexOf,
  546. m = f.toString,
  547. g = f.hasOwnProperty,
  548. y = c.trim,
  549. b = function(e, t) {
  550. return new b.fn.init(e, t, r)
  551. },
  552. w = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
  553. E = /\S+/g,
  554. S = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
  555. x = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
  556. T = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
  557. N = /^[\],:{}\s]*$/,
  558. C = /(?:^|:|,)(?:\s*\[)+/g,
  559. k = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
  560. L = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
  561. A = /^-ms-/,
  562. O = /-([\da-z])/gi,
  563. M = function(e, t) {
  564. return t.toUpperCase()
  565. },
  566. _ = function(e) {
  567. if (s.addEventListener || e.type === "load" || s.readyState === "complete") D(),
  568. b.ready()
  569. },
  570. D = function() {
  571. s.addEventListener ? (s.removeEventListener("DOMContentLoaded", _, !1), e.removeEventListener("load", _, !1)) : (s.detachEvent("onreadystatechange", _), e.detachEvent("onload", _))
  572. };
  573. b.fn = b.prototype = {
  574. jquery: c,
  575. constructor: b,
  576. init: function(e, n, r) {
  577. var i, o;
  578. if (!e) return this;
  579. if (typeof e == "string") {
  580. e.charAt(0) === "<" && e.charAt(e.length - 1) === ">" && e.length >= 3 ? i = [null, e, null] : i = x.exec(e);
  581. if (i && (i[1] || !n)) {
  582. if (i[1]) {
  583. n = n instanceof b ? n[0] : n,
  584. b.merge(this, b.parseHTML(i[1], n && n.nodeType ? n.ownerDocument || n: s, !0));
  585. if (T.test(i[1]) && b.isPlainObject(n)) for (i in n) b.isFunction(this[i]) ? this[i](n[i]) : this.attr(i, n[i]);
  586. return this
  587. }
  588. o = s.getElementById(i[2]);
  589. if (o && o.parentNode) {
  590. if (o.id !== i[2]) return r.find(e);
  591. this.length = 1,
  592. this[0] = o
  593. }
  594. return this.context = s,
  595. this.selector = e,
  596. this
  597. }
  598. return ! n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e)
  599. }
  600. return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : b.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), b.makeArray(e, this))
  601. },
  602. selector: "",
  603. length: 0,
  604. size: function() {
  605. return this.length
  606. },
  607. toArray: function() {
  608. return d.call(this)
  609. },
  610. get: function(e) {
  611. return e == null ? this.toArray() : e < 0 ? this[this.length + e] : this[e]
  612. },
  613. pushStack: function(e) {
  614. var t = b.merge(this.constructor(), e);
  615. return t.prevObject = this,
  616. t.context = this.context,
  617. t
  618. },
  619. each: function(e, t) {
  620. return b.each(this, e, t)
  621. },
  622. ready: function(e) {
  623. return b.ready.promise().done(e),
  624. this
  625. },
  626. slice: function() {
  627. return this.pushStack(d.apply(this, arguments))
  628. },
  629. first: function() {
  630. return this.eq(0)
  631. },
  632. last: function() {
  633. return this.eq( - 1)
  634. },
  635. eq: function(e) {
  636. var t = this.length,
  637. n = +e + (e < 0 ? t: 0);
  638. return this.pushStack(n >= 0 && n < t ? [this[n]] : [])
  639. },
  640. map: function(e) {
  641. return this.pushStack(b.map(this,
  642. function(t, n) {
  643. return e.call(t, n, t)
  644. }))
  645. },
  646. end: function() {
  647. return this.prevObject || this.constructor(null)
  648. },
  649. push: p,
  650. sort: [].sort,
  651. splice: [].splice
  652. },
  653. b.fn.init.prototype = b.fn,
  654. b.extend = b.fn.extend = function() {
  655. var e, n, r, i, s, o, u = arguments[0] || {},
  656. a = 1,
  657. f = arguments.length,
  658. l = !1;
  659. typeof u == "boolean" && (l = u, u = arguments[1] || {},
  660. a = 2),
  661. typeof u != "object" && !b.isFunction(u) && (u = {}),
  662. f === a && (u = this, --a);
  663. for (; a < f; a++) if ((s = arguments[a]) != null) for (i in s) {
  664. e = u[i],
  665. r = s[i];
  666. if (u === r) continue;
  667. l && r && (b.isPlainObject(r) || (n = b.isArray(r))) ? (n ? (n = !1, o = e && b.isArray(e) ? e: []) : o = e && b.isPlainObject(e) ? e: {},
  668. u[i] = b.extend(l, o, r)) : r !== t && (u[i] = r)
  669. }
  670. return u
  671. },
  672. b.extend({
  673. noConflict: function(t) {
  674. return e.$ === b && (e.$ = a),
  675. t && e.jQuery === b && (e.jQuery = u),
  676. b
  677. },
  678. isReady: !1,
  679. readyWait: 1,
  680. holdReady: function(e) {
  681. e ? b.readyWait++:b.ready(!0)
  682. },
  683. ready: function(e) {
  684. if (e === !0 ? --b.readyWait: b.isReady) return;
  685. if (!s.body) return setTimeout(b.ready);
  686. b.isReady = !0;
  687. if (e !== !0 && --b.readyWait > 0) return;
  688. n.resolveWith(s, [b]),
  689. b.fn.trigger && b(s).trigger("ready").off("ready")
  690. },
  691. isFunction: function(e) {
  692. return b.type(e) === "function"
  693. },
  694. isArray: Array.isArray ||
  695. function(e) {
  696. return b.type(e) === "array"
  697. },
  698. isWindow: function(e) {
  699. return e != null && e == e.window
  700. },
  701. isNumeric: function(e) {
  702. return ! isNaN(parseFloat(e)) && isFinite(e)
  703. },
  704. type: function(e) {
  705. return e == null ? String(e) : typeof e == "object" || typeof e == "function" ? f[m.call(e)] || "object": typeof e
  706. },
  707. isPlainObject: function(e) {
  708. if (!e || b.type(e) !== "object" || e.nodeType || b.isWindow(e)) return ! 1;
  709. try {
  710. if (e.constructor && !g.call(e, "constructor") && !g.call(e.constructor.prototype, "isPrototypeOf")) return ! 1
  711. } catch(n) {
  712. return ! 1
  713. }
  714. var r;
  715. for (r in e);
  716. return r === t || g.call(e, r)
  717. },
  718. isEmptyObject: function(e) {
  719. var t;
  720. for (t in e) return ! 1;
  721. return ! 0
  722. },
  723. error: function(e) {
  724. throw new Error(e)
  725. },
  726. parseHTML: function(e, t, n) {
  727. if (!e || typeof e != "string") return null;
  728. typeof t == "boolean" && (n = t, t = !1),
  729. t = t || s;
  730. var r = T.exec(e),
  731. i = !n && [];
  732. return r ? [t.createElement(r[1])] : (r = b.buildFragment([e], t, i), i && b(i).remove(), b.merge([], r.childNodes))
  733. },
  734. parseJSON: function(t) {
  735. if (e.JSON && e.JSON.parse) return e.JSON.parse(t);
  736. if (t === null) return t;
  737. if (typeof t == "string") {
  738. t = b.trim(t);
  739. if (t && N.test(t.replace(k, "@").replace(L, "]").replace(C, ""))) return (new Function("return " + t))()
  740. }
  741. b.error("Invalid JSON: " + t)
  742. },
  743. parseXML: function(n) {
  744. var r, i;
  745. if (!n || typeof n != "string") return null;
  746. try {
  747. e.DOMParser ? (i = new DOMParser, r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"), r.async = "false", r.loadXML(n))
  748. } catch(s) {
  749. r = t
  750. }
  751. return (!r || !r.documentElement || r.getElementsByTagName("parsererror").length) && b.error("Invalid XML: " + n),
  752. r
  753. },
  754. noop: function() {},
  755. globalEval: function(t) {
  756. t && b.trim(t) && (e.execScript ||
  757. function(t) {
  758. e.eval.call(e, t)
  759. })(t)
  760. },
  761. camelCase: function(e) {
  762. return e.replace(A, "ms-").replace(O, M)
  763. },
  764. nodeName: function(e, t) {
  765. return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
  766. },
  767. each: function(e, t, n) {
  768. var r, i = 0,
  769. s = e.length,
  770. o = P(e);
  771. if (n) if (o) for (; i < s; i++) {
  772. r = t.apply(e[i], n);
  773. if (r === !1) break
  774. } else for (i in e) {
  775. r = t.apply(e[i], n);
  776. if (r === !1) break
  777. } else if (o) for (; i < s; i++) {
  778. r = t.call(e[i], i, e[i]);
  779. if (r === !1) break
  780. } else for (i in e) {
  781. r = t.call(e[i], i, e[i]);
  782. if (r === !1) break
  783. }
  784. return e
  785. },
  786. trim: y && !y.call(" ") ?
  787. function(e) {
  788. return e == null ? "": y.call(e)
  789. }: function(e) {
  790. return e == null ? "": (e + "").replace(S, "")
  791. },
  792. makeArray: function(e, t) {
  793. var n = t || [];
  794. return e != null && (P(Object(e)) ? b.merge(n, typeof e == "string" ? [e] : e) : p.call(n, e)),
  795. n
  796. },
  797. inArray: function(e, t, n) {
  798. var r;
  799. if (t) {
  800. if (v) return v.call(t, e, n);
  801. r = t.length,
  802. n = n ? n < 0 ? Math.max(0, r + n) : n: 0;
  803. for (; n < r; n++) if (n in t && t[n] === e) return n
  804. }
  805. return - 1
  806. },
  807. merge: function(e, n) {
  808. var r = n.length,
  809. i = e.length,
  810. s = 0;
  811. if (typeof r == "number") for (; s < r; s++) e[i++] = n[s];
  812. else while (n[s] !== t) e[i++] = n[s++];
  813. return e.length = i,
  814. e
  815. },
  816. grep: function(e, t, n) {
  817. var r, i = [],
  818. s = 0,
  819. o = e.length;
  820. n = !!n;
  821. for (; s < o; s++) r = !!t(e[s], s),
  822. n !== r && i.push(e[s]);
  823. return i
  824. },
  825. map: function(e, t, n) {
  826. var r, i = 0,
  827. s = e.length,
  828. o = P(e),
  829. u = [];
  830. if (o) for (; i < s; i++) r = t(e[i], i, n),
  831. r != null && (u[u.length] = r);
  832. else for (i in e) r = t(e[i], i, n),
  833. r != null && (u[u.length] = r);
  834. return h.apply([], u)
  835. },
  836. guid: 1,
  837. proxy: function(e, n) {
  838. var r, i, s;
  839. return typeof n == "string" && (s = e[n], n = e, e = s),
  840. b.isFunction(e) ? (r = d.call(arguments, 2), i = function() {
  841. return e.apply(n || this, r.concat(d.call(arguments)))
  842. },
  843. i.guid = e.guid = e.guid || b.guid++, i) : t
  844. },
  845. access: function(e, n, r, i, s, o, u) {
  846. var a = 0,
  847. f = e.length,
  848. l = r == null;
  849. if (b.type(r) === "object") {
  850. s = !0;
  851. for (a in r) b.access(e, n, a, r[a], !0, o, u)
  852. } else if (i !== t) {
  853. s = !0,
  854. b.isFunction(i) || (u = !0),
  855. l && (u ? (n.call(e, i), n = null) : (l = n, n = function(e, t, n) {
  856. return l.call(b(e), n)
  857. }));
  858. if (n) for (; a < f; a++) n(e[a], r, u ? i: i.call(e[a], a, n(e[a], r)))
  859. }
  860. return s ? e: l ? n.call(e) : f ? n(e[0], r) : o
  861. },
  862. now: function() {
  863. return (new Date).getTime()
  864. }
  865. }),
  866. b.ready.promise = function(t) {
  867. if (!n) {
  868. n = b.Deferred();
  869. if (s.readyState === "complete") setTimeout(b.ready);
  870. else if (s.addEventListener) s.addEventListener("DOMContentLoaded", _, !1),
  871. e.addEventListener("load", _, !1);
  872. else {
  873. s.attachEvent("onreadystatechange", _),
  874. e.attachEvent("onload", _);
  875. var r = !1;
  876. try {
  877. r = e.frameElement == null && s.documentElement
  878. } catch(i) {}
  879. r && r.doScroll &&
  880. function o() {
  881. if (!b.isReady) {
  882. try {
  883. r.doScroll("left")
  884. } catch(e) {
  885. return setTimeout(o, 50)
  886. }
  887. D(),
  888. b.ready()
  889. }
  890. } ()
  891. }
  892. }
  893. return n.promise(t)
  894. },
  895. b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),
  896. function(e, t) {
  897. f["[object " + t + "]"] = t.toLowerCase()
  898. }),
  899. r = b(s);
  900. var H = {};
  901. b.Callbacks = function(e) {
  902. e = typeof e == "string" ? H[e] || B(e) : b.extend({},
  903. e);
  904. var n, r, i, s, o, u, a = [],
  905. f = !e.once && [],
  906. l = function(t) {
  907. r = e.memory && t,
  908. i = !0,
  909. o = u || 0,
  910. u = 0,
  911. s = a.length,
  912. n = !0;
  913. for (; a && o < s; o++) if (a[o].apply(t[0], t[1]) === !1 && e.stopOnFalse) {
  914. r = !1;
  915. break
  916. }
  917. n = !1,
  918. a && (f ? f.length && l(f.shift()) : r ? a = [] : c.disable())
  919. },
  920. c = {
  921. add: function() {
  922. if (a) {
  923. var t = a.length; (function i(t) {
  924. b.each(t,
  925. function(t, n) {
  926. var r = b.type(n);
  927. r === "function" ? (!e.unique || !c.has(n)) && a.push(n) : n && n.length && r !== "string" && i(n)
  928. })
  929. })(arguments),
  930. n ? s = a.length: r && (u = t, l(r))
  931. }
  932. return this
  933. },
  934. remove: function() {
  935. return a && b.each(arguments,
  936. function(e, t) {
  937. var r;
  938. while ((r = b.inArray(t, a, r)) > -1) a.splice(r, 1),
  939. n && (r <= s && s--, r <= o && o--)
  940. }),
  941. this
  942. },
  943. has: function(e) {
  944. return e ? b.inArray(e, a) > -1 : !!a && !!a.length
  945. },
  946. empty: function() {
  947. return a = [],
  948. this
  949. },
  950. disable: function() {
  951. return a = f = r = t,
  952. this
  953. },
  954. disabled: function() {
  955. return ! a
  956. },
  957. lock: function() {
  958. return f = t,
  959. r || c.disable(),
  960. this
  961. },
  962. locked: function() {
  963. return ! f
  964. },
  965. fireWith: function(e, t) {
  966. return t = t || [],
  967. t = [e, t.slice ? t.slice() : t],
  968. a && (!i || f) && (n ? f.push(t) : l(t)),
  969. this
  970. },
  971. fire: function() {
  972. return c.fireWith(this, arguments),
  973. this
  974. },
  975. fired: function() {
  976. return !! i
  977. }
  978. };
  979. return c
  980. },
  981. b.extend({
  982. Deferred: function(e) {
  983. var t = [["resolve", "done", b.Callbacks("once memory"), "resolved"], ["reject", "fail", b.Callbacks("once memory"), "rejected"], ["notify", "progress", b.Callbacks("memory")]],
  984. n = "pending",
  985. r = {
  986. state: function() {
  987. return n
  988. },
  989. always: function() {
  990. return i.done(arguments).fail(arguments),
  991. this
  992. },
  993. then: function() {
  994. var e = arguments;
  995. return b.Deferred(function(n) {
  996. b.each(t,
  997. function(t, s) {
  998. var o = s[0],
  999. u = b.isFunction(e[t]) && e[t];
  1000. i[s[1]](function() {
  1001. var e = u && u.apply(this, arguments);
  1002. e && b.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[o + "With"](this === r ? n.promise() : this, u ? [e] : arguments)
  1003. })
  1004. }),
  1005. e = null
  1006. }).promise()
  1007. },
  1008. promise: function(e) {
  1009. return e != null ? b.extend(e, r) : r
  1010. }
  1011. },
  1012. i = {};
  1013. return r.pipe = r.then,
  1014. b.each(t,
  1015. function(e, s) {
  1016. var o = s[2],
  1017. u = s[3];
  1018. r[s[1]] = o.add,
  1019. u && o.add(function() {
  1020. n = u
  1021. },
  1022. t[e ^ 1][2].disable, t[2][2].lock),
  1023. i[s[0]] = function() {
  1024. return i[s[0] + "With"](this === i ? r: this, arguments),
  1025. this
  1026. },
  1027. i[s[0] + "With"] = o.fireWith
  1028. }),
  1029. r.promise(i),
  1030. e && e.call(i, i),
  1031. i
  1032. },
  1033. when: function(e) {
  1034. var t = 0,
  1035. n = d.call(arguments),
  1036. r = n.length,
  1037. i = r !== 1 || e && b.isFunction(e.promise) ? r: 0,
  1038. s = i === 1 ? e: b.Deferred(),
  1039. o = function(e, t, n) {
  1040. return function(r) {
  1041. t[e] = this,
  1042. n[e] = arguments.length > 1 ? d.call(arguments) : r,
  1043. n === u ? s.notifyWith(t, n) : --i || s.resolveWith(t, n)
  1044. }
  1045. },
  1046. u,
  1047. a,
  1048. f;
  1049. if (r > 1) {
  1050. u = new Array(r),
  1051. a = new Array(r),
  1052. f = new Array(r);
  1053. for (; t < r; t++) n[t] && b.isFunction(n[t].promise) ? n[t].promise().done(o(t, f, n)).fail(s.reject).progress(o(t, a, u)) : --i
  1054. }
  1055. return i || s.resolveWith(f, n),
  1056. s.promise()
  1057. }
  1058. }),
  1059. b.support = function() {
  1060. var t, n, r, o, u, a, f, l, c, h, p = s.createElement("div");
  1061. p.setAttribute("className", "t"),
  1062. p.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",
  1063. n = p.getElementsByTagName("*"),
  1064. r = p.getElementsByTagName("a")[0];
  1065. if (!n || !r || !n.length) return {};
  1066. u = s.createElement("select"),
  1067. f = u.appendChild(s.createElement("option")),
  1068. o = p.getElementsByTagName("input")[0],
  1069. r.style.cssText = "top:1px;float:left;opacity:.5",
  1070. t = {
  1071. getSetAttribute: p.className !== "t",
  1072. leadingWhitespace: p.firstChild.nodeType === 3,
  1073. tbody: !p.getElementsByTagName("tbody").length,
  1074. htmlSerialize: !!p.getElementsByTagName("link").length,
  1075. style: /top/.test(r.getAttribute("style")),
  1076. hrefNormalized: r.getAttribute("href") === "/a",
  1077. opacity: /^0.5/.test(r.style.opacity),
  1078. cssFloat: !!r.style.cssFloat,
  1079. checkOn: !!o.value,
  1080. optSelected: f.selected,
  1081. enctype: !!s.createElement("form").enctype,
  1082. html5Clone: s.createElement("nav").cloneNode(!0).outerHTML !== "<:nav></:nav>",
  1083. boxModel: s.compatMode === "CSS1Compat",
  1084. deleteExpando: !0,
  1085. noCloneEvent: !0,
  1086. inlineBlockNeedsLayout: !1,
  1087. shrinkWrapBlocks: !1,
  1088. reliableMarginRight: !0,
  1089. boxSizingReliable: !0,
  1090. pixelPosition: !1
  1091. },
  1092. o.checked = !0,
  1093. t.noCloneChecked = o.cloneNode(!0).checked,
  1094. u.disabled = !0,
  1095. t.optDisabled = !f.disabled;
  1096. try {
  1097. delete p.test
  1098. } catch(d) {
  1099. t.deleteExpando = !1
  1100. }
  1101. o = s.createElement("input"),
  1102. o.setAttribute("value", ""),
  1103. t.input = o.getAttribute("value") === "",
  1104. o.value = "t",
  1105. o.setAttribute("type", "radio"),
  1106. t.radioValue = o.value === "t",
  1107. o.setAttribute("checked", "t"),
  1108. o.setAttribute("name", "t"),
  1109. a = s.createDocumentFragment(),
  1110. a.appendChild(o),
  1111. t.appendChecked = o.checked,
  1112. t.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked,
  1113. p.attachEvent && (p.attachEvent("onclick",
  1114. function() {
  1115. t.noCloneEvent = !1
  1116. }), p.cloneNode(!0).click());
  1117. for (h in {
  1118. submit: !0,
  1119. change: !0,
  1120. focusin: !0
  1121. }) p.setAttribute(l = "on" + h, "t"),
  1122. t[h + "Bubbles"] = l in e || p.attributes[l].expando === !1;
  1123. return p.style.backgroundClip = "content-box",
  1124. p.cloneNode(!0).style.backgroundClip = "",
  1125. t.clearCloneStyle = p.style.backgroundClip === "content-box",
  1126. b(function() {
  1127. var n, r, o, u = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",
  1128. a = s.getElementsByTagName("body")[0];
  1129. if (!a) return;
  1130. n = s.createElement("div"),
  1131. n.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",
  1132. a.appendChild(n).appendChild(p),
  1133. p.innerHTML = "<table><tr><td></td><td>t</td></tr></table>",
  1134. o = p.getElementsByTagName("td"),
  1135. o[0].style.cssText = "padding:0;margin:0;border:0;display:none",
  1136. c = o[0].offsetHeight === 0,
  1137. o[0].style.display = "",
  1138. o[1].style.display = "none",
  1139. t.reliableHiddenOffsets = c && o[0].offsetHeight === 0,
  1140. p.innerHTML = "",
  1141. p.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",
  1142. t.boxSizing = p.offsetWidth === 4,
  1143. t.doesNotIncludeMarginInBodyOffset = a.offsetTop !== 1,
  1144. e.getComputedStyle && (t.pixelPosition = (e.getComputedStyle(p, null) || {}).top !== "1%", t.boxSizingReliable = (e.getComputedStyle(p, null) || {
  1145. width: "4px"
  1146. }).width === "4px", r = p.appendChild(s.createElement("div")), r.style.cssText = p.style.cssText = u, r.style.marginRight = r.style.width = "0", p.style.width = "1px", t.reliableMarginRight = !parseFloat((e.getComputedStyle(r, null) || {}).marginRight)),
  1147. typeof p.style.zoom !== i && (p.innerHTML = "", p.style.cssText = u + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = p.offsetWidth === 3, p.style.display = "block", p.innerHTML = "<div></div>", p.firstChild.style.width = "5px", t.shrinkWrapBlocks = p.offsetWidth !== 3, t.inlineBlockNeedsLayout && (a.style.zoom = 1)),
  1148. a.removeChild(n),
  1149. n = p = o = r = null
  1150. }),
  1151. n = u = a = f = r = o = null,
  1152. t
  1153. } ();
  1154. var j = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
  1155. F = /([A-Z])/g;
  1156. b.extend({
  1157. cache: {},
  1158. expando: "jQuery" + (c + Math.random()).replace(/\D/g, ""),
  1159. noData: {
  1160. embed: !0,
  1161. object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
  1162. applet: !0
  1163. },
  1164. hasData: function(e) {
  1165. return e = e.nodeType ? b.cache[e[b.expando]] : e[b.expando],
  1166. !!e && !U(e)
  1167. },
  1168. data: function(e, t, n) {
  1169. return I(e, t, n)
  1170. },
  1171. removeData: function(e, t) {
  1172. return q(e, t)
  1173. },
  1174. _data: function(e, t, n) {
  1175. return I(e, t, n, !0)
  1176. },
  1177. _removeData: function(e, t) {
  1178. return q(e, t, !0)
  1179. },
  1180. acceptData: function(e) {
  1181. if (e.nodeType && e.nodeType !== 1 && e.nodeType !== 9) return ! 1;
  1182. var t = e.nodeName && b.noData[e.nodeName.toLowerCase()];
  1183. return ! t || t !== !0 && e.getAttribute("classid") === t
  1184. }
  1185. }),
  1186. b.fn.extend({
  1187. data: function(e, n) {
  1188. var r, i, s = this[0],
  1189. o = 0,
  1190. u = null;
  1191. if (e === t) {
  1192. if (this.length) {
  1193. u = b.data(s);
  1194. if (s.nodeType === 1 && !b._data(s, "parsedAttrs")) {
  1195. r = s.attributes;
  1196. for (; o < r.length; o++) i = r[o].name,
  1197. i.indexOf("data-") || (i = b.camelCase(i.slice(5)), R(s, i, u[i]));
  1198. b._data(s, "parsedAttrs", !0)
  1199. }
  1200. }
  1201. return u
  1202. }
  1203. return typeof e == "object" ? this.each(function() {
  1204. b.data(this, e)
  1205. }) : b.access(this,
  1206. function(n) {
  1207. if (n === t) return s ? R(s, e, b.data(s, e)) : null;
  1208. this.each(function() {
  1209. b.data(this, e, n)
  1210. })
  1211. },
  1212. null, n, arguments.length > 1, null, !0)
  1213. },
  1214. removeData: function(e) {
  1215. return this.each(function() {
  1216. b.removeData(this, e)
  1217. })
  1218. }
  1219. }),
  1220. b.extend({
  1221. queue: function(e, t, n) {
  1222. var r;
  1223. if (e) return t = (t || "fx") + "queue",
  1224. r = b._data(e, t),
  1225. n && (!r || b.isArray(n) ? r = b._data(e, t, b.makeArray(n)) : r.push(n)),
  1226. r || []
  1227. },
  1228. dequeue: function(e, t) {
  1229. t = t || "fx";
  1230. var n = b.queue(e, t),
  1231. r = n.length,
  1232. i = n.shift(),
  1233. s = b._queueHooks(e, t),
  1234. o = function() {
  1235. b.dequeue(e, t)
  1236. };
  1237. i === "inprogress" && (i = n.shift(), r--),
  1238. s.cur = i,
  1239. i && (t === "fx" && n.unshift("inprogress"), delete s.stop, i.call(e, o, s)),
  1240. !r && s && s.empty.fire()
  1241. },
  1242. _queueHooks: function(e, t) {
  1243. var n = t + "queueHooks";
  1244. return b._data(e, n) || b._data(e, n, {
  1245. empty: b.Callbacks("once memory").add(function() {
  1246. b._removeData(e, t + "queue"),
  1247. b._removeData(e, n)
  1248. })
  1249. })
  1250. }
  1251. }),
  1252. b.fn.extend({
  1253. queue: function(e, n) {
  1254. var r = 2;
  1255. return typeof e != "string" && (n = e, e = "fx", r--),
  1256. arguments.length < r ? b.queue(this[0], e) : n === t ? this: this.each(function() {
  1257. var t = b.queue(this, e, n);
  1258. b._queueHooks(this, e),
  1259. e === "fx" && t[0] !== "inprogress" && b.dequeue(this, e)
  1260. })
  1261. },
  1262. dequeue: function(e) {
  1263. return this.each(function() {
  1264. b.dequeue(this, e)
  1265. })
  1266. },
  1267. delay: function(e, t) {
  1268. return e = b.fx ? b.fx.speeds[e] || e: e,
  1269. t = t || "fx",
  1270. this.queue(t,
  1271. function(t, n) {
  1272. var r = setTimeout(t, e);
  1273. n.stop = function() {
  1274. clearTimeout(r)
  1275. }
  1276. })
  1277. },
  1278. clearQueue: function(e) {
  1279. return this.queue(e || "fx", [])
  1280. },
  1281. promise: function(e, n) {
  1282. var r, i = 1,
  1283. s = b.Deferred(),
  1284. o = this,
  1285. u = this.length,
  1286. a = function() {--i || s.resolveWith(o, [o])
  1287. };
  1288. typeof e != "string" && (n = e, e = t),
  1289. e = e || "fx";
  1290. while (u--) r = b._data(o[u], e + "queueHooks"),
  1291. r && r.empty && (i++, r.empty.add(a));
  1292. return a(),
  1293. s.promise(n)
  1294. }
  1295. });
  1296. var z, W, X = /[\t\r\n]/g,
  1297. V = /\r/g,
  1298. $ = /^(?:input|select|textarea|button|object)$/i,
  1299. J = /^(?:a|area)$/i,
  1300. K = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,
  1301. Q = /^(?:checked|selected)$/i,
  1302. G = b.support.getSetAttribute,
  1303. Y = b.support.input;
  1304. b.fn.extend({
  1305. attr: function(e, t) {
  1306. return b.access(this, b.attr, e, t, arguments.length > 1)
  1307. },
  1308. removeAttr: function(e) {
  1309. return this.each(function() {
  1310. b.removeAttr(this, e)
  1311. })
  1312. },
  1313. prop: function(e, t) {
  1314. return b.access(this, b.prop, e, t, arguments.length > 1)
  1315. },
  1316. removeProp: function(e) {
  1317. return e = b.propFix[e] || e,
  1318. this.each(function() {
  1319. try {
  1320. this[e] = t,
  1321. delete this[e]
  1322. } catch(n) {}
  1323. })
  1324. },
  1325. addClass: function(e) {
  1326. var t, n, r, i, s, o = 0,
  1327. u = this.length,
  1328. a = typeof e == "string" && e;
  1329. if (b.isFunction(e)) return this.each(function(t) {
  1330. b(this).addClass(e.call(this, t, this.className))
  1331. });
  1332. if (a) {
  1333. t = (e || "").match(E) || [];
  1334. for (; o < u; o++) {
  1335. n = this[o],
  1336. r = n.nodeType === 1 && (n.className ? (" " + n.className + " ").replace(X, " ") : " ");
  1337. if (r) {
  1338. s = 0;
  1339. while (i = t[s++]) r.indexOf(" " + i + " ") < 0 && (r += i + " ");
  1340. n.className = b.trim(r)
  1341. }
  1342. }
  1343. }
  1344. return this
  1345. },
  1346. removeClass: function(e) {
  1347. var t, n, r, i, s, o = 0,
  1348. u = this.length,
  1349. a = arguments.length === 0 || typeof e == "string" && e;
  1350. if (b.isFunction(e)) return this.each(function(t) {
  1351. b(this).removeClass(e.call(this, t, this.className))
  1352. });
  1353. if (a) {
  1354. t = (e || "").match(E) || [];
  1355. for (; o < u; o++) {
  1356. n = this[o],
  1357. r = n.nodeType === 1 && (n.className ? (" " + n.className + " ").replace(X, " ") : "");
  1358. if (r) {
  1359. s = 0;
  1360. while (i = t[s++]) while (r.indexOf(" " + i + " ") >= 0) r = r.replace(" " + i + " ", " ");
  1361. n.className = e ? b.trim(r) : ""
  1362. }
  1363. }
  1364. }
  1365. return this
  1366. },
  1367. toggleClass: function(e, t) {
  1368. var n = typeof e,
  1369. r = typeof t == "boolean";
  1370. return b.isFunction(e) ? this.each(function(n) {
  1371. b(this).toggleClass(e.call(this, n, this.className, t), t)
  1372. }) : this.each(function() {
  1373. if (n === "string") {
  1374. var s, o = 0,
  1375. u = b(this),
  1376. a = t,
  1377. f = e.match(E) || [];
  1378. while (s = f[o++]) a = r ? a: !u.hasClass(s),
  1379. u[a ? "addClass": "removeClass"](s)
  1380. } else if (n === i || n === "boolean") this.className && b._data(this, "__className__", this.className),
  1381. this.className = this.className || e === !1 ? "": b._data(this, "__className__") || ""
  1382. })
  1383. },
  1384. hasClass: function(e) {
  1385. var t = " " + e + " ",
  1386. n = 0,
  1387. r = this.length;
  1388. for (; n < r; n++) if (this[n].nodeType === 1 && (" " + this[n].className + " ").replace(X, " ").indexOf(t) >= 0) return ! 0;
  1389. return ! 1
  1390. },
  1391. val: function(e) {
  1392. var n, r, i, s = this[0];
  1393. if (!arguments.length) {
  1394. if (s) return r = b.valHooks[s.type] || b.valHooks[s.nodeName.toLowerCase()],
  1395. r && "get" in r && (n = r.get(s, "value")) !== t ? n: (n = s.value, typeof n == "string" ? n.replace(V, "") : n == null ? "": n);
  1396. return
  1397. }
  1398. return i = b.isFunction(e),
  1399. this.each(function(n) {
  1400. var s, o = b(this);
  1401. if (this.nodeType !== 1) return;
  1402. i ? s = e.call(this, n, o.val()) : s = e,
  1403. s == null ? s = "": typeof s == "number" ? s += "": b.isArray(s) && (s = b.map(s,
  1404. function(e) {
  1405. return e == null ? "": e + ""
  1406. })),
  1407. r = b.valHooks[this.type] || b.valHooks[this.nodeName.toLowerCase()];
  1408. if (!r || !("set" in r) || r.set(this, s, "value") === t) this.value = s
  1409. })
  1410. }
  1411. }),
  1412. b.extend({
  1413. valHooks: {
  1414. option: {
  1415. get: function(e) {
  1416. var t = e.attributes.value;
  1417. return ! t || t.specified ? e.value: e.text
  1418. }
  1419. },
  1420. select: {
  1421. get: function(e) {
  1422. var t, n, r = e.options,
  1423. i = e.selectedIndex,
  1424. s = e.type === "select-one" || i < 0,
  1425. o = s ? null: [],
  1426. u = s ? i + 1 : r.length,
  1427. a = i < 0 ? u: s ? i: 0;
  1428. for (; a < u; a++) {
  1429. n = r[a];
  1430. if ((n.selected || a === i) && (b.support.optDisabled ? !n.disabled: n.getAttribute("disabled") === null) && (!n.parentNode.disabled || !b.nodeName(n.parentNode, "optgroup"))) {
  1431. t = b(n).val();
  1432. if (s) return t;
  1433. o.push(t)
  1434. }
  1435. }
  1436. return o
  1437. },
  1438. set: function(e, t) {
  1439. var n = b.makeArray(t);
  1440. return b(e).find("option").each(function() {
  1441. this.selected = b.inArray(b(this).val(), n) >= 0
  1442. }),
  1443. n.length || (e.selectedIndex = -1),
  1444. n
  1445. }
  1446. }
  1447. },
  1448. attr: function(e, n, r) {
  1449. var s, o, u, a = e.nodeType;
  1450. if (!e || a === 3 || a === 8 || a === 2) return;
  1451. if (typeof e.getAttribute === i) return b.prop(e, n, r);
  1452. o = a !== 1 || !b.isXMLDoc(e),
  1453. o && (n = n.toLowerCase(), s = b.attrHooks[n] || (K.test(n) ? W: z));
  1454. if (r === t) return s && o && "get" in s && (u = s.get(e, n)) !== null ? u: (typeof e.getAttribute !== i && (u = e.getAttribute(n)), u == null ? t: u);
  1455. if (r !== null) return s && o && "set" in s && (u = s.set(e, r, n)) !== t ? u: (e.setAttribute(n, r + ""), r);
  1456. b.removeAttr(e, n)
  1457. },
  1458. removeAttr: function(e, t) {
  1459. var n, r, i = 0,
  1460. s = t && t.match(E);
  1461. if (s && e.nodeType === 1) while (n = s[i++]) r = b.propFix[n] || n,
  1462. K.test(n) ? !G && Q.test(n) ? e[b.camelCase("default-" + n)] = e[r] = !1 : e[r] = !1 : b.attr(e, n, ""),
  1463. e.removeAttribute(G ? n: r)
  1464. },
  1465. attrHooks: {
  1466. type: {
  1467. set: function(e, t) {
  1468. if (!b.support.radioValue && t === "radio" && b.nodeName(e, "input")) {
  1469. var n = e.value;
  1470. return e.setAttribute("type", t),
  1471. n && (e.value = n),
  1472. t
  1473. }
  1474. }
  1475. }
  1476. },
  1477. propFix: {
  1478. tabindex: "tabIndex",
  1479. readonly: "readOnly",
  1480. "for": "htmlFor",
  1481. "class": "className",
  1482. maxlength: "maxLength",
  1483. cellspacing: "cellSpacing",
  1484. cellpadding: "cellPadding",
  1485. rowspan: "rowSpan",
  1486. colspan: "colSpan",
  1487. usemap: "useMap",
  1488. frameborder: "frameBorder",
  1489. contenteditable: "contentEditable"
  1490. },
  1491. prop: function(e, n, r) {
  1492. var i, s, o, u = e.nodeType;
  1493. if (!e || u === 3 || u === 8 || u === 2) return;
  1494. return o = u !== 1 || !b.isXMLDoc(e),
  1495. o && (n = b.propFix[n] || n, s = b.propHooks[n]),
  1496. r !== t ? s && "set" in s && (i = s.set(e, r, n)) !== t ? i: e[n] = r: s && "get" in s && (i = s.get(e, n)) !== null ? i: e[n]
  1497. },
  1498. propHooks: {
  1499. tabIndex: {
  1500. get: function(e) {
  1501. var n = e.getAttributeNode("tabindex");
  1502. return n && n.specified ? parseInt(n.value, 10) : $.test(e.nodeName) || J.test(e.nodeName) && e.href ? 0 : t
  1503. }
  1504. }
  1505. }
  1506. }),
  1507. W = {
  1508. get: function(e, n) {
  1509. var r = b.prop(e, n),
  1510. i = typeof r == "boolean" && e.getAttribute(n),
  1511. s = typeof r == "boolean" ? Y && G ? i != null: Q.test(n) ? e[b.camelCase("default-" + n)] : !!i: e.getAttributeNode(n);
  1512. return s && s.value !== !1 ? n.toLowerCase() : t
  1513. },
  1514. set: function(e, t, n) {
  1515. return t === !1 ? b.removeAttr(e, n) : Y && G || !Q.test(n) ? e.setAttribute(!G && b.propFix[n] || n, n) : e[b.camelCase("default-" + n)] = e[n] = !0,
  1516. n
  1517. }
  1518. };
  1519. if (!Y || !G) b.attrHooks.value = {
  1520. get: function(e, n) {
  1521. var r = e.getAttributeNode(n);
  1522. return b.nodeName(e, "input") ? e.defaultValue: r && r.specified ? r.value: t
  1523. },
  1524. set: function(e, t, n) {
  1525. if (!b.nodeName(e, "input")) return z && z.set(e, t, n);
  1526. e.defaultValue = t
  1527. }
  1528. };
  1529. G || (z = b.valHooks.button = {
  1530. get: function(e, n) {
  1531. var r = e.getAttributeNode(n);
  1532. return r && (n === "id" || n === "name" || n === "coords" ? r.value !== "": r.specified) ? r.value: t
  1533. },
  1534. set: function(e, n, r) {
  1535. var i = e.getAttributeNode(r);
  1536. return i || e.setAttributeNode(i = e.ownerDocument.createAttribute(r)),
  1537. i.value = n += "",
  1538. r === "value" || n === e.getAttribute(r) ? n: t
  1539. }
  1540. },
  1541. b.attrHooks.contenteditable = {
  1542. get: z.get,
  1543. set: function(e, t, n) {
  1544. z.set(e, t === "" ? !1 : t, n)
  1545. }
  1546. },
  1547. b.each(["width", "height"],
  1548. function(e, t) {
  1549. b.attrHooks[t] = b.extend(b.attrHooks[t], {
  1550. set: function(e, n) {
  1551. if (n === "") return e.setAttribute(t, "auto"),
  1552. n
  1553. }
  1554. })
  1555. })),
  1556. b.support.hrefNormalized || (b.each(["href", "src", "width", "height"],
  1557. function(e, n) {
  1558. b.attrHooks[n] = b.extend(b.attrHooks[n], {
  1559. get: function(e) {
  1560. var r = e.getAttribute(n, 2);
  1561. return r == null ? t: r
  1562. }
  1563. })
  1564. }), b.each(["href", "src"],
  1565. function(e, t) {
  1566. b.propHooks[t] = {
  1567. get: function(e) {
  1568. return e.getAttribute(t, 4)
  1569. }
  1570. }
  1571. })),
  1572. b.support.style || (b.attrHooks.style = {
  1573. get: function(e) {
  1574. return e.style.cssText || t
  1575. },
  1576. set: function(e, t) {
  1577. return e.style.cssText = t + ""
  1578. }
  1579. }),
  1580. b.support.optSelected || (b.propHooks.selected = b.extend(b.propHooks.selected, {
  1581. get: function(e) {
  1582. var t = e.parentNode;
  1583. return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex),
  1584. null
  1585. }
  1586. })),
  1587. b.support.enctype || (b.propFix.enctype = "encoding"),
  1588. b.support.checkOn || b.each(["radio", "checkbox"],
  1589. function() {
  1590. b.valHooks[this] = {
  1591. get: function(e) {
  1592. return e.getAttribute("value") === null ? "on": e.value
  1593. }
  1594. }
  1595. }),
  1596. b.each(["radio", "checkbox"],
  1597. function() {
  1598. b.valHooks[this] = b.extend(b.valHooks[this], {
  1599. set: function(e, t) {
  1600. if (b.isArray(t)) return e.checked = b.inArray(b(e).val(), t) >= 0
  1601. }
  1602. })
  1603. });
  1604. var Z = /^(?:input|select|textarea)$/i,
  1605. et = /^key/,
  1606. tt = /^(?:mouse|contextmenu)|click/,
  1607. nt = /^(?:focusinfocus|focusoutblur)$/,
  1608. rt = /^([^.]*)(?:\.(.+)|)$/;
  1609. b.event = {
  1610. global: {},
  1611. add: function(e, n, r, s, o) {
  1612. var u, a, f, l, c, h, p, d, v, m, g, y = b._data(e);
  1613. if (!y) return;
  1614. r.handler && (l = r, r = l.handler, o = l.selector),
  1615. r.guid || (r.guid = b.guid++),
  1616. (a = y.events) || (a = y.events = {}),
  1617. (h = y.handle) || (h = y.handle = function(e) {
  1618. return typeof b === i || !!e && b.event.triggered === e.type ? t: b.event.dispatch.apply(h.elem, arguments)
  1619. },
  1620. h.elem = e),
  1621. n = (n || "").match(E) || [""],
  1622. f = n.length;
  1623. while (f--) {
  1624. u = rt.exec(n[f]) || [],
  1625. v = g = u[1],
  1626. m = (u[2] || "").split(".").sort(),
  1627. c = b.event.special[v] || {},
  1628. v = (o ? c.delegateType: c.bindType) || v,
  1629. c = b.event.special[v] || {},
  1630. p = b.extend({
  1631. type: v,
  1632. origType: g,
  1633. data: s,
  1634. handler: r,
  1635. guid: r.guid,
  1636. selector: o,
  1637. needsContext: o && b.expr.match.needsContext.test(o),
  1638. namespace: m.join(".")
  1639. },
  1640. l);
  1641. if (! (d = a[v])) {
  1642. d = a[v] = [],
  1643. d.delegateCount = 0;
  1644. if (!c.setup || c.setup.call(e, s, m, h) === !1) e.addEventListener ? e.addEventListener(v, h, !1) : e.attachEvent && e.attachEvent("on" + v, h)
  1645. }
  1646. c.add && (c.add.call(e, p), p.handler.guid || (p.handler.guid = r.guid)),
  1647. o ? d.splice(d.delegateCount++, 0, p) : d.push(p),
  1648. b.event.global[v] = !0
  1649. }
  1650. e = null
  1651. },
  1652. remove: function(e, t, n, r, i) {
  1653. var s, o, u, a, f, l, c, h, p, d, v, m = b.hasData(e) && b._data(e);
  1654. if (!m || !(l = m.events)) return;
  1655. t = (t || "").match(E) || [""],
  1656. f = t.length;
  1657. while (f--) {
  1658. u = rt.exec(t[f]) || [],
  1659. p = v = u[1],
  1660. d = (u[2] || "").split(".").sort();
  1661. if (!p) {
  1662. for (p in l) b.event.remove(e, p + t[f], n, r, !0);
  1663. continue
  1664. }
  1665. c = b.event.special[p] || {},
  1666. p = (r ? c.delegateType: c.bindType) || p,
  1667. h = l[p] || [],
  1668. u = u[2] && new RegExp("(^|\\.)" + d.join("\\.(?:.*\\.|)") + "(\\.|$)"),
  1669. a = s = h.length;
  1670. while (s--) o = h[s],
  1671. (i || v === o.origType) && (!n || n.guid === o.guid) && (!u || u.test(o.namespace)) && (!r || r === o.selector || r === "**" && o.selector) && (h.splice(s, 1), o.selector && h.delegateCount--, c.remove && c.remove.call(e, o));
  1672. a && !h.length && ((!c.teardown || c.teardown.call(e, d, m.handle) === !1) && b.removeEvent(e, p, m.handle), delete l[p])
  1673. }
  1674. b.isEmptyObject(l) && (delete m.handle, b._removeData(e, "events"))
  1675. },
  1676. trigger: function(n, r, i, o) {
  1677. var u, a, f, l, c, h, p, d = [i || s],
  1678. v = g.call(n, "type") ? n.type: n,
  1679. m = g.call(n, "namespace") ? n.namespace.split(".") : [];
  1680. f = h = i = i || s;
  1681. if (i.nodeType === 3 || i.nodeType === 8) return;
  1682. if (nt.test(v + b.event.triggered)) return;
  1683. v.indexOf(".") >= 0 && (m = v.split("."), v = m.shift(), m.sort()),
  1684. a = v.indexOf(":") < 0 && "on" + v,
  1685. n = n[b.expando] ? n: new b.Event(v, typeof n == "object" && n),
  1686. n.isTrigger = !0,
  1687. n.namespace = m.join("."),
  1688. n.namespace_re = n.namespace ? new RegExp("(^|\\.)" + m.join("\\.(?:.*\\.|)") + "(\\.|$)") : null,
  1689. n.result = t,
  1690. n.target || (n.target = i),
  1691. r = r == null ? [n] : b.makeArray(r, [n]),
  1692. c = b.event.special[v] || {};
  1693. if (!o && c.trigger && c.trigger.apply(i, r) === !1) return;
  1694. if (!o && !c.noBubble && !b.isWindow(i)) {
  1695. l = c.delegateType || v,
  1696. nt.test(l + v) || (f = f.parentNode);
  1697. for (; f; f = f.parentNode) d.push(f),
  1698. h = f;
  1699. h === (i.ownerDocument || s) && d.push(h.defaultView || h.parentWindow || e)
  1700. }
  1701. p = 0;
  1702. while ((f = d[p++]) && !n.isPropagationStopped()) n.type = p > 1 ? l: c.bindType || v,
  1703. u = (b._data(f, "events") || {})[n.type] && b._data(f, "handle"),
  1704. u && u.apply(f, r),
  1705. u = a && f[a],
  1706. u && b.acceptData(f) && u.apply && u.apply(f, r) === !1 && n.preventDefault();
  1707. n.type = v;
  1708. if (!o && !n.isDefaultPrevented() && (!c._default || c._default.apply(i.ownerDocument, r) === !1) && (v !== "click" || !b.nodeName(i, "a")) && b.acceptData(i) && a && i[v] && !b.isWindow(i)) {
  1709. h = i[a],
  1710. h && (i[a] = null),
  1711. b.event.triggered = v;
  1712. try {
  1713. i[v]()
  1714. } catch(y) {}
  1715. b.event.triggered = t,
  1716. h && (i[a] = h)
  1717. }
  1718. return n.result
  1719. },
  1720. dispatch: function(e) {
  1721. e = b.event.fix(e);
  1722. var n, r, i, s, o, u = [],
  1723. a = d.call(arguments),
  1724. f = (b._data(this, "events") || {})[e.type] || [],
  1725. l = b.event.special[e.type] || {};
  1726. a[0] = e,
  1727. e.delegateTarget = this;
  1728. if (l.preDispatch && l.preDispatch.call(this, e) === !1) return;
  1729. u = b.event.handlers.call(this, e, f),
  1730. n = 0;
  1731. while ((s = u[n++]) && !e.isPropagationStopped()) {
  1732. e.currentTarget = s.elem,
  1733. o = 0;
  1734. while ((i = s.handlers[o++]) && !e.isImmediatePropagationStopped()) if (!e.namespace_re || e.namespace_re.test(i.namespace)) e.handleObj = i,
  1735. e.data = i.data,
  1736. r = ((b.event.special[i.origType] || {}).handle || i.handler).apply(s.elem, a),
  1737. r !== t && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation())
  1738. }
  1739. return l.postDispatch && l.postDispatch.call(this, e),
  1740. e.result
  1741. },
  1742. handlers: function(e, n) {
  1743. var r, i, s, o, u = [],
  1744. a = n.delegateCount,
  1745. f = e.target;
  1746. if (a && f.nodeType && (!e.button || e.type !== "click")) for (; f != this; f = f.parentNode || this) if (f.nodeType === 1 && (f.disabled !== !0 || e.type !== "click")) {
  1747. s = [];
  1748. for (o = 0; o < a; o++) i = n[o],
  1749. r = i.selector + " ",
  1750. s[r] === t && (s[r] = i.needsContext ? b(r, this).index(f) >= 0 : b.find(r, this, null, [f]).length),
  1751. s[r] && s.push(i);
  1752. s.length && u.push({
  1753. elem: f,
  1754. handlers: s
  1755. })
  1756. }
  1757. return a < n.length && u.push({
  1758. elem: this,
  1759. handlers: n.slice(a)
  1760. }),
  1761. u
  1762. },
  1763. fix: function(e) {
  1764. if (e[b.expando]) return e;
  1765. var t, n, r, i = e.type,
  1766. o = e,
  1767. u = this.fixHooks[i];
  1768. u || (this.fixHooks[i] = u = tt.test(i) ? this.mouseHooks: et.test(i) ? this.keyHooks: {}),
  1769. r = u.props ? this.props.concat(u.props) : this.props,
  1770. e = new b.Event(o),
  1771. t = r.length;
  1772. while (t--) n = r[t],
  1773. e[n] = o[n];
  1774. return e.target || (e.target = o.srcElement || s),
  1775. e.target.nodeType === 3 && (e.target = e.target.parentNode),
  1776. e.metaKey = !!e.metaKey,
  1777. u.filter ? u.filter(e, o) : e
  1778. },
  1779. props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
  1780. fixHooks: {},
  1781. keyHooks: {
  1782. props: "char charCode key keyCode".split(" "),
  1783. filter: function(e, t) {
  1784. return e.which == null && (e.which = t.charCode != null ? t.charCode: t.keyCode),
  1785. e
  1786. }
  1787. },
  1788. mouseHooks: {
  1789. props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
  1790. filter: function(e, n) {
  1791. var r, i, o, u = n.button,
  1792. a = n.fromElement;
  1793. return e.pageX == null && n.clientX != null && (i = e.target.ownerDocument || s, o = i.documentElement, r = i.body, e.pageX = n.clientX + (o && o.scrollLeft || r && r.scrollLeft || 0) - (o && o.clientLeft || r && r.clientLeft || 0), e.pageY = n.clientY + (o && o.scrollTop || r && r.scrollTop || 0) - (o && o.clientTop || r && r.clientTop || 0)),
  1794. !e.relatedTarget && a && (e.relatedTarget = a === e.target ? n.toElement: a),
  1795. !e.which && u !== t && (e.which = u & 1 ? 1 : u & 2 ? 3 : u & 4 ? 2 : 0),
  1796. e
  1797. }
  1798. },
  1799. special: {
  1800. load: {
  1801. noBubble: !0
  1802. },
  1803. click: {
  1804. trigger: function() {
  1805. if (b.nodeName(this, "input") && this.type === "checkbox" && this.click) return this.click(),
  1806. !1
  1807. }
  1808. },
  1809. focus: {
  1810. trigger: function() {
  1811. if (this !== s.activeElement && this.focus) try {
  1812. return this.focus(),
  1813. !1
  1814. } catch(e) {}
  1815. },
  1816. delegateType: "focusin"
  1817. },
  1818. blur: {
  1819. trigger: function() {
  1820. if (this === s.activeElement && this.blur) return this.blur(),
  1821. !1
  1822. },
  1823. delegateType: "focusout"
  1824. },
  1825. beforeunload: {
  1826. postDispatch: function(e) {
  1827. e.result !== t && (e.originalEvent.returnValue = e.result)
  1828. }
  1829. }
  1830. },
  1831. simulate: function(e, t, n, r) {
  1832. var i = b.extend(new b.Event, n, {
  1833. type: e,
  1834. isSimulated: !0,
  1835. originalEvent: {}
  1836. });
  1837. r ? b.event.trigger(i, null, t) : b.event.dispatch.call(t, i),
  1838. i.isDefaultPrevented() && n.preventDefault()
  1839. }
  1840. },
  1841. b.removeEvent = s.removeEventListener ?
  1842. function(e, t, n) {
  1843. e.removeEventListener && e.removeEventListener(t, n, !1)
  1844. }: function(e, t, n) {
  1845. var r = "on" + t;
  1846. e.detachEvent && (typeof e[r] === i && (e[r] = null), e.detachEvent(r, n))
  1847. },
  1848. b.Event = function(e, t) {
  1849. if (! (this instanceof b.Event)) return new b.Event(e, t);
  1850. e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? it: st) : this.type = e,
  1851. t && b.extend(this, t),
  1852. this.timeStamp = e && e.timeStamp || b.now(),
  1853. this[b.expando] = !0
  1854. },
  1855. b.Event.prototype = {
  1856. isDefaultPrevented: st,
  1857. isPropagationStopped: st,
  1858. isImmediatePropagationStopped: st,
  1859. preventDefault: function() {
  1860. var e = this.originalEvent;
  1861. this.isDefaultPrevented = it;
  1862. if (!e) return;
  1863. e.preventDefault ? e.preventDefault() : e.returnValue = !1
  1864. },
  1865. stopPropagation: function() {
  1866. var e = this.originalEvent;
  1867. this.isPropagationStopped = it;
  1868. if (!e) return;
  1869. e.stopPropagation && e.stopPropagation(),
  1870. e.cancelBubble = !0
  1871. },
  1872. stopImmediatePropagation: function() {
  1873. this.isImmediatePropagationStopped = it,
  1874. this.stopPropagation()
  1875. }
  1876. },
  1877. b.each({
  1878. mouseenter: "mouseover",
  1879. mouseleave: "mouseout"
  1880. },
  1881. function(e, t) {
  1882. b.event.special[e] = {
  1883. delegateType: t,
  1884. bindType: t,
  1885. handle: function(e) {
  1886. var n, r = this,
  1887. i = e.relatedTarget,
  1888. s = e.handleObj;
  1889. if (!i || i !== r && !b.contains(r, i)) e.type = s.origType,
  1890. n = s.handler.apply(this, arguments),
  1891. e.type = t;
  1892. return n
  1893. }
  1894. }
  1895. }),
  1896. b.support.submitBubbles || (b.event.special.submit = {
  1897. setup: function() {
  1898. if (b.nodeName(this, "form")) return ! 1;
  1899. b.event.add(this, "click._submit keypress._submit",
  1900. function(e) {
  1901. var n = e.target,
  1902. r = b.nodeName(n, "input") || b.nodeName(n, "button") ? n.form: t;
  1903. r && !b._data(r, "submitBubbles") && (b.event.add(r, "submit._submit",
  1904. function(e) {
  1905. e._submit_bubble = !0
  1906. }), b._data(r, "submitBubbles", !0))
  1907. })
  1908. },
  1909. postDispatch: function(e) {
  1910. e._submit_bubble && (delete e._submit_bubble, this.parentNode && !e.isTrigger && b.event.simulate("submit", this.parentNode, e, !0))
  1911. },
  1912. teardown: function() {
  1913. if (b.nodeName(this, "form")) return ! 1;
  1914. b.event.remove(this, "._submit")
  1915. }
  1916. }),
  1917. b.support.changeBubbles || (b.event.special.change = {
  1918. setup: function() {
  1919. if (Z.test(this.nodeName)) {
  1920. if (this.type === "checkbox" || this.type === "radio") b.event.add(this, "propertychange._change",
  1921. function(e) {
  1922. e.originalEvent.propertyName === "checked" && (this._just_changed = !0)
  1923. }),
  1924. b.event.add(this, "click._change",
  1925. function(e) {
  1926. this._just_changed && !e.isTrigger && (this._just_changed = !1),
  1927. b.event.simulate("change", this, e, !0)
  1928. });
  1929. return ! 1
  1930. }
  1931. b.event.add(this, "beforeactivate._change",
  1932. function(e) {
  1933. var t = e.target;
  1934. Z.test(t.nodeName) && !b._data(t, "changeBubbles") && (b.event.add(t, "change._change",
  1935. function(e) {
  1936. this.parentNode && !e.isSimulated && !e.isTrigger && b.event.simulate("change", this.parentNode, e, !0)
  1937. }), b._data(t, "changeBubbles", !0))
  1938. })
  1939. },
  1940. handle: function(e) {
  1941. var t = e.target;
  1942. if (this !== t || e.isSimulated || e.isTrigger || t.type !== "radio" && t.type !== "checkbox") return e.handleObj.handler.apply(this, arguments)
  1943. },
  1944. teardown: function() {
  1945. return b.event.remove(this, "._change"),
  1946. !Z.test(this.nodeName)
  1947. }
  1948. }),
  1949. b.support.focusinBubbles || b.each({
  1950. focus: "focusin",
  1951. blur: "focusout"
  1952. },
  1953. function(e, t) {
  1954. var n = 0,
  1955. r = function(e) {
  1956. b.event.simulate(t, e.target, b.event.fix(e), !0)
  1957. };
  1958. b.event.special[t] = {
  1959. setup: function() {
  1960. n++===0 && s.addEventListener(e, r, !0)
  1961. },
  1962. teardown: function() {--n === 0 && s.removeEventListener(e, r, !0)
  1963. }
  1964. }
  1965. }),
  1966. b.fn.extend({
  1967. on: function(e, n, r, i, s) {
  1968. var o, u;
  1969. if (typeof e == "object") {
  1970. typeof n != "string" && (r = r || n, n = t);
  1971. for (o in e) this.on(o, n, r, e[o], s);
  1972. return this
  1973. }
  1974. r == null && i == null ? (i = n, r = n = t) : i == null && (typeof n == "string" ? (i = r, r = t) : (i = r, r = n, n = t));
  1975. if (i === !1) i = st;
  1976. else if (!i) return this;
  1977. return s === 1 && (u = i, i = function(e) {
  1978. return b().off(e),
  1979. u.apply(this, arguments)
  1980. },
  1981. i.guid = u.guid || (u.guid = b.guid++)),
  1982. this.each(function() {
  1983. b.event.add(this, e, i, r, n)
  1984. })
  1985. },
  1986. one: function(e, t, n, r) {
  1987. return this.on(e, t, n, r, 1)
  1988. },
  1989. off: function(e, n, r) {
  1990. var i, s;
  1991. if (e && e.preventDefault && e.handleObj) return i = e.handleObj,
  1992. b(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace: i.origType, i.selector, i.handler),
  1993. this;
  1994. if (typeof e == "object") {
  1995. for (s in e) this.off(s, n, e[s]);
  1996. return this
  1997. }
  1998. if (n === !1 || typeof n == "function") r = n,
  1999. n = t;
  2000. return r === !1 && (r = st),
  2001. this.each(function() {
  2002. b.event.remove(this, e, r, n)
  2003. })
  2004. },
  2005. bind: function(e, t, n) {
  2006. return this.on(e, null, t, n)
  2007. },
  2008. unbind: function(e, t) {
  2009. return this.off(e, null, t)
  2010. },
  2011. delegate: function(e, t, n, r) {
  2012. return this.on(t, e, n, r)
  2013. },
  2014. undelegate: function(e, t, n) {
  2015. return arguments.length === 1 ? this.off(e, "**") : this.off(t, e || "**", n)
  2016. },
  2017. trigger: function(e, t) {
  2018. return this.each(function() {
  2019. b.event.trigger(e, t, this)
  2020. })
  2021. },
  2022. triggerHandler: function(e, t) {
  2023. var n = this[0];
  2024. if (n) return b.event.trigger(e, t, n, !0)
  2025. }
  2026. }),
  2027. function(e, t) {
  2028. function rt(e) {
  2029. return J.test(e + "")
  2030. }
  2031. function it() {
  2032. var e, t = [];
  2033. return e = function(n, r) {
  2034. return t.push(n += " ") > i.cacheLength && delete e[t.shift()],
  2035. e[n] = r
  2036. }
  2037. }
  2038. function st(e) {
  2039. return e[w] = !0,
  2040. e
  2041. }
  2042. function ot(e) {
  2043. var t = c.createElement("div");
  2044. try {
  2045. return e(t)
  2046. } catch(n) {
  2047. return ! 1
  2048. } finally {
  2049. t = null
  2050. }
  2051. }
  2052. function ut(e, t, n, r) {
  2053. var i, s, o, u, a, f, h, v, m, y; (t ? t.ownerDocument || t: E) !== c && l(t),
  2054. t = t || c,
  2055. n = n || [];
  2056. if (!e || typeof e != "string") return n;
  2057. if ((u = t.nodeType) !== 1 && u !== 9) return [];
  2058. if (!p && !r) {
  2059. if (i = K.exec(e)) if (o = i[1]) {
  2060. if (u === 9) {
  2061. s = t.getElementById(o);
  2062. if (!s || !s.parentNode) return n;
  2063. if (s.id === o) return n.push(s),
  2064. n
  2065. } else if (t.ownerDocument && (s = t.ownerDocument.getElementById(o)) && g(t, s) && s.id === o) return n.push(s),
  2066. n
  2067. } else {
  2068. if (i[2]) return _.apply(n, D.call(t.getElementsByTagName(e), 0)),
  2069. n;
  2070. if ((o = i[3]) && S.getByClassName && t.getElementsByClassName) return _.apply(n, D.call(t.getElementsByClassName(o), 0)),
  2071. n
  2072. }
  2073. if (S.qsa && !d.test(e)) {
  2074. h = !0,
  2075. v = w,
  2076. m = t,
  2077. y = u === 9 && e;
  2078. if (u === 1 && t.nodeName.toLowerCase() !== "object") {
  2079. f = ht(e),
  2080. (h = t.getAttribute("id")) ? v = h.replace(Y, "\\$&") : t.setAttribute("id", v),
  2081. v = "[id='" + v + "'] ",
  2082. a = f.length;
  2083. while (a--) f[a] = v + pt(f[a]);
  2084. m = $.test(e) && t.parentNode || t,
  2085. y = f.join(",")
  2086. }
  2087. if (y) try {
  2088. return _.apply(n, D.call(m.querySelectorAll(y), 0)),
  2089. n
  2090. } catch(b) {} finally {
  2091. h || t.removeAttribute("id")
  2092. }
  2093. }
  2094. }
  2095. return Et(e.replace(R, "$1"), t, n, r)
  2096. }
  2097. function at(e, t) {
  2098. var n = t && e,
  2099. r = n && (~t.sourceIndex || A) - (~e.sourceIndex || A);
  2100. if (r) return r;
  2101. if (n) while (n = n.nextSibling) if (n === t) return - 1;
  2102. return e ? 1 : -1
  2103. }
  2104. function ft(e) {
  2105. return function(t) {
  2106. var n = t.nodeName.toLowerCase();
  2107. return n === "input" && t.type === e
  2108. }
  2109. }
  2110. function lt(e) {
  2111. return function(t) {
  2112. var n = t.nodeName.toLowerCase();
  2113. return (n === "input" || n === "button") && t.type === e
  2114. }
  2115. }
  2116. function ct(e) {
  2117. return st(function(t) {
  2118. return t = +t,
  2119. st(function(n, r) {
  2120. var i, s = e([], n.length, t),
  2121. o = s.length;
  2122. while (o--) n[i = s[o]] && (n[i] = !(r[i] = n[i]))
  2123. })
  2124. })
  2125. }
  2126. function ht(e, t) {
  2127. var n, r, s, o, u, a, f, l = C[e + " "];
  2128. if (l) return t ? 0 : l.slice(0);
  2129. u = e,
  2130. a = [],
  2131. f = i.preFilter;
  2132. while (u) {
  2133. if (!n || (r = U.exec(u))) r && (u = u.slice(r[0].length) || u),
  2134. a.push(s = []);
  2135. n = !1;
  2136. if (r = z.exec(u)) n = r.shift(),
  2137. s.push({
  2138. value: n,
  2139. type: r[0].replace(R, " ")
  2140. }),
  2141. u = u.slice(n.length);
  2142. for (o in i.filter)(r = V[o].exec(u)) && (!f[o] || (r = f[o](r))) && (n = r.shift(), s.push({
  2143. value: n,
  2144. type: o,
  2145. matches: r
  2146. }), u = u.slice(n.length));
  2147. if (!n) break
  2148. }
  2149. return t ? u.length: u ? ut.error(e) : C(e, a).slice(0)
  2150. }
  2151. function pt(e) {
  2152. var t = 0,
  2153. n = e.length,
  2154. r = "";
  2155. for (; t < n; t++) r += e[t].value;
  2156. return r
  2157. }
  2158. function dt(e, t, n) {
  2159. var i = t.dir,
  2160. s = n && i === "parentNode",
  2161. o = T++;
  2162. return t.first ?
  2163. function(t, n, r) {
  2164. while (t = t[i]) if (t.nodeType === 1 || s) return e(t, n, r)
  2165. }: function(t, n, u) {
  2166. var a, f, l, c = x + " " + o;
  2167. if (u) {
  2168. while (t = t[i]) if (t.nodeType === 1 || s) if (e(t, n, u)) return ! 0
  2169. } else while (t = t[i]) if (t.nodeType === 1 || s) {
  2170. l = t[w] || (t[w] = {});
  2171. if ((f = l[i]) && f[0] === c) {
  2172. if ((a = f[1]) === !0 || a === r) return a === !0
  2173. } else {
  2174. f = l[i] = [c],
  2175. f[1] = e(t, n, u) || r;
  2176. if (f[1] === !0) return ! 0
  2177. }
  2178. }
  2179. }
  2180. }
  2181. function vt(e) {
  2182. return e.length > 1 ?
  2183. function(t, n, r) {
  2184. var i = e.length;
  2185. while (i--) if (!e[i](t, n, r)) return ! 1;
  2186. return ! 0
  2187. }: e[0]
  2188. }
  2189. function mt(e, t, n, r, i) {
  2190. var s, o = [],
  2191. u = 0,
  2192. a = e.length,
  2193. f = t != null;
  2194. for (; u < a; u++) if (s = e[u]) if (!n || n(s, r, i)) o.push(s),
  2195. f && t.push(u);
  2196. return o
  2197. }
  2198. function gt(e, t, n, r, i, s) {
  2199. return r && !r[w] && (r = gt(r)),
  2200. i && !i[w] && (i = gt(i, s)),
  2201. st(function(s, o, u, a) {
  2202. var f, l, c, h = [],
  2203. p = [],
  2204. d = o.length,
  2205. v = s || wt(t || "*", u.nodeType ? [u] : u, []),
  2206. m = e && (s || !t) ? mt(v, h, e, u, a) : v,
  2207. g = n ? i || (s ? e: d || r) ? [] : o: m;
  2208. n && n(m, g, u, a);
  2209. if (r) {
  2210. f = mt(g, p),
  2211. r(f, [], u, a),
  2212. l = f.length;
  2213. while (l--) if (c = f[l]) g[p[l]] = !(m[p[l]] = c)
  2214. }
  2215. if (s) {
  2216. if (i || e) {
  2217. if (i) {
  2218. f = [],
  2219. l = g.length;
  2220. while (l--)(c = g[l]) && f.push(m[l] = c);
  2221. i(null, g = [], f, a)
  2222. }
  2223. l = g.length;
  2224. while (l--)(c = g[l]) && (f = i ? P.call(s, c) : h[l]) > -1 && (s[f] = !(o[f] = c))
  2225. }
  2226. } else g = mt(g === o ? g.splice(d, g.length) : g),
  2227. i ? i(null, o, g, a) : _.apply(o, g)
  2228. })
  2229. }
  2230. function yt(e) {
  2231. var t, n, r, s = e.length,
  2232. o = i.relative[e[0].type],
  2233. u = o || i.relative[" "],
  2234. a = o ? 1 : 0,
  2235. l = dt(function(e) {
  2236. return e === t
  2237. },
  2238. u, !0),
  2239. c = dt(function(e) {
  2240. return P.call(t, e) > -1
  2241. },
  2242. u, !0),
  2243. h = [function(e, n, r) {
  2244. return ! o && (r || n !== f) || ((t = n).nodeType ? l(e, n, r) : c(e, n, r))
  2245. }];
  2246. for (; a < s; a++) if (n = i.relative[e[a].type]) h = [dt(vt(h), n)];
  2247. else {
  2248. n = i.filter[e[a].type].apply(null, e[a].matches);
  2249. if (n[w]) {
  2250. r = ++a;
  2251. for (; r < s; r++) if (i.relative[e[r].type]) break;
  2252. return gt(a > 1 && vt(h), a > 1 && pt(e.slice(0, a - 1)).replace(R, "$1"), n, a < r && yt(e.slice(a, r)), r < s && yt(e = e.slice(r)), r < s && pt(e))
  2253. }
  2254. h.push(n)
  2255. }
  2256. return vt(h)
  2257. }
  2258. function bt(e, t) {
  2259. var n = 0,
  2260. s = t.length > 0,
  2261. o = e.length > 0,
  2262. u = function(u, a, l, h, p) {
  2263. var d, v, m, g = [],
  2264. y = 0,
  2265. b = "0",
  2266. w = u && [],
  2267. E = p != null,
  2268. S = f,
  2269. T = u || o && i.find.TAG("*", p && a.parentNode || a),
  2270. N = x += S == null ? 1 : Math.random() || .1;
  2271. E && (f = a !== c && a, r = n);
  2272. for (; (d = T[b]) != null; b++) {
  2273. if (o && d) {
  2274. v = 0;
  2275. while (m = e[v++]) if (m(d, a, l)) {
  2276. h.push(d);
  2277. break
  2278. }
  2279. E && (x = N, r = ++n)
  2280. }
  2281. s && ((d = !m && d) && y--, u && w.push(d))
  2282. }
  2283. y += b;
  2284. if (s && b !== y) {
  2285. v = 0;
  2286. while (m = t[v++]) m(w, g, a, l);
  2287. if (u) {
  2288. if (y > 0) while (b--) ! w[b] && !g[b] && (g[b] = M.call(h));
  2289. g = mt(g)
  2290. }
  2291. _.apply(h, g),
  2292. E && !u && g.length > 0 && y + t.length > 1 && ut.uniqueSort(h)
  2293. }
  2294. return E && (x = N, f = S),
  2295. w
  2296. };
  2297. return s ? st(u) : u
  2298. }
  2299. function wt(e, t, n) {
  2300. var r = 0,
  2301. i = t.length;
  2302. for (; r < i; r++) ut(e, t[r], n);
  2303. return n
  2304. }
  2305. function Et(e, t, n, r) {
  2306. var s, o, a, f, l, c = ht(e);
  2307. if (!r && c.length === 1) {
  2308. o = c[0] = c[0].slice(0);
  2309. if (o.length > 2 && (a = o[0]).type === "ID" && t.nodeType === 9 && !p && i.relative[o[1].type]) {
  2310. t = i.find.ID(a.matches[0].replace(et, tt), t)[0];
  2311. if (!t) return n;
  2312. e = e.slice(o.shift().value.length)
  2313. }
  2314. s = V.needsContext.test(e) ? 0 : o.length;
  2315. while (s--) {
  2316. a = o[s];
  2317. if (i.relative[f = a.type]) break;
  2318. if (l = i.find[f]) if (r = l(a.matches[0].replace(et, tt), $.test(o[0].type) && t.parentNode || t)) {
  2319. o.splice(s, 1),
  2320. e = r.length && pt(o);
  2321. if (!e) return _.apply(n, D.call(r, 0)),
  2322. n;
  2323. break
  2324. }
  2325. }
  2326. }
  2327. return u(e, c)(r, t, p, n, $.test(e)),
  2328. n
  2329. }
  2330. function St() {}
  2331. var n, r, i, s, o, u, a, f, l, c, h, p, d, v, m, g, y, w = "sizzle" + -(new Date),
  2332. E = e.document,
  2333. S = {},
  2334. x = 0,
  2335. T = 0,
  2336. N = it(),
  2337. C = it(),
  2338. k = it(),
  2339. L = typeof t,
  2340. A = 1 << 31,
  2341. O = [],
  2342. M = O.pop,
  2343. _ = O.push,
  2344. D = O.slice,
  2345. P = O.indexOf ||
  2346. function(e) {
  2347. var t = 0,
  2348. n = this.length;
  2349. for (; t < n; t++) if (this[t] === e) return t;
  2350. return - 1
  2351. },
  2352. H = "[\\x20\\t\\r\\n\\f]",
  2353. B = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
  2354. j = B.replace("w", "w#"),
  2355. F = "([*^$|!~]?=)",
  2356. I = "\\[" + H + "*(" + B + ")" + H + "*(?:" + F + H + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + j + ")|)|)" + H + "*\\]",
  2357. q = ":(" + B + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + I.replace(3, 8) + ")*)|.*)\\)|)",
  2358. R = new RegExp("^" + H + "+|((?:^|[^\\\\])(?:\\\\.)*)" + H + "+$", "g"),
  2359. U = new RegExp("^" + H + "*," + H + "*"),
  2360. z = new RegExp("^" + H + "*([\\x20\\t\\r\\n\\f>+~])" + H + "*"),
  2361. W = new RegExp(q),
  2362. X = new RegExp("^" + j + "$"),
  2363. V = {
  2364. ID: new RegExp("^#(" + B + ")"),
  2365. CLASS: new RegExp("^\\.(" + B + ")"),
  2366. NAME: new RegExp("^\\[name=['\"]?(" + B + ")['\"]?\\]"),
  2367. TAG: new RegExp("^(" + B.replace("w", "w*") + ")"),
  2368. ATTR: new RegExp("^" + I),
  2369. PSEUDO: new RegExp("^" + q),
  2370. CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + H + "*(even|odd|(([+-]|)(\\d*)n|)" + H + "*(?:([+-]|)" + H + "*(\\d+)|))" + H + "*\\)|)", "i"),
  2371. needsContext: new RegExp("^" + H + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + H + "*((?:-\\d)?\\d*)" + H + "*\\)|)(?=[^-]|$)", "i")
  2372. },
  2373. $ = /[\x20\t\r\n\f]*[+~]/,
  2374. J = /^[^{]+\{\s*\[native code/,
  2375. K = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
  2376. Q = /^(?:input|select|textarea|button)$/i,
  2377. G = /^h\d$/i,
  2378. Y = /'|\\/g,
  2379. Z = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
  2380. et = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,
  2381. tt = function(e, t) {
  2382. var n = "0x" + t - 65536;
  2383. return n !== n ? t: n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, n & 1023 | 56320)
  2384. };
  2385. try {
  2386. D.call(E.documentElement.childNodes, 0)[0].nodeType
  2387. } catch(nt) {
  2388. D = function(e) {
  2389. var t, n = [];
  2390. while (t = this[e++]) n.push(t);
  2391. return n
  2392. }
  2393. }
  2394. o = ut.isXML = function(e) {
  2395. var t = e && (e.ownerDocument || e).documentElement;
  2396. return t ? t.nodeName !== "HTML": !1
  2397. },
  2398. l = ut.setDocument = function(e) {
  2399. var n = e ? e.ownerDocument || e: E;
  2400. if (n === c || n.nodeType !== 9 || !n.documentElement) return c;
  2401. c = n,
  2402. h = n.documentElement,
  2403. p = o(n),
  2404. S.tagNameNoComments = ot(function(e) {
  2405. return e.appendChild(n.createComment("")),
  2406. !e.getElementsByTagName("*").length
  2407. }),
  2408. S.attributes = ot(function(e) {
  2409. e.innerHTML = "<select></select>";
  2410. var t = typeof e.lastChild.getAttribute("multiple");
  2411. return t !== "boolean" && t !== "string"
  2412. }),
  2413. S.getByClassName = ot(function(e) {
  2414. return e.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>",
  2415. !e.getElementsByClassName || !e.getElementsByClassName("e").length ? !1 : (e.lastChild.className = "e", e.getElementsByClassName("e").length === 2)
  2416. }),
  2417. S.getByName = ot(function(e) {
  2418. e.id = w + 0,
  2419. e.innerHTML = "<a name='" + w + "'></a><div name='" + w + "'></div>",
  2420. h.insertBefore(e, h.firstChild);
  2421. var t = n.getElementsByName && n.getElementsByName(w).length === 2 + n.getElementsByName(w + 0).length;
  2422. return S.getIdNotName = !n.getElementById(w),
  2423. h.removeChild(e),
  2424. t
  2425. }),
  2426. i.attrHandle = ot(function(e) {
  2427. return e.innerHTML = "<a href='#'></a>",
  2428. e.firstChild && typeof e.firstChild.getAttribute !== L && e.firstChild.getAttribute("href") === "#"
  2429. }) ? {}: {
  2430. href: function(e) {
  2431. return e.getAttribute("href", 2)
  2432. },
  2433. type: function(e) {
  2434. return e.getAttribute("type")
  2435. }
  2436. },
  2437. S.getIdNotName ? (i.find.ID = function(e, t) {
  2438. if (typeof t.getElementById !== L && !p) {
  2439. var n = t.getElementById(e);
  2440. return n && n.parentNode ? [n] : []
  2441. }
  2442. },
  2443. i.filter.ID = function(e) {
  2444. var t = e.replace(et, tt);
  2445. return function(e) {
  2446. return e.getAttribute("id") === t
  2447. }
  2448. }) : (i.find.ID = function(e, n) {
  2449. if (typeof n.getElementById !== L && !p) {
  2450. var r = n.getElementById(e);
  2451. return r ? r.id === e || typeof r.getAttributeNode !== L && r.getAttributeNode("id").value === e ? [r] : t: []
  2452. }
  2453. },
  2454. i.filter.ID = function(e) {
  2455. var t = e.replace(et, tt);
  2456. return function(e) {
  2457. var n = typeof e.getAttributeNode !== L && e.getAttributeNode("id");
  2458. return n && n.value === t
  2459. }
  2460. }),
  2461. i.find.TAG = S.tagNameNoComments ?
  2462. function(e, t) {
  2463. if (typeof t.getElementsByTagName !== L) return t.getElementsByTagName(e)
  2464. }: function(e, t) {
  2465. var n, r = [],
  2466. i = 0,
  2467. s = t.getElementsByTagName(e);
  2468. if (e === "*") {
  2469. while (n = s[i++]) n.nodeType === 1 && r.push(n);
  2470. return r
  2471. }
  2472. return s
  2473. },
  2474. i.find.NAME = S.getByName &&
  2475. function(e, t) {
  2476. if (typeof t.getElementsByName !== L) return t.getElementsByName(name)
  2477. },
  2478. i.find.CLASS = S.getByClassName &&
  2479. function(e, t) {
  2480. if (typeof t.getElementsByClassName !== L && !p) return t.getElementsByClassName(e)
  2481. },
  2482. v = [],
  2483. d = [":focus"];
  2484. if (S.qsa = rt(n.querySelectorAll)) ot(function(e) {
  2485. e.innerHTML = "<select><option selected=''></option></select>",
  2486. e.querySelectorAll("[selected]").length || d.push("\\[" + H + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),
  2487. e.querySelectorAll(":checked").length || d.push(":checked")
  2488. }),
  2489. ot(function(e) {
  2490. e.innerHTML = "<input type='hidden' i=''/>",
  2491. e.querySelectorAll("[i^='']").length && d.push("[*^$]=" + H + "*(?:\"\"|'')"),
  2492. e.querySelectorAll(":enabled").length || d.push(":enabled", ":disabled"),
  2493. e.querySelectorAll("*,:x"),
  2494. d.push(",.*:")
  2495. });
  2496. return (S.matchesSelector = rt(m = h.matchesSelector || h.mozMatchesSelector || h.webkitMatchesSelector || h.oMatchesSelector || h.msMatchesSelector)) && ot(function(e) {
  2497. S.disconnectedMatch = m.call(e, "div"),
  2498. m.call(e, "[s!='']:x"),
  2499. v.push("!=", q)
  2500. }),
  2501. d = new RegExp(d.join("|")),
  2502. v = new RegExp(v.join("|")),
  2503. g = rt(h.contains) || h.compareDocumentPosition ?
  2504. function(e, t) {
  2505. var n = e.nodeType === 9 ? e.documentElement: e,
  2506. r = t && t.parentNode;
  2507. return e === r || !!r && r.nodeType === 1 && !!(n.contains ? n.contains(r) : e.compareDocumentPosition && e.compareDocumentPosition(r) & 16)
  2508. }: function(e, t) {
  2509. if (t) while (t = t.parentNode) if (t === e) return ! 0;
  2510. return ! 1
  2511. },
  2512. y = h.compareDocumentPosition ?
  2513. function(e, t) {
  2514. var r;
  2515. if (e === t) return a = !0,
  2516. 0;
  2517. if (r = t.compareDocumentPosition && e.compareDocumentPosition && e.compareDocumentPosition(t)) return r & 1 || e.parentNode && e.parentNode.nodeType === 11 ? e === n || g(E, e) ? -1 : t === n || g(E, t) ? 1 : 0 : r & 4 ? -1 : 1;
  2518. return e.compareDocumentPosition ? -1 : 1
  2519. }: function(e, t) {
  2520. var r, i = 0,
  2521. s = e.parentNode,
  2522. o = t.parentNode,
  2523. u = [e],
  2524. f = [t];
  2525. if (e === t) return a = !0,
  2526. 0;
  2527. if (!s || !o) return e === n ? -1 : t === n ? 1 : s ? -1 : o ? 1 : 0;
  2528. if (s === o) return at(e, t);
  2529. r = e;
  2530. while (r = r.parentNode) u.unshift(r);
  2531. r = t;
  2532. while (r = r.parentNode) f.unshift(r);
  2533. while (u[i] === f[i]) i++;
  2534. return i ? at(u[i], f[i]) : u[i] === E ? -1 : f[i] === E ? 1 : 0
  2535. },
  2536. a = !1,
  2537. [0, 0].sort(y),
  2538. S.detectDuplicates = a,
  2539. c
  2540. },
  2541. ut.matches = function(e, t) {
  2542. return ut(e, null, null, t)
  2543. },
  2544. ut.matchesSelector = function(e, t) { (e.ownerDocument || e) !== c && l(e),
  2545. t = t.replace(Z, "='$1']");
  2546. if (S.matchesSelector && !p && (!v || !v.test(t)) && !d.test(t)) try {
  2547. var n = m.call(e, t);
  2548. if (n || S.disconnectedMatch || e.document && e.document.nodeType !== 11) return n
  2549. } catch(r) {}
  2550. return ut(t, c, null, [e]).length > 0
  2551. },
  2552. ut.contains = function(e, t) {
  2553. return (e.ownerDocument || e) !== c && l(e),
  2554. g(e, t)
  2555. },
  2556. ut.attr = function(e, t) {
  2557. var n;
  2558. return (e.ownerDocument || e) !== c && l(e),
  2559. p || (t = t.toLowerCase()),
  2560. (n = i.attrHandle[t]) ? n(e) : p || S.attributes ? e.getAttribute(t) : ((n = e.getAttributeNode(t)) || e.getAttribute(t)) && e[t] === !0 ? t: n && n.specified ? n.value: null
  2561. },
  2562. ut.error = function(e) {
  2563. throw new Error("Syntax error, unrecognized expression: " + e)
  2564. },
  2565. ut.uniqueSort = function(e) {
  2566. var t, n = [],
  2567. r = 1,
  2568. i = 0;
  2569. a = !S.detectDuplicates,
  2570. e.sort(y);
  2571. if (a) {
  2572. for (; t = e[r]; r++) t === e[r - 1] && (i = n.push(r));
  2573. while (i--) e.splice(n[i], 1)
  2574. }
  2575. return e
  2576. },
  2577. s = ut.getText = function(e) {
  2578. var t, n = "",
  2579. r = 0,
  2580. i = e.nodeType;
  2581. if (!i) for (; t = e[r]; r++) n += s(t);
  2582. else if (i === 1 || i === 9 || i === 11) {
  2583. if (typeof e.textContent == "string") return e.textContent;
  2584. for (e = e.firstChild; e; e = e.nextSibling) n += s(e)
  2585. } else if (i === 3 || i === 4) return e.nodeValue;
  2586. return n
  2587. },
  2588. i = ut.selectors = {
  2589. cacheLength: 50,
  2590. createPseudo: st,
  2591. match: V,
  2592. find: {},
  2593. relative: {
  2594. ">": {
  2595. dir: "parentNode",
  2596. first: !0
  2597. },
  2598. " ": {
  2599. dir: "parentNode"
  2600. },
  2601. "+": {
  2602. dir: "previousSibling",
  2603. first: !0
  2604. },
  2605. "~": {
  2606. dir: "previousSibling"
  2607. }
  2608. },
  2609. preFilter: {
  2610. ATTR: function(e) {
  2611. return e[1] = e[1].replace(et, tt),
  2612. e[3] = (e[4] || e[5] || "").replace(et, tt),
  2613. e[2] === "~=" && (e[3] = " " + e[3] + " "),
  2614. e.slice(0, 4)
  2615. },
  2616. CHILD: function(e) {
  2617. return e[1] = e[1].toLowerCase(),
  2618. e[1].slice(0, 3) === "nth" ? (e[3] || ut.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * (e[3] === "even" || e[3] === "odd")), e[5] = +(e[7] + e[8] || e[3] === "odd")) : e[3] && ut.error(e[0]),
  2619. e
  2620. },
  2621. PSEUDO: function(e) {
  2622. var t, n = !e[5] && e[2];
  2623. return V.CHILD.test(e[0]) ? null: (e[4] ? e[2] = e[4] : n && W.test(n) && (t = ht(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3))
  2624. }
  2625. },
  2626. filter: {
  2627. TAG: function(e) {
  2628. return e === "*" ?
  2629. function() {
  2630. return ! 0
  2631. }: (e = e.replace(et, tt).toLowerCase(),
  2632. function(t) {
  2633. return t.nodeName && t.nodeName.toLowerCase() === e
  2634. })
  2635. },
  2636. CLASS: function(e) {
  2637. var t = N[e + " "];
  2638. return t || (t = new RegExp("(^|" + H + ")" + e + "(" + H + "|$)")) && N(e,
  2639. function(e) {
  2640. return t.test(e.className || typeof e.getAttribute !== L && e.getAttribute("class") || "")
  2641. })
  2642. },
  2643. ATTR: function(e, t, n) {
  2644. return function(r) {
  2645. var i = ut.attr(r, e);
  2646. return i == null ? t === "!=": t ? (i += "", t === "=" ? i === n: t === "!=" ? i !== n: t === "^=" ? n && i.indexOf(n) === 0 : t === "*=" ? n && i.indexOf(n) > -1 : t === "$=" ? n && i.slice( - n.length) === n: t === "~=" ? (" " + i + " ").indexOf(n) > -1 : t === "|=" ? i === n || i.slice(0, n.length + 1) === n + "-": !1) : !0
  2647. }
  2648. },
  2649. CHILD: function(e, t, n, r, i) {
  2650. var s = e.slice(0, 3) !== "nth",
  2651. o = e.slice( - 4) !== "last",
  2652. u = t === "of-type";
  2653. return r === 1 && i === 0 ?
  2654. function(e) {
  2655. return !! e.parentNode
  2656. }: function(t, n, a) {
  2657. var f, l, c, h, p, d, v = s !== o ? "nextSibling": "previousSibling",
  2658. m = t.parentNode,
  2659. g = u && t.nodeName.toLowerCase(),
  2660. y = !a && !u;
  2661. if (m) {
  2662. if (s) {
  2663. while (v) {
  2664. c = t;
  2665. while (c = c[v]) if (u ? c.nodeName.toLowerCase() === g: c.nodeType === 1) return ! 1;
  2666. d = v = e === "only" && !d && "nextSibling"
  2667. }
  2668. return ! 0
  2669. }
  2670. d = [o ? m.firstChild: m.lastChild];
  2671. if (o && y) {
  2672. l = m[w] || (m[w] = {}),
  2673. f = l[e] || [],
  2674. p = f[0] === x && f[1],
  2675. h = f[0] === x && f[2],
  2676. c = p && m.childNodes[p];
  2677. while (c = ++p && c && c[v] || (h = p = 0) || d.pop()) if (c.nodeType === 1 && ++h && c === t) {
  2678. l[e] = [x, p, h];
  2679. break
  2680. }
  2681. } else if (y && (f = (t[w] || (t[w] = {}))[e]) && f[0] === x) h = f[1];
  2682. else while (c = ++p && c && c[v] || (h = p = 0) || d.pop()) if ((u ? c.nodeName.toLowerCase() === g: c.nodeType === 1) && ++h) {
  2683. y && ((c[w] || (c[w] = {}))[e] = [x, h]);
  2684. if (c === t) break
  2685. }
  2686. return h -= i,
  2687. h === r || h % r === 0 && h / r >= 0
  2688. }
  2689. }
  2690. },
  2691. PSEUDO: function(e, t) {
  2692. var n, r = i.pseudos[e] || i.setFilters[e.toLowerCase()] || ut.error("unsupported pseudo: " + e);
  2693. return r[w] ? r(t) : r.length > 1 ? (n = [e, e, "", t], i.setFilters.hasOwnProperty(e.toLowerCase()) ? st(function(e, n) {
  2694. var i, s = r(e, t),
  2695. o = s.length;
  2696. while (o--) i = P.call(e, s[o]),
  2697. e[i] = !(n[i] = s[o])
  2698. }) : function(e) {
  2699. return r(e, 0, n)
  2700. }) : r
  2701. }
  2702. },
  2703. pseudos: {
  2704. not: st(function(e) {
  2705. var t = [],
  2706. n = [],
  2707. r = u(e.replace(R, "$1"));
  2708. return r[w] ? st(function(e, t, n, i) {
  2709. var s, o = r(e, null, i, []),
  2710. u = e.length;
  2711. while (u--) if (s = o[u]) e[u] = !(t[u] = s)
  2712. }) : function(e, i, s) {
  2713. return t[0] = e,
  2714. r(t, null, s, n),
  2715. !n.pop()
  2716. }
  2717. }),
  2718. has: st(function(e) {
  2719. return function(t) {
  2720. return ut(e, t).length > 0
  2721. }
  2722. }),
  2723. contains: st(function(e) {
  2724. return function(t) {
  2725. return (t.textContent || t.innerText || s(t)).indexOf(e) > -1
  2726. }
  2727. }),
  2728. lang: st(function(e) {
  2729. return X.test(e || "") || ut.error("unsupported lang: " + e),
  2730. e = e.replace(et, tt).toLowerCase(),
  2731. function(t) {
  2732. var n;
  2733. do
  2734. if (n = p ? t.getAttribute("xml:lang") || t.getAttribute("lang") : t.lang) return n = n.toLowerCase(),
  2735. n === e || n.indexOf(e + "-") === 0;
  2736. while ((t = t.parentNode) && t.nodeType === 1);
  2737. return ! 1
  2738. }
  2739. }),
  2740. target: function(t) {
  2741. var n = e.location && e.location.hash;
  2742. return n && n.slice(1) === t.id
  2743. },
  2744. root: function(e) {
  2745. return e === h
  2746. },
  2747. focus: function(e) {
  2748. return e === c.activeElement && (!c.hasFocus || c.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
  2749. },
  2750. enabled: function(e) {
  2751. return e.disabled === !1
  2752. },
  2753. disabled: function(e) {
  2754. return e.disabled === !0
  2755. },
  2756. checked: function(e) {
  2757. var t = e.nodeName.toLowerCase();
  2758. return t === "input" && !!e.checked || t === "option" && !!e.selected
  2759. },
  2760. selected: function(e) {
  2761. return e.parentNode && e.parentNode.selectedIndex,
  2762. e.selected === !0
  2763. },
  2764. empty: function(e) {
  2765. for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeName > "@" || e.nodeType === 3 || e.nodeType === 4) return ! 1;
  2766. return ! 0
  2767. },
  2768. parent: function(e) {
  2769. return ! i.pseudos.empty(e)
  2770. },
  2771. header: function(e) {
  2772. return G.test(e.nodeName)
  2773. },
  2774. input: function(e) {
  2775. return Q.test(e.nodeName)
  2776. },
  2777. button: function(e) {
  2778. var t = e.nodeName.toLowerCase();
  2779. return t === "input" && e.type === "button" || t === "button"
  2780. },
  2781. text: function(e) {
  2782. var t;
  2783. return e.nodeName.toLowerCase() === "input" && e.type === "text" && ((t = e.getAttribute("type")) == null || t.toLowerCase() === e.type)
  2784. },
  2785. first: ct(function() {
  2786. return [0]
  2787. }),
  2788. last: ct(function(e, t) {
  2789. return [t - 1]
  2790. }),
  2791. eq: ct(function(e, t, n) {
  2792. return [n < 0 ? n + t: n]
  2793. }),
  2794. even: ct(function(e, t) {
  2795. var n = 0;
  2796. for (; n < t; n += 2) e.push(n);
  2797. return e
  2798. }),
  2799. odd: ct(function(e, t) {
  2800. var n = 1;
  2801. for (; n < t; n += 2) e.push(n);
  2802. return e
  2803. }),
  2804. lt: ct(function(e, t, n) {
  2805. var r = n < 0 ? n + t: n;
  2806. for (; --r >= 0;) e.push(r);
  2807. return e
  2808. }),
  2809. gt: ct(function(e, t, n) {
  2810. var r = n < 0 ? n + t: n;
  2811. for (; ++r < t;) e.push(r);
  2812. return e
  2813. })
  2814. }
  2815. };
  2816. for (n in {
  2817. radio: !0,
  2818. checkbox: !0,
  2819. file: !0,
  2820. password: !0,
  2821. image: !0
  2822. }) i.pseudos[n] = ft(n);
  2823. for (n in {
  2824. submit: !0,
  2825. reset: !0
  2826. }) i.pseudos[n] = lt(n);
  2827. u = ut.compile = function(e, t) {
  2828. var n, r = [],
  2829. i = [],
  2830. s = k[e + " "];
  2831. if (!s) {
  2832. t || (t = ht(e)),
  2833. n = t.length;
  2834. while (n--) s = yt(t[n]),
  2835. s[w] ? r.push(s) : i.push(s);
  2836. s = k(e, bt(i, r))
  2837. }
  2838. return s
  2839. },
  2840. i.pseudos.nth = i.pseudos.eq,
  2841. i.filters = St.prototype = i.pseudos,
  2842. i.setFilters = new St,
  2843. l(),
  2844. ut.attr = b.attr,
  2845. b.find = ut,
  2846. b.expr = ut.selectors,
  2847. b.expr[":"] = b.expr.pseudos,
  2848. b.unique = ut.uniqueSort,
  2849. b.text = ut.getText,
  2850. b.isXMLDoc = ut.isXML,
  2851. b.contains = ut.contains
  2852. } (e);
  2853. var ot = /Until$/,
  2854. ut = /^(?:parents|prev(?:Until|All))/,
  2855. at = /^.[^:#\[\.,]*$/,
  2856. ft = b.expr.match.needsContext,
  2857. lt = {
  2858. children: !0,
  2859. contents: !0,
  2860. next: !0,
  2861. prev: !0
  2862. };
  2863. b.fn.extend({
  2864. find: function(e) {
  2865. var t, n, r, i = this.length;
  2866. if (typeof e != "string") return r = this,
  2867. this.pushStack(b(e).filter(function() {
  2868. for (t = 0; t < i; t++) if (b.contains(r[t], this)) return ! 0
  2869. }));
  2870. n = [];
  2871. for (t = 0; t < i; t++) b.find(e, this[t], n);
  2872. return n = this.pushStack(i > 1 ? b.unique(n) : n),
  2873. n.selector = (this.selector ? this.selector + " ": "") + e,
  2874. n
  2875. },
  2876. has: function(e) {
  2877. var t, n = b(e, this),
  2878. r = n.length;
  2879. return this.filter(function() {
  2880. for (t = 0; t < r; t++) if (b.contains(this, n[t])) return ! 0
  2881. })
  2882. },
  2883. not: function(e) {
  2884. return this.pushStack(ht(this, e, !1))
  2885. },
  2886. filter: function(e) {
  2887. return this.pushStack(ht(this, e, !0))
  2888. },
  2889. is: function(e) {
  2890. return !! e && (typeof e == "string" ? ft.test(e) ? b(e, this.context).index(this[0]) >= 0 : b.filter(e, this).length > 0 : this.filter(e).length > 0)
  2891. },
  2892. closest: function(e, t) {
  2893. var n, r = 0,
  2894. i = this.length,
  2895. s = [],
  2896. o = ft.test(e) || typeof e != "string" ? b(e, t || this.context) : 0;
  2897. for (; r < i; r++) {
  2898. n = this[r];
  2899. while (n && n.ownerDocument && n !== t && n.nodeType !== 11) {
  2900. if (o ? o.index(n) > -1 : b.find.matchesSelector(n, e)) {
  2901. s.push(n);
  2902. break
  2903. }
  2904. n = n.parentNode
  2905. }
  2906. }
  2907. return this.pushStack(s.length > 1 ? b.unique(s) : s)
  2908. },
  2909. index: function(e) {
  2910. return e ? typeof e == "string" ? b.inArray(this[0], b(e)) : b.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.first().prevAll().length: -1
  2911. },
  2912. add: function(e, t) {
  2913. var n = typeof e == "string" ? b(e, t) : b.makeArray(e && e.nodeType ? [e] : e),
  2914. r = b.merge(this.get(), n);
  2915. return this.pushStack(b.unique(r))
  2916. },
  2917. addBack: function(e) {
  2918. return this.add(e == null ? this.prevObject: this.prevObject.filter(e))
  2919. }
  2920. }),
  2921. b.fn.andSelf = b.fn.addBack,
  2922. b.each({
  2923. parent: function(e) {
  2924. var t = e.parentNode;
  2925. return t && t.nodeType !== 11 ? t: null
  2926. },
  2927. parents: function(e) {
  2928. return b.dir(e, "parentNode")
  2929. },
  2930. parentsUntil: function(e, t, n) {
  2931. return b.dir(e, "parentNode", n)
  2932. },
  2933. next: function(e) {
  2934. return ct(e, "nextSibling")
  2935. },
  2936. prev: function(e) {
  2937. return ct(e, "previousSibling")
  2938. },
  2939. nextAll: function(e) {
  2940. return b.dir(e, "nextSibling")
  2941. },
  2942. prevAll: function(e) {
  2943. return b.dir(e, "previousSibling")
  2944. },
  2945. nextUntil: function(e, t, n) {
  2946. return b.dir(e, "nextSibling", n)
  2947. },
  2948. prevUntil: function(e, t, n) {
  2949. return b.dir(e, "previousSibling", n)
  2950. },
  2951. siblings: function(e) {
  2952. return b.sibling((e.parentNode || {}).firstChild, e)
  2953. },
  2954. children: function(e) {
  2955. return b.sibling(e.firstChild)
  2956. },
  2957. contents: function(e) {
  2958. return b.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document: b.merge([], e.childNodes)
  2959. }
  2960. },
  2961. function(e, t) {
  2962. b.fn[e] = function(n, r) {
  2963. var i = b.map(this, t, n);
  2964. return ot.test(e) || (r = n),
  2965. r && typeof r == "string" && (i = b.filter(r, i)),
  2966. i = this.length > 1 && !lt[e] ? b.unique(i) : i,
  2967. this.length > 1 && ut.test(e) && (i = i.reverse()),
  2968. this.pushStack(i)
  2969. }
  2970. }),
  2971. b.extend({
  2972. filter: function(e, t, n) {
  2973. return n && (e = ":not(" + e + ")"),
  2974. t.length === 1 ? b.find.matchesSelector(t[0], e) ? [t[0]] : [] : b.find.matches(e, t)
  2975. },
  2976. dir: function(e, n, r) {
  2977. var i = [],
  2978. s = e[n];
  2979. while (s && s.nodeType !== 9 && (r === t || s.nodeType !== 1 || !b(s).is(r))) s.nodeType === 1 && i.push(s),
  2980. s = s[n];
  2981. return i
  2982. },
  2983. sibling: function(e, t) {
  2984. var n = [];
  2985. for (; e; e = e.nextSibling) e.nodeType === 1 && e !== t && n.push(e);
  2986. return n
  2987. }
  2988. });
  2989. var dt = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
  2990. vt = / jQuery\d+="(?:null|\d+)"/g,
  2991. mt = new RegExp("<(?:" + dt + ")[\\s/>]", "i"),
  2992. gt = /^\s+/,
  2993. yt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
  2994. bt = /<([\w:]+)/,
  2995. wt = /<tbody/i,
  2996. Et = /<|&#?\w+;/,
  2997. St = /<(?:script|style|link)/i,
  2998. xt = /^(?:checkbox|radio)$/i,
  2999. Tt = /checked\s*(?:[^=]|=\s*.checked.)/i,
  3000. Nt = /^$|\/(?:java|ecma)script/i,
  3001. Ct = /^true\/(.*)/,
  3002. kt = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
  3003. Lt = {
  3004. option: [1, "<select multiple='multiple'>", "</select>"],
  3005. legend: [1, "<fieldset>", "</fieldset>"],
  3006. area: [1, "<map>", "</map>"],
  3007. param: [1, "<object>", "</object>"],
  3008. thead: [1, "<table>", "</table>"],
  3009. tr: [2, "<table><tbody>", "</tbody></table>"],
  3010. col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
  3011. td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
  3012. _default: b.support.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"]
  3013. },
  3014. At = pt(s),
  3015. Ot = At.appendChild(s.createElement("div"));
  3016. Lt.optgroup = Lt.option,
  3017. Lt.tbody = Lt.tfoot = Lt.colgroup = Lt.caption = Lt.thead,
  3018. Lt.th = Lt.td,
  3019. b.fn.extend({
  3020. text: function(e) {
  3021. return b.access(this,
  3022. function(e) {
  3023. return e === t ? b.text(this) : this.empty().append((this[0] && this[0].ownerDocument || s).createTextNode(e))
  3024. },
  3025. null, e, arguments.length)
  3026. },
  3027. wrapAll: function(e) {
  3028. if (b.isFunction(e)) return this.each(function(t) {
  3029. b(this).wrapAll(e.call(this, t))
  3030. });
  3031. if (this[0]) {
  3032. var t = b(e, this[0].ownerDocument).eq(0).clone(!0);
  3033. this[0].parentNode && t.insertBefore(this[0]),
  3034. t.map(function() {
  3035. var e = this;
  3036. while (e.firstChild && e.firstChild.nodeType === 1) e = e.firstChild;
  3037. return e
  3038. }).append(this)
  3039. }
  3040. return this
  3041. },
  3042. wrapInner: function(e) {
  3043. return b.isFunction(e) ? this.each(function(t) {
  3044. b(this).wrapInner(e.call(this, t))
  3045. }) : this.each(function() {
  3046. var t = b(this),
  3047. n = t.contents();
  3048. n.length ? n.wrapAll(e) : t.append(e)
  3049. })
  3050. },
  3051. wrap: function(e) {
  3052. var t = b.isFunction(e);
  3053. return this.each(function(n) {
  3054. b(this).wrapAll(t ? e.call(this, n) : e)
  3055. })
  3056. },
  3057. unwrap: function() {
  3058. return this.parent().each(function() {
  3059. b.nodeName(this, "body") || b(this).replaceWith(this.childNodes)
  3060. }).end()
  3061. },
  3062. append: function() {
  3063. return this.domManip(arguments, !0,
  3064. function(e) { (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) && this.appendChild(e)
  3065. })
  3066. },
  3067. prepend: function() {
  3068. return this.domManip(arguments, !0,
  3069. function(e) { (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) && this.insertBefore(e, this.firstChild)
  3070. })
  3071. },
  3072. before: function() {
  3073. return this.domManip(arguments, !1,
  3074. function(e) {
  3075. this.parentNode && this.parentNode.insertBefore(e, this)
  3076. })
  3077. },
  3078. after: function() {
  3079. return this.domManip(arguments, !1,
  3080. function(e) {
  3081. this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
  3082. })
  3083. },
  3084. remove: function(e, t) {
  3085. var n, r = 0;
  3086. for (; (n = this[r]) != null; r++) if (!e || b.filter(e, [n]).length > 0) ! t && n.nodeType === 1 && b.cleanData(jt(n)),
  3087. n.parentNode && (t && b.contains(n.ownerDocument, n) && Pt(jt(n, "script")), n.parentNode.removeChild(n));
  3088. return this
  3089. },
  3090. empty: function() {
  3091. var e, t = 0;
  3092. for (; (e = this[t]) != null; t++) {
  3093. e.nodeType === 1 && b.cleanData(jt(e, !1));
  3094. while (e.firstChild) e.removeChild(e.firstChild);
  3095. e.options && b.nodeName(e, "select") && (e.options.length = 0)
  3096. }
  3097. return this
  3098. },
  3099. clone: function(e, t) {
  3100. return e = e == null ? !1 : e,
  3101. t = t == null ? e: t,
  3102. this.map(function() {
  3103. return b.clone(this, e, t)
  3104. })
  3105. },
  3106. html: function(e) {
  3107. return b.access(this,
  3108. function(e) {
  3109. var n = this[0] || {},
  3110. r = 0,
  3111. i = this.length;
  3112. if (e === t) return n.nodeType === 1 ? n.innerHTML.replace(vt, "") : t;
  3113. if (typeof e == "string" && !St.test(e) && (b.support.htmlSerialize || !mt.test(e)) && (b.support.leadingWhitespace || !gt.test(e)) && !Lt[(bt.exec(e) || ["", ""])[1].toLowerCase()]) {
  3114. e = e.replace(yt, "<$1></$2>");
  3115. try {
  3116. for (; r < i; r++) n = this[r] || {},
  3117. n.nodeType === 1 && (b.cleanData(jt(n, !1)), n.innerHTML = e);
  3118. n = 0
  3119. } catch(s) {}
  3120. }
  3121. n && this.empty().append(e)
  3122. },
  3123. null, e, arguments.length)
  3124. },
  3125. replaceWith: function(e) {
  3126. var t = b.isFunction(e);
  3127. return ! t && typeof e != "string" && (e = b(e).not(this).detach()),
  3128. this.domManip([e], !0,
  3129. function(e) {
  3130. var t = this.nextSibling,
  3131. n = this.parentNode;
  3132. n && (b(this).remove(), n.insertBefore(e, t))
  3133. })
  3134. },
  3135. detach: function(e) {
  3136. return this.remove(e, !0)
  3137. },
  3138. domManip: function(e, n, r) {
  3139. e = h.apply([], e);
  3140. var i, s, o, u, a, f, l = 0,
  3141. c = this.length,
  3142. p = this,
  3143. d = c - 1,
  3144. v = e[0],
  3145. m = b.isFunction(v);
  3146. if (m || !(c <= 1 || typeof v != "string" || b.support.checkClone || !Tt.test(v))) return this.each(function(i) {
  3147. var s = p.eq(i);
  3148. m && (e[0] = v.call(this, i, n ? s.html() : t)),
  3149. s.domManip(e, n, r)
  3150. });
  3151. if (c) {
  3152. f = b.buildFragment(e, this[0].ownerDocument, !1, this),
  3153. i = f.firstChild,
  3154. f.childNodes.length === 1 && (f = i);
  3155. if (i) {
  3156. n = n && b.nodeName(i, "tr"),
  3157. u = b.map(jt(f, "script"), _t),
  3158. o = u.length;
  3159. for (; l < c; l++) s = f,
  3160. l !== d && (s = b.clone(s, !0, !0), o && b.merge(u, jt(s, "script"))),
  3161. r.call(n && b.nodeName(this[l], "table") ? Mt(this[l], "tbody") : this[l], s, l);
  3162. if (o) {
  3163. a = u[u.length - 1].ownerDocument,
  3164. b.map(u, Dt);
  3165. for (l = 0; l < o; l++) s = u[l],
  3166. Nt.test(s.type || "") && !b._data(s, "globalEval") && b.contains(a, s) && (s.src ? b.ajax({
  3167. url: s.src,
  3168. type: "GET",
  3169. dataType: "script",
  3170. async: !1,
  3171. global: !1,
  3172. "throws": !0
  3173. }) : b.globalEval((s.text || s.textContent || s.innerHTML || "").replace(kt, "")))
  3174. }
  3175. f = i = null
  3176. }
  3177. }
  3178. return this
  3179. }
  3180. }),
  3181. b.each({
  3182. appendTo: "append",
  3183. prependTo: "prepend",
  3184. insertBefore: "before",
  3185. insertAfter: "after",
  3186. replaceAll: "replaceWith"
  3187. },
  3188. function(e, t) {
  3189. b.fn[e] = function(e) {
  3190. var n, r = 0,
  3191. i = [],
  3192. s = b(e),
  3193. o = s.length - 1;
  3194. for (; r <= o; r++) n = r === o ? this: this.clone(!0),
  3195. b(s[r])[t](n),
  3196. p.apply(i, n.get());
  3197. return this.pushStack(i)
  3198. }
  3199. }),
  3200. b.extend({
  3201. clone: function(e, t, n) {
  3202. var r, i, s, o, u, a = b.contains(e.ownerDocument, e);
  3203. b.support.html5Clone || b.isXMLDoc(e) || !mt.test("<" + e.nodeName + ">") ? s = e.cloneNode(!0) : (Ot.innerHTML = e.outerHTML, Ot.removeChild(s = Ot.firstChild));
  3204. if ((!b.support.noCloneEvent || !b.support.noCloneChecked) && (e.nodeType === 1 || e.nodeType === 11) && !b.isXMLDoc(e)) {
  3205. r = jt(s),
  3206. u = jt(e);
  3207. for (o = 0; (i = u[o]) != null; ++o) r[o] && Bt(i, r[o])
  3208. }
  3209. if (t) if (n) {
  3210. u = u || jt(e),
  3211. r = r || jt(s);
  3212. for (o = 0; (i = u[o]) != null; o++) Ht(i, r[o])
  3213. } else Ht(e, s);
  3214. return r = jt(s, "script"),
  3215. r.length > 0 && Pt(r, !a && jt(e, "script")),
  3216. r = u = i = null,
  3217. s
  3218. },
  3219. buildFragment: function(e, t, n, r) {
  3220. var i, s, o, u, a, f, l, c = e.length,
  3221. h = pt(t),
  3222. p = [],
  3223. d = 0;
  3224. for (; d < c; d++) {
  3225. s = e[d];
  3226. if (s || s === 0) if (b.type(s) === "object") b.merge(p, s.nodeType ? [s] : s);
  3227. else if (!Et.test(s)) p.push(t.createTextNode(s));
  3228. else {
  3229. u = u || h.appendChild(t.createElement("div")),
  3230. a = (bt.exec(s) || ["", ""])[1].toLowerCase(),
  3231. l = Lt[a] || Lt._default,
  3232. u.innerHTML = l[1] + s.replace(yt, "<$1></$2>") + l[2],
  3233. i = l[0];
  3234. while (i--) u = u.lastChild; ! b.support.leadingWhitespace && gt.test(s) && p.push(t.createTextNode(gt.exec(s)[0]));
  3235. if (!b.support.tbody) {
  3236. s = a === "table" && !wt.test(s) ? u.firstChild: l[1] === "<table>" && !wt.test(s) ? u: 0,
  3237. i = s && s.childNodes.length;
  3238. while (i--) b.nodeName(f = s.childNodes[i], "tbody") && !f.childNodes.length && s.removeChild(f)
  3239. }
  3240. b.merge(p, u.childNodes),
  3241. u.textContent = "";
  3242. while (u.firstChild) u.removeChild(u.firstChild);
  3243. u = h.lastChild
  3244. }
  3245. }
  3246. u && h.removeChild(u),
  3247. b.support.appendChecked || b.grep(jt(p, "input"), Ft),
  3248. d = 0;
  3249. while (s = p[d++]) {
  3250. if (r && b.inArray(s, r) !== -1) continue;
  3251. o = b.contains(s.ownerDocument, s),
  3252. u = jt(h.appendChild(s), "script"),
  3253. o && Pt(u);
  3254. if (n) {
  3255. i = 0;
  3256. while (s = u[i++]) Nt.test(s.type || "") && n.push(s)
  3257. }
  3258. }
  3259. return u = null,
  3260. h
  3261. },
  3262. cleanData: function(e, t) {
  3263. var n, r, s, o, u = 0,
  3264. a = b.expando,
  3265. f = b.cache,
  3266. c = b.support.deleteExpando,
  3267. h = b.event.special;
  3268. for (; (n = e[u]) != null; u++) if (t || b.acceptData(n)) {
  3269. s = n[a],
  3270. o = s && f[s];
  3271. if (o) {
  3272. if (o.events) for (r in o.events) h[r] ? b.event.remove(n, r) : b.removeEvent(n, r, o.handle);
  3273. f[s] && (delete f[s], c ? delete n[a] : typeof n.removeAttribute !== i ? n.removeAttribute(a) : n[a] = null, l.push(s))
  3274. }
  3275. }
  3276. }
  3277. });
  3278. var It, qt, Rt, Ut = /alpha\([^)]*\)/i,
  3279. zt = /opacity\s*=\s*([^)]*)/,
  3280. Wt = /^(top|right|bottom|left)$/,
  3281. Xt = /^(none|table(?!-c[ea]).+)/,
  3282. Vt = /^margin/,
  3283. $t = new RegExp("^(" + w + ")(.*)$", "i"),
  3284. Jt = new RegExp("^(" + w + ")(?!px)[a-z%]+$", "i"),
  3285. Kt = new RegExp("^([+-])=(" + w + ")", "i"),
  3286. Qt = {
  3287. BODY: "block"
  3288. },
  3289. Gt = {
  3290. position: "absolute",
  3291. visibility: "hidden",
  3292. display: "block"
  3293. },
  3294. Yt = {
  3295. letterSpacing: 0,
  3296. fontWeight: 400
  3297. },
  3298. Zt = ["Top", "Right", "Bottom", "Left"],
  3299. en = ["Webkit", "O", "Moz", "ms"];
  3300. b.fn.extend({
  3301. css: function(e, n) {
  3302. return b.access(this,
  3303. function(e, n, r) {
  3304. var i, s, o = {},
  3305. u = 0;
  3306. if (b.isArray(n)) {
  3307. s = qt(e),
  3308. i = n.length;
  3309. for (; u < i; u++) o[n[u]] = b.css(e, n[u], !1, s);
  3310. return o
  3311. }
  3312. return r !== t ? b.style(e, n, r) : b.css(e, n)
  3313. },
  3314. e, n, arguments.length > 1)
  3315. },
  3316. show: function() {
  3317. return rn(this, !0)
  3318. },
  3319. hide: function() {
  3320. return rn(this)
  3321. },
  3322. toggle: function(e) {
  3323. var t = typeof e == "boolean";
  3324. return this.each(function() { (t ? e: nn(this)) ? b(this).show() : b(this).hide()
  3325. })
  3326. }
  3327. }),
  3328. b.extend({
  3329. cssHooks: {
  3330. opacity: {
  3331. get: function(e, t) {
  3332. if (t) {
  3333. var n = Rt(e, "opacity");
  3334. return n === "" ? "1": n
  3335. }
  3336. }
  3337. }
  3338. },
  3339. cssNumber: {
  3340. columnCount: !0,
  3341. fillOpacity: !0,
  3342. fontWeight: !0,
  3343. lineHeight: !0,
  3344. opacity: !0,
  3345. orphans: !0,
  3346. widows: !0,
  3347. zIndex: !0,
  3348. zoom: !0
  3349. },
  3350. cssProps: {
  3351. "float": b.support.cssFloat ? "cssFloat": "styleFloat"
  3352. },
  3353. style: function(e, n, r, i) {
  3354. if (!e || e.nodeType === 3 || e.nodeType === 8 || !e.style) return;
  3355. var s, o, u, a = b.camelCase(n),
  3356. f = e.style;
  3357. n = b.cssProps[a] || (b.cssProps[a] = tn(f, a)),
  3358. u = b.cssHooks[n] || b.cssHooks[a];
  3359. if (r === t) return u && "get" in u && (s = u.get(e, !1, i)) !== t ? s: f[n];
  3360. o = typeof r,
  3361. o === "string" && (s = Kt.exec(r)) && (r = (s[1] + 1) * s[2] + parseFloat(b.css(e, n)), o = "number");
  3362. if (r == null || o === "number" && isNaN(r)) return;
  3363. o === "number" && !b.cssNumber[a] && (r += "px"),
  3364. !b.support.clearCloneStyle && r === "" && n.indexOf("background") === 0 && (f[n] = "inherit");
  3365. if (!u || !("set" in u) || (r = u.set(e, r, i)) !== t) try {
  3366. f[n] = r
  3367. } catch(l) {}
  3368. },
  3369. css: function(e, n, r, i) {
  3370. var s, o, u, a = b.camelCase(n);
  3371. return n = b.cssProps[a] || (b.cssProps[a] = tn(e.style, a)),
  3372. u = b.cssHooks[n] || b.cssHooks[a],
  3373. u && "get" in u && (o = u.get(e, !0, r)),
  3374. o === t && (o = Rt(e, n, i)),
  3375. o === "normal" && n in Yt && (o = Yt[n]),
  3376. r === "" || r ? (s = parseFloat(o), r === !0 || b.isNumeric(s) ? s || 0 : o) : o
  3377. },
  3378. swap: function(e, t, n, r) {
  3379. var i, s, o = {};
  3380. for (s in t) o[s] = e.style[s],
  3381. e.style[s] = t[s];
  3382. i = n.apply(e, r || []);
  3383. for (s in t) e.style[s] = o[s];
  3384. return i
  3385. }
  3386. }),
  3387. e.getComputedStyle ? (qt = function(t) {
  3388. return e.getComputedStyle(t, null)
  3389. },
  3390. Rt = function(e, n, r) {
  3391. var i, s, o, u = r || qt(e),
  3392. a = u ? u.getPropertyValue(n) || u[n] : t,
  3393. f = e.style;
  3394. return u && (a === "" && !b.contains(e.ownerDocument, e) && (a = b.style(e, n)), Jt.test(a) && Vt.test(n) && (i = f.width, s = f.minWidth, o = f.maxWidth, f.minWidth = f.maxWidth = f.width = a, a = u.width, f.width = i, f.minWidth = s, f.maxWidth = o)),
  3395. a
  3396. }) : s.documentElement.currentStyle && (qt = function(e) {
  3397. return e.currentStyle
  3398. },
  3399. Rt = function(e, n, r) {
  3400. var i, s, o, u = r || qt(e),
  3401. a = u ? u[n] : t,
  3402. f = e.style;
  3403. return a == null && f && f[n] && (a = f[n]),
  3404. Jt.test(a) && !Wt.test(n) && (i = f.left, s = e.runtimeStyle, o = s && s.left, o && (s.left = e.currentStyle.left), f.left = n === "fontSize" ? "1em": a, a = f.pixelLeft + "px", f.left = i, o && (s.left = o)),
  3405. a === "" ? "auto": a
  3406. }),
  3407. b.each(["height", "width"],
  3408. function(e, t) {
  3409. b.cssHooks[t] = {
  3410. get: function(e, n, r) {
  3411. if (n) return e.offsetWidth === 0 && Xt.test(b.css(e, "display")) ? b.swap(e, Gt,
  3412. function() {
  3413. return un(e, t, r)
  3414. }) : un(e, t, r)
  3415. },
  3416. set: function(e, n, r) {
  3417. var i = r && qt(e);
  3418. return sn(e, n, r ? on(e, t, r, b.support.boxSizing && b.css(e, "boxSizing", !1, i) === "border-box", i) : 0)
  3419. }
  3420. }
  3421. }),
  3422. b.support.opacity || (b.cssHooks.opacity = {
  3423. get: function(e, t) {
  3424. return zt.test((t && e.currentStyle ? e.currentStyle.filter: e.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "": t ? "1": ""
  3425. },
  3426. set: function(e, t) {
  3427. var n = e.style,
  3428. r = e.currentStyle,
  3429. i = b.isNumeric(t) ? "alpha(opacity=" + t * 100 + ")": "",
  3430. s = r && r.filter || n.filter || "";
  3431. n.zoom = 1;
  3432. if ((t >= 1 || t === "") && b.trim(s.replace(Ut, "")) === "" && n.removeAttribute) {
  3433. n.removeAttribute("filter");
  3434. if (t === "" || r && !r.filter) return
  3435. }
  3436. n.filter = Ut.test(s) ? s.replace(Ut, i) : s + " " + i
  3437. }
  3438. }),
  3439. b(function() {
  3440. b.support.reliableMarginRight || (b.cssHooks.marginRight = {
  3441. get: function(e, t) {
  3442. if (t) return b.swap(e, {
  3443. display: "inline-block"
  3444. },
  3445. Rt, [e, "marginRight"])
  3446. }
  3447. }),
  3448. !b.support.pixelPosition && b.fn.position && b.each(["top", "left"],
  3449. function(e, t) {
  3450. b.cssHooks[t] = {
  3451. get: function(e, n) {
  3452. if (n) return n = Rt(e, t),
  3453. Jt.test(n) ? b(e).position()[t] + "px": n
  3454. }
  3455. }
  3456. })
  3457. }),
  3458. b.expr && b.expr.filters && (b.expr.filters.hidden = function(e) {
  3459. return e.offsetWidth <= 0 && e.offsetHeight <= 0 || !b.support.reliableHiddenOffsets && (e.style && e.style.display || b.css(e, "display")) === "none"
  3460. },
  3461. b.expr.filters.visible = function(e) {
  3462. return ! b.expr.filters.hidden(e)
  3463. }),
  3464. b.each({
  3465. margin: "",
  3466. padding: "",
  3467. border: "Width"
  3468. },
  3469. function(e, t) {
  3470. b.cssHooks[e + t] = {
  3471. expand: function(n) {
  3472. var r = 0,
  3473. i = {},
  3474. s = typeof n == "string" ? n.split(" ") : [n];
  3475. for (; r < 4; r++) i[e + Zt[r] + t] = s[r] || s[r - 2] || s[0];
  3476. return i
  3477. }
  3478. },
  3479. Vt.test(e) || (b.cssHooks[e + t].set = sn)
  3480. });
  3481. var ln = /%20/g,
  3482. cn = /\[\]$/,
  3483. hn = /\r?\n/g,
  3484. pn = /^(?:submit|button|image|reset|file)$/i,
  3485. dn = /^(?:input|select|textarea|keygen)/i;
  3486. b.fn.extend({
  3487. serialize: function() {
  3488. return b.param(this.serializeArray())
  3489. },
  3490. serializeArray: function() {
  3491. return this.map(function() {
  3492. var e = b.prop(this, "elements");
  3493. return e ? b.makeArray(e) : this
  3494. }).filter(function() {
  3495. var e = this.type;
  3496. return this.name && !b(this).is(":disabled") && dn.test(this.nodeName) && !pn.test(e) && (this.checked || !xt.test(e))
  3497. }).map(function(e, t) {
  3498. var n = b(this).val();
  3499. return n == null ? null: b.isArray(n) ? b.map(n,
  3500. function(e) {
  3501. return {
  3502. name: t.name,
  3503. value: e.replace(hn, "\r\n")
  3504. }
  3505. }) : {
  3506. name: t.name,
  3507. value: n.replace(hn, "\r\n")
  3508. }
  3509. }).get()
  3510. }
  3511. }),
  3512. b.param = function(e, n) {
  3513. var r, i = [],
  3514. s = function(e, t) {
  3515. t = b.isFunction(t) ? t() : t == null ? "": t,
  3516. i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
  3517. };
  3518. n === t && (n = b.ajaxSettings && b.ajaxSettings.traditional);
  3519. if (b.isArray(e) || e.jquery && !b.isPlainObject(e)) b.each(e,
  3520. function() {
  3521. s(this.name, this.value)
  3522. });
  3523. else for (r in e) vn(r, e[r], n, s);
  3524. return i.join("&").replace(ln, "+")
  3525. },
  3526. b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),
  3527. function(e, t) {
  3528. b.fn[t] = function(e, n) {
  3529. return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
  3530. }
  3531. }),
  3532. b.fn.hover = function(e, t) {
  3533. return this.mouseenter(e).mouseleave(t || e)
  3534. };
  3535. var mn, gn, yn = b.now(),
  3536. bn = /\?/,
  3537. wn = /#.*$/,
  3538. En = /([?&])_=[^&]*/,
  3539. Sn = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg,
  3540. xn = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
  3541. Tn = /^(?:GET|HEAD)$/,
  3542. Nn = /^\/\//,
  3543. Cn = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
  3544. kn = b.fn.load,
  3545. Ln = {},
  3546. An = {},
  3547. On = "*/".concat("*");
  3548. try {
  3549. gn = o.href
  3550. } catch(Mn) {
  3551. gn = s.createElement("a"),
  3552. gn.href = "",
  3553. gn = gn.href
  3554. }
  3555. mn = Cn.exec(gn.toLowerCase()) || [],
  3556. b.fn.load = function(e, n, r) {
  3557. if (typeof e != "string" && kn) return kn.apply(this, arguments);
  3558. var i, s, o, u = this,
  3559. a = e.indexOf(" ");
  3560. return a >= 0 && (i = e.slice(a, e.length), e = e.slice(0, a)),
  3561. b.isFunction(n) ? (r = n, n = t) : n && typeof n == "object" && (o = "POST"),
  3562. u.length > 0 && b.ajax({
  3563. url: e,
  3564. type: o,
  3565. dataType: "html",
  3566. data: n
  3567. }).done(function(e) {
  3568. s = arguments,
  3569. u.html(i ? b("<div>").append(b.parseHTML(e)).find(i) : e)
  3570. }).complete(r &&
  3571. function(e, t) {
  3572. u.each(r, s || [e.responseText, t, e])
  3573. }),
  3574. this
  3575. },
  3576. b.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"],
  3577. function(e, t) {
  3578. b.fn[t] = function(e) {
  3579. return this.on(t, e)
  3580. }
  3581. }),
  3582. b.each(["get", "post"],
  3583. function(e, n) {
  3584. b[n] = function(e, r, i, s) {
  3585. return b.isFunction(r) && (s = s || i, i = r, r = t),
  3586. b.ajax({
  3587. url: e,
  3588. type: n,
  3589. dataType: s,
  3590. data: r,
  3591. success: i
  3592. })
  3593. }
  3594. }),
  3595. b.extend({
  3596. active: 0,
  3597. lastModified: {},
  3598. etag: {},
  3599. ajaxSettings: {
  3600. url: gn,
  3601. type: "GET",
  3602. isLocal: xn.test(mn[1]),
  3603. global: !0,
  3604. processData: !0,
  3605. async: !0,
  3606. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  3607. accepts: {
  3608. "*": On,
  3609. text: "text/plain",
  3610. html: "text/html",
  3611. xml: "application/xml, text/xml",
  3612. json: "application/json, text/javascript"
  3613. },
  3614. contents: {
  3615. xml: /xml/,
  3616. html: /html/,
  3617. json: /json/
  3618. },
  3619. responseFields: {
  3620. xml: "responseXML",
  3621. text: "responseText"
  3622. },
  3623. converters: {
  3624. "* text": e.String,
  3625. "text html": !0,
  3626. "text json": b.parseJSON,
  3627. "text xml": b.parseXML
  3628. },
  3629. flatOptions: {
  3630. url: !0,
  3631. context: !0
  3632. }
  3633. },
  3634. ajaxSetup: function(e, t) {
  3635. return t ? Pn(Pn(e, b.ajaxSettings), t) : Pn(b.ajaxSettings, e)
  3636. },
  3637. ajaxPrefilter: _n(Ln),
  3638. ajaxTransport: _n(An),
  3639. ajax: function(e, n) {
  3640. function N(e, n, r, i) {
  3641. var l, g, y, E, S, T = n;
  3642. if (w === 2) return;
  3643. w = 2,
  3644. u && clearTimeout(u),
  3645. f = t,
  3646. o = i || "",
  3647. x.readyState = e > 0 ? 4 : 0,
  3648. r && (E = Hn(c, x, r));
  3649. if (e >= 200 && e < 300 || e === 304) c.ifModified && (S = x.getResponseHeader("Last-Modified"), S && (b.lastModified[s] = S), S = x.getResponseHeader("etag"), S && (b.etag[s] = S)),
  3650. e === 204 ? (l = !0, T = "nocontent") : e === 304 ? (l = !0, T = "notmodified") : (l = Bn(c, E), T = l.state, g = l.data, y = l.error, l = !y);
  3651. else {
  3652. y = T;
  3653. if (e || !T) T = "error",
  3654. e < 0 && (e = 0)
  3655. }
  3656. x.status = e,
  3657. x.statusText = (n || T) + "",
  3658. l ? d.resolveWith(h, [g, T, x]) : d.rejectWith(h, [x, T, y]),
  3659. x.statusCode(m),
  3660. m = t,
  3661. a && p.trigger(l ? "ajaxSuccess": "ajaxError", [x, c, l ? g: y]),
  3662. v.fireWith(h, [x, T]),
  3663. a && (p.trigger("ajaxComplete", [x, c]), --b.active || b.event.trigger("ajaxStop"))
  3664. }
  3665. typeof e == "object" && (n = e, e = t),
  3666. n = n || {};
  3667. var r, i, s, o, u, a, f, l, c = b.ajaxSetup({},
  3668. n),
  3669. h = c.context || c,
  3670. p = c.context && (h.nodeType || h.jquery) ? b(h) : b.event,
  3671. d = b.Deferred(),
  3672. v = b.Callbacks("once memory"),
  3673. m = c.statusCode || {},
  3674. g = {},
  3675. y = {},
  3676. w = 0,
  3677. S = "canceled",
  3678. x = {
  3679. readyState: 0,
  3680. getResponseHeader: function(e) {
  3681. var t;
  3682. if (w === 2) {
  3683. if (!l) {
  3684. l = {};
  3685. while (t = Sn.exec(o)) l[t[1].toLowerCase()] = t[2]
  3686. }
  3687. t = l[e.toLowerCase()]
  3688. }
  3689. return t == null ? null: t
  3690. },
  3691. getAllResponseHeaders: function() {
  3692. return w === 2 ? o: null
  3693. },
  3694. setRequestHeader: function(e, t) {
  3695. var n = e.toLowerCase();
  3696. return w || (e = y[n] = y[n] || e, g[e] = t),
  3697. this
  3698. },
  3699. overrideMimeType: function(e) {
  3700. return w || (c.mimeType = e),
  3701. this
  3702. },
  3703. statusCode: function(e) {
  3704. var t;
  3705. if (e) if (w < 2) for (t in e) m[t] = [m[t], e[t]];
  3706. else x.always(e[x.status]);
  3707. return this
  3708. },
  3709. abort: function(e) {
  3710. var t = e || S;
  3711. return f && f.abort(t),
  3712. N(0, t),
  3713. this
  3714. }
  3715. };
  3716. d.promise(x).complete = v.add,
  3717. x.success = x.done,
  3718. x.error = x.fail,
  3719. c.url = ((e || c.url || gn) + "").replace(wn, "").replace(Nn, mn[1] + "//"),
  3720. c.type = n.method || n.type || c.method || c.type,
  3721. c.dataTypes = b.trim(c.dataType || "*").toLowerCase().match(E) || [""],
  3722. c.crossDomain == null && (r = Cn.exec(c.url.toLowerCase()), c.crossDomain = !(!r || r[1] === mn[1] && r[2] === mn[2] && (r[3] || (r[1] === "http:" ? 80 : 443)) == (mn[3] || (mn[1] === "http:" ? 80 : 443)))),
  3723. c.data && c.processData && typeof c.data != "string" && (c.data = b.param(c.data, c.traditional)),
  3724. Dn(Ln, c, n, x);
  3725. if (w === 2) return x;
  3726. a = c.global,
  3727. a && b.active++===0 && b.event.trigger("ajaxStart"),
  3728. c.type = c.type.toUpperCase(),
  3729. c.hasContent = !Tn.test(c.type),
  3730. s = c.url,
  3731. c.hasContent || (c.data && (s = c.url += (bn.test(s) ? "&": "?") + c.data, delete c.data), c.cache === !1 && (c.url = En.test(s) ? s.replace(En, "$1_=" + yn++) : s + (bn.test(s) ? "&": "?") + "_=" + yn++)),
  3732. c.ifModified && (b.lastModified[s] && x.setRequestHeader("If-Modified-Since", b.lastModified[s]), b.etag[s] && x.setRequestHeader("If-None-Match", b.etag[s])),
  3733. (c.data && c.hasContent && c.contentType !== !1 || n.contentType) && x.setRequestHeader("Content-Type", c.contentType),
  3734. x.setRequestHeader("Accept", c.dataTypes[0] && c.accepts[c.dataTypes[0]] ? c.accepts[c.dataTypes[0]] + (c.dataTypes[0] !== "*" ? ", " + On + "; q=0.01": "") : c.accepts["*"]);
  3735. for (i in c.headers) x.setRequestHeader(i, c.headers[i]);
  3736. if (!c.beforeSend || c.beforeSend.call(h, x, c) !== !1 && w !== 2) {
  3737. S = "abort";
  3738. for (i in {
  3739. success: 1,
  3740. error: 1,
  3741. complete: 1
  3742. }) x[i](c[i]);
  3743. f = Dn(An, c, n, x);
  3744. if (!f) N( - 1, "No Transport");
  3745. else {
  3746. x.readyState = 1,
  3747. a && p.trigger("ajaxSend", [x, c]),
  3748. c.async && c.timeout > 0 && (u = setTimeout(function() {
  3749. x.abort("timeout")
  3750. },
  3751. c.timeout));
  3752. try {
  3753. w = 1,
  3754. f.send(g, N)
  3755. } catch(T) {
  3756. if (! (w < 2)) throw T;
  3757. N( - 1, T)
  3758. }
  3759. }
  3760. return x
  3761. }
  3762. return x.abort()
  3763. },
  3764. getScript: function(e, n) {
  3765. return b.get(e, t, n, "script")
  3766. },
  3767. getJSON: function(e, t, n) {
  3768. return b.get(e, t, n, "json")
  3769. }
  3770. }),
  3771. b.ajaxSetup({
  3772. accepts: {
  3773. script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
  3774. },
  3775. contents: {
  3776. script: /(?:java|ecma)script/
  3777. },
  3778. converters: {
  3779. "text script": function(e) {
  3780. return b.globalEval(e),
  3781. e
  3782. }
  3783. }
  3784. }),
  3785. b.ajaxPrefilter("script",
  3786. function(e) {
  3787. e.cache === t && (e.cache = !1),
  3788. e.crossDomain && (e.type = "GET", e.global = !1)
  3789. }),
  3790. b.ajaxTransport("script",
  3791. function(e) {
  3792. if (e.crossDomain) {
  3793. var n, r = s.head || b("head")[0] || s.documentElement;
  3794. return {
  3795. send: function(t, i) {
  3796. n = s.createElement("script"),
  3797. n.async = !0,
  3798. e.scriptCharset && (n.charset = e.scriptCharset),
  3799. n.src = e.url,
  3800. n.onload = n.onreadystatechange = function(e, t) {
  3801. if (t || !n.readyState || /loaded|complete/.test(n.readyState)) n.onload = n.onreadystatechange = null,
  3802. n.parentNode && n.parentNode.removeChild(n),
  3803. n = null,
  3804. t || i(200, "success")
  3805. },
  3806. r.insertBefore(n, r.firstChild)
  3807. },
  3808. abort: function() {
  3809. n && n.onload(t, !0)
  3810. }
  3811. }
  3812. }
  3813. });
  3814. var jn = [],
  3815. Fn = /(=)\?(?=&|$)|\?\?/;
  3816. b.ajaxSetup({
  3817. jsonp: "callback",
  3818. jsonpCallback: function() {
  3819. var e = jn.pop() || b.expando + "_" + yn++;
  3820. return this[e] = !0,
  3821. e
  3822. }
  3823. }),
  3824. b.ajaxPrefilter("json jsonp",
  3825. function(n, r, i) {
  3826. var s, o, u, a = n.jsonp !== !1 && (Fn.test(n.url) ? "url": typeof n.data == "string" && !(n.contentType || "").indexOf("application/x-www-form-urlencoded") && Fn.test(n.data) && "data");
  3827. if (a || n.dataTypes[0] === "jsonp") return s = n.jsonpCallback = b.isFunction(n.jsonpCallback) ? n.jsonpCallback() : n.jsonpCallback,
  3828. a ? n[a] = n[a].replace(Fn, "$1" + s) : n.jsonp !== !1 && (n.url += (bn.test(n.url) ? "&": "?") + n.jsonp + "=" + s),
  3829. n.converters["script json"] = function() {
  3830. return u || b.error(s + " was not called"),
  3831. u[0]
  3832. },
  3833. n.dataTypes[0] = "json",
  3834. o = e[s],
  3835. e[s] = function() {
  3836. u = arguments
  3837. },
  3838. i.always(function() {
  3839. e[s] = o,
  3840. n[s] && (n.jsonpCallback = r.jsonpCallback, jn.push(s)),
  3841. u && b.isFunction(o) && o(u[0]),
  3842. u = o = t
  3843. }),
  3844. "script"
  3845. });
  3846. var In, qn, Rn = 0,
  3847. Un = e.ActiveXObject &&
  3848. function() {
  3849. var e;
  3850. for (e in In) In[e](t, !0)
  3851. };
  3852. b.ajaxSettings.xhr = e.ActiveXObject ?
  3853. function() {
  3854. return ! this.isLocal && zn() || Wn()
  3855. }: zn,
  3856. qn = b.ajaxSettings.xhr(),
  3857. b.support.cors = !!qn && "withCredentials" in qn,
  3858. qn = b.support.ajax = !!qn,
  3859. qn && b.ajaxTransport(function(n) {
  3860. if (!n.crossDomain || b.support.cors) {
  3861. var r;
  3862. return {
  3863. send: function(i, s) {
  3864. var o, u, a = n.xhr();
  3865. n.username ? a.open(n.type, n.url, n.async, n.username, n.password) : a.open(n.type, n.url, n.async);
  3866. if (n.xhrFields) for (u in n.xhrFields) a[u] = n.xhrFields[u];
  3867. n.mimeType && a.overrideMimeType && a.overrideMimeType(n.mimeType),
  3868. !n.crossDomain && !i["X-Requested-With"] && (i["X-Requested-With"] = "XMLHttpRequest");
  3869. try {
  3870. for (u in i) a.setRequestHeader(u, i[u])
  3871. } catch(f) {}
  3872. a.send(n.hasContent && n.data || null),
  3873. r = function(e, i) {
  3874. var u, f, l, c;
  3875. try {
  3876. if (r && (i || a.readyState === 4)) {
  3877. r = t,
  3878. o && (a.onreadystatechange = b.noop, Un && delete In[o]);
  3879. if (i) a.readyState !== 4 && a.abort();
  3880. else {
  3881. c = {},
  3882. u = a.status,
  3883. f = a.getAllResponseHeaders(),
  3884. typeof a.responseText == "string" && (c.text = a.responseText);
  3885. try {
  3886. l = a.statusText
  3887. } catch(h) {
  3888. l = ""
  3889. } ! u && n.isLocal && !n.crossDomain ? u = c.text ? 200 : 404 : u === 1223 && (u = 204)
  3890. }
  3891. }
  3892. } catch(p) {
  3893. i || s( - 1, p)
  3894. }
  3895. c && s(u, l, c, f)
  3896. },
  3897. n.async ? a.readyState === 4 ? setTimeout(r) : (o = ++Rn, Un && (In || (In = {},
  3898. b(e).unload(Un)), In[o] = r), a.onreadystatechange = r) : r()
  3899. },
  3900. abort: function() {
  3901. r && r(t, !0)
  3902. }
  3903. }
  3904. }
  3905. });
  3906. var Xn, Vn, $n = /^(?:toggle|show|hide)$/,
  3907. Jn = new RegExp("^(?:([+-])=|)(" + w + ")([a-z%]*)$", "i"),
  3908. Kn = /queueHooks$/,
  3909. Qn = [nr],
  3910. Gn = {
  3911. "*": [function(e, t) {
  3912. var n, r, i = this.createTween(e, t),
  3913. s = Jn.exec(t),
  3914. o = i.cur(),
  3915. u = +o || 0,
  3916. a = 1,
  3917. f = 20;
  3918. if (s) {
  3919. n = +s[2],
  3920. r = s[3] || (b.cssNumber[e] ? "": "px");
  3921. if (r !== "px" && u) {
  3922. u = b.css(i.elem, e, !0) || n || 1;
  3923. do a = a || ".5",
  3924. u /= a,
  3925. b.style(i.elem, e, u + r);
  3926. while (a !== (a = i.cur() / o) && a !== 1 && --f)
  3927. }
  3928. i.unit = r,
  3929. i.start = u,
  3930. i.end = s[1] ? u + (s[1] + 1) * n: n
  3931. }
  3932. return i
  3933. }]
  3934. };
  3935. b.Animation = b.extend(er, {
  3936. tweener: function(e, t) {
  3937. b.isFunction(e) ? (t = e, e = ["*"]) : e = e.split(" ");
  3938. var n, r = 0,
  3939. i = e.length;
  3940. for (; r < i; r++) n = e[r],
  3941. Gn[n] = Gn[n] || [],
  3942. Gn[n].unshift(t)
  3943. },
  3944. prefilter: function(e, t) {
  3945. t ? Qn.unshift(e) : Qn.push(e)
  3946. }
  3947. }),
  3948. b.Tween = rr,
  3949. rr.prototype = {
  3950. constructor: rr,
  3951. init: function(e, t, n, r, i, s) {
  3952. this.elem = e,
  3953. this.prop = n,
  3954. this.easing = i || "swing",
  3955. this.options = t,
  3956. this.start = this.now = this.cur(),
  3957. this.end = r,
  3958. this.unit = s || (b.cssNumber[n] ? "": "px")
  3959. },
  3960. cur: function() {
  3961. var e = rr.propHooks[this.prop];
  3962. return e && e.get ? e.get(this) : rr.propHooks._default.get(this)
  3963. },
  3964. run: function(e) {
  3965. var t, n = rr.propHooks[this.prop];
  3966. return this.options.duration ? this.pos = t = b.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e,
  3967. this.now = (this.end - this.start) * t + this.start,
  3968. this.options.step && this.options.step.call(this.elem, this.now, this),
  3969. n && n.set ? n.set(this) : rr.propHooks._default.set(this),
  3970. this
  3971. }
  3972. },
  3973. rr.prototype.init.prototype = rr.prototype,
  3974. rr.propHooks = {
  3975. _default: {
  3976. get: function(e) {
  3977. var t;
  3978. return e.elem[e.prop] == null || !!e.elem.style && e.elem.style[e.prop] != null ? (t = b.css(e.elem, e.prop, ""), !t || t === "auto" ? 0 : t) : e.elem[e.prop]
  3979. },
  3980. set: function(e) {
  3981. b.fx.step[e.prop] ? b.fx.step[e.prop](e) : e.elem.style && (e.elem.style[b.cssProps[e.prop]] != null || b.cssHooks[e.prop]) ? b.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now
  3982. }
  3983. }
  3984. },
  3985. rr.propHooks.scrollTop = rr.propHooks.scrollLeft = {
  3986. set: function(e) {
  3987. e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
  3988. }
  3989. },
  3990. b.each(["toggle", "show", "hide"],
  3991. function(e, t) {
  3992. var n = b.fn[t];
  3993. b.fn[t] = function(e, r, i) {
  3994. return e == null || typeof e == "boolean" ? n.apply(this, arguments) : this.animate(ir(t, !0), e, r, i)
  3995. }
  3996. }),
  3997. b.fn.extend({
  3998. fadeTo: function(e, t, n, r) {
  3999. return this.filter(nn).css("opacity", 0).show().end().animate({
  4000. opacity: t
  4001. },
  4002. e, n, r)
  4003. },
  4004. animate: function(e, t, n, r) {
  4005. var i = b.isEmptyObject(e),
  4006. s = b.speed(t, n, r),
  4007. o = function() {
  4008. var t = er(this, b.extend({},
  4009. e), s);
  4010. o.finish = function() {
  4011. t.stop(!0)
  4012. },
  4013. (i || b._data(this, "finish")) && t.stop(!0)
  4014. };
  4015. return o.finish = o,
  4016. i || s.queue === !1 ? this.each(o) : this.queue(s.queue, o)
  4017. },
  4018. stop: function(e, n, r) {
  4019. var i = function(e) {
  4020. var t = e.stop;
  4021. delete e.stop,
  4022. t(r)
  4023. };
  4024. return typeof e != "string" && (r = n, n = e, e = t),
  4025. n && e !== !1 && this.queue(e || "fx", []),
  4026. this.each(function() {
  4027. var t = !0,
  4028. n = e != null && e + "queueHooks",
  4029. s = b.timers,
  4030. o = b._data(this);
  4031. if (n) o[n] && o[n].stop && i(o[n]);
  4032. else for (n in o) o[n] && o[n].stop && Kn.test(n) && i(o[n]);
  4033. for (n = s.length; n--;) s[n].elem === this && (e == null || s[n].queue === e) && (s[n].anim.stop(r), t = !1, s.splice(n, 1)); (t || !r) && b.dequeue(this, e)
  4034. })
  4035. },
  4036. finish: function(e) {
  4037. return e !== !1 && (e = e || "fx"),
  4038. this.each(function() {
  4039. var t, n = b._data(this),
  4040. r = n[e + "queue"],
  4041. i = n[e + "queueHooks"],
  4042. s = b.timers,
  4043. o = r ? r.length: 0;
  4044. n.finish = !0,
  4045. b.queue(this, e, []),
  4046. i && i.cur && i.cur.finish && i.cur.finish.call(this);
  4047. for (t = s.length; t--;) s[t].elem === this && s[t].queue === e && (s[t].anim.stop(!0), s.splice(t, 1));
  4048. for (t = 0; t < o; t++) r[t] && r[t].finish && r[t].finish.call(this);
  4049. delete n.finish
  4050. })
  4051. }
  4052. }),
  4053. b.each({
  4054. slideDown: ir("show"),
  4055. slideUp: ir("hide"),
  4056. slideToggle: ir("toggle"),
  4057. fadeIn: {
  4058. opacity: "show"
  4059. },
  4060. fadeOut: {
  4061. opacity: "hide"
  4062. },
  4063. fadeToggle: {
  4064. opacity: "toggle"
  4065. }
  4066. },
  4067. function(e, t) {
  4068. b.fn[e] = function(e, n, r) {
  4069. return this.animate(t, e, n, r)
  4070. }
  4071. }),
  4072. b.speed = function(e, t, n) {
  4073. var r = e && typeof e == "object" ? b.extend({},
  4074. e) : {
  4075. complete: n || !n && t || b.isFunction(e) && e,
  4076. duration: e,
  4077. easing: n && t || t && !b.isFunction(t) && t
  4078. };
  4079. r.duration = b.fx.off ? 0 : typeof r.duration == "number" ? r.duration: r.duration in b.fx.speeds ? b.fx.speeds[r.duration] : b.fx.speeds._default;
  4080. if (r.queue == null || r.queue === !0) r.queue = "fx";
  4081. return r.old = r.complete,
  4082. r.complete = function() {
  4083. b.isFunction(r.old) && r.old.call(this),
  4084. r.queue && b.dequeue(this, r.queue)
  4085. },
  4086. r
  4087. },
  4088. b.easing = {
  4089. linear: function(e) {
  4090. return e
  4091. },
  4092. swing: function(e) {
  4093. return.5 - Math.cos(e * Math.PI) / 2
  4094. }
  4095. },
  4096. b.timers = [],
  4097. b.fx = rr.prototype.init,
  4098. b.fx.tick = function() {
  4099. var e, n = b.timers,
  4100. r = 0;
  4101. Xn = b.now();
  4102. for (; r < n.length; r++) e = n[r],
  4103. !e() && n[r] === e && n.splice(r--, 1);
  4104. n.length || b.fx.stop(),
  4105. Xn = t
  4106. },
  4107. b.fx.timer = function(e) {
  4108. e() && b.timers.push(e) && b.fx.start()
  4109. },
  4110. b.fx.interval = 13,
  4111. b.fx.start = function() {
  4112. Vn || (Vn = setInterval(b.fx.tick, b.fx.interval))
  4113. },
  4114. b.fx.stop = function() {
  4115. clearInterval(Vn),
  4116. Vn = null
  4117. },
  4118. b.fx.speeds = {
  4119. slow: 600,
  4120. fast: 200,
  4121. _default: 400
  4122. },
  4123. b.fx.step = {},
  4124. b.expr && b.expr.filters && (b.expr.filters.animated = function(e) {
  4125. return b.grep(b.timers,
  4126. function(t) {
  4127. return e === t.elem
  4128. }).length
  4129. }),
  4130. b.fn.offset = function(e) {
  4131. if (arguments.length) return e === t ? this: this.each(function(t) {
  4132. b.offset.setOffset(this, e, t)
  4133. });
  4134. var n, r, s = {
  4135. top: 0,
  4136. left: 0
  4137. },
  4138. o = this[0],
  4139. u = o && o.ownerDocument;
  4140. if (!u) return;
  4141. return n = u.documentElement,
  4142. b.contains(n, o) ? (typeof o.getBoundingClientRect !== i && (s = o.getBoundingClientRect()), r = sr(u), {
  4143. top: s.top + (r.pageYOffset || n.scrollTop) - (n.clientTop || 0),
  4144. left: s.left + (r.pageXOffset || n.scrollLeft) - (n.clientLeft || 0)
  4145. }) : s
  4146. },
  4147. b.offset = {
  4148. setOffset: function(e, t, n) {
  4149. var r = b.css(e, "position");
  4150. r === "static" && (e.style.position = "relative");
  4151. var i = b(e),
  4152. s = i.offset(),
  4153. o = b.css(e, "top"),
  4154. u = b.css(e, "left"),
  4155. a = (r === "absolute" || r === "fixed") && b.inArray("auto", [o, u]) > -1,
  4156. f = {},
  4157. l = {},
  4158. c,
  4159. h;
  4160. a ? (l = i.position(), c = l.top, h = l.left) : (c = parseFloat(o) || 0, h = parseFloat(u) || 0),
  4161. b.isFunction(t) && (t = t.call(e, n, s)),
  4162. t.top != null && (f.top = t.top - s.top + c),
  4163. t.left != null && (f.left = t.left - s.left + h),
  4164. "using" in t ? t.using.call(e, f) : i.css(f)
  4165. }
  4166. },
  4167. b.fn.extend({
  4168. position: function() {
  4169. if (!this[0]) return;
  4170. var e, t, n = {
  4171. top: 0,
  4172. left: 0
  4173. },
  4174. r = this[0];
  4175. return b.css(r, "position") === "fixed" ? t = r.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), b.nodeName(e[0], "html") || (n = e.offset()), n.top += b.css(e[0], "borderTopWidth", !0), n.left += b.css(e[0], "borderLeftWidth", !0)),
  4176. {
  4177. top: t.top - n.top - b.css(r, "marginTop", !0),
  4178. left: t.left - n.left - b.css(r, "marginLeft", !0)
  4179. }
  4180. },
  4181. offsetParent: function() {
  4182. return this.map(function() {
  4183. var e = this.offsetParent || s.documentElement;
  4184. while (e && !b.nodeName(e, "html") && b.css(e, "position") === "static") e = e.offsetParent;
  4185. return e || s.documentElement
  4186. })
  4187. }
  4188. }),
  4189. b.each({
  4190. scrollLeft: "pageXOffset",
  4191. scrollTop: "pageYOffset"
  4192. },
  4193. function(e, n) {
  4194. var r = /Y/.test(n);
  4195. b.fn[e] = function(i) {
  4196. return b.access(this,
  4197. function(e, i, s) {
  4198. var o = sr(e);
  4199. if (s === t) return o ? n in o ? o[n] : o.document.documentElement[i] : e[i];
  4200. o ? o.scrollTo(r ? b(o).scrollLeft() : s, r ? s: b(o).scrollTop()) : e[i] = s
  4201. },
  4202. e, i, arguments.length, null)
  4203. }
  4204. }),
  4205. b.each({
  4206. Height: "height",
  4207. Width: "width"
  4208. },
  4209. function(e, n) {
  4210. b.each({
  4211. padding: "inner" + e,
  4212. content: n,
  4213. "": "outer" + e
  4214. },
  4215. function(r, i) {
  4216. b.fn[i] = function(i, s) {
  4217. var o = arguments.length && (r || typeof i != "boolean"),
  4218. u = r || (i === !0 || s === !0 ? "margin": "border");
  4219. return b.access(this,
  4220. function(n, r, i) {
  4221. var s;
  4222. return b.isWindow(n) ? n.document.documentElement["client" + e] : n.nodeType === 9 ? (s = n.documentElement, Math.max(n.body["scroll" + e], s["scroll" + e], n.body["offset" + e], s["offset" + e], s["client" + e])) : i === t ? b.css(n, r, u) : b.style(n, r, i, u)
  4223. },
  4224. n, o ? i: t, o, null)
  4225. }
  4226. })
  4227. }),
  4228. e.jQuery = e.$ = b,
  4229. typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [],
  4230. function() {
  4231. return b
  4232. })
  4233. })(window),
  4234. function(e) {
  4235. e.fn.unveil = function(t, n) {
  4236. function f() {
  4237. var t = u.filter(function() {
  4238. var t = e(this),
  4239. n = r.scrollTop(),
  4240. s = n + r.height(),
  4241. o = t.offset().top,
  4242. u = o + t.height();
  4243. return u >= n - i && o <= s + i
  4244. });
  4245. a = t.trigger("unveil"),
  4246. u = u.not(a)
  4247. }
  4248. var r = e(window),
  4249. i = t || 0,
  4250. s = window.devicePixelRatio > 1,
  4251. o = s ? "data-src-retina": "data-src",
  4252. u = this,
  4253. a;
  4254. return this.one("unveil",
  4255. function() {
  4256. var e = this.getAttribute(o);
  4257. e = e || this.getAttribute("data-src"),
  4258. e && (this.setAttribute("src", e), typeof n == "function" && n.call(this))
  4259. }),
  4260. r.scroll(f),
  4261. r.resize(f),
  4262. f(),
  4263. this
  4264. }
  4265. } (window.jQuery || window.Zepto),
  4266. function(e) {
  4267. "use strict";
  4268. function t(e) {
  4269. return new RegExp("(^|\\s+)" + e + "(\\s+|$)")
  4270. }
  4271. function s(e, t) {
  4272. var s = n(e, t) ? i: r;
  4273. s(e, t)
  4274. }
  4275. var n, r, i;
  4276. "classList" in document.documentElement ? (n = function(e, t) {
  4277. return e.classList.contains(t)
  4278. },
  4279. r = function(e, t) {
  4280. e.classList.add(t)
  4281. },
  4282. i = function(e, t) {
  4283. e.classList.remove(t)
  4284. }) : (n = function(e, n) {
  4285. return t(n).test(e.className)
  4286. },
  4287. r = function(e, t) {
  4288. n(e, t) || (e.className = e.className + " " + t)
  4289. },
  4290. i = function(e, n) {
  4291. e.className = e.className.replace(t(n), " ")
  4292. }),
  4293. e.classie = {
  4294. hasClass: n,
  4295. addClass: r,
  4296. removeClass: i,
  4297. toggleClass: s,
  4298. has: n,
  4299. add: r,
  4300. remove: i,
  4301. toggle: s
  4302. }
  4303. } (window),
  4304. function() {
  4305. window.OpenXJS = function() {
  4306. function e(e) {
  4307. this.deliveryUrl = e.deliveryUrl,
  4308. this.defaultParameters = e.parameters
  4309. }
  4310. return e.prototype.spcScript = "spc.php",
  4311. e.prototype.displayAds = function(e, t, n) {
  4312. var r = this;
  4313. return this.receiveAdCodes(e, t,
  4314. function(e) {
  4315. var t, i;
  4316. for (i in e) t = e[i],
  4317. r._displayAd(i, t);
  4318. return typeof n == "function" ? n() : void 0
  4319. })
  4320. },
  4321. e.prototype.receiveAdCodes = function(e, t, n) {
  4322. var r, i, s = this;
  4323. return r = this._openxParameters(e, t),
  4324. i = this.deliveryUrl + this.spcScript + "?" + this._queryString(r),
  4325. this._loadScript(i,
  4326. function() {
  4327. return s._parseResponse(e, n)
  4328. })
  4329. },
  4330. e.prototype._parseResponse = function(e, t) {
  4331. var n, r, i;
  4332. n = {};
  4333. if (typeof window.OA_output != "object") {
  4334. window.OA_output = null,
  4335. typeof t == "function" && t(n);
  4336. return
  4337. }
  4338. for (r in e) {
  4339. i = e[r];
  4340. if (this._emptyResponse(window.OA_output[r])) continue;
  4341. n[r] = window.OA_output[r]
  4342. }
  4343. return window.OA_output = null,
  4344. typeof t == "function" ? t(n) : void 0
  4345. },
  4346. e.prototype._displayAd = function(e, t) {
  4347. var n;
  4348. n = document.getElementById(e);
  4349. if (n === null) return;
  4350. return document.getElementById(e).innerHTML = t
  4351. },
  4352. e.prototype._openxParameters = function(e, t) {
  4353. var n, r, i, s, o, u, a;
  4354. i = this._mergeObjects(this.defaultParameters, t),
  4355. r = "|";
  4356. for (o in e) a = e[o],
  4357. r += "" + o + "=" + a + "|";
  4358. s = {
  4359. zones: r,
  4360. nz: 1,
  4361. blockcampaign: 1,
  4362. charset: this._documentCharset(),
  4363. cb: this._randomNumber(),
  4364. r: this._randomNumber(),
  4365. loc: this._location(),
  4366. referer: this._referrer()
  4367. };
  4368. for (n in i) u = i[n],
  4369. s[n] = u;
  4370. return s
  4371. },
  4372. e.prototype._loadScript = function(e, t) {
  4373. var n, r, i = this;
  4374. return r = document.createElement("script"),
  4375. r.async = "async",
  4376. n = !1,
  4377. r.onload = r.onreadystatechange = function() {
  4378. if (r.readyState && !/complete|loaded/.test(r.readyState) || n) return;
  4379. return n = !0,
  4380. r.onload = r.onreadystatechange = null,
  4381. typeof t == "function" ? t() : void 0
  4382. },
  4383. r.src = e,
  4384. this._appendToHead(r)
  4385. },
  4386. e.prototype._randomNumber = function() {
  4387. return Math.floor(Math.random() * 99999999999)
  4388. },
  4389. e.prototype._location = function() {
  4390. return window.location
  4391. },
  4392. e.prototype._referrer = function() {
  4393. return document.referrer
  4394. },
  4395. e.prototype._documentCharset = function() {
  4396. return document.charset ? document.charset: document.characterSet ? document.characterSet: ""
  4397. },
  4398. e.prototype._emptyResponse = function(e) {
  4399. return typeof e != "string" || e === "" || e === "<a href='F' target='_blank'><img src='F' border='0' alt=''></a>\n"
  4400. },
  4401. e.prototype._queryString = function(e) {
  4402. var t, n, r;
  4403. t = [];
  4404. for (n in e) r = e[n],
  4405. r != null && t.push("" + n + "=" + encodeURIComponent(r));
  4406. return t.join("&")
  4407. },
  4408. e.prototype._appendToHead = function(e) {
  4409. var t;
  4410. return t = document.head || document.getElementsByTagName("head")[0] || document.documentElement,
  4411. t.insertBefore(e, t.firstChild)
  4412. },
  4413. e.prototype._mergeObjects = function(e, t) {
  4414. var n, r;
  4415. r = {};
  4416. for (n in e) r[n] = e[n];
  4417. for (n in t) r[n] = t[n];
  4418. return r
  4419. },
  4420. e
  4421. } ()
  4422. }.call(this),
  4423. Array.prototype.indexOf || (Array.prototype.indexOf = function(e) {
  4424. "use strict";
  4425. if (this === void 0 || this === null) throw new TypeError;
  4426. var t = Object(this),
  4427. n = t.length >>> 0;
  4428. if (n === 0) return - 1;
  4429. var r = 0;
  4430. arguments.length > 0 && (r = Number(arguments[1]), r !== r ? r = 0 : r !== 0 && r !== Infinity && r !== -Infinity && (r = (r > 0 || -1) * Math.floor(Math.abs(r))));
  4431. if (r >= n) return - 1;
  4432. var i = r >= 0 ? r: Math.max(n - Math.abs(r), 0);
  4433. for (; i < n; i++) if (i in t && t[i] === e) return i;
  4434. return - 1
  4435. });
  4436. var I18n = I18n || {};
  4437. I18n.defaultLocale = "en",
  4438. I18n.fallbacks = !1,
  4439. I18n.defaultSeparator = ".",
  4440. I18n.locale = null,
  4441. I18n.PLACEHOLDER = /(?:\{\{|%\{)(.*?)(?:\}\}?)/gm,
  4442. I18n.fallbackRules = {},
  4443. I18n.pluralizationRules = {
  4444. en: function(e) {
  4445. return e == 0 ? ["zero", "none", "other"] : e == 1 ? "one": "other"
  4446. }
  4447. },
  4448. I18n.getFallbacks = function(e) {
  4449. if (e === I18n.defaultLocale) return [];
  4450. if (!I18n.fallbackRules[e]) {
  4451. var t = [],
  4452. n = e.split("-");
  4453. for (var r = 1; r < n.length; r++) t.push(n.slice(0, r).join("-"));
  4454. t.push(I18n.defaultLocale),
  4455. I18n.fallbackRules[e] = t
  4456. }
  4457. return I18n.fallbackRules[e]
  4458. },
  4459. I18n.isValidNode = function(e, t, n) {
  4460. return e[t] !== null && e[t] !== n
  4461. },
  4462. I18n.lookup = function(e, t) {
  4463. var t = t || {},
  4464. n = e,
  4465. r = this.prepareOptions(I18n.translations),
  4466. i = t.locale || I18n.currentLocale(),
  4467. s = r[i] || {},
  4468. t = this.prepareOptions(t),
  4469. o;
  4470. typeof e == "object" && (e = e.join(this.defaultSeparator)),
  4471. t.scope && (e = t.scope.toString() + this.defaultSeparator + e),
  4472. e = e.split(this.defaultSeparator);
  4473. while (s && e.length > 0) o = e.shift(),
  4474. s = s[o];
  4475. if (!s) {
  4476. if (I18n.fallbacks) {
  4477. var u = this.getFallbacks(i);
  4478. for (var a = 0; a < u.length; u++) {
  4479. s = I18n.lookup(n, this.prepareOptions({
  4480. locale: u[a]
  4481. },
  4482. t));
  4483. if (s) break
  4484. }
  4485. } ! s && this.isValidNode(t, "defaultValue") && (s = t.defaultValue)
  4486. }
  4487. return s
  4488. },
  4489. I18n.prepareOptions = function() {
  4490. var e = {},
  4491. t, n = arguments.length;
  4492. for (var r = 0; r < n; r++) {
  4493. t = arguments[r];
  4494. if (!t) continue;
  4495. for (var i in t) this.isValidNode(e, i) || (e[i] = t[i])
  4496. }
  4497. return e
  4498. },
  4499. I18n.interpolate = function(e, t) {
  4500. t = this.prepareOptions(t);
  4501. var n = e.match(this.PLACEHOLDER),
  4502. r,
  4503. i,
  4504. s;
  4505. if (!n) return e;
  4506. for (var o = 0; r = n[o]; o++) s = r.replace(this.PLACEHOLDER, "$1"),
  4507. i = t[s],
  4508. this.isValidNode(t, s) || (i = "[missing " + r + " value]"),
  4509. regex = new RegExp(r.replace(/\{/gm, "\\{").replace(/\}/gm, "\\}")),
  4510. e = e.replace(regex, i);
  4511. return e
  4512. },
  4513. I18n.translate = function(e, t) {
  4514. t = this.prepareOptions(t);
  4515. var n = this.lookup(e, t);
  4516. try {
  4517. return typeof n == "object" ? typeof t.count == "number" ? this.pluralize(t.count, e, t) : n: this.interpolate(n, t)
  4518. } catch(r) {
  4519. return this.missingTranslation(e)
  4520. }
  4521. },
  4522. I18n.localize = function(e, t) {
  4523. switch (e) {
  4524. case "currency":
  4525. return this.toCurrency(t);
  4526. case "number":
  4527. return e = this.lookup("number.format"),
  4528. this.toNumber(t, e);
  4529. case "percentage":
  4530. return this.toPercentage(t);
  4531. default:
  4532. return e.match(/^(date|time)/) ? this.toTime(e, t) : t.toString()
  4533. }
  4534. },
  4535. I18n.parseDate = function(e) {
  4536. var t, n;
  4537. if (typeof e == "object") return e;
  4538. t = e.toString().match(/(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2}):(\d{2}))?(Z|\+0000)?/);
  4539. if (t) {
  4540. for (var r = 1; r <= 6; r++) t[r] = parseInt(t[r], 10) || 0;
  4541. t[2] -= 1,
  4542. t[7] ? n = new Date(Date.UTC(t[1], t[2], t[3], t[4], t[5], t[6])) : n = new Date(t[1], t[2], t[3], t[4], t[5], t[6])
  4543. } else typeof e == "number" ? (n = new Date, n.setTime(e)) : e.match(/\d+ \d+:\d+:\d+ [+-]\d+ \d+/) ? (n = new Date, n.setTime(Date.parse(e))) : (n = new Date, n.setTime(Date.parse(e)));
  4544. return n
  4545. },
  4546. I18n.toTime = function(e, t) {
  4547. var n = this.parseDate(t),
  4548. r = this.lookup(e);
  4549. return n.toString().match(/invalid/i) ? n.toString() : r ? this.strftime(n, r) : n.toString()
  4550. },
  4551. I18n.strftime = function(e, t) {
  4552. var n = this.lookup("date");
  4553. if (!n) return e.toString();
  4554. n.meridian = n.meridian || ["AM", "PM"];
  4555. var r = e.getDay(),
  4556. i = e.getDate(),
  4557. s = e.getFullYear(),
  4558. o = e.getMonth() + 1,
  4559. u = e.getHours(),
  4560. a = u,
  4561. f = u > 11 ? 1 : 0,
  4562. l = e.getSeconds(),
  4563. c = e.getMinutes(),
  4564. h = e.getTimezoneOffset(),
  4565. p = Math.floor(Math.abs(h / 60)),
  4566. d = Math.abs(h) - p * 60,
  4567. v = (h > 0 ? "-": "+") + (p.toString().length < 2 ? "0" + p: p) + (d.toString().length < 2 ? "0" + d: d);
  4568. a > 12 ? a -= 12 : a === 0 && (a = 12);
  4569. var m = function(e) {
  4570. var t = "0" + e.toString();
  4571. return t.substr(t.length - 2)
  4572. },
  4573. g = t;
  4574. return g = g.replace("%a", n.abbr_day_names[r]),
  4575. g = g.replace("%A", n.day_names[r]),
  4576. g = g.replace("%b", n.abbr_month_names[o]),
  4577. g = g.replace("%B", n.month_names[o]),
  4578. g = g.replace("%d", m(i)),
  4579. g = g.replace("%e", i),
  4580. g = g.replace("%-d", i),
  4581. g = g.replace("%H", m(u)),
  4582. g = g.replace("%-H", u),
  4583. g = g.replace("%I", m(a)),
  4584. g = g.replace("%-I", a),
  4585. g = g.replace("%m", m(o)),
  4586. g = g.replace("%-m", o),
  4587. g = g.replace("%M", m(c)),
  4588. g = g.replace("%-M", c),
  4589. g = g.replace("%p", n.meridian[f]),
  4590. g = g.replace("%S", m(l)),
  4591. g = g.replace("%-S", l),
  4592. g = g.replace("%w", r),
  4593. g = g.replace("%y", m(s)),
  4594. g = g.replace("%-y", m(s).replace(/^0+/, "")),
  4595. g = g.replace("%Y", s),
  4596. g = g.replace("%z", v),
  4597. g
  4598. },
  4599. I18n.toNumber = function(e, t) {
  4600. t = this.prepareOptions(t, this.lookup("number.format"), {
  4601. precision: 3,
  4602. separator: ".",
  4603. delimiter: ",",
  4604. strip_insignificant_zeros: !1
  4605. });
  4606. var n = e < 0,
  4607. r = Math.abs(e).toFixed(t.precision).toString(),
  4608. i = r.split("."),
  4609. s,
  4610. o = [],
  4611. u;
  4612. e = i[0],
  4613. s = i[1];
  4614. while (e.length > 0) o.unshift(e.substr(Math.max(0, e.length - 3), 3)),
  4615. e = e.substr(0, e.length - 3);
  4616. u = o.join(t.delimiter),
  4617. t.precision > 0 && (u += t.separator + i[1]),
  4618. n && (u = "-" + u);
  4619. if (t.strip_insignificant_zeros) {
  4620. var a = {
  4621. separator: new RegExp(t.separator.replace(/\./, "\\.") + "$"),
  4622. zeros: /0+$/
  4623. };
  4624. u = u.replace(a.zeros, "").replace(a.separator, "")
  4625. }
  4626. return u
  4627. },
  4628. I18n.toCurrency = function(e, t) {
  4629. return t = this.prepareOptions(t, this.lookup("number.currency.format"), this.lookup("number.format"), {
  4630. unit: "$",
  4631. precision: 2,
  4632. format: "%u%n",
  4633. delimiter: ",",
  4634. separator: "."
  4635. }),
  4636. e = this.toNumber(e, t),
  4637. e = t.format.replace("%u", t.unit).replace("%n", e),
  4638. e
  4639. },
  4640. I18n.toHumanSize = function(e, t) {
  4641. var n = 1024,
  4642. r = e,
  4643. i = 0,
  4644. s, o;
  4645. while (r >= n && i < 4) r /= n,
  4646. i += 1;
  4647. return i === 0 ? (s = this.t("number.human.storage_units.units.byte", {
  4648. count: r
  4649. }), o = 0) : (s = this.t("number.human.storage_units.units." + [null, "kb", "mb", "gb", "tb"][i]), o = r - Math.floor(r) === 0 ? 0 : 1),
  4650. t = this.prepareOptions(t, {
  4651. precision: o,
  4652. format: "%n%u",
  4653. delimiter: ""
  4654. }),
  4655. e = this.toNumber(r, t),
  4656. e = t.format.replace("%u", s).replace("%n", e),
  4657. e
  4658. },
  4659. I18n.toPercentage = function(e, t) {
  4660. return t = this.prepareOptions(t, this.lookup("number.percentage.format"), this.lookup("number.format"), {
  4661. precision: 3,
  4662. separator: ".",
  4663. delimiter: ""
  4664. }),
  4665. e = this.toNumber(e, t),
  4666. e + "%"
  4667. },
  4668. I18n.pluralizer = function(e) {
  4669. return pluralizer = this.pluralizationRules[e],
  4670. pluralizer !== undefined ? pluralizer: this.pluralizationRules.en
  4671. },
  4672. I18n.findAndTranslateValidNode = function(e, t) {
  4673. for (i = 0; i < e.length; i++) {
  4674. key = e[i];
  4675. if (this.isValidNode(t, key)) return t[key]
  4676. }
  4677. return null
  4678. },
  4679. I18n.pluralize = function(e, t, n) {
  4680. var r;
  4681. try {
  4682. r = this.lookup(t, n)
  4683. } catch(i) {}
  4684. if (!r) return this.missingTranslation(t);
  4685. var s;
  4686. return n = this.prepareOptions(n),
  4687. n.count = e.toString(),
  4688. pluralizer = this.pluralizer(this.currentLocale()),
  4689. key = pluralizer(Math.abs(e)),
  4690. keys = typeof key == "object" && key instanceof Array ? key: [key],
  4691. s = this.findAndTranslateValidNode(keys, r),
  4692. s == null && (s = this.missingTranslation(t, keys[0])),
  4693. this.interpolate(s, n)
  4694. },
  4695. I18n.missingTranslation = function() {
  4696. var e = '[missing "' + this.currentLocale(),
  4697. t = arguments.length;
  4698. for (var n = 0; n < t; n++) e += "." + arguments[n];
  4699. return e += '" translation]',
  4700. e
  4701. },
  4702. I18n.currentLocale = function() {
  4703. return I18n.locale || I18n.defaultLocale
  4704. },
  4705. I18n.t = I18n.translate,
  4706. I18n.l = I18n.localize,
  4707. I18n.p = I18n.pluralize;
  4708. var I18n = I18n || {};
  4709. I18n.translations = {
  4710. en: {
  4711. invite: {
  4712. title: "Invite your friends!",
  4713. message: "Do you know %{project_name}? Join and play with me!",
  4714. invite: "Invite",
  4715. close: "Close"
  4716. },
  4717. activemodel: {
  4718. attributes: {
  4719. game_launcher: {
  4720. project: "Game",
  4721. external_id: "External id",
  4722. user: "User id",
  4723. token: "Token"
  4724. }
  4725. },
  4726. errors: {
  4727. models: {
  4728. game_launcher: {
  4729. attributes: {
  4730. project: {
  4731. blank: "Game not found"
  4732. },
  4733. external_id: {
  4734. blank: "Counld not retreive external user id"
  4735. },
  4736. user: {
  4737. blank: "Could not create user"
  4738. },
  4739. user_provider_id: {
  4740. blank: "Could not generate user provider id"
  4741. },
  4742. token: {
  4743. blank: "Failed to generate session token"
  4744. }
  4745. }
  4746. }
  4747. }
  4748. }
  4749. },
  4750. js: {
  4751. skip: "Skip",
  4752. exit_game: "Exit Game",
  4753. return_to_homepage_to_play_more_free_online_games: "Return to homepage to play more free online games!",
  4754. play_now: "Play now!",
  4755. back_to_game: "Go back to the game",
  4756. payment_started: "Payment started",
  4757. initializing_the_payment: "Initializing the payment",
  4758. payment_not_open: "Click here to open payment window",
  4759. start: "Start",
  4760. play: "Play",
  4761. free: "Free",
  4762. game_description: "Game description",
  4763. terms: "Terms",
  4764. imprint: "Imprint",
  4765. "continue": "Continue",
  4766. share: "Share",
  4767. vote: "Vote",
  4768. "more-games": "More games",
  4769. similar_games: "Similar games",
  4770. recently_played: "Recently played",
  4771. points_in: "points in",
  4772. play_again: "play again",
  4773. play_more: "play more",
  4774. ranking: "ranking",
  4775. score: "score",
  4776. best: "best",
  4777. advertisement: "Advertisement",
  4778. game_is_already_rated: "Game is already rated",
  4779. thank_you_for_your_vote: "Thank you for your vote!"
  4780. }
  4781. },
  4782. pl: {
  4783. invite: {
  4784. title: "Invite your friends!",
  4785. message: "Do you know %{project_name}? Join and play with me!",
  4786. invite: "Invite",
  4787. close: "Close"
  4788. },
  4789. activemodel: {
  4790. attributes: {
  4791. game_launcher: {
  4792. project: "Game",
  4793. external_id: "External id",
  4794. user: "User id",
  4795. token: "Token"
  4796. }
  4797. },
  4798. errors: {
  4799. models: {
  4800. game_launcher: {
  4801. attributes: {
  4802. project: {
  4803. blank: "Game not found"
  4804. },
  4805. external_id: {
  4806. blank: "Counld not retreive external user id"
  4807. },
  4808. user: {
  4809. blank: "Could not create user"
  4810. },
  4811. user_provider_id: {
  4812. blank: "Could not generate user provider id"
  4813. },
  4814. token: {
  4815. blank: "Failed to generate session token"
  4816. }
  4817. }
  4818. }
  4819. }
  4820. }
  4821. },
  4822. js: {
  4823. skip: "Pomiń",
  4824. exit_game: "Wyjdź",
  4825. return_to_homepage_to_play_more_free_online_games: "Return to homepage to play more free online games!",
  4826. play_now: "Zagraj teraz!",
  4827. back_to_game: "Wróć do gry",
  4828. payment_started: "Payment started",
  4829. initializing_the_payment: "Initializing the payment",
  4830. payment_not_open: "Click here to open payment window",
  4831. start: "Start",
  4832. game_description: "Szczegóły",
  4833. terms: "Terms",
  4834. imprint: "Imprint",
  4835. "continue": null
  4836. }
  4837. },
  4838. tr: {
  4839. invite: {
  4840. title: "Invite your friends!",
  4841. message: "Do you know %{project_name}? Join and play with me!",
  4842. invite: "Invite",
  4843. close: "Close"
  4844. },
  4845. activemodel: {
  4846. attributes: {
  4847. game_launcher: {
  4848. project: "Game",
  4849. external_id: "External id",
  4850. user: "User id",
  4851. token: "Token"
  4852. }
  4853. },
  4854. errors: {
  4855. models: {
  4856. game_launcher: {
  4857. attributes: {
  4858. project: {
  4859. blank: "Game not found"
  4860. },
  4861. external_id: {
  4862. blank: "Counld not retreive external user id"
  4863. },
  4864. user: {
  4865. blank: "Could not create user"
  4866. },
  4867. user_provider_id: {
  4868. blank: "Could not generate user provider id"
  4869. },
  4870. token: {
  4871. blank: "Failed to generate session token"
  4872. }
  4873. }
  4874. }
  4875. }
  4876. }
  4877. },
  4878. js: {
  4879. skip: "reklamı geç",
  4880. exit_game: "Exit Game",
  4881. return_to_homepage_to_play_more_free_online_games: "Return to homepage to play more free online games!",
  4882. play_now: "Play now!",
  4883. back_to_game: "Go back to the game",
  4884. payment_started: "Payment started",
  4885. initializing_the_payment: "Initializing the payment",
  4886. payment_not_open: "Click here to open payment window",
  4887. start: "Başla",
  4888. game_description: "Oyun Açıklaması",
  4889. terms: "Terms",
  4890. imprint: "Imprint",
  4891. "continue": null
  4892. }
  4893. }
  4894. },
  4895. function() {
  4896. Softgames.prototype.Experiments = ["a", "b"],
  4897. Softgames.prototype.selectedExperiment = 0,
  4898. Softgames.prototype.selectedExperimentName = function() {
  4899. return this.Experiments[this.selectedExperiment].toUpperCase()
  4900. },
  4901. Softgames.prototype.selectExperiment = function() {
  4902. return this.selectedExperiment = Math.floor(Math.random() * this.Experiments.length)
  4903. }
  4904. }.call(this),
  4905. function() {
  4906. window.SoftgamesVoyagerTracker = function() {
  4907. function e(e) {
  4908. var t, n, r = this;
  4909. this.externalGACode = e,
  4910. this.messageQueue = [],
  4911. this.eventQueue = [],
  4912. this.ready = !1,
  4913. this.mainNamespace = "softgames",
  4914. this.trackers = [this.mainNamespace],
  4915. this.externalGACode !== undefined && this.externalGACode !== "" && this.trackers.push("external"),
  4916. window._gaq = window._gaq || [],
  4917. this._pushGA("_setAccount", "UA-33273423-1", this.mainNamespace),
  4918. this.externalGACode !== undefined && this.externalGACode !== "" && this._pushGA("_setAccount", this.externalGACode, "external"),
  4919. t = document.createElement("script"),
  4920. t.type = "text/javascript",
  4921. t.async = !0,
  4922. t.onload = function() {
  4923. return r.ready = !0,
  4924. r._sendMessageQueue(),
  4925. r._sendEventQueue()
  4926. },
  4927. // t.src = ("https:" === document.location.protocol ? "https://": "http://") + "stats.g.doubleclick.net/dc.js",
  4928. t.src = "",
  4929. n = document.getElementsByTagName("script")[0],
  4930. n.parentNode.insertBefore(t, n)
  4931. }
  4932. return e.prototype.trackPageview = function(e, t, n, r, i, s) {
  4933. return this.data = {
  4934. action: "_trackPageview",
  4935. params: e,
  4936. custom: {
  4937. subplatform: t,
  4938. affiliate: n,
  4939. installation_date: r,
  4940. "undefined": i,
  4941. gender: s
  4942. }
  4943. },
  4944. this.ready ? this._postMessage(this.data) : this.messageQueue.push(this.data)
  4945. },
  4946. e.prototype.trackEvent = function(e, t, n, r) {
  4947. return this.data = {
  4948. category: e,
  4949. action: t,
  4950. opt_label: n,
  4951. opt_value: r
  4952. },
  4953. this.ready ? this._postEvent(this.data) : this.eventQueue.push(this.data)
  4954. },
  4955. e.prototype._postMessage = function(e) {
  4956. var t, n, r, i, s, o;
  4957. try {
  4958. console.log("Track:", JSON.stringify(e)),
  4959. t = e.action,
  4960. o = e.params,
  4961. n = e.custom,
  4962. r = 1;
  4963. for (s in n) window._gaq.push(["_setCustomVar", r, s, n[s], 1]),
  4964. r++;
  4965. return o !== undefined && (i = o),
  4966. this._pushGA(t, i)
  4967. } catch(u) {
  4968. return console.log(u)
  4969. }
  4970. },
  4971. e.prototype._postEvent = function(e) {
  4972. try {
  4973. return console.log("Track event:", JSON.stringify(e)),
  4974. window._gaq.push(["_trackEvent", e.category, e.action, e.opt_label, e.opt_value])
  4975. } catch(t) {
  4976. return console.log(t)
  4977. }
  4978. },
  4979. e.prototype._sendMessageQueue = function() {
  4980. var e, t, n, r;
  4981. r = this.messageQueue;
  4982. for (t = 0, n = r.length; t < n; t++) e = r[t],
  4983. this._postMessage(e);
  4984. return this.messageQueue = []
  4985. },
  4986. e.prototype._sendEventQueue = function() {
  4987. var e, t, n, r;
  4988. r = this.eventQueue;
  4989. for (t = 0, n = r.length; t < n; t++) e = r[t],
  4990. this._postEvent(e);
  4991. return this.eventQueue = []
  4992. },
  4993. e.prototype._pushGA = function(e, t, n) {
  4994. var r, i;
  4995. if (n !== undefined) return this._pushSimpleGA(e, t, n);
  4996. r = 0,
  4997. i = [];
  4998. while (r < this.trackers.length) this._pushSimpleGA(e, t, this.trackers[r]),
  4999. i.push(r++);
  5000. return i
  5001. },
  5002. e.prototype._pushSimpleGA = function(e, t, n) {
  5003. var r;
  5004. return r = e,
  5005. n !== this.mainNamespace && (r = n + "." + e),
  5006. window._gaq.push([r, t])
  5007. },
  5008. e
  5009. } ()
  5010. }.call(this),
  5011. function() {
  5012. Softgames.prototype.eventStartingGame = "starting-game",
  5013. Softgames.prototype.eventLevelUp = "level-up",
  5014. Softgames.prototype.eventGameOver = "game-over",
  5015. Softgames.prototype.eventGameCompleted = "game-completed",
  5016. Softgames.prototype.eventGamePause = "game-pause",
  5017. Softgames.prototype.eventGameRestart = "game-restart",
  5018. Softgames.prototype.eventSelectLevel = "select-level",
  5019. Softgames.prototype.eventGoto = "goto",
  5020. Softgames.prototype.eventSound = "sound",
  5021. Softgames.prototype.trigger = function(e, t) {
  5022. var n, r;
  5023. n = null,
  5024. r = null;
  5025. switch (e.type) {
  5026. case this.eventLevelUp:
  5027. n = "level",
  5028. r = e.level,
  5029. this.levelUp(e.level),
  5030. e.prevoius_level_score !== undefined && this.sendScore(e.prevoius_level_score),
  5031. this._enabledEndLevelFlow() ? this._startEndLevelFlow(t) : this.displayBanner(t),
  5032. this.gameBubbleConfig.on_level_up && window.addToHome.show();
  5033. break;
  5034. case this.eventGameOver:
  5035. n = "score",
  5036. r = e.score,
  5037. e.score !== undefined && this.sendScore(e.score),
  5038. this._enabledEndLevelFlow() ? this._startEndLevelFlow(t) : this.displayBanner(t),
  5039. this.gameBubbleConfig.on_game_over && window.addToHome.show();
  5040. break;
  5041. case this.eventGameCompleted:
  5042. n = "score",
  5043. r = e.score;
  5044. break;
  5045. case this.eventGamePause:
  5046. n = "state",
  5047. r = e.state,
  5048. this.gameBubbleConfig.on_pause_on && e.state === "on" && window.addToHome.show();
  5049. break;
  5050. case this.eventSelectLevel:
  5051. n = "level",
  5052. r = e.level;
  5053. break;
  5054. case this.eventGoto:
  5055. n = "view",
  5056. r = e.view;
  5057. break;
  5058. case this.eventSound:
  5059. n = "state",
  5060. r = e.state
  5061. }
  5062. return this._trackEvent(e.type, n, r)
  5063. }
  5064. }.call(this),
  5065. function() {
  5066. Softgames.prototype._invalidScore = function(e) {
  5067. return isNaN(parseInt(e)) ? !0 : parseInt(e) > 2147483647 ? !0 : parseInt(e).toString() !== e.toString() ? !0 : !1
  5068. },
  5069. Softgames.prototype._newScore = function(e) {
  5070. return e > this.sessionBestScore ? (this.sessionBestScore = e, !0) : !1
  5071. },
  5072. Softgames.prototype.sendScore = function(e, t) {
  5073. if (this._invalidScore(e)) {
  5074. console.log("Invalid score: " + e),
  5075. typeof t == "function" && t();
  5076. return
  5077. }
  5078. return this.apiAdapter && this._newScore(e) ? this.apiAdapter.sendScore(e, t) : typeof t == "function" ? t() : void 0
  5079. }
  5080. }.call(this),
  5081. function() {
  5082. window.addToHomeConfig = {
  5083. automatic: !1,
  5084. returningVisitor: !1,
  5085. animationIn: "drop",
  5086. animationOut: "fade",
  5087. startDelay: 500,
  5088. lifespan: 5e3,
  5089. bottomOffset: 14,
  5090. expire: 0,
  5091. touchIcon: !1,
  5092. arrow: !0
  5093. },
  5094. Softgames.prototype._addToHomeConfig = function() {
  5095. return this._hasAppleIcon() && (window.addToHomeConfig.touchIcon = !0),
  5096. window.addToHomeConfig.message = "" + this.game_bubble_text,
  5097. window.addToHome.init()
  5098. }
  5099. }.call(this);
  5100. var addToHome = function(e) {
  5101. function w() {
  5102. if (!n) return;
  5103. var a = Date.now(),
  5104. f;
  5105. if (e.addToHomeConfig) for (f in e.addToHomeConfig) y[f] = e.addToHomeConfig[f];
  5106. y.autostart || (y.hookOnLoad = !1),
  5107. r = /ipad/gi.test(t.platform),
  5108. i = e.devicePixelRatio && e.devicePixelRatio > 1,
  5109. s = /Safari/i.test(t.appVersion) && !/CriOS/i.test(t.appVersion),
  5110. o = t.standalone,
  5111. u = t.appVersion.match(/OS (\d+_\d+)/i),
  5112. u = u && u[1] ? +u[1].replace("_", ".") : 0,
  5113. l = +e.localStorage.getItem("addToHome"),
  5114. h = e.sessionStorage.getItem("addToHomeSession"),
  5115. p = y.returningVisitor ? l && l + 24192e5 > a: !0,
  5116. l || (l = a),
  5117. c = p && l <= a,
  5118. y.hookOnLoad ? e.addEventListener("load", E, !1) : !y.hookOnLoad && y.autostart && E()
  5119. }
  5120. function E() {
  5121. e.removeEventListener("load", E, !1),
  5122. p ? y.expire && c && e.localStorage.setItem("addToHome", Date.now() + y.expire * 6e4) : e.localStorage.setItem("addToHome", Date.now());
  5123. if (!v && (!s || !c || h || o || !p)) return;
  5124. var n = "",
  5125. a = t.platform.split(" ")[0],
  5126. f = t.language.replace("-", "_");
  5127. d = document.createElement("div"),
  5128. d.id = "addToHomeScreen",
  5129. d.style.cssText += "left:-9999px;-webkit-transition-property:-webkit-transform,opacity;-webkit-transition-duration:0;-webkit-transform:translate3d(0,0,0);position:" + (u < 5 ? "absolute": "fixed"),
  5130. y.message in b && (f = y.message, y.message = ""),
  5131. y.message === "" && (y.message = f in b ? b[f] : b.en_us),
  5132. y.touchIcon && (n = i ? "http://games.softgames.de/assets/images/touch-icon-iphone-retina.png": "http://games.softgames.de/assets/images/touch-icon-iphone.png", n ? n = '<span style="background-image:url(' + n + ')" class="addToHomeTouchIcon"></span>': n = ""),
  5133. d.className = (u >= 7 ? "addToHomeIOS7 ": "") + (r ? "addToHomeIpad": "addToHomeIphone") + (n ? " addToHomeWide": ""),
  5134. d.innerHTML = n + y.message.replace("%device", a).replace("%icon", u >= 4.2 ? '<span class="addToHomeShare"></span>': '<span class="addToHomePlus">+</span>') + (y.arrow ? '<span class="addToHomeArrow"' + (u >= 7 && r && n ? ' style="margin-left:-32px"': "") + "></span>": "") + (y.closeButton ? '<span class="addToHomeClose">x</span>': ""),
  5135. document.body.appendChild(d),
  5136. y.closeButton && d.addEventListener("click", N, !1),
  5137. !r && u >= 6 && window.addEventListener("orientationchange", A, !1),
  5138. setTimeout(S, y.startDelay)
  5139. }
  5140. function S() {
  5141. var t, n = 208;
  5142. if (r) {
  5143. u < 5 ? (f = e.scrollY, a = e.scrollX) : u < 6 ? n = 160 : u >= 7 && (n = 143),
  5144. d.style.top = f + y.bottomOffset + "px",
  5145. d.style.left = Math.max(a + n - Math.round(d.offsetWidth / 2), 9) + "px";
  5146. switch (y.animationIn) {
  5147. case "drop":
  5148. t = "0.6s",
  5149. d.style.webkitTransform = "translate3d(0," + -(e.scrollY + y.bottomOffset + d.offsetHeight) + "px,0)";
  5150. break;
  5151. case "bubble":
  5152. t = "0.6s",
  5153. d.style.opacity = "0",
  5154. d.style.webkitTransform = "translate3d(0," + (f + 50) + "px,0)";
  5155. break;
  5156. default:
  5157. t = "1s",
  5158. d.style.opacity = "0"
  5159. }
  5160. } else {
  5161. f = e.innerHeight + e.scrollY,
  5162. u < 5 ? (a = Math.round((e.innerWidth - d.offsetWidth) / 2) + e.scrollX, d.style.left = a + "px", d.style.top = f - d.offsetHeight - y.bottomOffset + "px") : (d.style.left = "50%", d.style.marginLeft = -Math.round(d.offsetWidth / 2) - (e.orientation % 180 && u >= 6 && u < 7 ? 40 : 0) + "px", d.style.bottom = y.bottomOffset + "px");
  5163. switch (y.animationIn) {
  5164. case "drop":
  5165. t = "1s",
  5166. d.style.webkitTransform = "translate3d(0," + -(f + y.bottomOffset) + "px,0)";
  5167. break;
  5168. case "bubble":
  5169. t = "0.6s",
  5170. d.style.webkitTransform = "translate3d(0," + (d.offsetHeight + y.bottomOffset + 50) + "px,0)";
  5171. break;
  5172. default:
  5173. t = "1s",
  5174. d.style.opacity = "0"
  5175. }
  5176. }
  5177. d.offsetHeight,
  5178. d.style.webkitTransitionDuration = t,
  5179. d.style.opacity = "1",
  5180. d.style.webkitTransform = "translate3d(0,0,0)",
  5181. d.addEventListener("webkitTransitionEnd", C, !1),
  5182. g = setTimeout(T, y.lifespan)
  5183. }
  5184. function x(e) {
  5185. if (!n || d) return;
  5186. v = e,
  5187. E()
  5188. }
  5189. function T() {
  5190. clearInterval(m),
  5191. clearTimeout(g),
  5192. g = null;
  5193. if (!d) return;
  5194. var t = 0,
  5195. n = 0,
  5196. i = "1",
  5197. s = "0";
  5198. y.closeButton && d.removeEventListener("click", N, !1),
  5199. !r && u >= 6 && window.removeEventListener("orientationchange", A, !1),
  5200. u < 5 && (t = r ? e.scrollY - f: e.scrollY + e.innerHeight - f, n = r ? e.scrollX - a: e.scrollX + Math.round((e.innerWidth - d.offsetWidth) / 2) - a),
  5201. d.style.webkitTransitionProperty = "-webkit-transform,opacity";
  5202. switch (y.animationOut) {
  5203. case "drop":
  5204. r ? (s = "0.4s", i = "0", t += 50) : (s = "0.6s", t += d.offsetHeight + y.bottomOffset + 50);
  5205. break;
  5206. case "bubble":
  5207. r ? (s = "0.8s", t -= d.offsetHeight + y.bottomOffset + 50) : (s = "0.4s", i = "0", t -= 50);
  5208. break;
  5209. default:
  5210. s = "0.8s",
  5211. i = "0"
  5212. }
  5213. d.addEventListener("webkitTransitionEnd", C, !1),
  5214. d.style.opacity = i,
  5215. d.style.webkitTransitionDuration = s,
  5216. d.style.webkitTransform = "translate3d(" + n + "px," + t + "px,0)"
  5217. }
  5218. function N() {
  5219. e.sessionStorage.setItem("addToHomeSession", "1"),
  5220. h = !0,
  5221. T()
  5222. }
  5223. function C() {
  5224. d.removeEventListener("webkitTransitionEnd", C, !1),
  5225. d.style.webkitTransitionProperty = "-webkit-transform",
  5226. d.style.webkitTransitionDuration = "0.2s";
  5227. if (!g) {
  5228. d.parentNode.removeChild(d),
  5229. d = null;
  5230. return
  5231. }
  5232. u < 5 && g && (m = setInterval(k, y.iterations))
  5233. }
  5234. function k() {
  5235. var t = new WebKitCSSMatrix(e.getComputedStyle(d, null).webkitTransform),
  5236. n = r ? e.scrollY - f: e.scrollY + e.innerHeight - f,
  5237. i = r ? e.scrollX - a: e.scrollX + Math.round((e.innerWidth - d.offsetWidth) / 2) - a;
  5238. if (n == t.m42 && i == t.m41) return;
  5239. d.style.webkitTransform = "translate3d(" + i + "px," + n + "px,0)"
  5240. }
  5241. function L() {
  5242. e.localStorage.removeItem("addToHome"),
  5243. e.sessionStorage.removeItem("addToHomeSession")
  5244. }
  5245. function A() {
  5246. d.style.marginLeft = -Math.round(d.offsetWidth / 2) - (e.orientation % 180 && u >= 6 && u < 7 ? 40 : 0) + "px"
  5247. }
  5248. var t = e.navigator,
  5249. n = "platform" in t && /iphone|ipod|ipad/gi.test(t.platform),
  5250. r,
  5251. i,
  5252. s,
  5253. o,
  5254. u,
  5255. a = 0,
  5256. f = 0,
  5257. l = 0,
  5258. c,
  5259. h,
  5260. p,
  5261. d,
  5262. v,
  5263. m,
  5264. g,
  5265. y = {
  5266. autostart: !0,
  5267. returningVisitor: !1,
  5268. animationIn: "drop",
  5269. animationOut: "fade",
  5270. startDelay: 2e3,
  5271. lifespan: 15e3,
  5272. bottomOffset: 14,
  5273. expire: 0,
  5274. message: "",
  5275. touchIcon: !1,
  5276. arrow: !0,
  5277. hookOnLoad: !0,
  5278. closeButton: !0,
  5279. iterations: 100
  5280. },
  5281. b = {
  5282. ar: '<span dir="rtl">قم بتثبيت هذا التطبيق على <span dir="ltr">%device:</span>انقر<span dir="ltr">%icon</span> ،<strong>ثم اضفه الى الشاشة الرئيسية.</strong></span>',
  5283. ca_es: "Per instal·lar aquesta aplicació al vostre %device premeu %icon i llavors <strong>Afegir a pantalla d'inici</strong>.",
  5284. cs_cz: "Pro instalaci aplikace na Váš %device, stiskněte %icon a v nabídce <strong>Přidat na plochu</strong>.",
  5285. da_dk: "Tilføj denne side til din %device: tryk på %icon og derefter <strong>Føj til hjemmeskærm</strong>.",
  5286. de_de: "Installieren Sie diese App auf Ihrem %device: %icon antippen und dann <strong>Zum Home-Bildschirm</strong>.",
  5287. el_gr: "Εγκαταστήσετε αυτήν την Εφαρμογή στήν συσκευή σας %device: %icon μετά πατάτε <strong>Προσθήκη σε Αφετηρία</strong>.",
  5288. en_us: "Install this web app on your %device: tap %icon and then <strong>Add to Home Screen</strong>.",
  5289. es_es: "Para instalar esta app en su %device, pulse %icon y seleccione <strong>Añadir a pantalla de inicio</strong>.",
  5290. fi_fi: "Asenna tämä web-sovellus laitteeseesi %device: paina %icon ja sen jälkeen valitse <strong>Lisää Koti-valikkoon</strong>.",
  5291. fr_fr: "Ajoutez cette application sur votre %device en cliquant sur %icon, puis <strong>Sur l'écran d'accueil</strong>.",
  5292. he_il: '<span dir="rtl">התקן אפליקציה זו על ה-%device שלך: הקש %icon ואז <strong>הוסף למסך הבית</strong>.</span>',
  5293. hr_hr: "Instaliraj ovu aplikaciju na svoj %device: klikni na %icon i odaberi <strong>Dodaj u početni zaslon</strong>.",
  5294. hu_hu: "Telepítse ezt a web-alkalmazást az Ön %device-jára: nyomjon a %icon-ra majd a <strong>Főképernyőhöz adás</strong> gombra.",
  5295. it_it: "Installa questa applicazione sul tuo %device: premi su %icon e poi <strong>Aggiungi a Home</strong>.",
  5296. ja_jp: "このウェブアプリをあなたの%deviceにインストールするには%iconをタップして<strong>ホーム画面に追加</strong>を選んでください。",
  5297. ko_kr: '%device에 웹앱을 설치하려면 %icon을 터치 후 "홈화면에 추가"를 선택하세요',
  5298. nb_no: "Installer denne appen på din %device: trykk på %icon og deretter <strong>Legg til på Hjem-skjerm</strong>",
  5299. nl_nl: "Installeer deze webapp op uw %device: tik %icon en dan <strong>Voeg toe aan beginscherm</strong>.",
  5300. pl_pl: "Aby zainstalować tę aplikacje na %device: naciśnij %icon a następnie <strong>Dodaj jako ikonę</strong>.",
  5301. pt_br: "Instale este aplicativo em seu %device: aperte %icon e selecione <strong>Adicionar à Tela Inicio</strong>.",
  5302. pt_pt: "Para instalar esta aplicação no seu %device, prima o %icon e depois em <strong>Adicionar ao ecrã principal</strong>.",
  5303. ru_ru: "Установите это веб-приложение на ваш %device: нажмите %icon, затем <strong>Добавить в «Домой»</strong>.",
  5304. sv_se: "Lägg till denna webbapplikation på din %device: tryck på %icon och därefter <strong>Lägg till på hemskärmen</strong>.",
  5305. th_th: "ติดตั้งเว็บแอพฯ นี้บน %device ของคุณ: แตะ %icon และ <strong>เพิ่มที่หน้าจอโฮม</strong>",
  5306. tr_tr: "Bu uygulamayı %device'a eklemek için %icon simgesine sonrasında <strong>Ana Ekrana Ekle</strong> düğmesine basın.",
  5307. uk_ua: "Встановіть цей веб сайт на Ваш %device: натисніть %icon, а потім <strong>На початковий екран</strong>.",
  5308. zh_cn: "您可以将此应用安装到您的 %device 上。请按 %icon 然后选择<strong>添加至主屏幕</strong>。",
  5309. zh_tw: "您可以將此應用程式安裝到您的 %device 上。請按 %icon 然後點選<strong>加入主畫面螢幕</strong>。"
  5310. };
  5311. return w(),
  5312. {
  5313. show: x,
  5314. close: T,
  5315. reset: L,
  5316. init: w
  5317. }
  5318. } (window); (function() {
  5319. window.VoyagerApi = function() {
  5320. function e(e, t, n) {
  5321. this.api = e,
  5322. this.game = t,
  5323. this.user = n
  5324. }
  5325. return e.prototype.getScore = function() {},
  5326. e.prototype.sendScore = function(e, t) {},
  5327. e.prototype.levelUp = function(e, t) {},
  5328. e.prototype.rate = function(e, t) {},
  5329. e.prototype._apiRequest = function(e, t, n, r, i) {
  5330. var s;
  5331. return t = this._apiUrl(t, n),
  5332. navigator.userAgent.toLowerCase().indexOf("android") >= 0 && e === "GET" && (t += "&android-buster=" + Math.random()),
  5333. s = this._openXHR(e, t),
  5334. s.setRequestHeader("Content-Type", "application/json-rpc"),
  5335. s.setRequestHeader("Softgames-Voyager-Version", "2014-05-27 12:55:25 +0000"),
  5336. s.onload = function() {
  5337. return typeof i == "function" ? i(JSON.parse(s.responseText)) : void 0
  5338. },
  5339. s.onerror = function() {
  5340. return console.log("Request failed.", e, t)
  5341. },
  5342. s.send(JSON.stringify(r)),
  5343. s
  5344. },
  5345. e.prototype._apiUrl = function(e, t) {
  5346. return e + "?" + this._queryString(t)
  5347. },
  5348. e.prototype._queryString = function(e) {
  5349. var t, n, r;
  5350. t = [];
  5351. for (n in e) r = e[n],
  5352. r != null && t.push("" + n + "=" + encodeURIComponent(r));
  5353. return t.join("&")
  5354. },
  5355. e.prototype._openXHR = function(e, t) {
  5356. var n;
  5357. n = new XMLHttpRequest;
  5358. if (this._isCorsSupported(n)) n.open(e, t, !0);
  5359. else {
  5360. if (typeof XDomainRequest == "undefined") throw n = null,
  5361. console.log("CORS is not supported by the browser.", e, t),
  5362. new Error("CORS not supported.");
  5363. n = new XDomainRequest,
  5364. n.open(e, t)
  5365. }
  5366. return n
  5367. },
  5368. e.prototype._isCorsSupported = function(e) {
  5369. return e.withCredentials != null
  5370. },
  5371. e
  5372. } ()
  5373. }).call(this),
  5374. function() {
  5375. var e = {}.hasOwnProperty,
  5376. t = function(t, n) {
  5377. function i() {
  5378. this.constructor = t
  5379. }
  5380. for (var r in n) e.call(n, r) && (t[r] = n[r]);
  5381. return i.prototype = n.prototype,
  5382. t.prototype = new i,
  5383. t.__super__ = n.prototype,
  5384. t
  5385. };
  5386. window.SoftgamesKirk = function(e) {
  5387. function n() {
  5388. return n.__super__.constructor.apply(this, arguments)
  5389. }
  5390. return t(n, e),
  5391. n.prototype.getScore = function() {
  5392. return console.log("Get score")
  5393. },
  5394. n.prototype.sendScore = function(e, t) {
  5395. return console.log("KIRK (request skipped) { " + this.game + " } [ " + this.user + " ] Send score: " + e)
  5396. },
  5397. n.prototype.rate = function(e, t) {
  5398. if (e !== undefined) return this._apiRequest("POST", "" + this.api.kirk_host + "rate/" + this.game + "/" + this.user + "/" + e, null, null, t)
  5399. },
  5400. n
  5401. } (VoyagerApi)
  5402. }.call(this),
  5403. function() {
  5404. var e = {}.hasOwnProperty,
  5405. t = function(t, n) {
  5406. function i() {
  5407. this.constructor = t
  5408. }
  5409. for (var r in n) e.call(n, r) && (t[r] = n[r]);
  5410. return i.prototype = n.prototype,
  5411. t.prototype = new i,
  5412. t.__super__ = n.prototype,
  5413. t
  5414. };
  5415. window.SoftgamesMocospace = function(e) {
  5416. function n() {
  5417. return n.__super__.constructor.apply(this, arguments)
  5418. }
  5419. return t(n, e),
  5420. n
  5421. } (VoyagerApi)
  5422. }.call(this),
  5423. function() {
  5424. var e = {}.hasOwnProperty,
  5425. t = function(t, n) {
  5426. function i() {
  5427. this.constructor = t
  5428. }
  5429. for (var r in n) e.call(n, r) && (t[r] = n[r]);
  5430. return i.prototype = n.prototype,
  5431. t.prototype = new i,
  5432. t.__super__ = n.prototype,
  5433. t
  5434. };
  5435. window.SoftgamesQeep = function(e) {
  5436. function n() {
  5437. return n.__super__.constructor.apply(this, arguments)
  5438. }
  5439. return t(n, e),
  5440. n
  5441. } (VoyagerApi)
  5442. }.call(this),
  5443. function() {
  5444. var e = {}.hasOwnProperty,
  5445. t = function(t, n) {
  5446. function i() {
  5447. this.constructor = t
  5448. }
  5449. for (var r in n) e.call(n, r) && (t[r] = n[r]);
  5450. return i.prototype = n.prototype,
  5451. t.prototype = new i,
  5452. t.__super__ = n.prototype,
  5453. t
  5454. };
  5455. window.SoftgamesSandbox = function(e) {
  5456. function n() {
  5457. return n.__super__.constructor.apply(this, arguments)
  5458. }
  5459. return t(n, e),
  5460. n.prototype.getScore = function() {
  5461. return console.log("Get score")
  5462. },
  5463. n.prototype.sendScore = function(e, t) {
  5464. return console.log("SANDBOX { " + this.game + " } [ " + this.user + " ] Send score: " + e),
  5465. typeof t == "function" ? t() : void 0
  5466. },
  5467. n.prototype.levelUp = function(e, t) {
  5468. return console.log("SANDBOX { " + this.game + " } [ " + this.user + " ] Level: " + e),
  5469. typeof t == "function" ? t() : void 0
  5470. },
  5471. n.prototype.rate = function(e, t) {
  5472. return console.log("SANDBOX { " + this.game + " [ " + this.user + " ] Rate: " + e + " }"),
  5473. typeof t == "function" ? t() : void 0
  5474. },
  5475. n
  5476. } (VoyagerApi)
  5477. }.call(this),
  5478. function() {
  5479. window.SG_jQuery = jQuery.noConflict(!0),
  5480. I18n.fallbacks = !0,
  5481. SG_jQuery('<link rel="stylesheet" type="text/css" href="./assets/voyager-71c9db55a2771fa00f1072bf4f5ea985.css" >').appendTo("head"),
  5482. Softgames.prototype.defaultSubsystem = "m.softgames.de",
  5483. Softgames.prototype.changeScreenSize = null,
  5484. Softgames.prototype.changeScreenOrientation = null,
  5485. Softgames.prototype.externalStyles = "",
  5486. Softgames.prototype.splashScreenLogoLoaded = !1,
  5487. Softgames.prototype.splashScreenLogoOnload = null,
  5488. Softgames.prototype.splashScreenReady = !1,
  5489. Softgames.prototype.skipAds = !1,
  5490. Softgames.prototype.showAdPage = !1,
  5491. Softgames.prototype.showGameDetailsPageWithoutAd = !1,
  5492. Softgames.prototype.showAdPreroll = !1,
  5493. Softgames.prototype.refreshcount = -1,
  5494. Softgames.prototype.ingame_menu = "",
  5495. Softgames.prototype.displayedBanner = !1,
  5496. Softgames.prototype.externalGACode = "",
  5497. Softgames.prototype.sessionBestScore = 0,
  5498. Softgames.prototype.displayBannerLastTime = 0,
  5499. Softgames.prototype.displayBannerInterval = 45e3,
  5500. Softgames.prototype.endLevelEventCounter = 0,
  5501. Softgames.prototype.endLevelEventCountInterval = 0,
  5502. Softgames.prototype.enabledEndLevelFlow = !0,
  5503. Softgames.prototype.displayEndLevelLastTime = 0,
  5504. Softgames.prototype.displayEndLevelInterval = 45e3,
  5505. Softgames.prototype.activeEndLevelFlow = !1,
  5506. Softgames.prototype.endLevelCloseButtonTimer = 5e3,
  5507. Softgames.prototype.displayLoadingPageTime = 1800,
  5508. Softgames.prototype.adsConversionPoints = void 0,
  5509. Softgames.prototype.gameInitCallbackToCall = !1,
  5510. Softgames.prototype.closeAdBannerCallback = !1,
  5511. Softgames.prototype.isStarted = !1,
  5512. Softgames.prototype.gameBubbleConfig = {
  5513. on_start: !1,
  5514. on_level_up: !1,
  5515. on_game_over: !1,
  5516. on_pause_on: !1
  5517. },
  5518. Softgames.prototype.bannerIdIngameAdPopup = 296,
  5519. Softgames.prototype.bannerIdGameDetailsPage = 380,
  5520. Softgames.prototype.bannerIdMoreGamesPage = 381,
  5521. Softgames.prototype.bannerIdPrerollAdPopup = 382,
  5522. Softgames.prototype.bannerIdOnCloseEndLevelAdPopup = 383,
  5523. Softgames.prototype.apiAdapter = null,
  5524. Softgames.prototype.ready = function(e) {
  5525. var t = this;
  5526. return this.isStarted ? null: (this.isStarted = !0, this.selectExperiment(), window.softgamesDocumentReady ? this._init(function(e) {
  5527. var n;
  5528. return t._trackEvent("ready"),
  5529. t._isiPhone() && !t._hasAppleMetaTag() && t._addAppleMetaTag(),
  5530. n = SG_jQuery("head"),
  5531. t._addExternalStyles(n),
  5532. t.external_js_filename && t._loadScript(t.external_js_filename, !1),
  5533. t._start(function() {
  5534. return t._loadingFlowNextStep(function() {
  5535. return typeof e == "function" && e(),
  5536. t.system_id === "kirk" && t._createKirkIframe(function(e) {
  5537. return t._requestUserData(t, e),
  5538. t._initSystem()
  5539. }),
  5540. t.gameInitCallback ? typeof t.gameInitCallback == "function" ? t.gameInitCallback() : void 0 : t.gameInitCallbackToCall = !0
  5541. })
  5542. })
  5543. }) : setTimeout(function() {
  5544. return t.ready()
  5545. },
  5546. 500))
  5547. },
  5548. Softgames.prototype._start = function(e) {
  5549. return e()
  5550. },
  5551. Softgames.prototype.displayBanner = function(e) {
  5552. return this._displayIngameAdPopup(e)
  5553. },
  5554. Softgames.prototype.setGameInitCallback = function(e) {
  5555. this.gameInitCallback = e;
  5556. if (this.gameInitCallbackToCall) return typeof this.gameInitCallback == "function" ? this.gameInitCallback() : void 0
  5557. },
  5558. Softgames.prototype._endLevelFlowNextStep = function(e) {
  5559. return this.nextstep = this.endLevelFlowOrder[this.endLevelFlowStep],
  5560. this.nextstep !== void 0 ? (this.endLevelFlowStep += 1, this.nextstep(e)) : this._quitEndLevelFlow(e)
  5561. },
  5562. Softgames.prototype._startEndLevelFlow = function(e) {
  5563. return this._tooShortEndLevelInterval() === !1 && this.activeEndLevelFlow === !1 ? (this.activeEndLevelFlow = !0, this.endLevelFlowStep = 0, this._endLevelFlowNextStep(e)) : typeof e == "function" ? e() : void 0
  5564. },
  5565. Softgames.prototype._quitEndLevelFlow = function(e) {
  5566. return this.endLevelFlowStep = this.endLevelFlowOrder.length + 1,
  5567. this.activeEndLevelFlow = !1,
  5568. this.displayEndLevelLastTime = SG_jQuery.now(),
  5569. SG_jQuery(window).scrollTop(0),
  5570. this._destroyLoadingPage(),
  5571. typeof e == "function" ? e() : void 0
  5572. },
  5573. Softgames.prototype._loadingFlowNextStep = function(e) {
  5574. return this.nextstep = this.loadingFlowOrder[this.loadingFlowStep],
  5575. this.nextstep !== void 0 ? (this.loadingFlowStep += 1, this.nextstep(e)) : (this.showMenu && this.ingame_menu !== "" && this._buildMenu(), this.gameBubbleConfig.on_start && window.addToHome.show(!0), typeof e == "function" ? e() : void 0)
  5576. },
  5577. Softgames.prototype._displayGameDetailsPage = function(e) {
  5578. var t = this;
  5579. return this.showAdPage !== "true" || this.skipAds === !0 && (this.showGameDetailsPageWithoutAd === undefined || this.showGameDetailsPageWithoutAd === !1) ? this._loadingFlowNextStep(e) : (this.bannerId = this.bannerIdGameDetailsPage, this._trackAction("gameDetailsPage"), this.showGameDetailsPageWithoutAd ? this._displayGameDetailsPageContent(null, e) : this._getBanner(function(n) {
  5580. return n !== undefined && t._trackEvent("show-ad", "refreshcount", t.refreshcount),
  5581. t._displayGameDetailsPageContent(n, e)
  5582. },
  5583. {
  5584. channel_id: this.afc_unit_details_page_id
  5585. }))
  5586. },
  5587. Softgames.prototype._displayGameDetailsPageContent = function(e, t) {
  5588. var n = this;
  5589. return this._dumpGameBody(),
  5590. this._buildGameDetailsPage(e,
  5591. function() {
  5592. return n._loadingFlowNextStep(t)
  5593. })
  5594. },
  5595. Softgames.prototype._displayLoadingPage = function(e) {
  5596. var t = this;
  5597. return this._buildLoadingPage(),
  5598. setTimeout(function() {
  5599. return t._endLevelFlowNextStep(e)
  5600. },
  5601. this.displayLoadingPageTime)
  5602. },
  5603. Softgames.prototype._enabledEndLevelFlow = function() {
  5604. return this.enabledEndLevelFlow === !0 && this.skipAds !== !0 && (this.endLevelEventCounter + 1) % this.endLevelEventCountInterval === 0 ? !0 : !1
  5605. },
  5606. Softgames.prototype._displayEndLevelPopup = function(e) {
  5607. var t = this;
  5608. return this.endLevelEventCounter = this.endLevelEventCounter + 1,
  5609. this._trackAction("endLevelPopup"),
  5610. this._buildEndLevelPopup(function() {
  5611. return t._endLevelFlowNextStep(e)
  5612. },
  5613. function() {
  5614. return t._quitEndLevelFlow(function() {
  5615. return t._displayOnCloseEndLevelAdPopup(e)
  5616. })
  5617. })
  5618. },
  5619. Softgames.prototype._displayMoreGamesPage = function(e) {
  5620. var t = this;
  5621. return this.bannerId = this.bannerIdMoreGamesPage,
  5622. this._trackAction("displayMoreGames-" + this.selectedExperimentName() + "/" + this.refreshcount),
  5623. this._getBanner(function(n) {
  5624. return n !== undefined && t._trackEvent("show-ad", "refreshcount", t.refreshcount),
  5625. t._destroyLoadingPage(),
  5626. t._dumpGameBody(),
  5627. t._buildMoreGamesPage(n,
  5628. function() {
  5629. return t._endLevelFlowNextStep(e)
  5630. })
  5631. },
  5632. {
  5633. channel_id: this.afc_unit_more_games_page_id,
  5634. moregames: this.selectedExperimentName()
  5635. })
  5636. },
  5637. Softgames.prototype._displayOnCloseEndLevelAdPopup = function(e) {
  5638. var t = this;
  5639. return this._displayBannerShortInterval() || this.displayedBanner === !0 || this.skipAds === !0 ? typeof e == "function" ? e() : void 0 : (this.bannerId = this.bannerIdOnCloseEndLevelAdPopup, SG_jQuery("#voyager-menu-button-container").toggle(), this._getBanner(function(n) {
  5640. return n === undefined ? (SG_jQuery("#voyager-menu-button-container").toggle(), typeof e == "function" ? e() : void 0) : (t._trackAction("closeEndLevelAdPopup/" + t.refreshcount), t._trackEvent("show-ad", "refreshcount", t.refreshcount), t.displayBannerLastTime = SG_jQuery.now(), t._buildAdPopup(n,
  5641. function() {
  5642. return SG_jQuery("#voyager-menu-button-container").toggle(),
  5643. typeof e == "function" ? e() : void 0
  5644. }))
  5645. },
  5646. {
  5647. channel_id: this.afg_cc_id,
  5648. tv_channel_id: this.tv_cc_id
  5649. }))
  5650. },
  5651. Softgames.prototype._displayPrerollAdPopup = function(e) {
  5652. var t = this;
  5653. return this._displayBannerShortInterval() || this.displayedBanner === !0 || this.showAdPreroll !== "true" || this.skipAds === !0 ? this._loadingFlowNextStep(e) : (this.bannerId = this.bannerIdPrerollAdPopup, SG_jQuery("#voyager-menu-button-container").toggle(), this._getBanner(function(n) {
  5654. return n === undefined ? (SG_jQuery("#voyager-menu-button-container").toggle(), t._loadingFlowNextStep(e)) : (t._trackAction("prerollAdPopup/" + t.refreshcount), t._trackEvent("show-ad", "refreshcount", t.refreshcount), t.displayBannerLastTime = SG_jQuery.now(), t._buildAdPopup(n,
  5655. function() {
  5656. return SG_jQuery("#voyager-menu-button-container").toggle(),
  5657. t._loadingFlowNextStep(e)
  5658. }))
  5659. },
  5660. {
  5661. channel_id: this.afg_cc_id,
  5662. tv_channel_id: this.tv_cc_id
  5663. }))
  5664. },
  5665. Softgames.prototype._displayIngameAdPopup = function(e) {
  5666. var t = this;
  5667. return this._displayBannerShortInterval() || this.displayedBanner === !0 || this.skipAds === !0 ? typeof e == "function" ? e() : void 0 : (this.endLevelEventCounter = this.endLevelEventCounter + 1, this.bannerId = this.bannerIdIngameAdPopup, SG_jQuery("#voyager-menu-button-container").toggle(), this._getBanner(function(n) {
  5668. return n === undefined ? (SG_jQuery("#voyager-menu-button-container").toggle(), typeof e == "function" ? e() : void 0) : (t._trackAction("ingameAdPopup/" + t.refreshcount), t._trackEvent("show-ad", "refreshcount", t.refreshcount), t.displayBannerLastTime = SG_jQuery.now(), t._buildAdPopup(n,
  5669. function() {
  5670. return SG_jQuery("#voyager-menu-button-container").toggle(),
  5671. typeof e == "function" ? e() : void 0
  5672. }))
  5673. },
  5674. {
  5675. channel_id: this.afg_cc_id,
  5676. tv_channel_id: this.tv_cc_id
  5677. }))
  5678. },
  5679. Softgames.prototype._displayBannerShortInterval = function() {
  5680. return SG_jQuery.now() - this.displayBannerLastTime < this.displayBannerInterval
  5681. },
  5682. Softgames.prototype._tooShortEndLevelInterval = function() {
  5683. return SG_jQuery.now() - this.displayEndLevelLastTime < this.displayEndLevelInterval
  5684. },
  5685. Softgames.prototype._buildMenu = function() {
  5686. var e, t = this;
  5687. return SG_jQuery("body").append(this.ingame_menu),
  5688. e = SG_jQuery("#voyager-menu-button"),
  5689. this._registerClick(e,
  5690. function(e) {
  5691. var t, n;
  5692. return e.preventDefault(),
  5693. e.stopPropagation(),
  5694. e.stopImmediatePropagation(),
  5695. t = document.getElementById("voyager-menu-container"),
  5696. classie.toggle(t, "cbp-spmenu-open"),
  5697. n = SG_jQuery("#voyager-menu-button").css("opacity") === "1" ? "0.5": "1",
  5698. SG_jQuery("#voyager-menu-button").css({
  5699. opacity: n
  5700. }),
  5701. e.cancelBubble = !0,
  5702. !1
  5703. })
  5704. },
  5705. Softgames.prototype._addExternalStyles = function(e) {
  5706. var t;
  5707. if (this.externalStyles === "") return;
  5708. return t = SG_jQuery(document.createElement("style")),
  5709. t.text(this.externalStyles),
  5710. e.append(t)
  5711. },
  5712. Softgames.prototype._loadScript = function(e, t) {
  5713. var n, r, i = this;
  5714. return r = document.createElement("script"),
  5715. r.async = "async",
  5716. n = !1,
  5717. r.onload = r.onreadystatechange = function() {
  5718. if (r.readyState && !/complete|loaded/.test(r.readyState) || n) return;
  5719. return n = !0,
  5720. r.onload = r.onreadystatechange = null,
  5721. typeof t == "function" ? t() : void 0
  5722. },
  5723. r.src = e,
  5724. this._appendToHead(r)
  5725. },
  5726. Softgames.prototype._appendToHead = function(e) {
  5727. var t;
  5728. return t = document.head || document.getElementsByTagName("head")[0] || document.documentElement,
  5729. t.insertBefore(e, t.firstChild)
  5730. },
  5731. Softgames.prototype._getBanner = function(e, t) {
  5732. var n, r = this;
  5733. return this.openx === undefined ? e() : (this.refreshcount === void 0 && (this.refreshcount = -1), this.refreshcount += 1, this.adsConversionPoints === this.refreshcount && (n = !0), t.refreshcount = this.refreshcount, t.conversion = n, this.openx.receiveAdCodes({
  5734. banner: this.bannerId
  5735. },
  5736. t,
  5737. function(t) {
  5738. if (!t.banner) {
  5739. typeof e == "function" && e();
  5740. return
  5741. }
  5742. return e(t.banner)
  5743. }))
  5744. },
  5745. Softgames.prototype._buildLoadingPage = function(e) {
  5746. return SG_jQuery("body").append(this.loading_page)
  5747. },
  5748. Softgames.prototype._destroyLoadingPage = function() {
  5749. var e;
  5750. return e = SG_jQuery(".voyager-popup"),
  5751. e.remove()
  5752. },
  5753. Softgames.prototype._buildAdPopup = function(e, t) {
  5754. var n = this;
  5755. return this.displayedBanner = !0,
  5756. SG_jQuery("body").append(this.ingame_ad_popup),
  5757. this.adOverlayContainer = SG_jQuery("#voyager-ad-popup"),
  5758. this.closeButton = SG_jQuery("#voyager-close-popup-btn"),
  5759. this._registerClick(this.closeButton,
  5760. function(e) {
  5761. return e.preventDefault(),
  5762. n._closeAdBanner(t)
  5763. }),
  5764. this.adContainer = SG_jQuery("#voyager-ad-content"),
  5765. this.adContainer.append(e)
  5766. },
  5767. Softgames.prototype._buildEndLevelPopup = function(e, t) {
  5768. var n, r, i, s = this;
  5769. return SG_jQuery("body").append(this.end_level_popup),
  5770. this.closeButton = SG_jQuery("#voyager-close-button"),
  5771. this._registerClick(this.closeButton,
  5772. function(e) {
  5773. return e.preventDefault(),
  5774. clearTimeout(s.closeButtonTimer),
  5775. SG_jQuery(".voyager-popup").remove(),
  5776. typeof t == "function" ? t() : void 0
  5777. }),
  5778. this.game_rating ? SG_jQuery("#voyager-like-btn-container").hide() : SG_jQuery("#voyager-rating-info-container").hide(),
  5779. this._isiPhone() && (r = SG_jQuery("#voyager-whatsapp-container").show(), n = encodeURIComponent("Play with me " + this.gameTitle + "!" + document.location.href), i = SG_jQuery(".voyager-whatsapp-btn"), this._registerClick(i,
  5780. function(e) {
  5781. return e.preventDefault(),
  5782. s._trackEvent("whatsapp"),
  5783. setTimeout(function() {
  5784. return document.location = "whatsapp://send?text=" + n
  5785. },
  5786. 500)
  5787. })),
  5788. this.dislikeButton = SG_jQuery("#voyager-dislike-btn"),
  5789. this._registerClick(this.dislikeButton,
  5790. function(e) {
  5791. return e.preventDefault(),
  5792. s.apiAdapter.rate(1),
  5793. s.game_rating = 1,
  5794. s._displayLikeInfo()
  5795. }),
  5796. this.likeButton = SG_jQuery("#voyager-like-btn"),
  5797. this._registerClick(this.likeButton,
  5798. function(e) {
  5799. return e.preventDefault(),
  5800. s.apiAdapter.rate(5),
  5801. s.game_rating = 5,
  5802. s._displayLikeInfo()
  5803. }),
  5804. this.closeButton.hide(),
  5805. this.closeButtonTimer = setTimeout(function() {
  5806. return s.closeButton.show()
  5807. },
  5808. this.endLevelCloseButtonTimer),
  5809. this.playButton = SG_jQuery("#voyager-more-games-btn"),
  5810. this._registerClick(this.playButton,
  5811. function(t) {
  5812. return t.preventDefault(),
  5813. clearTimeout(s.closeButtonTimer),
  5814. typeof e == "function" ? e() : void 0
  5815. })
  5816. },
  5817. Softgames.prototype._displayLikeInfo = function() {
  5818. return SG_jQuery("#voyager-like-btn-container").hide(),
  5819. SG_jQuery("#voyager-like-info-container").show()
  5820. },
  5821. Softgames.prototype._buildMoreGamesPage = function(e, t) {
  5822. var n, r, i, s, o, u, a, f = this;
  5823. return s = this["more_games_page_" + this.Experiments[this.selectedExperiment]],
  5824. SG_jQuery("body").append(s),
  5825. r = SG_jQuery("#voyager-play-again-btn"),
  5826. this._registerClick(r,
  5827. function(e) {
  5828. return e.preventDefault(),
  5829. f._trackEvent("play-again-" + f.selectedExperimentName()),
  5830. f._restoreGameBody(t)
  5831. }),
  5832. a = SG_jQuery("#voyager-score-value"),
  5833. a.html(this.sessionBestScore),
  5834. u = SG_jQuery("#voyager-ranking-value"),
  5835. o = Math.floor(Math.random() * 10001) + 1,
  5836. u.html("#" + o),
  5837. i = SG_jQuery(".voyager-game-info-container"),
  5838. SG_jQuery.each(i,
  5839. function(e, t) {
  5840. return f._registerClick(SG_jQuery(i[e]),
  5841. function(e) {
  5842. return e.preventDefault(),
  5843. f._trackEvent("goto-similar-game-" + f.selectedExperimentName()),
  5844. setInterval(function() {
  5845. return document.location = t
  5846. },
  5847. 500)
  5848. })
  5849. }),
  5850. n = SG_jQuery("#voyager-ad-content"),
  5851. n.append(e)
  5852. },
  5853. Softgames.prototype._buildGameDetailsPage = function(e, t) {
  5854. var n, r, i = this;
  5855. SG_jQuery("body").append(this.first_page),
  5856. r = SG_jQuery(".voyager-success-btn"),
  5857. this._registerClick(r,
  5858. function(e) {
  5859. return e.preventDefault(),
  5860. i._restoreGameBody(t)
  5861. });
  5862. if (e !== null) return n = SG_jQuery("#voyager-ad-content"),
  5863. n.append(e)
  5864. },
  5865. Softgames.prototype._dumpGameBody = function() {
  5866. return this.gameBody = SG_jQuery("body").children(),
  5867. this.gameBodyStyles = SG_jQuery("body").attr("style"),
  5868. SG_jQuery("body").attr("style", ""),
  5869. SG_jQuery("body").html("")
  5870. },
  5871. Softgames.prototype._restoreGameBody = function(e) {
  5872. var t = this;
  5873. return SG_jQuery("body").text(""),
  5874. SG_jQuery("body").attr("style", this.gameBodyStyles),
  5875. this.gameBody.each(function(e, n) {
  5876. return SG_jQuery("body").append(t.gameBody),
  5877. t.gameBody[e].parent = SG_jQuery("body")
  5878. }),
  5879. typeof e == "function" ? e() : void 0
  5880. },
  5881. Softgames.prototype._closeAdBanner = function(e) {
  5882. return this.adOverlayContainer.remove(),
  5883. this._trackEvent("close-ad", null, null),
  5884. this.displayedBanner = !1,
  5885. typeof this.closeAdBannerCallback == "function" && this.closeAdBannerCallback(),
  5886. typeof e == "function" ? e() : void 0
  5887. },
  5888. Softgames.prototype._trackAction = function(e) {
  5889. if (this.tracker !== undefined) return this.tracker.trackPageview("/" + this.social_network + "/" + this.project + "/" + e, "" + this.subplatform, this.affiliate, this.installationDate, void 0, this.userGender)
  5890. },
  5891. Softgames.prototype._trackEvent = function(e, t, n) {
  5892. if (this.tracker !== undefined) return this.tracker.trackEvent("" + this.social_network + "-" + this.project, e, t, n)
  5893. },
  5894. Softgames.prototype._apiRequest = function(e, t, n, r, i) {
  5895. var s;
  5896. //return t = this._apiUrl(t, n),
  5897. return t="./4399.json",
  5898. navigator.userAgent.toLowerCase().indexOf("android") >= 0 && e === "GET" && (t += "?android-buster=" + Math.random()),
  5899. s = this._openXHR(e, t),
  5900. s.setRequestHeader("Content-Type", "application/json-rpc"),
  5901. s.setRequestHeader("Softgames-Voyager-Version", "2014-05-27 12:55:22 +0000"),
  5902. s.onload = function() {
  5903. return typeof i == "function" ? i(JSON.parse(s.responseText)) : void 0
  5904. },
  5905. s.onerror = function() {
  5906. return console.log("Request failed.", e, t)
  5907. },
  5908. s.send(JSON.stringify(r)),
  5909. s
  5910. },
  5911. Softgames.prototype._apiUrl = function(e, t) {
  5912. return t = this._addToken(t),
  5913. "http://" + this.host + e + "?" + this._queryString(t)
  5914. },
  5915. Softgames.prototype._addToken = function(e) {
  5916. return e || (e = {}),
  5917. e.token = this.token,
  5918. e
  5919. },
  5920. Softgames.prototype._openXHR = function(e, t) {
  5921. var n;
  5922. n = new XMLHttpRequest;
  5923. if (this._isCorsSupported(n)) n.open(e, t, !0);
  5924. else {
  5925. if (typeof XDomainRequest == "undefined") throw n = null,
  5926. console.log("CORS is not supported by the browser.", e, t),
  5927. new Error("CORS not supported.");
  5928. n = new XDomainRequest,
  5929. n.open(e, t)
  5930. }
  5931. return n
  5932. },
  5933. Softgames.prototype._isCorsSupported = function(e) {
  5934. return e.withCredentials != null
  5935. },
  5936. Softgames.prototype._queryString = function(e) {
  5937. var t, n, r;
  5938. e.custom_data != null && (e.custom_data = JSON.stringify(e.custom_data)),
  5939. t = [];
  5940. for (n in e) r = e[n],
  5941. r != null && t.push("" + n + "=" + encodeURIComponent(r));
  5942. return t.join("&")
  5943. },
  5944. Softgames.prototype._registerClick = function(e, t) {
  5945. return e.on({
  5946. click: function(e) {
  5947. return t(e)
  5948. }
  5949. }),
  5950. e.on({
  5951. touchstart: function(e) {
  5952. return t(e)
  5953. }
  5954. })
  5955. },
  5956. Softgames.prototype._getOpenxParams = function(e) {
  5957. var t, n, r, i, s, o;
  5958. t = ["social_network", "subplatform", "affiliate", "project", "os", "osv", "user_id", "gender", "purchasecount", "locale", "lang", "country", "installdays", "last_login", "friendcount", "premium_game", "subscriber"],
  5959. r = {};
  5960. for (s = 0, o = t.length; s < o; s++) n = t[s],
  5961. i = e[n],
  5962. i !== void 0 && (r[n] = i);
  5963. return window.devicePixelRatio !== void 0 && (r.pixelratio = window.devicePixelRatio),
  5964. r
  5965. },
  5966. Softgames.prototype._createKirkIframe = function(e) {
  5967. var t, n;
  5968. return n = this.kirk_default_host,
  5969. window.addEventListener("message",
  5970. function(t) {
  5971. t.data.type === "kirkReady" && (window.softgames.country = t.data.session_params.country, window.softgames.premium_game = t.data.session_params.premium_game, window.softgames.externalGACode = t.data.session_params.agent_ga_code, window.softgames.external_user_id = t.data.session_params.user_id, window.softgames.game_rating = t.data.session_params.rating, t.data.session_params.game_slug !== undefined && (window.softgames.game_slug = t.data.session_params.game_slug), window.softgames._invalidSignature(t.data.session_params.sig) && location.reload(!0), window.softgames.userId === undefined && e(t.data.session_params));
  5972. if (t.data.type === "hardRedirect") return n = t.data.hard_redirect_url,
  5973. window.location = n
  5974. },
  5975. !1),
  5976. n = this.kirk_host + "session/?game_slug=" + this.game_slug,
  5977. t = [],
  5978. window.softgames._getUrlParameter("locale") !== undefined && (t[t.length] = "locale=" + window.softgames._getUrlParameter("locale")),
  5979. window.softgames._getUrlParameter("p") !== undefined && (t[t.length] = "p=" + window.softgames._getUrlParameter("p")),
  5980. window.softgames._getUrlParameter("uid") !== undefined && (t[t.length] = "uid=" + window.softgames._getUrlParameter("uid")),
  5981. window.softgames._getUrlParameter("aff") !== undefined && (t[t.length] = "aff=" + window.softgames._getUrlParameter("aff")),
  5982. t.length && (n = n.indexOf("?") === -1 ? n + "?": n + "&", n += t.join("&")),
  5983. this._createIframe(n)
  5984. },
  5985. Softgames.prototype._invalidSignature = function(e) {
  5986. return e === undefined || e === "" ? !0 : e.indexOf("/") !== -1 ? !0 : !1
  5987. },
  5988. Softgames.prototype._isSandboxURL = function() {
  5989. var e;
  5990. return e = this._getUrlParameters(),
  5991. e.hasOwnProperty("platform") && e.platform === "sandbox" ? !0 : !1
  5992. },
  5993. Softgames.prototype._isKirkURL = function() {
  5994. var e;
  5995. return e = this._getUrlParameters(),
  5996. e.hasOwnProperty("platform") && e.platform === "kirk" ? !0 : !1
  5997. },
  5998. Softgames.prototype._getSystemId = function() {
  5999. return this._isSandboxURL() ? "sandbox": this._isKirkURL() ? "kirk": "direct"
  6000. },
  6001. Softgames.prototype._getBackUrl = function() {
  6002. return this.back_url || this.defaultBackUrl
  6003. },
  6004. Softgames.prototype._getGameSlug = function() {
  6005. var e, t;
  6006. return this.system_id === "sandbox" ? "sandbox_game": (e = /^\/(.*)\//, t = e.exec(window.location.pathname), t[1])
  6007. },
  6008. Softgames.prototype._requestGameData = function(e, t, n, r) {
  6009. // return t._apiRequest("GET", "" + t.system_id + "/games/" + t.game_slug + ".json/", n, {},
  6010. // function(e) {
  6011. return t.gameTitle = e.game_title,
  6012. t.project = e.project,
  6013. t.social_network = e.social_network,
  6014. t.subplatform = e.subsystem,
  6015. t.affiliate = e.affiliate,
  6016. t.game_bubble_text = e.game_bubble_text,
  6017. t.game_bubble_configs = t._convertGameBubblConfig(e.game_bubble_configs),
  6018. t.showMenu = e.show_ingame_menu,
  6019. t.back_url = e.back_url,
  6020. t.externalStyles = e.external_styles,
  6021. t.showAdPage = e.show_ad_page,
  6022. t.showGameDetailsPageWithoutAd = e.show_game_details_page_without_ad,
  6023. t.showAdPreroll = e.show_ad_preroll,
  6024. t.enabledEndLevelFlow = e.enabled_end_level_flow,
  6025. t.endLevelEventCountInterval = e.end_level_interval,
  6026. e.end_level_close_button_timer !== void 0 && (t.endLevelCloseButtonTimer = e.end_level_close_button_timer * 1e3),
  6027. t.external_js_filename = e.external_js_filename,
  6028. t.ingame_header = e.ingame_header,
  6029. t.ingame_footer = e.ingame_footer,
  6030. t.first_page = e.first_page,
  6031. t.ingame_ad_popup = e.ingame_ad_popup,
  6032. t.ingame_menu = e.ingame_menu,
  6033. t.splash_screen_page = e.splash_screen,
  6034. t.loading_page = e.loading_page,
  6035. t.end_level_popup = e.end_level_popup,
  6036. t.more_games_page_a = e.more_games_page_a,
  6037. t.more_games_page_b = e.more_games_page_b,
  6038. t.externalGACode = e.agent_ga_code,
  6039. t.skipAds = e.skip_ads,
  6040. e.banner_interval_time !== void 0 && (t.displayBannerInterval = e.banner_interval_time * 1e3),
  6041. t.displayEndLevelInterval = t.displayBannerInterval,
  6042. e.ads_conversion_points !== void 0 && (t.adsConversionPoints = e.ads_conversion_points),
  6043. t.tv_cc_id = e.tv_cc_id,
  6044. t.afg_cc_id = e.afg_cc_id,
  6045. t.afc_unit_details_page_id = e.afc_unit_details_page_id,
  6046. t.afc_unit_more_games_page_id = e.afc_unit_more_games_page_id,
  6047. e.premium_game = t.premium_game,
  6048. e.subplatform = t.subplatform,
  6049. I18n.locale = e.locale,
  6050. t.tracker = new SoftgamesVoyagerTracker(t.externalGACode),
  6051. // t.openx = new OpenXJS({
  6052. // deliveryUrl: t.openx_host,
  6053. // parameters: t._getOpenxParams(e)
  6054. // }),
  6055. t.ingame_header !== "" && t.ingame_header !== void 0 && SG_jQuery("body").append(t.ingame_header),
  6056. t.ingame_footer !== "" && t.ingame_footer !== void 0 && SG_jQuery("body").append(t.ingame_footer),
  6057. typeof r == "function" ? r() : void 0
  6058. // })
  6059. },
  6060. Softgames.prototype._requestUserData = function(e, t, n) {
  6061. return e._apiRequest("GET", "" + e.system_id + "/users/" + t.user_id + ".json/", t, {},
  6062. function(t) {
  6063. return e.token = t.token,
  6064. e.userId = t.id,
  6065. e.userGender = t.gender,
  6066. e.installationDate = t.installation_date,
  6067. e.subscriber = t.subscriber,
  6068. t.premium_game = e.premium_game,
  6069. e.country !== undefined && (t.country = e.country),
  6070. t.social_network = e.social_network,
  6071. t.subplatform = e.subplatform,
  6072. t.affiliate = e.affiliate,
  6073. t.project = e.project,
  6074. e.tracker = new SoftgamesVoyagerTracker(e.externalGACode),
  6075. // e.openx = new OpenXJS({
  6076. // deliveryUrl: e.openx_host,
  6077. // parameters: e._getOpenxParams(t)
  6078. // }),
  6079. typeof n == "function" ? n() : void 0
  6080. })
  6081. },
  6082. Softgames.prototype._createIframe = function(e) {
  6083. return this.iframe = document.createElement("iframe"),
  6084. this.iframe.id = "voyager-kirk-iframe",
  6085. this.iframe.src = e,
  6086. this.iframe.width = "0",
  6087. this.iframe.height = "0",
  6088. this.iframe.frameBorder = "0"
  6089. // document.body.appendChild(this.iframe)
  6090. },
  6091. Softgames.prototype._addScreenChangeOrientationListener = function() {
  6092. return window.addEventListener("orientationchange",
  6093. function() {
  6094. var e;
  6095. return typeof(e = window.softgames).changeScreenSize == "function" ? e.changeScreenSize() : void 0
  6096. },
  6097. !1)
  6098. },
  6099. Softgames.prototype._initSystem = function() {
  6100. return this.system_id === "sandbox" ? (this._addScreenChangeOrientationListener(), this.displayBannerInterval = 1, this.apiAdapter = new SoftgamesSandbox(this, this.project, this.userId)) : this.system_id === "kirk" || this.system_id === "direct" ? (this._addScreenChangeOrientationListener(), this.apiAdapter = new SoftgamesKirk(this, this.project, this.external_user_id)) : this._addScreenChangeOrientationListener()
  6101. },
  6102. Softgames.prototype._setParamsFromUrl = function() {
  6103. var e, t, n, r;
  6104. t = this._getUrlParameters(),
  6105. r = [];
  6106. for (e in t) n = t[e],
  6107. n !== void 0 ? r.push(this[e] = n) : r.push(void 0);
  6108. return r
  6109. },
  6110. Softgames.prototype._init = function(e) {
  6111. var t, n, r = this;
  6112. return this.host = "m.sgc.io/",
  6113. this.openx_host = "http://ads.softgames.de/www/delivery/",
  6114. this._getUrlParameters().host ? this.kirk_host = "//" + unescape(this._getUrlParameters().host) + "/api/": this.kirk_host = "http://m.softgames.de/api/",
  6115. this.system_id = this._getSystemId(),
  6116. this.game_slug = this._getGameSlug(),
  6117. this.defaultBackUrl = "http://m.softgames.de/",
  6118. this.system_id === "sandbox" ? this._requestGameData("sandbox", this, void 0,
  6119. function() {
  6120. return r._setParamsFromUrl(),
  6121. r._addToHomeConfig(),
  6122. typeof e == "function" ? e() : void 0
  6123. }) : this.system_id === "kirk" || this.system_id === "direct" ? (this.system_id = "kirk", this._getUrlParameters().p ? n = this._getUrlParameters().p: this._getUrlParameters().host ? n = this._getUrlParameters().host: n = this.defaultSubsystem, t = {},
  6124. t.subsystem = n, this._getUrlParameters().aff !== void 0 && (t.affiliate = this._getUrlParameters().aff), this._getUrlParameters().cache !== void 0 && (t.cache = this._getUrlParameters().cache), this._getUrlParameters().locale !== void 0 && (t.locale = this._getUrlParameters().locale), this._getUrlParameters().mobile_spec !== void 0 && (t.mobile_spec = this._getUrlParameters().mobile_spec), this._requestGameData(n, window.softgames, t,
  6125. function() {
  6126. return r._addToHomeConfig(),
  6127. typeof e == "function" ? e() : void 0
  6128. })) : typeof e == "function" ? e() : void 0
  6129. },
  6130. Softgames.prototype.createSplashScreen = function() {
  6131. var e, t = this;
  6132. return e = SG_jQuery(this.splash_screen_page),
  6133. this.splash_screen = SG_jQuery("#voyager-splashscreen-page", e),
  6134. this.splash_screen.hide(),
  6135. this.splash_screen_logo = SG_jQuery("#voyager-splashscreen-logo", e),
  6136. this.splash_screen_logo.complete ? this.loadedSplashScreenLogo() : this.splash_screen_logo.load(function() {
  6137. return t.loadedSplashScreenLogo()
  6138. }),
  6139. this.splashScreenReady = !0,
  6140. SG_jQuery("body").append(e),
  6141. this.splash_screen = SG_jQuery("#voyager-splashscreen-page")
  6142. },
  6143. Softgames.prototype.loadedSplashScreenLogo = function() {
  6144. return this.splashScreenLogoLoaded = !0,
  6145. typeof this.splashScreenLogoOnload == "function" && this.splashScreenLogoOnload(),
  6146. this.splashScreenLogoOnload = null
  6147. },
  6148. Softgames.prototype.showSplashScreen = function(e) {
  6149. var t = this;
  6150. return this.splash_screen.fadeIn(1100,
  6151. function() {
  6152. return t.splash_screen.delay(3e3).fadeOut(1100,
  6153. function() {
  6154. return typeof e == "function" ? e() : void 0
  6155. })
  6156. })
  6157. },
  6158. Softgames.prototype._displaySplashScreen = function(e) {
  6159. var t = this;
  6160. return this.splash_screen_page === "" || this.splash_screen_page === void 0 ? this._loadingFlowNextStep(e) : (this.splashScreenReady || this.createSplashScreen(), this.splashScreenLogoLoaded ? this.showSplashScreen(function() {
  6161. return t._loadingFlowNextStep(e)
  6162. }) : this.splashScreenLogoOnload = function() {
  6163. return t._displaySplashScreen(e)
  6164. })
  6165. },
  6166. Softgames.prototype._convertGameBubblConfig = function(e) {
  6167. if (e !== undefined) {
  6168. e.indexOf("On Start") > -1 && (this.gameBubbleConfig.on_start = !0),
  6169. e.indexOf("On Game Over") > -1 && (this.gameBubbleConfig.on_game_over = !0),
  6170. e.indexOf("On Level Up") > -1 && (this.gameBubbleConfig.on_level_up = !0);
  6171. if (e.indexOf("On Pause On") > -1) return this.gameBubbleConfig.on_pause_on = !0
  6172. }
  6173. },
  6174. Softgames.prototype._isiPhone = function() {
  6175. return navigator.userAgent.match(/(iPhone)/g)
  6176. },
  6177. Softgames.prototype._hasAppleMetaTag = function() {
  6178. return SG_jQuery("meta[name='apple-mobile-web-app-capable']").attr("content") !== undefined
  6179. },
  6180. Softgames.prototype._addAppleMetaTag = function() {
  6181. return SG_jQuery("head").append('<meta name="apple-mobile-web-app-capable" content="yes" />')
  6182. },
  6183. Softgames.prototype._hasAppleIcon = function() {
  6184. return SG_jQuery('head link[rel^=apple-touch-icon][sizes="114x114"],head link[rel^=apple-touch-icon][sizes="144x144"],head link[rel^=apple-touch-icon]') !== undefined || SG_jQuery('head link[rel^=apple-touch-icon][sizes="57x57"],head link[rel^=apple-touch-icon]') !== undefined
  6185. },
  6186. Softgames.prototype.levelUp = function(e, t) {
  6187. return this.apiAdapter ? this.apiAdapter.levelUp(e, t) : typeof t == "function" ? t() : void 0
  6188. },
  6189. Softgames.prototype.loadingFlowOrder = [Softgames.prototype._displayGameDetailsPage, Softgames.prototype._displaySplashScreen, Softgames.prototype._displayPrerollAdPopup],
  6190. Softgames.prototype.loadingFlowStep = 0,
  6191. Softgames.prototype.endLevelFlowOrder = [Softgames.prototype._displayEndLevelPopup, Softgames.prototype._displayLoadingPage, Softgames.prototype._displayMoreGamesPage, Softgames.prototype._displayLoadingPage],
  6192. Softgames.prototype.endLevelFlowStep = 0,
  6193. SG_jQuery(document).ready(function() {
  6194. SG_jQuery("img.lazy").unveil(100)
  6195. })
  6196. }.call(this);