1 2(function(){ 3const __ionasCoreApi=(function(exports){ 4'use strict'; 5const COMMUNICATION_ERROR_MESSAGE="Communication with server failed"; 6const COMMUNICATION_ERROR_CODE="communication_error"; 7const COOKIES_NOT_SUPPORT_MESSAGE="Cookies must be permitted"; 8const COOKIES_NOT_SUPPORT_CODE="cookies_not_supported"; 9const BAD_CAPTCHA_RESPONSE_MESSAGE="Bad captcha response"; 10const BAD_CAPTCHA_RESPONSE_CODE="bad_captcha_response"; 11const PASSWORD_EXPIRED_RESPONSE_MESSAGE="Password expired response"; 12const PASSWORD_EXPIRED_RESPONSE_CODE="password_expired_response"; 13const VERIFICATION_CODE_NEEDED_RESPONSE_CODE="verification_code_needed"; 14const BAD_CREDENTIALS_MESSAGE="Bad credentials"; 15const BAD_CREDENTIALS_CODE="bad_credentials"; 16const COOKIE_CONSENT_INFO_UNAVAILABLE_MESSAGE="Cookie consent information unavailable"; 17const COOKIE_CONSENT_INFO_UNAVAILABLE_CODE="cookies_consent_information_unavailable"; 18const CUSTOM_ERROR_CODE="custom_error"; 19class XhrError extends Error{ 20statusText; 21status; 22constructor(message,statusText,status){ 23super(message); 24this.statusText=statusText; 25this.status=status; 26} 27} 28class SessionError extends Error{ 29code; 30constructor(message,code){ 31super(message); 32this.code=code; 33} 34} 35function isCommunicationError(error){ 36return error 37&&(error instanceof SessionError||("code"in error)) 38&&COMMUNICATION_ERROR_CODE===error.code; 39} 40function isLacksCookieSupportError(error){ 41return error 42&&(error instanceof SessionError||("code"in error)) 43&&COOKIES_NOT_SUPPORT_CODE===error.code; 44} 45function isBadCaptchaResponseError(error){ 46return error 47&&(error instanceof SessionError||("code"in error)) 48&&BAD_CAPTCHA_RESPONSE_CODE===error.code; 49} 50function isPasswordExpiredResponseError(error){ 51return error 52&&(error instanceof SessionError||("code"in error)) 53&&PASSWORD_EXPIRED_RESPONSE_CODE===error.code; 54} 55function isBadCredentialsError(error){ 56return error 57&&(error instanceof SessionError||("code"in error)) 58&&BAD_CREDENTIALS_CODE===error.code; 59} 60function isCookieConsentInfoUnavailableError(error){ 61return error 62&&(error instanceof SessionError||("code"in error)) 63&&COOKIE_CONSENT_INFO_UNAVAILABLE_CODE===error.code; 64} 65let ionasInfoElement=document.getElementById('ionasInfo'); 66var ionasInfo=ionasInfoElement?JSON.parse(ionasInfoElement.innerText):undefined; 67function getBaseUrl(){ 68if(ionasInfo?.context){ 69return ionasInfo.context; 70} 71const ionas4=window.ionas4; 72if(ionas4?.contextPath){ 73return""; 74} 75if(document.head.dataset.contextPath!==undefined){ 76return document.head.dataset.contextPath; 77} 78const baseLink=document.head.querySelector("link[rel='base']"); 79if(baseLink&&baseLink.href){ 80return baseLink.href; 81} 82return""; 83} 84function getBackendBaseUrl(){ 85if(ionasInfo?.backend){ 86return ionasInfo.backend; 87} 88const baseLink=document.head.querySelector("link[rel='base']"); 89if(baseLink&&baseLink.href){ 90return baseLink.href; 91} 92return""; 93} 94let coreCookieInfo=null; 95async function requestCoreCookieInfo(){ 96let response=await fetch(getBaseUrl()+'/:ionasinfo/coreCookieConsent',{headers:{'Accept':'application/json'}}); 97if(response.ok){ 98return response.json(); 99} 100throw new SessionError(COOKIE_CONSENT_INFO_UNAVAILABLE_MESSAGE,COOKIE_CONSENT_INFO_UNAVAILABLE_CODE); 101} 102function getCoreCookieInfo(){ 103return coreCookieInfo=(coreCookieInfo||requestCoreCookieInfo()); 104} 105window.addEventListener('cookie-consent-issued',()=>{ 106window.IONAS_CSRF_TOKEN=undefined; 107window.IONAS_CSRF_TOKEN_PERMITTED_COOKIES=undefined; 108}); 109async function requestCsrfToken(permitCookies){ 110let url=new URL(getBaseUrl()+'/:ionasinfo/csrfToken',location.href); 111if(permitCookies){ 112let coreCookieInfo=await getCoreCookieInfo(); 113url.searchParams.append(coreCookieInfo.cookieName,coreCookieInfo.cookieValue); 114} 115let response=await fetch(url.href,{headers:{'Accept':'application/json'}}); 116if(response.ok){ 117return response.json(); 118} 119throw new Error("Cannot fetch CSRF token. "+response.statusText); 120} 121function getCsrfToken(permitCookies){ 122if(permitCookies){ 123window.IONAS_CSRF_TOKEN_PERMITTED_COOKIES??=requestCsrfToken(permitCookies).finally(()=>{ 124window.IONAS_CSRF_TOKEN_PERMITTED_COOKIES=undefined; 125}); 126return window.IONAS_CSRF_TOKEN_PERMITTED_COOKIES; 127} 128else{ 129window.IONAS_CSRF_TOKEN??=requestCsrfToken(permitCookies).finally(()=>{ 130window.IONAS_CSRF_TOKEN=undefined; 131}); 132return window.IONAS_CSRF_TOKEN; 133} 134} 135async function getCsrfHeaders(permitCookies){ 136let csrfToken=await getCsrfToken(permitCookies); 137const csrfHeaders=new Headers(); 138csrfHeaders.append(csrfToken.headerName,csrfToken.token); 139return csrfHeaders; 140} 141async function loadLoginOptions(targetUri){ 142const url=getBaseUrl()+'/:users/login/options?targetUri='+encodeURIComponent(targetUri||""); 143return fetch(url,{headers:{'Accept':'application/json'}}) 144.then(response=>{ 145if(response.ok){ 146return response.json(); 147} 148else{ 149throw new SessionError(`${response.status} ${response.statusText}`,COMMUNICATION_ERROR_CODE); 150} 151}); 152} 153async function determineCaptchaIsNecessary(){ 154return fetch(getBaseUrl()+'/:users/login/displayCaptcha',{headers:{'Accept':'application/json'}}) 155.then(response=>{ 156if(response.ok){ 157return response.json(); 158} 159else{ 160throw new SessionError(`${response.status} ${response.statusText}`,COMMUNICATION_ERROR_CODE); 161} 162}) 163.then(answer=>{ 164return{ 165type:answer.type,
166display:answer.display, 167until:answer.until?new Date(answer.until):null 168}; 169}); 170} 171async function login(username,password,optionsOrCaptcha){ 172document.cookie="menu-slide-in=false; path=/"; 173if(!(";"+document.cookie+";").match(/;\s*menu-slide-in=false;/)){ 174return Promise.reject(new SessionError(COOKIES_NOT_SUPPORT_MESSAGE,COOKIES_NOT_SUPPORT_CODE)); 175} 176const data=new FormData(); 177data.append("login",username); 178data.append("password",password); 179data.append("dologin","true"); 180let contextPath=getBaseUrl().match(/^(?:https?:\/\/[^\/]+)?(\/[^\/]+)$/)?.[1]; 181data.append("deviceId",localStorage.getItem("ionas-device-id"+contextPath)||localStorage.getItem("ionas-device-id")||""); 182return getCoreCookieInfo().then(cookieInfo=>{ 183let captcha; 184let verificationCode; 185if(typeof optionsOrCaptcha==="string"){ 186captcha=optionsOrCaptcha; 187} 188else if(optionsOrCaptcha!==undefined){ 189captcha=optionsOrCaptcha.captcha; 190verificationCode=optionsOrCaptcha.verificationCode; 191} 192data.append(cookieInfo.cookieName,cookieInfo.cookieValue); 193if(captcha){ 194data.append("g-recaptcha-response",captcha); 195} 196if(verificationCode){ 197data.append("verificationCode",verificationCode); 198} 199return getCsrfHeaders(true) 200.then(csrfHeaders=>{ 201let headers=new Headers(csrfHeaders); 202headers.set("Accept","application/json"); 203return fetch(getBaseUrl()+'/:users/login/checkSession',{ 204method:'POST', 205body:data, 206headers:headers 207}); 208}) 209.then(response=>{ 210if(response.ok){ 211return response.json(); 212} 213else{ 214throw new SessionError(`${response.status} ${response.statusText}`,COMMUNICATION_ERROR_CODE); 215} 216}) 217.then(answer=>{ 218if(answer.__errorNo&&answer.__errorNo===42){ 219throw new SessionError(BAD_CAPTCHA_RESPONSE_MESSAGE,BAD_CAPTCHA_RESPONSE_CODE); 220} 221else if(answer.__errorNo&&answer.__errorNo===46){ 222throw new SessionError(PASSWORD_EXPIRED_RESPONSE_MESSAGE,PASSWORD_EXPIRED_RESPONSE_CODE); 223} 224else if(answer.__errorNo&&answer.__errorNo===47){ 225throw new SessionError(answer.__error,VERIFICATION_CODE_NEEDED_RESPONSE_CODE); 226} 227else if(answer.__error){ 228throw new SessionError(answer.__error,CUSTOM_ERROR_CODE); 229} 230else if(answer!==false){ 231let result=answer; 232if(result.deviceId!=null){ 233localStorage.setItem("ionas-device-id"+contextPath,result.deviceId); 234} 235return result; 236} 237else{ 238throw new SessionError(BAD_CREDENTIALS_MESSAGE,BAD_CREDENTIALS_CODE); 239} 240}); 241}); 242} 243async function loadCurrentSessionInfo(){ 244return fetch(getBaseUrl()+'/:users/login/sessionInfo',{headers:{'Accept':'application/json'}}) 245.then(response=>{ 246if(response.ok){ 247return response.json(); 248} 249else{ 250throw new SessionError(`${response.status} ${response.statusText}`,COMMUNICATION_ERROR_CODE); 251} 252}); 253} 254function getLogoutUrl(){ 255return ionasInfo?.logoutRoot||getBaseUrl()+'/:logout'; 256} 257async function logout(){ 258return logoutCurrentWindow('/'); 259} 260async function logoutCurrentWindow(logoutSuccessPath){ 261let csrfHeaders=await getCsrfHeaders(); 262let headers=new Headers(csrfHeaders); 263headers.set("Accept","application/json"); 264return fetch(getLogoutUrl()+(logoutSuccessPath||"/"),{ 265method:'POST', 266headers:headers 267}); 268} 269async function forgotPassword(email){ 270return getCsrfHeaders() 271.then(csrfHeaders=>{ 272let headers=new Headers(csrfHeaders); 273headers.set("Accept","application/json"); 274const data=new FormData(); 275data.append("email",email); 276return fetch(getBaseUrl()+'/:users/login/forgotPassword',{ 277method:'POST', 278body:data, 279headers:headers 280}); 281}) 282.then(response=>{ 283if(response.ok){ 284return response.json(); 285} 286else{ 287throw new SessionError(`${response.status} ${response.statusText}`,COMMUNICATION_ERROR_CODE); 288} 289}) 290.then(response=>{ 291return response; 292}); 293} 294function eventually(func,timeout,immediate){ 295let timeoutHandle=undefined; 296if(immediate){ 297return function(...args){ 298if(!timeoutHandle){ 299func.apply(this,args); 300timeoutHandle=setTimeout(function(){ 301timeoutHandle=undefined; 302},timeout||0); 303} 304}; 305} 306else{ 307return function(...args){ 308if(timeoutHandle){ 309clearTimeout(timeoutHandle); 310} 311timeoutHandle=setTimeout((function(){ 312timeoutHandle=undefined; 313func.apply(this,args); 314}).bind(this),timeout||0); 315}; 316} 317} 318function once(func){ 319let called=false; 320return function(...args){ 321if(!called){ 322called=true; 323return func.apply(this,args); 324} 325}; 326} 327function debounced(func,immediate){ 328return eventually(func,300,immediate); 329} 330function delayedAsync(func,delay,restartDelay){ 331let active=false; 332let retrigger=false; 333let timeout=null; 334let timeoutTime=0; 335let finish=function(){ 336active=false; 337if(retrigger){ 338retrigger=false; 339executeNow(); 340} 341}; 342let executeNow=function(){ 343active=true; 344try{ 345func().catch(function(error){throw error;}); 346} 347finally{ 348finish(); 349} 350}; 351let trigger=function(){ 352timeout=null; 353if(active){ 354retrigger=true; 355} 356else{ 357executeNow(); 358} 359}; 360return function(customDelay){ 361let actualDelay=customDelay!=null?customDelay:delay; 362let newTimeoutTime=Date.now()+actualDelay; 363if(timeout!=null){ 364if(restartDelay||actualDelay<0||newTimeoutTime<timeoutTime){ 365clearTimeout(timeout); 366timeout=null; 367} 368else{ 369return; 370} 371} 372if(actualDelay<0){
373trigger(); 374} 375else{ 376timeout=setTimeout(trigger,actualDelay); 377timeoutTime=newTimeoutTime; 378} 379}; 380} 381function delayedAsyncRestart(func,delay){ 382return delayedAsync(func,delay,true); 383} 384function findElement(elementList,predicate,thisArg){ 385if(elementList){ 386for(let i=0,n=elementList.length;i<n;i++){ 387if(predicate.call(thisArg,elementList[i],i,elementList)){ 388return elementList[i]; 389} 390} 391} 392return null; 393} 394async function whenReadyState(state,document){ 395return new Promise(function(resolve){ 396let effectiveState=state||'complete'; 397let effectiveDocument=document||window.document; 398function onReadyStateChange(){ 399if(effectiveDocument.readyState===effectiveState){ 400resolve(effectiveDocument); 401effectiveDocument.removeEventListener('readystatechange',onReadyStateChange); 402} 403} 404effectiveDocument.addEventListener('readystatechange',onReadyStateChange); 405onReadyStateChange(); 406}); 407} 408function ngAppInvoke(){ 409let $rootElement=jQuery('[ng-app]'); 410let $injector=$rootElement.injector(); 411return $injector.invoke.apply($injector,arguments); 412} 413exports.BAD_CAPTCHA_RESPONSE_CODE=BAD_CAPTCHA_RESPONSE_CODE; 414exports.BAD_CAPTCHA_RESPONSE_MESSAGE=BAD_CAPTCHA_RESPONSE_MESSAGE; 415exports.BAD_CREDENTIALS_CODE=BAD_CREDENTIALS_CODE; 416exports.BAD_CREDENTIALS_MESSAGE=BAD_CREDENTIALS_MESSAGE; 417exports.COMMUNICATION_ERROR_CODE=COMMUNICATION_ERROR_CODE; 418exports.COMMUNICATION_ERROR_MESSAGE=COMMUNICATION_ERROR_MESSAGE; 419exports.COOKIES_NOT_SUPPORT_CODE=COOKIES_NOT_SUPPORT_CODE; 420exports.COOKIES_NOT_SUPPORT_MESSAGE=COOKIES_NOT_SUPPORT_MESSAGE; 421exports.COOKIE_CONSENT_INFO_UNAVAILABLE_CODE=COOKIE_CONSENT_INFO_UNAVAILABLE_CODE; 422exports.COOKIE_CONSENT_INFO_UNAVAILABLE_MESSAGE=COOKIE_CONSENT_INFO_UNAVAILABLE_MESSAGE; 423exports.CUSTOM_ERROR_CODE=CUSTOM_ERROR_CODE; 424exports.PASSWORD_EXPIRED_RESPONSE_CODE=PASSWORD_EXPIRED_RESPONSE_CODE; 425exports.PASSWORD_EXPIRED_RESPONSE_MESSAGE=PASSWORD_EXPIRED_RESPONSE_MESSAGE; 426exports.SessionError=SessionError; 427exports.VERIFICATION_CODE_NEEDED_RESPONSE_CODE=VERIFICATION_CODE_NEEDED_RESPONSE_CODE; 428exports.XhrError=XhrError; 429exports.debounced=debounced; 430exports.delayedAsync=delayedAsync; 431exports.delayedAsyncRestart=delayedAsyncRestart; 432exports.determineCaptchaIsNecessary=determineCaptchaIsNecessary; 433exports.eventually=eventually; 434exports.findElement=findElement; 435exports.forgotPassword=forgotPassword; 436exports.getBackendBaseUrl=getBackendBaseUrl; 437exports.getBaseUrl=getBaseUrl; 438exports.getCoreCookieInfo=getCoreCookieInfo; 439exports.getCsrfHeaders=getCsrfHeaders; 440exports.getCsrfToken=getCsrfToken; 441exports.ionasInfo=ionasInfo; 442exports.isBadCaptchaResponseError=isBadCaptchaResponseError; 443exports.isBadCredentialsError=isBadCredentialsError; 444exports.isCommunicationError=isCommunicationError; 445exports.isCookieConsentInfoUnavailableError=isCookieConsentInfoUnavailableError; 446exports.isLacksCookieSupportError=isLacksCookieSupportError; 447exports.isPasswordExpiredResponseError=isPasswordExpiredResponseError; 448exports.loadCurrentSessionInfo=loadCurrentSessionInfo; 449exports.loadLoginOptions=loadLoginOptions; 450exports.login=login; 451exports.logout=logout; 452exports.logoutCurrentWindow=logoutCurrentWindow; 453exports.ngAppInvoke=ngAppInvoke; 454exports.once=once; 455exports.whenReadyState=whenReadyState; 456Object.defineProperty(exports,'__esModule',{value:true}); 457return exports; 458})({});self.__ionasCoreApi=__ionasCoreApi; 459}()); 460self.ionas=(function(ionas,__ionasCoreApi){ 461async function getCsrfHeaders(permitCookies){ 462let csrfHeadersAsObject={}; 463let csrfHeaders=await __ionasCoreApi.getCsrfHeaders(permitCookies); 464csrfHeaders.forEach(function(value,key){csrfHeadersAsObject[key]=value;}); 465return csrfHeadersAsObject; 466} 467return Object.assign(ionas,{ 468ionasInfo:__ionasCoreApi.ionasInfo, 469getCoreCookieInfo:__ionasCoreApi.getCoreCookieInfo, 470getCsrfToken:__ionasCoreApi.getCsrfToken, 471getCsrfHeaders:getCsrfHeaders, 472eventually:__ionasCoreApi.eventually, 473debounced:__ionasCoreApi.debounced, 474once:__ionasCoreApi.once, 475findElement:__ionasCoreApi.findElement, 476whenReadyState:__ionasCoreApi.whenReadyState, 477delayedAsync:__ionasCoreApi.delayedAsync, 478delayedAsyncRestart:__ionasCoreApi.delayedAsyncRestart, 479doLogout:__ionasCoreApi.logoutCurrentWindow, 480ngAppInvoke:__ionasCoreApi.ngAppInvoke 481}); 482}(self.ionas||{},self.__ionasCoreApi)); 483var ionas; 484(function(ionas){ 485ionas.UMLAUT_MAPPING={ 486"ä":"ae", 487"ö":"oe", 488"ü":"ue", 489"Ã":"ss", 490"é":"e" 491}; 492function normalizeName(name,forFile){ 493var normalizedName=""; 494var previousIsNonWordCharacter=false; 495name=name.toLowerCase(); 496for(var index=0;
496index<name.length;index++){ 497var character=name[index]; 498if(character.match(/^[a-zA-Z0-9äöüÃé]$/)){ 499if(previousIsNonWordCharacter&&normalizedName.length>0){ 500normalizedName+="-"; 501} 502if(ionas.UMLAUT_MAPPING[character]){ 503normalizedName+=ionas.UMLAUT_MAPPING[character]; 504} 505else{ 506normalizedName+=character; 507} 508previousIsNonWordCharacter=false; 509} 510else if(forFile&&"."==character){ 511normalizedName+="."; 512previousIsNonWordCharacter=false; 513} 514else{ 515previousIsNonWordCharacter=true; 516} 517} 518return normalizedName; 519} 520ionas.normalizeName=normalizeName; 521})(ionas||(ionas={}));self.ionas=(function(ionas){ 522var RESIZE_EXPRESSION_PATTERN=new RegExp("(([^:]+):)?(\\d+,\\d+,\\d+,\\d+)?_?(.*)"); 523var DATA_DYMANIC_RESIZE_IN_PROGRESS="data-dynamic-resize-in-progress"; 524var isSrcsetSupported=(function(){ 525var img=new Image(); 526return('srcset'in img); 527}()); 528async function whenWindowLoaded(){ 529return new Promise(function(resolve){ 530if(document.readyState==='complete'){ 531resolve(); 532}else{ 533window.addEventListener("load",resolve); 534} 535}); 536} 537async function whenDocumentReady(){ 538return new Promise(function(resolve,reject){ 539if(document.readyState==='interactive'||document.readyState==='c
539omplete'){ 540resolve(); 541}else{ 542document.addEventListener("DOMContentLoaded",resolve); 543} 544}); 545} 546function isVisible(element){ 547return!!(element.offsetWidth||element.offsetHeight||element.getClientRects().length); 548} 549function handleDynamicResize(image){ 550var resizeMode=image.getAttribute("data-resize-mode"); 551if("dynamic"===resizeMode&&isVisible(image)){ 552doDynamicResize(image); 553} 554} 555function doDynamicResize(image){ 556if(image.getAttribute("data-src")){ 557resizeImageAttribute(image,"data-src"); 558}else if(image.getAttribute("src")){ 559resizeImageAttribute(image,"src"); 560} 561} 562function handleRetinaSupport(image){ 563let src=image.getAttribute('data-src'); 564if(src){ 565const dpr=window.devicePixelRatio; 566if(dpr>1){ 567let newSrc=setSrcParam(src,"dpr",dpr); 568image.setAttribute('data-src',newSrc); 569} 570} 571} 572function registerImage(image){ 573var lazyMode=image.getAttribute('data-lazy-mode'); 574image.removeAttribute('data-lazy-mode'); 575var resizeMode=image.getAttribute("data-resize-mode"); 576handleRetinaSupport(image); 577handleDynamicResize(image); 578if("dynamic"===resizeMode){ 579resizeObserver.observe(image); 580} 581if(lazyMode==='after-load'){ 582whenWindowLoaded().then(loadImage.bind(this,image)); 583}else if(lazyMode==='on-visible'){ 584lazyIntersectionObserver.observe(image); 585}else if(lazyMode==='none'){ 586loadImage(image); 587} 588imageSrcObserver.observe(image,imageSrcObserverOptions); 589image.addEventListener('load',function(){ 590image.classList.add("complete"); 591if("dynamic"===resizeMode){ 592image.classList.remove("image-resizing"); 593image.removeAttribute(DATA_DYMANIC_RESIZE_IN_PROGRESS); 594} 595}); 596} 597function registerImages(images){ 598for(var i=0;i<images.length;i++){ 599registerImage(images[i]); 600} 601} 602function join(array,seperator){ 603return array.filter(function(element){ 604return element; 605}).join(seperator); 606} 607function setSrcParam(src,paramName,newParamValue){ 608let url=new URL(src,window.location.href); 609let oldParamValue=url.searchParams.get(paramName); 610if(oldParamValue){ 611let matches=RESIZE_EXPRESSION_PATTERN.exec(oldParamValue); 612if(matches){ 613let hash=matches[2]; 614let clipValue=matches[3]; 615if(clipValue===undefined){ 616hash=undefined; 617} 618newParamValue=join([hash,join([clipValue,newParamValue],'_')],':'); 619} 620} 621url.searchParams.set(paramName,newParamValue); 622return url.href; 623} 624function findImageResizeValue(width,height){ 625let resizeOptions=window.ionasInfo.resizeOptions; 626let maxAspectRatio=resizeOptions.maxAspectRatio; 627let allowedValues=resizeOptions.allowedValues; 628function constrainValue(value){ 629let greaterValues=allowedValues.filter(function(allowedValue){ 630return value<=allowedValue; 631}); 632return greaterValues.length===0?allowedValues[allowedValues.length-1]:greaterValues[0]; 633} 634if(width>0&&height>0){ 635let aspectRatio=Math.max(1/maxAspectRatio,Math.min(width/height,maxAspectRatio)); 636if(aspectRatio<1.0){ 637width=Math.round(height*aspectRatio); 638}else{ 639height=Math.round(width/aspectRatio); 640} 641} 642width=constrainValue(width); 643height=constrainValue(height); 644return""+width+"x"+height+"c"; 645} 646function resizeImageAttribute(image,attributeName){ 647let attributeValue=image.getAttribute(attributeName); 648let newAttributeValue=resizeImageSrc(attributeValue,image.width,image.height); 649if(newAttributeValue!==attributeValue){ 650image.setAttribute(DATA_DYMANIC_RESIZE_IN_PROGRESS,"true"); 651image.setAttribute(attributeName,newAttributeValue); 652image.classList.add("image-resizing"); 653} 654} 655function resizeImageSrc(src,width,height){ 656return src&&!src.startsWith("data:")&&!src.startsWith("blob:")&&width>0&&height>0 657?setSrcParam(src,"resize",findImageResizeValue(width,height)) 658:src; 659} 660function loadImage(image){ 661function switchAttribute(attributeName){ 662let dataAttributeName='data-'+attributeName; 663let value=image.getAttribute(dataAttributeName); 664if(value){ 665image.setAttribute(attributeName,value); 666image.removeAttribute(dataAttributeName); 667} 668} 669switchAttribute('sizes'); 670switchAttribute('srcset'); 671if(!isSrcsetSupported||!image.getAttribute('srcset')){ 672switchAttribute('src'); 673if(!image.complete){ 674image.classList.add("i4-image-loading"); 675image.addEventListener('load',function(){ 676image.classList.remove("i4-image-loading"); 677}); 678} 679} 680} 681var lazyIntersectionOptions={root:null,rootMargin:"0px",threshold:0.01}; 682var lazyIntersectionObserver=new IntersectionObserver(function(intersections,observer){ 683intersections.forEach(function(intersection){ 684if(intersection.intersectionRatio>0){ 685observer.unobserve(intersection.target); 686loadImage(intersection.target); 687} 688}); 689},lazyIntersectionOptions); 690function isImage(node){ 691return node.nodeType===Node.ELEMENT_NODE&&node.nodeName==="IMG"; 692} 693function getObserverTarget(observerEntry){ 694return observerEntry.target; 695} 696var imageSrcObserver=new MutationObserver(function(mutations){ 697mutations.filter(function(mutation){return mutation.type==="attributes"&&mutation.attributeName==="src";}) 698.map(getObserverTarget) 699.filter(isImage) 700.filter(function(image){return!image.hasAttribute(DATA_DYMANIC_RESIZE_IN_PROGRESS);}) 701.forEach(function(image){handleDynamicResize(image);}); 702}); 703var imageSrcObserverOptions={attributes:true,childList:false,characterData:false,subtree:false}; 704imageSrcObserver.observe(document.body,imageSrcObserverOptions); 705var resizeObserver=new ResizeObserver(function(entries){ 706entries.map(getObserverTarget) 707.filter(isImage) 708.forEach(function(image){ 709if(image.resizeTimeoutHandle){ 710clearTimeout(image.resizeTimeoutHandle); 711} 712image.resizeTimeoutHandle=setTimeout(function(){ 713image.resizeTimeoutHandle=undefined; 714handleDynamicResize(image); 715},500); 716}); 717}); 718document.body.addEventListener("imageSizeChange",function(e){ 719for(var i=0;i<e.images.length;i++){ 720handleDynamicResize(e.images[i]); 721} 722}); 723whenDocumentReady().then(function registerAllImages(){ 724var nodeList=document.querySelectorAll("img"); 725for(var i=0;i<nodeList.length;i++){ 726registerImage(nodeList[i]); 727} 728}); 729var newImagesObserver=new MutationObserver(function(mutations){ 730mutations.forEach(function(mutation){ 731for(var j=0,m=mutation.addedNodes.length;j<m;j++){ 732var node=mutation.addedNodes[j]; 733if(node.nodeType===Node.ELEMENT_NODE){ 734if(node.nodeName==="IMG"){ 735registerImage(node); 736}else{ 737var imageNodeList=node.querySelectorAll("img"); 738for(var i=0,n=imageNodeList.length;i<n;i++){ 739registerImage(imageNodeList[i]); 740} 741} 742} 743} 744}); 745}); 746newImagesObserver.observe(document.body,{attributes:false,childList:true,characterData:false,subtree:true}); 747return Object.assign(ionas,{ 748registerImage, 749registerImages, 750handleDynamicResize, 751resizeImageSrc 752}); 753}(self.ionas||{})); 754function stopJavascriptEvents(event){ 755event.preventDefault(); 756event.stopPropagation(); 757} 758(function(global,factory){ 759"use strict"; 760if(typeof module==="object"&&typeof module.exports==="object"){ 761module.exports=global.document? 762factory(global,true): 763function(w){ 764if(!w.document){ 765throw new Error("jQuery requires a window with a document"); 766} 767return factory(w); 768}; 769}else{ 770factory(global); 771} 772})(typeof window!=="undefined"?window:this,function(window,noGlobal){ 773"use strict"; 774var arr=[]; 775var getProto=Object.getPrototypeOf; 776var slice=arr.slice; 777var flat=arr.flat?function(array){ 778return arr.flat.call(array); 779}:function(array){ 780return arr.concat.apply([],array); 781}; 782var push=arr.push; 783var indexOf=arr.indexOf; 784var class2type={}; 785var toString=class2type.toString; 786var hasOwn=class2type.hasOwnProperty; 787var fnToString=hasOwn.toString; 788var ObjectFunctionString=fnToString.call(Object); 789var support={}; 790var isFunction=function isFunction(obj){ 791return typeof obj==="function"&&typeof obj.nodeType!=="number"&& 792typeof obj.item!=="function"; 793}; 794var isWindow=function isWindow(obj){ 795return obj!=null&&obj===obj.window; 796}; 797var document=window.document; 798var preservedScriptAttributes={ 799type:true, 800src:true, 801nonce:true, 802noModule:true 803}; 804function DOMEval(code,node,doc){ 805doc=doc||document; 806var i,val, 807script=doc.createElement("script"); 808script.text=code; 809if(node){ 810for(i in preservedScriptAttributes){ 811val=node[i]||node.getAttribute&&node.getAttribute(i); 812if(val){ 813script.setAttribute(i,val); 814} 815} 816} 817doc.head.appendChild(script).parentNode.removeChild(script); 818} 819function toType(obj){ 820if(obj==null){ 821return obj+""; 822} 823return typeof obj==="object"||typeof obj==="function"? 824class2type[toString.call(obj)]||"object": 825typeof obj; 826} 827var version="3.7.1", 828rhtmlSuffix=/HTML$/i, 829jQuery=function(selector,context){ 830return new jQuery.fn.init(selector,context); 831}; 832jQuery.fn=jQuery.prototype={ 833jquery:version, 834constructor:jQuery, 835length:0, 836toArray:function(){ 837return slice.call(this); 838}, 839get:function(num){ 840if(num==null){ 841return slice.call(this); 842} 843return num<0?this[num+this.length]:this[num]; 844}, 845pushStack:function(elems){ 846var ret=jQuery.merge(this.constructor(),elems);
vendor: 141,740 bytes, lines 847-7371
847ret.prevObject=this; 848return ret; 849}, 850each:function(callback){ 851return jQuery.each(this,callback); 852}, 853map:function(callback){ 854return this.pushStack(jQuery.map(this,function(elem,i){ 855return callback.call(elem,i,elem); 856})); 857}, 858slice:function(){ 859return this.pushStack(slice.apply(this,arguments)); 860}, 861first:function(){ 862return this.eq(0); 863}, 864last:function(){ 865return this.eq(-1); 866}, 867even:function(){ 868return this.pushStack(jQuery.grep(this,function(_elem,i){ 869return(i+1)%2; 870})); 871}, 872odd:function(){ 873return this.pushStack(jQuery.grep(this,function(_elem,i){ 874return i%2; 875})); 876}, 877eq:function(i){ 878var len=this.length, 879j=+i+(i<0?len:0); 880return this.pushStack(j>=0&&j<len?[this[j]]:[]); 881}, 882end:function(){ 883return this.prevObject||this.constructor(); 884}, 885push:push, 886sort:arr.sort, 887splice:arr.splice 888}; 889jQuery.extend=jQuery.fn.extend=function(){ 890var options,name,src,copy,copyIsArray,clone, 891target=arguments[0]||{}, 892i=1, 893length=arguments.length, 894deep=false; 895if(typeof target==="boolean"){ 896deep=target; 897target=arguments[i]||{}; 898i++; 899} 900if(typeof target!=="object"&&!isFunction(target)){ 901target={}; 902} 903if(i===length){ 904target=this; 905i--; 906} 907for(;i<length;i++){ 908if((options=arguments[i])!=null){ 909for(name in options){ 910copy=options[name]; 911if(name==="__proto__"||target===copy){ 912continue; 913} 914if(deep&©&&(jQuery.isPlainObject(copy)|| 915(copyIsArray=Array.isArray(copy)))){ 916src=target[name]; 917if(copyIsArray&&!Array.isArray(src)){ 918clone=[]; 919}else if(!copyIsArray&&!jQuery.isPlainObject(src)){ 920clone={}; 921}else{ 922clone=src; 923} 924copyIsArray=false; 925target[name]=jQuery.extend(deep,clone,copy); 926}else if(copy!==undefined){ 927target[name]=copy; 928} 929} 930} 931} 932return target; 933}; 934jQuery.extend({ 935expando:"jQuery"+(version+Math.random()).replace(/\D/g,""), 936isReady:true, 937error:function(msg){ 938throw new Error(msg); 939}, 940noop:function(){}, 941isPlainObject:function(obj){ 942var proto,Ctor; 943if(!obj||toString.call(obj)!=="[object Object]"){ 944return false; 945} 946proto=getProto(obj); 947if(!proto){ 948return true; 949} 950Ctor=hasOwn.call(proto,"constructor")&&proto.constructor; 951return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString; 952}, 953isEmptyObject:function(obj){ 954var name; 955for(name in obj){ 956return false; 957} 958return true; 959}, 960globalEval:function(code,options,doc){ 961DOMEval(code,{nonce:options&&options.nonce},doc); 962}, 963each:function(obj,callback){ 964var length,i=0; 965if(isArrayLike(obj)){ 966length=obj.length; 967for(;i<length;i++){ 968if(callback.call(obj[i],i,obj[i])===false){ 969break; 970} 971} 972}else{ 973for(i in obj){ 974if(callback.call(obj[i],i,obj[i])===false){ 975break; 976} 977} 978} 979return obj; 980}, 981text:function(elem){ 982var node, 983ret="", 984i=0, 985nodeType=elem.nodeType; 986if(!nodeType){ 987while((node=elem[i++])){ 988ret+=jQuery.text(node); 989} 990} 991if(nodeType===1||nodeType===11){ 992return elem.textContent; 993} 994if(nodeType===9){ 995return elem.documentElement.textContent; 996} 997if(nodeType===3||nodeType===4){ 998return elem.nodeValue; 999} 1000return ret; 1001}, 1002makeArray:function(arr,results){ 1003var ret=results||[]; 1004if(arr!=null){ 1005if(isArrayLike(Object(arr))){ 1006jQuery.merge(ret, 1007typeof arr==="string"? 1008[arr]:arr 1009); 1010}else{ 1011push.call(ret,arr); 1012} 1013} 1014return ret; 1015}, 1016inArray:function(elem,arr,i){ 1017return arr==null?-1:indexOf.call(arr,elem,i); 1018}, 1019isXMLDoc:function(elem){ 1020var namespace=elem&&elem.namespaceURI, 1021docElem=elem&&(elem.ownerDocument||elem).documentElement; 1022return!rhtmlSuffix.test(namespace||docElem&&docElem.nodeName||"HTML"); 1023}, 1024merge:function(first,second){ 1025var len=+second.length, 1026j=0, 1027i=first.length; 1028for(;j<len;j++){ 1029first[i++]=second[j]; 1030} 1031first.length=i; 1032return first; 1033}, 1034grep:function(elems,callback,invert){ 1035var callbackInverse, 1036matches=[], 1037i=0, 1038length=elems.length, 1039callbackExpect=!invert; 1040for(;i<length;i++){ 1041callbackInverse=!callback(elems[i],i); 1042if(callbackInverse!==callbackExpect){ 1043matches.push(elems[i]); 1044} 1045} 1046return matches; 1047}, 1048map:function(elems,callback,arg){ 1049var length,value, 1050i=0, 1051ret=[]; 1052if(isArrayLike(elems)){ 1053length=elems.length; 1054for(;i<length;i++){ 1055value=callback(elems[i],i,arg); 1056if(value!=null){ 1057ret.push(value); 1058} 1059} 1060}else{ 1061for(i in elems){ 1062value=callback(elems[i],i,arg); 1063if(value!=null){ 1064ret.push(value); 1065} 1066} 1067} 1068return flat(ret); 1069}, 1070guid:1, 1071support:support 1072}); 1073if(typeof Symbol==="function"){ 1074jQuery.fn[Symbol.iterator]=arr[Symbol.iterator]; 1075} 1076jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), 1077function(_i,name){ 1078class2type["[object "+name+"]"]=name.toLowerCase(); 1079}); 1080function isArrayLike(obj){ 1081var length=!!obj&&"length"in obj&&obj.length, 1082type=toType(obj); 1083if(isFunction(obj)||isWindow(obj)){ 1084return false; 1085} 1086return type==="array"||length===0|| 1087typeof length==="number"&&length>0&&(length-1)in obj; 1088} 1089function nodeName(elem,name){ 1090return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase(); 1091} 1092var pop=arr.pop; 1093var sort=arr.sort; 1094var splice=arr.splice; 1095var whitespace="[\\x20\\t\\r\\n\\f]"; 1096var rtrimCSS=new RegExp( 1097"^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$", 1098"g" 1099); 1100jQuery.contains=function(a,b){ 1101var bup=b&&b.parentNode; 1102return a===bup||!!(bup&&bup.nodeType===1&&( 1103a.contains? 1104a.contains(bup): 1105a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16 1106)); 1107}; 1108var rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; 1109function fcssescape(ch,asCodePoint){ 1110if(asCodePoint){ 1111if(ch==="\0"){ 1112return"\uFFFD"; 1113} 1114return ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" "; 1115} 1116return"\\"+ch; 1117} 1118jQuery.escapeSelector=function(sel){ 1119return(sel+"").replace(rcssescape,fcssescape); 1120}; 1121var preferredDoc=document, 1122pushNative=push; 1123(function(){ 1124var i, 1125Expr, 1126outermostContext, 1127sortInput, 1128hasDuplicate, 1129push=pushNative, 1130document, 1131documentElement, 1132documentIsHTML, 1133rbuggyQSA, 1134matches, 1135expando=jQuery.expando, 1136dirruns=0, 1137done=0, 1138classCache=createCache(), 1139tokenCache=createCache(), 1140compilerCache=createCache(), 1141nonnativeSelectorCache=createCache(), 1142sortOrder=function(a,b){ 1143if(a===b){ 1144hasDuplicate=true; 1145} 1146return 0; 1147}, 1148booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|"+ 1149"loop|multiple|open|readonly|required|scoped", 1150identifier="(?:\\\\[\\da-fA-F]{1,6}"+whitespace+ 1151"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", 1152attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+ 1153"*([*^$|!~]?=)"+whitespace+ 1154"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+ 1155whitespace+"*\\]", 1156pseudos=":("+identifier+")(?:\\(("+ 1157"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+ 1158"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+ 1159".*"+ 1160")\\)|)", 1161rwhitespace=new RegExp(whitespace+"+","g"), 1162rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"), 1163rleadingCombinator=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+ 1164whitespace+"*"), 1165rdescend=new RegExp(whitespace+"|>"), 1166rpseudo=new RegExp(pseudos), 1167ridentifier=new RegExp("^"+identifier+"$"), 1168matchExpr={ 1169ID:new RegExp("^#("+identifier+")"), 1170CLASS:new RegExp("^\\.("+identifier+")"), 1171TAG:new RegExp("^("+identifier+"|[*])"), 1172ATTR:new RegExp("^"+attributes), 1173PSEUDO:new RegExp("^"+pseudos), 1174CHILD:new RegExp( 1175"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ 1176whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+ 1177whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"), 1178bool:new RegExp("^(?:"+booleans+")$","i"), 1179needsContext:new RegExp("^"+whitespace+ 1180"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+ 1181"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i") 1182}, 1183rinputs=/^(?:input|select|textarea|button)$/i, 1184rheader=/^h\d$/i, 1185rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, 1186rsibling=/[+~]/, 1187runescape=new RegExp("\\\\[\\da-fA-F]{1,6}"+whitespace+ 1188"?|\\\\([^\\r\\n\\f])","g"), 1189funescape=function(escape,nonHex){ 1190var high="0x"+escape.slice(1)-0x10000; 1191if(nonHex){ 1192return nonHex; 1193} 1194return high<0? 1195String.fromCharCode(high+0x10000): 1196String.fromCharCode(high>>10|0xD800,high&0x3FF|0xDC00); 1197}, 1198unloadHandler=function(){ 1199setDocument(); 1200}, 1201inDisabledFieldset=addCombinator( 1202function(elem){ 1203return elem.disabled===true&&nodeName(elem,"fieldset"); 1204}, 1205{dir:"parentNode",next:"legend"} 1206); 1207function safeActiveElement(){ 1208try{ 1209return document.activeElement; 1210}catch(err){} 1211} 1212try{ 1213push.apply( 1214(arr=slice.call(preferredDoc.childNodes)), 1215preferredDoc.childNodes 1216); 1217arr[preferredDoc.childNodes.length].nodeType; 1218}catch(e){ 1219push={ 1220apply:function(target,els){ 1221pushNative.apply(target,slice.call(els)); 1222}, 1223call:function(target){ 1224pushNative.apply(target,slice.call(arguments,1)); 1225} 1226}; 1227} 1228function find(selector,context,results,seed){ 1229var m,i,elem,nid,match,groups,newSelector, 1230newContext=context&&context.ownerDocument, 1231nodeType=context?context.nodeType:9; 1232results=results||[]; 1233if(typeof selector!=="string"||!selector|| 1234nodeType!==1&&nodeType!==9&&nodeType!==11){ 1235return results; 1236} 1237if(!seed){ 1238setDocument(context); 1239context=context||document; 1240if(documentIsHTML){ 1241if(nodeType!==11&&(match=rquickExpr.exec(selector))){ 1242if((m=match[1])){ 1243if(nodeType===9){ 1244if((elem=context.getElementById(m))){ 1245if(elem.id===m){ 1246push.call(results,elem); 1247return results; 1248} 1249}else{ 1250return results; 1251} 1252}else{ 1253if(newContext&&(elem=newContext.getElementById(m))&& 1254find.contains(context,elem)&& 1255elem.id===m){ 1256push.call(results,elem); 1257return results; 1258} 1259} 1260}else if(match[2]){ 1261push.apply(results,context.getElementsByTagName(selector)); 1262return results; 1263}else if((m=match[3])&&context.getElementsByClassName){ 1264push.apply(results,context.getElementsByClassName(m)); 1265return results; 1266} 1267} 1268if(!nonnativeSelectorCache[selector+" "]&& 1269(!rbuggyQSA||!rbuggyQSA.test(selector))){ 1270newSelector=selector; 1271newContext=context; 1272if(nodeType===1&& 1273(rdescend.test(selector)||rleadingCombinator.test(selector))){ 1274newContext=rsibling.test(selector)&&testContext(context.parentNode)|| 1275context; 1276if(newContext!=context||!support.scope){ 1277if((nid=context.getAttribute("id"))){ 1278nid=jQuery.escapeSelector(nid); 1279}else{ 1280context.setAttribute("id",(nid=expando)); 1281} 1282} 1283groups=tokenize(selector); 1284i=groups.length; 1285while(i--){ 1286groups[i]=(nid?"#"+nid:":scope")+" "+ 1287toSelector(groups[i]); 1288} 1289newSelector=groups.join(","); 1290} 1291try{ 1292push.apply(results, 1293newContext.querySelectorAll(newSelector) 1294); 1295return results; 1296}catch(qsaError){ 1297nonnativeSelectorCache(selector,true); 1298}finally{ 1299if(nid===expando){ 1300context.removeAttribute("id"); 1301} 1302} 1303} 1304} 1305} 1306return select(selector.replace(rtrimCSS,"$1"),context,results,seed); 1307} 1308function createCache(){ 1309var keys=[]; 1310function cache(key,value){ 1311if(keys.push(key+" ")>Expr.cacheLength){ 1312delete cache[keys.shift()]; 1313} 1314return(cache[key+" "]=value); 1315} 1316return cache; 1317} 1318function markFunction(fn){ 1319fn[expando]=true; 1320return fn; 1321} 1322function assert(fn){ 1323var el=document.createElement("fieldset"); 1324try{ 1325return!!fn(el); 1326}catch(e){ 1327return false; 1328}finally{ 1329if(el.parentNode){ 1330el.parentNode.removeChild(el); 1331} 1332el=null; 1333} 1334} 1335function createInputPseudo(type){ 1336return function(elem){ 1337return nodeName(elem,"input")&&elem.type===type; 1338}; 1339} 1340function createButtonPseudo(type){ 1341return function(elem){ 1342return(nodeName(elem,"input")||nodeName(elem,"button"))&& 1343elem.type===type; 1344}; 1345} 1346function createDisabledPseudo(disabled){ 1347return function(elem){ 1348if("form"in elem){ 1349if(elem.parentNode&&elem.disabled===false){ 1350if("label"in elem){ 1351if("label"in elem.parentNode){ 1352return elem.parentNode.disabled===disabled; 1353}else{ 1354return elem.disabled===disabled; 1355} 1356} 1357return elem.isDisabled===disabled|| 1358elem.isDisabled!==!disabled&& 1359inDisabledFieldset(elem)===disabled; 1360} 1361return elem.disabled===disabled; 1362}else if("label"in elem){ 1363return elem.disabled===disabled; 1364} 1365return false; 1366}; 1367} 1368function createPositionalPseudo(fn){ 1369return markFunction(function(argument){ 1370argument=+argument; 1371return markFunction(function(seed,matches){ 1372var j, 1373matchIndexes=fn([],seed.length,argument), 1374i=matchIndexes.length; 1375while(i--){ 1376if(seed[(j=matchIndexes[i])]){ 1377seed[j]=!(matches[j]=seed[j]); 1378} 1379} 1380}); 1381}); 1382} 1383function testContext(context){ 1384return context&&typeof context.getElementsByTagName!=="undefined"&&context; 1385} 1386function setDocument(node){ 1387var subWindow, 1388doc=node?node.ownerDocument||node:preferredDoc; 1389if(doc==document||doc.nodeType!==9||!doc.documentElement){ 1390return document; 1391} 1392document=doc; 1393documentElement=document.documentElement; 1394documentIsHTML=!jQuery.isXMLDoc(document); 1395matches=documentElement.matches|| 1396documentElement.webkitMatchesSelector|| 1397documentElement.msMatchesSelector; 1398if(documentElement.msMatchesSelector&& 1399preferredDoc!=document&& 1400(subWindow=document.defaultView)&&subWindow.top!==subWindow){ 1401subWindow.addEventListener("unload",unloadHandler); 1402} 1403support.getById=assert(function(el){ 1404documentElement.appendChild(el).id=jQuery.expando; 1405return!document.getElementsByName|| 1406!document.getElementsByName(jQuery.expando).length; 1407}); 1408support.disconnectedMatch=assert(function(el){ 1409return matches.call(el,"*"); 1410}); 1411support.scope=assert(function(){ 1412return document.querySelectorAll(":scope"); 1413}); 1414support.cssHas=assert(function(){ 1415try{ 1416document.querySelector(":has(*,:jqfake)"); 1417return false; 1418}catch(e){ 1419return true; 1420} 1421}); 1422if(support.getById){ 1423Expr.filter.ID=function(id){ 1424var attrId=id.replace(runescape,funescape); 1425return function(elem){ 1426return elem.getAttribute("id")===attrId; 1427}; 1428}; 1429Expr.find.ID=function(id,context){ 1430if(typeof context.getElementById!=="undefined"&&documentIsHTML){ 1431var elem=context.getElementById(id); 1432return elem?[elem]:[]; 1433} 1434}; 1435}else{ 1436Expr.filter.ID=function(id){ 1437var attrId=id.replace(runescape,funescape); 1438return function(elem){ 1439var node=typeof elem.getAttributeNode!=="undefined"&& 1440elem.getAttributeNode("id"); 1441return node&&node.value===attrId; 1442}; 1443}; 1444Expr.find.ID=function(id,context){ 1445if(typeof context.getElementById!=="undefined"&&documentIsHTML){ 1446var node,i,elems, 1447elem=context.getElementById(id); 1448if(elem){ 1449node=elem.getAttributeNode("id"); 1450if(node&&node.value===id){ 1451return[elem]; 1452} 1453elems=context.getElementsByName(id); 1454i=0; 1455while((elem=elems[i++])){ 1456node=elem.getAttributeNode("id"); 1457if(node&&node.value===id){ 1458return[elem]; 1459} 1460} 1461} 1462return[]; 1463} 1464}; 1465} 1466Expr.find.TAG=function(tag,context){ 1467if(typeof context.getElementsByTagName!=="undefined"){ 1468return context.getElementsByTagName(tag); 1469}else{ 1470return context.querySelectorAll(tag); 1471} 1472}; 1473Expr.find.CLASS=function(className,context){ 1474if(typeof context.getElementsByClassName!=="undefined"&&documentIsHTML){ 1475return context.getElementsByClassName(className); 1476} 1477}; 1478rbuggyQSA=[]; 1479assert(function(el){ 1480var input; 1481documentElement.appendChild(el).innerHTML= 1482"<a id='"+expando+"' href='' disabled='disabled'></a>"+ 1483"<select id='"+expando+"-\r\\' disabled='disabled'>"+ 1484"<option selected=''></option></select>"; 1485if(!el.querySelectorAll("[selected]").length){ 1486rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")"); 1487} 1488if(!el.querySelectorAll("[id~="+expando+"-]").length){ 1489rbuggyQSA.push("~="); 1490} 1491if(!el.querySelectorAll("a#"+expando+"+*").length){ 1492rbuggyQSA.push(".#.+[+~]"); 1493} 1494if(!el.querySelectorAll(":checked").length){ 1495rbuggyQSA.push(":checked"); 1496} 1497input=document.createElement("input"); 1498input.setAttribute("type","hidden"); 1499el.appendChild(input).setAttribute("name","D"); 1500documentElement.appendChild(el).disabled=true; 1501if(el.querySelectorAll(":disabled").length!==2){ 1502rbuggyQSA.push(":enabled",":disabled"); 1503} 1504input=document.createElement("input"); 1505input.setAttribute("name",""); 1506el.appendChild(input); 1507if(!el.querySelectorAll("[name='']").length){ 1508rbuggyQSA.push("\\["+whitespace+"*name"+whitespace+"*="+ 1509whitespace+"*(?:''|\"\")"); 1510} 1511}); 1512if(!support.cssHas){ 1513rbuggyQSA.push(":has"); 1514} 1515rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|")); 1516sortOrder=function(a,b){ 1517if(a===b){ 1518hasDuplicate=true; 1519return 0; 1520} 1521var compare=!a.compareDocumentPosition-!b.compareDocumentPosition; 1522if(compare){ 1523return compare; 1524} 1525compare=(a.ownerDocument||a)==(b.ownerDocument||b)? 1526a.compareDocumentPosition(b): 15271; 1528if(compare&1|| 1529(!support.sortDetached&&b.compareDocumentPosition(a)===compare)){ 1530if(a===document||a.ownerDocument==preferredDoc&& 1531find.contains(preferredDoc,a)){ 1532return-1; 1533} 1534if(b===document||b.ownerDocument==preferredDoc&& 1535find.contains(preferredDoc,b)){ 1536return 1; 1537} 1538return sortInput? 1539(indexOf.call(sortInput,a)-indexOf.call(sortInput,b)): 15400; 1541} 1542return compare&4?-1:1; 1543}; 1544return document; 1545} 1546find.matches=function(expr,elements){ 1547return find(expr,null,null,elements); 1548}; 1549find.matchesSelector=function(elem,expr){ 1550setDocument(elem); 1551if(documentIsHTML&& 1552!nonnativeSelectorCache[expr+" "]&& 1553(!rbuggyQSA||!rbuggyQSA.test(expr))){ 1554try{ 1555var ret=matches.call(elem,expr); 1556if(ret||support.disconnectedMatch|| 1557elem.document&&elem.document.nodeType!==11){ 1558return ret; 1559} 1560}catch(e){ 1561nonnativeSelectorCache(expr,true); 1562} 1563} 1564return find(expr,document,null,[elem]).length>0; 1565}; 1566find.contains=function(context,elem){ 1567if((context.ownerDocument||context)!=document){ 1568setDocument(context); 1569} 1570return jQuery.contains(context,elem); 1571}; 1572find.attr=function(elem,name){ 1573if((elem.ownerDocument||elem)!=document){ 1574setDocument(elem); 1575} 1576var fn=Expr.attrHandle[name.toLowerCase()], 1577val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())? 1578fn(elem,name,!documentIsHTML): 1579undefined; 1580if(val!==undefined){ 1581return val; 1582} 1583return elem.getAttribute(name); 1584}; 1585find.error=function(msg){ 1586throw new Error("Syntax error, unrecognized expression: "+msg); 1587}; 1588jQuery.uniqueSort=function(results){ 1589var elem, 1590duplicates=[], 1591j=0, 1592i=0; 1593hasDuplicate=!support.sortStable; 1594sortInput=!support.sortStable&&slice.call(results,0); 1595sort.call(results,sortOrder); 1596if(hasDuplicate){ 1597while((elem=results[i++])){ 1598if(elem===results[i]){ 1599j=duplicates.push(i); 1600} 1601} 1602while(j--){ 1603splice.call(results,duplicates[j],1); 1604} 1605} 1606sortInput=null; 1607return results; 1608}; 1609jQuery.fn.uniqueSort=function(){ 1610return this.pushStack(jQuery.uniqueSort(slice.apply(this))); 1611}; 1612Expr=jQuery.expr={ 1613cacheLength:50, 1614createPseudo:markFunction, 1615match:matchExpr, 1616attrHandle:{}, 1617find:{}, 1618relative:{ 1619">":{dir:"parentNode",first:true}, 1620" ":{dir:"parentNode"}, 1621"+":{dir:"previousSibling",first:true}, 1622"~":{dir:"previousSibling"} 1623}, 1624preFilter:{ 1625ATTR:function(match){ 1626match[1]=match[1].replace(runescape,funescape); 1627match[3]=(match[3]||match[4]||match[5]||"") 1628.replace(runescape,funescape); 1629if(match[2]==="~="){ 1630match[3]=" "+match[3]+" "; 1631} 1632return match.slice(0,4); 1633}, 1634CHILD:function(match){ 1635match[1]=match[1].toLowerCase(); 1636if(match[1].slice(0,3)==="nth"){ 1637if(!match[3]){ 1638find.error(match[0]); 1639} 1640match[4]=+(match[4]? 1641match[5]+(match[6]||1): 16422*(match[3]==="even"||match[3]==="odd") 1643); 1644match[5]=+((match[7]+match[8])||match[3]==="odd"); 1645}else if(match[3]){ 1646find.error(match[0]); 1647} 1648return match; 1649}, 1650PSEUDO:function(match){ 1651var excess, 1652unquoted=!match[6]&&match[2]; 1653if(matchExpr.CHILD.test(match[0])){ 1654return null; 1655} 1656if(match[3]){ 1657match[2]=match[4]||match[5]||""; 1658}else if(unquoted&&rpseudo.test(unquoted)&& 1659(excess=tokenize(unquoted,true))&& 1660(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){ 1661match[0]=match[0].slice(0,excess); 1662match[2]=unquoted.slice(0,excess); 1663} 1664return match.slice(0,3); 1665} 1666}, 1667filter:{ 1668TAG:function(nodeNameSelector){ 1669var expectedNodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase(); 1670return nodeNameSelector==="*"? 1671function(){ 1672return true; 1673}: 1674function(elem){ 1675return nodeName(elem,expectedNodeName); 1676}; 1677}, 1678CLASS:function(className){ 1679var pattern=classCache[className+" "]; 1680return pattern|| 1681(pattern=new RegExp("(^|"+whitespace+")"+className+ 1682"("+whitespace+"|$)"))&& 1683classCache(className,function(elem){ 1684return pattern.test( 1685typeof elem.className==="string"&&elem.className|| 1686typeof elem.getAttribute!=="undefined"&& 1687elem.getAttribute("class")|| 1688"" 1689); 1690}); 1691}, 1692ATTR:function(name,operator,check){ 1693return function(elem){ 1694var result=find.attr(elem,name); 1695if(result==null){ 1696return operator==="!="; 1697} 1698if(!operator){ 1699return true; 1700} 1701result+=""; 1702if(operator==="="){ 1703return result===check; 1704} 1705if(operator==="!="){ 1706return result!==check; 1707} 1708if(operator==="^="){ 1709return check&&result.indexOf(check)===0; 1710} 1711if(operator==="*="){ 1712return check&&result.indexOf(check)>-1; 1713} 1714if(operator==="$="){ 1715return check&&result.slice(-check.length)===check; 1716} 1717if(operator==="~="){ 1718return(" "+result.replace(rwhitespace," ")+" ") 1719.indexOf(check)>-1; 1720} 1721if(operator==="|="){ 1722return result===check||result.slice(0,check.length+1)===check+"-"; 1723} 1724return false; 1725}; 1726}, 1727CHILD:function(type,what,_argument,first,last){ 1728var simple=type.slice(0,3)!=="nth", 1729forward=type.slice(-4)!=="last", 1730ofType=what==="of-type"; 1731return first===1&&last===0? 1732function(elem){ 1733return!!elem.parentNode; 1734}: 1735function(elem,_context,xml){ 1736var cache,outerCache,node,nodeIndex,start, 1737dir=simple!==forward?"nextSibling":"previousSibling", 1738parent=elem.parentNode, 1739name=ofType&&elem.nodeName.toLowerCase(), 1740useCache=!xml&&!ofType, 1741diff=false; 1742if(parent){ 1743if(simple){ 1744while(dir){ 1745node=elem; 1746while((node=node[dir])){ 1747if(ofType? 1748nodeName(node,name): 1749node.nodeType===1){ 1750return false; 1751} 1752} 1753start=dir=type==="only"&&!start&&"nextSibling"; 1754} 1755return true; 1756} 1757start=[forward?parent.firstChild:parent.lastChild]; 1758if(forward&&useCache){ 1759outerCache=parent[expando]||(parent[expando]={}); 1760cache=outerCache[type]||[]; 1761nodeIndex=cache[0]===dirruns&&cache[1]; 1762diff=nodeIndex&&cache[2]; 1763node=nodeIndex&&parent.childNodes[nodeIndex]; 1764while((node=++nodeIndex&&node&&node[dir]|| 1765(diff=nodeIndex=0)||start.pop())){ 1766if(node.nodeType===1&&++diff&&node===elem){ 1767outerCache[type]=[dirruns,nodeIndex,diff]; 1768break; 1769} 1770} 1771}else{ 1772if(useCache){ 1773outerCache=elem[expando]||(elem[expando]={}); 1774cache=outerCache[type]||[]; 1775nodeIndex=cache[0]===dirruns&&cache[1]; 1776diff=nodeIndex; 1777} 1778if(diff===false){ 1779while((node=++nodeIndex&&node&&node[dir]|| 1780(diff=nodeIndex=0)||start.pop())){ 1781if((ofType? 1782nodeName(node,name): 1783node.nodeType===1)&& 1784++diff){ 1785if(useCache){ 1786outerCache=node[expando]|| 1787(node[expando]={}); 1788outerCache[type]=[dirruns,diff]; 1789} 1790if(node===elem){ 1791break; 1792} 1793} 1794} 1795} 1796} 1797diff-=last; 1798return diff===first||(diff%first===0&&diff/first>=0); 1799} 1800}; 1801}, 1802PSEUDO:function(pseudo,argument){ 1803var args, 1804fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]|| 1805find.error("unsupported pseudo: "+pseudo); 1806if(fn[expando]){ 1807return fn(argument); 1808} 1809if(fn.length>1){ 1810args=[pseudo,pseudo,"",argument]; 1811return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())? 1812markFunction(function(seed,matches){ 1813var idx, 1814matched=fn(seed,argument), 1815i=matched.length; 1816while(i--){ 1817idx=indexOf.call(seed,matched[i]); 1818seed[idx]=!(matches[idx]=matched[i]); 1819} 1820}): 1821function(elem){ 1822return fn(elem,0,args); 1823}; 1824} 1825return fn; 1826} 1827}, 1828pseudos:{ 1829not:markFunction(function(selector){ 1830var input=[], 1831results=[], 1832matcher=compile(selector.replace(rtrimCSS,"$1")); 1833return matcher[expando]? 1834markFunction(function(seed,matches,_context,xml){ 1835var elem, 1836unmatched=matcher(seed,null,xml,[]), 1837i=seed.length; 1838while(i--){ 1839if((elem=unmatched[i])){ 1840seed[i]=!(matches[i]=elem); 1841} 1842} 1843}): 1844function(elem,_context,xml){ 1845input[0]=elem; 1846matcher(input,null,xml,results); 1847input[0]=null; 1848return!results.pop(); 1849}; 1850}), 1851has:markFunction(function(selector){ 1852return function(elem){ 1853return find(selector,elem).length>0; 1854}; 1855}), 1856contains:markFunction(function(text){ 1857text=text.replace(runescape,funescape); 1858return function(elem){ 1859return(elem.textContent||jQuery.text(elem)).indexOf(text)>-1; 1860}; 1861}), 1862lang:markFunction(function(lang){ 1863if(!ridentifier.test(lang||"")){ 1864find.error("unsupported lang: "+lang); 1865} 1866lang=lang.replace(runescape,funescape).toLowerCase(); 1867return function(elem){ 1868var elemLang; 1869do{ 1870if((elemLang=documentIsHTML? 1871elem.lang: 1872elem.getAttribute("xml:lang")||elem.getAttribute("lang"))){ 1873elemLang=elemLang.toLowerCase(); 1874return elemLang===lang||elemLang.indexOf(lang+"-")===0; 1875} 1876}while((elem=elem.parentNode)&&elem.nodeType===1); 1877return false; 1878}; 1879}), 1880target:function(elem){ 1881var hash=window.location&&window.location.hash; 1882return hash&&hash.slice(1)===elem.id; 1883}, 1884root:function(elem){ 1885return elem===documentElement; 1886}, 1887focus:function(elem){ 1888return elem===safeActiveElement()&& 1889document.hasFocus()&& 1890!!(elem.type||elem.href||~elem.tabIndex); 1891}, 1892enabled:createDisabledPseudo(false), 1893disabled:createDisabledPseudo(true), 1894checked:function(elem){ 1895return(nodeName(elem,"input")&&!!elem.checked)|| 1896(nodeName(elem,"option")&&!!elem.selected); 1897}, 1898selected:function(elem){ 1899if(elem.parentNode){ 1900elem.parentNode.selectedIndex; 1901} 1902return elem.selected===true; 1903}, 1904empty:function(elem){ 1905for(elem=elem.firstChild;elem;elem=elem.nextSibling){ 1906if(elem.nodeType<6){ 1907return false; 1908} 1909} 1910return true; 1911}, 1912parent:function(elem){ 1913return!Expr.pseudos.empty(elem); 1914}, 1915header:function(elem){ 1916return rheader.test(elem.nodeName); 1917}, 1918input:function(elem){ 1919return rinputs.test(elem.nodeName); 1920}, 1921button:function(elem){ 1922return nodeName(elem,"input")&&elem.type==="button"|| 1923nodeName(elem,"button"); 1924}, 1925text:function(elem){ 1926var attr; 1927return nodeName(elem,"input")&&elem.type==="text"&& 1928((attr=elem.getAttribute("type"))==null|| 1929attr.toLowerCase()==="text"); 1930}, 1931first:createPositionalPseudo(function(){ 1932return[0]; 1933}), 1934last:createPositionalPseudo(function(_matchIndexes,length){ 1935return[length-1]; 1936}), 1937eq:createPositionalPseudo(function(_matchIndexes,length,argument){ 1938return[argument<0?argument+length:argument]; 1939}), 1940even:createPositionalPseudo(function(matchIndexes,length){ 1941var i=0; 1942for(;i<length;i+=2){ 1943matchIndexes.push(i); 1944} 1945return matchIndexes; 1946}), 1947odd:createPositionalPseudo(function(matchIndexes,length){ 1948var i=1; 1949for(;i<length;i+=2){ 1950matchIndexes.push(i); 1951} 1952return matchIndexes; 1953}), 1954lt:createPositionalPseudo(function(matchIndexes,length,argument){ 1955var i; 1956if(argument<0){ 1957i=argument+length; 1958}else if(argument>length){ 1959i=length; 1960}else{ 1961i=argument; 1962} 1963for(;--i>=0;){ 1964matchIndexes.push(i); 1965} 1966return matchIndexes; 1967}), 1968gt:createPositionalPseudo(function(matchIndexes,length,argument){ 1969var i=argument<0?argument+length:argument; 1970for(;++i<length;){ 1971matchIndexes.push(i); 1972} 1973return matchIndexes; 1974}) 1975} 1976}; 1977Expr.pseudos.nth=Expr.pseudos.eq; 1978for(i in{radio:true,checkbox:true,file:true,password:true,image:true}){ 1979Expr.pseudos[i]=createInputPseudo(i); 1980} 1981for(i in{submit:true,reset:true}){ 1982Expr.pseudos[i]=createButtonPseudo(i); 1983} 1984function setFilters(){} 1985setFilters.prototype=Expr.filters=Expr.pseudos; 1986Expr.setFilters=new setFilters(); 1987function tokenize(selector,parseOnly){ 1988var matched,match,tokens,type, 1989soFar,groups,preFilters, 1990cached=tokenCache[selector+" "]; 1991if(cached){ 1992return parseOnly?0:cached.slice(0); 1993} 1994soFar=selector; 1995groups=[]; 1996preFilters=Expr.preFilter; 1997while(soFar){ 1998if(!matched||(match=rcomma.exec(soFar))){ 1999if(match){ 2000soFar=soFar.slice(match[0].length)||soFar; 2001} 2002groups.push((tokens=[])); 2003} 2004matched=false; 2005if((match=rleadingCombinator.exec(soFar))){ 2006matched=match.shift(); 2007tokens.push({ 2008value:matched, 2009type:match[0].replace(rtrimCSS," ") 2010}); 2011soFar=soFar.slice(matched.length); 2012} 2013for(type in Expr.filter){ 2014if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]|| 2015(match=preFilters[type](match)))){ 2016matched=match.shift(); 2017tokens.push({ 2018value:matched, 2019type:type, 2020matches:match 2021}); 2022soFar=soFar.slice(matched.length); 2023} 2024} 2025if(!matched){ 2026break; 2027} 2028} 2029if(parseOnly){ 2030return soFar.length; 2031} 2032return soFar? 2033find.error(selector): 2034tokenCache(selector,groups).slice(0); 2035} 2036function toSelector(tokens){ 2037var i=0, 2038len=tokens.length, 2039selector=""; 2040for(;i<len;i++){ 2041selector+=tokens[i].value; 2042} 2043return selector; 2044} 2045function addCombinator(matcher,combinator,base){ 2046var dir=combinator.dir, 2047skip=combinator.next, 2048key=skip||dir, 2049checkNonElements=base&&key==="parentNode", 2050doneName=done++; 2051return combinator.first? 2052function(elem,context,xml){ 2053while((elem=elem[dir])){ 2054if(elem.nodeType===1||checkNonElements){ 2055return matcher(elem,context,xml); 2056} 2057} 2058return false; 2059}: 2060function(elem,context,xml){ 2061var oldCache,outerCache, 2062newCache=[dirruns,doneName]; 2063if(xml){ 2064while((elem=elem[dir])){ 2065if(elem.nodeType===1||checkNonElements){ 2066if(matcher(elem,context,xml)){ 2067return true; 2068} 2069} 2070} 2071}else{ 2072while((elem=elem[dir])){ 2073if(elem.nodeType===1||checkNonElements){ 2074outerCache=elem[expando]||(elem[expando]={}); 2075if(skip&&nodeName(elem,skip)){ 2076elem=elem[dir]||elem; 2077}else if((oldCache=outerCache[key])&& 2078oldCache[0]===dirruns&&oldCache[1]===doneName){ 2079return(newCache[2]=oldCache[2]); 2080}else{ 2081outerCache[key]=newCache; 2082if((newCache[2]=matcher(elem,context,xml))){ 2083return true; 2084} 2085} 2086} 2087} 2088} 2089return false; 2090}; 2091} 2092function elementMatcher(matchers){ 2093return matchers.length>1? 2094function(elem,context,xml){ 2095var i=matchers.length; 2096while(i--){ 2097if(!matchers[i](elem,context,xml)){ 2098return false; 2099} 2100} 2101return true; 2102}: 2103matchers[0]; 2104} 2105function multipleContexts(selector,contexts,results){ 2106var i=0, 2107len=contexts.length; 2108for(;i<len;i++){ 2109find(selector,contexts[i],results); 2110} 2111return results; 2112} 2113function condense(unmatched,map,filter,context,xml){ 2114var elem, 2115newUnmatched=[], 2116i=0, 2117len=unmatched.length, 2118mapped=map!=null; 2119for(;i<len;i++){ 2120if((elem=unmatched[i])){ 2121if(!filter||filter(elem,context,xml)){ 2122newUnmatched.push(elem); 2123if(mapped){ 2124map.push(i); 2125} 2126} 2127} 2128} 2129return newUnmatched; 2130} 2131function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){ 2132if(postFilter&&!postFilter[expando]){ 2133postFilter=setMatcher(postFilter); 2134} 2135if(postFinder&&!postFinder[expando]){ 2136postFinder=setMatcher(postFinder,postSelector); 2137} 2138return markFunction(function(seed,results,context,xml){ 2139var temp,i,elem,matcherOut, 2140preMap=[], 2141postMap=[], 2142preexisting=results.length, 2143elems=seed|| 2144multipleContexts(selector||"*", 2145context.nodeType?[context]:context,[]), 2146matcherIn=preFilter&&(seed||!selector)? 2147condense(elems,preMap,preFilter,context,xml): 2148elems; 2149if(matcher){ 2150matcherOut=postFinder||(seed?preFilter:preexisting||postFilter)? 2151[]: 2152results; 2153matcher(matcherIn,matcherOut,context,xml); 2154}else{ 2155matcherOut=matcherIn; 2156} 2157if(postFilter){ 2158temp=condense(matcherOut,postMap); 2159postFilter(temp,[],context,xml); 2160i=temp.length; 2161while(i--){ 2162if((elem=temp[i])){ 2163matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem); 2164} 2165} 2166} 2167if(seed){ 2168if(postFinder||preFilter){ 2169if(postFinder){ 2170temp=[]; 2171i=matcherOut.length; 2172while(i--){ 2173if((elem=matcherOut[i])){ 2174temp.push((matcherIn[i]=elem)); 2175} 2176} 2177postFinder(null,(matcherOut=[]),temp,xml); 2178} 2179i=matcherOut.length; 2180while(i--){ 2181if((elem=matcherOut[i])&& 2182(temp=postFinder?indexOf.call(seed,elem):preMap[i])>-1){ 2183seed[temp]=!(results[temp]=elem); 2184} 2185} 2186} 2187}else{ 2188matcherOut=condense( 2189matcherOut===results? 2190matcherOut.splice(preexisting,matcherOut.length): 2191matcherOut 2192); 2193if(postFinder){ 2194postFinder(null,results,matcherOut,xml); 2195}else{ 2196push.apply(results,matcherOut); 2197} 2198} 2199}); 2200} 2201function matcherFromTokens(tokens){ 2202var checkContext,matcher,j, 2203len=tokens.length, 2204leadingRelative=Expr.relative[tokens[0].type], 2205implicitRelative=leadingRelative||Expr.relative[" "], 2206i=leadingRelative?1:0, 2207matchContext=addCombinator(function(elem){ 2208return elem===checkContext; 2209},implicitRelative,true), 2210matchAnyContext=addCombinator(function(elem){ 2211return indexOf.call(checkContext,elem)>-1; 2212},implicitRelative,true), 2213matchers=[function(elem,context,xml){ 2214var ret=(!leadingRelative&&(xml||context!=outermostContext))||( 2215(checkContext=context).nodeType? 2216matchContext(elem,context,xml): 2217matchAnyContext(elem,context,xml)); 2218checkContext=null; 2219return ret; 2220}]; 2221for(;i<len;i++){ 2222if((matcher=Expr.relative[tokens[i].type])){ 2223matchers=[addCombinator(elementMatcher(matchers),matcher)]; 2224}else{ 2225matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches); 2226if(matcher[expando]){ 2227j=++i; 2228for(;j<len;j++){ 2229if(Expr.relative[tokens[j].type]){ 2230break; 2231} 2232} 2233return setMatcher( 2234i>1&&elementMatcher(matchers), 2235i>1&&toSelector( 2236tokens.slice(0,i-1) 2237.concat({value:tokens[i-2].type===" "?"*":""}) 2238).replace(rtrimCSS,"$1"), 2239matcher, 2240i<j&&matcherFromTokens(tokens.slice(i,j)), 2241j<len&&matcherFromTokens((tokens=tokens.slice(j))), 2242j<len&&toSelector(tokens) 2243); 2244} 2245matchers.push(matcher); 2246} 2247} 2248return elementMatcher(matchers); 2249} 2250function matcherFromGroupMatchers(elementMatchers,setMatchers){ 2251var bySet=setMatchers.length>0, 2252byElement=elementMatchers.length>0, 2253superMatcher=function(seed,context,xml,results,outermost){ 2254var elem,j,matcher, 2255matchedCount=0, 2256i="0", 2257unmatched=seed&&[], 2258setMatched=[], 2259contextBackup=outermostContext, 2260elems=seed||byElement&&Expr.find.TAG("*",outermost), 2261dirrunsUnique=(dirruns+=contextBackup==null?1:Math.random()||0.1), 2262len=elems.length; 2263if(outermost){ 2264outermostContext=context==document||context||outermost; 2265} 2266for(;i!==len&&(elem=elems[i])!=null;i++){ 2267if(byElement&&elem){ 2268j=0; 2269if(!context&&elem.ownerDocument!=document){ 2270setDocument(elem); 2271xml=!documentIsHTML; 2272} 2273while((matcher=elementMatchers[j++])){ 2274if(matcher(elem,context||document,xml)){ 2275push.call(results,elem); 2276break; 2277} 2278} 2279if(outermost){ 2280dirruns=dirrunsUnique; 2281} 2282} 2283if(bySet){ 2284if((elem=!matcher&&elem)){ 2285matchedCount--; 2286} 2287if(seed){ 2288unmatched.push(elem); 2289} 2290} 2291} 2292matchedCount+=i; 2293if(bySet&&i!==matchedCount){ 2294j=0; 2295while((matcher=setMatchers[j++])){ 2296matcher(unmatched,setMatched,context,xml); 2297} 2298if(seed){ 2299if(matchedCount>0){ 2300while(i--){ 2301if(!(unmatched[i]||setMatched[i])){ 2302setMatched[i]=pop.call(results); 2303} 2304} 2305} 2306setMatched=condense(setMatched); 2307} 2308push.apply(results,setMatched); 2309if(outermost&&!seed&&setMatched.length>0&& 2310(matchedCount+setMatchers.length)>1){ 2311jQuery.uniqueSort(results); 2312} 2313} 2314if(outermost){ 2315dirruns=dirrunsUnique; 2316outermostContext=contextBackup; 2317} 2318return unmatched; 2319}; 2320return bySet? 2321markFunction(superMatcher): 2322superMatcher; 2323} 2324function compile(selector,match){ 2325var i, 2326setMatchers=[], 2327elementMatchers=[], 2328cached=compilerCache[selector+" "]; 2329if(!cached){ 2330if(!match){ 2331match=tokenize(selector); 2332} 2333i=match.length; 2334while(i--){ 2335cached=matcherFromTokens(match[i]); 2336if(cached[expando]){ 2337setMatchers.push(cached); 2338}else{ 2339elementMatchers.push(cached); 2340} 2341} 2342cached=compilerCache(selector, 2343matcherFromGroupMatchers(elementMatchers,setMatchers)); 2344cached.selector=selector; 2345} 2346return cached; 2347} 2348function select(selector,context,results,seed){ 2349var i,tokens,token,type,find, 2350compiled=typeof selector==="function"&&selector, 2351match=!seed&&tokenize((selector=compiled.selector||selector)); 2352results=results||[]; 2353if(match.length===1){ 2354tokens=match[0]=match[0].slice(0); 2355if(tokens.length>2&&(token=tokens[0]).type==="ID"&& 2356context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){ 2357context=(Expr.find.ID( 2358token.matches[0].replace(runescape,funescape), 2359context 2360)||[])[0]; 2361if(!context){ 2362return results; 2363}else if(compiled){ 2364context=context.parentNode; 2365} 2366selector=selector.slice(tokens.shift().value.length); 2367} 2368i=matchExpr.needsContext.test(selector)?0:tokens.length; 2369while(i--){ 2370token=tokens[i]; 2371if(Expr.relative[(type=token.type)]){ 2372break; 2373} 2374if((find=Expr.find[type])){ 2375if((seed=find( 2376token.matches[0].replace(runescape,funescape), 2377rsibling.test(tokens[0].type)&& 2378testContext(context.parentNode)||context 2379))){ 2380tokens.splice(i,1); 2381selector=seed.length&&toSelector(tokens); 2382if(!selector){ 2383push.apply(results,seed); 2384return results; 2385} 2386break; 2387} 2388} 2389} 2390} 2391(compiled||compile(selector,match))( 2392seed, 2393context, 2394!documentIsHTML, 2395results, 2396!context||rsibling.test(selector)&&testContext(context.parentNode)||context 2397); 2398return results; 2399} 2400support.sortStable=expando.split("").sort(sortOrder).join("")===expando; 2401setDocument(); 2402support.sortDetached=assert(function(el){ 2403return el.compareDocumentPosition(document.createElement("fieldset"))&1; 2404}); 2405jQuery.find=find; 2406jQuery.expr[":"]=jQuery.expr.pseudos; 2407jQuery.unique=jQuery.uniqueSort; 2408find.compile=compile; 2409find.select=select; 2410find.setDocument=setDocument; 2411find.tokenize=tokenize; 2412find.escape=jQuery.escapeSelector; 2413find.getText=jQuery.text; 2414find.isXML=jQuery.isXMLDoc; 2415find.selectors=jQuery.expr; 2416find.support=jQuery.support; 2417find.uniqueSort=jQuery.uniqueSort; 2418})(); 2419var dir=function(elem,dir,until){ 2420var matched=[], 2421truncate=until!==undefined; 2422while((elem=elem[dir])&&elem.nodeType!==9){ 2423if(elem.nodeType===1){ 2424if(truncate&&jQuery(elem).is(until)){ 2425break; 2426} 2427matched.push(elem); 2428} 2429} 2430return matched; 2431}; 2432var siblings=function(n,elem){ 2433var matched=[]; 2434for(;n;n=n.nextSibling){ 2435if(n.nodeType===1&&n!==elem){ 2436matched.push(n); 2437} 2438} 2439return matched; 2440}; 2441var rneedsContext=jQuery.expr.match.needsContext; 2442var rsingleTag=(/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i); 2443function winnow(elements,qualifier,not){ 2444if(isFunction(qualifier)){ 2445return jQuery.grep(elements,function(elem,i){ 2446return!!qualifier.call(elem,i,elem)!==not; 2447}); 2448} 2449if(qualifier.nodeType){ 2450return jQuery.grep(elements,function(elem){ 2451return(elem===qualifier)!==not; 2452}); 2453} 2454if(typeof qualifier!=="string"){ 2455return jQuery.grep(elements,function(elem){ 2456return(indexOf.call(qualifier,elem)>-1)!==not; 2457}); 2458} 2459return jQuery.filter(qualifier,elements,not); 2460} 2461jQuery.filter=function(expr,elems,not){ 2462var elem=elems[0]; 2463if(not){ 2464expr=":not("+expr+")"; 2465} 2466if(elems.length===1&&elem.nodeType===1){ 2467return jQuery.find.matchesSelector(elem,expr)?[elem]:[]; 2468} 2469return jQuery.find.matches(expr,jQuery.grep(elems,function(elem){ 2470return elem.nodeType===1; 2471})); 2472}; 2473jQuery.fn.extend({ 2474find:function(selector){ 2475var i,ret, 2476len=this.length, 2477self=this; 2478if(typeof selector!=="string"){ 2479return this.pushStack(jQuery(selector).filter(function(){ 2480for(i=0;i<len;i++){ 2481if(jQuery.contains(self[i],this)){ 2482return true; 2483} 2484} 2485})); 2486} 2487ret=this.pushStack([]); 2488for(i=0;i<len;i++){ 2489jQuery.find(selector,self[i],ret); 2490} 2491return len>1?jQuery.uniqueSort(ret):ret; 2492}, 2493filter:function(selector){ 2494return this.pushStack(winnow(this,selector||[],false)); 2495}, 2496not:function(selector){ 2497return this.pushStack(winnow(this,selector||[],true)); 2498}, 2499is:function(selector){ 2500return!!winnow( 2501this, 2502typeof selector==="string"&&rneedsContext.test(selector)? 2503jQuery(selector): 2504selector||[], 2505false 2506).length; 2507} 2508}); 2509var rootjQuery, 2510rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, 2511init=jQuery.fn.init=function(selector,context,root){ 2512var match,elem; 2513if(!selector){ 2514return this; 2515} 2516root=root||rootjQuery; 2517if(typeof selector==="string"){ 2518if(selector[0]==="<"&& 2519selector[selector.length-1]===">"&& 2520selector.length>=3){ 2521match=[null,selector,null]; 2522}else{ 2523match=rquickExpr.exec(selector); 2524} 2525if(match&&(match[1]||!context)){ 2526if(match[1]){ 2527context=context instanceof jQuery?context[0]:context; 2528jQuery.merge(this,jQuery.parseHTML( 2529match[1], 2530context&&context.nodeType?context.ownerDocument||context:document, 2531true 2532)); 2533if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context)){ 2534for(match in context){ 2535if(isFunction(this[match])){ 2536this[match](context[match]); 2537}else{ 2538this.attr(match,context[match]); 2539} 2540} 2541} 2542return this; 2543}else{ 2544elem=document.getElementById(match[2]); 2545if(elem){ 2546this[0]=elem; 2547this.length=1; 2548} 2549return this; 2550} 2551}else if(!context||context.jquery){ 2552return(context||root).find(selector); 2553}else{ 2554return this.constructor(context).find(selector); 2555} 2556}else if(selector.nodeType){ 2557this[0]=selector; 2558this.length=1; 2559return this; 2560}else if(isFunction(selector)){ 2561return root.ready!==undefined? 2562root.ready(selector): 2563selector(jQuery); 2564} 2565return jQuery.makeArray(selector,this); 2566}; 2567init.prototype=jQuery.fn; 2568rootjQuery=jQuery(document); 2569var rparentsprev=/^(?:parents|prev(?:Until|All))/, 2570guaranteedUnique={ 2571children:true, 2572contents:true, 2573next:true, 2574prev:true 2575}; 2576jQuery.fn.extend({ 2577has:function(target){ 2578var targets=jQuery(target,this), 2579l=targets.length; 2580return this.filter(function(){ 2581var i=0; 2582for(;i<l;i++){ 2583if(jQuery.contains(this,targets[i])){ 2584return true; 2585} 2586} 2587}); 2588}, 2589closest:function(selectors,context){ 2590var cur, 2591i=0, 2592l=this.length, 2593matched=[], 2594targets=typeof selectors!=="string"&&jQuery(selectors); 2595if(!rneedsContext.test(selectors)){ 2596for(;i<l;i++){ 2597for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){ 2598if(cur.nodeType<11&&(targets? 2599targets.index(cur)>-1: 2600cur.nodeType===1&& 2601jQuery.find.matchesSelector(cur,selectors))){ 2602matched.push(cur); 2603break; 2604} 2605} 2606} 2607} 2608return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched); 2609}, 2610index:function(elem){ 2611if(!elem){ 2612return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1; 2613} 2614if(typeof elem==="string"){ 2615return indexOf.call(jQuery(elem),this[0]); 2616} 2617return indexOf.call(this, 2618elem.jquery?elem[0]:elem 2619); 2620}, 2621add:function(selector,context){ 2622return this.pushStack( 2623jQuery.uniqueSort( 2624jQuery.merge(this.get(),jQuery(selector,context)) 2625) 2626); 2627}, 2628addBack:function(selector){ 2629return this.add(selector==null? 2630this.prevObject:this.prevObject.filter(selector) 2631); 2632} 2633}); 2634function sibling(cur,dir){ 2635while((cur=cur[dir])&&cur.nodeType!==1){} 2636return cur; 2637} 2638jQuery.each({ 2639parent:function(elem){ 2640var parent=elem.parentNode; 2641return parent&&parent.nodeType!==11?parent:null; 2642}, 2643parents:function(elem){ 2644return dir(elem,"parentNode"); 2645}, 2646parentsUntil:function(elem,_i,until){ 2647return dir(elem,"parentNode",until); 2648}, 2649next:function(elem){ 2650return sibling(elem,"nextSibling"); 2651}, 2652prev:function(elem){ 2653return sibling(elem,"previousSibling"); 2654}, 2655nextAll:function(elem){ 2656return dir(elem,"nextSibling"); 2657}, 2658prevAll:function(elem){ 2659return dir(elem,"previousSibling"); 2660}, 2661nextUntil:function(elem,_i,until){ 2662return dir(elem,"nextSibling",until); 2663}, 2664prevUntil:function(elem,_i,until){ 2665return dir(elem,"previousSibling",until); 2666}, 2667siblings:function(elem){ 2668return siblings((elem.parentNode||{}).firstChild,elem); 2669}, 2670children:function(elem){ 2671return siblings(elem.firstChild); 2672}, 2673contents:function(elem){ 2674if(elem.contentDocument!=null&& 2675getProto(elem.contentDocument)){ 2676return elem.contentDocument; 2677} 2678if(nodeName(elem,"template")){ 2679elem=elem.content||elem; 2680} 2681return jQuery.merge([],elem.childNodes); 2682} 2683},function(name,fn){ 2684jQuery.fn[name]=function(until,selector){ 2685var matched=jQuery.map(this,fn,until); 2686if(name.slice(-5)!=="Until"){ 2687selector=until; 2688} 2689if(selector&&typeof selector==="string"){ 2690matched=jQuery.filter(selector,matched); 2691} 2692if(this.length>1){ 2693if(!guaranteedUnique[name]){ 2694jQuery.uniqueSort(matched); 2695} 2696if(rparentsprev.test(name)){ 2697matched.reverse(); 2698} 2699} 2700return this.pushStack(matched); 2701}; 2702}); 2703var rnothtmlwhite=(/[^\x20\t\r\n\f]+/g); 2704function createOptions(options){ 2705var object={}; 2706jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){ 2707object[flag]=true; 2708}); 2709return object; 2710} 2711jQuery.Callbacks=function(options){ 2712options=typeof options==="string"? 2713createOptions(options): 2714jQuery.extend({},options); 2715var 2716firing, 2717memory, 2718fired, 2719locked, 2720list=[], 2721queue=[], 2722firingIndex=-1, 2723fire=function(){ 2724locked=locked||options.once; 2725fired=firing=true; 2726for(;queue.length;firingIndex=-1){ 2727memory=queue.shift(); 2728while(++firingIndex<list.length){ 2729if(list[firingIndex].apply(memory[0],memory[1])===false&& 2730options.stopOnFalse){ 2731firingIndex=list.length; 2732memory=false; 2733} 2734} 2735} 2736if(!options.memory){ 2737memory=false; 2738} 2739firing=false; 2740if(locked){ 2741if(memory){ 2742list=[]; 2743}else{ 2744list=""; 2745} 2746} 2747}, 2748self={ 2749add:function(){ 2750if(list){ 2751if(memory&&!firing){ 2752firingIndex=list.length-1; 2753queue.push(memory); 2754} 2755(function add(args){ 2756jQuery.each(args,function(_,arg){ 2757if(isFunction(arg)){ 2758if(!options.unique||!self.has(arg)){ 2759list.push(arg); 2760} 2761}else if(arg&&arg.length&&toType(arg)!=="string"){ 2762add(arg); 2763} 2764}); 2765})(arguments); 2766if(memory&&!firing){ 2767fire(); 2768} 2769} 2770return this; 2771}, 2772remove:function(){ 2773jQuery.each(arguments,function(_,arg){ 2774var index; 2775while((index=jQuery.inArray(arg,list,index))>-1){ 2776list.splice(index,1); 2777if(index<=firingIndex){ 2778firingIndex--; 2779} 2780} 2781}); 2782return this; 2783}, 2784has:function(fn){ 2785return fn? 2786jQuery.inArray(fn,list)>-1: 2787list.length>0; 2788}, 2789empty:function(){ 2790if(list){ 2791list=[]; 2792} 2793return this; 2794}, 2795disable:function(){ 2796locked=queue=[]; 2797list=memory=""; 2798return this; 2799}, 2800disabled:function(){ 2801return!list; 2802}, 2803lock:function(){ 2804locked=queue=[]; 2805if(!memory&&!firing){ 2806list=memory=""; 2807} 2808return this; 2809}, 2810locked:function(){ 2811return!!locked; 2812}, 2813fireWith:function(context,args){ 2814if(!locked){ 2815args=args||[]; 2816args=[context,args.slice?args.slice():args]; 2817queue.push(args); 2818if(!firing){ 2819fire(); 2820} 2821} 2822return this; 2823}, 2824fire:function(){ 2825self.fireWith(this,arguments); 2826return this; 2827}, 2828fired:function(){ 2829return!!fired; 2830} 2831}; 2832return self; 2833}; 2834function Identity(v){ 2835return v; 2836} 2837function Thrower(ex){ 2838throw ex; 2839} 2840function adoptValue(value,resolve,reject,noValue){ 2841var method; 2842try{ 2843if(value&&isFunction((method=value.promise))){ 2844method.call(value).done(resolve).fail(reject); 2845}else if(value&&isFunction((method=value.then))){ 2846method.call(value,resolve,reject); 2847}else{ 2848resolve.apply(undefined,[value].slice(noValue)); 2849} 2850}catch(value){ 2851reject.apply(undefined,[value]); 2852} 2853} 2854jQuery.extend({ 2855Deferred:function(func){ 2856var tuples=[ 2857["notify","progress",jQuery.Callbacks("memory"), 2858jQuery.Callbacks("memory"),2], 2859["resolve","done",jQuery.Callbacks("once memory"), 2860jQuery.Callbacks("once memory"),0,"resolved"], 2861["reject","fail",jQuery.Callbacks("once memory"), 2862jQuery.Callbacks("once memory"),1,"rejected"] 2863], 2864state="pending", 2865promise={ 2866state:function(){ 2867return state; 2868}, 2869always:function(){ 2870deferred.done(arguments).fail(arguments); 2871return this; 2872}, 2873"catch":function(fn){ 2874return promise.then(null,fn); 2875}, 2876pipe:function(){ 2877var fns=arguments; 2878return jQuery.Deferred(function(newDefer){ 2879jQuery.each(tuples,function(_i,tuple){ 2880var fn=isFunction(fns[tuple[4]])&&fns[tuple[4]]; 2881deferred[tuple[1]](function(){ 2882var returned=fn&&fn.apply(this,arguments); 2883if(returned&&isFunction(returned.promise)){ 2884returned.promise() 2885.progress(newDefer.notify) 2886.done(newDefer.resolve) 2887.fail(newDefer.reject); 2888}else{ 2889newDefer[tuple[0]+"With"]( 2890this, 2891fn?[returned]:arguments 2892); 2893} 2894}); 2895}); 2896fns=null; 2897}).promise(); 2898}, 2899then:function(onFulfilled,onRejected,onProgress){ 2900var maxDepth=0; 2901function resolve(depth,deferred,handler,special){ 2902return function(){ 2903var that=this, 2904args=arguments, 2905mightThrow=function(){ 2906var returned,then; 2907if(depth<maxDepth){ 2908return; 2909} 2910returned=handler.apply(that,args); 2911if(returned===deferred.promise()){ 2912throw new TypeError("Thenable self-resolution"); 2913} 2914then=returned&& 2915(typeof returned==="object"|| 2916typeof returned==="function")&& 2917returned.then; 2918if(isFunction(then)){ 2919if(special){ 2920then.call( 2921returned, 2922resolve(maxDepth,deferred,Identity,special), 2923resolve(maxDepth,deferred,Thrower,special) 2924); 2925}else{ 2926maxDepth++; 2927then.call( 2928returned, 2929resolve(maxDepth,deferred,Identity,special), 2930resolve(maxDepth,deferred,Thrower,special), 2931resolve(maxDepth,deferred,Identity, 2932deferred.notifyWith) 2933); 2934} 2935}else{ 2936if(handler!==Identity){ 2937that=undefined; 2938args=[returned]; 2939} 2940(special||deferred.resolveWith)(that,args); 2941} 2942}, 2943process=special? 2944mightThrow: 2945function(){ 2946try{ 2947mightThrow(); 2948}catch(e){ 2949if(jQuery.Deferred.exceptionHook){ 2950jQuery.Deferred.exceptionHook(e, 2951process.error); 2952} 2953if(depth+1>=maxDepth){ 2954if(handler!==Thrower){ 2955that=undefined; 2956args=[e]; 2957} 2958deferred.rejectWith(that,args); 2959} 2960} 2961}; 2962if(depth){ 2963process(); 2964}else{ 2965if(jQuery.Deferred.getErrorHook){ 2966process.error=jQuery.Deferred.getErrorHook(); 2967}else if(jQuery.Deferred.getStackHook){ 2968process.error=jQuery.Deferred.getStackHook(); 2969} 2970window.setTimeout(process); 2971} 2972}; 2973} 2974return jQuery.Deferred(function(newDefer){ 2975tuples[0][3].add( 2976resolve( 29770, 2978newDefer, 2979isFunction(onProgress)? 2980onProgress: 2981Identity, 2982newDefer.notifyWith 2983) 2984); 2985tuples[1][3].add( 2986resolve( 29870, 2988newDefer, 2989isFunction(onFulfilled)? 2990onFulfilled: 2991Identity 2992) 2993); 2994tuples[2][3].add( 2995resolve( 29960, 2997newDefer, 2998isFunction(onRejected)? 2999onRejected: 3000Thrower 3001) 3002); 3003}).promise(); 3004}, 3005promise:function(obj){ 3006return obj!=null?jQuery.extend(obj,promise):promise; 3007} 3008}, 3009deferred={}; 3010jQuery.each(tuples,function(i,tuple){ 3011var list=tuple[2], 3012stateString=tuple[5]; 3013promise[tuple[1]]=list.add; 3014if(stateString){ 3015list.add( 3016function(){ 3017state=stateString; 3018}, 3019tuples[3-i][2].disable, 3020tuples[3-i][3].disable, 3021tuples[0][2].lock, 3022tuples[0][3].lock 3023); 3024} 3025list.add(tuple[3].fire); 3026deferred[tuple[0]]=function(){ 3027deferred[tuple[0]+"With"](this===deferred?undefined:this,arguments); 3028return this; 3029}; 3030deferred[tuple[0]+"With"]=list.fireWith; 3031}); 3032promise.promise(deferred); 3033if(func){ 3034func.call(deferred,deferred); 3035} 3036return deferred; 3037}, 3038when:function(singleValue){ 3039var 3040remaining=arguments.length, 3041i=remaining, 3042resolveContexts=Array(i), 3043resolveValues=slice.call(arguments), 3044primary=jQuery.Deferred(), 3045updateFunc=function(i){ 3046return function(value){ 3047resolveContexts[i]=this; 3048resolveValues[i]=arguments.length>1?slice.call(arguments):value; 3049if(!(--remaining)){ 3050primary.resolveWith(resolveContexts,resolveValues); 3051} 3052}; 3053}; 3054if(remaining<=1){ 3055adoptValue(singleValue,primary.done(updateFunc(i)).resolve,primary.reject, 3056!remaining); 3057if(primary.state()==="pending"|| 3058isFunction(resolveValues[i]&&resolveValues[i].then)){ 3059return primary.then(); 3060} 3061} 3062while(i--){ 3063adoptValue(resolveValues[i],updateFunc(i),primary.reject); 3064} 3065return primary.promise(); 3066} 3067}); 3068var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; 3069jQuery.Deferred.exceptionHook=function(error,asyncError){ 3070if(window.console&&window.console.warn&&error&&rerrorNames.test(error.name)){ 3071window.console.warn("jQuery.Deferred exception: "+error.message, 3072error.stack,asyncError); 3073} 3074}; 3075jQuery.readyException=function(error){ 3076window.setTimeout(function(){ 3077throw error; 3078}); 3079}; 3080var readyList=jQuery.Deferred(); 3081jQuery.fn.ready=function(fn){ 3082readyList 3083.then(fn) 3084.catch(function(error){ 3085jQuery.readyException(error); 3086}); 3087return this; 3088}; 3089jQuery.extend({ 3090isReady:false, 3091readyWait:1, 3092ready:function(wait){ 3093if(wait===true?--jQuery.readyWait:jQuery.isReady){ 3094return; 3095} 3096jQuery.isReady=true; 3097if(wait!==true&&--jQuery.readyWait>0){ 3098return; 3099} 3100readyList.resolveWith(document,[jQuery]); 3101} 3102}); 3103jQuery.ready.then=readyList.then; 3104function completed(){ 3105document.removeEventListener("DOMContentLoaded",completed); 3106window.removeEventListener("load",completed); 3107jQuery.ready(); 3108} 3109if(document.readyState==="complete"|| 3110(document.readyState!=="loading"&&!document.documentElement.doScroll)){ 3111window.setTimeout(jQuery.ready); 3112}else{ 3113document.addEventListener("DOMContentLoaded",completed); 3114window.addEventListener("load",completed); 3115} 3116var access=function(elems,fn,key,value,chainable,emptyGet,raw){ 3117var i=0, 3118len=elems.length, 3119bulk=key==null; 3120if(toType(key)==="object"){ 3121chainable=true; 3122for(i in key){ 3123access(elems,fn,i,key[i],true,emptyGet,raw); 3124} 3125}else if(value!==undefined){ 3126chainable=true; 3127if(!isFunction(value)){ 3128raw=true; 3129} 3130if(bulk){ 3131if(raw){ 3132fn.call(elems,value); 3133fn=null; 3134}else{ 3135bulk=fn; 3136fn=function(elem,_key,value){ 3137return bulk.call(jQuery(elem),value); 3138}; 3139} 3140} 3141if(fn){ 3142for(;i<len;i++){ 3143fn( 3144elems[i],key,raw? 3145value: 3146value.call(elems[i],i,fn(elems[i],key)) 3147); 3148} 3149} 3150} 3151if(chainable){ 3152return elems; 3153} 3154if(bulk){ 3155return fn.call(elems); 3156} 3157return len?fn(elems[0],key):emptyGet; 3158}; 3159var rmsPrefix=/^-ms-/, 3160rdashAlpha=/-([a-z])/g; 3161function fcamelCase(_all,letter){ 3162return letter.toUpperCase(); 3163} 3164function camelCase(string){ 3165return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase); 3166} 3167var acceptData=function(owner){ 3168return owner.nodeType===1||owner.nodeType===9||!(+owner.nodeType); 3169}; 3170function Data(){ 3171this.expando=jQuery.expando+Data.uid++; 3172} 3173Data.uid=1; 3174Data.prototype={ 3175cache:function(owner){ 3176var value=owner[this.expando]; 3177if(!value){ 3178value={}; 3179if(acceptData(owner)){ 3180if(owner.nodeType){ 3181owner[this.expando]=value; 3182}else{ 3183Object.defineProperty(owner,this.expando,{ 3184value:value, 3185configurable:true 3186}); 3187} 3188} 3189} 3190return value; 3191}, 3192set:function(owner,data,value){ 3193var prop, 3194cache=this.cache(owner); 3195if(typeof data==="string"){ 3196cache[camelCase(data)]=value; 3197}else{ 3198for(prop in data){ 3199cache[camelCase(prop)]=data[prop]; 3200} 3201} 3202return cache; 3203}, 3204get:function(owner,key){ 3205return key===undefined? 3206this.cache(owner): 3207owner[this.expando]&&owner[this.expando][camelCase(key)]; 3208}, 3209access:function(owner,key,value){ 3210if(key===undefined|| 3211((key&&typeof key==="string")&&value===undefined)){ 3212return this.get(owner,key); 3213} 3214this.set(owner,key,value); 3215return value!==undefined?value:key; 3216}, 3217remove:function(owner,key){ 3218var i, 3219cache=owner[this.expando]; 3220if(cache===undefined){ 3221return; 3222} 3223if(key!==undefined){ 3224if(Array.isArray(key)){ 3225key=key.map(camelCase); 3226}else{ 3227key=camelCase(key); 3228key=key in cache? 3229[key]: 3230(key.match(rnothtmlwhite)||[]); 3231} 3232i=key.length; 3233while(i--){ 3234delete cache[key[i]]; 3235} 3236} 3237if(key===undefined||jQuery.isEmptyObject(cache)){ 3238if(owner.nodeType){ 3239owner[this.expando]=undefined; 3240}else{ 3241delete owner[this.expando]; 3242} 3243} 3244}, 3245hasData:function(owner){ 3246var cache=owner[this.expando]; 3247return cache!==undefined&&!jQuery.isEmptyObject(cache); 3248} 3249}; 3250var dataPriv=new Data(); 3251var dataUser=new Data(); 3252var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, 3253rmultiDash=/[A-Z]/g; 3254function getData(data){ 3255if(data==="true"){ 3256return true; 3257} 3258if(data==="false"){ 3259return false; 3260} 3261if(data==="null"){ 3262return null; 3263} 3264if(data===+data+""){ 3265return+data; 3266} 3267if(rbrace.test(data)){ 3268return JSON.parse(data); 3269} 3270return data; 3271} 3272function dataAttr(elem,key,data){ 3273var name; 3274if(data===undefined&&elem.nodeType===1){ 3275name="data-"+key.replace(rmultiDash,"-$&").toLowerCase(); 3276data=elem.getAttribute(name); 3277if(typeof data==="string"){ 3278try{ 3279data=getData(data); 3280}catch(e){} 3281dataUser.set(elem,key,data); 3282}else{ 3283data=undefined; 3284} 3285} 3286return data; 3287} 3288jQuery.extend({ 3289hasData:function(elem){ 3290return dataUser.hasData(elem)||dataPriv.hasData(elem); 3291}, 3292data:function(elem,name,data){ 3293return dataUser.access(elem,name,data); 3294}, 3295removeData:function(elem,name){ 3296dataUser.remove(elem,name); 3297}, 3298_data:function(elem,name,data){ 3299return dataPriv.access(elem,name,data); 3300}, 3301_removeData:function(elem,name){ 3302dataPriv.remove(elem,name); 3303} 3304}); 3305jQuery.fn.extend({ 3306data:function(key,value){ 3307var i,name,data, 3308elem=this[0], 3309attrs=elem&&elem.attributes; 3310if(key===undefined){ 3311if(this.length){ 3312data=dataUser.get(elem); 3313if(elem.nodeType===1&&!dataPriv.get(elem,"hasDataAttrs")){ 3314i=attrs.length; 3315while(i--){ 3316if(attrs[i]){ 3317name=attrs[i].name; 3318if(name.indexOf("data-")===0){ 3319name=camelCase(name.slice(5)); 3320dataAttr(elem,name,data[name]); 3321} 3322} 3323} 3324dataPriv.set(elem,"hasDataAttrs",true); 3325} 3326} 3327return data; 3328} 3329if(typeof key==="object"){ 3330return this.each(function(){ 3331dataUser.set(this,key); 3332}); 3333} 3334return access(this,function(value){ 3335var data; 3336if(elem&&value===undefined){ 3337data=dataUser.get(elem,key); 3338if(data!==undefined){ 3339return data; 3340} 3341data=dataAttr(elem,key); 3342if(data!==undefined){ 3343return data; 3344} 3345return; 3346} 3347this.each(function(){ 3348dataUser.set(this,key,value); 3349}); 3350},null,value,arguments.length>1,null,true); 3351}, 3352removeData:function(key){ 3353return this.each(function(){ 3354dataUser.remove(this,key); 3355}); 3356} 3357}); 3358jQuery.extend({ 3359queue:function(elem,type,data){ 3360var queue; 3361if(elem){ 3362type=(type||"fx")+"queue"; 3363queue=dataPriv.get(elem,type); 3364if(data){ 3365if(!queue||Array.isArray(data)){ 3366queue=dataPriv.access(elem,type,jQuery.makeArray(data)); 3367}else{ 3368queue.push(data); 3369} 3370} 3371return queue||[]; 3372} 3373}, 3374dequeue:function(elem,type){ 3375type=type||"fx"; 3376var queue=jQuery.queue(elem,type), 3377startLength=queue.length, 3378fn=queue.shift(), 3379hooks=jQuery._queueHooks(elem,type), 3380next=function(){ 3381jQuery.dequeue(elem,type); 3382}; 3383if(fn==="inprogress"){ 3384fn=queue.shift(); 3385startLength--; 3386} 3387if(fn){ 3388if(type==="fx"){ 3389queue.unshift("inprogress"); 3390} 3391delete hooks.stop; 3392fn.call(elem,next,hooks); 3393} 3394if(!startLength&&hooks){ 3395hooks.empty.fire(); 3396} 3397}, 3398_queueHooks:function(elem,type){ 3399var key=type+"queueHooks"; 3400return dataPriv.get(elem,key)||dataPriv.access(elem,key,{ 3401empty:jQuery.Callbacks("once memory").add(function(){ 3402dataPriv.remove(elem,[type+"queue",key]); 3403}) 3404}); 3405} 3406}); 3407jQuery.fn.extend({ 3408queue:function(type,data){ 3409var setter=2; 3410if(typeof type!=="string"){ 3411data=type; 3412type="fx"; 3413setter--; 3414} 3415if(arguments.length<setter){ 3416return jQuery.queue(this[0],type); 3417} 3418return data===undefined? 3419this: 3420this.each(function(){ 3421var queue=jQuery.queue(this,type,data); 3422jQuery._queueHooks(this,type); 3423if(type==="fx"&&queue[0]!=="inprogress"){ 3424jQuery.dequeue(this,type); 3425} 3426}); 3427}, 3428dequeue:function(type){ 3429return this.each(function(){ 3430jQuery.dequeue(this,type); 3431}); 3432}, 3433clearQueue:function(type){ 3434return this.queue(type||"fx",[]); 3435}, 3436promise:function(type,obj){ 3437var tmp, 3438count=1, 3439defer=jQuery.Deferred(), 3440elements=this, 3441i=this.length, 3442resolve=function(){ 3443if(!(--count)){ 3444defer.resolveWith(elements,[elements]); 3445} 3446}; 3447if(typeof type!=="string"){ 3448obj=type; 3449type=undefined; 3450} 3451type=type||"fx"; 3452while(i--){ 3453tmp=dataPriv.get(elements[i],type+"queueHooks"); 3454if(tmp&&tmp.empty){ 3455count++; 3456tmp.empty.add(resolve); 3457} 3458} 3459resolve(); 3460return defer.promise(obj); 3461} 3462}); 3463var pnum=(/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; 3464var rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i"); 3465var cssExpand=["Top","Right","Bottom","Left"]; 3466var documentElement=document.documentElement; 3467var isAttached=function(elem){ 3468return jQuery.contains(elem.ownerDocument,elem); 3469}, 3470composed={composed:true}; 3471if(documentElement.getRootNode){ 3472isAttached=function(elem){ 3473return jQuery.contains(elem.ownerDocument,elem)|| 3474elem.getRootNode(composed)===elem.ownerDocument; 3475}; 3476} 3477var isHiddenWithinTree=function(elem,el){ 3478elem=el||elem; 3479return elem.style.display==="none"|| 3480elem.style.display===""&& 3481isAttached(elem)&& 3482jQuery.css(elem,"display")==="none"; 3483}; 3484function adjustCSS(elem,prop,valueParts,tween){ 3485var adjusted,scale, 3486maxIterations=20, 3487currentValue=tween? 3488function(){ 3489return tween.cur(); 3490}: 3491function(){ 3492return jQuery.css(elem,prop,""); 3493}, 3494initial=currentValue(), 3495unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"), 3496initialInUnit=elem.nodeType&& 3497(jQuery.cssNumber[prop]||unit!=="px"&&+initial)&& 3498rcssNum.exec(jQuery.css(elem,prop)); 3499if(initialInUnit&&initialInUnit[3]!==unit){ 3500initial=initial/2; 3501unit=unit||initialInUnit[3]; 3502initialInUnit=+initial||1; 3503while(maxIterations--){ 3504jQuery.style(elem,prop,initialInUnit+unit); 3505if((1-scale)*(1-(scale=currentValue()/initial||0.5))<=0){ 3506maxIterations=0; 3507} 3508initialInUnit=initialInUnit/scale; 3509} 3510initialInUnit=initialInUnit*2; 3511jQuery.style(elem,prop,initialInUnit+unit); 3512valueParts=valueParts||[]; 3513} 3514if(valueParts){ 3515initialInUnit=+initialInUnit||+initial||0; 3516adjusted=valueParts[1]? 3517initialInUnit+(valueParts[1]+1)*valueParts[2]: 3518+valueParts[2]; 3519if(tween){ 3520tween.unit=unit; 3521tween.start=initialInUnit; 3522tween.end=adjusted; 3523} 3524} 3525return adjusted; 3526} 3527var defaultDisplayMap={}; 3528function getDefaultDisplay(elem){ 3529var temp, 3530doc=elem.ownerDocument, 3531nodeName=elem.nodeName, 3532display=defaultDisplayMap[nodeName]; 3533if(display){ 3534return display; 3535} 3536temp=doc.body.appendChild(doc.createElement(nodeName)); 3537display=jQuery.css(temp,"display"); 3538temp.parentNode.removeChild(temp); 3539if(display==="none"){ 3540display="block"; 3541} 3542defaultDisplayMap[nodeName]=display; 3543return display; 3544} 3545function showHide(elements,show){ 3546var display,elem, 3547values=[], 3548index=0, 3549length=elements.length; 3550for(;index<length;index++){ 3551elem=elements[index]; 3552if(!elem.style){ 3553continue; 3554} 3555display=elem.style.display; 3556if(show){ 3557if(display==="none"){ 3558values[index]=dataPriv.get(elem,"display")||null; 3559if(!values[index]){ 3560elem.style.display=""; 3561} 3562} 3563if(elem.style.display===""&&isHiddenWithinTree(elem)){ 3564values[index]=getDefaultDisplay(elem); 3565} 3566}else{ 3567if(display!=="none"){ 3568values[index]="none"; 3569dataPriv.set(elem,"display",display); 3570} 3571} 3572} 3573for(index=0;index<length;index++){ 3574if(values[index]!=null){ 3575elements[index].style.display=values[index]; 3576} 3577} 3578return elements; 3579} 3580jQuery.fn.extend({ 3581show:function(){ 3582return showHide(this,true); 3583}, 3584hide:function(){ 3585return showHide(this); 3586}, 3587toggle:function(state){ 3588if(typeof state==="boolean"){ 3589return state?this.show():this.hide(); 3590} 3591return this.each(function(){ 3592if(isHiddenWithinTree(this)){ 3593jQuery(this).show(); 3594}else{ 3595jQuery(this).hide(); 3596} 3597}); 3598} 3599}); 3600var rcheckableType=(/^(?:checkbox|radio)$/i); 3601var rtagName=(/<([a-z][^\/\0>\x20\t\r\n\f]*)/i); 3602var rscriptType=(/^$|^module$|\/(?:java|ecma)script/i); 3603(function(){ 3604var fragment=document.createDocumentFragment(), 3605div=fragment.appendChild(document.createElement("div")), 3606input=document.createElement("input"); 3607input.setAttribute("type","radio"); 3608input.setAttribute("checked","checked"); 3609input.setAttribute("name","t"); 3610div.appendChild(input); 3611support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked; 3612div.innerHTML="<textarea>x</textarea>"; 3613support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue; 3614div.innerHTML="<option></option>"; 3615support.option=!!div.lastChild; 3616})(); 3617var wrapMap={ 3618thead:[1,"<table>","</table>"], 3619col:[2,"<table><colgroup>","</colgroup></table>"], 3620tr:[2,"<table><tbody>","</tbody></table>"], 3621td:[3,"<table><tbody><tr>","</tr></tbody></table>"], 3622_default:[0,"",""] 3623}; 3624wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead; 3625wrapMap.th=wrapMap.td; 3626if(!support.option){ 3627wrapMap.optgroup=wrapMap.option=[1,"<select multiple='multiple'>","</select>"]; 3628} 3629function getAll(context,tag){ 3630var ret; 3631if(typeof context.getElementsByTagName!=="undefined"){ 3632ret=context.getElementsByTagName(tag||"*"); 3633}else if(typeof context.querySelectorAll!=="undefined"){ 3634ret=context.querySelectorAll(tag||"*"); 3635}else{ 3636ret=[]; 3637} 3638if(tag===undefined||tag&&nodeName(context,tag)){ 3639return jQuery.merge([context],ret); 3640} 3641return ret; 3642} 3643function setGlobalEval(elems,refElements){ 3644var i=0, 3645l=elems.length; 3646for(;i<l;i++){ 3647dataPriv.set( 3648elems[i], 3649"globalEval", 3650!refElements||dataPriv.get(refElements[i],"globalEval") 3651); 3652} 3653} 3654var rhtml=/<|&#?\w+;/; 3655function buildFragment(elems,context,scripts,selection,ignored){ 3656var elem,tmp,tag,wrap,attached,j, 3657fragment=context.createDocumentFragment(), 3658nodes=[], 3659i=0, 3660l=elems.length; 3661for(;i<l;i++){ 3662elem=elems[i]; 3663if(elem||elem===0){ 3664if(toType(elem)==="object"){ 3665jQuery.merge(nodes,elem.nodeType?[elem]:elem); 3666}else if(!rhtml.test(elem)){ 3667nodes.push(context.createTextNode(elem)); 3668}else{ 3669tmp=tmp||fragment.appendChild(context.createElement("div")); 3670tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(); 3671wrap=wrapMap[tag]||wrapMap._default; 3672tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2]; 3673j=wrap[0]; 3674while(j--){ 3675tmp=tmp.lastChild; 3676} 3677jQuery.merge(nodes,tmp.childNodes); 3678tmp=fragment.firstChild; 3679tmp.textContent=""; 3680} 3681} 3682} 3683fragment.textContent=""; 3684i=0; 3685while((elem=nodes[i++])){ 3686if(selection&&jQuery.inArray(elem,selection)>-1){ 3687if(ignored){ 3688ignored.push(elem); 3689} 3690continue; 3691} 3692attached=isAttached(elem); 3693tmp=getAll(fragment.appendChild(elem),"script"); 3694if(attached){ 3695setGlobalEval(tmp); 3696} 3697if(scripts){ 3698j=0; 3699while((elem=tmp[j++])){ 3700if(rscriptType.test(elem.type||"")){ 3701scripts.push(elem); 3702} 3703} 3704} 3705} 3706return fragment; 3707} 3708var rtypenamespace=/^([^.]*)(?:\.(.+)|)/; 3709function returnTrue(){ 3710return true; 3711} 3712function returnFalse(){ 3713return false; 3714} 3715function on(elem,types,selector,data,fn,one){ 3716var origFn,type; 3717if(typeof types==="object"){ 3718if(typeof selector!=="string"){ 3719data=data||selector; 3720selector=undefined; 3721} 3722for(type in types){ 3723on(elem,type,selector,data,types[type],one); 3724} 3725return elem; 3726} 3727if(data==null&&fn==null){ 3728fn=selector; 3729data=selector=undefined; 3730}else if(fn==null){ 3731if(typeof selector==="string"){ 3732fn=data; 3733data=undefined; 3734}else{ 3735fn=data; 3736data=selector; 3737selector=undefined; 3738} 3739} 3740if(fn===false){ 3741fn=returnFalse; 3742}else if(!fn){ 3743return elem; 3744} 3745if(one===1){ 3746origFn=fn; 3747fn=function(event){ 3748jQuery().off(event); 3749return origFn.apply(this,arguments); 3750}; 3751fn.guid=origFn.guid||(origFn.guid=jQuery.guid++); 3752} 3753return elem.each(function(){ 3754jQuery.event.add(this,types,fn,data,selector); 3755}); 3756} 3757jQuery.event={ 3758global:{}, 3759add:function(elem,types,handler,data,selector){ 3760var handleObjIn,eventHandle,tmp, 3761events,t,handleObj, 3762special,handlers,type,namespaces,origType, 3763elemData=dataPriv.get(elem); 3764if(!acceptData(elem)){ 3765return; 3766} 3767if(handler.handler){ 3768handleObjIn=handler; 3769handler=handleObjIn.handler; 3770selector=handleObjIn.selector; 3771} 3772if(selector){ 3773jQuery.find.matchesSelector(documentElement,selector); 3774} 3775if(!handler.guid){ 3776handler.guid=jQuery.guid++; 3777} 3778if(!(events=elemData.events)){ 3779events=elemData.events=Object.create(null); 3780} 3781if(!(eventHandle=elemData.handle)){ 3782eventHandle=elemData.handle=function(e){ 3783return typeof jQuery!=="undefined"&&jQuery.event.triggered!==e.type? 3784jQuery.event.dispatch.apply(elem,arguments):undefined; 3785}; 3786} 3787types=(types||"").match(rnothtmlwhite)||[""]; 3788t=types.length; 3789while(t--){ 3790tmp=rtypenamespace.exec(types[t])||[]; 3791type=origType=tmp[1]; 3792namespaces=(tmp[2]||"").split(".").sort(); 3793if(!type){ 3794continue; 3795} 3796special=jQuery.event.special[type]||{}; 3797type=(selector?special.delegateType:special.bindType)||type; 3798special=jQuery.event.special[type]||{}; 3799handleObj=jQuery.extend({ 3800type:type, 3801origType:origType, 3802data:data, 3803handler:handler, 3804guid:handler.guid, 3805selector:selector, 3806needsContext:selector&&jQuery.expr.match.needsContext.test(selector), 3807namespace:namespaces.join(".") 3808},handleObjIn); 3809if(!(handlers=events[type])){ 3810handlers=events[type]=[]; 3811handlers.delegateCount=0; 3812if(!special.setup|| 3813special.setup.call(elem,data,namespaces,eventHandle)===false){ 3814if(elem.addEventListener){ 3815elem.addEventListener(type,eventHandle); 3816} 3817} 3818} 3819if(special.add){ 3820special.add.call(elem,handleObj); 3821if(!handleObj.handler.guid){ 3822handleObj.handler.guid=handler.guid; 3823} 3824} 3825if(selector){ 3826handlers.splice(handlers.delegateCount++,0,handleObj); 3827}else{ 3828handlers.push(handleObj); 3829} 3830jQuery.event.global[type]=true; 3831} 3832}, 3833remove:function(elem,types,handler,selector,mappedTypes){ 3834var j,origCount,tmp, 3835events,t,handleObj, 3836special,handlers,type,namespaces,origType, 3837elemData=dataPriv.hasData(elem)&&dataPriv.get(elem); 3838if(!elemData||!(events=elemData.events)){ 3839return; 3840} 3841types=(types||"").match(rnothtmlwhite)||[""]; 3842t=types.length; 3843while(t--){ 3844tmp=rtypenamespace.exec(types[t])||[]; 3845type=origType=tmp[1]; 3846namespaces=(tmp[2]||"").split(".").sort(); 3847if(!type){ 3848for(type in events){ 3849jQuery.event.remove(elem,type+types[t],handler,selector,true); 3850} 3851continue; 3852} 3853special=jQuery.event.special[type]||{}; 3854type=(selector?special.delegateType:special.bindType)||type; 3855handlers=events[type]||[]; 3856tmp=tmp[2]&& 3857new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"); 3858origCount=j=handlers.length; 3859while(j--){ 3860handleObj=handlers[j]; 3861if((mappedTypes||origType===handleObj.origType)&& 3862(!handler||handler.guid===handleObj.guid)&& 3863(!tmp||tmp.test(handleObj.namespace))&& 3864(!selector||selector===handleObj.selector|| 3865selector==="**"&&handleObj.selector)){ 3866handlers.splice(j,1); 3867if(handleObj.selector){ 3868handlers.delegateCount--; 3869} 3870if(special.remove){ 3871special.remove.call(elem,handleObj); 3872} 3873} 3874} 3875if(origCount&&!handlers.length){ 3876if(!special.teardown|| 3877special.teardown.call(elem,namespaces,elemData.handle)===false){ 3878jQuery.removeEvent(elem,type,elemData.handle); 3879} 3880delete events[type]; 3881} 3882} 3883if(jQuery.isEmptyObject(events)){ 3884dataPriv.remove(elem,"handle events"); 3885} 3886}, 3887dispatch:function(nativeEvent){ 3888var i,j,ret,matched,handleObj,handlerQueue, 3889args=new Array(arguments.length), 3890event=jQuery.event.fix(nativeEvent), 3891handlers=( 3892dataPriv.get(this,"events")||Object.create(null) 3893)[event.type]||[], 3894special=jQuery.event.special[event.type]||{}; 3895args[0]=event; 3896for(i=1;i<arguments.length;i++){ 3897args[i]=arguments[i]; 3898} 3899event.delegateTarget=this; 3900if(special.preDispatch&&special.preDispatch.call(this,event)===false){ 3901return; 3902} 3903handlerQueue=jQuery.event.handlers.call(this,event,handlers); 3904i=0; 3905while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){ 3906event.currentTarget=matched.elem; 3907j=0; 3908while((handleObj=matched.handlers[j++])&& 3909!event.isImmediatePropagationStopped()){ 3910if(!event.rnamespace||handleObj.namespace===false|| 3911event.rnamespace.test(handleObj.namespace)){ 3912event.handleObj=handleObj; 3913event.data=handleObj.data; 3914ret=((jQuery.event.special[handleObj.origType]||{}).handle|| 3915handleObj.handler).apply(matched.elem,args); 3916if(ret!==undefined){ 3917if((event.result=ret)===false){ 3918event.preventDefault(); 3919event.stopPropagation(); 3920} 3921} 3922} 3923} 3924} 3925if(special.postDispatch){ 3926special.postDispatch.call(this,event); 3927} 3928return event.result; 3929}, 3930handlers:function(event,handlers){ 3931var i,handleObj,sel,matchedHandlers,matchedSelectors, 3932handlerQueue=[], 3933delegateCount=handlers.delegateCount, 3934cur=event.target; 3935if(delegateCount&& 3936cur.nodeType&& 3937!(event.type==="click"&&event.button>=1)){ 3938for(;cur!==this;cur=cur.parentNode||this){ 3939if(cur.nodeType===1&&!(event.type==="click"&&cur.disabled===true)){ 3940matchedHandlers=[]; 3941matchedSelectors={}; 3942for(i=0;i<delegateCount;i++){ 3943handleObj=handlers[i]; 3944sel=handleObj.selector+" "; 3945if(matchedSelectors[sel]===undefined){ 3946matchedSelectors[sel]=handleObj.needsContext? 3947jQuery(sel,this).index(cur)>-1: 3948jQuery.find(sel,this,null,[cur]).length; 3949} 3950if(matchedSelectors[sel]){ 3951matchedHandlers.push(handleObj); 3952} 3953} 3954if(matchedHandlers.length){ 3955handlerQueue.push({elem:cur,handlers:matchedHandlers}); 3956} 3957} 3958} 3959} 3960cur=this; 3961if(delegateCount<handlers.length){ 3962handlerQueue.push({elem:cur,handlers:handlers.slice(delegateCount)}); 3963} 3964return handlerQueue; 3965}, 3966addProp:function(name,hook){ 3967Object.defineProperty(jQuery.Event.prototype,name,{ 3968enumerable:true, 3969configurable:true, 3970get:isFunction(hook)? 3971function(){ 3972if(this.originalEvent){ 3973return hook(this.originalEvent); 3974} 3975}: 3976function(){ 3977if(this.originalEvent){ 3978return this.originalEvent[name]; 3979} 3980}, 3981set:function(value){ 3982Object.defineProperty(this,name,{ 3983enumerable:true, 3984configurable:true, 3985writable:true, 3986value:value 3987}); 3988} 3989}); 3990}, 3991fix:function(originalEvent){ 3992return originalEvent[jQuery.expando]? 3993originalEvent: 3994new jQuery.Event(originalEvent); 3995}, 3996special:{ 3997load:{ 3998noBubble:true 3999}, 4000click:{ 4001setup:function(data){ 4002var el=this||data; 4003if(rcheckableType.test(el.type)&& 4004el.click&&nodeName(el,"input")){ 4005leverageNative(el,"click",true); 4006} 4007return false; 4008}, 4009trigger:function(data){ 4010var el=this||data; 4011if(rcheckableType.test(el.type)&& 4012el.click&&nodeName(el,"input")){ 4013leverageNative(el,"click"); 4014} 4015return true; 4016}, 4017_default:function(event){ 4018var target=event.target; 4019return rcheckableType.test(target.type)&& 4020target.click&&nodeName(target,"input")&& 4021dataPriv.get(target,"click")|| 4022nodeName(target,"a"); 4023} 4024}, 4025beforeunload:{ 4026postDispatch:function(event){ 4027if(event.result!==undefined&&event.originalEvent){ 4028event.originalEvent.returnValue=event.result; 4029} 4030} 4031} 4032} 4033}; 4034function leverageNative(el,type,isSetup){ 4035if(!isSetup){ 4036if(dataPriv.get(el,type)===undefined){ 4037jQuery.event.add(el,type,returnTrue); 4038} 4039return; 4040} 4041dataPriv.set(el,type,false); 4042jQuery.event.add(el,type,{ 4043namespace:false, 4044handler:function(event){ 4045var result, 4046saved=dataPriv.get(this,type); 4047if((event.isTrigger&1)&&this[type]){ 4048if(!saved){ 4049saved=slice.call(arguments); 4050dataPriv.set(this,type,saved); 4051this[type](); 4052result=dataPriv.get(this,type); 4053dataPriv.set(this,type,false); 4054if(saved!==result){ 4055event.stopImmediatePropagation(); 4056event.preventDefault(); 4057return result; 4058} 4059}else if((jQuery.event.special[type]||{}).delegateType){ 4060event.stopPropagation(); 4061} 4062}else if(saved){ 4063dataPriv.set(this,type,jQuery.event.trigger( 4064saved[0], 4065saved.slice(1), 4066this 4067)); 4068event.stopPropagation(); 4069event.isImmediatePropagationStopped=returnTrue; 4070} 4071} 4072}); 4073} 4074jQuery.removeEvent=function(elem,type,handle){ 4075if(elem.removeEventListener){ 4076elem.removeEventListener(type,handle); 4077} 4078}; 4079jQuery.Event=function(src,props){ 4080if(!(this instanceof jQuery.Event)){ 4081return new jQuery.Event(src,props); 4082} 4083if(src&&src.type){ 4084this.originalEvent=src; 4085this.type=src.type; 4086this.isDefaultPrevented=src.defaultPrevented|| 4087src.defaultPrevented===undefined&& 4088src.returnValue===false? 4089returnTrue: 4090returnFalse; 4091this.target=(src.target&&src.target.nodeType===3)? 4092src.target.parentNode: 4093src.target; 4094this.currentTarget=src.currentTarget; 4095this.relatedTarget=src.relatedTarget; 4096}else{ 4097this.type=src; 4098} 4099if(props){ 4100jQuery.extend(this,props); 4101} 4102this.timeStamp=src&&src.timeStamp||Date.now(); 4103this[jQuery.expando]=true; 4104}; 4105jQuery.Event.prototype={ 4106constructor:jQuery.Event, 4107isDefaultPrevented:returnFalse, 4108isPropagationStopped:returnFalse, 4109isImmediatePropagationStopped:returnFalse, 4110isSimulated:false, 4111preventDefault:function(){ 4112var e=this.originalEvent; 4113this.isDefaultPrevented=returnTrue; 4114if(e&&!this.isSimulated){ 4115e.preventDefault(); 4116} 4117}, 4118stopPropagation:function(){ 4119var e=this.originalEvent; 4120this.isPropagationStopped=returnTrue; 4121if(e&&!this.isSimulated){ 4122e.stopPropagation(); 4123} 4124}, 4125stopImmediatePropagation:function(){ 4126var e=this.originalEvent; 4127this.isImmediatePropagationStopped=returnTrue; 4128if(e&&!this.isSimulated){ 4129e.stopImmediatePropagation(); 4130} 4131this.stopPropagation(); 4132} 4133}; 4134jQuery.each({ 4135altKey:true, 4136bubbles:true, 4137cancelable:true, 4138changedTouches:true, 4139ctrlKey:true, 4140detail:true, 4141eventPhase:true, 4142metaKey:true, 4143pageX:true, 4144pageY:true, 4145shiftKey:true, 4146view:true, 4147"char":true, 4148code:true, 4149charCode:true, 4150key:true, 4151keyCode:true, 4152button:true, 4153buttons:true, 4154clientX:true, 4155clientY:true, 4156offsetX:true, 4157offsetY:true, 4158pointerId:true, 4159pointerType:true, 4160screenX:true, 4161screenY:true, 4162targetTouches:true, 4163toElement:true, 4164touches:true, 4165which:true 4166},jQuery.event.addProp); 4167jQuery.each({focus:"focusin",blur:"focusout"},function(type,delegateType){ 4168function focusMappedHandler(nativeEvent){ 4169if(document.documentMode){ 4170var handle=dataPriv.get(this,"handle"), 4171event=jQuery.event.fix(nativeEvent); 4172event.type=nativeEvent.type==="focusin"?"focus":"blur"; 4173event.isSimulated=true; 4174handle(nativeEvent); 4175if(event.target===event.currentTarget){ 4176handle(event); 4177} 4178}else{ 4179jQuery.event.simulate(delegateType,nativeEvent.target, 4180jQuery.event.fix(nativeEvent)); 4181} 4182} 4183jQuery.event.special[type]={ 4184setup:function(){ 4185var attaches; 4186leverageNative(this,type,true); 4187if(document.documentMode){ 4188attaches=dataPriv.get(this,delegateType); 4189if(!attaches){ 4190this.addEventListener(delegateType,focusMappedHandler); 4191} 4192dataPriv.set(this,delegateType,(attaches||0)+1); 4193}else{ 4194return false; 4195} 4196}, 4197trigger:function(){ 4198leverageNative(this,type); 4199return true; 4200}, 4201teardown:function(){ 4202var attaches; 4203if(document.documentMode){ 4204attaches=dataPriv.get(this,delegateType)-1; 4205if(!attaches){ 4206this.removeEventListener(delegateType,focusMappedHandler); 4207dataPriv.remove(this,delegateType); 4208}else{ 4209dataPriv.set(this,delegateType,attaches); 4210} 4211}else{ 4212return false; 4213} 4214}, 4215_default:function(event){ 4216return dataPriv.get(event.target,type); 4217}, 4218delegateType:delegateType 4219}; 4220jQuery.event.special[delegateType]={ 4221setup:function(){ 4222var doc=this.ownerDocument||this.document||this, 4223dataHolder=document.documentMode?this:doc, 4224attaches=dataPriv.get(dataHolder,delegateType); 4225if(!attaches){ 4226if(document.documentMode){ 4227this.addEventListener(delegateType,focusMappedHandler); 4228}else{ 4229doc.addEventListener(type,focusMappedHandler,true); 4230} 4231} 4232dataPriv.set(dataHolder,delegateType,(attaches||0)+1); 4233}, 4234teardown:function(){ 4235var doc=this.ownerDocument||this.document||this, 4236dataHolder=document.documentMode?this:doc, 4237attaches=dataPriv.get(dataHolder,delegateType)-1; 4238if(!attaches){ 4239if(document.documentMode){ 4240this.removeEventListener(delegateType,focusMappedHandler); 4241}else{ 4242doc.removeEventListener(type,focusMappedHandler,true); 4243} 4244dataPriv.remove(dataHolder,delegateType); 4245}else{ 4246dataPriv.set(dataHolder,delegateType,attaches); 4247} 4248} 4249}; 4250}); 4251jQuery.each({ 4252mouseenter:"mouseover", 4253mouseleave:"mouseout", 4254pointerenter:"pointerover", 4255pointerleave:"pointerout" 4256},function(orig,fix){ 4257jQuery.event.special[orig]={ 4258delegateType:fix, 4259bindType:fix, 4260handle:function(event){ 4261var ret, 4262target=this, 4263related=event.relatedTarget, 4264handleObj=event.handleObj; 4265if(!related||(related!==target&&!jQuery.contains(target,related))){ 4266event.type=handleObj.origType; 4267ret=handleObj.handler.apply(this,arguments); 4268event.type=fix; 4269} 4270return ret; 4271} 4272}; 4273}); 4274jQuery.fn.extend({ 4275on:function(types,selector,data,fn){ 4276return on(this,types,selector,data,fn); 4277}, 4278one:function(types,selector,data,fn){ 4279return on(this,types,selector,data,fn,1); 4280}, 4281off:function(types,selector,fn){ 4282var handleObj,type; 4283if(types&&types.preventDefault&&types.handleObj){ 4284handleObj=types.handleObj; 4285jQuery(types.delegateTarget).off( 4286handleObj.namespace? 4287handleObj.origType+"."+handleObj.namespace: 4288handleObj.origType, 4289handleObj.selector, 4290handleObj.handler 4291); 4292return this; 4293} 4294if(typeof types==="object"){ 4295for(type in types){ 4296this.off(type,selector,types[type]); 4297} 4298return this; 4299} 4300if(selector===false||typeof selector==="function"){ 4301fn=selector; 4302selector=undefined; 4303} 4304if(fn===false){ 4305fn=returnFalse; 4306} 4307return this.each(function(){ 4308jQuery.event.remove(this,types,fn,selector); 4309}); 4310} 4311}); 4312var 4313rnoInnerhtml=/<script|<style|<link/i, 4314rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i, 4315rcleanScript=/^\s*<!\[CDATA\[|\]\]>\s*$/g; 4316function manipulationTarget(elem,content){ 4317if(nodeName(elem,"table")&& 4318nodeName(content.nodeType!==11?content:content.firstChild,"tr")){ 4319return jQuery(elem).children("tbody")[0]||elem; 4320} 4321return elem; 4322} 4323function disableScript(elem){ 4324elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type; 4325return elem; 4326} 4327function restoreScript(elem){ 4328if((elem.type||"").slice(0,5)==="true/"){ 4329elem.type=elem.type.slice(5); 4330}else{ 4331elem.removeAttribute("type"); 4332} 4333return elem; 4334} 4335function cloneCopyEvent(src,dest){ 4336var i,l,type,pdataOld,udataOld,udataCur,events; 4337if(dest.nodeType!==1){ 4338return; 4339} 4340if(dataPriv.hasData(src)){ 4341pdataOld=dataPriv.get(src); 4342events=pdataOld.events; 4343if(events){ 4344dataPriv.remove(dest,"handle events"); 4345for(type in events){ 4346for(i=0,l=events[type].length;i<l;i++){ 4347jQuery.event.add(dest,type,events[type][i]); 4348} 4349} 4350} 4351} 4352if(dataUser.hasData(src)){ 4353udataOld=dataUser.access(src); 4354udataCur=jQuery.extend({},udataOld); 4355dataUser.set(dest,udataCur); 4356} 4357} 4358function fixInput(src,dest){ 4359var nodeName=dest.nodeName.toLowerCase(); 4360if(nodeName==="input"&&rcheckableType.test(src.type)){ 4361dest.checked=src.checked; 4362}else if(nodeName==="input"||nodeName==="textarea"){ 4363dest.defaultValue=src.defaultValue; 4364} 4365} 4366function domManip(collection,args,callback,ignored){ 4367args=flat(args); 4368var fragment,first,scripts,hasScripts,node,doc, 4369i=0, 4370l=collection.length, 4371iNoClone=l-1, 4372value=args[0], 4373valueIsFunction=isFunction(value); 4374if(valueIsFunction|| 4375(l>1&&typeof value==="string"&& 4376!support.checkClone&&rchecked.test(value))){ 4377return collection.each(function(index){ 4378var self=collection.eq(index); 4379if(valueIsFunction){ 4380args[0]=value.call(this,index,self.html()); 4381} 4382domManip(self,args,callback,ignored); 4383}); 4384} 4385if(l){ 4386fragment=buildFragment(args,collection[0].ownerDocument,false,collection,ignored); 4387first=fragment.firstChild; 4388if(fragment.childNodes.length===1){ 4389fragment=first; 4390} 4391if(first||ignored){ 4392scripts=jQuery.map(getAll(fragment,"script"),disableScript); 4393hasScripts=scripts.length; 4394for(;i<l;i++){ 4395node=fragment; 4396if(i!==iNoClone){ 4397node=jQuery.clone(node,true,true); 4398if(hasScripts){ 4399jQuery.merge(scripts,getAll(node,"script")); 4400} 4401} 4402callback.call(collection[i],node,i); 4403} 4404if(hasScripts){ 4405doc=scripts[scripts.length-1].ownerDocument; 4406jQuery.map(scripts,restoreScript); 4407for(i=0;i<hasScripts;i++){ 4408node=scripts[i]; 4409if(rscriptType.test(node.type||"")&& 4410!dataPriv.access(node,"globalEval")&& 4411jQuery.contains(doc,node)){ 4412if(node.src&&(node.type||"").toLowerCase()!=="module"){ 4413if(jQuery._evalUrl&&!node.noModule){ 4414jQuery._evalUrl(node.src,{ 4415nonce:node.nonce||node.getAttribute("nonce") 4416},doc); 4417} 4418}else{ 4419DOMEval(node.textContent.replace(rcleanScript,""),node,doc); 4420} 4421} 4422} 4423} 4424} 4425} 4426return collection; 4427} 4428function remove(elem,selector,keepData){ 4429var node, 4430nodes=selector?jQuery.filter(selector,elem):elem, 4431i=0; 4432for(;(node=nodes[i])!=null;i++){ 4433if(!keepData&&node.nodeType===1){ 4434jQuery.cleanData(getAll(node)); 4435} 4436if(node.parentNode){ 4437if(keepData&&isAttached(node)){ 4438setGlobalEval(getAll(node,"script")); 4439} 4440node.parentNode.removeChild(node); 4441} 4442} 4443return elem; 4444} 4445jQuery.extend({ 4446htmlPrefilter:function(html){ 4447return html; 4448}, 4449clone:function(elem,dataAndEvents,deepDataAndEvents){ 4450var i,l,srcElements,destElements, 4451clone=elem.cloneNode(true), 4452inPage=isAttached(elem); 4453if(!support.noCloneChecked&&(elem.nodeType===1||elem.nodeType===11)&& 4454!jQuery.isXMLDoc(elem)){ 4455destElements=getAll(clone); 4456srcElements=getAll(elem); 4457for(i=0,l=srcElements.length;i<l;i++){ 4458fixInput(srcElements[i],destElements[i]); 4459} 4460} 4461if(dataAndEvents){ 4462if(deepDataAndEvents){ 4463srcElements=srcElements||getAll(elem); 4464destElements=destElements||getAll(clone); 4465for(i=0,l=srcElements.length;i<l;i++){ 4466cloneCopyEvent(srcElements[i],destElements[i]); 4467} 4468}else{ 4469cloneCopyEvent(elem,clone); 4470} 4471} 4472destElements=getAll(clone,"script"); 4473if(destElements.length>0){ 4474setGlobalEval(destElements,!inPage&&getAll(elem,"script")); 4475} 4476return clone; 4477}, 4478cleanData:function(elems){ 4479var data,elem,type, 4480special=jQuery.event.special, 4481i=0; 4482for(;(elem=elems[i])!==undefined;i++){ 4483if(acceptData(elem)){ 4484if((data=elem[dataPriv.expando])){ 4485if(data.events){ 4486for(type in data.events){ 4487if(special[type]){ 4488jQuery.event.remove(elem,type); 4489}else{ 4490jQuery.removeEvent(elem,type,data.handle); 4491} 4492} 4493} 4494elem[dataPriv.expando]=undefined; 4495} 4496if(elem[dataUser.expando]){ 4497elem[dataUser.expando]=undefined; 4498} 4499} 4500} 4501} 4502}); 4503jQuery.fn.extend({ 4504detach:function(selector){ 4505return remove(this,selector,true); 4506}, 4507remove:function(selector){ 4508return remove(this,selector); 4509}, 4510text:function(value){ 4511return access(this,function(value){ 4512return value===undefined? 4513jQuery.text(this): 4514this.empty().each(function(){ 4515if(this.nodeType===1||this.nodeType===11||this.nodeType===9){ 4516this.textContent=value; 4517} 4518}); 4519},null,value,arguments.length); 4520}, 4521append:function(){ 4522return domManip(this,arguments,function(elem){ 4523if(this.nodeType===1||this.nodeType===11||this.nodeType===9){ 4524var target=manipulationTarget(this,elem); 4525target.appendChild(elem); 4526} 4527}); 4528}, 4529prepend:function(){ 4530return domManip(this,arguments,function(elem){ 4531if(this.nodeType===1||this.nodeType===11||this.nodeType===9){ 4532var target=manipulationTarget(this,elem); 4533target.insertBefore(elem,target.firstChild); 4534} 4535}); 4536}, 4537before:function(){ 4538return domManip(this,arguments,function(elem){ 4539if(this.parentNode){ 4540this.parentNode.insertBefore(elem,this); 4541} 4542}); 4543}, 4544after:function(){ 4545return domManip(this,arguments,function(elem){ 4546if(this.parentNode){ 4547this.parentNode.insertBefore(elem,this.nextSibling); 4548} 4549}); 4550}, 4551empty:function(){ 4552var elem, 4553i=0; 4554for(;(elem=this[i])!=null;i++){ 4555if(elem.nodeType===1){ 4556jQuery.cleanData(getAll(elem,false)); 4557elem.textContent=""; 4558} 4559} 4560return this; 4561}, 4562clone:function(dataAndEvents,deepDataAndEvents){ 4563dataAndEvents=dataAndEvents==null?false:dataAndEvents; 4564deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents; 4565return this.map(function(){ 4566return jQuery.clone(this,dataAndEvents,deepDataAndEvents); 4567}); 4568}, 4569html:function(value){ 4570return access(this,function(value){ 4571var elem=this[0]||{}, 4572i=0, 4573l=this.length; 4574if(value===undefined&&elem.nodeType===1){ 4575return elem.innerHTML; 4576} 4577if(typeof value==="string"&&!rnoInnerhtml.test(value)&& 4578!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){ 4579value=jQuery.htmlPrefilter(value); 4580try{ 4581for(;i<l;i++){ 4582elem=this[i]||{}; 4583if(elem.nodeType===1){ 4584jQuery.cleanData(getAll(elem,false)); 4585elem.innerHTML=value; 4586} 4587} 4588elem=0; 4589}catch(e){} 4590} 4591if(elem){ 4592this.empty().append(value); 4593} 4594},null,value,arguments.length); 4595}, 4596replaceWith:function(){ 4597var ignored=[]; 4598return domManip(this,arguments,function(elem){ 4599var parent=this.parentNode; 4600if(jQuery.inArray(this,ignored)<0){ 4601jQuery.cleanData(getAll(this)); 4602if(parent){ 4603parent.replaceChild(elem,this); 4604} 4605} 4606},ignored); 4607} 4608}); 4609jQuery.each({ 4610appendTo:"append", 4611prependTo:"prepend", 4612insertBefore:"before", 4613insertAfter:"after", 4614replaceAll:"replaceWith" 4615},function(name,original){ 4616jQuery.fn[name]=function(selector){ 4617var elems, 4618ret=[], 4619insert=jQuery(selector), 4620last=insert.length-1, 4621i=0; 4622for(;i<=last;i++){ 4623elems=i===last?this:this.clone(true); 4624jQuery(insert[i])[original](elems); 4625push.apply(ret,elems.get()); 4626} 4627return this.pushStack(ret); 4628}; 4629}); 4630var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i"); 4631var rcustomProp=/^--/; 4632var getStyles=function(elem){ 4633var view=elem.ownerDocument.defaultView; 4634if(!view||!view.opener){ 4635view=window; 4636} 4637return view.getComputedStyle(elem); 4638}; 4639var swap=function(elem,options,callback){ 4640var ret,name, 4641old={}; 4642for(name in options){ 4643old[name]=elem.style[name]; 4644elem.style[name]=options[name]; 4645} 4646ret=callback.call(elem); 4647for(name in options){ 4648elem.style[name]=old[name]; 4649} 4650return ret; 4651}; 4652var rboxStyle=new RegExp(cssExpand.join("|"),"i"); 4653(function(){ 4654function computeStyleTests(){ 4655if(!div){ 4656return; 4657} 4658container.style.cssText="position:absolute;left:-11111px;width:60px;"+ 4659"margin-top:1px;padding:0;border:0"; 4660div.style.cssText= 4661"position:relative;display:block;box-sizing:border-box;overflow:scroll;"+ 4662"margin:auto;border:1px;padding:1px;"+ 4663"width:60%;top:1%"; 4664documentElement.appendChild(container).appendChild(div); 4665var divStyle=window.getComputedStyle(div); 4666pixelPositionVal=divStyle.top!=="1%"; 4667reliableMarginLeftVal=roundPixelMeasures(divStyle.marginLeft)===12; 4668div.style.right="60%"; 4669pixelBoxStylesVal=roundPixelMeasures(divStyle.right)===36; 4670boxSizingReliableVal=roundPixelMeasures(divStyle.width)===36; 4671div.style.position="absolute"; 4672scrollboxSizeVal=roundPixelMeasures(div.offsetWidth/3)===12; 4673documentElement.removeChild(container); 4674div=null; 4675} 4676function roundPixelMeasures(measure){ 4677return Math.round(parseFloat(measure)); 4678} 4679var pixelPositionVal,boxSizingReliableVal,scrollboxSizeVal,pixelBoxStylesVal, 4680reliableTrDimensionsVal,reliableMarginLeftVal, 4681container=document.createElement("div"), 4682div=document.createElement("div"); 4683if(!div.style){ 4684return; 4685} 4686div.style.backgroundClip="content-box"; 4687div.cloneNode(true).style.backgroundClip=""; 4688support.clearCloneStyle=div.style.backgroundClip==="content-box"; 4689jQuery.extend(support,{ 4690boxSizingReliable:function(){ 4691computeStyleTests(); 4692return boxSizingReliableVal; 4693}, 4694pixelBoxStyles:function(){ 4695computeStyleTests(); 4696return pixelBoxStylesVal; 4697}, 4698pixelPosition:function(){ 4699computeStyleTests(); 4700return pixelPositionVal; 4701}, 4702reliableMarginLeft:function(){ 4703computeStyleTests(); 4704return reliableMarginLeftVal; 4705}, 4706scrollboxSize:function(){ 4707computeStyleTests(); 4708return scrollboxSizeVal; 4709}, 4710reliableTrDimensions:function(){ 4711var table,tr,trChild,trStyle; 4712if(reliableTrDimensionsVal==null){ 4713table=document.createElement("table"); 4714tr=document.createElement("tr"); 4715trChild=document.createElement("div"); 4716table.style.cssText="position:absolute;left:-11111px;border-collapse:separate"; 4717tr.style.cssText="box-sizing:content-box;border:1px solid"; 4718tr.style.height="1px"; 4719trChild.style.height="9px"; 4720trChild.style.display="block"; 4721documentElement 4722.appendChild(table) 4723.appendChild(tr) 4724.appendChild(trChild); 4725trStyle=window.getComputedStyle(tr); 4726reliableTrDimensionsVal=(parseInt(trStyle.height,10)+ 4727parseInt(trStyle.borderTopWidth,10)+ 4728parseInt(trStyle.borderBottomWidth,10))===tr.offsetHeight; 4729documentElement.removeChild(table); 4730} 4731return reliableTrDimensionsVal; 4732} 4733}); 4734})(); 4735function curCSS(elem,name,computed){ 4736var width,minWidth,maxWidth,ret, 4737isCustomProp=rcustomProp.test(name), 4738style=elem.style; 4739computed=computed||getStyles(elem); 4740if(computed){ 4741ret=computed.getPropertyValue(name)||computed[name]; 4742if(isCustomProp&&ret){ 4743ret=ret.replace(rtrimCSS,"$1")||undefined; 4744} 4745if(ret===""&&!isAttached(elem)){ 4746ret=jQuery.style(elem,name); 4747} 4748if(!support.pixelBoxStyles()&&rnumnonpx.test(ret)&&rboxStyle.test(name)){ 4749width=style.width; 4750minWidth=style.minWidth; 4751maxWidth=style.maxWidth; 4752style.minWidth=style.maxWidth=style.width=ret; 4753ret=computed.width; 4754style.width=width; 4755style.minWidth=minWidth; 4756style.maxWidth=maxWidth; 4757} 4758} 4759return ret!==undefined? 4760ret+"": 4761ret; 4762} 4763function addGetHookIf(conditionFn,hookFn){ 4764return{ 4765get:function(){ 4766if(conditionFn()){ 4767delete this.get; 4768return; 4769} 4770return(this.get=hookFn).apply(this,arguments); 4771} 4772}; 4773} 4774var cssPrefixes=["Webkit","Moz","ms"], 4775emptyStyle=document.createElement("div").style, 4776vendorProps={}; 4777function vendorPropName(name){ 4778var capName=name[0].toUpperCase()+name.slice(1), 4779i=cssPrefixes.length; 4780while(i--){ 4781name=cssPrefixes[i]+capName; 4782if(name in emptyStyle){ 4783return name; 4784} 4785} 4786} 4787function finalPropName(name){ 4788var final=jQuery.cssProps[name]||vendorProps[name]; 4789if(final){ 4790return final; 4791} 4792if(name in emptyStyle){ 4793return name; 4794} 4795return vendorProps[name]=vendorPropName(name)||name; 4796} 4797var 4798rdisplayswap=/^(none|table(?!-c[ea]).+)/, 4799cssShow={position:"absolute",visibility:"hidden",display:"block"}, 4800cssNormalTransform={ 4801letterSpacing:"0", 4802fontWeight:"400" 4803}; 4804function setPositiveNumber(_elem,value,subtract){ 4805var matches=rcssNum.exec(value); 4806return matches? 4807Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"): 4808value; 4809} 4810function boxModelAdjustment(elem,dimension,box,isBorderBox,styles,computedVal){ 4811var i=dimension==="width"?1:0, 4812extra=0, 4813delta=0, 4814marginDelta=0; 4815if(box===(isBorderBox?"border":"content")){ 4816return 0; 4817} 4818for(;i<4;i+=2){ 4819if(box==="margin"){ 4820marginDelta+=jQuery.css(elem,box+cssExpand[i],true,styles); 4821} 4822if(!isBorderBox){ 4823delta+=jQuery.css(elem,"padding"+cssExpand[i],true,styles); 4824if(box!=="padding"){ 4825delta+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles); 4826}else{ 4827extra+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles); 4828} 4829}else{ 4830if(box==="content"){ 4831delta-=jQuery.css(elem,"padding"+cssExpand[i],true,styles); 4832} 4833if(box!=="margin"){ 4834delta-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles); 4835} 4836} 4837} 4838if(!isBorderBox&&computedVal>=0){ 4839delta+=Math.max(0,Math.ceil( 4840elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]- 4841computedVal- 4842delta- 4843extra- 48440.5 4845))||0; 4846} 4847return delta+marginDelta; 4848} 4849function getWidthOrHeight(elem,dimension,extra){ 4850var styles=getStyles(elem), 4851boxSizingNeeded=!support.boxSizingReliable()||extra, 4852isBorderBox=boxSizingNeeded&& 4853jQuery.css(elem,"boxSizing",false,styles)==="border-box", 4854valueIsBorderBox=isBorderBox, 4855val=curCSS(elem,dimension,styles), 4856offsetProp="offset"+dimension[0].toUpperCase()+dimension.slice(1); 4857if(rnumnonpx.test(val)){ 4858if(!extra){ 4859return val; 4860} 4861val="auto"; 4862} 4863if((!support.boxSizingReliable()&&isBorderBox|| 4864!support.reliableTrDimensions()&&nodeName(elem,"tr")|| 4865val==="auto"|| 4866!parseFloat(val)&&jQuery.css(elem,"display",false,styles)==="inline")&& 4867elem.getClientRects().length){ 4868isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box"; 4869valueIsBorderBox=offsetProp in elem; 4870if(valueIsBorderBox){ 4871val=elem[offsetProp]; 4872} 4873} 4874val=parseFloat(val)||0; 4875return(val+ 4876boxModelAdjustment( 4877elem, 4878dimension, 4879extra||(isBorderBox?"border":"content"), 4880valueIsBorderBox, 4881styles, 4882val 4883) 4884)+"px"; 4885} 4886jQuery.extend({ 4887cssHooks:{ 4888opacity:{ 4889get:function(elem,computed){ 4890if(computed){ 4891var ret=curCSS(elem,"opacity"); 4892return ret===""?"1":ret; 4893} 4894} 4895} 4896}, 4897cssNumber:{ 4898animationIterationCount:true, 4899aspectRatio:true, 4900borderImageSlice:true, 4901columnCount:true, 4902flexGrow:true, 4903flexShrink:true, 4904fontWeight:true, 4905gridArea:true, 4906gridColumn:true, 4907gridColumnEnd:true, 4908gridColumnStart:true, 4909gridRow:true, 4910gridRowEnd:true, 4911gridRowStart:true, 4912lineHeight:true, 4913opacity:true, 4914order:true, 4915orphans:true, 4916scale:true, 4917widows:true, 4918zIndex:true, 4919zoom:true, 4920fillOpacity:true, 4921floodOpacity:true, 4922stopOpacity:true, 4923strokeMiterlimit:true, 4924strokeOpacity:true 4925}, 4926cssProps:{}, 4927style:function(elem,name,value,extra){ 4928if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){ 4929return; 4930} 4931var ret,type,hooks, 4932origName=camelCase(name), 4933isCustomProp=rcustomProp.test(name), 4934style=elem.style; 4935if(!isCustomProp){ 4936name=finalPropName(origName); 4937} 4938hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName]; 4939if(value!==undefined){ 4940type=typeof value; 4941if(type==="string"&&(ret=rcssNum.exec(value))&&ret[1]){ 4942value=adjustCSS(elem,name,ret); 4943type="number"; 4944} 4945if(value==null||value!==value){ 4946return; 4947} 4948if(type==="number"&&!isCustomProp){ 4949value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px"); 4950} 4951if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){ 4952style[name]="inherit"; 4953} 4954if(!hooks||!("set"in hooks)|| 4955(value=hooks.set(elem,value,extra))!==undefined){ 4956if(isCustomProp){ 4957style.setProperty(name,value); 4958}else{ 4959style[name]=value; 4960} 4961} 4962}else{ 4963if(hooks&&"get"in hooks&& 4964(ret=hooks.get(elem,false,extra))!==undefined){ 4965return ret; 4966} 4967return style[name]; 4968} 4969}, 4970css:function(elem,name,extra,styles){ 4971var val,num,hooks, 4972origName=camelCase(name), 4973isCustomProp=rcustomProp.test(name); 4974if(!isCustomProp){ 4975name=finalPropName(origName); 4976} 4977hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName]; 4978if(hooks&&"get"in hooks){ 4979val=hooks.get(elem,true,extra); 4980} 4981if(val===undefined){ 4982val=curCSS(elem,name,styles); 4983} 4984if(val==="normal"&&name in cssNormalTransform){ 4985val=cssNormalTransform[name]; 4986} 4987if(extra===""||extra){ 4988num=parseFloat(val); 4989return extra===true||isFinite(num)?num||0:val; 4990} 4991return val; 4992} 4993}); 4994jQuery.each(["height","width"],function(_i,dimension){ 4995jQuery.cssHooks[dimension]={ 4996get:function(elem,computed,extra){ 4997if(computed){ 4998return rdisplayswap.test(jQuery.css(elem,"display"))&& 4999(!elem.getClientRects().length||!elem.getBoundingClientRect().width)? 5000swap(elem,cssShow,function(){ 5001return getWidthOrHeight(elem,dimension,extra); 5002}): 5003getWidthOrHeight(elem,dimension,extra); 5004} 5005}, 5006set:function(elem,value,extra){ 5007var matches, 5008styles=getStyles(elem), 5009scrollboxSizeBuggy=!support.scrollboxSize()&& 5010styles.position==="absolute", 5011boxSizingNeeded=scrollboxSizeBuggy||extra, 5012isBorderBox=boxSizingNeeded&& 5013jQuery.css(elem,"boxSizing",false,styles)==="border-box", 5014subtract=extra? 5015boxModelAdjustment( 5016elem, 5017dimension, 5018extra, 5019isBorderBox, 5020styles 5021): 50220; 5023if(isBorderBox&&scrollboxSizeBuggy){ 5024subtract-=Math.ceil( 5025elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]- 5026parseFloat(styles[dimension])- 5027boxModelAdjustment(elem,dimension,"border",false,styles)- 50280.5 5029); 5030} 5031if(subtract&&(matches=rcssNum.exec(value))&& 5032(matches[3]||"px")!=="px"){ 5033elem.style[dimension]=value; 5034value=jQuery.css(elem,dimension); 5035} 5036return setPositiveNumber(elem,value,subtract); 5037} 5038}; 5039}); 5040jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft, 5041function(elem,computed){ 5042if(computed){ 5043return(parseFloat(curCSS(elem,"marginLeft"))|| 5044elem.getBoundingClientRect().left- 5045swap(elem,{marginLeft:0},function(){ 5046return elem.getBoundingClientRect().left; 5047}) 5048)+"px"; 5049} 5050} 5051); 5052jQuery.each({ 5053margin:"", 5054padding:"", 5055border:"Width" 5056},function(prefix,suffix){ 5057jQuery.cssHooks[prefix+suffix]={ 5058expand:function(value){ 5059var i=0, 5060expanded={}, 5061parts=typeof value==="string"?value.split(" "):[value]; 5062for(;i<4;i++){ 5063expanded[prefix+cssExpand[i]+suffix]= 5064parts[i]||parts[i-2]||parts[0]; 5065} 5066return expanded; 5067} 5068}; 5069if(prefix!=="margin"){ 5070jQuery.cssHooks[prefix+suffix].set=setPositiveNumber; 5071} 5072}); 5073jQuery.fn.extend({ 5074css:function(name,value){ 5075return access(this,function(elem,name,value){ 5076var styles,len, 5077map={}, 5078i=0; 5079if(Array.isArray(name)){ 5080styles=getStyles(elem); 5081len=name.length; 5082for(;i<len;i++){ 5083map[name[i]]=jQuery.css(elem,name[i],false,styles); 5084} 5085return map; 5086} 5087return value!==undefined? 5088jQuery.style(elem,name,value): 5089jQuery.css(elem,name); 5090},name,value,arguments.length>1); 5091} 5092}); 5093function Tween(elem,options,prop,end,easing){ 5094return new Tween.prototype.init(elem,options,prop,end,easing); 5095} 5096jQuery.Tween=Tween; 5097Tween.prototype={ 5098constructor:Tween, 5099init:function(elem,options,prop,end,easing,unit){ 5100this.elem=elem; 5101this.prop=prop; 5102this.easing=easing||jQuery.easing._default; 5103this.options=options; 5104this.start=this.now=this.cur(); 5105this.end=end; 5106this.unit=unit||(jQuery.cssNumber[prop]?"":"px"); 5107}, 5108cur:function(){ 5109var hooks=Tween.propHooks[this.prop]; 5110return hooks&&hooks.get? 5111hooks.get(this): 5112Tween.propHooks._default.get(this); 5113}, 5114run:function(percent){ 5115var eased, 5116hooks=Tween.propHooks[this.prop]; 5117if(this.options.duration){ 5118this.pos=eased=jQuery.easing[this.easing]( 5119percent,this.options.duration*percent,0,1,this.options.duration 5120); 5121}else{ 5122this.pos=eased=percent; 5123} 5124this.now=(this.end-this.start)*eased+this.start; 5125if(this.options.step){ 5126this.options.step.call(this.elem,this.now,this); 5127} 5128if(hooks&&hooks.set){ 5129hooks.set(this); 5130}else{ 5131Tween.propHooks._default.set(this); 5132} 5133return this; 5134} 5135}; 5136Tween.prototype.init.prototype=Tween.prototype; 5137Tween.propHooks={ 5138_default:{ 5139get:function(tween){ 5140var result; 5141if(tween.elem.nodeType!==1|| 5142tween.elem[tween.prop]!=null&&tween.elem.style[tween.prop]==null){ 5143return tween.elem[tween.prop]; 5144} 5145result=jQuery.css(tween.elem,tween.prop,""); 5146return!result||result==="auto"?0:result; 5147}, 5148set:function(tween){ 5149if(jQuery.fx.step[tween.prop]){ 5150jQuery.fx.step[tween.prop](tween); 5151}else if(tween.elem.nodeType===1&&( 5152jQuery.cssHooks[tween.prop]|| 5153tween.elem.style[finalPropName(tween.prop)]!=null)){ 5154jQuery.style(tween.elem,tween.prop,tween.now+tween.unit); 5155}else{ 5156tween.elem[tween.prop]=tween.now; 5157} 5158} 5159} 5160}; 5161Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={ 5162set:function(tween){ 5163if(tween.elem.nodeType&&tween.elem.parentNode){ 5164tween.elem[tween.prop]=tween.now; 5165} 5166} 5167}; 5168jQuery.easing={ 5169linear:function(p){ 5170return p; 5171}, 5172swing:function(p){ 5173return 0.5-Math.cos(p*Math.PI)/2; 5174}, 5175_default:"swing" 5176}; 5177jQuery.fx=Tween.prototype.init; 5178jQuery.fx.step={}; 5179var 5180fxNow,inProgress, 5181rfxtypes=/^(?:toggle|show|hide)$/, 5182rrun=/queueHooks$/; 5183function schedule(){ 5184if(inProgress){ 5185if(document.hidden===false&&window.requestAnimationFrame){ 5186window.requestAnimationFrame(schedule); 5187}else{ 5188window.setTimeout(schedule,jQuery.fx.interval); 5189} 5190jQuery.fx.tick(); 5191} 5192} 5193function createFxNow(){ 5194window.setTimeout(function(){ 5195fxNow=undefined; 5196}); 5197return(fxNow=Date.now()); 5198} 5199function genFx(type,includeWidth){ 5200var which, 5201i=0, 5202attrs={height:type}; 5203includeWidth=includeWidth?1:0; 5204for(;i<4;i+=2-includeWidth){ 5205which=cssExpand[i]; 5206attrs["margin"+which]=attrs["padding"+which]=type; 5207} 5208if(includeWidth){ 5209attrs.opacity=attrs.width=type; 5210} 5211return attrs; 5212} 5213function createTween(value,prop,animation){ 5214var tween, 5215collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]), 5216index=0, 5217length=collection.length; 5218for(;index<length;index++){ 5219if((tween=collection[index].call(animation,prop,value))){ 5220return tween; 5221} 5222} 5223} 5224function defaultPrefilter(elem,props,opts){ 5225var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display, 5226isBox="width"in props||"height"in props, 5227anim=this, 5228orig={}, 5229style=elem.style, 5230hidden=elem.nodeType&&isHiddenWithinTree(elem), 5231dataShow=dataPriv.get(elem,"fxshow"); 5232if(!opts.queue){ 5233hooks=jQuery._queueHooks(elem,"fx"); 5234if(hooks.unqueued==null){ 5235hooks.unqueued=0; 5236oldfire=hooks.empty.fire; 5237hooks.empty.fire=function(){ 5238if(!hooks.unqueued){ 5239oldfire(); 5240} 5241}; 5242} 5243hooks.unqueued++; 5244anim.always(function(){ 5245anim.always(function(){ 5246hooks.unqueued--; 5247if(!jQuery.queue(elem,"fx").length){ 5248hooks.empty.fire(); 5249} 5250}); 5251}); 5252} 5253for(prop in props){ 5254value=props[prop]; 5255if(rfxtypes.test(value)){ 5256delete props[prop]; 5257toggle=toggle||value==="toggle"; 5258if(value===(hidden?"hide":"show")){ 5259if(value==="show"&&dataShow&&dataShow[prop]!==undefined){ 5260hidden=true; 5261}else{ 5262continue; 5263} 5264} 5265orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop); 5266} 5267} 5268propTween=!jQuery.isEmptyObject(props); 5269if(!propTween&&jQuery.isEmptyObject(orig)){ 5270return; 5271} 5272if(isBox&&elem.nodeType===1){ 5273opts.overflow=[style.overflow,style.overflowX,style.overflowY]; 5274restoreDisplay=dataShow&&dataShow.display; 5275if(restoreDisplay==null){ 5276restoreDisplay=dataPriv.get(elem,"display"); 5277} 5278display=jQuery.css(elem,"display"); 5279if(display==="none"){ 5280if(restoreDisplay){ 5281display=restoreDisplay; 5282}else{ 5283showHide([elem],true); 5284restoreDisplay=elem.style.display||restoreDisplay; 5285display=jQuery.css(elem,"display"); 5286showHide([elem]); 5287} 5288} 5289if(display==="inline"||display==="inline-block"&&restoreDisplay!=null){ 5290if(jQuery.css(elem,"float")==="none"){ 5291if(!propTween){ 5292anim.done(function(){ 5293style.display=restoreDisplay; 5294}); 5295if(restoreDisplay==null){ 5296display=style.display; 5297restoreDisplay=display==="none"?"":display; 5298} 5299} 5300style.display="inline-block"; 5301} 5302} 5303} 5304if(opts.overflow){ 5305style.overflow="hidden"; 5306anim.always(function(){ 5307style.overflow=opts.overflow[0]; 5308style.overflowX=opts.overflow[1]; 5309style.overflowY=opts.overflow[2]; 5310}); 5311} 5312propTween=false; 5313for(prop in orig){ 5314if(!propTween){ 5315if(dataShow){ 5316if("hidden"in dataShow){ 5317hidden=dataShow.hidden; 5318} 5319}else{ 5320dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay}); 5321} 5322if(toggle){ 5323dataShow.hidden=!hidden; 5324} 5325if(hidden){ 5326showHide([elem],true); 5327} 5328anim.done(function(){ 5329if(!hidden){ 5330showHide([elem]); 5331} 5332dataPriv.remove(elem,"fxshow"); 5333for(prop in orig){ 5334jQuery.style(elem,prop,orig[prop]); 5335} 5336}); 5337} 5338propTween=createTween(hidden?dataShow[prop]:0,prop,anim); 5339if(!(prop in dataShow)){ 5340dataShow[prop]=propTween.start; 5341if(hidden){ 5342propTween.end=propTween.start; 5343propTween.start=0; 5344} 5345} 5346} 5347} 5348function propFilter(props,specialEasing){ 5349var index,name,easing,value,hooks; 5350for(index in props){ 5351name=camelCase(index); 5352easing=specialEasing[name]; 5353value=props[index]; 5354if(Array.isArray(value)){ 5355easing=value[1]; 5356value=props[index]=value[0]; 5357} 5358if(index!==name){ 5359props[name]=value; 5360delete props[index]; 5361} 5362hooks=jQuery.cssHooks[name]; 5363if(hooks&&"expand"in hooks){ 5364value=hooks.expand(value); 5365delete props[name]; 5366for(index in value){ 5367if(!(index in props)){ 5368props[index]=value[index]; 5369specialEasing[index]=easing; 5370} 5371} 5372}else{ 5373specialEasing[name]=easing; 5374} 5375} 5376} 5377function Animation(elem,properties,options){ 5378var result, 5379stopped, 5380index=0, 5381length=Animation.prefilters.length, 5382deferred=jQuery.Deferred().always(function(){ 5383delete tick.elem; 5384}), 5385tick=function(){ 5386if(stopped){ 5387return false; 5388} 5389var currentTime=fxNow||createFxNow(), 5390remaining=Math.max(0,animation.startTime+animation.duration-currentTime), 5391temp=remaining/animation.duration||0, 5392percent=1-temp, 5393index=0, 5394length=animation.tweens.length; 5395for(;index<length;index++){ 5396animation.tweens[index].run(percent); 5397} 5398deferred.notifyWith(elem,[animation,percent,remaining]); 5399if(percent<1&&length){ 5400return remaining; 5401} 5402if(!length){ 5403deferred.notifyWith(elem,[animation,1,0]); 5404} 5405deferred.resolveWith(elem,[animation]); 5406return false; 5407}, 5408animation=deferred.promise({ 5409elem:elem, 5410props:jQuery.extend({},properties), 5411opts:jQuery.extend(true,{ 5412specialEasing:{}, 5413easing:jQuery.easing._default 5414},options), 5415originalProperties:properties, 5416originalOptions:options, 5417startTime:fxNow||createFxNow(), 5418duration:options.duration, 5419tweens:[], 5420createTween:function(prop,end){ 5421var tween=jQuery.Tween(elem,animation.opts,prop,end, 5422animation.opts.specialEasing[prop]||animation.opts.easing); 5423animation.tweens.push(tween); 5424return tween; 5425}, 5426stop:function(gotoEnd){ 5427var index=0, 5428length=gotoEnd?animation.tweens.length:0; 5429if(stopped){ 5430return this; 5431} 5432stopped=true; 5433for(;index<length;index++){ 5434animation.tweens[index].run(1); 5435} 5436if(gotoEnd){ 5437deferred.notifyWith(elem,[animation,1,0]); 5438deferred.resolveWith(elem,[animation,gotoEnd]); 5439}else{ 5440deferred.rejectWith(elem,[animation,gotoEnd]); 5441} 5442return this; 5443} 5444}), 5445props=animation.props; 5446propFilter(props,animation.opts.specialEasing); 5447for(;index<length;index++){ 5448result=Animation.prefilters[index].call(animation,elem,props,animation.opts); 5449if(result){ 5450if(isFunction(result.stop)){ 5451jQuery._queueHooks(animation.elem,animation.opts.queue).stop= 5452result.stop.bind(result); 5453} 5454return result; 5455} 5456} 5457jQuery.map(props,createTween,animation); 5458if(isFunction(animation.opts.start)){ 5459animation.opts.start.call(elem,animation); 5460} 5461animation 5462.progress(animation.opts.progress) 5463.done(animation.opts.done,animation.opts.complete) 5464.fail(animation.opts.fail) 5465.always(animation.opts.always); 5466jQuery.fx.timer( 5467jQuery.extend(tick,{ 5468elem:elem, 5469anim:animation, 5470queue:animation.opts.queue 5471}) 5472); 5473return animation; 5474} 5475jQuery.Animation=jQuery.extend(Animation,{ 5476tweeners:{ 5477"*":[function(prop,value){ 5478var tween=this.createTween(prop,value); 5479adjustCSS(tween.elem,prop,rcssNum.exec(value),tween); 5480return tween; 5481}] 5482}, 5483tweener:function(props,callback){ 5484if(isFunction(props)){ 5485callback=props; 5486props=["*"]; 5487}else{ 5488props=props.match(rnothtmlwhite); 5489} 5490var prop, 5491index=0, 5492length=props.length; 5493for(;index<length;index++){ 5494prop=props[index]; 5495Animation.tweeners[prop]=Animation.tweeners[prop]||[]; 5496Animation.tweeners[prop].unshift(callback); 5497} 5498}, 5499prefilters:[defaultPrefilter], 5500prefilter:function(callback,prepend){ 5501if(prepend){ 5502Animation.prefilters.unshift(callback); 5503}else{ 5504Animation.prefilters.push(callback); 5505} 5506} 5507}); 5508jQuery.speed=function(speed,easing,fn){ 5509var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{ 5510complete:fn||!fn&&easing|| 5511isFunction(speed)&&speed, 5512duration:speed, 5513easing:fn&&easing||easing&&!isFunction(easing)&&easing 5514}; 5515if(jQuery.fx.off){ 5516opt.duration=0; 5517}else{ 5518if(typeof opt.duration!=="number"){ 5519if(opt.duration in jQuery.fx.speeds){ 5520opt.duration=jQuery.fx.speeds[opt.duration]; 5521}else{ 5522opt.duration=jQuery.fx.speeds._default; 5523} 5524} 5525} 5526if(opt.queue==null||opt.queue===true){ 5527opt.queue="fx"; 5528} 5529opt.old=opt.complete; 5530opt.complete=function(){ 5531if(isFunction(opt.old)){ 5532opt.old.call(this); 5533} 5534if(opt.queue){ 5535jQuery.dequeue(this,opt.queue); 5536} 5537}; 5538return opt; 5539}; 5540jQuery.fn.extend({ 5541fadeTo:function(speed,to,easing,callback){ 5542return this.filter(isHiddenWithinTree).css("opacity",0).show() 5543.end().animate({opacity:to},speed,easing,callback); 5544}, 5545animate:function(prop,speed,easing,callback){ 5546var empty=jQuery.isEmptyObject(prop), 5547optall=jQuery.speed(speed,easing,callback), 5548doAnimation=function(){ 5549var anim=Animation(this,jQuery.extend({},prop),optall); 5550if(empty||dataPriv.get(this,"finish")){ 5551anim.stop(true); 5552} 5553}; 5554doAnimation.finish=doAnimation; 5555return empty||optall.queue===false? 5556this.each(doAnimation): 5557this.queue(optall.queue,doAnimation); 5558}, 5559stop:function(type,clearQueue,gotoEnd){ 5560var stopQueue=function(hooks){ 5561var stop=hooks.stop; 5562delete hooks.stop; 5563stop(gotoEnd); 5564}; 5565if(typeof type!=="string"){ 5566gotoEnd=clearQueue; 5567clearQueue=type; 5568type=undefined; 5569} 5570if(clearQueue){ 5571this.queue(type||"fx",[]); 5572} 5573return this.each(function(){ 5574var dequeue=true, 5575index=type!=null&&type+"queueHooks", 5576timers=jQuery.timers, 5577data=dataPriv.get(this); 5578if(index){ 5579if(data[index]&&data[index].stop){ 5580stopQueue(data[index]); 5581} 5582}else{ 5583for(index in data){ 5584if(data[index]&&data[index].stop&&rrun.test(index)){ 5585stopQueue(data[index]); 5586} 5587} 5588} 5589for(index=timers.length;index--;){ 5590if(timers[index].elem===this&& 5591(type==null||timers[index].queue===type)){ 5592timers[index].anim.stop(gotoEnd); 5593dequeue=false; 5594timers.splice(index,1); 5595} 5596} 5597if(dequeue||!gotoEnd){ 5598jQuery.dequeue(this,type); 5599} 5600}); 5601}, 5602finish:function(type){ 5603if(type!==false){ 5604type=type||"fx"; 5605} 5606return this.each(function(){ 5607var index, 5608data=dataPriv.get(this), 5609queue=data[type+"queue"], 5610hooks=data[type+"queueHooks"], 5611timers=jQuery.timers, 5612length=queue?queue.length:0; 5613data.finish=true; 5614jQuery.queue(this,type,[]); 5615if(hooks&&hooks.stop){ 5616hooks.stop.call(this,true); 5617} 5618for(index=timers.length;index--;){ 5619if(timers[index].elem===this&&timers[index].queue===type){ 5620timers[index].anim.stop(true); 5621timers.splice(index,1); 5622} 5623} 5624for(index=0;index<length;index++){ 5625if(queue[index]&&queue[index].finish){ 5626queue[index].finish.call(this); 5627} 5628} 5629delete data.finish; 5630}); 5631} 5632}); 5633jQuery.each(["toggle","show","hide"],function(_i,name){ 5634var cssFn=jQuery.fn[name]; 5635jQuery.fn[name]=function(speed,easing,callback){ 5636return speed==null||typeof speed==="boolean"? 5637cssFn.apply(this,arguments): 5638this.animate(genFx(name,true),speed,easing,callback); 5639}; 5640}); 5641jQuery.each({ 5642slideDown:genFx("show"), 5643slideUp:genFx("hide"), 5644slideToggle:genFx("toggle"), 5645fadeIn:{opacity:"show"}, 5646fadeOut:{opacity:"hide"}, 5647fadeToggle:{opacity:"toggle"} 5648},function(name,props){ 5649jQuery.fn[name]=function(speed,easing,callback){ 5650return this.animate(props,speed,easing,callback); 5651}; 5652}); 5653jQuery.timers=[]; 5654jQuery.fx.tick=function(){ 5655var timer, 5656i=0, 5657timers=jQuery.timers; 5658fxNow=Date.now(); 5659for(;i<timers.length;i++){ 5660timer=timers[i]; 5661if(!timer()&&timers[i]===timer){ 5662timers.splice(i--,1); 5663} 5664} 5665if(!timers.length){ 5666jQuery.fx.stop(); 5667} 5668fxNow=undefined; 5669}; 5670jQuery.fx.timer=function(timer){ 5671jQuery.timers.push(timer); 5672jQuery.fx.start(); 5673}; 5674jQuery.fx.interval=13; 5675jQuery.fx.start=function(){ 5676if(inProgress){ 5677return; 5678} 5679inProgress=true; 5680schedule(); 5681}; 5682jQuery.fx.stop=function(){ 5683inProgress=null; 5684}; 5685jQuery.fx.speeds={ 5686slow:600, 5687fast:200, 5688_default:400 5689}; 5690jQuery.fn.delay=function(time,type){ 5691time=jQuery.fx?jQuery.fx.speeds[time]||time:time; 5692type=type||"fx"; 5693return this.queue(type,function(next,hooks){ 5694var timeout=window.setTimeout(next,time); 5695hooks.stop=function(){ 5696window.clearTimeout(timeout); 5697}; 5698}); 5699}; 5700(function(){ 5701var input=document.createElement("input"), 5702select=document.createElement("select"), 5703opt=select.appendChild(document.createElement("option")); 5704input.type="checkbox"; 5705support.checkOn=input.value!==""; 5706support.optSelected=opt.selected; 5707input=document.createElement("input"); 5708input.value="t"; 5709input.type="radio"; 5710support.radioValue=input.value==="t"; 5711})(); 5712var boolHook, 5713attrHandle=jQuery.expr.attrHandle; 5714jQuery.fn.extend({ 5715attr:function(name,value){ 5716return access(this,jQuery.attr,name,value,arguments.length>1); 5717}, 5718removeAttr:function(name){ 5719return this.each(function(){ 5720jQuery.removeAttr(this,name); 5721}); 5722} 5723}); 5724jQuery.extend({ 5725attr:function(elem,name,value){ 5726var ret,hooks, 5727nType=elem.nodeType; 5728if(nType===3||nType===8||nType===2){ 5729return; 5730} 5731if(typeof elem.getAttribute==="undefined"){ 5732return jQuery.prop(elem,name,value); 5733} 5734if(nType!==1||!jQuery.isXMLDoc(elem)){ 5735hooks=jQuery.attrHooks[name.toLowerCase()]|| 5736(jQuery.expr.match.bool.test(name)?boolHook:undefined); 5737} 5738if(value!==undefined){ 5739if(value===null){ 5740jQuery.removeAttr(elem,name); 5741return; 5742} 5743if(hooks&&"set"in hooks&& 5744(ret=hooks.set(elem,value,name))!==undefined){ 5745return ret; 5746} 5747elem.setAttribute(name,value+""); 5748return value; 5749} 5750if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){ 5751return ret; 5752} 5753ret=jQuery.find.attr(elem,name); 5754return ret==null?undefined:ret; 5755}, 5756attrHooks:{ 5757type:{ 5758set:function(elem,value){ 5759if(!support.radioValue&&value==="radio"&& 5760nodeName(elem,"input")){ 5761var val=elem.value; 5762elem.setAttribute("type",value); 5763if(val){ 5764elem.value=val; 5765} 5766return value; 5767} 5768} 5769} 5770}, 5771removeAttr:function(elem,value){ 5772var name, 5773i=0, 5774attrNames=value&&value.match(rnothtmlwhite); 5775if(attrNames&&elem.nodeType===1){ 5776while((name=attrNames[i++])){ 5777elem.removeAttribute(name); 5778} 5779} 5780} 5781}); 5782boolHook={ 5783set:function(elem,value,name){ 5784if(value===false){ 5785jQuery.removeAttr(elem,name); 5786}else{ 5787elem.setAttribute(name,name); 5788} 5789return name; 5790} 5791}; 5792jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(_i,name){ 5793var getter=attrHandle[name]||jQuery.find.attr; 5794attrHandle[name]=function(elem,name,isXML){ 5795var ret,handle, 5796lowercaseName=name.toLowerCase(); 5797if(!isXML){ 5798handle=attrHandle[lowercaseName]; 5799attrHandle[lowercaseName]=ret; 5800ret=getter(elem,name,isXML)!=null? 5801lowercaseName: 5802null; 5803attrHandle[lowercaseName]=handle; 5804} 5805return ret; 5806}; 5807}); 5808var rfocusable=/^(?:input|select|textarea|button)$/i, 5809rclickable=/^(?:a|area)$/i; 5810jQuery.fn.extend({ 5811prop:function(name,value){ 5812return access(this,jQuery.prop,name,value,arguments.length>1); 5813}, 5814removeProp:function(name){ 5815return this.each(function(){ 5816delete this[jQuery.propFix[name]||name]; 5817}); 5818} 5819}); 5820jQuery.extend({ 5821prop:function(elem,name,value){ 5822var ret,hooks, 5823nType=elem.nodeType; 5824if(nType===3||nType===8||nType===2){ 5825return; 5826} 5827if(nType!==1||!jQuery.isXMLDoc(elem)){ 5828name=jQuery.propFix[name]||name; 5829hooks=jQuery.propHooks[name]; 5830} 5831if(value!==undefined){ 5832if(hooks&&"set"in hooks&& 5833(ret=hooks.set(elem,value,name))!==undefined){ 5834return ret; 5835} 5836return(elem[name]=value); 5837} 5838if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){ 5839return ret; 5840} 5841return elem[name]; 5842}, 5843propHooks:{ 5844tabIndex:{ 5845get:function(elem){ 5846var tabindex=jQuery.find.attr(elem,"tabindex"); 5847if(tabindex){ 5848return parseInt(tabindex,10); 5849} 5850if( 5851rfocusable.test(elem.nodeName)|| 5852rclickable.test(elem.nodeName)&& 5853elem.href 5854){ 5855return 0; 5856} 5857return-1; 5858} 5859} 5860}, 5861propFix:{ 5862"for":"htmlFor", 5863"class":"className" 5864} 5865}); 5866if(!support.optSelected){ 5867jQuery.propHooks.selected={ 5868get:function(elem){ 5869var parent=elem.parentNode; 5870if(parent&&parent.parentNode){ 5871parent.parentNode.selectedIndex; 5872} 5873return null; 5874}, 5875set:function(elem){ 5876var parent=elem.parentNode; 5877if(parent){ 5878parent.selectedIndex; 5879if(parent.parentNode){ 5880parent.parentNode.selectedIndex; 5881} 5882} 5883} 5884}; 5885} 5886jQuery.each([ 5887"tabIndex", 5888"readOnly", 5889"maxLength", 5890"cellSpacing", 5891"cellPadding", 5892"rowSpan", 5893"colSpan", 5894"useMap", 5895"frameBorder", 5896"contentEditable" 5897],function(){ 5898jQuery.propFix[this.toLowerCase()]=this; 5899}); 5900function stripAndCollapse(value){ 5901var tokens=value.match(rnothtmlwhite)||[]; 5902return tokens.join(" "); 5903} 5904function getClass(elem){ 5905return elem.getAttribute&&elem.getAttribute("class")||""; 5906} 5907function classesToArray(value){ 5908if(Array.isArray(value)){ 5909return value; 5910} 5911if(typeof value==="string"){ 5912return value.match(rnothtmlwhite)||[]; 5913} 5914return[]; 5915} 5916jQuery.fn.extend({ 5917addClass:function(value){ 5918var classNames,cur,curValue,className,i,finalValue; 5919if(isFunction(value)){ 5920return this.each(function(j){ 5921jQuery(this).addClass(value.call(this,j,getClass(this))); 5922}); 5923} 5924classNames=classesToArray(value); 5925if(classNames.length){ 5926return this.each(function(){ 5927curValue=getClass(this); 5928cur=this.nodeType===1&&(" "+stripAndCollapse(curValue)+" "); 5929if(cur){ 5930for(i=0;i<classNames.length;i++){ 5931className=classNames[i]; 5932if(cur.indexOf(" "+className+" ")<0){ 5933cur+=className+" "; 5934} 5935} 5936finalValue=stripAndCollapse(cur); 5937if(curValue!==finalValue){ 5938this.setAttribute("class",finalValue); 5939} 5940} 5941}); 5942} 5943return this; 5944}, 5945removeClass:function(value){ 5946var classNames,cur,curValue,className,i,finalValue; 5947if(isFunction(value)){ 5948return this.each(function(j){ 5949jQuery(this).removeClass(value.call(this,j,getClass(this))); 5950}); 5951} 5952if(!arguments.length){ 5953return this.attr("class",""); 5954} 5955classNames=classesToArray(value); 5956if(classNames.length){ 5957return this.each(function(){ 5958curValue=getClass(this); 5959cur=this.nodeType===1&&(" "+stripAndCollapse(curValue)+" "); 5960if(cur){ 5961for(i=0;i<classNames.length;i++){ 5962className=classNames[i]; 5963while(cur.indexOf(" "+className+" ")>-1){ 5964cur=cur.replace(" "+className+" "," "); 5965} 5966} 5967finalValue=stripAndCollapse(cur); 5968if(curValue!==finalValue){ 5969this.setAttribute("class",finalValue); 5970} 5971} 5972}); 5973} 5974return this; 5975}, 5976toggleClass:function(value,stateVal){ 5977var classNames,className,i,self, 5978type=typeof value, 5979isValidValue=type==="string"||Array.isArray(value); 5980if(isFunction(value)){ 5981return this.each(function(i){ 5982jQuery(this).toggleClass( 5983value.call(this,i,getClass(this),stateVal), 5984stateVal 5985); 5986}); 5987} 5988if(typeof stateVal==="boolean"&&isValidValue){ 5989return stateVal?this.addClass(value):this.removeClass(value); 5990} 5991classNames=classesToArray(value); 5992return this.each(function(){ 5993if(isValidValue){ 5994self=jQuery(this); 5995for(i=0;i<classNames.length;i++){ 5996className=classNames[i]; 5997if(self.hasClass(className)){ 5998self.removeClass(className); 5999}else{ 6000self.addClass(className); 6001} 6002} 6003}else if(value===undefined||type==="boolean"){ 6004className=getClass(this); 6005if(className){ 6006dataPriv.set(this,"__className__",className); 6007} 6008if(this.setAttribute){ 6009this.setAttribute("class", 6010className||value===false? 6011"": 6012dataPriv.get(this,"__className__")||"" 6013); 6014} 6015} 6016}); 6017}, 6018hasClass:function(selector){ 6019var className,elem, 6020i=0; 6021className=" "+selector+" "; 6022while((elem=this[i++])){ 6023if(elem.nodeType===1&& 6024(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className)>-1){ 6025return true; 6026} 6027} 6028return false; 6029} 6030}); 6031var rreturn=/\r/g; 6032jQuery.fn.extend({ 6033val:function(value){ 6034var hooks,ret,valueIsFunction, 6035elem=this[0]; 6036if(!arguments.length){ 6037if(elem){ 6038hooks=jQuery.valHooks[elem.type]|| 6039jQuery.valHooks[elem.nodeName.toLowerCase()]; 6040if(hooks&& 6041"get"in hooks&& 6042(ret=hooks.get(elem,"value"))!==undefined 6043){ 6044return ret; 6045} 6046ret=elem.value; 6047if(typeof ret==="string"){ 6048return ret.replace(rreturn,""); 6049} 6050return ret==null?"":ret; 6051} 6052return; 6053} 6054valueIsFunction=isFunction(value); 6055return this.each(function(i){ 6056var val; 6057if(this.nodeType!==1){ 6058return; 6059} 6060if(valueIsFunction){ 6061val=value.call(this,i,jQuery(this).val()); 6062}else{ 6063val=value; 6064} 6065if(val==null){ 6066val=""; 6067}else if(typeof val==="number"){ 6068val+=""; 6069}else if(Array.isArray(val)){ 6070val=jQuery.map(val,function(value){ 6071return value==null?"":value+""; 6072}); 6073} 6074hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()]; 6075if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){ 6076this.value=val; 6077} 6078}); 6079} 6080}); 6081jQuery.extend({ 6082valHooks:{ 6083option:{ 6084get:function(elem){ 6085var val=jQuery.find.attr(elem,"value"); 6086return val!=null? 6087val: 6088stripAndCollapse(jQuery.text(elem)); 6089} 6090}, 6091select:{ 6092get:function(elem){ 6093var value,option,i, 6094options=elem.options, 6095index=elem.selectedIndex, 6096one=elem.type==="select-one", 6097values=one?null:[], 6098max=one?index+1:options.length; 6099if(index<0){ 6100i=max; 6101}else{ 6102i=one?index:0; 6103} 6104for(;i<max;i++){ 6105option=options[i]; 6106if((option.selected||i===index)&& 6107!option.disabled&& 6108(!option.parentNode.disabled|| 6109!nodeName(option.parentNode,"optgroup"))){ 6110value=jQuery(option).val(); 6111if(one){ 6112return value; 6113} 6114values.push(value); 6115} 6116} 6117return values; 6118}, 6119set:function(elem,value){ 6120var optionSet,option, 6121options=elem.options, 6122values=jQuery.makeArray(value), 6123i=options.length; 6124while(i--){ 6125option=options[i]; 6126if(option.selected= 6127jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1 6128){ 6129optionSet=true; 6130} 6131} 6132if(!optionSet){ 6133elem.selectedIndex=-1; 6134} 6135return values; 6136} 6137} 6138} 6139}); 6140jQuery.each(["radio","checkbox"],function(){ 6141jQuery.valHooks[this]={ 6142set:function(elem,value){ 6143if(Array.isArray(value)){ 6144return(elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1); 6145} 6146} 6147}; 6148if(!support.checkOn){ 6149jQuery.valHooks[this].get=function(elem){ 6150return elem.getAttribute("value")===null?"on":elem.value; 6151}; 6152} 6153}); 6154var location=window.location; 6155var nonce={guid:Date.now()}; 6156var rquery=(/\?/); 6157jQuery.parseXML=function(data){ 6158var xml,parserErrorElem; 6159if(!data||typeof data!=="string"){ 6160return null; 6161} 6162try{ 6163xml=(new window.DOMParser()).parseFromString(data,"text/xml"); 6164}catch(e){} 6165parserErrorElem=xml&&xml.getElementsByTagName("parsererror")[0]; 6166if(!xml||parserErrorElem){ 6167jQuery.error("Invalid XML: "+( 6168parserErrorElem? 6169jQuery.map(parserErrorElem.childNodes,function(el){ 6170return el.textContent; 6171}).join("\n"): 6172data 6173)); 6174} 6175return xml; 6176}; 6177var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/, 6178stopPropagationCallback=function(e){ 6179e.stopPropagation(); 6180}; 6181jQuery.extend(jQuery.event,{ 6182trigger:function(event,data,elem,onlyHandlers){ 6183var i,cur,tmp,bubbleType,ontype,handle,special,lastElement, 6184eventPath=[elem||document], 6185type=hasOwn.call(event,"type")?event.type:event, 6186namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[]; 6187cur=lastElement=tmp=elem=elem||document; 6188if(elem.nodeType===3||elem.nodeType===8){ 6189return; 6190} 6191if(rfocusMorph.test(type+jQuery.event.triggered)){ 6192return; 6193} 6194if(type.indexOf(".")>-1){ 6195namespaces=type.split("."); 6196type=namespaces.shift(); 6197namespaces.sort(); 6198} 6199ontype=type.indexOf(":")<0&&"on"+type; 6200event=event[jQuery.expando]? 6201event: 6202new jQuery.Event(type,typeof event==="object"&&event); 6203event.isTrigger=onlyHandlers?2:3; 6204event.namespace=namespaces.join("."); 6205event.rnamespace=event.namespace? 6206new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"): 6207null; 6208event.result=undefined; 6209if(!event.target){ 6210event.target=elem; 6211} 6212data=data==null? 6213[event]: 6214jQuery.makeArray(data,[event]); 6215special=jQuery.event.special[type]||{}; 6216if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){ 6217return; 6218} 6219if(!onlyHandlers&&!special.noBubble&&!isWindow(elem)){ 6220bubbleType=special.delegateType||type; 6221if(!rfocusMorph.test(bubbleType+type)){ 6222cur=cur.parentNode; 6223} 6224for(;cur;cur=cur.parentNode){ 6225eventPath.push(cur); 6226tmp=cur; 6227} 6228if(tmp===(elem.ownerDocument||document)){ 6229eventPath.push(tmp.defaultView||tmp.parentWindow||window); 6230} 6231} 6232i=0; 6233while((cur=eventPath[i++])&&!event.isPropagationStopped()){ 6234lastElement=cur; 6235event.type=i>1? 6236bubbleType: 6237special.bindType||type; 6238handle=(dataPriv.get(cur,"events")||Object.create(null))[event.type]&& 6239dataPriv.get(cur,"handle"); 6240if(handle){ 6241handle.apply(cur,data); 6242} 6243handle=ontype&&cur[ontype]; 6244if(handle&&handle.apply&&acceptData(cur)){ 6245event.result=handle.apply(cur,data); 6246if(event.result===false){ 6247event.preventDefault(); 6248} 6249} 6250} 6251event.type=type; 6252if(!onlyHandlers&&!event.isDefaultPrevented()){ 6253if((!special._default|| 6254special._default.apply(eventPath.pop(),data)===false)&& 6255acceptData(elem)){ 6256if(ontype&&isFunction(elem[type])&&!isWindow(elem)){ 6257tmp=elem[ontype]; 6258if(tmp){ 6259elem[ontype]=null; 6260} 6261jQuery.event.triggered=type; 6262if(event.isPropagationStopped()){ 6263lastElement.addEventListener(type,stopPropagationCallback); 6264} 6265elem[type](); 6266if(event.isPropagationStopped()){ 6267lastElement.removeEventListener(type,stopPropagationCallback); 6268} 6269jQuery.event.triggered=undefined; 6270if(tmp){ 6271elem[ontype]=tmp; 6272} 6273} 6274} 6275} 6276return event.result; 6277}, 6278simulate:function(type,elem,event){ 6279var e=jQuery.extend( 6280new jQuery.Event(), 6281event, 6282{ 6283type:type, 6284isSimulated:true 6285} 6286); 6287jQuery.event.trigger(e,null,elem); 6288} 6289}); 6290jQuery.fn.extend({ 6291trigger:function(type,data){ 6292return this.each(function(){ 6293jQuery.event.trigger(type,data,this); 6294}); 6295}, 6296triggerHandler:function(type,data){ 6297var elem=this[0]; 6298if(elem){ 6299return jQuery.event.trigger(type,data,elem,true); 6300} 6301} 6302}); 6303var 6304rbracket=/\[\]$/, 6305rCRLF=/\r?\n/g, 6306rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i, 6307rsubmittable=/^(?:input|select|textarea|keygen)/i; 6308function buildParams(prefix,obj,traditional,add){ 6309var name; 6310if(Array.isArray(obj)){ 6311jQuery.each(obj,function(i,v){ 6312if(traditional||rbracket.test(prefix)){ 6313add(prefix,v); 6314}else{ 6315buildParams( 6316prefix+"["+(typeof v==="object"&&v!=null?i:"")+"]", 6317v, 6318traditional, 6319add 6320); 6321} 6322}); 6323}else if(!traditional&&toType(obj)==="object"){ 6324for(name in obj){ 6325buildParams(prefix+"["+name+"]",obj[name],traditional,add); 6326} 6327}else{ 6328add(prefix,obj); 6329} 6330} 6331jQuery.param=function(a,traditional){ 6332var prefix, 6333s=[], 6334add=function(key,valueOrFunction){ 6335var value=isFunction(valueOrFunction)? 6336valueOrFunction(): 6337valueOrFunction; 6338s[s.length]=encodeURIComponent(key)+"="+ 6339encodeURIComponent(value==null?"":value); 6340}; 6341if(a==null){ 6342return""; 6343} 6344if(Array.isArray(a)||(a.jquery&&!jQuery.isPlainObject(a))){ 6345jQuery.each(a,function(){ 6346add(this.name,this.value); 6347}); 6348}else{ 6349for(prefix in a){ 6350buildParams(prefix,a[prefix],traditional,add); 6351} 6352} 6353return s.join("&"); 6354}; 6355jQuery.fn.extend({ 6356serialize:function(){ 6357return jQuery.param(this.serializeArray()); 6358}, 6359serializeArray:function(){ 6360return this.map(function(){ 6361var elements=jQuery.prop(this,"elements"); 6362return elements?jQuery.makeArray(elements):this; 6363}).filter(function(){ 6364var type=this.type; 6365return this.name&&!jQuery(this).is(":disabled")&& 6366rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&& 6367(this.checked||!rcheckableType.test(type)); 6368}).map(function(_i,elem){ 6369var val=jQuery(this).val(); 6370if(val==null){ 6371return null; 6372} 6373if(Array.isArray(val)){ 6374return jQuery.map(val,function(val){ 6375return{name:elem.name,value:val.replace(rCRLF,"\r\n")}; 6376}); 6377} 6378return{name:elem.name,value:val.replace(rCRLF,"\r\n")}; 6379}).get(); 6380} 6381}); 6382var 6383r20=/%20/g, 6384rhash=/#.*$/, 6385rantiCache=/([?&])_=[^&]*/, 6386rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg, 6387rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/, 6388rnoContent=/^(?:GET|HEAD)$/, 6389rprotocol=/^\/\//, 6390prefilters={}, 6391transports={}, 6392allTypes="*/".concat("*"), 6393originAnchor=document.createElement("a"); 6394originAnchor.href=location.href; 6395function addToPrefiltersOrTransports(structure){ 6396return function(dataTypeExpression,func){ 6397if(typeof dataTypeExpression!=="string"){ 6398func=dataTypeExpression; 6399dataTypeExpression="*"; 6400} 6401var dataType, 6402i=0, 6403dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[]; 6404if(isFunction(func)){ 6405while((dataType=dataTypes[i++])){ 6406if(dataType[0]==="+"){ 6407dataType=dataType.slice(1)||"*"; 6408(structure[dataType]=structure[dataType]||[]).unshift(func); 6409}else{ 6410(structure[dataType]=structure[dataType]||[]).push(func); 6411} 6412} 6413} 6414}; 6415} 6416function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){ 6417var inspected={}, 6418seekingTransport=(structure===transports); 6419function inspect(dataType){ 6420var selected; 6421inspected[dataType]=true; 6422jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){ 6423var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR); 6424if(typeof dataTypeOrTransport==="string"&& 6425!seekingTransport&&!inspected[dataTypeOrTransport]){ 6426options.dataTypes.unshift(dataTypeOrTransport); 6427inspect(dataTypeOrTransport); 6428return false; 6429}else if(seekingTransport){ 6430return!(selected=dataTypeOrTransport); 6431} 6432}); 6433return selected; 6434} 6435return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*"); 6436} 6437function ajaxExtend(target,src){ 6438var key,deep, 6439flatOptions=jQuery.ajaxSettings.flatOptions||{}; 6440for(key in src){ 6441if(src[key]!==undefined){ 6442(flatOptions[key]?target:(deep||(deep={})))[key]=src[key]; 6443} 6444} 6445if(deep){ 6446jQuery.extend(true,target,deep); 6447} 6448return target; 6449} 6450function ajaxHandleResponses(s,jqXHR,responses){ 6451var ct,type,finalDataType,firstDataType, 6452contents=s.contents, 6453dataTypes=s.dataTypes; 6454while(dataTypes[0]==="*"){ 6455dataTypes.shift(); 6456if(ct===undefined){ 6457ct=s.mimeType||jqXHR.getResponseHeader("Content-Type"); 6458} 6459} 6460if(ct){ 6461for(type in contents){ 6462if(contents[type]&&contents[type].test(ct)){ 6463dataTypes.unshift(type); 6464break; 6465} 6466} 6467} 6468if(dataTypes[0]in responses){ 6469finalDataType=dataTypes[0]; 6470}else{ 6471for(type in responses){ 6472if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){ 6473finalDataType=type; 6474break; 6475} 6476if(!firstDataType){ 6477firstDataType=type; 6478} 6479} 6480finalDataType=finalDataType||firstDataType; 6481} 6482if(finalDataType){ 6483if(finalDataType!==dataTypes[0]){ 6484dataTypes.unshift(finalDataType); 6485} 6486return responses[finalDataType]; 6487} 6488} 6489function ajaxConvert(s,response,jqXHR,isSuccess){ 6490var conv2,current,conv,tmp,prev, 6491converters={}, 6492dataTypes=s.dataTypes.slice(); 6493if(dataTypes[1]){ 6494for(conv in s.converters){ 6495converters[conv.toLowerCase()]=s.converters[conv]; 6496} 6497} 6498current=dataTypes.shift(); 6499while(current){ 6500if(s.responseFields[current]){ 6501jqXHR[s.responseFields[current]]=response; 6502} 6503if(!prev&&isSuccess&&s.dataFilter){ 6504response=s.dataFilter(response,s.dataType); 6505} 6506prev=current; 6507current=dataTypes.shift(); 6508if(current){ 6509if(current==="*"){ 6510current=prev; 6511}else if(prev!=="*"&&prev!==current){ 6512conv=converters[prev+" "+current]||converters["* "+current]; 6513if(!conv){ 6514for(conv2 in converters){ 6515tmp=conv2.split(" "); 6516if(tmp[1]===current){ 6517conv=converters[prev+" "+tmp[0]]|| 6518converters["* "+tmp[0]]; 6519if(conv){ 6520if(conv===true){ 6521conv=converters[conv2]; 6522}else if(converters[conv2]!==true){ 6523current=tmp[0]; 6524dataTypes.unshift(tmp[1]); 6525} 6526break; 6527} 6528} 6529} 6530} 6531if(conv!==true){ 6532if(conv&&s.throws){ 6533response=conv(response); 6534}else{ 6535try{ 6536response=conv(response); 6537}catch(e){ 6538return{ 6539state:"parsererror", 6540error:conv?e:"No conversion from "+prev+" to "+current 6541}; 6542} 6543} 6544} 6545} 6546} 6547} 6548return{state:"success",data:response}; 6549} 6550jQuery.extend({ 6551active:0, 6552lastModified:{}, 6553etag:{}, 6554ajaxSettings:{ 6555url:location.href, 6556type:"GET", 6557isLocal:rlocalProtocol.test(location.protocol), 6558global:true, 6559processData:true, 6560async:true, 6561contentType:"application/x-www-form-urlencoded; charset=UTF-8", 6562accepts:{ 6563"*":allTypes, 6564text:"text/plain", 6565html:"text/html", 6566xml:"application/xml, text/xml", 6567json:"application/json, text/javascript" 6568}, 6569contents:{ 6570xml:/\bxml\b/, 6571html:/\bhtml/, 6572json:/\bjson\b/ 6573}, 6574responseFields:{ 6575xml:"responseXML", 6576text:"responseText", 6577json:"responseJSON" 6578}, 6579converters:{ 6580"* text":String, 6581"text html":true, 6582"text json":JSON.parse, 6583"text xml":jQuery.parseXML 6584}, 6585flatOptions:{ 6586url:true, 6587context:true 6588} 6589}, 6590ajaxSetup:function(target,settings){ 6591return settings? 6592ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings): 6593ajaxExtend(jQuery.ajaxSettings,target); 6594}, 6595ajaxPrefilter:addToPrefiltersOrTransports(prefilters), 6596ajaxTransport:addToPrefiltersOrTransports(transports), 6597ajax:function(url,options){ 6598if(typeof url==="object"){ 6599options=url; 6600url=undefined; 6601} 6602options=options||{}; 6603var transport, 6604cacheURL, 6605responseHeadersString, 6606responseHeaders, 6607timeoutTimer, 6608urlAnchor, 6609completed, 6610fireGlobals, 6611i, 6612uncached, 6613s=jQuery.ajaxSetup({},options), 6614callbackContext=s.context||s, 6615globalEventContext=s.context&& 6616(callbackContext.nodeType||callbackContext.jquery)? 6617jQuery(callbackContext): 6618jQuery.event, 6619deferred=jQuery.Deferred(), 6620completeDeferred=jQuery.Callbacks("once memory"), 6621statusCode=s.statusCode||{}, 6622requestHeaders={}, 6623requestHeadersNames={}, 6624strAbort="canceled", 6625jqXHR={ 6626readyState:0, 6627getResponseHeader:function(key){ 6628var match; 6629if(completed){ 6630if(!responseHeaders){ 6631responseHeaders={}; 6632while((match=rheaders.exec(responseHeadersString))){ 6633responseHeaders[match[1].toLowerCase()+" "]= 6634(responseHeaders[match[1].toLowerCase()+" "]||[]) 6635.concat(match[2]); 6636} 6637} 6638match=responseHeaders[key.toLowerCase()+" "]; 6639} 6640return match==null?null:match.join(", "); 6641}, 6642getAllResponseHeaders:function(){ 6643return completed?responseHeadersString:null; 6644}, 6645setRequestHeader:function(name,value){ 6646if(completed==null){ 6647name=requestHeadersNames[name.toLowerCase()]= 6648requestHeadersNames[name.toLowerCase()]||name; 6649requestHeaders[name]=value; 6650} 6651return this; 6652}, 6653overrideMimeType:function(type){ 6654if(completed==null){ 6655s.mimeType=type; 6656} 6657return this; 6658}, 6659statusCode:function(map){ 6660var code; 6661if(map){ 6662if(completed){ 6663jqXHR.always(map[jqXHR.status]); 6664}else{ 6665for(code in map){ 6666statusCode[code]=[statusCode[code],map[code]]; 6667} 6668} 6669} 6670return this; 6671}, 6672abort:function(statusText){ 6673var finalText=statusText||strAbort; 6674if(transport){ 6675transport.abort(finalText); 6676} 6677done(0,finalText); 6678return this; 6679} 6680}; 6681deferred.promise(jqXHR); 6682s.url=((url||s.url||location.href)+"") 6683.replace(rprotocol,location.protocol+"//"); 6684s.type=options.method||options.type||s.method||s.type; 6685s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""]; 6686if(s.crossDomain==null){ 6687urlAnchor=document.createElement("a"); 6688try{ 6689urlAnchor.href=s.url; 6690urlAnchor.href=urlAnchor.href; 6691s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!== 6692urlAnchor.protocol+"//"+urlAnchor.host; 6693}catch(e){ 6694s.crossDomain=true; 6695} 6696} 6697if(s.data&&s.processData&&typeof s.data!=="string"){ 6698s.data=jQuery.param(s.data,s.traditional); 6699} 6700inspectPrefiltersOrTransports(prefilters,s,options,jqXHR); 6701if(completed){ 6702return jqXHR; 6703} 6704fireGlobals=jQuery.event&&s.global; 6705if(fireGlobals&&jQuery.active++===0){ 6706jQuery.event.trigger("ajaxStart"); 6707} 6708s.type=s.type.toUpperCase(); 6709s.hasContent=!rnoContent.test(s.type); 6710cacheURL=s.url.replace(rhash,""); 6711if(!s.hasContent){ 6712uncached=s.url.slice(cacheURL.length); 6713if(s.data&&(s.processData||typeof s.data==="string")){ 6714cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data; 6715delete s.data; 6716} 6717if(s.cache===false){ 6718cacheURL=cacheURL.replace(rantiCache,"$1"); 6719uncached=(rquery.test(cacheURL)?"&":"?")+"_="+(nonce.guid++)+ 6720uncached; 6721} 6722s.url=cacheURL+uncached; 6723}else if(s.data&&s.processData&& 6724(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0){ 6725s.data=s.data.replace(r20,"+"); 6726} 6727if(s.ifModified){ 6728if(jQuery.lastModified[cacheURL]){ 6729jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]); 6730} 6731if(jQuery.etag[cacheURL]){ 6732jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL]); 6733} 6734} 6735if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){ 6736jqXHR.setRequestHeader("Content-Type",s.contentType); 6737} 6738jqXHR.setRequestHeader( 6739"Accept", 6740s.dataTypes[0]&&s.accepts[s.dataTypes[0]]? 6741s.accepts[s.dataTypes[0]]+ 6742(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""): 6743s.accepts["*"] 6744); 6745for(i in s.headers){ 6746jqXHR.setRequestHeader(i,s.headers[i]); 6747} 6748if(s.beforeSend&& 6749(s.beforeSend.call(callbackContext,jqXHR,s)===false||completed)){ 6750return jqXHR.abort(); 6751} 6752strAbort="abort"; 6753completeDeferred.add(s.complete); 6754jqXHR.done(s.success); 6755jqXHR.fail(s.error); 6756transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR); 6757if(!transport){ 6758done(-1,"No Transport"); 6759}else{ 6760jqXHR.readyState=1; 6761if(fireGlobals){ 6762globalEventContext.trigger("ajaxSend",[jqXHR,s]); 6763} 6764if(completed){ 6765return jqXHR; 6766} 6767if(s.async&&s.timeout>0){ 6768timeoutTimer=window.setTimeout(function(){ 6769jqXHR.abort("timeout"); 6770},s.timeout); 6771} 6772try{ 6773completed=false; 6774transport.send(requestHeaders,done); 6775}catch(e){ 6776if(completed){ 6777throw e; 6778} 6779done(-1,e); 6780} 6781} 6782function done(status,nativeStatusText,responses,headers){ 6783var isSuccess,success,error,response,modified, 6784statusText=nativeStatusText; 6785if(completed){ 6786return; 6787} 6788completed=true; 6789if(timeoutTimer){ 6790window.clearTimeout(timeoutTimer); 6791} 6792transport=undefined; 6793responseHeadersString=headers||""; 6794jqXHR.readyState=status>0?4:0; 6795isSuccess=status>=200&&status<300||status===304; 6796if(responses){ 6797response=ajaxHandleResponses(s,jqXHR,responses); 6798} 6799if(!isSuccess&& 6800jQuery.inArray("script",s.dataTypes)>-1&& 6801jQuery.inArray("json",s.dataTypes)<0){ 6802s.converters["text script"]=function(){}; 6803} 6804response=ajaxConvert(s,response,jqXHR,isSuccess); 6805if(isSuccess){ 6806if(s.ifModified){ 6807modified=jqXHR.getResponseHeader("Last-Modified"); 6808if(modified){ 6809jQuery.lastModified[cacheURL]=modified; 6810} 6811modified=jqXHR.getResponseHeader("etag"); 6812if(modified){ 6813jQuery.etag[cacheURL]=modified; 6814} 6815} 6816if(status===204||s.type==="HEAD"){ 6817statusText="nocontent"; 6818}else if(status===304){ 6819statusText="notmodified"; 6820}else{ 6821statusText=response.state; 6822success=response.data; 6823error=response.error; 6824isSuccess=!error; 6825} 6826}else{ 6827error=statusText; 6828if(status||!statusText){ 6829statusText="error"; 6830if(status<0){ 6831status=0; 6832} 6833} 6834} 6835jqXHR.status=status; 6836jqXHR.statusText=(nativeStatusText||statusText)+""; 6837if(isSuccess){ 6838deferred.resolveWith(callbackContext,[success,statusText,jqXHR]); 6839}else{ 6840deferred.rejectWith(callbackContext,[jqXHR,statusText,error]); 6841} 6842jqXHR.statusCode(statusCode); 6843statusCode=undefined; 6844if(fireGlobals){ 6845globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError", 6846[jqXHR,s,isSuccess?success:error]); 6847} 6848completeDeferred.fireWith(callbackContext,[jqXHR,statusText]); 6849if(fireGlobals){ 6850globalEventContext.trigger("ajaxComplete",[jqXHR,s]); 6851if(!(--jQuery.active)){ 6852jQuery.event.trigger("ajaxStop"); 6853} 6854} 6855} 6856return jqXHR; 6857}, 6858getJSON:function(url,data,callback){ 6859return jQuery.get(url,data,callback,"json"); 6860}, 6861getScript:function(url,callback){ 6862return jQuery.get(url,undefined,callback,"script"); 6863} 6864}); 6865jQuery.each(["get","post"],function(_i,method){ 6866jQuery[method]=function(url,data,callback,type){ 6867if(isFunction(data)){ 6868type=type||callback; 6869callback=data; 6870data=undefined; 6871} 6872return jQuery.ajax(jQuery.extend({ 6873url:url, 6874type:method, 6875dataType:type, 6876data:data, 6877success:callback 6878},jQuery.isPlainObject(url)&&url)); 6879}; 6880}); 6881jQuery.ajaxPrefilter(function(s){ 6882var i; 6883for(i in s.headers){ 6884if(i.toLowerCase()==="content-type"){ 6885s.contentType=s.headers[i]||""; 6886} 6887} 6888}); 6889jQuery._evalUrl=function(url,options,doc){ 6890return jQuery.ajax({ 6891url:url, 6892type:"GET", 6893dataType:"script", 6894cache:true, 6895async:false, 6896global:false, 6897converters:{ 6898"text script":function(){} 6899}, 6900dataFilter:function(response){ 6901jQuery.globalEval(response,options,doc); 6902} 6903}); 6904}; 6905jQuery.fn.extend({ 6906wrapAll:function(html){ 6907var wrap; 6908if(this[0]){ 6909if(isFunction(html)){ 6910html=html.call(this[0]); 6911} 6912wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true); 6913if(this[0].parentNode){ 6914wrap.insertBefore(this[0]); 6915} 6916wrap.map(function(){ 6917var elem=this; 6918while(elem.firstElementChild){ 6919elem=elem.firstElementChild; 6920} 6921return elem; 6922}).append(this); 6923} 6924return this; 6925}, 6926wrapInner:function(html){ 6927if(isFunction(html)){ 6928return this.each(function(i){ 6929jQuery(this).wrapInner(html.call(this,i)); 6930}); 6931} 6932return this.each(function(){ 6933var self=jQuery(this), 6934contents=self.contents(); 6935if(contents.length){ 6936contents.wrapAll(html); 6937}else{ 6938self.append(html); 6939} 6940}); 6941}, 6942wrap:function(html){ 6943var htmlIsFunction=isFunction(html); 6944return this.each(function(i){ 6945jQuery(this).wrapAll(htmlIsFunction?html.call(this,i):html); 6946}); 6947}, 6948unwrap:function(selector){ 6949this.parent(selector).not("body").each(function(){ 6950jQuery(this).replaceWith(this.childNodes); 6951}); 6952return this; 6953} 6954}); 6955jQuery.expr.pseudos.hidden=function(elem){ 6956return!jQuery.expr.pseudos.visible(elem); 6957}; 6958jQuery.expr.pseudos.visible=function(elem){ 6959return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length); 6960}; 6961jQuery.ajaxSettings.xhr=function(){ 6962try{ 6963return new window.XMLHttpRequest(); 6964}catch(e){} 6965}; 6966var xhrSuccessStatus={ 69670:200, 69681223:204 6969}, 6970xhrSupported=jQuery.ajaxSettings.xhr(); 6971support.cors=!!xhrSupported&&("withCredentials"in xhrSupported); 6972support.ajax=xhrSupported=!!xhrSupported; 6973jQuery.ajaxTransport(function(options){ 6974var callback,errorCallback; 6975if(support.cors||xhrSupported&&!options.crossDomain){ 6976return{ 6977send:function(headers,complete){ 6978var i, 6979xhr=options.xhr(); 6980xhr.open( 6981options.type, 6982options.url, 6983options.async, 6984options.username, 6985options.password 6986); 6987if(options.xhrFields){ 6988for(i in options.xhrFields){ 6989xhr[i]=options.xhrFields[i]; 6990} 6991} 6992if(options.mimeType&&xhr.overrideMimeType){ 6993xhr.overrideMimeType(options.mimeType); 6994} 6995if(!options.crossDomain&&!headers["X-Requested-With"]){ 6996headers["X-Requested-With"]="XMLHttpRequest"; 6997} 6998for(i in headers){ 6999xhr.setRequestHeader(i,headers[i]); 7000} 7001callback=function(type){ 7002return function(){ 7003if(callback){ 7004callback=errorCallback=xhr.onload= 7005xhr.onerror=xhr.onabort=xhr.ontimeout= 7006xhr.onreadystatechange=null; 7007if(type==="abort"){ 7008xhr.abort(); 7009}else if(type==="error"){ 7010if(typeof xhr.status!=="number"){ 7011complete(0,"error"); 7012}else{ 7013complete( 7014xhr.status, 7015xhr.statusText 7016); 7017} 7018}else{ 7019complete( 7020xhrSuccessStatus[xhr.status]||xhr.status, 7021xhr.statusText, 7022(xhr.responseType||"text")!=="text"|| 7023typeof xhr.responseText!=="string"? 7024{binary:xhr.response}: 7025{text:xhr.responseText}, 7026xhr.getAllResponseHeaders() 7027); 7028} 7029} 7030}; 7031}; 7032xhr.onload=callback(); 7033errorCallback=xhr.onerror=xhr.ontimeout=callback("error"); 7034if(xhr.onabort!==undefined){ 7035xhr.onabort=errorCallback; 7036}else{ 7037xhr.onreadystatechange=function(){ 7038if(xhr.readyState===4){ 7039window.setTimeout(function(){ 7040if(callback){ 7041errorCallback(); 7042} 7043}); 7044} 7045}; 7046} 7047callback=callback("abort"); 7048try{ 7049xhr.send(options.hasContent&&options.data||null); 7050}catch(e){ 7051if(callback){ 7052throw e; 7053} 7054} 7055}, 7056abort:function(){ 7057if(callback){ 7058callback(); 7059} 7060} 7061}; 7062} 7063}); 7064jQuery.ajaxPrefilter(function(s){ 7065if(s.crossDomain){ 7066s.contents.script=false; 7067} 7068}); 7069jQuery.ajaxSetup({ 7070accepts:{ 7071script:"text/javascript, application/javascript, "+ 7072"application/ecmascript, application/x-ecmascript" 7073}, 7074contents:{ 7075script:/\b(?:java|ecma)script\b/ 7076}, 7077converters:{ 7078"text script":function(text){ 7079jQuery.globalEval(text); 7080return text; 7081} 7082} 7083}); 7084jQuery.ajaxPrefilter("script",function(s){ 7085if(s.cache===undefined){ 7086s.cache=false; 7087} 7088if(s.crossDomain){ 7089s.type="GET"; 7090} 7091}); 7092jQuery.ajaxTransport("script",function(s){ 7093if(s.crossDomain||s.scriptAttrs){ 7094var script,callback; 7095return{ 7096send:function(_,complete){ 7097script=jQuery("<script>") 7098.attr(s.scriptAttrs||{}) 7099.prop({charset:s.scriptCharset,src:s.url}) 7100.on("load error",callback=function(evt){ 7101script.remove(); 7102callback=null; 7103if(evt){ 7104complete(evt.type==="error"?404:200,evt.type); 7105} 7106}); 7107document.head.appendChild(script[0]); 7108}, 7109abort:function(){ 7110if(callback){ 7111callback(); 7112} 7113} 7114}; 7115} 7116}); 7117var oldCallbacks=[], 7118rjsonp=/(=)\?(?=&|$)|\?\?/; 7119jQuery.ajaxSetup({ 7120jsonp:"callback", 7121jsonpCallback:function(){ 7122var callback=oldCallbacks.pop()||(jQuery.expando+"_"+(nonce.guid++)); 7123this[callback]=true; 7124return callback; 7125} 7126}); 7127jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){ 7128var callbackName,overwritten,responseContainer, 7129jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)? 7130"url": 7131typeof s.data==="string"&& 7132(s.contentType||"") 7133.indexOf("application/x-www-form-urlencoded")===0&& 7134rjsonp.test(s.data)&&"data" 7135); 7136if(jsonProp||s.dataTypes[0]==="jsonp"){ 7137callbackName=s.jsonpCallback=isFunction(s.jsonpCallback)? 7138s.jsonpCallback(): 7139s.jsonpCallback; 7140if(jsonProp){ 7141s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName); 7142}else if(s.jsonp!==false){ 7143s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName; 7144} 7145s.converters["script json"]=function(){ 7146if(!responseContainer){ 7147jQuery.error(callbackName+" was not called"); 7148} 7149return responseContainer[0]; 7150}; 7151s.dataTypes[0]="json"; 7152overwritten=window[callbackName]; 7153window[callbackName]=function(){ 7154responseContainer=arguments; 7155}; 7156jqXHR.always(function(){ 7157if(overwritten===undefined){ 7158jQuery(window).removeProp(callbackName); 7159}else{ 7160window[callbackName]=overwritten; 7161} 7162if(s[callbackName]){ 7163s.jsonpCallback=originalSettings.jsonpCallback; 7164oldCallbacks.push(callbackName); 7165} 7166if(responseContainer&&isFunction(overwritten)){ 7167overwritten(responseContainer[0]); 7168} 7169responseContainer=overwritten=undefined; 7170}); 7171return"script"; 7172} 7173}); 7174support.createHTMLDocument=(function(){ 7175var body=document.implementation.createHTMLDocument("").body; 7176body.innerHTML="<form></form><form></form>"; 7177return body.childNodes.length===2; 7178})(); 7179jQuery.parseHTML=function(data,context,keepScripts){ 7180if(typeof data!=="string"){ 7181return[]; 7182} 7183if(typeof context==="boolean"){ 7184keepScripts=context; 7185context=false; 7186} 7187var base,parsed,scripts; 7188if(!context){ 7189if(support.createHTMLDocument){ 7190context=document.implementation.createHTMLDocument(""); 7191base=context.createElement("base"); 7192base.href=document.location.href; 7193context.head.appendChild(base); 7194}else{ 7195context=document; 7196} 7197} 7198parsed=rsingleTag.exec(data); 7199scripts=!keepScripts&&[]; 7200if(parsed){ 7201return[context.createElement(parsed[1])]; 7202} 7203parsed=buildFragment([data],context,scripts); 7204if(scripts&&scripts.length){ 7205jQuery(scripts).remove(); 7206} 7207return jQuery.merge([],parsed.childNodes); 7208}; 7209jQuery.fn.load=function(url,params,callback){ 7210var selector,type,response, 7211self=this, 7212off=url.indexOf(" "); 7213if(off>-1){ 7214selector=stripAndCollapse(url.slice(off)); 7215url=url.slice(0,off); 7216} 7217if(isFunction(params)){ 7218callback=params; 7219params=undefined; 7220}else if(params&&typeof params==="object"){ 7221type="POST"; 7222} 7223if(self.length>0){ 7224jQuery.ajax({ 7225url:url, 7226type:type||"GET", 7227dataType:"html", 7228data:params 7229}).done(function(responseText){ 7230response=arguments; 7231self.html(selector? 7232jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector): 7233responseText); 7234}).always(callback&&function(jqXHR,status){ 7235self.each(function(){ 7236callback.apply(this,response||[jqXHR.responseText,status,jqXHR]); 7237}); 7238}); 7239} 7240return this; 7241}; 7242jQuery.expr.pseudos.animated=function(elem){ 7243return jQuery.grep(jQuery.timers,function(fn){ 7244return elem===fn.elem; 7245}).length; 7246}; 7247jQuery.offset={ 7248setOffset:function(elem,options,i){ 7249var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition, 7250position=jQuery.css(elem,"position"), 7251curElem=jQuery(elem), 7252props={}; 7253if(position==="static"){ 7254elem.style.position="relative"; 7255} 7256curOffset=curElem.offset(); 7257curCSSTop=jQuery.css(elem,"top"); 7258curCSSLeft=jQuery.css(elem,"left"); 7259calculatePosition=(position==="absolute"||position==="fixed")&& 7260(curCSSTop+curCSSLeft).indexOf("auto")>-1; 7261if(calculatePosition){ 7262curPosition=curElem.position(); 7263curTop=curPosition.top; 7264curLeft=curPosition.left; 7265}else{ 7266curTop=parseFloat(curCSSTop)||0; 7267curLeft=parseFloat(curCSSLeft)||0; 7268} 7269if(isFunction(options)){ 7270options=options.call(elem,i,jQuery.extend({},curOffset)); 7271} 7272if(options.top!=null){ 7273props.top=(options.top-curOffset.top)+curTop; 7274} 7275if(options.left!=null){ 7276props.left=(options.left-curOffset.left)+curLeft; 7277} 7278if("using"in options){ 7279options.using.call(elem,props); 7280}else{ 7281curElem.css(props); 7282} 7283} 7284}; 7285jQuery.fn.extend({ 7286offset:function(options){ 7287if(arguments.length){ 7288return options===undefined? 7289this: 7290this.each(function(i){ 7291jQuery.offset.setOffset(this,options,i); 7292}); 7293} 7294var rect,win, 7295elem=this[0]; 7296if(!elem){ 7297return; 7298} 7299if(!elem.getClientRects().length){ 7300return{top:0,left:0}; 7301} 7302rect=elem.getBoundingClientRect(); 7303win=elem.ownerDocument.defaultView; 7304return{ 7305top:rect.top+win.pageYOffset, 7306left:rect.left+win.pageXOffset 7307}; 7308}, 7309position:function(){ 7310if(!this[0]){ 7311return; 7312} 7313var offsetParent,offset,doc, 7314elem=this[0], 7315parentOffset={top:0,left:0}; 7316if(jQuery.css(elem,"position")==="fixed"){ 7317offset=elem.getBoundingClientRect(); 7318}else{ 7319offset=this.offset(); 7320doc=elem.ownerDocument; 7321offsetParent=elem.offsetParent||doc.documentElement; 7322while(offsetParent&& 7323(offsetParent===doc.body||offsetParent===doc.documentElement)&& 7324jQuery.css(offsetParent,"position")==="static"){ 7325offsetParent=offsetParent.parentNode; 7326} 7327if(offsetParent&&offsetParent!==elem&&offsetParent.nodeType===1){ 7328parentOffset=jQuery(offsetParent).offset(); 7329parentOffset.top+=jQuery.css(offsetParent,"borderTopWidth",true); 7330parentOffset.left+=jQuery.css(offsetParent,"borderLeftWidth",true); 7331} 7332} 7333return{ 7334top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true), 7335left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true) 7336}; 7337}, 7338offsetParent:function(){ 7339return this.map(function(){ 7340var offsetParent=this.offsetParent; 7341while(offsetParent&&jQuery.css(offsetParent,"position")==="static"){ 7342offsetParent=offsetParent.offsetParent; 7343} 7344return offsetParent||documentElement; 7345}); 7346} 7347}); 7348jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){ 7349var top="pageYOffset"===prop; 7350jQuery.fn[method]=function(val){ 7351return access(this,function(elem,method,val){ 7352var win; 7353if(isWindow(elem)){ 7354win=elem; 7355}else if(elem.nodeType===9){ 7356win=elem.defaultView; 7357} 7358if(val===undefined){ 7359return win?win[prop]:elem[method]; 7360} 7361if(win){ 7362win.scrollTo( 7363!top?val:win.pageXOffset, 7364top?val:win.pageYOffset 7365); 7366}else{ 7367elem[method]=val; 7368} 7369},method,val,arguments.length); 7370}; 7371});
7372jQuery.each(["top","left"],function(_i,prop){ 7373jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition, 7374function(elem,computed){ 7375if(computed){ 7376computed=curCSS(elem,prop); 7377return rnumnonpx.test(computed)? 7378jQuery(elem).position()[prop]+"px": 7379computed; 7380} 7381} 7382); 7383}); 7384jQuery.each({Height:"height",Width:"width"},function(name,type){ 7385jQuery.each({ 7386padding:"inner"+name, 7387content:type, 7388"":"outer"+name 7389},function(defaultExtra,funcName){ 7390jQuery.fn[funcName]=function(margin,value){ 7391var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"), 7392extra=defaultExtra||(margin===true||value===true?"margin":"border"); 7393return access(this,function(elem,type,value){ 7394var doc; 7395if(isWindow(elem)){ 7396return funcName.indexOf("outer")===0? 7397elem["inner"+name]: 7398elem.document.documentElement["client"+name]; 7399} 7400if(elem.nodeType===9){ 7401doc=elem.documentElement; 7402return Math.max( 7403elem.body["scroll"+name],doc["scroll"+name], 7404elem.body["offset"+name],doc["offset"+name], 7405doc["client"+name] 7406); 7407} 7408return value===undefined? 7409jQuery.css(elem,type,extra): 7410jQuery.style(elem,type,value,extra); 7411},type,chainable?margin:undefined,chainable); 7412}; 7413}); 7414}); 7415jQuery.each([ 7416"ajaxStart", 7417"ajaxStop", 7418"ajaxComplete", 7419"ajaxError", 7420"ajaxSuccess", 7421"ajaxSend" 7422],function(_i,type){ 7423jQuery.fn[type]=function(fn){ 7424return this.on(type,fn); 7425}; 7426}); 7427jQuery.fn.extend({ 7428bind:function(types,data,fn){ 7429return this.on(types,null,data,fn); 7430}, 7431unbind:function(types,fn){ 7432return this.off(types,null,fn); 7433}, 7434delegate:function(selector,types,data,fn){ 7435return this.on(types,selector,data,fn); 7436}, 7437undelegate:function(selector,types,fn){ 7438return arguments.length===1? 7439this.off(selector,"**"): 7440this.off(types,selector||"**",fn); 7441}, 7442hover:function(fnOver,fnOut){ 7443return this 7444.on("mouseenter",fnOver) 7445.on("mouseleave",fnOut||fnOver); 7446} 7447}); 7448jQuery.each( 7449("blur focus focusin focusout resize scroll click dblclick "+ 7450"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+ 7451"change select submit keydown keypress keyup contextmenu").split(" "), 7452function(_i,name){ 7453jQuery.fn[name]=function(data,fn){ 7454return arguments.length>0? 7455this.on(name,null,data,fn): 7456this.trigger(name); 7457}; 7458} 7459); 7460var rtrim=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g; 7461jQuery.proxy=function(fn,context){ 7462var tmp,args,proxy; 7463if(typeof context==="string"){ 7464tmp=fn[context]; 7465context=fn; 7466fn=tmp; 7467} 7468if(!isFunction(fn)){ 7469return undefined; 7470} 7471args=slice.call(arguments,2); 7472proxy=function(){ 7473return fn.apply(context||this,args.concat(slice.call(arguments))); 7474}; 7475proxy.guid=fn.guid=fn.guid||jQuery.guid++; 7476return proxy; 7477}; 7478jQuery.holdReady=function(hold){ 7479if(hold){ 7480jQuery.readyWait++; 7481}else{ 7482jQuery.ready(true); 7483} 7484}; 7485jQuery.isArray=Array.isArray; 7486jQuery.parseJSON=JSON.parse; 7487jQuery.nodeName=nodeName; 7488jQuery.isFunction=isFunction; 7489jQuery.isWindow=isWindow; 7490jQuery.camelCase=camelCase; 7491jQuery.type=toType; 7492jQuery.now=Date.now; 7493jQuery.isNumeric=function(obj){ 7494var type=jQuery.type(obj); 7495return(type==="number"||type==="string")&& 7496!isNaN(obj-parseFloat(obj)); 7497}; 7498jQuery.trim=function(text){ 7499return text==null? 7500"": 7501(text+"").replace(rtrim,"$1"); 7502}; 7503if(typeof define==="function"&&define.amd){ 7504define("jquery",[],function(){ 7505return jQuery; 7506}); 7507} 7508var 7509_jQuery=window.jQuery, 7510_$=window.$; 7511jQuery.noConflict=function(deep){ 7512if(window.$===jQuery){ 7513window.$=_$; 7514} 7515if(deep&&window.jQuery===jQuery){ 7516window.jQuery=_jQuery; 7517} 7518return jQuery; 7519}; 7520if(typeof noGlobal==="undefined"){ 7521window.jQuery=window.$=jQuery; 7522} 7523return jQuery; 7524}); 7525(function($){ 7526var log=console.warn||console.log; 7527var logError=console.error||log; 7528function deprecated(message,alternative){ 7529return log("Deprecated call to "+message+". Use "+alternative); 7530} 7531$.fn.size=function(){ 7532deprecated(".size()",".length"); 7533return this.length; 7534}; 7535$.fn.load=function(callback){ 7536deprecated(".load(callback)",".on('load', callback)"); 7537return this.on("load",callback); 7538}; 7539$.fn.error=function(callback){ 7540deprecated(".error(callback)",".on('error', callback)"); 7541return this.on("error",callback); 7542}; 7543$.fn.andSelf=function(){ 7544deprecated(".andSelf()",".addBack"); 7545return this.addBack(); 7546}; 7547var queue=[]; 7548var pending=false; 7549var executeQueue=function(){ 7550var oldQueue=queue; 7551queue=[]; 7552pending=false; 7553var errors=[]; 7554while(oldQueue.length){ 7555try{ 7556(oldQueue.shift())($); 7557}catch(e){ 7558errors.push(e); 7559} 7560} 7561while(errors.length>1){ 7562logError(errors.shift()); 7563} 7564if(errors.length){ 7565throw errors.shift(); 7566} 7567}; 7568$.fn.ready=function(handler){ 7569queue.push(handler); 7570if(!pending){ 7571pending=true; 7572if(document.readyState==="complete"||(document.readyState!=="loading"&&!document.documentElement.doScroll)){ 7573setTimeout(executeQueue); 7574}else{ 7575var eventListener=function(){ 7576document.removeEventListener("DOMContentLoaded",eventListener); 7577window.removeEventListener("load",eventListener); 7578executeQueue(); 7579}; 7580document.addEventListener("DOMContentLoaded",eventListener); 7581window.addEventListener("load",eventListener); 7582} 7583} 7584}; 7585}(jQuery)); 7586ionasQ(jQuery,document);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.