PageSourceSearch

https://rencontredescontinents.be/local/cache-js/2451abd408de7849327d3196a1cd4908.js?1790954165

js rencontredescontinents.be collected 2026-10-02 15:20:17 UTC 359,024 bytes, 15,152 lines download raw bytes

vendor: 144,961 bytes, lines 1-6638
1/* compact [
2	prive/javascript/jquery.js?1788354511
3	prive/javascript/jquery.form.js?1788354511
4	prive/javascript/jquery.autosave.js?1788354511
5	prive/javascript/jquery.placeholder-label.js?1788354511
6	prive/javascript/ajaxCallback.js?1788354511
7	prive/javascript/js.cookie.js?1788354511
8	plugins-dist/bigup/javascript/bigup.utils.js?1788354511
9	local/cache-js/jsdyn-javascript_bigup_trads_js-518fd44e.js?1790954165
10	plugins-dist/bigup/lib/flow/flow.js?1788354511
11	plugins-dist/bigup/javascript/bigup.js?1788354511
12	plugins-dist/bigup/javascript/bigup.loader.js?1788354511
13	plugins-dist/mediabox/lib/lity/lity.js?1788354511
14	plugins-dist/mediabox/lity/js/lity.mediabox.js?1788354511
15	plugins-dist/mediabox/javascript/spip.mediabox.js?1788354511
16	plugins-dist/porte_plume/javascript/jquery.markitup_pour_spip.js?1788354511
17	plugins-dist/porte_plume/javascript/jquery.previsu_spip.js?1788354511
18	local/cache-js/jsdyn-javascript_porte_plume_start_js-09cf0053.js?1790954165
19	plugins/auto/jquery_masonry-v3.0.0/javascript/jquery.masonry.js
20	plugins/auto/jquery_masonry-v3.0.0/javascript/imagesloaded.pkgd.min.js
21] 54.5% */
22
23/* prive/javascript/jquery.js?1788354511 */
24
25(function(global,factory){
26"use strict";
27if(typeof module==="object"&&typeof module.exports==="object"){
28module.exports=global.document?
29factory(global,true):
30function(w){
31if(!w.document){
32throw new Error("jQuery requires a window with a document");
33}
34return factory(w);
35};
36}else{
37factory(global);
38}
39})(typeof window!=="undefined"?window:this,function(window,noGlobal){
40"use strict";
41var arr=[];
42var getProto=Object.getPrototypeOf;
43var slice=arr.slice;
44var flat=arr.flat?function(array){
45return arr.flat.call(array);
46}:function(array){
47return arr.concat.apply([],array);
48};
49var push=arr.push;
50var indexOf=arr.indexOf;
51var class2type={};
52var toString=class2type.toString;
53var hasOwn=class2type.hasOwnProperty;
54var fnToString=hasOwn.toString;
55var ObjectFunctionString=fnToString.call(Object);
56var support={};
57var isFunction=function isFunction(obj){
58return typeof obj==="function"&&typeof obj.nodeType!=="number"&&
59typeof obj.item!=="function";
60};
61var isWindow=function isWindow(obj){
62return obj!=null&&obj===obj.window;
63};
64var document=window.document;
65var preservedScriptAttributes={
66type:true,
67src:true,
68nonce:true,
69noModule:true
70};
71function DOMEval(code,node,doc){
72doc=doc||document;
73var i,val,
74script=doc.createElement("script");
75script.text=code;
76if(node){
77for(i in preservedScriptAttributes){
78val=node[i]||node.getAttribute&&node.getAttribute(i);
79if(val){
80script.setAttribute(i,val);
81}
82}
83}
84doc.head.appendChild(script).parentNode.removeChild(script);
85}
86function toType(obj){
87if(obj==null){
88return obj+"";
89}
90return typeof obj==="object"||typeof obj==="function"?
91class2type[toString.call(obj)]||"object":
92typeof obj;
93}
94var version="3.7.1",
95rhtmlSuffix=/HTML$/i,
96jQuery=function(selector,context){
97return new jQuery.fn.init(selector,context);
98};
99jQuery.fn=jQuery.prototype={
100jquery:version,
101constructor:jQuery,
102length:0,
103toArray:function(){
104return slice.call(this);
105},
106get:function(num){
107if(num==null){
108return slice.call(this);
109}
110return num<0?this[num+this.length]:this[num];
111},
112pushStack:function(elems){
113var ret=jQuery.merge(this.constructor(),elems);
114ret.prevObject=this;
115return ret;
116},
117each:function(callback){
118return jQuery.each(this,callback);
119},
120map:function(callback){
121return this.pushStack(jQuery.map(this,function(elem,i){
122return callback.call(elem,i,elem);
123}));
124},
125slice:function(){
126return this.pushStack(slice.apply(this,arguments));
127},
128first:function(){
129return this.eq(0);
130},
131last:function(){
132return this.eq(-1);
133},
134even:function(){
135return this.pushStack(jQuery.grep(this,function(_elem,i){
136return(i+1)%2;
137}));
138},
139odd:function(){
140return this.pushStack(jQuery.grep(this,function(_elem,i){
141return i%2;
142}));
143},
144eq:function(i){
145var len=this.length,
146j=+i+(i<0?len:0);
147return this.pushStack(j>=0&&j<len?[this[j]]:[]);
148},
149end:function(){
150return this.prevObject||this.constructor();
151},
152push:push,
153sort:arr.sort,
154splice:arr.splice
155};
156jQuery.extend=jQuery.fn.extend=function(){
157var options,name,src,copy,copyIsArray,clone,
158target=arguments[0]||{},
159i=1,
160length=arguments.length,
161deep=false;
162if(typeof target==="boolean"){
163deep=target;
164target=arguments[i]||{};
165i++;
166}
167if(typeof target!=="object"&&!isFunction(target)){
168target={};
169}
170if(i===length){
171target=this;
172i--;
173}
174for(;i<length;i++){
175if((options=arguments[i])!=null){
176for(name in options){
177copy=options[name];
178if(name==="__proto__"||target===copy){
179continue;
180}
181if(deep&&copy&&(jQuery.isPlainObject(copy)||
182(copyIsArray=Array.isArray(copy)))){
183src=target[name];
184if(copyIsArray&&!Array.isArray(src)){
185clone=[];
186}else if(!copyIsArray&&!jQuery.isPlainObject(src)){
187clone={};
188}else{
189clone=src;
190}
191copyIsArray=false;
192target[name]=jQuery.extend(deep,clone,copy);
193}else if(copy!==undefined){
194target[name]=copy;
195}
196}
197}
198}
199return target;
200};
201jQuery.extend({
202expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),
203isReady:true,
204error:function(msg){
205throw new Error(msg);
206},
207noop:function(){},
208isPlainObject:function(obj){
209var proto,Ctor;
210if(!obj||toString.call(obj)!=="[object Object]"){
211return false;
212}
213proto=getProto(obj);
214if(!proto){
215return true;
216}
217Ctor=hasOwn.call(proto,"constructor")&&proto.constructor;
218return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString;
219},
220isEmptyObject:function(obj){
221var name;
222for(name in obj){
223return false;
224}
225return true;
226},
227globalEval:function(code,options,doc){
228DOMEval(code,{nonce:options&&options.nonce},doc);
229},
230each:function(obj,callback){
231var length,i=0;
232if(isArrayLike(obj)){
233length=obj.length;
234for(;i<length;i++){
235if(callback.call(obj[i],i,obj[i])===false){
236break;
237}
238}
239}else{
240for(i in obj){
241if(callback.call(obj[i],i,obj[i])===false){
242break;
243}
244}
245}
246return obj;
247},
248text:function(elem){
249var node,
250ret="",
251i=0,
252nodeType=elem.nodeType;
253if(!nodeType){
254while((node=elem[i++])){
255ret+=jQuery.text(node);
256}
257}
258if(nodeType===1||nodeType===11){
259return elem.textContent;
260}
261if(nodeType===9){
262return elem.documentElement.textContent;
263}
264if(nodeType===3||nodeType===4){
265return elem.nodeValue;
266}
267return ret;
268},
269makeArray:function(arr,results){
270var ret=results||[];
271if(arr!=null){
272if(isArrayLike(Object(arr))){
273jQuery.merge(ret,
274typeof arr==="string"?
275[arr]:arr
276);
277}else{
278push.call(ret,arr);
279}
280}
281return ret;
282},
283inArray:function(elem,arr,i){
284return arr==null?-1:indexOf.call(arr,elem,i);
285},
286isXMLDoc:function(elem){
287var namespace=elem&&elem.namespaceURI,
288docElem=elem&&(elem.ownerDocument||elem).documentElement;
289return!rhtmlSuffix.test(namespace||docElem&&docElem.nodeName||"HTML");
290},
291merge:function(first,second){
292var len=+second.length,
293j=0,
294i=first.length;
295for(;j<len;j++){
296first[i++]=second[j];
297}
298first.length=i;
299return first;
300},
301grep:function(elems,callback,invert){
302var callbackInverse,
303matches=[],
304i=0,
305length=elems.length,
306callbackExpect=!invert;
307for(;i<length;i++){
308callbackInverse=!callback(elems[i],i);
309if(callbackInverse!==callbackExpect){
310matches.push(elems[i]);
311}
312}
313return matches;
314},
315map:function(elems,callback,arg){
316var length,value,
317i=0,
318ret=[];
319if(isArrayLike(elems)){
320length=elems.length;
321for(;i<length;i++){
322value=callback(elems[i],i,arg);
323if(value!=null){
324ret.push(value);
325}
326}
327}else{
328for(i in elems){
329value=callback(elems[i],i,arg);
330if(value!=null){
331ret.push(value);
332}
333}
334}
335return flat(ret);
336},
337guid:1,
338support:support
339});
340if(typeof Symbol==="function"){
341jQuery.fn[Symbol.iterator]=arr[Symbol.iterator];
342}
343jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),
344function(_i,name){
345class2type["[object "+name+"]"]=name.toLowerCase();
346});
347function isArrayLike(obj){
348var length=!!obj&&"length"in obj&&obj.length,
349type=toType(obj);
350if(isFunction(obj)||isWindow(obj)){
351return false;
352}
353return type==="array"||length===0||
354typeof length==="number"&&length>0&&(length-1)in obj;
355}
356function nodeName(elem,name){
357return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase();
358}
359var pop=arr.pop;
360var sort=arr.sort;
361var splice=arr.splice;
362var whitespace="[\\x20\\t\\r\\n\\f]";
363var rtrimCSS=new RegExp(
364"^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$",
365"g"
366);
367jQuery.contains=function(a,b){
368var bup=b&&b.parentNode;
369return a===bup||!!(bup&&bup.nodeType===1&&(
370a.contains?
371a.contains(bup):
372a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16
373));
374};
375var rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
376function fcssescape(ch,asCodePoint){
377if(asCodePoint){
378if(ch==="\0"){
379return"\uFFFD";
380}
381return ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ";
382}
383return"\\"+ch;
384}
385jQuery.escapeSelector=function(sel){
386return(sel+"").replace(rcssescape,fcssescape);
387};
388var preferredDoc=document,
389pushNative=push;
390(function(){
391var i,
392Expr,
393outermostContext,
394sortInput,
395hasDuplicate,
396push=pushNative,
397document,
398documentElement,
399documentIsHTML,
400rbuggyQSA,
401matches,
402expando=jQuery.expando,
403dirruns=0,
404done=0,
405classCache=createCache(),
406tokenCache=createCache(),
407compilerCache=createCache(),
408nonnativeSelectorCache=createCache(),
409sortOrder=function(a,b){
410if(a===b){
411hasDuplicate=true;
412}
413return 0;
414},
415booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|"+
416"loop|multiple|open|readonly|required|scoped",
417identifier="(?:\\\\[\\da-fA-F]{1,6}"+whitespace+
418"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
419attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+
420"*([*^$|!~]?=)"+whitespace+
421"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+
422whitespace+"*\\]",
423pseudos=":("+identifier+")(?:\\(("+
424"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+
425"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+
426".*"+
427")\\)|)",
428rwhitespace=new RegExp(whitespace+"+","g"),
429rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),
430rleadingCombinator=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+
431whitespace+"*"),
432rdescend=new RegExp(whitespace+"|>"),
433rpseudo=new RegExp(pseudos),
434ridentifier=new RegExp("^"+identifier+"$"),
435matchExpr={
436ID:new RegExp("^#("+identifier+")"),
437CLASS:new RegExp("^\\.("+identifier+")"),
438TAG:new RegExp("^("+identifier+"|[*])"),
439ATTR:new RegExp("^"+attributes),
440PSEUDO:new RegExp("^"+pseudos),
441CHILD:new RegExp(
442"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+
443whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+
444whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),
445bool:new RegExp("^(?:"+booleans+")$","i"),
446needsContext:new RegExp("^"+whitespace+
447"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+
448"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")
449},
450rinputs=/^(?:input|select|textarea|button)$/i,
451rheader=/^h\d$/i,
452rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
453rsibling=/[+~]/,
454runescape=new RegExp("\\\\[\\da-fA-F]{1,6}"+whitespace+
455"?|\\\\([^\\r\\n\\f])","g"),
456funescape=function(escape,nonHex){
457var high="0x"+escape.slice(1)-0x10000;
458if(nonHex){
459return nonHex;
460}
461return high<0?
462String.fromCharCode(high+0x10000):
463String.fromCharCode(high>>10|0xD800,high&0x3FF|0xDC00);
464},
465unloadHandler=function(){
466setDocument();
467},
468inDisabledFieldset=addCombinator(
469function(elem){
470return elem.disabled===true&&nodeName(elem,"fieldset");
471},
472{dir:"parentNode",next:"legend"}
473);
474function safeActiveElement(){
475try{
476return document.activeElement;
477}catch(err){}
478}
479try{
480push.apply(
481(arr=slice.call(preferredDoc.childNodes)),
482preferredDoc.childNodes
483);
484arr[preferredDoc.childNodes.length].nodeType;
485}catch(e){
486push={
487apply:function(target,els){
488pushNative.apply(target,slice.call(els));
489},
490call:function(target){
491pushNative.apply(target,slice.call(arguments,1));
492}
493};
494}
495function find(selector,context,results,seed){
496var m,i,elem,nid,match,groups,newSelector,
497newContext=context&&context.ownerDocument,
498nodeType=context?context.nodeType:9;
499results=results||[];
500if(typeof selector!=="string"||!selector||
501nodeType!==1&&nodeType!==9&&nodeType!==11){
502return results;
503}
504if(!seed){
505setDocument(context);
506context=context||document;
507if(documentIsHTML){
508if(nodeType!==11&&(match=rquickExpr.exec(selector))){
509if((m=match[1])){
510if(nodeType===9){
511if((elem=context.getElementById(m))){
512if(elem.id===m){
513push.call(results,elem);
514return results;
515}
516}else{
517return results;
518}
519}else{
520if(newContext&&(elem=newContext.getElementById(m))&&
521find.contains(context,elem)&&
522elem.id===m){
523push.call(results,elem);
524return results;
525}
526}
527}else if(match[2]){
528push.apply(results,context.getElementsByTagName(selector));
529return results;
530}else if((m=match[3])&&context.getElementsByClassName){
531push.apply(results,context.getElementsByClassName(m));
532return results;
533}
534}
535if(!nonnativeSelectorCache[selector+" "]&&
536(!rbuggyQSA||!rbuggyQSA.test(selector))){
537newSelector=selector;
538newContext=context;
539if(nodeType===1&&
540(rdescend.test(selector)||rleadingCombinator.test(selector))){
541newContext=rsibling.test(selector)&&testContext(context.parentNode)||
542context;
543if(newContext!=context||!support.scope){
544if((nid=context.getAttribute("id"))){
545nid=jQuery.escapeSelector(nid);
546}else{
547context.setAttribute("id",(nid=expando));
548}
549}
550groups=tokenize(selector);
551i=groups.length;
552while(i--){
553groups[i]=(nid?"#"+nid:":scope")+" "+
554toSelector(groups[i]);
555}
556newSelector=groups.join(",");
557}
558try{
559push.apply(results,
560newContext.querySelectorAll(newSelector)
561);
562return results;
563}catch(qsaError){
564nonnativeSelectorCache(selector,true);
565}finally{
566if(nid===expando){
567context.removeAttribute("id");
568}
569}
570}
571}
572}
573return select(selector.replace(rtrimCSS,"$1"),context,results,seed);
574}
575function createCache(){
576var keys=[];
577function cache(key,value){
578if(keys.push(key+" ")>Expr.cacheLength){
579delete cache[keys.shift()];
580}
581return(cache[key+" "]=value);
582}
583return cache;
584}
585function markFunction(fn){
586fn[expando]=true;
587return fn;
588}
589function assert(fn){
590var el=document.createElement("fieldset");
591try{
592return!!fn(el);
593}catch(e){
594return false;
595}finally{
596if(el.parentNode){
597el.parentNode.removeChild(el);
598}
599el=null;
600}
601}
602function createInputPseudo(type){
603return function(elem){
604return nodeName(elem,"input")&&elem.type===type;
605};
606}
607function createButtonPseudo(type){
608return function(elem){
609return(nodeName(elem,"input")||nodeName(elem,"button"))&&
610elem.type===type;
611};
612}
613function createDisabledPseudo(disabled){
614return function(elem){
615if("form"in elem){
616if(elem.parentNode&&elem.disabled===false){
617if("label"in elem){
618if("label"in elem.parentNode){
619return elem.parentNode.disabled===disabled;
620}else{
621return elem.disabled===disabled;
622}
623}
624return elem.isDisabled===disabled||
625elem.isDisabled!==!disabled&&
626inDisabledFieldset(elem)===disabled;
627}
628return elem.disabled===disabled;
629}else if("label"in elem){
630return elem.disabled===disabled;
631}
632return false;
633};
634}
635function createPositionalPseudo(fn){
636return markFunction(function(argument){
637argument=+argument;
638return markFunction(function(seed,matches){
639var j,
640matchIndexes=fn([],seed.length,argument),
641i=matchIndexes.length;
642while(i--){
643if(seed[(j=matchIndexes[i])]){
644seed[j]=!(matches[j]=seed[j]);
645}
646}
647});
648});
649}
650function testContext(context){
651return context&&typeof context.getElementsByTagName!=="undefined"&&context;
652}
653function setDocument(node){
654var subWindow,
655doc=node?node.ownerDocument||node:preferredDoc;
656if(doc==document||doc.nodeType!==9||!doc.documentElement){
657return document;
658}
659document=doc;
660documentElement=document.documentElement;
661documentIsHTML=!jQuery.isXMLDoc(document);
662matches=documentElement.matches||
663documentElement.webkitMatchesSelector||
664documentElement.msMatchesSelector;
665if(documentElement.msMatchesSelector&&
666preferredDoc!=document&&
667(subWindow=document.defaultView)&&subWindow.top!==subWindow){
668subWindow.addEventListener("unload",unloadHandler);
669}
670support.getById=assert(function(el){
671documentElement.appendChild(el).id=jQuery.expando;
672return!document.getElementsByName||
673!document.getElementsByName(jQuery.expando).length;
674});
675support.disconnectedMatch=assert(function(el){
676return matches.call(el,"*");
677});
678support.scope=assert(function(){
679return document.querySelectorAll(":scope");
680});
681support.cssHas=assert(function(){
682try{
683document.querySelector(":has(*,:jqfake)");
684return false;
685}catch(e){
686return true;
687}
688});
689if(support.getById){
690Expr.filter.ID=function(id){
691var attrId=id.replace(runescape,funescape);
692return function(elem){
693return elem.getAttribute("id")===attrId;
694};
695};
696Expr.find.ID=function(id,context){
697if(typeof context.getElementById!=="undefined"&&documentIsHTML){
698var elem=context.getElementById(id);
699return elem?[elem]:[];
700}
701};
702}else{
703Expr.filter.ID=function(id){
704var attrId=id.replace(runescape,funescape);
705return function(elem){
706var node=typeof elem.getAttributeNode!=="undefined"&&
707elem.getAttributeNode("id");
708return node&&node.value===attrId;
709};
710};
711Expr.find.ID=function(id,context){
712if(typeof context.getElementById!=="undefined"&&documentIsHTML){
713var node,i,elems,
714elem=context.getElementById(id);
715if(elem){
716node=elem.getAttributeNode("id");
717if(node&&node.value===id){
718return[elem];
719}
720elems=context.getElementsByName(id);
721i=0;
722while((elem=elems[i++])){
723node=elem.getAttributeNode("id");
724if(node&&node.value===id){
725return[elem];
726}
727}
728}
729return[];
730}
731};
732}
733Expr.find.TAG=function(tag,context){
734if(typeof context.getElementsByTagName!=="undefined"){
735return context.getElementsByTagName(tag);
736}else{
737return context.querySelectorAll(tag);
738}
739};
740Expr.find.CLASS=function(className,context){
741if(typeof context.getElementsByClassName!=="undefined"&&documentIsHTML){
742return context.getElementsByClassName(className);
743}
744};
745rbuggyQSA=[];
746assert(function(el){
747var input;
748documentElement.appendChild(el).innerHTML=
749"<a id='"+expando+"' href='' disabled='disabled'></a>"+
750"<select id='"+expando+"-\r\\' disabled='disabled'>"+
751"<option selected=''></option></select>";
752if(!el.querySelectorAll("[selected]").length){
753rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")");
754}
755if(!el.querySelectorAll("[id~="+expando+"-]").length){
756rbuggyQSA.push("~=");
757}
758if(!el.querySelectorAll("a#"+expando+"+*").length){
759rbuggyQSA.push(".#.+[+~]");
760}
761if(!el.querySelectorAll(":checked").length){
762rbuggyQSA.push(":checked");
763}
764input=document.createElement("input");
765input.setAttribute("type","hidden");
766el.appendChild(input).setAttribute("name","D");
767documentElement.appendChild(el).disabled=true;
768if(el.querySelectorAll(":disabled").length!==2){
769rbuggyQSA.push(":enabled",":disabled");
770}
771input=document.createElement("input");
772input.setAttribute("name","");
773el.appendChild(input);
774if(!el.querySelectorAll("[name='']").length){
775rbuggyQSA.push("\\["+whitespace+"*name"+whitespace+"*="+
776whitespace+"*(?:''|\"\")");
777}
778});
779if(!support.cssHas){
780rbuggyQSA.push(":has");
781}
782rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|"));
783sortOrder=function(a,b){
784if(a===b){
785hasDuplicate=true;
786return 0;
787}
788var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;
789if(compare){
790return compare;
791}
792compare=(a.ownerDocument||a)==(b.ownerDocument||b)?
793a.compareDocumentPosition(b):
7941;
795if(compare&1||
796(!support.sortDetached&&b.compareDocumentPosition(a)===compare)){
797if(a===document||a.ownerDocument==preferredDoc&&
798find.contains(preferredDoc,a)){
799return-1;
800}
801if(b===document||b.ownerDocument==preferredDoc&&
802find.contains(preferredDoc,b)){
803return 1;
804}
805return sortInput?
806(indexOf.call(sortInput,a)-indexOf.call(sortInput,b)):
8070;
808}
809return compare&4?-1:1;
810};
811return document;
812}
813find.matches=function(expr,elements){
814return find(expr,null,null,elements);
815};
816find.matchesSelector=function(elem,expr){
817setDocument(elem);
818if(documentIsHTML&&
819!nonnativeSelectorCache[expr+" "]&&
820(!rbuggyQSA||!rbuggyQSA.test(expr))){
821try{
822var ret=matches.call(elem,expr);
823if(ret||support.disconnectedMatch||
824elem.document&&elem.document.nodeType!==11){
825return ret;
826}
827}catch(e){
828nonnativeSelectorCache(expr,true);
829}
830}
831return find(expr,document,null,[elem]).length>0;
832};
833find.contains=function(context,elem){
834if((context.ownerDocument||context)!=document){
835setDocument(context);
836}
837return jQuery.contains(context,elem);
838};
839find.attr=function(elem,name){
840if((elem.ownerDocument||elem)!=document){
841setDocument(elem);
842}
843var fn=Expr.attrHandle[name.toLowerCase()],
844val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?
845fn(elem,name,!documentIsHTML):
846undefined;
847if(val!==undefined){
848return val;
849}
850return elem.getAttribute(name);
851};
852find.error=function(msg){
853throw new Error("Syntax error, unrecognized expression: "+msg);
854};
855jQuery.uniqueSort=function(results){
856var elem,
857duplicates=[],
858j=0,
859i=0;
860hasDuplicate=!support.sortStable;
861sortInput=!support.sortStable&&slice.call(results,0);
862sort.call(results,sortOrder);
863if(hasDuplicate){
864while((elem=results[i++])){
865if(elem===results[i]){
866j=duplicates.push(i);
867}
868}
869while(j--){
870splice.call(results,duplicates[j],1);
871}
872}
873sortInput=null;
874return results;
875};
876jQuery.fn.uniqueSort=function(){
877return this.pushStack(jQuery.uniqueSort(slice.apply(this)));
878};
879Expr=jQuery.expr={
880cacheLength:50,
881createPseudo:markFunction,
882match:matchExpr,
883attrHandle:{},
884find:{},
885relative:{
886">":{dir:"parentNode",first:true},
887" ":{dir:"parentNode"},
888"+":{dir:"previousSibling",first:true},
889"~":{dir:"previousSibling"}
890},
891preFilter:{
892ATTR:function(match){
893match[1]=match[1].replace(runescape,funescape);
894match[3]=(match[3]||match[4]||match[5]||"")
895.replace(runescape,funescape);
896if(match[2]==="~="){
897match[3]=" "+match[3]+" ";
898}
899return match.slice(0,4);
900},
901CHILD:function(match){
902match[1]=match[1].toLowerCase();
903if(match[1].slice(0,3)==="nth"){
904if(!match[3]){
905find.error(match[0]);
906}
907match[4]=+(match[4]?
908match[5]+(match[6]||1):
9092*(match[3]==="even"||match[3]==="odd")
910);
911match[5]=+((match[7]+match[8])||match[3]==="odd");
912}else if(match[3]){
913find.error(match[0]);
914}
915return match;
916},
917PSEUDO:function(match){
918var excess,
919unquoted=!match[6]&&match[2];
920if(matchExpr.CHILD.test(match[0])){
921return null;
922}
923if(match[3]){
924match[2]=match[4]||match[5]||"";
925}else if(unquoted&&rpseudo.test(unquoted)&&
926(excess=tokenize(unquoted,true))&&
927(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){
928match[0]=match[0].slice(0,excess);
929match[2]=unquoted.slice(0,excess);
930}
931return match.slice(0,3);
932}
933},
934filter:{
935TAG:function(nodeNameSelector){
936var expectedNodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();
937return nodeNameSelector==="*"?
938function(){
939return true;
940}:
941function(elem){
942return nodeName(elem,expectedNodeName);
943};
944},
945CLASS:function(className){
946var pattern=classCache[className+" "];
947return pattern||
948(pattern=new RegExp("(^|"+whitespace+")"+className+
949"("+whitespace+"|$)"))&&
950classCache(className,function(elem){
951return pattern.test(
952typeof elem.className==="string"&&elem.className||
953typeof elem.getAttribute!=="undefined"&&
954elem.getAttribute("class")||
955""
956);
957});
958},
959ATTR:function(name,operator,check){
960return function(elem){
961var result=find.attr(elem,name);
962if(result==null){
963return operator==="!=";
964}
965if(!operator){
966return true;
967}
968result+="";
969if(operator==="="){
970return result===check;
971}
972if(operator==="!="){
973return result!==check;
974}
975if(operator==="^="){
976return check&&result.indexOf(check)===0;
977}
978if(operator==="*="){
979return check&&result.indexOf(check)>-1;
980}
981if(operator==="$="){
982return check&&result.slice(-check.length)===check;
983}
984if(operator==="~="){
985return(" "+result.replace(rwhitespace," ")+" ")
986.indexOf(check)>-1;
987}
988if(operator==="|="){
989return result===check||result.slice(0,check.length+1)===check+"-";
990}
991return false;
992};
993},
994CHILD:function(type,what,_argument,first,last){
995var simple=type.slice(0,3)!=="nth",
996forward=type.slice(-4)!=="last",
997ofType=what==="of-type";
998return first===1&&last===0?
999function(elem){
1000return!!elem.parentNode;
1001}:
1002function(elem,_context,xml){
1003var cache,outerCache,node,nodeIndex,start,
1004dir=simple!==forward?"nextSibling":"previousSibling",
1005parent=elem.parentNode,
1006name=ofType&&elem.nodeName.toLowerCase(),
1007useCache=!xml&&!ofType,
1008diff=false;
1009if(parent){
1010if(simple){
1011while(dir){
1012node=elem;
1013while((node=node[dir])){
1014if(ofType?
1015nodeName(node,name):
1016node.nodeType===1){
1017return false;
1018}
1019}
1020start=dir=type==="only"&&!start&&"nextSibling";
1021}
1022return true;
1023}
1024start=[forward?parent.firstChild:parent.lastChild];
1025if(forward&&useCache){
1026outerCache=parent[expando]||(parent[expando]={});
1027cache=outerCache[type]||[];
1028nodeIndex=cache[0]===dirruns&&cache[1];
1029diff=nodeIndex&&cache[2];
1030node=nodeIndex&&parent.childNodes[nodeIndex];
1031while((node=++nodeIndex&&node&&node[dir]||
1032(diff=nodeIndex=0)||start.pop())){
1033if(node.nodeType===1&&++diff&&node===elem){
1034outerCache[type]=[dirruns,nodeIndex,diff];
1035break;
1036}
1037}
1038}else{
1039if(useCache){
1040outerCache=elem[expando]||(elem[expando]={});
1041cache=outerCache[type]||[];
1042nodeIndex=cache[0]===dirruns&&cache[1];
1043diff=nodeIndex;
1044}
1045if(diff===false){
1046while((node=++nodeIndex&&node&&node[dir]||
1047(diff=nodeIndex=0)||start.pop())){
1048if((ofType?
1049nodeName(node,name):
1050node.nodeType===1)&&
1051++diff){
1052if(useCache){
1053outerCache=node[expando]||
1054(node[expando]={});
1055outerCache[type]=[dirruns,diff];
1056}
1057if(node===elem){
1058break;
1059}
1060}
1061}
1062}
1063}
1064diff-=last;
1065return diff===first||(diff%first===0&&diff/first>=0);
1066}
1067};
1068},
1069PSEUDO:function(pseudo,argument){
1070var args,
1071fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||
1072find.error("unsupported pseudo: "+pseudo);
1073if(fn[expando]){
1074return fn(argument);
1075}
1076if(fn.length>1){
1077args=[pseudo,pseudo,"",argument];
1078return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?
1079markFunction(function(seed,matches){
1080var idx,
1081matched=fn(seed,argument),
1082i=matched.length;
1083while(i--){
1084idx=indexOf.call(seed,matched[i]);
1085seed[idx]=!(matches[idx]=matched[i]);
1086}
1087}):
1088function(elem){
1089return fn(elem,0,args);
1090};
1091}
1092return fn;
1093}
1094},
1095pseudos:{
1096not:markFunction(function(selector){
1097var input=[],
1098results=[],
1099matcher=compile(selector.replace(rtrimCSS,"$1"));
1100return matcher[expando]?
1101markFunction(function(seed,matches,_context,xml){
1102var elem,
1103unmatched=matcher(seed,null,xml,[]),
1104i=seed.length;
1105while(i--){
1106if((elem=unmatched[i])){
1107seed[i]=!(matches[i]=elem);
1108}
1109}
1110}):
1111function(elem,_context,xml){
1112input[0]=elem;
1113matcher(input,null,xml,results);
1114input[0]=null;
1115return!results.pop();
1116};
1117}),
1118has:markFunction(function(selector){
1119return function(elem){
1120return find(selector,elem).length>0;
1121};
1122}),
1123contains:markFunction(function(text){
1124text=text.replace(runescape,funescape);
1125return function(elem){
1126return(elem.textContent||jQuery.text(elem)).indexOf(text)>-1;
1127};
1128}),
1129lang:markFunction(function(lang){
1130if(!ridentifier.test(lang||"")){
1131find.error("unsupported lang: "+lang);
1132}
1133lang=lang.replace(runescape,funescape).toLowerCase();
1134return function(elem){
1135var elemLang;
1136do{
1137if((elemLang=documentIsHTML?
1138elem.lang:
1139elem.getAttribute("xml:lang")||elem.getAttribute("lang"))){
1140elemLang=elemLang.toLowerCase();
1141return elemLang===lang||elemLang.indexOf(lang+"-")===0;
1142}
1143}while((elem=elem.parentNode)&&elem.nodeType===1);
1144return false;
1145};
1146}),
1147target:function(elem){
1148var hash=window.location&&window.location.hash;
1149return hash&&hash.slice(1)===elem.id;
1150},
1151root:function(elem){
1152return elem===documentElement;
1153},
1154focus:function(elem){
1155return elem===safeActiveElement()&&
1156document.hasFocus()&&
1157!!(elem.type||elem.href||~elem.tabIndex);
1158},
1159enabled:createDisabledPseudo(false),
1160disabled:createDisabledPseudo(true),
1161checked:function(elem){
1162return(nodeName(elem,"input")&&!!elem.checked)||
1163(nodeName(elem,"option")&&!!elem.selected);
1164},
1165selected:function(elem){
1166if(elem.parentNode){
1167elem.parentNode.selectedIndex;
1168}
1169return elem.selected===true;
1170},
1171empty:function(elem){
1172for(elem=elem.firstChild;elem;elem=elem.nextSibling){
1173if(elem.nodeType<6){
1174return false;
1175}
1176}
1177return true;
1178},
1179parent:function(elem){
1180return!Expr.pseudos.empty(elem);
1181},
1182header:function(elem){
1183return rheader.test(elem.nodeName);
1184},
1185input:function(elem){
1186return rinputs.test(elem.nodeName);
1187},
1188button:function(elem){
1189return nodeName(elem,"input")&&elem.type==="button"||
1190nodeName(elem,"button");
1191},
1192text:function(elem){
1193var attr;
1194return nodeName(elem,"input")&&elem.type==="text"&&
1195((attr=elem.getAttribute("type"))==null||
1196attr.toLowerCase()==="text");
1197},
1198first:createPositionalPseudo(function(){
1199return[0];
1200}),
1201last:createPositionalPseudo(function(_matchIndexes,length){
1202return[length-1];
1203}),
1204eq:createPositionalPseudo(function(_matchIndexes,length,argument){
1205return[argument<0?argument+length:argument];
1206}),
1207even:createPositionalPseudo(function(matchIndexes,length){
1208var i=0;
1209for(;i<length;i+=2){
1210matchIndexes.push(i);
1211}
1212return matchIndexes;
1213}),
1214odd:createPositionalPseudo(function(matchIndexes,length){
1215var i=1;
1216for(;i<length;i+=2){
1217matchIndexes.push(i);
1218}
1219return matchIndexes;
1220}),
1221lt:createPositionalPseudo(function(matchIndexes,length,argument){
1222var i;
1223if(argument<0){
1224i=argument+length;
1225}else if(argument>length){
1226i=length;
1227}else{
1228i=argument;
1229}
1230for(;--i>=0;){
1231matchIndexes.push(i);
1232}
1233return matchIndexes;
1234}),
1235gt:createPositionalPseudo(function(matchIndexes,length,argument){
1236var i=argument<0?argument+length:argument;
1237for(;++i<length;){
1238matchIndexes.push(i);
1239}
1240return matchIndexes;
1241})
1242}
1243};
1244Expr.pseudos.nth=Expr.pseudos.eq;
1245for(i in{radio:true,checkbox:true,file:true,password:true,image:true}){
1246Expr.pseudos[i]=createInputPseudo(i);
1247}
1248for(i in{submit:true,reset:true}){
1249Expr.pseudos[i]=createButtonPseudo(i);
1250}
1251function setFilters(){}
1252setFilters.prototype=Expr.filters=Expr.pseudos;
1253Expr.setFilters=new setFilters();
1254function tokenize(selector,parseOnly){
1255var matched,match,tokens,type,
1256soFar,groups,preFilters,
1257cached=tokenCache[selector+" "];
1258if(cached){
1259return parseOnly?0:cached.slice(0);
1260}
1261soFar=selector;
1262groups=[];
1263preFilters=Expr.preFilter;
1264while(soFar){
1265if(!matched||(match=rcomma.exec(soFar))){
1266if(match){
1267soFar=soFar.slice(match[0].length)||soFar;
1268}
1269groups.push((tokens=[]));
1270}
1271matched=false;
1272if((match=rleadingCombinator.exec(soFar))){
1273matched=match.shift();
1274tokens.push({
1275value:matched,
1276type:match[0].replace(rtrimCSS," ")
1277});
1278soFar=soFar.slice(matched.length);
1279}
1280for(type in Expr.filter){
1281if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]||
1282(match=preFilters[type](match)))){
1283matched=match.shift();
1284tokens.push({
1285value:matched,
1286type:type,
1287matches:match
1288});
1289soFar=soFar.slice(matched.length);
1290}
1291}
1292if(!matched){
1293break;
1294}
1295}
1296if(parseOnly){
1297return soFar.length;
1298}
1299return soFar?
1300find.error(selector):
1301tokenCache(selector,groups).slice(0);
1302}
1303function toSelector(tokens){
1304var i=0,
1305len=tokens.length,
1306selector="";
1307for(;i<len;i++){
1308selector+=tokens[i].value;
1309}
1310return selector;
1311}
1312function addCombinator(matcher,combinator,base){
1313var dir=combinator.dir,
1314skip=combinator.next,
1315key=skip||dir,
1316checkNonElements=base&&key==="parentNode",
1317doneName=done++;
1318return combinator.first?
1319function(elem,context,xml){
1320while((elem=elem[dir])){
1321if(elem.nodeType===1||checkNonElements){
1322return matcher(elem,context,xml);
1323}
1324}
1325return false;
1326}:
1327function(elem,context,xml){
1328var oldCache,outerCache,
1329newCache=[dirruns,doneName];
1330if(xml){
1331while((elem=elem[dir])){
1332if(elem.nodeType===1||checkNonElements){
1333if(matcher(elem,context,xml)){
1334return true;
1335}
1336}
1337}
1338}else{
1339while((elem=elem[dir])){
1340if(elem.nodeType===1||checkNonElements){
1341outerCache=elem[expando]||(elem[expando]={});
1342if(skip&&nodeName(elem,skip)){
1343elem=elem[dir]||elem;
1344}else if((oldCache=outerCache[key])&&
1345oldCache[0]===dirruns&&oldCache[1]===doneName){
1346return(newCache[2]=oldCache[2]);
1347}else{
1348outerCache[key]=newCache;
1349if((newCache[2]=matcher(elem,context,xml))){
1350return true;
1351}
1352}
1353}
1354}
1355}
1356return false;
1357};
1358}
1359function elementMatcher(matchers){
1360return matchers.length>1?
1361function(elem,context,xml){
1362var i=matchers.length;
1363while(i--){
1364if(!matchers[i](elem,context,xml)){
1365return false;
1366}
1367}
1368return true;
1369}:
1370matchers[0];
1371}
1372function multipleContexts(selector,contexts,results){
1373var i=0,
1374len=contexts.length;
1375for(;i<len;i++){
1376find(selector,contexts[i],results);
1377}
1378return results;
1379}
1380function condense(unmatched,map,filter,context,xml){
1381var elem,
1382newUnmatched=[],
1383i=0,
1384len=unmatched.length,
1385mapped=map!=null;
1386for(;i<len;i++){
1387if((elem=unmatched[i])){
1388if(!filter||filter(elem,context,xml)){
1389newUnmatched.push(elem);
1390if(mapped){
1391map.push(i);
1392}
1393}
1394}
1395}
1396return newUnmatched;
1397}
1398function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){
1399if(postFilter&&!postFilter[expando]){
1400postFilter=setMatcher(postFilter);
1401}
1402if(postFinder&&!postFinder[expando]){
1403postFinder=setMatcher(postFinder,postSelector);
1404}
1405return markFunction(function(seed,results,context,xml){
1406var temp,i,elem,matcherOut,
1407preMap=[],
1408postMap=[],
1409preexisting=results.length,
1410elems=seed||
1411multipleContexts(selector||"*",
1412context.nodeType?[context]:context,[]),
1413matcherIn=preFilter&&(seed||!selector)?
1414condense(elems,preMap,preFilter,context,xml):
1415elems;
1416if(matcher){
1417matcherOut=postFinder||(seed?preFilter:preexisting||postFilter)?
1418[]:
1419results;
1420matcher(matcherIn,matcherOut,context,xml);
1421}else{
1422matcherOut=matcherIn;
1423}
1424if(postFilter){
1425temp=condense(matcherOut,postMap);
1426postFilter(temp,[],context,xml);
1427i=temp.length;
1428while(i--){
1429if((elem=temp[i])){
1430matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem);
1431}
1432}
1433}
1434if(seed){
1435if(postFinder||preFilter){
1436if(postFinder){
1437temp=[];
1438i=matcherOut.length;
1439while(i--){
1440if((elem=matcherOut[i])){
1441temp.push((matcherIn[i]=elem));
1442}
1443}
1444postFinder(null,(matcherOut=[]),temp,xml);
1445}
1446i=matcherOut.length;
1447while(i--){
1448if((elem=matcherOut[i])&&
1449(temp=postFinder?indexOf.call(seed,elem):preMap[i])>-1){
1450seed[temp]=!(results[temp]=elem);
1451}
1452}
1453}
1454}else{
1455matcherOut=condense(
1456matcherOut===results?
1457matcherOut.splice(preexisting,matcherOut.length):
1458matcherOut
1459);
1460if(postFinder){
1461postFinder(null,results,matcherOut,xml);
1462}else{
1463push.apply(results,matcherOut);
1464}
1465}
1466});
1467}
1468function matcherFromTokens(tokens){
1469var checkContext,matcher,j,
1470len=tokens.length,
1471leadingRelative=Expr.relative[tokens[0].type],
1472implicitRelative=leadingRelative||Expr.relative[" "],
1473i=leadingRelative?1:0,
1474matchContext=addCombinator(function(elem){
1475return elem===checkContext;
1476},implicitRelative,true),
1477matchAnyContext=addCombinator(function(elem){
1478return indexOf.call(checkContext,elem)>-1;
1479},implicitRelative,true),
1480matchers=[function(elem,context,xml){
1481var ret=(!leadingRelative&&(xml||context!=outermostContext))||(
1482(checkContext=context).nodeType?
1483matchContext(elem,context,xml):
1484matchAnyContext(elem,context,xml));
1485checkContext=null;
1486return ret;
1487}];
1488for(;i<len;i++){
1489if((matcher=Expr.relative[tokens[i].type])){
1490matchers=[addCombinator(elementMatcher(matchers),matcher)];
1491}else{
1492matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches);
1493if(matcher[expando]){
1494j=++i;
1495for(;j<len;j++){
1496if(Expr.relative[tokens[j].type]){
1497break;
1498}
1499}
1500return setMatcher(
1501i>1&&elementMatcher(matchers),
1502i>1&&toSelector(
1503tokens.slice(0,i-1)
1504.concat({value:tokens[i-2].type===" "?"*":""})
1505).replace(rtrimCSS,"$1"),
1506matcher,
1507i<j&&matcherFromTokens(tokens.slice(i,j)),
1508j<len&&matcherFromTokens((tokens=tokens.slice(j))),
1509j<len&&toSelector(tokens)
1510);
1511}
1512matchers.push(matcher);
1513}
1514}
1515return elementMatcher(matchers);
1516}
1517function matcherFromGroupMatchers(elementMatchers,setMatchers){
1518var bySet=setMatchers.length>0,
1519byElement=elementMatchers.length>0,
1520superMatcher=function(seed,context,xml,results,outermost){
1521var elem,j,matcher,
1522matchedCount=0,
1523i="0",
1524unmatched=seed&&[],
1525setMatched=[],
1526contextBackup=outermostContext,
1527elems=seed||byElement&&Expr.find.TAG("*",outermost),
1528dirrunsUnique=(dirruns+=contextBackup==null?1:Math.random()||0.1),
1529len=elems.length;
1530if(outermost){
1531outermostContext=context==document||context||outermost;
1532}
1533for(;i!==len&&(elem=elems[i])!=null;i++){
1534if(byElement&&elem){
1535j=0;
1536if(!context&&elem.ownerDocument!=document){
1537setDocument(elem);
1538xml=!documentIsHTML;
1539}
1540while((matcher=elementMatchers[j++])){
1541if(matcher(elem,context||document,xml)){
1542push.call(results,elem);
1543break;
1544}
1545}
1546if(outermost){
1547dirruns=dirrunsUnique;
1548}
1549}
1550if(bySet){
1551if((elem=!matcher&&elem)){
1552matchedCount--;
1553}
1554if(seed){
1555unmatched.push(elem);
1556}
1557}
1558}
1559matchedCount+=i;
1560if(bySet&&i!==matchedCount){
1561j=0;
1562while((matcher=setMatchers[j++])){
1563matcher(unmatched,setMatched,context,xml);
1564}
1565if(seed){
1566if(matchedCount>0){
1567while(i--){
1568if(!(unmatched[i]||setMatched[i])){
1569setMatched[i]=pop.call(results);
1570}
1571}
1572}
1573setMatched=condense(setMatched);
1574}
1575push.apply(results,setMatched);
1576if(outermost&&!seed&&setMatched.length>0&&
1577(matchedCount+setMatchers.length)>1){
1578jQuery.uniqueSort(results);
1579}
1580}
1581if(outermost){
1582dirruns=dirrunsUnique;
1583outermostContext=contextBackup;
1584}
1585return unmatched;
1586};
1587return bySet?
1588markFunction(superMatcher):
1589superMatcher;
1590}
1591function compile(selector,match){
1592var i,
1593setMatchers=[],
1594elementMatchers=[],
1595cached=compilerCache[selector+" "];
1596if(!cached){
1597if(!match){
1598match=tokenize(selector);
1599}
1600i=match.length;
1601while(i--){
1602cached=matcherFromTokens(match[i]);
1603if(cached[expando]){
1604setMatchers.push(cached);
1605}else{
1606elementMatchers.push(cached);
1607}
1608}
1609cached=compilerCache(selector,
1610matcherFromGroupMatchers(elementMatchers,setMatchers));
1611cached.selector=selector;
1612}
1613return cached;
1614}
1615function select(selector,context,results,seed){
1616var i,tokens,token,type,find,
1617compiled=typeof selector==="function"&&selector,
1618match=!seed&&tokenize((selector=compiled.selector||selector));
1619results=results||[];
1620if(match.length===1){
1621tokens=match[0]=match[0].slice(0);
1622if(tokens.length>2&&(token=tokens[0]).type==="ID"&&
1623context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){
1624context=(Expr.find.ID(
1625token.matches[0].replace(runescape,funescape),
1626context
1627)||[])[0];
1628if(!context){
1629return results;
1630}else if(compiled){
1631context=context.parentNode;
1632}
1633selector=selector.slice(tokens.shift().value.length);
1634}
1635i=matchExpr.needsContext.test(selector)?0:tokens.length;
1636while(i--){
1637token=tokens[i];
1638if(Expr.relative[(type=token.type)]){
1639break;
1640}
1641if((find=Expr.find[type])){
1642if((seed=find(
1643token.matches[0].replace(runescape,funescape),
1644rsibling.test(tokens[0].type)&&
1645testContext(context.parentNode)||context
1646))){
1647tokens.splice(i,1);
1648selector=seed.length&&toSelector(tokens);
1649if(!selector){
1650push.apply(results,seed);
1651return results;
1652}
1653break;
1654}
1655}
1656}
1657}
1658(compiled||compile(selector,match))(
1659seed,
1660context,
1661!documentIsHTML,
1662results,
1663!context||rsibling.test(selector)&&testContext(context.parentNode)||context
1664);
1665return results;
1666}
1667support.sortStable=expando.split("").sort(sortOrder).join("")===expando;
1668setDocument();
1669support.sortDetached=assert(function(el){
1670return el.compareDocumentPosition(document.createElement("fieldset"))&1;
1671});
1672jQuery.find=find;
1673jQuery.expr[":"]=jQuery.expr.pseudos;
1674jQuery.unique=jQuery.uniqueSort;
1675find.compile=compile;
1676find.select=select;
1677find.setDocument=setDocument;
1678find.tokenize=tokenize;
1679find.escape=jQuery.escapeSelector;
1680find.getText=jQuery.text;
1681find.isXML=jQuery.isXMLDoc;
1682find.selectors=jQuery.expr;
1683find.support=jQuery.support;
1684find.uniqueSort=jQuery.uniqueSort;
1685})();
1686var dir=function(elem,dir,until){
1687var matched=[],
1688truncate=until!==undefined;
1689while((elem=elem[dir])&&elem.nodeType!==9){
1690if(elem.nodeType===1){
1691if(truncate&&jQuery(elem).is(until)){
1692break;
1693}
1694matched.push(elem);
1695}
1696}
1697return matched;
1698};
1699var siblings=function(n,elem){
1700var matched=[];
1701for(;n;n=n.nextSibling){
1702if(n.nodeType===1&&n!==elem){
1703matched.push(n);
1704}
1705}
1706return matched;
1707};
1708var rneedsContext=jQuery.expr.match.needsContext;
1709var rsingleTag=(/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i);
1710function winnow(elements,qualifier,not){
1711if(isFunction(qualifier)){
1712return jQuery.grep(elements,function(elem,i){
1713return!!qualifier.call(elem,i,elem)!==not;
1714});
1715}
1716if(qualifier.nodeType){
1717return jQuery.grep(elements,function(elem){
1718return(elem===qualifier)!==not;
1719});
1720}
1721if(typeof qualifier!=="string"){
1722return jQuery.grep(elements,function(elem){
1723return(indexOf.call(qualifier,elem)>-1)!==not;
1724});
1725}
1726return jQuery.filter(qualifier,elements,not);
1727}
1728jQuery.filter=function(expr,elems,not){
1729var elem=elems[0];
1730if(not){
1731expr=":not("+expr+")";
1732}
1733if(elems.length===1&&elem.nodeType===1){
1734return jQuery.find.matchesSelector(elem,expr)?[elem]:[];
1735}
1736return jQuery.find.matches(expr,jQuery.grep(elems,function(elem){
1737return elem.nodeType===1;
1738}));
1739};
1740jQuery.fn.extend({
1741find:function(selector){
1742var i,ret,
1743len=this.length,
1744self=this;
1745if(typeof selector!=="string"){
1746return this.pushStack(jQuery(selector).filter(function(){
1747for(i=0;i<len;i++){
1748if(jQuery.contains(self[i],this)){
1749return true;
1750}
1751}
1752}));
1753}
1754ret=this.pushStack([]);
1755for(i=0;i<len;i++){
1756jQuery.find(selector,self[i],ret);
1757}
1758return len>1?jQuery.uniqueSort(ret):ret;
1759},
1760filter:function(selector){
1761return this.pushStack(winnow(this,selector||[],false));
1762},
1763not:function(selector){
1764return this.pushStack(winnow(this,selector||[],true));
1765},
1766is:function(selector){
1767return!!winnow(
1768this,
1769typeof selector==="string"&&rneedsContext.test(selector)?
1770jQuery(selector):
1771selector||[],
1772false
1773).length;
1774}
1775});
1776var rootjQuery,
1777rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
1778init=jQuery.fn.init=function(selector,context,root){
1779var match,elem;
1780if(!selector){
1781return this;
1782}
1783root=root||rootjQuery;
1784if(typeof selector==="string"){
1785if(selector[0]==="<"&&
1786selector[selector.length-1]===">"&&
1787selector.length>=3){
1788match=[null,selector,null];
1789}else{
1790match=rquickExpr.exec(selector);
1791}
1792if(match&&(match[1]||!context)){
1793if(match[1]){
1794context=context instanceof jQuery?context[0]:context;
1795jQuery.merge(this,jQuery.parseHTML(
1796match[1],
1797context&&context.nodeType?context.ownerDocument||context:document,
1798true
1799));
1800if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context)){
1801for(match in context){
1802if(isFunction(this[match])){
1803this[match](context[match]);
1804}else{
1805this.attr(match,context[match]);
1806}
1807}
1808}
1809return this;
1810}else{
1811elem=document.getElementById(match[2]);
1812if(elem){
1813this[0]=elem;
1814this.length=1;
1815}
1816return this;
1817}
1818}else if(!context||context.jquery){
1819return(context||root).find(selector);
1820}else{
1821return this.constructor(context).find(selector);
1822}
1823}else if(selector.nodeType){
1824this[0]=selector;
1825this.length=1;
1826return this;
1827}else if(isFunction(selector)){
1828return root.ready!==undefined?
1829root.ready(selector):
1830selector(jQuery);
1831}
1832return jQuery.makeArray(selector,this);
1833};
1834init.prototype=jQuery.fn;
1835rootjQuery=jQuery(document);
1836var rparentsprev=/^(?:parents|prev(?:Until|All))/,
1837guaranteedUnique={
1838children:true,
1839contents:true,
1840next:true,
1841prev:true
1842};
1843jQuery.fn.extend({
1844has:function(target){
1845var targets=jQuery(target,this),
1846l=targets.length;
1847return this.filter(function(){
1848var i=0;
1849for(;i<l;i++){
1850if(jQuery.contains(this,targets[i])){
1851return true;
1852}
1853}
1854});
1855},
1856closest:function(selectors,context){
1857var cur,
1858i=0,
1859l=this.length,
1860matched=[],
1861targets=typeof selectors!=="string"&&jQuery(selectors);
1862if(!rneedsContext.test(selectors)){
1863for(;i<l;i++){
1864for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){
1865if(cur.nodeType<11&&(targets?
1866targets.index(cur)>-1:
1867cur.nodeType===1&&
1868jQuery.find.matchesSelector(cur,selectors))){
1869matched.push(cur);
1870break;
1871}
1872}
1873}
1874}
1875return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched);
1876},
1877index:function(elem){
1878if(!elem){
1879return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1;
1880}
1881if(typeof elem==="string"){
1882return indexOf.call(jQuery(elem),this[0]);
1883}
1884return indexOf.call(this,
1885elem.jquery?elem[0]:elem
1886);
1887},
1888add:function(selector,context){
1889return this.pushStack(
1890jQuery.uniqueSort(
1891jQuery.merge(this.get(),jQuery(selector,context))
1892)
1893);
1894},
1895addBack:function(selector){
1896return this.add(selector==null?
1897this.prevObject:this.prevObject.filter(selector)
1898);
1899}
1900});
1901function sibling(cur,dir){
1902while((cur=cur[dir])&&cur.nodeType!==1){}
1903return cur;
1904}
1905jQuery.each({
1906parent:function(elem){
1907var parent=elem.parentNode;
1908return parent&&parent.nodeType!==11?parent:null;
1909},
1910parents:function(elem){
1911return dir(elem,"parentNode");
1912},
1913parentsUntil:function(elem,_i,until){
1914return dir(elem,"parentNode",until);
1915},
1916next:function(elem){
1917return sibling(elem,"nextSibling");
1918},
1919prev:function(elem){
1920return sibling(elem,"previousSibling");
1921},
1922nextAll:function(elem){
1923return dir(elem,"nextSibling");
1924},
1925prevAll:function(elem){
1926return dir(elem,"previousSibling");
1927},
1928nextUntil:function(elem,_i,until){
1929return dir(elem,"nextSibling",until);
1930},
1931prevUntil:function(elem,_i,until){
1932return dir(elem,"previousSibling",until);
1933},
1934siblings:function(elem){
1935return siblings((elem.parentNode||{}).firstChild,elem);
1936},
1937children:function(elem){
1938return siblings(elem.firstChild);
1939},
1940contents:function(elem){
1941if(elem.contentDocument!=null&&
1942getProto(elem.contentDocument)){
1943return elem.contentDocument;
1944}
1945if(nodeName(elem,"template")){
1946elem=elem.content||elem;
1947}
1948return jQuery.merge([],elem.childNodes);
1949}
1950},function(name,fn){
1951jQuery.fn[name]=function(until,selector){
1952var matched=jQuery.map(this,fn,until);
1953if(name.slice(-5)!=="Until"){
1954selector=until;
1955}
1956if(selector&&typeof selector==="string"){
1957matched=jQuery.filter(selector,matched);
1958}
1959if(this.length>1){
1960if(!guaranteedUnique[name]){
1961jQuery.uniqueSort(matched);
1962}
1963if(rparentsprev.test(name)){
1964matched.reverse();
1965}
1966}
1967return this.pushStack(matched);
1968};
1969});
1970var rnothtmlwhite=(/[^\x20\t\r\n\f]+/g);
1971function createOptions(options){
1972var object={};
1973jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){
1974object[flag]=true;
1975});
1976return object;
1977}
1978jQuery.Callbacks=function(options){
1979options=typeof options==="string"?
1980createOptions(options):
1981jQuery.extend({},options);
1982var
1983firing,
1984memory,
1985fired,
1986locked,
1987list=[],
1988queue=[],
1989firingIndex=-1,
1990fire=function(){
1991locked=locked||options.once;
1992fired=firing=true;
1993for(;queue.length;firingIndex=-1){
1994memory=queue.shift();
1995while(++firingIndex<list.length){
1996if(list[firingIndex].apply(memory[0],memory[1])===false&&
1997options.stopOnFalse){
1998firingIndex=list.length;
1999memory=false;
2000}
2001}
2002}
2003if(!options.memory){
2004memory=false;
2005}
2006firing=false;
2007if(locked){
2008if(memory){
2009list=[];
2010}else{
2011list="";
2012}
2013}
2014},
2015self={
2016add:function(){
2017if(list){
2018if(memory&&!firing){
2019firingIndex=list.length-1;
2020queue.push(memory);
2021}
2022(function add(args){
2023jQuery.each(args,function(_,arg){
2024if(isFunction(arg)){
2025if(!options.unique||!self.has(arg)){
2026list.push(arg);
2027}
2028}else if(arg&&arg.length&&toType(arg)!=="string"){
2029add(arg);
2030}
2031});
2032})(arguments);
2033if(memory&&!firing){
2034fire();
2035}
2036}
2037return this;
2038},
2039remove:function(){
2040jQuery.each(arguments,function(_,arg){
2041var index;
2042while((index=jQuery.inArray(arg,list,index))>-1){
2043list.splice(index,1);
2044if(index<=firingIndex){
2045firingIndex--;
2046}
2047}
2048});
2049return this;
2050},
2051has:function(fn){
2052return fn?
2053jQuery.inArray(fn,list)>-1:
2054list.length>0;
2055},
2056empty:function(){
2057if(list){
2058list=[];
2059}
2060return this;
2061},
2062disable:function(){
2063locked=queue=[];
2064list=memory="";
2065return this;
2066},
2067disabled:function(){
2068return!list;
2069},
2070lock:function(){
2071locked=queue=[];
2072if(!memory&&!firing){
2073list=memory="";
2074}
2075return this;
2076},
2077locked:function(){
2078return!!locked;
2079},
2080fireWith:function(context,args){
2081if(!locked){
2082args=args||[];
2083args=[context,args.slice?args.slice():args];
2084queue.push(args);
2085if(!firing){
2086fire();
2087}
2088}
2089return this;
2090},
2091fire:function(){
2092self.fireWith(this,arguments);
2093return this;
2094},
2095fired:function(){
2096return!!fired;
2097}
2098};
2099return self;
2100};
2101function Identity(v){
2102return v;
2103}
2104function Thrower(ex){
2105throw ex;
2106}
2107function adoptValue(value,resolve,reject,noValue){
2108var method;
2109try{
2110if(value&&isFunction((method=value.promise))){
2111method.call(value).done(resolve).fail(reject);
2112}else if(value&&isFunction((method=value.then))){
2113method.call(value,resolve,reject);
2114}else{
2115resolve.apply(undefined,[value].slice(noValue));
2116}
2117}catch(value){
2118reject.apply(undefined,[value]);
2119}
2120}
2121jQuery.extend({
2122Deferred:function(func){
2123var tuples=[
2124["notify","progress",jQuery.Callbacks("memory"),
2125jQuery.Callbacks("memory"),2],
2126["resolve","done",jQuery.Callbacks("once memory"),
2127jQuery.Callbacks("once memory"),0,"resolved"],
2128["reject","fail",jQuery.Callbacks("once memory"),
2129jQuery.Callbacks("once memory"),1,"rejected"]
2130],
2131state="pending",
2132promise={
2133state:function(){
2134return state;
2135},
2136always:function(){
2137deferred.done(arguments).fail(arguments);
2138return this;
2139},
2140"catch":function(fn){
2141return promise.then(null,fn);
2142},
2143pipe:function(){
2144var fns=arguments;
2145return jQuery.Deferred(function(newDefer){
2146jQuery.each(tuples,function(_i,tuple){
2147var fn=isFunction(fns[tuple[4]])&&fns[tuple[4]];
2148deferred[tuple[1]](function(){
2149var returned=fn&&fn.apply(this,arguments);
2150if(returned&&isFunction(returned.promise)){
2151returned.promise()
2152.progress(newDefer.notify)
2153.done(newDefer.resolve)
2154.fail(newDefer.reject);
2155}else{
2156newDefer[tuple[0]+"With"](
2157this,
2158fn?[returned]:arguments
2159);
2160}
2161});
2162});
2163fns=null;
2164}).promise();
2165},
2166then:function(onFulfilled,onRejected,onProgress){
2167var maxDepth=0;
2168function resolve(depth,deferred,handler,special){
2169return function(){
2170var that=this,
2171args=arguments,
2172mightThrow=function(){
2173var returned,then;
2174if(depth<maxDepth){
2175return;
2176}
2177returned=handler.apply(that,args);
2178if(returned===deferred.promise()){
2179throw new TypeError("Thenable self-resolution");
2180}
2181then=returned&&
2182(typeof returned==="object"||
2183typeof returned==="function")&&
2184returned.then;
2185if(isFunction(then)){
2186if(special){
2187then.call(
2188returned,
2189resolve(maxDepth,deferred,Identity,special),
2190resolve(maxDepth,deferred,Thrower,special)
2191);
2192}else{
2193maxDepth++;
2194then.call(
2195returned,
2196resolve(maxDepth,deferred,Identity,special),
2197resolve(maxDepth,deferred,Thrower,special),
2198resolve(maxDepth,deferred,Identity,
2199deferred.notifyWith)
2200);
2201}
2202}else{
2203if(handler!==Identity){
2204that=undefined;
2205args=[returned];
2206}
2207(special||deferred.resolveWith)(that,args);
2208}
2209},
2210process=special?
2211mightThrow:
2212function(){
2213try{
2214mightThrow();
2215}catch(e){
2216if(jQuery.Deferred.exceptionHook){
2217jQuery.Deferred.exceptionHook(e,
2218process.error);
2219}
2220if(depth+1>=maxDepth){
2221if(handler!==Thrower){
2222that=undefined;
2223args=[e];
2224}
2225deferred.rejectWith(that,args);
2226}
2227}
2228};
2229if(depth){
2230process();
2231}else{
2232if(jQuery.Deferred.getErrorHook){
2233process.error=jQuery.Deferred.getErrorHook();
2234}else if(jQuery.Deferred.getStackHook){
2235process.error=jQuery.Deferred.getStackHook();
2236}
2237window.setTimeout(process);
2238}
2239};
2240}
2241return jQuery.Deferred(function(newDefer){
2242tuples[0][3].add(
2243resolve(
22440,
2245newDefer,
2246isFunction(onProgress)?
2247onProgress:
2248Identity,
2249newDefer.notifyWith
2250)
2251);
2252tuples[1][3].add(
2253resolve(
22540,
2255newDefer,
2256isFunction(onFulfilled)?
2257onFulfilled:
2258Identity
2259)
2260);
2261tuples[2][3].add(
2262resolve(
22630,
2264newDefer,
2265isFunction(onRejected)?
2266onRejected:
2267Thrower
2268)
2269);
2270}).promise();
2271},
2272promise:function(obj){
2273return obj!=null?jQuery.extend(obj,promise):promise;
2274}
2275},
2276deferred={};
2277jQuery.each(tuples,function(i,tuple){
2278var list=tuple[2],
2279stateString=tuple[5];
2280promise[tuple[1]]=list.add;
2281if(stateString){
2282list.add(
2283function(){
2284state=stateString;
2285},
2286tuples[3-i][2].disable,
2287tuples[3-i][3].disable,
2288tuples[0][2].lock,
2289tuples[0][3].lock
2290);
2291}
2292list.add(tuple[3].fire);
2293deferred[tuple[0]]=function(){
2294deferred[tuple[0]+"With"](this===deferred?undefined:this,arguments);
2295return this;
2296};
2297deferred[tuple[0]+"With"]=list.fireWith;
2298});
2299promise.promise(deferred);
2300if(func){
2301func.call(deferred,deferred);
2302}
2303return deferred;
2304},
2305when:function(singleValue){
2306var
2307remaining=arguments.length,
2308i=remaining,
2309resolveContexts=Array(i),
2310resolveValues=slice.call(arguments),
2311primary=jQuery.Deferred(),
2312updateFunc=function(i){
2313return function(value){
2314resolveContexts[i]=this;
2315resolveValues[i]=arguments.length>1?slice.call(arguments):value;
2316if(!(--remaining)){
2317primary.resolveWith(resolveContexts,resolveValues);
2318}
2319};
2320};
2321if(remaining<=1){
2322adoptValue(singleValue,primary.done(updateFunc(i)).resolve,primary.reject,
2323!remaining);
2324if(primary.state()==="pending"||
2325isFunction(resolveValues[i]&&resolveValues[i].then)){
2326return primary.then();
2327}
2328}
2329while(i--){
2330adoptValue(resolveValues[i],updateFunc(i),primary.reject);
2331}
2332return primary.promise();
2333}
2334});
2335var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
2336jQuery.Deferred.exceptionHook=function(error,asyncError){
2337if(window.console&&window.console.warn&&error&&rerrorNames.test(error.name)){
2338window.console.warn("jQuery.Deferred exception: "+error.message,
2339error.stack,asyncError);
2340}
2341};
2342jQuery.readyException=function(error){
2343window.setTimeout(function(){
2344throw error;
2345});
2346};
2347var readyList=jQuery.Deferred();
2348jQuery.fn.ready=function(fn){
2349readyList
2350.then(fn)
2351.catch(function(error){
2352jQuery.readyException(error);
2353});
2354return this;
2355};
2356jQuery.extend({
2357isReady:false,
2358readyWait:1,
2359ready:function(wait){
2360if(wait===true?--jQuery.readyWait:jQuery.isReady){
2361return;
2362}
2363jQuery.isReady=true;
2364if(wait!==true&&--jQuery.readyWait>0){
2365return;
2366}
2367readyList.resolveWith(document,[jQuery]);
2368}
2369});
2370jQuery.ready.then=readyList.then;
2371function completed(){
2372document.removeEventListener("DOMContentLoaded",completed);
2373window.removeEventListener("load",completed);
2374jQuery.ready();
2375}
2376if(document.readyState==="complete"||
2377(document.readyState!=="loading"&&!document.documentElement.doScroll)){
2378window.setTimeout(jQuery.ready);
2379}else{
2380document.addEventListener("DOMContentLoaded",completed);
2381window.addEventListener("load",completed);
2382}
2383var access=function(elems,fn,key,value,chainable,emptyGet,raw){
2384var i=0,
2385len=elems.length,
2386bulk=key==null;
2387if(toType(key)==="object"){
2388chainable=true;
2389for(i in key){
2390access(elems,fn,i,key[i],true,emptyGet,raw);
2391}
2392}else if(value!==undefined){
2393chainable=true;
2394if(!isFunction(value)){
2395raw=true;
2396}
2397if(bulk){
2398if(raw){
2399fn.call(elems,value);
2400fn=null;
2401}else{
2402bulk=fn;
2403fn=function(elem,_key,value){
2404return bulk.call(jQuery(elem),value);
2405};
2406}
2407}
2408if(fn){
2409for(;i<len;i++){
2410fn(
2411elems[i],key,raw?
2412value:
2413value.call(elems[i],i,fn(elems[i],key))
2414);
2415}
2416}
2417}
2418if(chainable){
2419return elems;
2420}
2421if(bulk){
2422return fn.call(elems);
2423}
2424return len?fn(elems[0],key):emptyGet;
2425};
2426var rmsPrefix=/^-ms-/,
2427rdashAlpha=/-([a-z])/g;
2428function fcamelCase(_all,letter){
2429return letter.toUpperCase();
2430}
2431function camelCase(string){
2432return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase);
2433}
2434var acceptData=function(owner){
2435return owner.nodeType===1||owner.nodeType===9||!(+owner.nodeType);
2436};
2437function Data(){
2438this.expando=jQuery.expando+Data.uid++;
2439}
2440Data.uid=1;
2441Data.prototype={
2442cache:function(owner){
2443var value=owner[this.expando];
2444if(!value){
2445value={};
2446if(acceptData(owner)){
2447if(owner.nodeType){
2448owner[this.expando]=value;
2449}else{
2450Object.defineProperty(owner,this.expando,{
2451value:value,
2452configurable:true
2453});
2454}
2455}
2456}
2457return value;
2458},
2459set:function(owner,data,value){
2460var prop,
2461cache=this.cache(owner);
2462if(typeof data==="string"){
2463cache[camelCase(data)]=value;
2464}else{
2465for(prop in data){
2466cache[camelCase(prop)]=data[prop];
2467}
2468}
2469return cache;
2470},
2471get:function(owner,key){
2472return key===undefined?
2473this.cache(owner):
2474owner[this.expando]&&owner[this.expando][camelCase(key)];
2475},
2476access:function(owner,key,value){
2477if(key===undefined||
2478((key&&typeof key==="string")&&value===undefined)){
2479return this.get(owner,key);
2480}
2481this.set(owner,key,value);
2482return value!==undefined?value:key;
2483},
2484remove:function(owner,key){
2485var i,
2486cache=owner[this.expando];
2487if(cache===undefined){
2488return;
2489}
2490if(key!==undefined){
2491if(Array.isArray(key)){
2492key=key.map(camelCase);
2493}else{
2494key=camelCase(key);
2495key=key in cache?
2496[key]:
2497(key.match(rnothtmlwhite)||[]);
2498}
2499i=key.length;
2500while(i--){
2501delete cache[key[i]];
2502}
2503}
2504if(key===undefined||jQuery.isEmptyObject(cache)){
2505if(owner.nodeType){
2506owner[this.expando]=undefined;
2507}else{
2508delete owner[this.expando];
2509}
2510}
2511},
2512hasData:function(owner){
2513var cache=owner[this.expando];
2514return cache!==undefined&&!jQuery.isEmptyObject(cache);
2515}
2516};
2517var dataPriv=new Data();
2518var dataUser=new Data();
2519var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
2520rmultiDash=/[A-Z]/g;
2521function getData(data){
2522if(data==="true"){
2523return true;
2524}
2525if(data==="false"){
2526return false;
2527}
2528if(data==="null"){
2529return null;
2530}
2531if(data===+data+""){
2532return+data;
2533}
2534if(rbrace.test(data)){
2535return JSON.parse(data);
2536}
2537return data;
2538}
2539function dataAttr(elem,key,data){
2540var name;
2541if(data===undefined&&elem.nodeType===1){
2542name="data-"+key.replace(rmultiDash,"-$&").toLowerCase();
2543data=elem.getAttribute(name);
2544if(typeof data==="string"){
2545try{
2546data=getData(data);
2547}catch(e){}
2548dataUser.set(elem,key,data);
2549}else{
2550data=undefined;
2551}
2552}
2553return data;
2554}
2555jQuery.extend({
2556hasData:function(elem){
2557return dataUser.hasData(elem)||dataPriv.hasData(elem);
2558},
2559data:function(elem,name,data){
2560return dataUser.access(elem,name,data);
2561},
2562removeData:function(elem,name){
2563dataUser.remove(elem,name);
2564},
2565_data:function(elem,name,data){
2566return dataPriv.access(elem,name,data);
2567},
2568_removeData:function(elem,name){
2569dataPriv.remove(elem,name);
2570}
2571});
2572jQuery.fn.extend({
2573data:function(key,value){
2574var i,name,data,
2575elem=this[0],
2576attrs=elem&&elem.attributes;
2577if(key===undefined){
2578if(this.length){
2579data=dataUser.get(elem);
2580if(elem.nodeType===1&&!dataPriv.get(elem,"hasDataAttrs")){
2581i=attrs.length;
2582while(i--){
2583if(attrs[i]){
2584name=attrs[i].name;
2585if(name.indexOf("data-")===0){
2586name=camelCase(name.slice(5));
2587dataAttr(elem,name,data[name]);
2588}
2589}
2590}
2591dataPriv.set(elem,"hasDataAttrs",true);
2592}
2593}
2594return data;
2595}
2596if(typeof key==="object"){
2597return this.each(function(){
2598dataUser.set(this,key);
2599});
2600}
2601return access(this,function(value){
2602var data;
2603if(elem&&value===undefined){
2604data=dataUser.get(elem,key);
2605if(data!==undefined){
2606return data;
2607}
2608data=dataAttr(elem,key);
2609if(data!==undefined){
2610return data;
2611}
2612return;
2613}
2614this.each(function(){
2615dataUser.set(this,key,value);
2616});
2617},null,value,arguments.length>1,null,true);
2618},
2619removeData:function(key){
2620return this.each(function(){
2621dataUser.remove(this,key);
2622});
2623}
2624});
2625jQuery.extend({
2626queue:function(elem,type,data){
2627var queue;
2628if(elem){
2629type=(type||"fx")+"queue";
2630queue=dataPriv.get(elem,type);
2631if(data){
2632if(!queue||Array.isArray(data)){
2633queue=dataPriv.access(elem,type,jQuery.makeArray(data));
2634}else{
2635queue.push(data);
2636}
2637}
2638return queue||[];
2639}
2640},
2641dequeue:function(elem,type){
2642type=type||"fx";
2643var queue=jQuery.queue(elem,type),
2644startLength=queue.length,
2645fn=queue.shift(),
2646hooks=jQuery._queueHooks(elem,type),
2647next=function(){
2648jQuery.dequeue(elem,type);
2649};
2650if(fn==="inprogress"){
2651fn=queue.shift();
2652startLength--;
2653}
2654if(fn){
2655if(type==="fx"){
2656queue.unshift("inprogress");
2657}
2658delete hooks.stop;
2659fn.call(elem,next,hooks);
2660}
2661if(!startLength&&hooks){
2662hooks.empty.fire();
2663}
2664},
2665_queueHooks:function(elem,type){
2666var key=type+"queueHooks";
2667return dataPriv.get(elem,key)||dataPriv.access(elem,key,{
2668empty:jQuery.Callbacks("once memory").add(function(){
2669dataPriv.remove(elem,[type+"queue",key]);
2670})
2671});
2672}
2673});
2674jQuery.fn.extend({
2675queue:function(type,data){
2676var setter=2;
2677if(typeof type!=="string"){
2678data=type;
2679type="fx";
2680setter--;
2681}
2682if(arguments.length<setter){
2683return jQuery.queue(this[0],type);
2684}
2685return data===undefined?
2686this:
2687this.each(function(){
2688var queue=jQuery.queue(this,type,data);
2689jQuery._queueHooks(this,type);
2690if(type==="fx"&&queue[0]!=="inprogress"){
2691jQuery.dequeue(this,type);
2692}
2693});
2694},
2695dequeue:function(type){
2696return this.each(function(){
2697jQuery.dequeue(this,type);
2698});
2699},
2700clearQueue:function(type){
2701return this.queue(type||"fx",[]);
2702},
2703promise:function(type,obj){
2704var tmp,
2705count=1,
2706defer=jQuery.Deferred(),
2707elements=this,
2708i=this.length,
2709resolve=function(){
2710if(!(--count)){
2711defer.resolveWith(elements,[elements]);
2712}
2713};
2714if(typeof type!=="string"){
2715obj=type;
2716type=undefined;
2717}
2718type=type||"fx";
2719while(i--){
2720tmp=dataPriv.get(elements[i],type+"queueHooks");
2721if(tmp&&tmp.empty){
2722count++;
2723tmp.empty.add(resolve);
2724}
2725}
2726resolve();
2727return defer.promise(obj);
2728}
2729});
2730var pnum=(/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;
2731var rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i");
2732var cssExpand=["Top","Right","Bottom","Left"];
2733var documentElement=document.documentElement;
2734var isAttached=function(elem){
2735return jQuery.contains(elem.ownerDocument,elem);
2736},
2737composed={composed:true};
2738if(documentElement.getRootNode){
2739isAttached=function(elem){
2740return jQuery.contains(elem.ownerDocument,elem)||
2741elem.getRootNode(composed)===elem.ownerDocument;
2742};
2743}
2744var isHiddenWithinTree=function(elem,el){
2745elem=el||elem;
2746return elem.style.display==="none"||
2747elem.style.display===""&&
2748isAttached(elem)&&
2749jQuery.css(elem,"display")==="none";
2750};
2751function adjustCSS(elem,prop,valueParts,tween){
2752var adjusted,scale,
2753maxIterations=20,
2754currentValue=tween?
2755function(){
2756return tween.cur();
2757}:
2758function(){
2759return jQuery.css(elem,prop,"");
2760},
2761initial=currentValue(),
2762unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),
2763initialInUnit=elem.nodeType&&
2764(jQuery.cssNumber[prop]||unit!=="px"&&+initial)&&
2765rcssNum.exec(jQuery.css(elem,prop));
2766if(initialInUnit&&initialInUnit[3]!==unit){
2767initial=initial/2;
2768unit=unit||initialInUnit[3];
2769initialInUnit=+initial||1;
2770while(maxIterations--){
2771jQuery.style(elem,prop,initialInUnit+unit);
2772if((1-scale)*(1-(scale=currentValue()/initial||0.5))<=0){
2773maxIterations=0;
2774}
2775initialInUnit=initialInUnit/scale;
2776}
2777initialInUnit=initialInUnit*2;
2778jQuery.style(elem,prop,initialInUnit+unit);
2779valueParts=valueParts||[];
2780}
2781if(valueParts){
2782initialInUnit=+initialInUnit||+initial||0;
2783adjusted=valueParts[1]?
2784initialInUnit+(valueParts[1]+1)*valueParts[2]:
2785+valueParts[2];
2786if(tween){
2787tween.unit=unit;
2788tween.start=initialInUnit;
2789tween.end=adjusted;
2790}
2791}
2792return adjusted;
2793}
2794var defaultDisplayMap={};
2795function getDefaultDisplay(elem){
2796var temp,
2797doc=elem.ownerDocument,
2798nodeName=elem.nodeName,
2799display=defaultDisplayMap[nodeName];
2800if(display){
2801return display;
2802}
2803temp=doc.body.appendChild(doc.createElement(nodeName));
2804display=jQuery.css(temp,"display");
2805temp.parentNode.removeChild(temp);
2806if(display==="none"){
2807display="block";
2808}
2809defaultDisplayMap[nodeName]=display;
2810return display;
2811}
2812function showHide(elements,show){
2813var display,elem,
2814values=[],
2815index=0,
2816length=elements.length;
2817for(;index<length;index++){
2818elem=elements[index];
2819if(!elem.style){
2820continue;
2821}
2822display=elem.style.display;
2823if(show){
2824if(display==="none"){
2825values[index]=dataPriv.get(elem,"display")||null;
2826if(!values[index]){
2827elem.style.display="";
2828}
2829}
2830if(elem.style.display===""&&isHiddenWithinTree(elem)){
2831values[index]=getDefaultDisplay(elem);
2832}
2833}else{
2834if(display!=="none"){
2835values[index]="none";
2836dataPriv.set(elem,"display",display);
2837}
2838}
2839}
2840for(index=0;index<length;index++){
2841if(values[index]!=null){
2842elements[index].style.display=values[index];
2843}
2844}
2845return elements;
2846}
2847jQuery.fn.extend({
2848show:function(){
2849return showHide(this,true);
2850},
2851hide:function(){
2852return showHide(this);
2853},
2854toggle:function(state){
2855if(typeof state==="boolean"){
2856return state?this.show():this.hide();
2857}
2858return this.each(function(){
2859if(isHiddenWithinTree(this)){
2860jQuery(this).show();
2861}else{
2862jQuery(this).hide();
2863}
2864});
2865}
2866});
2867var rcheckableType=(/^(?:checkbox|radio)$/i);
2868var rtagName=(/<([a-z][^\/\0>\x20\t\r\n\f]*)/i);
2869var rscriptType=(/^$|^module$|\/(?:java|ecma)script/i);
2870(function(){
2871var fragment=document.createDocumentFragment(),
2872div=fragment.appendChild(document.createElement("div")),
2873input=document.createElement("input");
2874input.setAttribute("type","radio");
2875input.setAttribute("checked","checked");
2876input.setAttribute("name","t");
2877div.appendChild(input);
2878support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked;
2879div.innerHTML="<textarea>x</textarea>";
2880support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue;
2881div.innerHTML="<option></option>";
2882support.option=!!div.lastChild;
2883})();
2884var wrapMap={
2885thead:[1,"<table>","</table>"],
2886col:[2,"<table><colgroup>","</colgroup></table>"],
2887tr:[2,"<table><tbody>","</tbody></table>"],
2888td:[3,"<table><tbody><tr>","</tr></tbody></table>"],
2889_default:[0,"",""]
2890};
2891wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;
2892wrapMap.th=wrapMap.td;
2893if(!support.option){
2894wrapMap.optgroup=wrapMap.option=[1,"<select multiple='multiple'>","</select>"];
2895}
2896function getAll(context,tag){
2897var ret;
2898if(typeof context.getElementsByTagName!=="undefined"){
2899ret=context.getElementsByTagName(tag||"*");
2900}else if(typeof context.querySelectorAll!=="undefined"){
2901ret=context.querySelectorAll(tag||"*");
2902}else{
2903ret=[];
2904}
2905if(tag===undefined||tag&&nodeName(context,tag)){
2906return jQuery.merge([context],ret);
2907}
2908return ret;
2909}
2910function setGlobalEval(elems,refElements){
2911var i=0,
2912l=elems.length;
2913for(;i<l;i++){
2914dataPriv.set(
2915elems[i],
2916"globalEval",
2917!refElements||dataPriv.get(refElements[i],"globalEval")
2918);
2919}
2920}
2921var rhtml=/<|&#?\w+;/;
2922function buildFragment(elems,context,scripts,selection,ignored){
2923var elem,tmp,tag,wrap,attached,j,
2924fragment=context.createDocumentFragment(),
2925nodes=[],
2926i=0,
2927l=elems.length;
2928for(;i<l;i++){
2929elem=elems[i];
2930if(elem||elem===0){
2931if(toType(elem)==="object"){
2932jQuery.merge(nodes,elem.nodeType?[elem]:elem);
2933}else if(!rhtml.test(elem)){
2934nodes.push(context.createTextNode(elem));
2935}else{
2936tmp=tmp||fragment.appendChild(context.createElement("div"));
2937tag=(rtagName.exec(elem)||["",""])[1].toLowerCase();
2938wrap=wrapMap[tag]||wrapMap._default;
2939tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2];
2940j=wrap[0];
2941while(j--){
2942tmp=tmp.lastChild;
2943}
2944jQuery.merge(nodes,tmp.childNodes);
2945tmp=fragment.firstChild;
2946tmp.textContent="";
2947}
2948}
2949}
2950fragment.textContent="";
2951i=0;
2952while((elem=nodes[i++])){
2953if(selection&&jQuery.inArray(elem,selection)>-1){
2954if(ignored){
2955ignored.push(elem);
2956}
2957continue;
2958}
2959attached=isAttached(elem);
2960tmp=getAll(fragment.appendChild(elem),"script");
2961if(attached){
2962setGlobalEval(tmp);
2963}
2964if(scripts){
2965j=0;
2966while((elem=tmp[j++])){
2967if(rscriptType.test(elem.type||"")){
2968scripts.push(elem);
2969}
2970}
2971}
2972}
2973return fragment;
2974}
2975var rtypenamespace=/^([^.]*)(?:\.(.+)|)/;
2976function returnTrue(){
2977return true;
2978}
2979function returnFalse(){
2980return false;
2981}
2982function on(elem,types,selector,data,fn,one){
2983var origFn,type;
2984if(typeof types==="object"){
2985if(typeof selector!=="string"){
2986data=data||selector;
2987selector=undefined;
2988}
2989for(type in types){
2990on(elem,type,selector,data,types[type],one);
2991}
2992return elem;
2993}
2994if(data==null&&fn==null){
2995fn=selector;
2996data=selector=undefined;
2997}else if(fn==null){
2998if(typeof selector==="string"){
2999fn=data;
3000data=undefined;
3001}else{
3002fn=data;
3003data=selector;
3004selector=undefined;
3005}
3006}
3007if(fn===false){
3008fn=returnFalse;
3009}else if(!fn){
3010return elem;
3011}
3012if(one===1){
3013origFn=fn;
3014fn=function(event){
3015jQuery().off(event);
3016return origFn.apply(this,arguments);
3017};
3018fn.guid=origFn.guid||(origFn.guid=jQuery.guid++);
3019}
3020return elem.each(function(){
3021jQuery.event.add(this,types,fn,data,selector);
3022});
3023}
3024jQuery.event={
3025global:{},
3026add:function(elem,types,handler,data,selector){
3027var handleObjIn,eventHandle,tmp,
3028events,t,handleObj,
3029special,handlers,type,namespaces,origType,
3030elemData=dataPriv.get(elem);
3031if(!acceptData(elem)){
3032return;
3033}
3034if(handler.handler){
3035handleObjIn=handler;
3036handler=handleObjIn.handler;
3037selector=handleObjIn.selector;
3038}
3039if(selector){
3040jQuery.find.matchesSelector(documentElement,selector);
3041}
3042if(!handler.guid){
3043handler.guid=jQuery.guid++;
3044}
3045if(!(events=elemData.events)){
3046events=elemData.events=Object.create(null);
3047}
3048if(!(eventHandle=elemData.handle)){
3049eventHandle=elemData.handle=function(e){
3050return typeof jQuery!=="undefined"&&jQuery.event.triggered!==e.type?
3051jQuery.event.dispatch.apply(elem,arguments):undefined;
3052};
3053}
3054types=(types||"").match(rnothtmlwhite)||[""];
3055t=types.length;
3056while(t--){
3057tmp=rtypenamespace.exec(types[t])||[];
3058type=origType=tmp[1];
3059namespaces=(tmp[2]||"").split(".").sort();
3060if(!type){
3061continue;
3062}
3063special=jQuery.event.special[type]||{};
3064type=(selector?special.delegateType:special.bindType)||type;
3065special=jQuery.event.special[type]||{};
3066handleObj=jQuery.extend({
3067type:type,
3068origType:origType,
3069data:data,
3070handler:handler,
3071guid:handler.guid,
3072selector:selector,
3073needsContext:selector&&jQuery.expr.match.needsContext.test(selector),
3074namespace:namespaces.join(".")
3075},handleObjIn);
3076if(!(handlers=events[type])){
3077handlers=events[type]=[];
3078handlers.delegateCount=0;
3079if(!special.setup||
3080special.setup.call(elem,data,namespaces,eventHandle)===false){
3081if(elem.addEventListener){
3082elem.addEventListener(type,eventHandle);
3083}
3084}
3085}
3086if(special.add){
3087special.add.call(elem,handleObj);
3088if(!handleObj.handler.guid){
3089handleObj.handler.guid=handler.guid;
3090}
3091}
3092if(selector){
3093handlers.splice(handlers.delegateCount++,0,handleObj);
3094}else{
3095handlers.push(handleObj);
3096}
3097jQuery.event.global[type]=true;
3098}
3099},
3100remove:function(elem,types,handler,selector,mappedTypes){
3101var j,origCount,tmp,
3102events,t,handleObj,
3103special,handlers,type,namespaces,origType,
3104elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);
3105if(!elemData||!(events=elemData.events)){
3106return;
3107}
3108types=(types||"").match(rnothtmlwhite)||[""];
3109t=types.length;
3110while(t--){
3111tmp=rtypenamespace.exec(types[t])||[];
3112type=origType=tmp[1];
3113namespaces=(tmp[2]||"").split(".").sort();
3114if(!type){
3115for(type in events){
3116jQuery.event.remove(elem,type+types[t],handler,selector,true);
3117}
3118continue;
3119}
3120special=jQuery.event.special[type]||{};
3121type=(selector?special.delegateType:special.bindType)||type;
3122handlers=events[type]||[];
3123tmp=tmp[2]&&
3124new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)");
3125origCount=j=handlers.length;
3126while(j--){
3127handleObj=handlers[j];
3128if((mappedTypes||origType===handleObj.origType)&&
3129(!handler||handler.guid===handleObj.guid)&&
3130(!tmp||tmp.test(handleObj.namespace))&&
3131(!selector||selector===handleObj.selector||
3132selector==="**"&&handleObj.selector)){
3133handlers.splice(j,1);
3134if(handleObj.selector){
3135handlers.delegateCount--;
3136}
3137if(special.remove){
3138special.remove.call(elem,handleObj);
3139}
3140}
3141}
3142if(origCount&&!handlers.length){
3143if(!special.teardown||
3144special.teardown.call(elem,namespaces,elemData.handle)===false){
3145jQuery.removeEvent(elem,type,elemData.handle);
3146}
3147delete events[type];
3148}
3149}
3150if(jQuery.isEmptyObject(events)){
3151dataPriv.remove(elem,"handle events");
3152}
3153},
3154dispatch:function(nativeEvent){
3155var i,j,ret,matched,handleObj,handlerQueue,
3156args=new Array(arguments.length),
3157event=jQuery.event.fix(nativeEvent),
3158handlers=(
3159dataPriv.get(this,"events")||Object.create(null)
3160)[event.type]||[],
3161special=jQuery.event.special[event.type]||{};
3162args[0]=event;
3163for(i=1;i<arguments.length;i++){
3164args[i]=arguments[i];
3165}
3166event.delegateTarget=this;
3167if(special.preDispatch&&special.preDispatch.call(this,event)===false){
3168return;
3169}
3170handlerQueue=jQuery.event.handlers.call(this,event,handlers);
3171i=0;
3172while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){
3173event.currentTarget=matched.elem;
3174j=0;
3175while((handleObj=matched.handlers[j++])&&
3176!event.isImmediatePropagationStopped()){
3177if(!event.rnamespace||handleObj.namespace===false||
3178event.rnamespace.test(handleObj.namespace)){
3179event.handleObj=handleObj;
3180event.data=handleObj.data;
3181ret=((jQuery.event.special[handleObj.origType]||{}).handle||
3182handleObj.handler).apply(matched.elem,args);
3183if(ret!==undefined){
3184if((event.result=ret)===false){
3185event.preventDefault();
3186event.stopPropagation();
3187}
3188}
3189}
3190}
3191}
3192if(special.postDispatch){
3193special.postDispatch.call(this,event);
3194}
3195return event.result;
3196},
3197handlers:function(event,handlers){
3198var i,handleObj,sel,matchedHandlers,matchedSelectors,
3199handlerQueue=[],
3200delegateCount=handlers.delegateCount,
3201cur=event.target;
3202if(delegateCount&&
3203cur.nodeType&&
3204!(event.type==="click"&&event.button>=1)){
3205for(;cur!==this;cur=cur.parentNode||this){
3206if(cur.nodeType===1&&!(event.type==="click"&&cur.disabled===true)){
3207matchedHandlers=[];
3208matchedSelectors={};
3209for(i=0;i<delegateCount;i++){
3210handleObj=handlers[i];
3211sel=handleObj.selector+" ";
3212if(matchedSelectors[sel]===undefined){
3213matchedSelectors[sel]=handleObj.needsContext?
3214jQuery(sel,this).index(cur)>-1:
3215jQuery.find(sel,this,null,[cur]).length;
3216}
3217if(matchedSelectors[sel]){
3218matchedHandlers.push(handleObj);
3219}
3220}
3221if(matchedHandlers.length){
3222handlerQueue.push({elem:cur,handlers:matchedHandlers});
3223}
3224}
3225}
3226}
3227cur=this;
3228if(delegateCount<handlers.length){
3229handlerQueue.push({elem:cur,handlers:handlers.slice(delegateCount)});
3230}
3231return handlerQueue;
3232},
3233addProp:function(name,hook){
3234Object.defineProperty(jQuery.Event.prototype,name,{
3235enumerable:true,
3236configurable:true,
3237get:isFunction(hook)?
3238function(){
3239if(this.originalEvent){
3240return hook(this.originalEvent);
3241}
3242}:
3243function(){
3244if(this.originalEvent){
3245return this.originalEvent[name];
3246}
3247},
3248set:function(value){
3249Object.defineProperty(this,name,{
3250enumerable:true,
3251configurable:true,
3252writable:true,
3253value:value
3254});
3255}
3256});
3257},
3258fix:function(originalEvent){
3259return originalEvent[jQuery.expando]?
3260originalEvent:
3261new jQuery.Event(originalEvent);
3262},
3263special:{
3264load:{
3265noBubble:true
3266},
3267click:{
3268setup:function(data){
3269var el=this||data;
3270if(rcheckableType.test(el.type)&&
3271el.click&&nodeName(el,"input")){
3272leverageNative(el,"click",true);
3273}
3274return false;
3275},
3276trigger:function(data){
3277var el=this||data;
3278if(rcheckableType.test(el.type)&&
3279el.click&&nodeName(el,"input")){
3280leverageNative(el,"click");
3281}
3282return true;
3283},
3284_default:function(event){
3285var target=event.target;
3286return rcheckableType.test(target.type)&&
3287target.click&&nodeName(target,"input")&&
3288dataPriv.get(target,"click")||
3289nodeName(target,"a");
3290}
3291},
3292beforeunload:{
3293postDispatch:function(event){
3294if(event.result!==undefined&&event.originalEvent){
3295event.originalEvent.returnValue=event.result;
3296}
3297}
3298}
3299}
3300};
3301function leverageNative(el,type,isSetup){
3302if(!isSetup){
3303if(dataPriv.get(el,type)===undefined){
3304jQuery.event.add(el,type,returnTrue);
3305}
3306return;
3307}
3308dataPriv.set(el,type,false);
3309jQuery.event.add(el,type,{
3310namespace:false,
3311handler:function(event){
3312var result,
3313saved=dataPriv.get(this,type);
3314if((event.isTrigger&1)&&this[type]){
3315if(!saved){
3316saved=slice.call(arguments);
3317dataPriv.set(this,type,saved);
3318this[type]();
3319result=dataPriv.get(this,type);
3320dataPriv.set(this,type,false);
3321if(saved!==result){
3322event.stopImmediatePropagation();
3323event.preventDefault();
3324return result;
3325}
3326}else if((jQuery.event.special[type]||{}).delegateType){
3327event.stopPropagation();
3328}
3329}else if(saved){
3330dataPriv.set(this,type,jQuery.event.trigger(
3331saved[0],
3332saved.slice(1),
3333this
3334));
3335event.stopPropagation();
3336event.isImmediatePropagationStopped=returnTrue;
3337}
3338}
3339});
3340}
3341jQuery.removeEvent=function(elem,type,handle){
3342if(elem.removeEventListener){
3343elem.removeEventListener(type,handle);
3344}
3345};
3346jQuery.Event=function(src,props){
3347if(!(this instanceof jQuery.Event)){
3348return new jQuery.Event(src,props);
3349}
3350if(src&&src.type){
3351this.originalEvent=src;
3352this.type=src.type;
3353this.isDefaultPrevented=src.defaultPrevented||
3354src.defaultPrevented===undefined&&
3355src.returnValue===false?
3356returnTrue:
3357returnFalse;
3358this.target=(src.target&&src.target.nodeType===3)?
3359src.target.parentNode:
3360src.target;
3361this.currentTarget=src.currentTarget;
3362this.relatedTarget=src.relatedTarget;
3363}else{
3364this.type=src;
3365}
3366if(props){
3367jQuery.extend(this,props);
3368}
3369this.timeStamp=src&&src.timeStamp||Date.now();
3370this[jQuery.expando]=true;
3371};
3372jQuery.Event.prototype={
3373constructor:jQuery.Event,
3374isDefaultPrevented:returnFalse,
3375isPropagationStopped:returnFalse,
3376isImmediatePropagationStopped:returnFalse,
3377isSimulated:false,
3378preventDefault:function(){
3379var e=this.originalEvent;
3380this.isDefaultPrevented=returnTrue;
3381if(e&&!this.isSimulated){
3382e.preventDefault();
3383}
3384},
3385stopPropagation:function(){
3386var e=this.originalEvent;
3387this.isPropagationStopped=returnTrue;
3388if(e&&!this.isSimulated){
3389e.stopPropagation();
3390}
3391},
3392stopImmediatePropagation:function(){
3393var e=this.originalEvent;
3394this.isImmediatePropagationStopped=returnTrue;
3395if(e&&!this.isSimulated){
3396e.stopImmediatePropagation();
3397}
3398this.stopPropagation();
3399}
3400};
3401jQuery.each({
3402altKey:true,
3403bubbles:true,
3404cancelable:true,
3405changedTouches:true,
3406ctrlKey:true,
3407detail:true,
3408eventPhase:true,
3409metaKey:true,
3410pageX:true,
3411pageY:true,
3412shiftKey:true,
3413view:true,
3414"char":true,
3415code:true,
3416charCode:true,
3417key:true,
3418keyCode:true,
3419button:true,
3420buttons:true,
3421clientX:true,
3422clientY:true,
3423offsetX:true,
3424offsetY:true,
3425pointerId:true,
3426pointerType:true,
3427screenX:true,
3428screenY:true,
3429targetTouches:true,
3430toElement:true,
3431touches:true,
3432which:true
3433},jQuery.event.addProp);
3434jQuery.each({focus:"focusin",blur:"focusout"},function(type,delegateType){
3435function focusMappedHandler(nativeEvent){
3436if(document.documentMode){
3437var handle=dataPriv.get(this,"handle"),
3438event=jQuery.event.fix(nativeEvent);
3439event.type=nativeEvent.type==="focusin"?"focus":"blur";
3440event.isSimulated=true;
3441handle(nativeEvent);
3442if(event.target===event.currentTarget){
3443handle(event);
3444}
3445}else{
3446jQuery.event.simulate(delegateType,nativeEvent.target,
3447jQuery.event.fix(nativeEvent));
3448}
3449}
3450jQuery.event.special[type]={
3451setup:function(){
3452var attaches;
3453leverageNative(this,type,true);
3454if(document.documentMode){
3455attaches=dataPriv.get(this,delegateType);
3456if(!attaches){
3457this.addEventListener(delegateType,focusMappedHandler);
3458}
3459dataPriv.set(this,delegateType,(attaches||0)+1);
3460}else{
3461return false;
3462}
3463},
3464trigger:function(){
3465leverageNative(this,type);
3466return true;
3467},
3468teardown:function(){
3469var attaches;
3470if(document.documentMode){
3471attaches=dataPriv.get(this,delegateType)-1;
3472if(!attaches){
3473this.removeEventListener(delegateType,focusMappedHandler);
3474dataPriv.remove(this,delegateType);
3475}else{
3476dataPriv.set(this,delegateType,attaches);
3477}
3478}else{
3479return false;
3480}
3481},
3482_default:function(event){
3483return dataPriv.get(event.target,type);
3484},
3485delegateType:delegateType
3486};
3487jQuery.event.special[delegateType]={
3488setup:function(){
3489var doc=this.ownerDocument||this.document||this,
3490dataHolder=document.documentMode?this:doc,
3491attaches=dataPriv.get(dataHolder,delegateType);
3492if(!attaches){
3493if(document.documentMode){
3494this.addEventListener(delegateType,focusMappedHandler);
3495}else{
3496doc.addEventListener(type,focusMappedHandler,true);
3497}
3498}
3499dataPriv.set(dataHolder,delegateType,(attaches||0)+1);
3500},
3501teardown:function(){
3502var doc=this.ownerDocument||this.document||this,
3503dataHolder=document.documentMode?this:doc,
3504attaches=dataPriv.get(dataHolder,delegateType)-1;
3505if(!attaches){
3506if(document.documentMode){
3507this.removeEventListener(delegateType,focusMappedHandler);
3508}else{
3509doc.removeEventListener(type,focusMappedHandler,true);
3510}
3511dataPriv.remove(dataHolder,delegateType);
3512}else{
3513dataPriv.set(dataHolder,delegateType,attaches);
3514}
3515}
3516};
3517});
3518jQuery.each({
3519mouseenter:"mouseover",
3520mouseleave:"mouseout",
3521pointerenter:"pointerover",
3522pointerleave:"pointerout"
3523},function(orig,fix){
3524jQuery.event.special[orig]={
3525delegateType:fix,
3526bindType:fix,
3527handle:function(event){
3528var ret,
3529target=this,
3530related=event.relatedTarget,
3531handleObj=event.handleObj;
3532if(!related||(related!==target&&!jQuery.contains(target,related))){
3533event.type=handleObj.origType;
3534ret=handleObj.handler.apply(this,arguments);
3535event.type=fix;
3536}
3537return ret;
3538}
3539};
3540});
3541jQuery.fn.extend({
3542on:function(types,selector,data,fn){
3543return on(this,types,selector,data,fn);
3544},
3545one:function(types,selector,data,fn){
3546return on(this,types,selector,data,fn,1);
3547},
3548off:function(types,selector,fn){
3549var handleObj,type;
3550if(types&&types.preventDefault&&types.handleObj){
3551handleObj=types.handleObj;
3552jQuery(types.delegateTarget).off(
3553handleObj.namespace?
3554handleObj.origType+"."+handleObj.namespace:
3555handleObj.origType,
3556handleObj.selector,
3557handleObj.handler
3558);
3559return this;
3560}
3561if(typeof types==="object"){
3562for(type in types){
3563this.off(type,selector,types[type]);
3564}
3565return this;
3566}
3567if(selector===false||typeof selector==="function"){
3568fn=selector;
3569selector=undefined;
3570}
3571if(fn===false){
3572fn=returnFalse;
3573}
3574return this.each(function(){
3575jQuery.event.remove(this,types,fn,selector);
3576});
3577}
3578});
3579var
3580rnoInnerhtml=/<script|<style|<link/i,
3581rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,
3582rcleanScript=/^\s*<!\[CDATA\[|\]\]>\s*$/g;
3583function manipulationTarget(elem,content){
3584if(nodeName(elem,"table")&&
3585nodeName(content.nodeType!==11?content:content.firstChild,"tr")){
3586return jQuery(elem).children("tbody")[0]||elem;
3587}
3588return elem;
3589}
3590function disableScript(elem){
3591elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type;
3592return elem;
3593}
3594function restoreScript(elem){
3595if((elem.type||"").slice(0,5)==="true/"){
3596elem.type=elem.type.slice(5);
3597}else{
3598elem.removeAttribute("type");
3599}
3600return elem;
3601}
3602function cloneCopyEvent(src,dest){
3603var i,l,type,pdataOld,udataOld,udataCur,events;
3604if(dest.nodeType!==1){
3605return;
3606}
3607if(dataPriv.hasData(src)){
3608pdataOld=dataPriv.get(src);
3609events=pdataOld.events;
3610if(events){
3611dataPriv.remove(dest,"handle events");
3612for(type in events){
3613for(i=0,l=events[type].length;i<l;i++){
3614jQuery.event.add(dest,type,events[type][i]);
3615}
3616}
3617}
3618}
3619if(dataUser.hasData(src)){
3620udataOld=dataUser.access(src);
3621udataCur=jQuery.extend({},udataOld);
3622dataUser.set(dest,udataCur);
3623}
3624}
3625function fixInput(src,dest){
3626var nodeName=dest.nodeName.toLowerCase();
3627if(nodeName==="input"&&rcheckableType.test(src.type)){
3628dest.checked=src.checked;
3629}else if(nodeName==="input"||nodeName==="textarea"){
3630dest.defaultValue=src.defaultValue;
3631}
3632}
3633function domManip(collection,args,callback,ignored){
3634args=flat(args);
3635var fragment,first,scripts,hasScripts,node,doc,
3636i=0,
3637l=collection.length,
3638iNoClone=l-1,
3639value=args[0],
3640valueIsFunction=isFunction(value);
3641if(valueIsFunction||
3642(l>1&&typeof value==="string"&&
3643!support.checkClone&&rchecked.test(value))){
3644return collection.each(function(index){
3645var self=collection.eq(index);
3646if(valueIsFunction){
3647args[0]=value.call(this,index,self.html());
3648}
3649domManip(self,args,callback,ignored);
3650});
3651}
3652if(l){
3653fragment=buildFragment(args,collection[0].ownerDocument,false,collection,ignored);
3654first=fragment.firstChild;
3655if(fragment.childNodes.length===1){
3656fragment=first;
3657}
3658if(first||ignored){
3659scripts=jQuery.map(getAll(fragment,"script"),disableScript);
3660hasScripts=scripts.length;
3661for(;i<l;i++){
3662node=fragment;
3663if(i!==iNoClone){
3664node=jQuery.clone(node,true,true);
3665if(hasScripts){
3666jQuery.merge(scripts,getAll(node,"script"));
3667}
3668}
3669callback.call(collection[i],node,i);
3670}
3671if(hasScripts){
3672doc=scripts[scripts.length-1].ownerDocument;
3673jQuery.map(scripts,restoreScript);
3674for(i=0;i<hasScripts;i++){
3675node=scripts[i];
3676if(rscriptType.test(node.type||"")&&
3677!dataPriv.access(node,"globalEval")&&
3678jQuery.contains(doc,node)){
3679if(node.src&&(node.type||"").toLowerCase()!=="module"){
3680if(jQuery._evalUrl&&!node.noModule){
3681jQuery._evalUrl(node.src,{
3682nonce:node.nonce||node.getAttribute("nonce")
3683},doc);
3684}
3685}else{
3686DOMEval(node.textContent.replace(rcleanScript,""),node,doc);
3687}
3688}
3689}
3690}
3691}
3692}
3693return collection;
3694}
3695function remove(elem,selector,keepData){
3696var node,
3697nodes=selector?jQuery.filter(selector,elem):elem,
3698i=0;
3699for(;(node=nodes[i])!=null;i++){
3700if(!keepData&&node.nodeType===1){
3701jQuery.cleanData(getAll(node));
3702}
3703if(node.parentNode){
3704if(keepData&&isAttached(node)){
3705setGlobalEval(getAll(node,"script"));
3706}
3707node.parentNode.removeChild(node);
3708}
3709}
3710return elem;
3711}
3712jQuery.extend({
3713htmlPrefilter:function(html){
3714return html;
3715},
3716clone:function(elem,dataAndEvents,deepDataAndEvents){
3717var i,l,srcElements,destElements,
3718clone=elem.cloneNode(true),
3719inPage=isAttached(elem);
3720if(!support.noCloneChecked&&(elem.nodeType===1||elem.nodeType===11)&&
3721!jQuery.isXMLDoc(elem)){
3722destElements=getAll(clone);
3723srcElements=getAll(elem);
3724for(i=0,l=srcElements.length;i<l;i++){
3725fixInput(srcElements[i],destElements[i]);
3726}
3727}
3728if(dataAndEvents){
3729if(deepDataAndEvents){
3730srcElements=srcElements||getAll(elem);
3731destElements=destElements||getAll(clone);
3732for(i=0,l=srcElements.length;i<l;i++){
3733cloneCopyEvent(srcElements[i],destElements[i]);
3734}
3735}else{
3736cloneCopyEvent(elem,clone);
3737}
3738}
3739destElements=getAll(clone,"script");
3740if(destElements.length>0){
3741setGlobalEval(destElements,!inPage&&getAll(elem,"script"));
3742}
3743return clone;
3744},
3745cleanData:function(elems){
3746var data,elem,type,
3747special=jQuery.event.special,
3748i=0;
3749for(;(elem=elems[i])!==undefined;i++){
3750if(acceptData(elem)){
3751if((data=elem[dataPriv.expando])){
3752if(data.events){
3753for(type in data.events){
3754if(special[type]){
3755jQuery.event.remove(elem,type);
3756}else{
3757jQuery.removeEvent(elem,type,data.handle);
3758}
3759}
3760}
3761elem[dataPriv.expando]=undefined;
3762}
3763if(elem[dataUser.expando]){
3764elem[dataUser.expando]=undefined;
3765}
3766}
3767}
3768}
3769});
3770jQuery.fn.extend({
3771detach:function(selector){
3772return remove(this,selector,true);
3773},
3774remove:function(selector){
3775return remove(this,selector);
3776},
3777text:function(value){
3778return access(this,function(value){
3779return value===undefined?
3780jQuery.text(this):
3781this.empty().each(function(){
3782if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
3783this.textContent=value;
3784}
3785});
3786},null,value,arguments.length);
3787},
3788append:function(){
3789return domManip(this,arguments,function(elem){
3790if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
3791var target=manipulationTarget(this,elem);
3792target.appendChild(elem);
3793}
3794});
3795},
3796prepend:function(){
3797return domManip(this,arguments,function(elem){
3798if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
3799var target=manipulationTarget(this,elem);
3800target.insertBefore(elem,target.firstChild);
3801}
3802});
3803},
3804before:function(){
3805return domManip(this,arguments,function(elem){
3806if(this.parentNode){
3807this.parentNode.insertBefore(elem,this);
3808}
3809});
3810},
3811after:function(){
3812return domManip(this,arguments,function(elem){
3813if(this.parentNode){
3814this.parentNode.insertBefore(elem,this.nextSibling);
3815}
3816});
3817},
3818empty:function(){
3819var elem,
3820i=0;
3821for(;(elem=this[i])!=null;i++){
3822if(elem.nodeType===1){
3823jQuery.cleanData(getAll(elem,false));
3824elem.textContent="";
3825}
3826}
3827return this;
3828},
3829clone:function(dataAndEvents,deepDataAndEvents){
3830dataAndEvents=dataAndEvents==null?false:dataAndEvents;
3831deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;
3832return this.map(function(){
3833return jQuery.clone(this,dataAndEvents,deepDataAndEvents);
3834});
3835},
3836html:function(value){
3837return access(this,function(value){
3838var elem=this[0]||{},
3839i=0,
3840l=this.length;
3841if(value===undefined&&elem.nodeType===1){
3842return elem.innerHTML;
3843}
3844if(typeof value==="string"&&!rnoInnerhtml.test(value)&&
3845!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){
3846value=jQuery.htmlPrefilter(value);
3847try{
3848for(;i<l;i++){
3849elem=this[i]||{};
3850if(elem.nodeType===1){
3851jQuery.cleanData(getAll(elem,false));
3852elem.innerHTML=value;
3853}
3854}
3855elem=0;
3856}catch(e){}
3857}
3858if(elem){
3859this.empty().append(value);
3860}
3861},null,value,arguments.length);
3862},
3863replaceWith:function(){
3864var ignored=[];
3865return domManip(this,arguments,function(elem){
3866var parent=this.parentNode;
3867if(jQuery.inArray(this,ignored)<0){
3868jQuery.cleanData(getAll(this));
3869if(parent){
3870parent.replaceChild(elem,this);
3871}
3872}
3873},ignored);
3874}
3875});
3876jQuery.each({
3877appendTo:"append",
3878prependTo:"prepend",
3879insertBefore:"before",
3880insertAfter:"after",
3881replaceAll:"replaceWith"
3882},function(name,original){
3883jQuery.fn[name]=function(selector){
3884var elems,
3885ret=[],
3886insert=jQuery(selector),
3887last=insert.length-1,
3888i=0;
3889for(;i<=last;i++){
3890elems=i===last?this:this.clone(true);
3891jQuery(insert[i])[original](elems);
3892push.apply(ret,elems.get());
3893}
3894return this.pushStack(ret);
3895};
3896});
3897var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i");
3898var rcustomProp=/^--/;
3899var getStyles=function(elem){
3900var view=elem.ownerDocument.defaultView;
3901if(!view||!view.opener){
3902view=window;
3903}
3904return view.getComputedStyle(elem);
3905};
3906var swap=function(elem,options,callback){
3907var ret,name,
3908old={};
3909for(name in options){
3910old[name]=elem.style[name];
3911elem.style[name]=options[name];
3912}
3913ret=callback.call(elem);
3914for(name in options){
3915elem.style[name]=old[name];
3916}
3917return ret;
3918};
3919var rboxStyle=new RegExp(cssExpand.join("|"),"i");
3920(function(){
3921function computeStyleTests(){
3922if(!div){
3923return;
3924}
3925container.style.cssText="position:absolute;left:-11111px;width:60px;"+
3926"margin-top:1px;padding:0;border:0";
3927div.style.cssText=
3928"position:relative;display:block;box-sizing:border-box;overflow:scroll;"+
3929"margin:auto;border:1px;padding:1px;"+
3930"width:60%;top:1%";
3931documentElement.appendChild(container).appendChild(div);
3932var divStyle=window.getComputedStyle(div);
3933pixelPositionVal=divStyle.top!=="1%";
3934reliableMarginLeftVal=roundPixelMeasures(divStyle.marginLeft)===12;
3935div.style.right="60%";
3936pixelBoxStylesVal=roundPixelMeasures(divStyle.right)===36;
3937boxSizingReliableVal=roundPixelMeasures(divStyle.width)===36;
3938div.style.position="absolute";
3939scrollboxSizeVal=roundPixelMeasures(div.offsetWidth/3)===12;
3940documentElement.removeChild(container);
3941div=null;
3942}
3943function roundPixelMeasures(measure){
3944return Math.round(parseFloat(measure));
3945}
3946var pixelPositionVal,boxSizingReliableVal,scrollboxSizeVal,pixelBoxStylesVal,
3947reliableTrDimensionsVal,reliableMarginLeftVal,
3948container=document.createElement("div"),
3949div=document.createElement("div");
3950if(!div.style){
3951return;
3952}
3953div.style.backgroundClip="content-box";
3954div.cloneNode(true).style.backgroundClip="";
3955support.clearCloneStyle=div.style.backgroundClip==="content-box";
3956jQuery.extend(support,{
3957boxSizingReliable:function(){
3958computeStyleTests();
3959return boxSizingReliableVal;
3960},
3961pixelBoxStyles:function(){
3962computeStyleTests();
3963return pixelBoxStylesVal;
3964},
3965pixelPosition:function(){
3966computeStyleTests();
3967return pixelPositionVal;
3968},
3969reliableMarginLeft:function(){
3970computeStyleTests();
3971return reliableMarginLeftVal;
3972},
3973scrollboxSize:function(){
3974computeStyleTests();
3975return scrollboxSizeVal;
3976},
3977reliableTrDimensions:function(){
3978var table,tr,trChild,trStyle;
3979if(reliableTrDimensionsVal==null){
3980table=document.createElement("table");
3981tr=document.createElement("tr");
3982trChild=document.createElement("div");
3983table.style.cssText="position:absolute;left:-11111px;border-collapse:separate";
3984tr.style.cssText="box-sizing:content-box;border:1px solid";
3985tr.style.height="1px";
3986trChild.style.height="9px";
3987trChild.style.display="block";
3988documentElement
3989.appendChild(table)
3990.appendChild(tr)
3991.appendChild(trChild);
3992trStyle=window.getComputedStyle(tr);
3993reliableTrDimensionsVal=(parseInt(trStyle.height,10)+
3994parseInt(trStyle.borderTopWidth,10)+
3995parseInt(trStyle.borderBottomWidth,10))===tr.offsetHeight;
3996documentElement.removeChild(table);
3997}
3998return reliableTrDimensionsVal;
3999}
4000});
4001})();
4002function curCSS(elem,name,computed){
4003var width,minWidth,maxWidth,ret,
4004isCustomProp=rcustomProp.test(name),
4005style=elem.style;
4006computed=computed||getStyles(elem);
4007if(computed){
4008ret=computed.getPropertyValue(name)||computed[name];
4009if(isCustomProp&&ret){
4010ret=ret.replace(rtrimCSS,"$1")||undefined;
4011}
4012if(ret===""&&!isAttached(elem)){
4013ret=jQuery.style(elem,name);
4014}
4015if(!support.pixelBoxStyles()&&rnumnonpx.test(ret)&&rboxStyle.test(name)){
4016width=style.width;
4017minWidth=style.minWidth;
4018maxWidth=style.maxWidth;
4019style.minWidth=style.maxWidth=style.width=ret;
4020ret=computed.width;
4021style.width=width;
4022style.minWidth=minWidth;
4023style.maxWidth=maxWidth;
4024}
4025}
4026return ret!==undefined?
4027ret+"":
4028ret;
4029}
4030function addGetHookIf(conditionFn,hookFn){
4031return{
4032get:function(){
4033if(conditionFn()){
4034delete this.get;
4035return;
4036}
4037return(this.get=hookFn).apply(this,arguments);
4038}
4039};
4040}
4041var cssPrefixes=["Webkit","Moz","ms"],
4042emptyStyle=document.createElement("div").style,
4043vendorProps={};
4044function vendorPropName(name){
4045var capName=name[0].toUpperCase()+name.slice(1),
4046i=cssPrefixes.length;
4047while(i--){
4048name=cssPrefixes[i]+capName;
4049if(name in emptyStyle){
4050return name;
4051}
4052}
4053}
4054function finalPropName(name){
4055var final=jQuery.cssProps[name]||vendorProps[name];
4056if(final){
4057return final;
4058}
4059if(name in emptyStyle){
4060return name;
4061}
4062return vendorProps[name]=vendorPropName(name)||name;
4063}
4064var
4065rdisplayswap=/^(none|table(?!-c[ea]).+)/,
4066cssShow={position:"absolute",visibility:"hidden",display:"block"},
4067cssNormalTransform={
4068letterSpacing:"0",
4069fontWeight:"400"
4070};
4071function setPositiveNumber(_elem,value,subtract){
4072var matches=rcssNum.exec(value);
4073return matches?
4074Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):
4075value;
4076}
4077function boxModelAdjustment(elem,dimension,box,isBorderBox,styles,computedVal){
4078var i=dimension==="width"?1:0,
4079extra=0,
4080delta=0,
4081marginDelta=0;
4082if(box===(isBorderBox?"border":"content")){
4083return 0;
4084}
4085for(;i<4;i+=2){
4086if(box==="margin"){
4087marginDelta+=jQuery.css(elem,box+cssExpand[i],true,styles);
4088}
4089if(!isBorderBox){
4090delta+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);
4091if(box!=="padding"){
4092delta+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
4093}else{
4094extra+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
4095}
4096}else{
4097if(box==="content"){
4098delta-=jQuery.css(elem,"padding"+cssExpand[i],true,styles);
4099}
4100if(box!=="margin"){
4101delta-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
4102}
4103}
4104}
4105if(!isBorderBox&&computedVal>=0){
4106delta+=Math.max(0,Math.ceil(
4107elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-
4108computedVal-
4109delta-
4110extra-
41110.5
4112))||0;
4113}
4114return delta+marginDelta;
4115}
4116function getWidthOrHeight(elem,dimension,extra){
4117var styles=getStyles(elem),
4118boxSizingNeeded=!support.boxSizingReliable()||extra,
4119isBorderBox=boxSizingNeeded&&
4120jQuery.css(elem,"boxSizing",false,styles)==="border-box",
4121valueIsBorderBox=isBorderBox,
4122val=curCSS(elem,dimension,styles),
4123offsetProp="offset"+dimension[0].toUpperCase()+dimension.slice(1);
4124if(rnumnonpx.test(val)){
4125if(!extra){
4126return val;
4127}
4128val="auto";
4129}
4130if((!support.boxSizingReliable()&&isBorderBox||
4131!support.reliableTrDimensions()&&nodeName(elem,"tr")||
4132val==="auto"||
4133!parseFloat(val)&&jQuery.css(elem,"display",false,styles)==="inline")&&
4134elem.getClientRects().length){
4135isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box";
4136valueIsBorderBox=offsetProp in elem;
4137if(valueIsBorderBox){
4138val=elem[offsetProp];
4139}
4140}
4141val=parseFloat(val)||0;
4142return(val+
4143boxModelAdjustment(
4144elem,
4145dimension,
4146extra||(isBorderBox?"border":"content"),
4147valueIsBorderBox,
4148styles,
4149val
4150)
4151)+"px";
4152}
4153jQuery.extend({
4154cssHooks:{
4155opacity:{
4156get:function(elem,computed){
4157if(computed){
4158var ret=curCSS(elem,"opacity");
4159return ret===""?"1":ret;
4160}
4161}
4162}
4163},
4164cssNumber:{
4165animationIterationCount:true,
4166aspectRatio:true,
4167borderImageSlice:true,
4168columnCount:true,
4169flexGrow:true,
4170flexShrink:true,
4171fontWeight:true,
4172gridArea:true,
4173gridColumn:true,
4174gridColumnEnd:true,
4175gridColumnStart:true,
4176gridRow:true,
4177gridRowEnd:true,
4178gridRowStart:true,
4179lineHeight:true,
4180opacity:true,
4181order:true,
4182orphans:true,
4183scale:true,
4184widows:true,
4185zIndex:true,
4186zoom:true,
4187fillOpacity:true,
4188floodOpacity:true,
4189stopOpacity:true,
4190strokeMiterlimit:true,
4191strokeOpacity:true
4192},
4193cssProps:{},
4194style:function(elem,name,value,extra){
4195if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){
4196return;
4197}
4198var ret,type,hooks,
4199origName=camelCase(name),
4200isCustomProp=rcustomProp.test(name),
4201style=elem.style;
4202if(!isCustomProp){
4203name=finalPropName(origName);
4204}
4205hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];
4206if(value!==undefined){
4207type=typeof value;
4208if(type==="string"&&(ret=rcssNum.exec(value))&&ret[1]){
4209value=adjustCSS(elem,name,ret);
4210type="number";
4211}
4212if(value==null||value!==value){
4213return;
4214}
4215if(type==="number"&&!isCustomProp){
4216value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px");
4217}
4218if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){
4219style[name]="inherit";
4220}
4221if(!hooks||!("set"in hooks)||
4222(value=hooks.set(elem,value,extra))!==undefined){
4223if(isCustomProp){
4224style.setProperty(name,value);
4225}else{
4226style[name]=value;
4227}
4228}
4229}else{
4230if(hooks&&"get"in hooks&&
4231(ret=hooks.get(elem,false,extra))!==undefined){
4232return ret;
4233}
4234return style[name];
4235}
4236},
4237css:function(elem,name,extra,styles){
4238var val,num,hooks,
4239origName=camelCase(name),
4240isCustomProp=rcustomProp.test(name);
4241if(!isCustomProp){
4242name=finalPropName(origName);
4243}
4244hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];
4245if(hooks&&"get"in hooks){
4246val=hooks.get(elem,true,extra);
4247}
4248if(val===undefined){
4249val=curCSS(elem,name,styles);
4250}
4251if(val==="normal"&&name in cssNormalTransform){
4252val=cssNormalTransform[name];
4253}
4254if(extra===""||extra){
4255num=parseFloat(val);
4256return extra===true||isFinite(num)?num||0:val;
4257}
4258return val;
4259}
4260});
4261jQuery.each(["height","width"],function(_i,dimension){
4262jQuery.cssHooks[dimension]={
4263get:function(elem,computed,extra){
4264if(computed){
4265return rdisplayswap.test(jQuery.css(elem,"display"))&&
4266(!elem.getClientRects().length||!elem.getBoundingClientRect().width)?
4267swap(elem,cssShow,function(){
4268return getWidthOrHeight(elem,dimension,extra);
4269}):
4270getWidthOrHeight(elem,dimension,extra);
4271}
4272},
4273set:function(elem,value,extra){
4274var matches,
4275styles=getStyles(elem),
4276scrollboxSizeBuggy=!support.scrollboxSize()&&
4277styles.position==="absolute",
4278boxSizingNeeded=scrollboxSizeBuggy||extra,
4279isBorderBox=boxSizingNeeded&&
4280jQuery.css(elem,"boxSizing",false,styles)==="border-box",
4281subtract=extra?
4282boxModelAdjustment(
4283elem,
4284dimension,
4285extra,
4286isBorderBox,
4287styles
4288):
42890;
4290if(isBorderBox&&scrollboxSizeBuggy){
4291subtract-=Math.ceil(
4292elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-
4293parseFloat(styles[dimension])-
4294boxModelAdjustment(elem,dimension,"border",false,styles)-
42950.5
4296);
4297}
4298if(subtract&&(matches=rcssNum.exec(value))&&
4299(matches[3]||"px")!=="px"){
4300elem.style[dimension]=value;
4301value=jQuery.css(elem,dimension);
4302}
4303return setPositiveNumber(elem,value,subtract);
4304}
4305};
4306});
4307jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,
4308function(elem,computed){
4309if(computed){
4310return(parseFloat(curCSS(elem,"marginLeft"))||
4311elem.getBoundingClientRect().left-
4312swap(elem,{marginLeft:0},function(){
4313return elem.getBoundingClientRect().left;
4314})
4315)+"px";
4316}
4317}
4318);
4319jQuery.each({
4320margin:"",
4321padding:"",
4322border:"Width"
4323},function(prefix,suffix){
4324jQuery.cssHooks[prefix+suffix]={
4325expand:function(value){
4326var i=0,
4327expanded={},
4328parts=typeof value==="string"?value.split(" "):[value];
4329for(;i<4;i++){
4330expanded[prefix+cssExpand[i]+suffix]=
4331parts[i]||parts[i-2]||parts[0];
4332}
4333return expanded;
4334}
4335};
4336if(prefix!=="margin"){
4337jQuery.cssHooks[prefix+suffix].set=setPositiveNumber;
4338}
4339});
4340jQuery.fn.extend({
4341css:function(name,value){
4342return access(this,function(elem,name,value){
4343var styles,len,
4344map={},
4345i=0;
4346if(Array.isArray(name)){
4347styles=getStyles(elem);
4348len=name.length;
4349for(;i<len;i++){
4350map[name[i]]=jQuery.css(elem,name[i],false,styles);
4351}
4352return map;
4353}
4354return value!==undefined?
4355jQuery.style(elem,name,value):
4356jQuery.css(elem,name);
4357},name,value,arguments.length>1);
4358}
4359});
4360function Tween(elem,options,prop,end,easing){
4361return new Tween.prototype.init(elem,options,prop,end,easing);
4362}
4363jQuery.Tween=Tween;
4364Tween.prototype={
4365constructor:Tween,
4366init:function(elem,options,prop,end,easing,unit){
4367this.elem=elem;
4368this.prop=prop;
4369this.easing=easing||jQuery.easing._default;
4370this.options=options;
4371this.start=this.now=this.cur();
4372this.end=end;
4373this.unit=unit||(jQuery.cssNumber[prop]?"":"px");
4374},
4375cur:function(){
4376var hooks=Tween.propHooks[this.prop];
4377return hooks&&hooks.get?
4378hooks.get(this):
4379Tween.propHooks._default.get(this);
4380},
4381run:function(percent){
4382var eased,
4383hooks=Tween.propHooks[this.prop];
4384if(this.options.duration){
4385this.pos=eased=jQuery.easing[this.easing](
4386percent,this.options.duration*percent,0,1,this.options.duration
4387);
4388}else{
4389this.pos=eased=percent;
4390}
4391this.now=(this.end-this.start)*eased+this.start;
4392if(this.options.step){
4393this.options.step.call(this.elem,this.now,this);
4394}
4395if(hooks&&hooks.set){
4396hooks.set(this);
4397}else{
4398Tween.propHooks._default.set(this);
4399}
4400return this;
4401}
4402};
4403Tween.prototype.init.prototype=Tween.prototype;
4404Tween.propHooks={
4405_default:{
4406get:function(tween){
4407var result;
4408if(tween.elem.nodeType!==1||
4409tween.elem[tween.prop]!=null&&tween.elem.style[tween.prop]==null){
4410return tween.elem[tween.prop];
4411}
4412result=jQuery.css(tween.elem,tween.prop,"");
4413return!result||result==="auto"?0:result;
4414},
4415set:function(tween){
4416if(jQuery.fx.step[tween.prop]){
4417jQuery.fx.step[tween.prop](tween);
4418}else if(tween.elem.nodeType===1&&(
4419jQuery.cssHooks[tween.prop]||
4420tween.elem.style[finalPropName(tween.prop)]!=null)){
4421jQuery.style(tween.elem,tween.prop,tween.now+tween.unit);
4422}else{
4423tween.elem[tween.prop]=tween.now;
4424}
4425}
4426}
4427};
4428Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={
4429set:function(tween){
4430if(tween.elem.nodeType&&tween.elem.parentNode){
4431tween.elem[tween.prop]=tween.now;
4432}
4433}
4434};
4435jQuery.easing={
4436linear:function(p){
4437return p;
4438},
4439swing:function(p){
4440return 0.5-Math.cos(p*Math.PI)/2;
4441},
4442_default:"swing"
4443};
4444jQuery.fx=Tween.prototype.init;
4445jQuery.fx.step={};
4446var
4447fxNow,inProgress,
4448rfxtypes=/^(?:toggle|show|hide)$/,
4449rrun=/queueHooks$/;
4450function schedule(){
4451if(inProgress){
4452if(document.hidden===false&&window.requestAnimationFrame){
4453window.requestAnimationFrame(schedule);
4454}else{
4455window.setTimeout(schedule,jQuery.fx.interval);
4456}
4457jQuery.fx.tick();
4458}
4459}
4460function createFxNow(){
4461window.setTimeout(function(){
4462fxNow=undefined;
4463});
4464return(fxNow=Date.now());
4465}
4466function genFx(type,includeWidth){
4467var which,
4468i=0,
4469attrs={height:type};
4470includeWidth=includeWidth?1:0;
4471for(;i<4;i+=2-includeWidth){
4472which=cssExpand[i];
4473attrs["margin"+which]=attrs["padding"+which]=type;
4474}
4475if(includeWidth){
4476attrs.opacity=attrs.width=type;
4477}
4478return attrs;
4479}
4480function createTween(value,prop,animation){
4481var tween,
4482collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),
4483index=0,
4484length=collection.length;
4485for(;index<length;index++){
4486if((tween=collection[index].call(animation,prop,value))){
4487return tween;
4488}
4489}
4490}
4491function defaultPrefilter(elem,props,opts){
4492var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display,
4493isBox="width"in props||"height"in props,
4494anim=this,
4495orig={},
4496style=elem.style,
4497hidden=elem.nodeType&&isHiddenWithinTree(elem),
4498dataShow=dataPriv.get(elem,"fxshow");
4499if(!opts.queue){
4500hooks=jQuery._queueHooks(elem,"fx");
4501if(hooks.unqueued==null){
4502hooks.unqueued=0;
4503oldfire=hooks.empty.fire;
4504hooks.empty.fire=function(){
4505if(!hooks.unqueued){
4506oldfire();
4507}
4508};
4509}
4510hooks.unqueued++;
4511anim.always(function(){
4512anim.always(function(){
4513hooks.unqueued--;
4514if(!jQuery.queue(elem,"fx").length){
4515hooks.empty.fire();
4516}
4517});
4518});
4519}
4520for(prop in props){
4521value=props[prop];
4522if(rfxtypes.test(value)){
4523delete props[prop];
4524toggle=toggle||value==="toggle";
4525if(value===(hidden?"hide":"show")){
4526if(value==="show"&&dataShow&&dataShow[prop]!==undefined){
4527hidden=true;
4528}else{
4529continue;
4530}
4531}
4532orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop);
4533}
4534}
4535propTween=!jQuery.isEmptyObject(props);
4536if(!propTween&&jQuery.isEmptyObject(orig)){
4537return;
4538}
4539if(isBox&&elem.nodeType===1){
4540opts.overflow=[style.overflow,style.overflowX,style.overflowY];
4541restoreDisplay=dataShow&&dataShow.display;
4542if(restoreDisplay==null){
4543restoreDisplay=dataPriv.get(elem,"display");
4544}
4545display=jQuery.css(elem,"display");
4546if(display==="none"){
4547if(restoreDisplay){
4548display=restoreDisplay;
4549}else{
4550showHide([elem],true);
4551restoreDisplay=elem.style.display||restoreDisplay;
4552display=jQuery.css(elem,"display");
4553showHide([elem]);
4554}
4555}
4556if(display==="inline"||display==="inline-block"&&restoreDisplay!=null){
4557if(jQuery.css(elem,"float")==="none"){
4558if(!propTween){
4559anim.done(function(){
4560style.display=restoreDisplay;
4561});
4562if(restoreDisplay==null){
4563display=style.display;
4564restoreDisplay=display==="none"?"":display;
4565}
4566}
4567style.display="inline-block";
4568}
4569}
4570}
4571if(opts.overflow){
4572style.overflow="hidden";
4573anim.always(function(){
4574style.overflow=opts.overflow[0];
4575style.overflowX=opts.overflow[1];
4576style.overflowY=opts.overflow[2];
4577});
4578}
4579propTween=false;
4580for(prop in orig){
4581if(!propTween){
4582if(dataShow){
4583if("hidden"in dataShow){
4584hidden=dataShow.hidden;
4585}
4586}else{
4587dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay});
4588}
4589if(toggle){
4590dataShow.hidden=!hidden;
4591}
4592if(hidden){
4593showHide([elem],true);
4594}
4595anim.done(function(){
4596if(!hidden){
4597showHide([elem]);
4598}
4599dataPriv.remove(elem,"fxshow");
4600for(prop in orig){
4601jQuery.style(elem,prop,orig[prop]);
4602}
4603});
4604}
4605propTween=createTween(hidden?dataShow[prop]:0,prop,anim);
4606if(!(prop in dataShow)){
4607dataShow[prop]=propTween.start;
4608if(hidden){
4609propTween.end=propTween.start;
4610propTween.start=0;
4611}
4612}
4613}
4614}
4615function propFilter(props,specialEasing){
4616var index,name,easing,value,hooks;
4617for(index in props){
4618name=camelCase(index);
4619easing=specialEasing[name];
4620value=props[index];
4621if(Array.isArray(value)){
4622easing=value[1];
4623value=props[index]=value[0];
4624}
4625if(index!==name){
4626props[name]=value;
4627delete props[index];
4628}
4629hooks=jQuery.cssHooks[name];
4630if(hooks&&"expand"in hooks){
4631value=hooks.expand(value);
4632delete props[name];
4633for(index in value){
4634if(!(index in props)){
4635props[index]=value[index];
4636specialEasing[index]=easing;
4637}
4638}
4639}else{
4640specialEasing[name]=easing;
4641}
4642}
4643}
4644function Animation(elem,properties,options){
4645var result,
4646stopped,
4647index=0,
4648length=Animation.prefilters.length,
4649deferred=jQuery.Deferred().always(function(){
4650delete tick.elem;
4651}),
4652tick=function(){
4653if(stopped){
4654return false;
4655}
4656var currentTime=fxNow||createFxNow(),
4657remaining=Math.max(0,animation.startTime+animation.duration-currentTime),
4658temp=remaining/animation.duration||0,
4659percent=1-temp,
4660index=0,
4661length=animation.tweens.length;
4662for(;index<length;index++){
4663animation.tweens[index].run(percent);
4664}
4665deferred.notifyWith(elem,[animation,percent,remaining]);
4666if(percent<1&&length){
4667return remaining;
4668}
4669if(!length){
4670deferred.notifyWith(elem,[animation,1,0]);
4671}
4672deferred.resolveWith(elem,[animation]);
4673return false;
4674},
4675animation=deferred.promise({
4676elem:elem,
4677props:jQuery.extend({},properties),
4678opts:jQuery.extend(true,{
4679specialEasing:{},
4680easing:jQuery.easing._default
4681},options),
4682originalProperties:properties,
4683originalOptions:options,
4684startTime:fxNow||createFxNow(),
4685duration:options.duration,
4686tweens:[],
4687createTween:function(prop,end){
4688var tween=jQuery.Tween(elem,animation.opts,prop,end,
4689animation.opts.specialEasing[prop]||animation.opts.easing);
4690animation.tweens.push(tween);
4691return tween;
4692},
4693stop:function(gotoEnd){
4694var index=0,
4695length=gotoEnd?animation.tweens.length:0;
4696if(stopped){
4697return this;
4698}
4699stopped=true;
4700for(;index<length;index++){
4701animation.tweens[index].run(1);
4702}
4703if(gotoEnd){
4704deferred.notifyWith(elem,[animation,1,0]);
4705deferred.resolveWith(elem,[animation,gotoEnd]);
4706}else{
4707deferred.rejectWith(elem,[animation,gotoEnd]);
4708}
4709return this;
4710}
4711}),
4712props=animation.props;
4713propFilter(props,animation.opts.specialEasing);
4714for(;index<length;index++){
4715result=Animation.prefilters[index].call(animation,elem,props,animation.opts);
4716if(result){
4717if(isFunction(result.stop)){
4718jQuery._queueHooks(animation.elem,animation.opts.queue).stop=
4719result.stop.bind(result);
4720}
4721return result;
4722}
4723}
4724jQuery.map(props,createTween,animation);
4725if(isFunction(animation.opts.start)){
4726animation.opts.start.call(elem,animation);
4727}
4728animation
4729.progress(animation.opts.progress)
4730.done(animation.opts.done,animation.opts.complete)
4731.fail(animation.opts.fail)
4732.always(animation.opts.always);
4733jQuery.fx.timer(
4734jQuery.extend(tick,{
4735elem:elem,
4736anim:animation,
4737queue:animation.opts.queue
4738})
4739);
4740return animation;
4741}
4742jQuery.Animation=jQuery.extend(Animation,{
4743tweeners:{
4744"*":[function(prop,value){
4745var tween=this.createTween(prop,value);
4746adjustCSS(tween.elem,prop,rcssNum.exec(value),tween);
4747return tween;
4748}]
4749},
4750tweener:function(props,callback){
4751if(isFunction(props)){
4752callback=props;
4753props=["*"];
4754}else{
4755props=props.match(rnothtmlwhite);
4756}
4757var prop,
4758index=0,
4759length=props.length;
4760for(;index<length;index++){
4761prop=props[index];
4762Animation.tweeners[prop]=Animation.tweeners[prop]||[];
4763Animation.tweeners[prop].unshift(callback);
4764}
4765},
4766prefilters:[defaultPrefilter],
4767prefilter:function(callback,prepend){
4768if(prepend){
4769Animation.prefilters.unshift(callback);
4770}else{
4771Animation.prefilters.push(callback);
4772}
4773}
4774});
4775jQuery.speed=function(speed,easing,fn){
4776var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{
4777complete:fn||!fn&&easing||
4778isFunction(speed)&&speed,
4779duration:speed,
4780easing:fn&&easing||easing&&!isFunction(easing)&&easing
4781};
4782if(jQuery.fx.off){
4783opt.duration=0;
4784}else{
4785if(typeof opt.duration!=="number"){
4786if(opt.duration in jQuery.fx.speeds){
4787opt.duration=jQuery.fx.speeds[opt.duration];
4788}else{
4789opt.duration=jQuery.fx.speeds._default;
4790}
4791}
4792}
4793if(opt.queue==null||opt.queue===true){
4794opt.queue="fx";
4795}
4796opt.old=opt.complete;
4797opt.complete=function(){
4798if(isFunction(opt.old)){
4799opt.old.call(this);
4800}
4801if(opt.queue){
4802jQuery.dequeue(this,opt.queue);
4803}
4804};
4805return opt;
4806};
4807jQuery.fn.extend({
4808fadeTo:function(speed,to,easing,callback){
4809return this.filter(isHiddenWithinTree).css("opacity",0).show()
4810.end().animate({opacity:to},speed,easing,callback);
4811},
4812animate:function(prop,speed,easing,callback){
4813var empty=jQuery.isEmptyObject(prop),
4814optall=jQuery.speed(speed,easing,callback),
4815doAnimation=function(){
4816var anim=Animation(this,jQuery.extend({},prop),optall);
4817if(empty||dataPriv.get(this,"finish")){
4818anim.stop(true);
4819}
4820};
4821doAnimation.finish=doAnimation;
4822return empty||optall.queue===false?
4823this.each(doAnimation):
4824this.queue(optall.queue,doAnimation);
4825},
4826stop:function(type,clearQueue,gotoEnd){
4827var stopQueue=function(hooks){
4828var stop=hooks.stop;
4829delete hooks.stop;
4830stop(gotoEnd);
4831};
4832if(typeof type!=="string"){
4833gotoEnd=clearQueue;
4834clearQueue=type;
4835type=undefined;
4836}
4837if(clearQueue){
4838this.queue(type||"fx",[]);
4839}
4840return this.each(function(){
4841var dequeue=true,
4842index=type!=null&&type+"queueHooks",
4843timers=jQuery.timers,
4844data=dataPriv.get(this);
4845if(index){
4846if(data[index]&&data[index].stop){
4847stopQueue(data[index]);
4848}
4849}else{
4850for(index in data){
4851if(data[index]&&data[index].stop&&rrun.test(index)){
4852stopQueue(data[index]);
4853}
4854}
4855}
4856for(index=timers.length;index--;){
4857if(timers[index].elem===this&&
4858(type==null||timers[index].queue===type)){
4859timers[index].anim.stop(gotoEnd);
4860dequeue=false;
4861timers.splice(index,1);
4862}
4863}
4864if(dequeue||!gotoEnd){
4865jQuery.dequeue(this,type);
4866}
4867});
4868},
4869finish:function(type){
4870if(type!==false){
4871type=type||"fx";
4872}
4873return this.each(function(){
4874var index,
4875data=dataPriv.get(this),
4876queue=data[type+"queue"],
4877hooks=data[type+"queueHooks"],
4878timers=jQuery.timers,
4879length=queue?queue.length:0;
4880data.finish=true;
4881jQuery.queue(this,type,[]);
4882if(hooks&&hooks.stop){
4883hooks.stop.call(this,true);
4884}
4885for(index=timers.length;index--;){
4886if(timers[index].elem===this&&timers[index].queue===type){
4887timers[index].anim.stop(true);
4888timers.splice(index,1);
4889}
4890}
4891for(index=0;index<length;index++){
4892if(queue[index]&&queue[index].finish){
4893queue[index].finish.call(this);
4894}
4895}
4896delete data.finish;
4897});
4898}
4899});
4900jQuery.each(["toggle","show","hide"],function(_i,name){
4901var cssFn=jQuery.fn[name];
4902jQuery.fn[name]=function(speed,easing,callback){
4903return speed==null||typeof speed==="boolean"?
4904cssFn.apply(this,arguments):
4905this.animate(genFx(name,true),speed,easing,callback);
4906};
4907});
4908jQuery.each({
4909slideDown:genFx("show"),
4910slideUp:genFx("hide"),
4911slideToggle:genFx("toggle"),
4912fadeIn:{opacity:"show"},
4913fadeOut:{opacity:"hide"},
4914fadeToggle:{opacity:"toggle"}
4915},function(name,props){
4916jQuery.fn[name]=function(speed,easing,callback){
4917return this.animate(props,speed,easing,callback);
4918};
4919});
4920jQuery.timers=[];
4921jQuery.fx.tick=function(){
4922var timer,
4923i=0,
4924timers=jQuery.timers;
4925fxNow=Date.now();
4926for(;i<timers.length;i++){
4927timer=timers[i];
4928if(!timer()&&timers[i]===timer){
4929timers.splice(i--,1);
4930}
4931}
4932if(!timers.length){
4933jQuery.fx.stop();
4934}
4935fxNow=undefined;
4936};
4937jQuery.fx.timer=function(timer){
4938jQuery.timers.push(timer);
4939jQuery.fx.start();
4940};
4941jQuery.fx.interval=13;
4942jQuery.fx.start=function(){
4943if(inProgress){
4944return;
4945}
4946inProgress=true;
4947schedule();
4948};
4949jQuery.fx.stop=function(){
4950inProgress=null;
4951};
4952jQuery.fx.speeds={
4953slow:600,
4954fast:200,
4955_default:400
4956};
4957jQuery.fn.delay=function(time,type){
4958time=jQuery.fx?jQuery.fx.speeds[time]||time:time;
4959type=type||"fx";
4960return this.queue(type,function(next,hooks){
4961var timeout=window.setTimeout(next,time);
4962hooks.stop=function(){
4963window.clearTimeout(timeout);
4964};
4965});
4966};
4967(function(){
4968var input=document.createElement("input"),
4969select=document.createElement("select"),
4970opt=select.appendChild(document.createElement("option"));
4971input.type="checkbox";
4972support.checkOn=input.value!=="";
4973support.optSelected=opt.selected;
4974input=document.createElement("input");
4975input.value="t";
4976input.type="radio";
4977support.radioValue=input.value==="t";
4978})();
4979var boolHook,
4980attrHandle=jQuery.expr.attrHandle;
4981jQuery.fn.extend({
4982attr:function(name,value){
4983return access(this,jQuery.attr,name,value,arguments.length>1);
4984},
4985removeAttr:function(name){
4986return this.each(function(){
4987jQuery.removeAttr(this,name);
4988});
4989}
4990});
4991jQuery.extend({
4992attr:function(elem,name,value){
4993var ret,hooks,
4994nType=elem.nodeType;
4995if(nType===3||nType===8||nType===2){
4996return;
4997}
4998if(typeof elem.getAttribute==="undefined"){
4999return jQuery.prop(elem,name,value);
5000}
5001if(nType!==1||!jQuery.isXMLDoc(elem)){
5002hooks=jQuery.attrHooks[name.toLowerCase()]||
5003(jQuery.expr.match.bool.test(name)?boolHook:undefined);
5004}
5005if(value!==undefined){
5006if(value===null){
5007jQuery.removeAttr(elem,name);
5008return;
5009}
5010if(hooks&&"set"in hooks&&
5011(ret=hooks.set(elem,value,name))!==undefined){
5012return ret;
5013}
5014elem.setAttribute(name,value+"");
5015return value;
5016}
5017if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){
5018return ret;
5019}
5020ret=jQuery.find.attr(elem,name);
5021return ret==null?undefined:ret;
5022},
5023attrHooks:{
5024type:{
5025set:function(elem,value){
5026if(!support.radioValue&&value==="radio"&&
5027nodeName(elem,"input")){
5028var val=elem.value;
5029elem.setAttribute("type",value);
5030if(val){
5031elem.value=val;
5032}
5033return value;
5034}
5035}
5036}
5037},
5038removeAttr:function(elem,value){
5039var name,
5040i=0,
5041attrNames=value&&value.match(rnothtmlwhite);
5042if(attrNames&&elem.nodeType===1){
5043while((name=attrNames[i++])){
5044elem.removeAttribute(name);
5045}
5046}
5047}
5048});
5049boolHook={
5050set:function(elem,value,name){
5051if(value===false){
5052jQuery.removeAttr(elem,name);
5053}else{
5054elem.setAttribute(name,name);
5055}
5056return name;
5057}
5058};
5059jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(_i,name){
5060var getter=attrHandle[name]||jQuery.find.attr;
5061attrHandle[name]=function(elem,name,isXML){
5062var ret,handle,
5063lowercaseName=name.toLowerCase();
5064if(!isXML){
5065handle=attrHandle[lowercaseName];
5066attrHandle[lowercaseName]=ret;
5067ret=getter(elem,name,isXML)!=null?
5068lowercaseName:
5069null;
5070attrHandle[lowercaseName]=handle;
5071}
5072return ret;
5073};
5074});
5075var rfocusable=/^(?:input|select|textarea|button)$/i,
5076rclickable=/^(?:a|area)$/i;
5077jQuery.fn.extend({
5078prop:function(name,value){
5079return access(this,jQuery.prop,name,value,arguments.length>1);
5080},
5081removeProp:function(name){
5082return this.each(function(){
5083delete this[jQuery.propFix[name]||name];
5084});
5085}
5086});
5087jQuery.extend({
5088prop:function(elem,name,value){
5089var ret,hooks,
5090nType=elem.nodeType;
5091if(nType===3||nType===8||nType===2){
5092return;
5093}
5094if(nType!==1||!jQuery.isXMLDoc(elem)){
5095name=jQuery.propFix[name]||name;
5096hooks=jQuery.propHooks[name];
5097}
5098if(value!==undefined){
5099if(hooks&&"set"in hooks&&
5100(ret=hooks.set(elem,value,name))!==undefined){
5101return ret;
5102}
5103return(elem[name]=value);
5104}
5105if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){
5106return ret;
5107}
5108return elem[name];
5109},
5110propHooks:{
5111tabIndex:{
5112get:function(elem){
5113var tabindex=jQuery.find.attr(elem,"tabindex");
5114if(tabindex){
5115return parseInt(tabindex,10);
5116}
5117if(
5118rfocusable.test(elem.nodeName)||
5119rclickable.test(elem.nodeName)&&
5120elem.href
5121){
5122return 0;
5123}
5124return-1;
5125}
5126}
5127},
5128propFix:{
5129"for":"htmlFor",
5130"class":"className"
5131}
5132});
5133if(!support.optSelected){
5134jQuery.propHooks.selected={
5135get:function(elem){
5136var parent=elem.parentNode;
5137if(parent&&parent.parentNode){
5138parent.parentNode.selectedIndex;
5139}
5140return null;
5141},
5142set:function(elem){
5143var parent=elem.parentNode;
5144if(parent){
5145parent.selectedIndex;
5146if(parent.parentNode){
5147parent.parentNode.selectedIndex;
5148}
5149}
5150}
5151};
5152}
5153jQuery.each([
5154"tabIndex",
5155"readOnly",
5156"maxLength",
5157"cellSpacing",
5158"cellPadding",
5159"rowSpan",
5160"colSpan",
5161"useMap",
5162"frameBorder",
5163"contentEditable"
5164],function(){
5165jQuery.propFix[this.toLowerCase()]=this;
5166});
5167function stripAndCollapse(value){
5168var tokens=value.match(rnothtmlwhite)||[];
5169return tokens.join(" ");
5170}
5171function getClass(elem){
5172return elem.getAttribute&&elem.getAttribute("class")||"";
5173}
5174function classesToArray(value){
5175if(Array.isArray(value)){
5176return value;
5177}
5178if(typeof value==="string"){
5179return value.match(rnothtmlwhite)||[];
5180}
5181return[];
5182}
5183jQuery.fn.extend({
5184addClass:function(value){
5185var classNames,cur,curValue,className,i,finalValue;
5186if(isFunction(value)){
5187return this.each(function(j){
5188jQuery(this).addClass(value.call(this,j,getClass(this)));
5189});
5190}
5191classNames=classesToArray(value);
5192if(classNames.length){
5193return this.each(function(){
5194curValue=getClass(this);
5195cur=this.nodeType===1&&(" "+stripAndCollapse(curValue)+" ");
5196if(cur){
5197for(i=0;i<classNames.length;i++){
5198className=classNames[i];
5199if(cur.indexOf(" "+className+" ")<0){
5200cur+=className+" ";
5201}
5202}
5203finalValue=stripAndCollapse(cur);
5204if(curValue!==finalValue){
5205this.setAttribute("class",finalValue);
5206}
5207}
5208});
5209}
5210return this;
5211},
5212removeClass:function(value){
5213var classNames,cur,curValue,className,i,finalValue;
5214if(isFunction(value)){
5215return this.each(function(j){
5216jQuery(this).removeClass(value.call(this,j,getClass(this)));
5217});
5218}
5219if(!arguments.length){
5220return this.attr("class","");
5221}
5222classNames=classesToArray(value);
5223if(classNames.length){
5224return this.each(function(){
5225curValue=getClass(this);
5226cur=this.nodeType===1&&(" "+stripAndCollapse(curValue)+" ");
5227if(cur){
5228for(i=0;i<classNames.length;i++){
5229className=classNames[i];
5230while(cur.indexOf(" "+className+" ")>-1){
5231cur=cur.replace(" "+className+" "," ");
5232}
5233}
5234finalValue=stripAndCollapse(cur);
5235if(curValue!==finalValue){
5236this.setAttribute("class",finalValue);
5237}
5238}
5239});
5240}
5241return this;
5242},
5243toggleClass:function(value,stateVal){
5244var classNames,className,i,self,
5245type=typeof value,
5246isValidValue=type==="string"||Array.isArray(value);
5247if(isFunction(value)){
5248return this.each(function(i){
5249jQuery(this).toggleClass(
5250value.call(this,i,getClass(this),stateVal),
5251stateVal
5252);
5253});
5254}
5255if(typeof stateVal==="boolean"&&isValidValue){
5256return stateVal?this.addClass(value):this.removeClass(value);
5257}
5258classNames=classesToArray(value);
5259return this.each(function(){
5260if(isValidValue){
5261self=jQuery(this);
5262for(i=0;i<classNames.length;i++){
5263className=classNames[i];
5264if(self.hasClass(className)){
5265self.removeClass(className);
5266}else{
5267self.addClass(className);
5268}
5269}
5270}else if(value===undefined||type==="boolean"){
5271className=getClass(this);
5272if(className){
5273dataPriv.set(this,"__className__",className);
5274}
5275if(this.setAttribute){
5276this.setAttribute("class",
5277className||value===false?
5278"":
5279dataPriv.get(this,"__className__")||""
5280);
5281}
5282}
5283});
5284},
5285hasClass:function(selector){
5286var className,elem,
5287i=0;
5288className=" "+selector+" ";
5289while((elem=this[i++])){
5290if(elem.nodeType===1&&
5291(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className)>-1){
5292return true;
5293}
5294}
5295return false;
5296}
5297});
5298var rreturn=/\r/g;
5299jQuery.fn.extend({
5300val:function(value){
5301var hooks,ret,valueIsFunction,
5302elem=this[0];
5303if(!arguments.length){
5304if(elem){
5305hooks=jQuery.valHooks[elem.type]||
5306jQuery.valHooks[elem.nodeName.toLowerCase()];
5307if(hooks&&
5308"get"in hooks&&
5309(ret=hooks.get(elem,"value"))!==undefined
5310){
5311return ret;
5312}
5313ret=elem.value;
5314if(typeof ret==="string"){
5315return ret.replace(rreturn,"");
5316}
5317return ret==null?"":ret;
5318}
5319return;
5320}
5321valueIsFunction=isFunction(value);
5322return this.each(function(i){
5323var val;
5324if(this.nodeType!==1){
5325return;
5326}
5327if(valueIsFunction){
5328val=value.call(this,i,jQuery(this).val());
5329}else{
5330val=value;
5331}
5332if(val==null){
5333val="";
5334}else if(typeof val==="number"){
5335val+="";
5336}else if(Array.isArray(val)){
5337val=jQuery.map(val,function(value){
5338return value==null?"":value+"";
5339});
5340}
5341hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];
5342if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){
5343this.value=val;
5344}
5345});
5346}
5347});
5348jQuery.extend({
5349valHooks:{
5350option:{
5351get:function(elem){
5352var val=jQuery.find.attr(elem,"value");
5353return val!=null?
5354val:
5355stripAndCollapse(jQuery.text(elem));
5356}
5357},
5358select:{
5359get:function(elem){
5360var value,option,i,
5361options=elem.options,
5362index=elem.selectedIndex,
5363one=elem.type==="select-one",
5364values=one?null:[],
5365max=one?index+1:options.length;
5366if(index<0){
5367i=max;
5368}else{
5369i=one?index:0;
5370}
5371for(;i<max;i++){
5372option=options[i];
5373if((option.selected||i===index)&&
5374!option.disabled&&
5375(!option.parentNode.disabled||
5376!nodeName(option.parentNode,"optgroup"))){
5377value=jQuery(option).val();
5378if(one){
5379return value;
5380}
5381values.push(value);
5382}
5383}
5384return values;
5385},
5386set:function(elem,value){
5387var optionSet,option,
5388options=elem.options,
5389values=jQuery.makeArray(value),
5390i=options.length;
5391while(i--){
5392option=options[i];
5393if(option.selected=
5394jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1
5395){
5396optionSet=true;
5397}
5398}
5399if(!optionSet){
5400elem.selectedIndex=-1;
5401}
5402return values;
5403}
5404}
5405}
5406});
5407jQuery.each(["radio","checkbox"],function(){
5408jQuery.valHooks[this]={
5409set:function(elem,value){
5410if(Array.isArray(value)){
5411return(elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1);
5412}
5413}
5414};
5415if(!support.checkOn){
5416jQuery.valHooks[this].get=function(elem){
5417return elem.getAttribute("value")===null?"on":elem.value;
5418};
5419}
5420});
5421var location=window.location;
5422var nonce={guid:Date.now()};
5423var rquery=(/\?/);
5424jQuery.parseXML=function(data){
5425var xml,parserErrorElem;
5426if(!data||typeof data!=="string"){
5427return null;
5428}
5429try{
5430xml=(new window.DOMParser()).parseFromString(data,"text/xml");
5431}catch(e){}
5432parserErrorElem=xml&&xml.getElementsByTagName("parsererror")[0];
5433if(!xml||parserErrorElem){
5434jQuery.error("Invalid XML: "+(
5435parserErrorElem?
5436jQuery.map(parserErrorElem.childNodes,function(el){
5437return el.textContent;
5438}).join("\n"):
5439data
5440));
5441}
5442return xml;
5443};
5444var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,
5445stopPropagationCallback=function(e){
5446e.stopPropagation();
5447};
5448jQuery.extend(jQuery.event,{
5449trigger:function(event,data,elem,onlyHandlers){
5450var i,cur,tmp,bubbleType,ontype,handle,special,lastElement,
5451eventPath=[elem||document],
5452type=hasOwn.call(event,"type")?event.type:event,
5453namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];
5454cur=lastElement=tmp=elem=elem||document;
5455if(elem.nodeType===3||elem.nodeType===8){
5456return;
5457}
5458if(rfocusMorph.test(type+jQuery.event.triggered)){
5459return;
5460}
5461if(type.indexOf(".")>-1){
5462namespaces=type.split(".");
5463type=namespaces.shift();
5464namespaces.sort();
5465}
5466ontype=type.indexOf(":")<0&&"on"+type;
5467event=event[jQuery.expando]?
5468event:
5469new jQuery.Event(type,typeof event==="object"&&event);
5470event.isTrigger=onlyHandlers?2:3;
5471event.namespace=namespaces.join(".");
5472event.rnamespace=event.namespace?
5473new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):
5474null;
5475event.result=undefined;
5476if(!event.target){
5477event.target=elem;
5478}
5479data=data==null?
5480[event]:
5481jQuery.makeArray(data,[event]);
5482special=jQuery.event.special[type]||{};
5483if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){
5484return;
5485}
5486if(!onlyHandlers&&!special.noBubble&&!isWindow(elem)){
5487bubbleType=special.delegateType||type;
5488if(!rfocusMorph.test(bubbleType+type)){
5489cur=cur.parentNode;
5490}
5491for(;cur;cur=cur.parentNode){
5492eventPath.push(cur);
5493tmp=cur;
5494}
5495if(tmp===(elem.ownerDocument||document)){
5496eventPath.push(tmp.defaultView||tmp.parentWindow||window);
5497}
5498}
5499i=0;
5500while((cur=eventPath[i++])&&!event.isPropagationStopped()){
5501lastElement=cur;
5502event.type=i>1?
5503bubbleType:
5504special.bindType||type;
5505handle=(dataPriv.get(cur,"events")||Object.create(null))[event.type]&&
5506dataPriv.get(cur,"handle");
5507if(handle){
5508handle.apply(cur,data);
5509}
5510handle=ontype&&cur[ontype];
5511if(handle&&handle.apply&&acceptData(cur)){
5512event.result=handle.apply(cur,data);
5513if(event.result===false){
5514event.preventDefault();
5515}
5516}
5517}
5518event.type=type;
5519if(!onlyHandlers&&!event.isDefaultPrevented()){
5520if((!special._default||
5521special._default.apply(eventPath.pop(),data)===false)&&
5522acceptData(elem)){
5523if(ontype&&isFunction(elem[type])&&!isWindow(elem)){
5524tmp=elem[ontype];
5525if(tmp){
5526elem[ontype]=null;
5527}
5528jQuery.event.triggered=type;
5529if(event.isPropagationStopped()){
5530lastElement.addEventListener(type,stopPropagationCallback);
5531}
5532elem[type]();
5533if(event.isPropagationStopped()){
5534lastElement.removeEventListener(type,stopPropagationCallback);
5535}
5536jQuery.event.triggered=undefined;
5537if(tmp){
5538elem[ontype]=tmp;
5539}
5540}
5541}
5542}
5543return event.result;
5544},
5545simulate:function(type,elem,event){
5546var e=jQuery.extend(
5547new jQuery.Event(),
5548event,
5549{
5550type:type,
5551isSimulated:true
5552}
5553);
5554jQuery.event.trigger(e,null,elem);
5555}
5556});
5557jQuery.fn.extend({
5558trigger:function(type,data){
5559return this.each(function(){
5560jQuery.event.trigger(type,data,this);
5561});
5562},
5563triggerHandler:function(type,data){
5564var elem=this[0];
5565if(elem){
5566return jQuery.event.trigger(type,data,elem,true);
5567}
5568}
5569});
5570var
5571rbracket=/\[\]$/,
5572rCRLF=/\r?\n/g,
5573rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,
5574rsubmittable=/^(?:input|select|textarea|keygen)/i;
5575function buildParams(prefix,obj,traditional,add){
5576var name;
5577if(Array.isArray(obj)){
5578jQuery.each(obj,function(i,v){
5579if(traditional||rbracket.test(prefix)){
5580add(prefix,v);
5581}else{
5582buildParams(
5583prefix+"["+(typeof v==="object"&&v!=null?i:"")+"]",
5584v,
5585traditional,
5586add
5587);
5588}
5589});
5590}else if(!traditional&&toType(obj)==="object"){
5591for(name in obj){
5592buildParams(prefix+"["+name+"]",obj[name],traditional,add);
5593}
5594}else{
5595add(prefix,obj);
5596}
5597}
5598jQuery.param=function(a,traditional){
5599var prefix,
5600s=[],
5601add=function(key,valueOrFunction){
5602var value=isFunction(valueOrFunction)?
5603valueOrFunction():
5604valueOrFunction;
5605s[s.length]=encodeURIComponent(key)+"="+
5606encodeURIComponent(value==null?"":value);
5607};
5608if(a==null){
5609return"";
5610}
5611if(Array.isArray(a)||(a.jquery&&!jQuery.isPlainObject(a))){
5612jQuery.each(a,function(){
5613add(this.name,this.value);
5614});
5615}else{
5616for(prefix in a){
5617buildParams(prefix,a[prefix],traditional,add);
5618}
5619}
5620return s.join("&");
5621};
5622jQuery.fn.extend({
5623serialize:function(){
5624return jQuery.param(this.serializeArray());
5625},
5626serializeArray:function(){
5627return this.map(function(){
5628var elements=jQuery.prop(this,"elements");
5629return elements?jQuery.makeArray(elements):this;
5630}).filter(function(){
5631var type=this.type;
5632return this.name&&!jQuery(this).is(":disabled")&&
5633rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&
5634(this.checked||!rcheckableType.test(type));
5635}).map(function(_i,elem){
5636var val=jQuery(this).val();
5637if(val==null){
5638return null;
5639}
5640if(Array.isArray(val)){
5641return jQuery.map(val,function(val){
5642return{name:elem.name,value:val.replace(rCRLF,"\r\n")};
5643});
5644}
5645return{name:elem.name,value:val.replace(rCRLF,"\r\n")};
5646}).get();
5647}
5648});
5649var
5650r20=/%20/g,
5651rhash=/#.*$/,
5652rantiCache=/([?&])_=[^&]*/,
5653rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg,
5654rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
5655rnoContent=/^(?:GET|HEAD)$/,
5656rprotocol=/^\/\//,
5657prefilters={},
5658transports={},
5659allTypes="*/".concat("*"),
5660originAnchor=document.createElement("a");
5661originAnchor.href=location.href;
5662function addToPrefiltersOrTransports(structure){
5663return function(dataTypeExpression,func){
5664if(typeof dataTypeExpression!=="string"){
5665func=dataTypeExpression;
5666dataTypeExpression="*";
5667}
5668var dataType,
5669i=0,
5670dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[];
5671if(isFunction(func)){
5672while((dataType=dataTypes[i++])){
5673if(dataType[0]==="+"){
5674dataType=dataType.slice(1)||"*";
5675(structure[dataType]=structure[dataType]||[]).unshift(func);
5676}else{
5677(structure[dataType]=structure[dataType]||[]).push(func);
5678}
5679}
5680}
5681};
5682}
5683function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){
5684var inspected={},
5685seekingTransport=(structure===transports);
5686function inspect(dataType){
5687var selected;
5688inspected[dataType]=true;
5689jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){
5690var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);
5691if(typeof dataTypeOrTransport==="string"&&
5692!seekingTransport&&!inspected[dataTypeOrTransport]){
5693options.dataTypes.unshift(dataTypeOrTransport);
5694inspect(dataTypeOrTransport);
5695return false;
5696}else if(seekingTransport){
5697return!(selected=dataTypeOrTransport);
5698}
5699});
5700return selected;
5701}
5702return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*");
5703}
5704function ajaxExtend(target,src){
5705var key,deep,
5706flatOptions=jQuery.ajaxSettings.flatOptions||{};
5707for(key in src){
5708if(src[key]!==undefined){
5709(flatOptions[key]?target:(deep||(deep={})))[key]=src[key];
5710}
5711}
5712if(deep){
5713jQuery.extend(true,target,deep);
5714}
5715return target;
5716}
5717function ajaxHandleResponses(s,jqXHR,responses){
5718var ct,type,finalDataType,firstDataType,
5719contents=s.contents,
5720dataTypes=s.dataTypes;
5721while(dataTypes[0]==="*"){
5722dataTypes.shift();
5723if(ct===undefined){
5724ct=s.mimeType||jqXHR.getResponseHeader("Content-Type");
5725}
5726}
5727if(ct){
5728for(type in contents){
5729if(contents[type]&&contents[type].test(ct)){
5730dataTypes.unshift(type);
5731break;
5732}
5733}
5734}
5735if(dataTypes[0]in responses){
5736finalDataType=dataTypes[0];
5737}else{
5738for(type in responses){
5739if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){
5740finalDataType=type;
5741break;
5742}
5743if(!firstDataType){
5744firstDataType=type;
5745}
5746}
5747finalDataType=finalDataType||firstDataType;
5748}
5749if(finalDataType){
5750if(finalDataType!==dataTypes[0]){
5751dataTypes.unshift(finalDataType);
5752}
5753return responses[finalDataType];
5754}
5755}
5756function ajaxConvert(s,response,jqXHR,isSuccess){
5757var conv2,current,conv,tmp,prev,
5758converters={},
5759dataTypes=s.dataTypes.slice();
5760if(dataTypes[1]){
5761for(conv in s.converters){
5762converters[conv.toLowerCase()]=s.converters[conv];
5763}
5764}
5765current=dataTypes.shift();
5766while(current){
5767if(s.responseFields[current]){
5768jqXHR[s.responseFields[current]]=response;
5769}
5770if(!prev&&isSuccess&&s.dataFilter){
5771response=s.dataFilter(response,s.dataType);
5772}
5773prev=current;
5774current=dataTypes.shift();
5775if(current){
5776if(current==="*"){
5777current=prev;
5778}else if(prev!=="*"&&prev!==current){
5779conv=converters[prev+" "+current]||converters["* "+current];
5780if(!conv){
5781for(conv2 in converters){
5782tmp=conv2.split(" ");
5783if(tmp[1]===current){
5784conv=converters[prev+" "+tmp[0]]||
5785converters["* "+tmp[0]];
5786if(conv){
5787if(conv===true){
5788conv=converters[conv2];
5789}else if(converters[conv2]!==true){
5790current=tmp[0];
5791dataTypes.unshift(tmp[1]);
5792}
5793break;
5794}
5795}
5796}
5797}
5798if(conv!==true){
5799if(conv&&s.throws){
5800response=conv(response);
5801}else{
5802try{
5803response=conv(response);
5804}catch(e){
5805return{
5806state:"parsererror",
5807error:conv?e:"No conversion from "+prev+" to "+current
5808};
5809}
5810}
5811}
5812}
5813}
5814}
5815return{state:"success",data:response};
5816}
5817jQuery.extend({
5818active:0,
5819lastModified:{},
5820etag:{},
5821ajaxSettings:{
5822url:location.href,
5823type:"GET",
5824isLocal:rlocalProtocol.test(location.protocol),
5825global:true,
5826processData:true,
5827async:true,
5828contentType:"application/x-www-form-urlencoded; charset=UTF-8",
5829accepts:{
5830"*":allTypes,
5831text:"text/plain",
5832html:"text/html",
5833xml:"application/xml, text/xml",
5834json:"application/json, text/javascript"
5835},
5836contents:{
5837xml:/\bxml\b/,
5838html:/\bhtml/,
5839json:/\bjson\b/
5840},
5841responseFields:{
5842xml:"responseXML",
5843text:"responseText",
5844json:"responseJSON"
5845},
5846converters:{
5847"* text":String,
5848"text html":true,
5849"text json":JSON.parse,
5850"text xml":jQuery.parseXML
5851},
5852flatOptions:{
5853url:true,
5854context:true
5855}
5856},
5857ajaxSetup:function(target,settings){
5858return settings?
5859ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):
5860ajaxExtend(jQuery.ajaxSettings,target);
5861},
5862ajaxPrefilter:addToPrefiltersOrTransports(prefilters),
5863ajaxTransport:addToPrefiltersOrTransports(transports),
5864ajax:function(url,options){
5865if(typeof url==="object"){
5866options=url;
5867url=undefined;
5868}
5869options=options||{};
5870var transport,
5871cacheURL,
5872responseHeadersString,
5873responseHeaders,
5874timeoutTimer,
5875urlAnchor,
5876completed,
5877fireGlobals,
5878i,
5879uncached,
5880s=jQuery.ajaxSetup({},options),
5881callbackContext=s.context||s,
5882globalEventContext=s.context&&
5883(callbackContext.nodeType||callbackContext.jquery)?
5884jQuery(callbackContext):
5885jQuery.event,
5886deferred=jQuery.Deferred(),
5887completeDeferred=jQuery.Callbacks("once memory"),
5888statusCode=s.statusCode||{},
5889requestHeaders={},
5890requestHeadersNames={},
5891strAbort="canceled",
5892jqXHR={
5893readyState:0,
5894getResponseHeader:function(key){
5895var match;
5896if(completed){
5897if(!responseHeaders){
5898responseHeaders={};
5899while((match=rheaders.exec(responseHeadersString))){
5900responseHeaders[match[1].toLowerCase()+" "]=
5901(responseHeaders[match[1].toLowerCase()+" "]||[])
5902.concat(match[2]);
5903}
5904}
5905match=responseHeaders[key.toLowerCase()+" "];
5906}
5907return match==null?null:match.join(", ");
5908},
5909getAllResponseHeaders:function(){
5910return completed?responseHeadersString:null;
5911},
5912setRequestHeader:function(name,value){
5913if(completed==null){
5914name=requestHeadersNames[name.toLowerCase()]=
5915requestHeadersNames[name.toLowerCase()]||name;
5916requestHeaders[name]=value;
5917}
5918return this;
5919},
5920overrideMimeType:function(type){
5921if(completed==null){
5922s.mimeType=type;
5923}
5924return this;
5925},
5926statusCode:function(map){
5927var code;
5928if(map){
5929if(completed){
5930jqXHR.always(map[jqXHR.status]);
5931}else{
5932for(code in map){
5933statusCode[code]=[statusCode[code],map[code]];
5934}
5935}
5936}
5937return this;
5938},
5939abort:function(statusText){
5940var finalText=statusText||strAbort;
5941if(transport){
5942transport.abort(finalText);
5943}
5944done(0,finalText);
5945return this;
5946}
5947};
5948deferred.promise(jqXHR);
5949s.url=((url||s.url||location.href)+"")
5950.replace(rprotocol,location.protocol+"//");
5951s.type=options.method||options.type||s.method||s.type;
5952s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""];
5953if(s.crossDomain==null){
5954urlAnchor=document.createElement("a");
5955try{
5956urlAnchor.href=s.url;
5957urlAnchor.href=urlAnchor.href;
5958s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!==
5959urlAnchor.protocol+"//"+urlAnchor.host;
5960}catch(e){
5961s.crossDomain=true;
5962}
5963}
5964if(s.data&&s.processData&&typeof s.data!=="string"){
5965s.data=jQuery.param(s.data,s.traditional);
5966}
5967inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);
5968if(completed){
5969return jqXHR;
5970}
5971fireGlobals=jQuery.event&&s.global;
5972if(fireGlobals&&jQuery.active++===0){
5973jQuery.event.trigger("ajaxStart");
5974}
5975s.type=s.type.toUpperCase();
5976s.hasContent=!rnoContent.test(s.type);
5977cacheURL=s.url.replace(rhash,"");
5978if(!s.hasContent){
5979uncached=s.url.slice(cacheURL.length);
5980if(s.data&&(s.processData||typeof s.data==="string")){
5981cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data;
5982delete s.data;
5983}
5984if(s.cache===false){
5985cacheURL=cacheURL.replace(rantiCache,"$1");
5986uncached=(rquery.test(cacheURL)?"&":"?")+"_="+(nonce.guid++)+
5987uncached;
5988}
5989s.url=cacheURL+uncached;
5990}else if(s.data&&s.processData&&
5991(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0){
5992s.data=s.data.replace(r20,"+");
5993}
5994if(s.ifModified){
5995if(jQuery.lastModified[cacheURL]){
5996jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]);
5997}
5998if(jQuery.etag[cacheURL]){
5999jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL]);
6000}
6001}
6002if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){
6003jqXHR.setRequestHeader("Content-Type",s.contentType);
6004}
6005jqXHR.setRequestHeader(
6006"Accept",
6007s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?
6008s.accepts[s.dataTypes[0]]+
6009(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):
6010s.accepts["*"]
6011);
6012for(i in s.headers){
6013jqXHR.setRequestHeader(i,s.headers[i]);
6014}
6015if(s.beforeSend&&
6016(s.beforeSend.call(callbackContext,jqXHR,s)===false||completed)){
6017return jqXHR.abort();
6018}
6019strAbort="abort";
6020completeDeferred.add(s.complete);
6021jqXHR.done(s.success);
6022jqXHR.fail(s.error);
6023transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);
6024if(!transport){
6025done(-1,"No Transport");
6026}else{
6027jqXHR.readyState=1;
6028if(fireGlobals){
6029globalEventContext.trigger("ajaxSend",[jqXHR,s]);
6030}
6031if(completed){
6032return jqXHR;
6033}
6034if(s.async&&s.timeout>0){
6035timeoutTimer=window.setTimeout(function(){
6036jqXHR.abort("timeout");
6037},s.timeout);
6038}
6039try{
6040completed=false;
6041transport.send(requestHeaders,done);
6042}catch(e){
6043if(completed){
6044throw e;
6045}
6046done(-1,e);
6047}
6048}
6049function done(status,nativeStatusText,responses,headers){
6050var isSuccess,success,error,response,modified,
6051statusText=nativeStatusText;
6052if(completed){
6053return;
6054}
6055completed=true;
6056if(timeoutTimer){
6057window.clearTimeout(timeoutTimer);
6058}
6059transport=undefined;
6060responseHeadersString=headers||"";
6061jqXHR.readyState=status>0?4:0;
6062isSuccess=status>=200&&status<300||status===304;
6063if(responses){
6064response=ajaxHandleResponses(s,jqXHR,responses);
6065}
6066if(!isSuccess&&
6067jQuery.inArray("script",s.dataTypes)>-1&&
6068jQuery.inArray("json",s.dataTypes)<0){
6069s.converters["text script"]=function(){};
6070}
6071response=ajaxConvert(s,response,jqXHR,isSuccess);
6072if(isSuccess){
6073if(s.ifModified){
6074modified=jqXHR.getResponseHeader("Last-Modified");
6075if(modified){
6076jQuery.lastModified[cacheURL]=modified;
6077}
6078modified=jqXHR.getResponseHeader("etag");
6079if(modified){
6080jQuery.etag[cacheURL]=modified;
6081}
6082}
6083if(status===204||s.type==="HEAD"){
6084statusText="nocontent";
6085}else if(status===304){
6086statusText="notmodified";
6087}else{
6088statusText=response.state;
6089success=response.data;
6090error=response.error;
6091isSuccess=!error;
6092}
6093}else{
6094error=statusText;
6095if(status||!statusText){
6096statusText="error";
6097if(status<0){
6098status=0;
6099}
6100}
6101}
6102jqXHR.status=status;
6103jqXHR.statusText=(nativeStatusText||statusText)+"";
6104if(isSuccess){
6105deferred.resolveWith(callbackContext,[success,statusText,jqXHR]);
6106}else{
6107deferred.rejectWith(callbackContext,[jqXHR,statusText,error]);
6108}
6109jqXHR.statusCode(statusCode);
6110statusCode=undefined;
6111if(fireGlobals){
6112globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",
6113[jqXHR,s,isSuccess?success:error]);
6114}
6115completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);
6116if(fireGlobals){
6117globalEventContext.trigger("ajaxComplete",[jqXHR,s]);
6118if(!(--jQuery.active)){
6119jQuery.event.trigger("ajaxStop");
6120}
6121}
6122}
6123return jqXHR;
6124},
6125getJSON:function(url,data,callback){
6126return jQuery.get(url,data,callback,"json");
6127},
6128getScript:function(url,callback){
6129return jQuery.get(url,undefined,callback,"script");
6130}
6131});
6132jQuery.each(["get","post"],function(_i,method){
6133jQuery[method]=function(url,data,callback,type){
6134if(isFunction(data)){
6135type=type||callback;
6136callback=data;
6137data=undefined;
6138}
6139return jQuery.ajax(jQuery.extend({
6140url:url,
6141type:method,
6142dataType:type,
6143data:data,
6144success:callback
6145},jQuery.isPlainObject(url)&&url));
6146};
6147});
6148jQuery.ajaxPrefilter(function(s){
6149var i;
6150for(i in s.headers){
6151if(i.toLowerCase()==="content-type"){
6152s.contentType=s.headers[i]||"";
6153}
6154}
6155});
6156jQuery._evalUrl=function(url,options,doc){
6157return jQuery.ajax({
6158url:url,
6159type:"GET",
6160dataType:"script",
6161cache:true,
6162async:false,
6163global:false,
6164converters:{
6165"text script":function(){}
6166},
6167dataFilter:function(response){
6168jQuery.globalEval(response,options,doc);
6169}
6170});
6171};
6172jQuery.fn.extend({
6173wrapAll:function(html){
6174var wrap;
6175if(this[0]){
6176if(isFunction(html)){
6177html=html.call(this[0]);
6178}
6179wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);
6180if(this[0].parentNode){
6181wrap.insertBefore(this[0]);
6182}
6183wrap.map(function(){
6184var elem=this;
6185while(elem.firstElementChild){
6186elem=elem.firstElementChild;
6187}
6188return elem;
6189}).append(this);
6190}
6191return this;
6192},
6193wrapInner:function(html){
6194if(isFunction(html)){
6195return this.each(function(i){
6196jQuery(this).wrapInner(html.call(this,i));
6197});
6198}
6199return this.each(function(){
6200var self=jQuery(this),
6201contents=self.contents();
6202if(contents.length){
6203contents.wrapAll(html);
6204}else{
6205self.append(html);
6206}
6207});
6208},
6209wrap:function(html){
6210var htmlIsFunction=isFunction(html);
6211return this.each(function(i){
6212jQuery(this).wrapAll(htmlIsFunction?html.call(this,i):html);
6213});
6214},
6215unwrap:function(selector){
6216this.parent(selector).not("body").each(function(){
6217jQuery(this).replaceWith(this.childNodes);
6218});
6219return this;
6220}
6221});
6222jQuery.expr.pseudos.hidden=function(elem){
6223return!jQuery.expr.pseudos.visible(elem);
6224};
6225jQuery.expr.pseudos.visible=function(elem){
6226return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length);
6227};
6228jQuery.ajaxSettings.xhr=function(){
6229try{
6230return new window.XMLHttpRequest();
6231}catch(e){}
6232};
6233var xhrSuccessStatus={
62340:200,
62351223:204
6236},
6237xhrSupported=jQuery.ajaxSettings.xhr();
6238support.cors=!!xhrSupported&&("withCredentials"in xhrSupported);
6239support.ajax=xhrSupported=!!xhrSupported;
6240jQuery.ajaxTransport(function(options){
6241var callback,errorCallback;
6242if(support.cors||xhrSupported&&!options.crossDomain){
6243return{
6244send:function(headers,complete){
6245var i,
6246xhr=options.xhr();
6247xhr.open(
6248options.type,
6249options.url,
6250options.async,
6251options.username,
6252options.password
6253);
6254if(options.xhrFields){
6255for(i in options.xhrFields){
6256xhr[i]=options.xhrFields[i];
6257}
6258}
6259if(options.mimeType&&xhr.overrideMimeType){
6260xhr.overrideMimeType(options.mimeType);
6261}
6262if(!options.crossDomain&&!headers["X-Requested-With"]){
6263headers["X-Requested-With"]="XMLHttpRequest";
6264}
6265for(i in headers){
6266xhr.setRequestHeader(i,headers[i]);
6267}
6268callback=function(type){
6269return function(){
6270if(callback){
6271callback=errorCallback=xhr.onload=
6272xhr.onerror=xhr.onabort=xhr.ontimeout=
6273xhr.onreadystatechange=null;
6274if(type==="abort"){
6275xhr.abort();
6276}else if(type==="error"){
6277if(typeof xhr.status!=="number"){
6278complete(0,"error");
6279}else{
6280complete(
6281xhr.status,
6282xhr.statusText
6283);
6284}
6285}else{
6286complete(
6287xhrSuccessStatus[xhr.status]||xhr.status,
6288xhr.statusText,
6289(xhr.responseType||"text")!=="text"||
6290typeof xhr.responseText!=="string"?
6291{binary:xhr.response}:
6292{text:xhr.responseText},
6293xhr.getAllResponseHeaders()
6294);
6295}
6296}
6297};
6298};
6299xhr.onload=callback();
6300errorCallback=xhr.onerror=xhr.ontimeout=callback("error");
6301if(xhr.onabort!==undefined){
6302xhr.onabort=errorCallback;
6303}else{
6304xhr.onreadystatechange=function(){
6305if(xhr.readyState===4){
6306window.setTimeout(function(){
6307if(callback){
6308errorCallback();
6309}
6310});
6311}
6312};
6313}
6314callback=callback("abort");
6315try{
6316xhr.send(options.hasContent&&options.data||null);
6317}catch(e){
6318if(callback){
6319throw e;
6320}
6321}
6322},
6323abort:function(){
6324if(callback){
6325callback();
6326}
6327}
6328};
6329}
6330});
6331jQuery.ajaxPrefilter(function(s){
6332if(s.crossDomain){
6333s.contents.script=false;
6334}
6335});
6336jQuery.ajaxSetup({
6337accepts:{
6338script:"text/javascript, application/javascript, "+
6339"application/ecmascript, application/x-ecmascript"
6340},
6341contents:{
6342script:/\b(?:java|ecma)script\b/
6343},
6344converters:{
6345"text script":function(text){
6346jQuery.globalEval(text);
6347return text;
6348}
6349}
6350});
6351jQuery.ajaxPrefilter("script",function(s){
6352if(s.cache===undefined){
6353s.cache=false;
6354}
6355if(s.crossDomain){
6356s.type="GET";
6357}
6358});
6359jQuery.ajaxTransport("script",function(s){
6360if(s.crossDomain||s.scriptAttrs){
6361var script,callback;
6362return{
6363send:function(_,complete){
6364script=jQuery("<script>")
6365.attr(s.scriptAttrs||{})
6366.prop({charset:s.scriptCharset,src:s.url})
6367.on("load error",callback=function(evt){
6368script.remove();
6369callback=null;
6370if(evt){
6371complete(evt.type==="error"?404:200,evt.type);
6372}
6373});
6374document.head.appendChild(script[0]);
6375},
6376abort:function(){
6377if(callback){
6378callback();
6379}
6380}
6381};
6382}
6383});
6384var oldCallbacks=[],
6385rjsonp=/(=)\?(?=&|$)|\?\?/;
6386jQuery.ajaxSetup({
6387jsonp:"callback",
6388jsonpCallback:function(){
6389var callback=oldCallbacks.pop()||(jQuery.expando+"_"+(nonce.guid++));
6390this[callback]=true;
6391return callback;
6392}
6393});
6394jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){
6395var callbackName,overwritten,responseContainer,
6396jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)?
6397"url":
6398typeof s.data==="string"&&
6399(s.contentType||"")
6400.indexOf("application/x-www-form-urlencoded")===0&&
6401rjsonp.test(s.data)&&"data"
6402);
6403if(jsonProp||s.dataTypes[0]==="jsonp"){
6404callbackName=s.jsonpCallback=isFunction(s.jsonpCallback)?
6405s.jsonpCallback():
6406s.jsonpCallback;
6407if(jsonProp){
6408s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName);
6409}else if(s.jsonp!==false){
6410s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName;
6411}
6412s.converters["script json"]=function(){
6413if(!responseContainer){
6414jQuery.error(callbackName+" was not called");
6415}
6416return responseContainer[0];
6417};
6418s.dataTypes[0]="json";
6419overwritten=window[callbackName];
6420window[callbackName]=function(){
6421responseContainer=arguments;
6422};
6423jqXHR.always(function(){
6424if(overwritten===undefined){
6425jQuery(window).removeProp(callbackName);
6426}else{
6427window[callbackName]=overwritten;
6428}
6429if(s[callbackName]){
6430s.jsonpCallback=originalSettings.jsonpCallback;
6431oldCallbacks.push(callbackName);
6432}
6433if(responseContainer&&isFunction(overwritten)){
6434overwritten(responseContainer[0]);
6435}
6436responseContainer=overwritten=undefined;
6437});
6438return"script";
6439}
6440});
6441support.createHTMLDocument=(function(){
6442var body=document.implementation.createHTMLDocument("").body;
6443body.innerHTML="<form></form><form></form>";
6444return body.childNodes.length===2;
6445})();
6446jQuery.parseHTML=function(data,context,keepScripts){
6447if(typeof data!=="string"){
6448return[];
6449}
6450if(typeof context==="boolean"){
6451keepScripts=context;
6452context=false;
6453}
6454var base,parsed,scripts;
6455if(!context){
6456if(support.createHTMLDocument){
6457context=document.implementation.createHTMLDocument("");
6458base=context.createElement("base");
6459base.href=document.location.href;
6460context.head.appendChild(base);
6461}else{
6462context=document;
6463}
6464}
6465parsed=rsingleTag.exec(data);
6466scripts=!keepScripts&&[];
6467if(parsed){
6468return[context.createElement(parsed[1])];
6469}
6470parsed=buildFragment([data],context,scripts);
6471if(scripts&&scripts.length){
6472jQuery(scripts).remove();
6473}
6474return jQuery.merge([],parsed.childNodes);
6475};
6476jQuery.fn.load=function(url,params,callback){
6477var selector,type,response,
6478self=this,
6479off=url.indexOf(" ");
6480if(off>-1){
6481selector=stripAndCollapse(url.slice(off));
6482url=url.slice(0,off);
6483}
6484if(isFunction(params)){
6485callback=params;
6486params=undefined;
6487}else if(params&&typeof params==="object"){
6488type="POST";
6489}
6490if(self.length>0){
6491jQuery.ajax({
6492url:url,
6493type:type||"GET",
6494dataType:"html",
6495data:params
6496}).done(function(responseText){
6497response=arguments;
6498self.html(selector?
6499jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):
6500responseText);
6501}).always(callback&&function(jqXHR,status){
6502self.each(function(){
6503callback.apply(this,response||[jqXHR.responseText,status,jqXHR]);
6504});
6505});
6506}
6507return this;
6508};
6509jQuery.expr.pseudos.animated=function(elem){
6510return jQuery.grep(jQuery.timers,function(fn){
6511return elem===fn.elem;
6512}).length;
6513};
6514jQuery.offset={
6515setOffset:function(elem,options,i){
6516var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,
6517position=jQuery.css(elem,"position"),
6518curElem=jQuery(elem),
6519props={};
6520if(position==="static"){
6521elem.style.position="relative";
6522}
6523curOffset=curElem.offset();
6524curCSSTop=jQuery.css(elem,"top");
6525curCSSLeft=jQuery.css(elem,"left");
6526calculatePosition=(position==="absolute"||position==="fixed")&&
6527(curCSSTop+curCSSLeft).indexOf("auto")>-1;
6528if(calculatePosition){
6529curPosition=curElem.position();
6530curTop=curPosition.top;
6531curLeft=curPosition.left;
6532}else{
6533curTop=parseFloat(curCSSTop)||0;
6534curLeft=parseFloat(curCSSLeft)||0;
6535}
6536if(isFunction(options)){
6537options=options.call(elem,i,jQuery.extend({},curOffset));
6538}
6539if(options.top!=null){
6540props.top=(options.top-curOffset.top)+curTop;
6541}
6542if(options.left!=null){
6543props.left=(options.left-curOffset.left)+curLeft;
6544}
6545if("using"in options){
6546options.using.call(elem,props);
6547}else{
6548curElem.css(props);
6549}
6550}
6551};
6552jQuery.fn.extend({
6553offset:function(options){
6554if(arguments.length){
6555return options===undefined?
6556this:
6557this.each(function(i){
6558jQuery.offset.setOffset(this,options,i);
6559});
6560}
6561var rect,win,
6562elem=this[0];
6563if(!elem){
6564return;
6565}
6566if(!elem.getClientRects().length){
6567return{top:0,left:0};
6568}
6569rect=elem.getBoundingClientRect();
6570win=elem.ownerDocument.defaultView;
6571return{
6572top:rect.top+win.pageYOffset,
6573left:rect.left+win.pageXOffset
6574};
6575},
6576position:function(){
6577if(!this[0]){
6578return;
6579}
6580var offsetParent,offset,doc,
6581elem=this[0],
6582parentOffset={top:0,left:0};
6583if(jQuery.css(elem,"position")==="fixed"){
6584offset=elem.getBoundingClientRect();
6585}else{
6586offset=this.offset();
6587doc=elem.ownerDocument;
6588offsetParent=elem.offsetParent||doc.documentElement;
6589while(offsetParent&&
6590(offsetParent===doc.body||offsetParent===doc.documentElement)&&
6591jQuery.css(offsetParent,"position")==="static"){
6592offsetParent=offsetParent.parentNode;
6593}
6594if(offsetParent&&offsetParent!==elem&&offsetParent.nodeType===1){
6595parentOffset=jQuery(offsetParent).offset();
6596parentOffset.top+=jQuery.css(offsetParent,"borderTopWidth",true);
6597parentOffset.left+=jQuery.css(offsetParent,"borderLeftWidth",true);
6598}
6599}
6600return{
6601top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true),
6602left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true)
6603};
6604},
6605offsetParent:function(){
6606return this.map(function(){
6607var offsetParent=this.offsetParent;
6608while(offsetParent&&jQuery.css(offsetParent,"position")==="static"){
6609offsetParent=offsetParent.offsetParent;
6610}
6611return offsetParent||documentElement;
6612});
6613}
6614});
6615jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){
6616var top="pageYOffset"===prop;
6617jQuery.fn[method]=function(val){
6618return access(this,function(elem,method,val){
6619var win;
6620if(isWindow(elem)){
6621win=elem;
6622}else if(elem.nodeType===9){
6623win=elem.defaultView;
6624}
6625if(val===undefined){
6626return win?win[prop]:elem[method];
6627}
6628if(win){
6629win.scrollTo(
6630!top?val:win.pageXOffset,
6631top?val:win.pageYOffset
6632);
6633}else{
6634elem[method]=val;
6635}
6636},method,val,arguments.length);
6637};
6638});
6639jQuery.each(["top","left"],function(_i,prop){
6640jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,
6641function(elem,computed){
6642if(computed){
6643computed=curCSS(elem,prop);
6644return rnumnonpx.test(computed)?
6645jQuery(elem).position()[prop]+"px":
6646computed;
6647}
6648}
6649);
6650});
6651jQuery.each({Height:"height",Width:"width"},function(name,type){
6652jQuery.each({
6653padding:"inner"+name,
6654content:type,
6655"":"outer"+name
6656},function(defaultExtra,funcName){
6657jQuery.fn[funcName]=function(margin,value){
6658var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"),
6659extra=defaultExtra||(margin===true||value===true?"margin":"border");
6660return access(this,function(elem,type,value){
6661var doc;
6662if(isWindow(elem)){
6663return funcName.indexOf("outer")===0?
6664elem["inner"+name]:
6665elem.document.documentElement["client"+name];
6666}
6667if(elem.nodeType===9){
6668doc=elem.documentElement;
6669return Math.max(
6670elem.body["scroll"+name],doc["scroll"+name],
6671elem.body["offset"+name],doc["offset"+name],
6672doc["client"+name]
6673);
6674}
6675return value===undefined?
6676jQuery.css(elem,type,extra):
6677jQuery.style(elem,type,value,extra);
6678},type,chainable?margin:undefined,chainable);
6679};
6680});
6681});
6682jQuery.each([
6683"ajaxStart",
6684"ajaxStop",
6685"ajaxComplete",
6686"ajaxError",
6687"ajaxSuccess",
6688"ajaxSend"
6689],function(_i,type){
6690jQuery.fn[type]=function(fn){
6691return this.on(type,fn);
6692};
6693});
6694jQuery.fn.extend({
6695bind:function(types,data,fn){
6696return this.on(types,null,data,fn);
6697},
6698unbind:function(types,fn){
6699return this.off(types,null,fn);
6700},
6701delegate:function(selector,types,data,fn){
6702return this.on(types,selector,data,fn);
6703},
6704undelegate:function(selector,types,fn){
6705return arguments.length===1?
6706this.off(selector,"**"):
6707this.off(types,selector||"**",fn);
6708},
6709hover:function(fnOver,fnOut){
6710return this
6711.on("mouseenter",fnOver)
6712.on("mouseleave",fnOut||fnOver);
6713}
6714});
6715jQuery.each(
6716("blur focus focusin focusout resize scroll click dblclick "+
6717"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+
6718"change select submit keydown keypress keyup contextmenu").split(" "),
6719function(_i,name){
6720jQuery.fn[name]=function(data,fn){
6721return arguments.length>0?
6722this.on(name,null,data,fn):
6723this.trigger(name);
6724};
6725}
6726);
6727var rtrim=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
6728jQuery.proxy=function(fn,context){
6729var tmp,args,proxy;
6730if(typeof context==="string"){
6731tmp=fn[context];
6732context=fn;
6733fn=tmp;
6734}
6735if(!isFunction(fn)){
6736return undefined;
6737}
6738args=slice.call(arguments,2);
6739proxy=function(){
6740return fn.apply(context||this,args.concat(slice.call(arguments)));
6741};
6742proxy.guid=fn.guid=fn.guid||jQuery.guid++;
6743return proxy;
6744};
6745jQuery.holdReady=function(hold){
6746if(hold){
6747jQuery.readyWait++;
6748}else{
6749jQuery.ready(true);
6750}
6751};
6752jQuery.isArray=Array.isArray;
6753jQuery.parseJSON=JSON.parse;
6754jQuery.nodeName=nodeName;
6755jQuery.isFunction=isFunction;
6756jQuery.isWindow=isWindow;
6757jQuery.camelCase=camelCase;
6758jQuery.type=toType;
6759jQuery.now=Date.now;
6760jQuery.isNumeric=function(obj){
6761var type=jQuery.type(obj);
6762return(type==="number"||type==="string")&&
6763!isNaN(obj-parseFloat(obj));
6764};
6765jQuery.trim=function(text){
6766return text==null?
6767"":
6768(text+"").replace(rtrim,"$1");
6769};
6770if(typeof define==="function"&&define.amd){
6771define("jquery",[],function(){
6772return jQuery;
6773});
6774}
6775var
6776_jQuery=window.jQuery,
6777_$=window.$;
6778jQuery.noConflict=function(deep){
6779if(window.$===jQuery){
6780window.$=_$;
6781}
6782if(deep&&window.jQuery===jQuery){
6783window.jQuery=_jQuery;
6784}
6785return jQuery;
6786};
6787if(typeof noGlobal==="undefined"){
6788window.jQuery=window.$=jQuery;
6789}
6790return jQuery;
6791});
6792
6793
6794/* prive/javascript/jquery.form.js?1788354511 */
6795
6796(function(factory){
6797if(typeof define==='function'&&define.amd){
6798define(['jquery'],factory);
6799}else if(typeof module==='object'&&module.exports){
6800module.exports=function(root,jQuery){
6801if(typeof jQuery==='undefined'){
6802if(typeof window!=='undefined'){
6803jQuery=require('jquery');
6804}
6805else{
6806jQuery=require('jquery')(root);
6807}
6808}
6809factory(jQuery);
6810return jQuery;
6811};
6812}else{
6813factory(jQuery);
6814}
6815}(function($){
6816'use strict';
6817var rCRLF=/\r?\n/g;
6818var feature={};
6819feature.fileapi=$('<input type="file">').get(0).files!==undefined;
6820feature.formdata=(typeof window.FormData!=='undefined');
6821var hasProp=!!$.fn.prop;
6822$.fn.attr2=function(){
6823if(!hasProp){
6824return this.attr.apply(this,arguments);
6825}
6826var val=this.prop.apply(this,arguments);
6827if((val&&val.jquery)||typeof val==='string'){
6828return val;
6829}
6830return this.attr.apply(this,arguments);
6831};
6832$.fn.ajaxSubmit=function(options,data,dataType,onSuccess){
6833if(!this.length){
6834log('ajaxSubmit: skipping submit process - no element selected');
6835return this;
6836}
6837var method,action,url,isMsie,iframeSrc,$form=this;
6838if(typeof options==='function'){
6839options={success:options};
6840}else if(typeof options==='string'||(options===false&&arguments.length>0)){
6841options={
6842'url':options,
6843'data':data,
6844'dataType':dataType
6845};
6846if(typeof onSuccess==='function'){
6847options.success=onSuccess;
6848}
6849}else if(typeof options==='undefined'){
6850options={};
6851}
6852method=options.method||options.type||this.attr2('method');
6853action=options.url||this.attr2('action');
6854url=(typeof action==='string')?$.trim(action):'';
6855url=url||window.location.href||'';
6856if(url){
6857url=(url.match(/^([^#]+)/)||[])[1];
6858}
6859isMsie=/(MSIE|Trident)/.test(navigator.userAgent||'');
6860iframeSrc=(isMsie&&/^https/i.test(window.location.href||''))?'javascript:false':'about:blank';
6861options=$.extend(true,{
6862url:url,
6863success:$.ajaxSettings.success,
6864type:method||$.ajaxSettings.type,
6865iframeSrc:iframeSrc
6866},options);
6867var veto={};
6868this.trigger('form-pre-serialize',[this,options,veto]);
6869if(veto.veto){
6870log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
6871return this;
6872}
6873if(options.beforeSerialize&&options.beforeSerialize(this,options)===false){
6874log('ajaxSubmit: submit aborted via beforeSerialize callback');
6875return this;
6876}
6877var traditional=options.traditional;
6878if(typeof traditional==='undefined'){
6879traditional=$.ajaxSettings.traditional;
6880}
6881var elements=[];
6882var qx,a=this.formToArray(options.semantic,elements,options.filtering);
6883if(options.data){
6884var optionsData=$.isFunction(options.data)?options.data(a):options.data;
6885options.extraData=optionsData;
6886qx=$.param(optionsData,traditional);
6887}
6888if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){
6889log('ajaxSubmit: submit aborted via beforeSubmit callback');
6890return this;
6891}
6892this.trigger('form-submit-validate',[a,this,options,veto]);
6893if(veto.veto){
6894log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
6895return this;
6896}
6897var q=$.param(a,traditional);
6898if(qx){
6899q=(q?(q+'&'+qx):qx);
6900}
6901if(options.type.toUpperCase()==='GET'){
6902options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;
6903options.data=null;
6904}else{
6905options.data=q;
6906}
6907var callbacks=[];
6908if(options.resetForm){
6909callbacks.push(function(){
6910$form.resetForm();
6911});
6912}
6913if(options.clearForm){
6914callbacks.push(function(){
6915$form.clearForm(options.includeHidden);
6916});
6917}
6918if(!options.dataType&&options.target){
6919var oldSuccess=options.success||function(){};
6920callbacks.push(function(data,textStatus,jqXHR){
6921var successArguments=arguments,
6922fn=options.replaceTarget?'replaceWith':'html';
6923if(fn=='html'){
6924data=$.parseHTML($("<div>").text(data).html())
6925};
6926$(options.target)[fn](data).each(function(){
6927oldSuccess.apply(this,successArguments);
6928});
6929});
6930}else if(options.success){
6931if($.isArray(options.success)){
6932$.merge(callbacks,options.success);
6933}else{
6934callbacks.push(options.success);
6935}
6936}
6937options.success=function(data,status,xhr){
6938var context=options.context||this;
6939for(var i=0,max=callbacks.length;i<max;i++){
6940callbacks[i].apply(context,[data,status,xhr||$form,$form]);
6941}
6942};
6943if(options.error){
6944var oldError=options.error;
6945options.error=function(xhr,status,error){
6946var context=options.context||this;
6947oldError.apply(context,[xhr,status,error,$form]);
6948};
6949}
6950if(options.complete){
6951var oldComplete=options.complete;
6952options.complete=function(xhr,status){
6953var context=options.context||this;
6954oldComplete.apply(context,[xhr,status,$form]);
6955};
6956}
6957var fileInputs=$('input[type=file]:enabled',this).filter(function(){
6958return $(this).val()!=='';
6959});
6960var hasFileInputs=fileInputs.length>0;
6961var mp='multipart/form-data';
6962var multipart=($form.attr('enctype')===mp||$form.attr('encoding')===mp);
6963var fileAPI=feature.fileapi&&feature.formdata;
6964log('fileAPI :'+fileAPI);
6965var shouldUseFrame=(hasFileInputs||multipart)&&!fileAPI;
6966var jqxhr;
6967if(options.iframe!==false&&(options.iframe||shouldUseFrame)){
6968if(options.closeKeepAlive){
6969$.get(options.closeKeepAlive,function(){
6970jqxhr=fileUploadIframe(a);
6971});
6972}else{
6973jqxhr=fileUploadIframe(a);
6974}
6975}else if((hasFileInputs||multipart)&&fileAPI){
6976jqxhr=fileUploadXhr(a);
6977}else{
6978jqxhr=$.ajax(options);
6979}
6980$form.removeData('jqxhr').data('jqxhr',jqxhr);
6981for(var k=0;k<elements.length;k++){
6982elements[k]=null;
6983}
6984this.trigger('form-submit-notify',[this,options]);
6985return this;
6986function deepSerialize(extraData){
6987var serialized=$.param(extraData,options.traditional).split('&');
6988var len=serialized.length;
6989var result=[];
6990var i,part;
6991for(i=0;i<len;i++){
6992serialized[i]=serialized[i].replace(/\+/g,' ');
6993part=serialized[i].split('=');
6994result.push([decodeURIComponent(part[0]),decodeURIComponent(part[1])]);
6995}
6996return result;
6997}
6998function fileUploadXhr(a){
6999var formdata=new FormData();
7000for(var i=0;i<a.length;i++){
7001formdata.append(a[i].name,a[i].value);
7002}
7003if(options.extraData){
7004var serializedData=deepSerialize(options.extraData);
7005for(i=0;i<serializedData.length;i++){
7006if(serializedData[i]){
7007formdata.append(serializedData[i][0],serializedData[i][1]);
7008}
7009}
7010}
7011options.data=null;
7012var s=$.extend(true,{},$.ajaxSettings,options,{
7013contentType:false,
7014processData:false,
7015cache:false,
7016type:method||'POST'
7017});
7018if(options.uploadProgress){
7019s.xhr=function(){
7020var xhr=$.ajaxSettings.xhr();
7021if(xhr.upload){
7022xhr.upload.addEventListener('progress',function(event){
7023var percent=0;
7024var position=event.loaded||event.position;
7025var total=event.total;
7026if(event.lengthComputable){
7027percent=Math.ceil(position/total*100);
7028}
7029options.uploadProgress(event,position,total,percent);
7030},false);
7031}
7032return xhr;
7033};
7034}
7035s.data=null;
7036var beforeSend=s.beforeSend;
7037s.beforeSend=function(xhr,o){
7038if(options.formData){
7039o.data=options.formData;
7040}else{
7041o.data=formdata;
7042}
7043if(beforeSend){
7044beforeSend.call(this,xhr,o);
7045}
7046};
7047return $.ajax(s);
7048}
7049function fileUploadIframe(a){
7050var form=$form[0],el,i,s,g,id,$io,io,xhr,sub,n,timedOut,timeoutHandle;
7051var deferred=$.Deferred();
7052deferred.abort=function(status){
7053xhr.abort(status);
7054};
7055if(a){
7056for(i=0;i<elements.length;i++){
7057el=$(elements[i]);
7058if(hasProp){
7059el.prop('disabled',false);
7060}else{
7061el.removeAttr('disabled');
7062}
7063}
7064}
7065s=$.extend(true,{},$.ajaxSettings,options);
7066s.context=s.context||s;
7067id='jqFormIO'+new Date().getTime();
7068var ownerDocument=form.ownerDocument;
7069var $body=$form.closest('body');
7070if(s.iframeTarget){
7071$io=$(s.iframeTarget,ownerDocument);
7072n=$io.attr2('name');
7073if(!n){
7074$io.attr2('name',id);
7075}else{
7076id=n;
7077}
7078}else{
7079$io=$('<iframe name="'+id+'" src="'+s.iframeSrc+'">',ownerDocument);
7080$io.css({position:'absolute',top:'-1000px',left:'-1000px'});
7081}
7082io=$io[0];
7083xhr={
7084aborted:0,
7085responseText:null,
7086responseXML:null,
7087status:0,
7088statusText:'n/a',
7089getAllResponseHeaders:function(){},
7090getResponseHeader:function(){},
7091setRequestHeader:function(){},
7092abort:function(status){
7093var e=(status==='timeout'?'timeout':'aborted');
7094log('aborting upload... '+e);
7095this.aborted=1;
7096try{
7097if(io.contentWindow.document.execCommand){
7098io.contentWindow.document.execCommand('Stop');
7099}
7100}catch(ignore){}
7101$io.attr('src',s.iframeSrc);
7102xhr.error=e;
7103if(s.error){
7104s.error.call(s.context,xhr,e,status);
7105}
7106if(g){
7107$.event.trigger('ajaxError',[xhr,s,e]);
7108}
7109if(s.complete){
7110s.complete.call(s.context,xhr,e);
7111}
7112}
7113};
7114g=s.global;
7115if(g&&$.active++===0){
7116$.event.trigger('ajaxStart');
7117}
7118if(g){
7119$.event.trigger('ajaxSend',[xhr,s]);
7120}
7121if(s.beforeSend&&s.beforeSend.call(s.context,xhr,s)===false){
7122if(s.global){
7123$.active--;
7124}
7125deferred.reject();
7126return deferred;
7127}
7128if(xhr.aborted){
7129deferred.reject();
7130return deferred;
7131}
7132sub=form.clk;
7133if(sub){
7134n=sub.name;
7135if(n&&!sub.disabled){
7136s.extraData=s.extraData||{};
7137s.extraData[n]=sub.value;
7138if(sub.type==='image'){
7139s.extraData[n+'.x']=form.clk_x;
7140s.extraData[n+'.y']=form.clk_y;
7141}
7142}
7143}
7144var CLIENT_TIMEOUT_ABORT=1;
7145var SERVER_ABORT=2;
7146function getDoc(frame){
7147var doc=null;
7148try{
7149if(frame.contentWindow){
7150doc=frame.contentWindow.document;
7151}
7152}catch(err){
7153log('cannot get iframe.contentWindow document: '+err);
7154}
7155if(doc){
7156return doc;
7157}
7158try{
7159doc=frame.contentDocument?frame.contentDocument:frame.document;
7160}catch(err){
7161log('cannot get iframe.contentDocument: '+err);
7162doc=frame.document;
7163}
7164return doc;
7165}
7166var csrf_token=$('meta[name=csrf-token]').attr('content');
7167var csrf_param=$('meta[name=csrf-param]').attr('content');
7168if(csrf_param&&csrf_token){
7169s.extraData=s.extraData||{};
7170s.extraData[csrf_param]=csrf_token;
7171}
7172function doSubmit(){
7173var t=$form.attr2('target'),
7174a=$form.attr2('action'),
7175mp='multipart/form-data',
7176et=$form.attr('enctype')||$form.attr('encoding')||mp;
7177form.setAttribute('target',id);
7178if(!method||/post/i.test(method)){
7179form.setAttribute('method','POST');
7180}
7181if(a!==s.url){
7182form.setAttribute('action',s.url);
7183}
7184if(!s.skipEncodingOverride&&(!method||/post/i.test(method))){
7185$form.attr({
7186encoding:'multipart/form-data',
7187enctype:'multipart/form-data'
7188});
7189}
7190if(s.timeout){
7191timeoutHandle=setTimeout(function(){
7192timedOut=true;cb(CLIENT_TIMEOUT_ABORT);
7193},s.timeout);
7194}
7195function checkState(){
7196try{
7197var state=getDoc(io).readyState;
7198log('state = '+state);
7199if(state&&state.toLowerCase()==='uninitialized'){
7200setTimeout(checkState,50);
7201}
7202}catch(e){
7203log('Server abort: ',e,' (',e.name,')');
7204cb(SERVER_ABORT);
7205if(timeoutHandle){
7206clearTimeout(timeoutHandle);
7207}
7208timeoutHandle=undefined;
7209}
7210}
7211var extraInputs=[];
7212try{
7213if(s.extraData){
7214for(var n in s.extraData){
7215if(s.extraData.hasOwnProperty(n)){
7216if($.isPlainObject(s.extraData[n])&&s.extraData[n].hasOwnProperty('name')&&s.extraData[n].hasOwnProperty('value')){
7217extraInputs.push(
7218$('<input type="hidden" name="'+s.extraData[n].name+'">',ownerDocument).val(s.extraData[n].value)
7219.appendTo(form)[0]);
7220}else{
7221extraInputs.push(
7222$('<input type="hidden" name="'+n+'">',ownerDocument).val(s.extraData[n])
7223.appendTo(form)[0]);
7224}
7225}
7226}
7227}
7228if(!s.iframeTarget){
7229$io.appendTo($body);
7230}
7231if(io.attachEvent){
7232io.attachEvent('onload',cb);
7233}else{
7234io.addEventListener('load',cb,false);
7235}
7236setTimeout(checkState,15);
7237try{
7238form.submit();
7239}catch(err){
7240var submitFn=document.createElement('form').submit;
7241submitFn.apply(form);
7242}
7243}finally{
7244form.setAttribute('action',a);
7245form.setAttribute('enctype',et);
7246if(t){
7247form.setAttribute('target',t);
7248}else{
7249$form.removeAttr('target');
7250}
7251$(extraInputs).remove();
7252}
7253}
7254if(s.forceSync){
7255doSubmit();
7256}else{
7257setTimeout(doSubmit,10);
7258}
7259var data,doc,domCheckCount=50,callbackProcessed;
7260function cb(e){
7261if(xhr.aborted||callbackProcessed){
7262return;
7263}
7264doc=getDoc(io);
7265if(!doc){
7266log('cannot access response document');
7267e=SERVER_ABORT;
7268}
7269if(e===CLIENT_TIMEOUT_ABORT&&xhr){
7270xhr.abort('timeout');
7271deferred.reject(xhr,'timeout');
7272return;
7273}
7274if(e===SERVER_ABORT&&xhr){
7275xhr.abort('server abort');
7276deferred.reject(xhr,'error','server abort');
7277return;
7278}
7279if(!doc||doc.location.href===s.iframeSrc){
7280if(!timedOut){
7281return;
7282}
7283}
7284if(io.detachEvent){
7285io.detachEvent('onload',cb);
7286}else{
7287io.removeEventListener('load',cb,false);
7288}
7289var status='success',errMsg;
7290try{
7291if(timedOut){
7292throw'timeout';
7293}
7294var isXml=s.dataType==='xml'||doc.XMLDocument||$.isXMLDoc(doc);
7295log('isXml='+isXml);
7296if(!isXml&&window.opera&&(doc.body===null||!doc.body.innerHTML)){
7297if(--domCheckCount){
7298log('requeing onLoad callback, DOM not available');
7299setTimeout(cb,250);
7300return;
7301}
7302}
7303var docRoot=doc.body?doc.body:doc.documentElement;
7304xhr.responseText=docRoot?docRoot.innerHTML:null;
7305xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;
7306if(isXml){
7307s.dataType='xml';
7308}
7309xhr.getResponseHeader=function(header){
7310var headers={'content-type':s.dataType};
7311return headers[header.toLowerCase()];
7312};
7313if(docRoot){
7314xhr.status=Number(docRoot.getAttribute('status'))||xhr.status;
7315xhr.statusText=docRoot.getAttribute('statusText')||xhr.statusText;
7316}
7317var dt=(s.dataType||'').toLowerCase();
7318var scr=/(json|script|text)/.test(dt);
7319if(scr||s.textarea){
7320var ta=doc.getElementsByTagName('textarea')[0];
7321if(ta){
7322xhr.responseText=ta.value;
7323xhr.status=Number(ta.getAttribute('status'))||xhr.status;
7324xhr.statusText=ta.getAttribute('statusText')||xhr.statusText;
7325}else if(scr){
7326var pre=doc.getElementsByTagName('pre')[0];
7327var b=doc.getElementsByTagName('body')[0];
7328if(pre){
7329xhr.responseText=pre.textContent?pre.textContent:pre.innerText;
7330}else if(b){
7331xhr.responseText=b.textContent?b.textContent:b.innerText;
7332}
7333}
7334}else if(dt==='xml'&&!xhr.responseXML&&xhr.responseText){
7335xhr.responseXML=toXml(xhr.responseText);
7336}
7337try{
7338data=httpData(xhr,dt,s);
7339}catch(err){
7340status='parsererror';
7341xhr.error=errMsg=(err||status);
7342}
7343}catch(err){
7344log('error caught: ',err);
7345status='error';
7346xhr.error=errMsg=(err||status);
7347}
7348if(xhr.aborted){
7349log('upload aborted');
7350status=null;
7351}
7352if(xhr.status){
7353status=((xhr.status>=200&&xhr.status<300)||xhr.status===304)?'success':'error';
7354}
7355if(status==='success'){
7356if(s.success){
7357s.success.call(s.context,data,'success',xhr);
7358}
7359deferred.resolve(xhr.responseText,'success',xhr);
7360if(g){
7361$.event.trigger('ajaxSuccess',[xhr,s]);
7362}
7363}else if(status){
7364if(typeof errMsg==='undefined'){
7365errMsg=xhr.statusText;
7366}
7367if(s.error){
7368s.error.call(s.context,xhr,status,errMsg);
7369}
7370deferred.reject(xhr,'error',errMsg);
7371if(g){
7372$.event.trigger('ajaxError',[xhr,s,errMsg]);
7373}
7374}
7375if(g){
7376$.event.trigger('ajaxComplete',[xhr,s]);
7377}
7378if(g&&!--$.active){
7379$.event.trigger('ajaxStop');
7380}
7381if(s.complete){
7382s.complete.call(s.context,xhr,status);
7383}
7384callbackProcessed=true;
7385if(s.timeout){
7386clearTimeout(timeoutHandle);
7387}
7388setTimeout(function(){
7389if(!s.iframeTarget){
7390$io.remove();
7391}else{
7392$io.attr('src',s.iframeSrc);
7393}
7394xhr.responseXML=null;
7395},100);
7396}
7397var toXml=$.parseXML||function(s,doc){
7398if(window.ActiveXObject){
7399doc=new ActiveXObject('Microsoft.XMLDOM');
7400doc.async='false';
7401doc.loadXML(s);
7402}else{
7403doc=(new DOMParser()).parseFromString(s,'text/xml');
7404}
7405return(doc&&doc.documentElement&&doc.documentElement.nodeName!=='parsererror')?doc:null;
7406};
7407var parseJSON=$.parseJSON||function(s){
7408window.console.error('jquery.parseJSON is undefined');
7409return null;
7410};
7411var httpData=function(xhr,type,s){
7412var ct=xhr.getResponseHeader('content-type')||'',
7413xml=((type==='xml'||!type)&&ct.indexOf('xml')>=0),
7414data=xml?xhr.responseXML:xhr.responseText;
7415if(xml&&data.documentElement.nodeName==='parsererror'){
7416if($.error){
7417$.error('parsererror');
7418}
7419}
7420if(s&&s.dataFilter){
7421data=s.dataFilter(data,type);
7422}
7423if(typeof data==='string'){
7424if((type==='json'||!type)&&ct.indexOf('json')>=0){
7425data=parseJSON(data);
7426}else if((type==='script'||!type)&&ct.indexOf('javascript')>=0){
7427$.globalEval(data);
7428}
7429}
7430return data;
7431};
7432return deferred;
7433}
7434};
7435$.fn.ajaxForm=function(options,data,dataType,onSuccess){
7436if(typeof options==='string'||(options===false&&arguments.length>0)){
7437options={
7438'url':options,
7439'data':data,
7440'dataType':dataType
7441};
7442if(typeof onSuccess==='function'){
7443options.success=onSuccess;
7444}
7445}
7446options=options||{};
7447options.delegation=options.delegation&&$.isFunction($.fn.on);
7448if(!options.delegation&&this.length===0){
7449var o={s:this.selector,c:this.context};
7450if(!$.isReady&&o.s){
7451log('DOM not ready, queuing ajaxForm');
7452$(function(){
7453$(o.s,o.c).ajaxForm(options);
7454});
7455return this;
7456}
7457log('terminating; zero elements found by selector'+($.isReady?'':' (DOM not ready)'));
7458return this;
7459}
7460if(options.delegation){
7461$(document)
7462.off('submit.form-plugin',this.selector,doAjaxSubmit)
7463.off('click.form-plugin',this.selector,captureSubmittingElement)
7464.on('submit.form-plugin',this.selector,options,doAjaxSubmit)
7465.on('click.form-plugin',this.selector,options,captureSubmittingElement);
7466return this;
7467}
7468if(options.beforeFormUnbind){
7469options.beforeFormUnbind(this,options);
7470}
7471return this.ajaxFormUnbind()
7472.on('submit.form-plugin',options,doAjaxSubmit)
7473.on('click.form-plugin',options,captureSubmittingElement);
7474};
7475function doAjaxSubmit(e){
7476var options=e.data;
7477if(!e.isDefaultPrevented()){
7478e.preventDefault();
7479$(e.target).closest('form').ajaxSubmit(options);
7480}
7481}
7482function captureSubmittingElement(e){
7483var target=e.target;
7484var $el=$(target);
7485if(!$el.is('[type=submit],[type=image]')){
7486var t=$el.closest('[type=submit]');
7487if(t.length===0){
7488return;
7489}
7490target=t[0];
7491}
7492var form=target.form;
7493form.clk=target;
7494if(target.type==='image'){
7495if(typeof e.offsetX!=='undefined'){
7496form.clk_x=e.offsetX;
7497form.clk_y=e.offsetY;
7498}else if(typeof $.fn.offset==='function'){
7499var offset=$el.offset();
7500form.clk_x=e.pageX-offset.left;
7501form.clk_y=e.pageY-offset.top;
7502}else{
7503form.clk_x=e.pageX-target.offsetLeft;
7504form.clk_y=e.pageY-target.offsetTop;
7505}
7506}
7507setTimeout(function(){
7508form.clk=form.clk_x=form.clk_y=null;
7509},100);
7510}
7511$.fn.ajaxFormUnbind=function(){
7512return this.off('submit.form-plugin click.form-plugin');
7513};
7514$.fn.formToArray=function(semantic,elements,filtering){
7515var a=[];
7516if(this.length===0){
7517return a;
7518}
7519var form=this[0];
7520var formId=this.attr('id');
7521var els=(semantic||typeof form.elements==='undefined')?form.getElementsByTagName('*'):form.elements;
7522var els2;
7523if(els){
7524els=$.makeArray(els);
7525}
7526if(formId&&(semantic||/(Edge|Trident)\//.test(navigator.userAgent))){
7527els2=$(':input[form="'+formId+'"]').get();
7528if(els2.length){
7529els=(els||[]).concat(els2);
7530}
7531}
7532if(!els||!els.length){
7533return a;
7534}
7535if($.isFunction(filtering)){
7536els=$.map(els,filtering);
7537}
7538var i,j,n,v,el,max,jmax;
7539for(i=0,max=els.length;i<max;i++){
7540el=els[i];
7541n=el.name;
7542if(!n||el.disabled){
7543continue;
7544}
7545if(semantic&&form.clk&&el.type==='image'){
7546if(form.clk===el){
7547a.push({name:n,value:$(el).val(),type:el.type});
7548a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
7549}
7550continue;
7551}
7552v=$.fieldValue(el,true);
7553if(v&&v.constructor===Array){
7554if(elements){
7555elements.push(el);
7556}
7557for(j=0,jmax=v.length;j<jmax;j++){
7558a.push({name:n,value:v[j]});
7559}
7560}else if(feature.fileapi&&el.type==='file'){
7561if(elements){
7562elements.push(el);
7563}
7564var files=el.files;
7565if(files.length){
7566for(j=0;j<files.length;j++){
7567a.push({name:n,value:files[j],type:el.type});
7568}
7569}else{
7570a.push({name:n,value:'',type:el.type});
7571}
7572}else if(v!==null&&typeof v!=='undefined'){
7573if(elements){
7574elements.push(el);
7575}
7576a.push({name:n,value:v,type:el.type,required:el.required});
7577}
7578}
7579if(!semantic&&form.clk){
7580var $input=$(form.clk),input=$input[0];
7581n=input.name;
7582if(n&&!input.disabled&&input.type==='image'){
7583a.push({name:n,value:$input.val()});
7584a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
7585}
7586}
7587return a;
7588};
7589$.fn.formSerialize=function(semantic){
7590return $.param(this.formToArray(semantic));
7591};
7592$.fn.fieldSerialize=function(successful){
7593var a=[];
7594this.each(function(){
7595var n=this.name;
7596if(!n){
7597return;
7598}
7599var v=$.fieldValue(this,successful);
7600if(v&&v.constructor===Array){
7601for(var i=0,max=v.length;i<max;i++){
7602a.push({name:n,value:v[i]});
7603}
7604}else if(v!==null&&typeof v!=='undefined'){
7605a.push({name:this.name,value:v});
7606}
7607});
7608return $.param(a);
7609};
7610$.fn.fieldValue=function(successful){
7611for(var val=[],i=0,max=this.length;i<max;i++){
7612var el=this[i];
7613var v=$.fieldValue(el,successful);
7614if(v===null||typeof v==='undefined'||(v.constructor===Array&&!v.length)){
7615continue;
7616}
7617if(v.constructor===Array){
7618$.merge(val,v);
7619}else{
7620val.push(v);
7621}
7622}
7623return val;
7624};
7625$.fieldValue=function(el,successful){
7626var n=el.name,t=el.type,tag=el.tagName.toLowerCase();
7627if(typeof successful==='undefined'){
7628successful=true;
7629}
7630if(successful&&(!n||el.disabled||t==='reset'||t==='button'||
7631(t==='checkbox'||t==='radio')&&!el.checked||
7632(t==='submit'||t==='image')&&el.form&&el.form.clk!==el||
7633tag==='select'&&el.selectedIndex===-1)){
7634return null;
7635}
7636if(tag==='select'){
7637var index=el.selectedIndex;
7638if(index<0){
7639return null;
7640}
7641var a=[],ops=el.options;
7642var one=(t==='select-one');
7643var max=(one?index+1:ops.length);
7644for(var i=(one?index:0);i<max;i++){
7645var op=ops[i];
7646if(op.selected&&!op.disabled){
7647var v=op.value;
7648if(!v){
7649v=(op.attributes&&op.attributes.value&&!(op.attributes.value.specified))?op.text:op.value;
7650}
7651if(one){
7652return v;
7653}
7654a.push(v);
7655}
7656}
7657return a;
7658}
7659return $(el).val().replace(rCRLF,'\r\n');
7660};
7661$.fn.clearForm=function(includeHidden){
7662return this.each(function(){
7663$('input,select,textarea',this).clearFields(includeHidden);
7664});
7665};
7666$.fn.clearFields=$.fn.clearInputs=function(includeHidden){
7667var re=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;
7668return this.each(function(){
7669var t=this.type,tag=this.tagName.toLowerCase();
7670if(re.test(t)||tag==='textarea'){
7671this.value='';
7672}else if(t==='checkbox'||t==='radio'){
7673this.checked=false;
7674}else if(tag==='select'){
7675this.selectedIndex=-1;
7676}else if(t==='file'){
7677if(/MSIE/.test(navigator.userAgent)){
7678$(this).replaceWith($(this).clone(true));
7679}else{
7680$(this).val('');
7681}
7682}else if(includeHidden){
7683if((includeHidden===true&&/hidden/.test(t))||
7684(typeof includeHidden==='string'&&$(this).is(includeHidden))){
7685this.value='';
7686}
7687}
7688});
7689};
7690$.fn.resetForm=function(){
7691return this.each(function(){
7692var el=$(this);
7693var tag=this.tagName.toLowerCase();
7694switch(tag){
7695case'input':
7696this.checked=this.defaultChecked;
7697case'textarea':
7698this.value=this.defaultValue;
7699return true;
7700case'option':
7701case'optgroup':
7702var select=el.parents('select');
7703if(select.length&&select[0].multiple){
7704if(tag==='option'){
7705this.selected=this.defaultSelected;
7706}else{
7707el.find('option').resetForm();
7708}
7709}else{
7710select.resetForm();
7711}
7712return true;
7713case'select':
7714el.find('option').each(function(i){
7715this.selected=this.defaultSelected;
7716if(this.defaultSelected&&!el[0].multiple){
7717el[0].selectedIndex=i;
7718return false;
7719}
7720});
7721return true;
7722case'label':
7723var forEl=$(el.attr('for'));
7724var list=el.find('input,select,textarea');
7725if(forEl[0]){
7726list.unshift(forEl[0]);
7727}
7728list.resetForm();
7729return true;
7730case'form':
7731if(typeof this.reset==='function'||(typeof this.reset==='object'&&!this.reset.nodeType)){
7732this.reset();
7733}
7734return true;
7735default:
7736el.find('form,input,label,select,textarea').resetForm();
7737return true;
7738}
7739});
7740};
7741$.fn.enable=function(b){
7742if(typeof b==='undefined'){
7743b=true;
7744}
7745return this.each(function(){
7746this.disabled=!b;
7747});
7748};
7749$.fn.selected=function(select){
7750if(typeof select==='undefined'){
7751select=true;
7752}
7753return this.each(function(){
7754var t=this.type;
7755if(t==='checkbox'||t==='radio'){
7756this.checked=select;
7757}else if(this.tagName.toLowerCase()==='option'){
7758var $sel=$(this).parent('select');
7759if(select&&$sel[0]&&$sel[0].type==='select-one'){
7760$sel.find('option').selected(false);
7761}
7762this.selected=select;
7763}
7764});
7765};
7766$.fn.ajaxSubmit.debug=false;
7767function log(){
7768if(!$.fn.ajaxSubmit.debug){
7769return;
7770}
7771var msg='[jquery.form] '+Array.prototype.join.call(arguments,'');
7772if(window.console&&window.console.log){
7773window.console.log(msg);
7774}else if(window.opera&&window.opera.postError){
7775window.opera.postError(msg);
7776}
7777}
7778}));
7779
7780
7781/* prive/javascript/jquery.autosave.js?1788354511 */
7782
7783(function($){
7784$.fn.autosave=function(opt){
7785opt=$.extend({
7786url:window.location,
7787confirm:false,
7788confirmstring:'Sauvegarder ?'
7789},opt);
7790var save_changed=function(){
7791$('form.autosavechanged')
7792.each(function(){
7793if(!opt.confirm||confirm(opt.confirmstring)){
7794var contenu=$(this).serialize();
7795var d=new Date();
7796contenu=contenu+"&__timestamp="+Math.round(d.getTime()/1000);
7797$.post(opt.url,{
7798'action':'session',
7799'var':'autosave_'+$('input[name=autosave]',this).val(),
7800'val':contenu
7801});
7802}
7803}).removeClass('autosavechanged');
7804};
7805$(window).on('unload',save_changed);
7806return this
7807.on('keyup',function(){
7808$(this).addClass('autosavechanged');
7809})
7810.on('change',function(){
7811$(this).addClass('autosavechanged');
7812save_changed();
7813})
7814.on('submit',function(){
7815save_changed();
7816});
7817};
7818})(jQuery);
7819
7820
7821/* prive/javascript/jquery.placeholder-label.js?1788354511 */
7822
7823(function($){
7824$.placeholderLabel={
7825placeholder_class:null,
7826add_placeholder:function(){
7827if($(this).val()==$(this).attr('placeholder')){
7828$(this).val('').removeClass($.placeholderLabel.placeholder_class);
7829}
7830},
7831remove_placeholder:function(){
7832if($(this).val()==''){
7833$(this).val($(this).attr('placeholder')).addClass($.placeholderLabel.placeholder_class);
7834}
7835},
7836disable_placeholder_fields:function(){
7837$(this).find("input[placeholder]").each(function(){
7838if($(this).val()==$(this).attr('placeholder')){
7839$(this).val('');
7840}
7841});
7842return true;
7843}
7844};
7845$.fn.placeholderLabel=function(options){
7846var dummy=document.createElement('input');
7847if(dummy.placeholder!=undefined){
7848return this;
7849}
7850var config={
7851placeholder_class:'placeholder'
7852};
7853if(options)$.extend(config,options);
7854$.placeholderLabel.placeholder_class=config.placeholder_class;
7855this.each(function(){
7856var input=$(this);
7857input.focus($.placeholderLabel.add_placeholder);
7858input.blur($.placeholderLabel.remove_placeholder);
7859input.triggerHandler('focus');
7860input.triggerHandler('blur');
7861$(this.form).submit($.placeholderL
7861abel.disable_placeholder_fields);
7862});
7863return this;
7864}
7865})(jQuery);
7866
7867
7868/* prive/javascript/ajaxCallback.js?1788354511 */
7869jQuery.spip=jQuery.spip||{};
7870jQuery.spip.log=function(){
7871if(jQuery.spip.debug&&window.console&&window.console.log)
7872window.console.log.apply(this,arguments);
7873}
7874jQuery.spip.test_espace_prive=function(){
7875if(typeof spipConfig.core.test_espace_prive!=undefined&&spipConfig.core.test_espace_prive){
7876return true;
7877}
7878return false;
7879}
7880if(!jQuery.spip.load_handlers){
7881jQuery.spip.load_handlers=new Array();
7882function onAjaxLoad(f){
7883jQuery.spip.load_handlers.push(f);
7884};
7885jQuery.spip.triggerAjaxLoad=function(root){
7886jQuery.spip.log('triggerAjaxLoad');
7887jQuery.spip.log(root);
7888for(var i=0;i<jQuery.spip.load_handlers.length;i++)
7889jQuery.spip.load_handlers[i].apply(root);
7890};
7891jQuery.spip.intercepted={};
7892jQuery.spip.intercepted.load=jQuery.fn.load;
7893jQuery.fn.load=function(url,params,callback){
7894if(typeof url!=="string"){
7895return jQuery.spip.intercepted.load.apply(this,arguments);
7896}
7897callback=callback||function(){};
7898if(params){
7899if(params.constructor==Function){
7900callback=params;
7901params=null;
7902}
7903}
7904params=jQuery.extend(params,{triggerAjaxLoad:false});
7905var callback2=function(){jQuery.spip.log('jQuery.load');jQuery.spip.triggerAjaxLoad(this);callback.apply(this,arguments);};
7906return jQuery.spip.intercepted.load.apply(this,[url,params,callback2]);
7907};
7908jQuery.spip.intercepted.ajaxSubmit=jQuery.fn.ajaxSubmit;
7909jQuery.fn.ajaxSubmit=function(options){
7910options=options||{};
7911if(typeof options.onAjaxLoad=="undefined"||options.onAjaxLoad!=false){
7912var me=jQuery(this).parents('div.ajax');
7913if(me.length)
7914me=me.parent();
7915else
7916me=document;
7917if(typeof options=='function')
7918options={success:options};
7919var callback=options.success||function(){};
7920options.success=function(){callback.apply(this,arguments);jQuery.spip.log('jQuery.ajaxSubmit');jQuery.spip.triggerAjaxLoad(me);}
7921}
7922return jQuery.spip.intercepted.ajaxSubmit.apply(this,[options]);
7923}
7924jQuery.spip.intercepted.ajax=jQuery.ajax;
7925jQuery.ajax=function(url,settings){
7926if(typeof settings=='undefined'){
7927settings={};
7928if(typeof url=='object'){
7929settings=url;
7930url=null;
7931}
7932}
7933if(typeof url=='string'){
7934settings['url']=url;
7935}
7936if(settings.data&&settings.data['triggerAjaxLoad']===false){
7937settings.data['triggerAjaxLoad']=null;
7938return jQuery.spip.intercepted.ajax(settings);
7939}
7940var s=jQuery.extend(true,{},jQuery.ajaxSettings,settings);
7941var callbackContext=s.context||s;
7942try{
7943if(jQuery.ajax.caller==jQuery.spip.intercepted.load||jQuery.ajax.caller==jQuery.spip.intercepted.ajaxSubmit)
7944return jQuery.spip.intercepted.ajax(settings);
7945}
7946catch(err){}
7947var orig_complete=s.complete||function(){};
7948settings.complete=function(res,status){
7949var dataType=settings.dataType;
7950var ct=(res&&(typeof res.getResponseHeader=='function'))
7951?res.getResponseHeader("content-type"):'';
7952var xml=!dataType&&ct&&ct.indexOf("xml")>=0;
7953orig_complete.call(callbackContext,res,status);
7954if((!dataType&&!xml)||dataType=="html"){
7955jQuery.spip.log('jQuery.ajax');
7956if(typeof s.onAjaxLoad=="undefined"||s.onAjaxLoad!=false)
7957jQuery.spip.triggerAjaxLoad(s.ajaxTarget?s.ajaxTarget:document);
7958}
7959};
7960return jQuery.spip.intercepted.ajax(settings);
7961};
7962}
7963jQuery.uaMatch=function(ua){
7964ua=ua.toLowerCase();
7965var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||
7966ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||
7967[];
7968return{
7969browser:match[1]||"",
7970version:match[2]||"0"
7971};
7972};
7973if(!jQuery.browser){
7974matched=jQuery.uaMatch(navigator.userAgent);
7975browser={};
7976if(matched.browser){
7977browser[matched.browser]=true;
7978browser.version=matched.version;
7979}
7980if(browser.chrome){
7981browser.webkit=true;
7982}else if(browser.webkit){
7983browser.safari=true;
7984}
7985jQuery.browser=browser;
7986}
7987jQuery.getScript=function(url,callback){
7988return $.ajax({
7989url:url,
7990dataType:"script",
7991success:callback,
7992cache:true
7993});
7994}
7995jQuery.fn.positionner=function(force,setfocus){
7996if(!this.length){
7997return this;
7998}
7999var offset=jQuery(this).offset();
8000var hauteur=parseInt(jQuery(this).css('height'));
8001var marge=jQuery.spip.positionner_marge||5;
8002var scrolltop=self['pageYOffset']||
8003jQuery.boxModel&&document.documentElement['scrollTop']||
8004document.body['scrollTop'];
8005var h=jQuery(window).height();
8006var scroll=0;
8007if(force||(offset&&offset['top']-marge<=scrolltop)){
8008scroll=offset['top']-marge;
8009}
8010else if(offset&&offset['top']+hauteur-h+marge>scrolltop){
8011scroll=Math.min(offset['top']-marge-15,offset['top']+hauteur-h+40);
8012}
8013if(scroll)
8014jQuery('html,body')
8015.animate({scrollTop:scroll},300);
8016if(setfocus!==false)
8017jQuery(jQuery('*',this).filter('input[type=text],textarea')[0]).focus();
8018return this;
8019}
8020jQuery.spip.virtualbuffer_id='spip_virtualbufferupdate';
8021jQuery.spip.initReaderBuffer=function(){
8022if(jQuery('#'+jQuery.spip.virtualbuffer_id).length)return;
8023jQuery('body').append('<div style="float:left;width:0;height:0;position:absolute;left:-5000px;top:-5000px;"><input type="hidden" name="'+jQuery.spip.virtualbuffer_id+'" id="'+jQuery.spip.virtualbuffer_id+'" value="0"></div>');
8024}
8025jQuery.spip.updateReaderBuffer=function(){
8026var i=jQuery('#'+jQuery.spip.virtualbuffer_id);
8027if(!i.length)return;
8028i.val(parseInt(i.val())+1);
8029}
8030jQuery.fn.formulaire_setContainer=function(){
8031if(!this.closest('.ajax-form-container').length){
8032this.find('script').remove();
8033var aria=this.data('aria');
8034var $container=jQuery('<div class="ajax-form-container"></div>');
8035if(aria&&typeof aria==='object'){
8036for(var i in aria){
8037$container=$container.attr(i,aria[i]);
8038}
8039}
8040else{
8041aria=false;
8042}
8043this.wrap($container);
8044if(aria){
8045jQuery('form',this).not('[aria-live]').attr('aria-live','off');
8046}
8047}
8048return this;
8049}
8050jQuery.fn.formulaire_dyn_ajax=function(target){
8051if(this.length)
8052jQuery.spip.initReaderBuffer();
8053return this.each(function(){
8054var scrollwhensubmit=!jQuery(this).is('.noscroll');
8055var cible=target||this;
8056jQuery(cible).formulaire_setContainer();
8057jQuery('form:not(.noajax):not(.bouton_action_post)',this).each(function(){
8058var leform=this;
8059var leclk,leclk_x,leclk_y;
8060var onError=function(xhr,status,error,$form){
8061jQuery(leform).ajaxFormUnbind().find('input[name="var_ajax"]').remove();
8062var msg="Erreur";
8063if(typeof(error_on_ajaxform)!=="undefined")msg=error_on_ajaxform;
8064jQuery(leform).prepend("<p class='error ajax-error none'>"+msg+"</p>").find('.ajax-error').show('fast');
8065jQuery(cible).closest('.ajax-form-container').endLoading(true);
8066}
8067jQuery(this).prepend("<input type='hidden' name='var_ajax' value='form'>")
8068.ajaxForm({
8069beforeSubmit:function(){
8070leclk=leform.clk;
8071var scrollwhensubmit_button=true;
8072if(leclk){
8073scrollwhensubmit_button=!jQuery(leclk).is('.noscroll');
8074var n=leclk.name;
8075if(n&&!leclk.disabled&&leclk.type==="image"){
8076leclk_x=leform.clk_x;
8077leclk_y=leform.clk_y;
8078}
8079}
8080jQuery(cible).wrap('<div />');
8081cible=jQuery(cible).parent();
8082jQuery(cible).closest('.ajax-form-container').animateLoading();
8083if(scrollwhensubmit&&scrollwhensubmit_button){
8084jQuery(cible).positionner(false,false);
8085}
8086},
8087error:onError,
8088success:function(c,status,xhr,$form){
8089if(c.match(/^\s*noajax\s*$/)){
8090jQuery("input[name=var_ajax]",leform).remove();
8091if(leclk){
8092var n=leclk.name;
8093if(n&&!leclk.disabled){
8094jQuery(leform).prepend("<input type='hidden' name='"+n+"' value='"+leclk.value+"'>");
8095if(leclk.type==="image"){
8096jQuery(leform).prepend("<input type='hidden' name='"+n+".x' value='"+leform.clk_x+"'>");
8097jQuery(leform).prepend("<input type='hidden' name='"+n+".y' value='"+leform.clk_y+"'>");
8098}
8099}
8100}
8101jQuery(leform).ajaxFormUnbind().closest('.formulaire_spip').addClass('resubmit-noajax');
8102try{
8103leform.submit();
8104}catch(err){
8105var submitFn=document.createElement('form').submit;
8106submitFn.apply(leform);
8107}
8108}
8109else{
8110if(!c.length||c.indexOf("ajax-form-is-ok")==-1)
8111return onError.apply(this,[status,xhr,$form]);
8112var preloaded=jQuery.spip.preloaded_urls;
8113jQuery.spip.preloaded_urls={};
8114jQuery(cible).html(c);
8115var a=jQuery('a:first',cible).eq(0);
8116var d=jQuery('div.ajax',cible);
8117if(!d.length){
8118jQuery(cible).addClass('ajax');
8119if(!scrollwhensubmit)
8120jQuery(cible).addClass('noscroll');
8121}
8122else{
8123d.siblings('br.bugajaxie').remove();
8124cible=jQuery(":first",cible);
8125cible.unwrap();
8126}
8127if(a.length
8128&&a.is('a[name=ajax_ancre]')
8129&&jQuery(a.attr('href'),cible).length){
8130a=a.attr('href');
8131if(jQuery(a,cible).length)
8132setTimeout(function(){
8133jQuery(a,cible).positionner(false);
8134},10);
8135jQuery(cible).closest('.ajax-form-container').endLoading(true);
8136}
8137else{
8138if(a.length&&a.is('a[name=ajax_redirect]')){
8139a=a.get(0).href;
8140setTimeout(function(){
8141var cur=window.location.href.split('#');
8142document.location.replace(a);
8143if(cur[0]==a.split('#')[0]){
8144window.location.reload();
8145}
8146},10);
8147jQuery(cible).closest('.ajax-form-container').animateLoading();
8148}
8149else{
8150jQuery(cible).closest('.ajax-form-container').endLoading(true);
8151}
8152}
8153if(!jQuery('.reponse_formulaire_ok',cible).length)
8154jQuery.spip.preloaded_urls=preloaded;
8155jQuery.spip.updateReaderBuffer();
8156}
8157}
8158})
8159.addClass('noajax hasajax');
8160});
8161});
8162}
8163jQuery.fn.formulaire_verifier=function(callback,champ){
8164var erreurs={'message_erreur':'form non ajax'};
8165var me=this;
8166if(jQuery(me).closest('.ajax-form-container').attr('aria-busy')!='true'){
8167if(jQuery(me).is('form.hasajax')){
8168jQuery(me).ajaxSubmit({
8169dataType:"json",
8170data:{formulaire_action_verifier_json:true},
8171success:function(errs){
8172var args=[errs,champ]
8173if(jQuery(me).closest('.ajax-form-container').attr('aria-busy')!='true')
8174callback.apply(me,args);
8175}
8176});
8177}
8178else
8179callback.apply(me,[erreurs,champ]);
8180}
8181return this;
8182}
8183jQuery.fn.formulaire_activer_verif_auto=function(callback){
8184callback=callback||formulaire_actualiser_erreurs;
8185var me=jQuery(this).closest('.ajax-form-container');
8186var check=function(){
8187var name=jQuery(this).attr('name');
8188setTimeout(function(){me.find('form').formulaire_verifier(callback,name);},50);
8189}
8190var activer=function(){
8191if(me.find('form').attr('data-verifjson')!='on'){
8192me
8193.find('form')
8194.attr('data-verifjson','on')
8195.find('input,select,textarea')
8196.on('change',check);
8197}
8198}
8199jQuery(activer);
8200onAjaxLoad(function(){setTimeout(activer,150);});
8201}
8202function formulaire_actualiser_erreurs(erreurs){
8203var parent=jQuery(this).closest('.formulaire_spip');
8204if(!parent.length)return;
8205parent.find('.reponse_formulaire,.erreur_message').fadeOut().remove();
8206parent.find('.erreur').removeClass('erreur');
8207if(erreurs['message_ok'])
8208parent.find('form').before('<p class="reponse_formulaire reponse_formulaire_ok">'+erreurs['message_ok']+'</p>');
8209if(erreurs['message_erreur'])
8210parent.find('form').before('<p class="reponse_formulaire reponse_formulaire_erreur">'+erreurs['message_erreur']+'</p>');
8211for(var k in erreurs){
8212var saisie=parent.find('.editer_'+k);
8213if(saisie.length){
8214saisie.addClass('erreur');
8215saisie.find('label').after('<span class="erreur_message">'+erreurs[k]+'</span>');
8216}
8217}
8218}
8219var ajax_confirm=true;
8220var ajax_confirm_date=0;
8221var spip_confirm=window.confirm;
8222function _confirm(message){
8223ajax_confirm=spip_confirm(message);
8224if(!ajax_confirm){
8225var d=new Date();
8226ajax_confirm_date=d.getTime();
8227}
8228return ajax_confirm;
8229}
8230window.confirm=_confirm;
8231var ajaxbloc_selecteur;
8232jQuery.spip.preloaded_urls={};
8233jQuery.spip.on_ajax_loaded=function(blocfrag,c,href,history){
8234history=history||(history==null);
8235if(typeof href==undefined||href==null)
8236history=false;
8237if(history)
8238jQuery.spip.setHistoryState(blocfrag);
8239if(jQuery(blocfrag).attr('data-loaded-callback')){
8240var callback=eval(jQuery(blocfrag).attr('data-loaded-callback'));
8241callback.call(blocfrag,c,href,history);
8242}
8243else{
8244jQuery(blocfrag)
8245.html(c)
8246.endLoading();
8247}
8248if(typeof href!=undefined)
8249jQuery(blocfrag).attr('data-url',href);
8250if(history){
8251var href_history=href;
8252if(href_history.indexOf('var_nullify')!==-1){
8253href_history=parametre_url(href_history,'var_nullify','');
8254}
8255jQuery.spip.pushHistoryState(href_history);
8256jQuery.spip.setHistoryState(blocfrag);
8257}
8258var a=jQuery('a:first',jQuery(blocfrag)).eq(0);
8259if(a.length
8260&&a.is('a[name=ajax_ancre]')
8261&&jQuery(a.attr('href'),blocfrag).length){
8262a=a.attr('href');
8263jQuery(a,blocfrag).positionner(false);
8264}
8265jQuery.spip.log('on_ajax_loaded');
8266jQuery.spip.triggerAjaxLoad(blocfrag);
8267a=jQuery(blocfrag).parents('form.hasajax')
8268if(a.length)
8269a.eq(0).removeClass('noajax').parents('div.ajax').formulaire_dyn_ajax();
8270jQuery.spip.updateReaderBuffer();
8271}
8272jQuery.spip.on_ajax_failed=function(blocfrag,statusCode,href,history){
8273jQuery(blocfrag).addClass('invalid');
8274jQuery.spip.log("Echec AJAX statusCode "+statusCode)
8275history=history||(history==null);
8276if(history){
8277if(jQuery.spip.debug){
8278jQuery.spip.log("On redirige sur sur "+href)
8279}
8280else{
8281window.location.href=href;
8282}
8283}
8284}
8285jQuery.spip.stateId=0;
8286jQuery.spip.setHistoryState=function(blocfrag){
8287if(!window.history.replaceState)return;
8288if(!blocfrag.attr('id')){
8289while(jQuery('#ghsid'+jQuery.spip.stateId).length)
8290jQuery.spip.stateId++;
8291blocfrag.attr('id','ghsid'+jQuery.spip.stateId);
8292}
8293var href=blocfrag.attr('data-url')||blocfrag.attr('data-origin');
8294href=jQuery("<"+"a href='"+href+"'></a>").get(0).href;
8295var state={
8296id:blocfrag.attr('id'),
8297href:href
8298};
8299var ajaxid=blocfrag.attr('class').match(/\bajax-id-[\w-]+\b/);
8300if(ajaxid&&ajaxid.length)
8301state["ajaxid"]=ajaxid[0];
8302window.history.replaceState(state,window.document.title,window.document.location);
8303}
8304jQuery.spip.pushHistoryState=function(href,title){
8305if(!window.history.pushState)
8306return false;
8307window.history.pushState({},title,href);
8308}
8309window.onpopstate=function(popState){
8310if(popState.state&&popState.state.href){
8311var blocfrag=false;
8312if(popState.state.id){
8313blocfrag=jQuery('#'+popState.state.id);
8314}
8315if((!blocfrag||!blocfrag.length)&&popState.state.ajaxid){
8316blocfrag=jQuery('.ajaxbloc.'+popState.state.ajaxid);
8317}
8318if(blocfrag&&blocfrag.length==1){
8319jQuery.spip.ajaxClick(blocfrag,popState.state.href,{history:false});
8320return true;
8321}
8322else{
8323window.location.href=popState.state.href;
8324}
8325}
8326}
8327jQuery.spip.loadAjax=function(blocfrag,url,href,options){
8328var force=options.force||false;
8329if(jQuery(blocfrag).attr('data-loading-callback')){
8330var callback=eval(jQuery(blocfrag).attr('data-loading-callback'));
8331callback.call(blocfrag,url,href,options);
8332}
8333else{
8334jQuery(blocfrag).animateLoading();
8335}
8336if(jQuery.spip.preloaded_urls[url]&&!force){
8337if(jQuery.spip.preloaded_urls[url]=="<!--loading-->"){
8338setTimeout(function(){jQuery.spip.loadAjax(blocfrag,url,href,options);},100);
8339return;
8340}
8341jQuery.spip.on_ajax_loaded(blocfrag,jQuery.spip.preloaded_urls[url],href,options.history);
8342}else{
8343var d=new Date();
8344jQuery.spip.preloaded_urls[url]="<!--loading-->";
8345jQuery.ajax({
8346url:parametre_url(url,'var_t',d.getTime()),
8347onAjaxLoad:false,
8348success:function(c){
8349jQuery.spip.on_ajax_loaded(blocfrag,c,href,options.history);
8350jQuery.spip.preloaded_urls[url]=c;
8351if(options.callback&&typeof options.callback=="function")
8352options.callback.apply(blocfrag);
8353},
8354error:function(e){
8355jQuery.spip.preloaded_urls[url]='';
8356jQuery.spip.on_ajax_failed(blocfrag,e.status,href,options.history);
8357}
8358});
8359}
8360}
8361jQuery.spip.makeAjaxUrl=function(href,ajax_env,origin){
8362var url=href.split('#');
8363url[0]=parametre_url(url[0],'var_ajax',1);
8364url[0]=parametre_url(url[0],'var_ajax_env',ajax_env);
8365if(origin){
8366if(origin.indexOf('var_nullify')!==-1){
8367origin=parametre_url(origin,'var_nullify','');
8368}
8369var p=origin.indexOf('?');
8370var nullify=[];
8371if(p!==-1){
8372var args=origin.substring(p+1).split('&');
8373var val;
8374var arg;
8375for(var n=0;n<args.length;n++){
8376arg=args[n].split('=');
8377arg=decodeURIComponent(arg[0]);
8378p=arg.indexOf('[');
8379if(p!==-1)
8380arg=arg.substring(0,p);
8381val=parametre_url(href,arg);
8382if((typeof val=="undefined"||val==null)&&nullify.indexOf(arg)===-1){
8383nullify.push(arg);
8384}
8385}
8386if(nullify.length){
8387url[0]=url[0]+'&'+'var_nullify='+encodeURIComponent(nullify.join('|'));
8388}
8389}
8390}
8391if(url[1])
8392url[0]=parametre_url(url[0],'var_ajax_ancre',url[1]);
8393return url[0];
8394}
8395jQuery.spip.ajaxReload=function(blocfrag,options){
8396var ajax_env=blocfrag.attr('data-ajax-env');
8397if(!ajax_env||ajax_env==undefined)return;
8398var href=options.href||blocfrag.attr('data-url')||blocfrag.attr('data-origin');
8399if(href&&typeof href!=undefined){
8400if(href.indexOf('var_nullify')!==-1){
8401href=parametre_url(href,'var_nullify','');
8402}
8403options=options||{};
8404var callback=options.callback||null;
8405var history=options.history||false;
8406var args=options.args||{};
8407for(var key in args){
8408href=parametre_url(href,key,args[key]==undefined?'':args[key],'&',args[key]==undefined?false:true);
8409}
8410var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
8411jQuery.spip.loadAjax(blocfrag,url,href,{force:true,callback:callback,history:history});
8412return true;
8413}
8414}
8415jQuery.spip.ajaxClick=function(blocfrag,href,options){
8416var ajax_env=blocfrag.attr('data-ajax-env');
8417if(!ajax_env||ajax_env==undefined)return;
8418if(!ajax_confirm){
8419ajax_confirm=true;
8420var d=new Date();
8421if((d.getTime()-ajax_confirm_date)<=2)
8422return false;
8423}
8424var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
8425jQuery.spip.loadAjax(blocfrag,url,href,options);
8426return false;
8427}
8428jQuery.fn.ajaxbloc=function(){
8429if(this.length)
8430jQuery.spip.initReaderBuffer();
8431if(ajaxbloc_selecteur==undefined)
8432ajaxbloc_selecteur='.pagination a,a.ajax';
8433return this.each(function(){
8434jQuery('div.ajaxbloc',this).ajaxbloc();
8435var blocfrag=jQuery(this);
8436var ajax_env=blocfrag.attr('data-ajax-env');
8437if(!ajax_env||ajax_env==undefined)return;
8438blocfrag.not('.bind-ajaxReload').on('ajaxReload',function(event,options){
8439if(jQuery.spip.ajaxReload(blocfrag,options))
8440event.stopPropagation();
8441}).addClass('bind-ajaxReload');
8442jQuery(ajaxbloc_selecteur,this).not('.noajax,.bind-ajax')
8443.click(function(){return jQuery.spip.ajaxClick(blocfrag,this.href,{force:jQuery(this).is('.nocache'),history:!(jQuery(this).is('.nohistory')||jQuery(this).closest('.box_modalbox').length)});})
8444.addClass('bind-ajax')
8445.filter('.preload').each(function(){
8446var href=this.href;
8447var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
8448if(!jQuery.spip.preloaded_urls[url]){
8449jQuery.spip.preloaded_urls[url]='<!--loading-->';
8450jQuery.ajax({url:url,onAjaxLoad:false,success:function(r){jQuery.spip.preloaded_urls[url]=r;},error:function(){jQuery.spip.preloaded_urls[url]='';}});
8451}
8452});
8453jQuery('form.bouton_action_post.ajax',this).not('.noajax,.bind-ajax').each(function(){
8454var leform=this;
8455var url=jQuery(this).attr('action').split('#');
8456var scrollwhensubmit=(!jQuery(this).is('.noscroll')&&!jQuery('.submit',this).is('.noscroll'));
8457jQuery(this)
8458.prepend("<input type='hidden' name='var_ajax' value='1'><input type='hidden' name='var_ajax_env' value='"+(ajax_env)+"'>"+(url[1]?"<input type='hidden' name='var_ajax_ancre' value='"+url[1]+"'>":""))
8459.ajaxForm({
8460beforeSubmit:function(){
8461jQuery(blocfrag).animateLoading();
8462if(scrollwhensubmit){
8463jQuery(blocfrag).positionner(false);
8464}
8465},
8466onAjaxLoad:false,
8467success:function(c){
8468jQuery.spip.on_ajax_loaded(blocfrag,c);
8469jQuery.spip.preloaded_urls={};
8470},
8471error:function(e){
8472jQuery.spip.preloaded_urls={};
8473var href=parametre_url(url,'redirect');
8474if(!href){
8475href=window.location.href;
8476}
8477jQuery.spip.on_ajax_failed(blocfrag,e.status,href,e.status===400);
8478}
8479})
8480.addClass('bind-ajax');
8481});
8482});
8483};
8484jQuery.fn.followLink=function(){
8485$(this).click();
8486if(!$(this).is('.bind-ajax'))
8487window.location.href=$(this).get(0).href;
8488return this;
8489}
8490function ajaxReload(ajaxid,options){
8491jQuery('div.ajaxbloc.ajax-id-'+ajaxid).ajaxReload(options);
8492}
8493jQuery.fn.ajaxReload=function(options){
8494options=options||{};
8495jQuery(this).trigger('ajaxReload',[options]);
8496return this;
8497}
8498jQuery.fn.animateLoading=function(){
8499this.attr('aria-busy','true').addClass('loading').children().css('opacity',0.5);
8500if(typeof ajax_image_searching!='undefined'){
8501var i=(this).find('.image_loading');
8502if(i.length)i.eq(0).html(ajax_image_searching);
8503else this.prepend('<span class="image_loading">'+ajax_image_searching+'</span>');
8504}
8505return this;
8506}
8507jQuery.fn.animeajax=jQuery.fn.animateLoading;
8508jQuery.fn.endLoading=function(hard){
8509hard=hard||false;
8510this.attr('aria-busy','false').removeClass('loading');
8511if(hard){
8512this.children().css('opacity','');
8513this.find('.image_loading').html('');
8514}
8515return this;
8516}
8517jQuery.fn.animateRemove=function(callback){
8518if(this.length){
8519var me=this;
8520var color=$("<div class='remove'></div>").css('background-color');
8521var sel=$(this);
8522if(sel.is('tr'))
8523sel=sel.add('>td',sel);
8524sel.addClass('remove').css({backgroundColor:color}).animate({opacity:"0.0"},'fast',function(){
8525sel.removeClass('remove').css({backgroundColor:''});
8526if(callback)
8527callback.apply(me);
8528});
8529}
8530return this;
8531}
8532jQuery.fn.animateAppend=function(callback){
8533if(this.length){
8534var me=this;
8535var color=$("<div class='append'></div>").css('background-color');
8536var origin=$(this).css('background-color')||'#ffffff';
8537if(origin=='transparent')origin='#ffffff';
8538var sel=$(this);
8539if(sel.is('tr'))
8540sel=sel.add('>td',sel);
8541sel.css('opacity','0.0').addClass('append').css({backgroundColor:color}).animate({opacity:"1.0"},1000,function(){
8542sel.animate({backgroundColor:origin},3000,function(){
8543sel.removeClass('append').css({backgroundColor:''});
8544if(callback)
8545callback.apply(me);
8546});
8547});
8548}
8549return this;
8550}
8551function parametre_url(url,c,v,sep,force_vide){
8552if(typeof(url)=='undefined'){
8553url='';
8554}
8555var p;
8556var ancre='';
8557var a='./';
8558var args=[];
8559p=url.indexOf('#');
8560if(p!=-1){
8561ancre=url.substring(p);
8562url=url.substring(0,p);
8563}
8564p=url.indexOf('?');
8565if(p!==-1){
8566if(p>0)a=url.substring(0,p);
8567args=url.substring(p+1).split('&');
8568}
8569else
8570a=url;
8571var regexp=new RegExp('^('+c.replace('[]','\\[\\]')+'\\[?\\]?)(=.*)?$');
8572var ajouts=[];
8573var u=(typeof(v)!=='object')?encodeURIComponent(v):v;
8574var na=[];
8575var v_read=null;
8576for(var n=0;n<args.length;n++){
8577var val=args[n];
8578try{
8579val=decodeURIComponent(val);
8580}catch(e){}
8581var r=val.match(regexp);
8582if(r&&r.length){
8583if(v==null){
8584if(r[1].substr(-2)=='[]'){
8585if(!v_read)v_read=[];
8586v_read.push((r.length>2&&typeof r[2]!=='undefined')?r[2].substring(1):'');
8587}
8588else{
8589return(r.length>2&&typeof r[2]!=='undefined')?r[2].substring(1):'';
8590}
8591}
8592else if(!v.length){
8593}
8594else if(r[1].substr(-2)!='[]'){
8595na.push(r[1]+'='+u);
8596ajouts.push(r[1]);
8597}
8598}
8599else
8600na.push(args[n]);
8601}
8602if(v==null)return v_read;
8603if(v||v.length||force_vide){
8604ajouts="="+ajouts.join("=")+"=";
8605var all=c.split('|');
8606for(n=0;n<all.length;n++){
8607if(ajouts.search("="+all[n]+"=")==-1){
8608if(typeof(v)!=='object'){
8609na.push(all[n]+'='+u);
8610}
8611else{
8612var id=((all[n].substring(-2)=='[]')?all[n]:all[n]+"[]");
8613for(p=0;p<v.length;p++)
8614na.push(id+'='+encodeURIComponent(v[p]));
8615}
8616}
8617}
8618}
8619if(na.length){
8620if(!sep)sep='&';
8621a=a+"?"+na.join(sep);
8622}
8623return a+ancre;
8624}
8625function spip_logo_survol_hover(){
8626var me=jQuery(this);
8627if(me.attr('data-src-hover')){
8628me.attr('data-src-original',me.attr('src'));
8629me.attr('src',me.attr('data-src-hover'));
8630}
8631}
8632function spip_logo_survol_out(){
8633var me=jQuery(this);
8634if(me.attr('data-src-original')){
8635me.attr('src',me.attr('data-src-original'));
8636}
8637}
8638function disableClickAfterFormSubmit(){
8639if(jQuery(this).is('.processing-submitted-form')){
8640return false;
8641}
8642jQuery(this)
8643.addClass('processing-submitted-form')
8644.find('button[type="submit"]')
8645.attr('disabled','disabled')
8646.addClass('disabled')
8647}
8648function puce_enable_survol(){
8649jQuery('span.puce_objet_popup a',this).not('.puce-survol-enabled').click(function(){
8650selec_statut(jQuery(this).attr('data-puce-id'),jQuery(this).attr('data-puce-type'),jQuery(this).attr('data-puce-decal'),jQuery('img',this).attr('src'),jQuery(this).attr('data-puce-action'));
8651return false;
8652}).addClass('puce-survol-enabled');
8653jQuery('span.puce_objet',this).not('.puce-survol-enabled').mouseover(function(){
8654if(!this.puce_loaded){
8655this.puce_loaded=true;prepare_selec_statut(this,jQuery(this).attr('data-puce-nom'),jQuery(this).attr('data-puce-type'),jQuery(this).attr('data-puce-id'),jQuery(this).attr('data-puce-action'));
8656}
8657}).addClass('puce-survol-enabled');
8658}
8659if(!window.var_zajax_content)
8660window.var_zajax_content='contenu';
8661jQuery(function(){
8662jQuery('form:not(.bouton_action_post)').parents('div.ajax')
8663.formulaire_dyn_ajax();
8664jQuery('div.ajaxbloc').ajaxbloc();
8665jQuery("input[placeholder]:text").placeholderLabel();
8666jQuery('.spip_logo_survol').hover(spip_logo_survol_hover,spip_logo_survol_out);
8667puce_enable_survol.apply(this);
8668jQuery('body').on('submit','form.bouton_action_post',disableClickAfterFormSubmit);
8669});
8670onAjaxLoad(function(){
8671if(jQuery){
8672jQuery('form:not(.bouton_action_post)',this).parents('div.ajax')
8673.formulaire_dyn_ajax();
8674if(jQuery(this).is('div.ajaxbloc'))
8675jQuery(this).ajaxbloc();
8676else if(jQuery(this).closest('div.ajaxbloc').length)
8677jQuery(this).closest('div.ajaxbloc').ajaxbloc();
8678else
8679jQuery('div.ajaxbloc',this).ajaxbloc();
8680jQuery("input[placeholder]:text",this).placeholderLabel();
8681jQuery('.spip_logo_survol',this).hover(spip_logo_survol_hover,spip_logo_survol_out);
8682puce_enable_survol.apply(this);
8683}
8684});
8685
8686
8687/* prive/javascript/js.cookie.js?1788354511 */
8688
8689;
8690(function(global,factory){
8691typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():
8692typeof define==='function'&&define.amd?define(factory):
8693(global=typeof globalThis!=='undefined'?globalThis:global||self,(function(){
8694var current=global.Cookies;
8695var exports=global.Cookies=factory();
8696exports.noConflict=function(){global.Cookies=current;return exports;};
8697})());
8698})(this,(function(){'use strict';
8699function assign(target){
8700for(var i=1;i<arguments.length;i++){
8701var source=arguments[i];
8702for(var key in source){
8703target[key]=source[key];
8704}
8705}
8706return target
8707}
8708var defaultConverter={
8709read:function(value){
8710if(value[0]==='"'){
8711value=value.slice(1,-1);
8712}
8713return value.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)
8714},
8715write:function(value){
8716return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
8717decodeURIComponent
8718)
8719}
8720};
8721function init(converter,defaultAttributes){
8722function set(name,value,attributes){
8723if(typeof document==='undefined'){
8724return
8725}
8726attributes=assign({},defaultAttributes,attributes);
8727if(typeof attributes.expires==='number'){
8728attributes.expires=new Date(Date.now()+attributes.expires*864e5);
8729}
8730if(attributes.expires){
8731attributes.expires=attributes.expires.toUTCString();
8732}
8733name=encodeURIComponent(name)
8734.replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent)
8735.replace(/[()]/g,escape);
8736var stringifiedAttributes='';
8737for(var attributeName in attributes){
8738if(!attributes[attributeName]){
8739continue
8740}
8741stringifiedAttributes+='; '+attributeName;
8742if(attributes[attributeName]===true){
8743continue
8744}
8745stringifiedAttributes+='='+attributes[attributeName].split(';')[0];
8746}
8747return(document.cookie=
8748name+'='+converter.write(value,name)+stringifiedAttributes)
8749}
8750function get(name){
8751if(typeof document==='undefined'||(arguments.length&&!name)){
8752return
8753}
8754var cookies=document.cookie?document.cookie.split('; '):[];
8755var jar={};
8756for(var i=0;i<cookies.length;i++){
8757var parts=cookies[i].split('=');
8758var value=parts.slice(1).join('=');
8759try{
8760var found=decodeURIComponent(parts[0]);
8761jar[found]=converter.read(value,found);
8762if(name===found){
8763break
8764}
8765}catch(e){}
8766}
8767return name?jar[name]:jar
8768}
8769return Object.create(
8770{
8771set,
8772get,
8773remove:function(name,attributes){
8774set(
8775name,
8776'',
8777assign({},attributes,{
8778expires:-1
8779})
8780);
8781},
8782withAttributes:function(attributes){
8783return init(this.converter,assign({},this.attributes,attributes))
8784},
8785withConverter:function(converter){
8786return init(assign({},this.converter,converter),this.attributes)
8787}
8788},
8789{
8790attributes:{value:Object.freeze(defaultAttributes)},
8791converter:{value:Object.freeze(converter)}
8792}
8793)
8794}
8795var api=init(defaultConverter,{path:'/'});
8796return api;
8797}));
8798
8799
8800/* plugins-dist/bigup/javascript/bigup.utils.js?1788354511 */
8801
8802function _T(code,contexte){
8803return Trads.traduire(code,contexte);
8804}
8805function Traductions(){
8806this.modules={};
8807};
8808Traductions.prototype={
8809set:function(module,couples_cle_traduction){
8810this.modules[module]=$.extend(this.modules[module]||{},couples_cle_traduction);
8811},
8812get:function(module,code,contexte){
8813if(typeof this.modules[module]==='undefined'){
8814return'';
8815}
8816if(typeof this.modules[module][code]==='undefined'){
8817return'';
8818}
8819var texte=this.modules[module][code];
8820$.each(contexte,function(cle,val){
8821texte=texte.replace('@'+cle+'@',val);
8822});
8823return texte;
8824},
8825traduire:function(code,contexte){
8826var desc=this.trouver_module_et_code(code);
8827return this.get(desc.module,desc.code,contexte)||code;
8828},
8829trouver_module_et_code:function(code){
8830var list=code.split(':',2);
8831var module=list.shift();
8832var cle=list.shift();
8833if(cle){
8834return{module:module,code:cle};
8835}
8836return{module:'spip',cle:module};
8837},
8838singulier_ou_pluriel:function(nb,code_singulier,code_pluriel){
8839return parseInt(nb,10)===1
8840?this.traduire(code_singulier)
8841:this.traduire(code_pluriel,{nb:nb});
8842}
8843};
8844Trads=new Traductions();
8845$.enlever_ancre=function(url){
8846var p=url.indexOf('#');
8847if(p!==-1){
8848url=url.substring(0,p);
8849}
8850return url;
8851};
8852$.nom2classe=function(nom){
8853return nom.replace(/\/|\[|&#91/g,'_').replace(/\]|&#93/g,'');
8854};
8855$.taille_en_octets=function(taille){
8856var ko=1024;
8857if(taille<ko){
8858return _T('unites:taille_octets',{taille:taille});
8859}else if(taille<ko*ko){
8860return _T('unites:taille_ko',{taille:Math.round(taille/ko*10)/10});
8861}else if(taille<ko*ko*ko){
8862return _T('unites:taille_mo',{taille:Math.round(taille/ko/ko*10)/10});
8863}else{
8864return _T('unites:taille_go',{taille:Math.round(taille/ko/ko/ko*10)/10});
8865}
8866};
8867$.trouver_extension=function(name){
8868const re=/(?:\.([^.]+))?$/;
8869let extension=re.exec(name)[1];
8870if(typeof extension==='undefined'){
8871return'';
8872}
8873extension=extension.toLowerCase();
8874switch(extension){
8875case'htm':
8876extension='html';
8877break;
8878case'jpeg':
8879extension='jpg';
8880break;
8881case'tiff':
8882extension='tif';
8883break;
8884case'aif':
8885extension='aiff';
8886break;
8887case'mpeg':
8888extension='mpg';
8889break;
8890}
8891return extension;
8892};
8893$.mime_type_image=function(extension){
8894extension=extension.toLowerCase();
8895var mime="image/"+extension;
8896switch(extension){
8897case'bmp':
8898mime="image/x-ms-bmp";
8899break;
8900case'jpg':
8901mime="image/jpeg";
8902break;
8903case'svg':
8904mime="image/svg+xml";
8905break;
8906case'tif':
8907mime="image/tiff";
8908break;
8909}
8910return mime;
8911};
8912$.escapeHtml=function(unsafe){
8913return unsafe
8914.replaceAll('&','&amp;')
8915.replaceAll('<','&lt;')
8916.replaceAll('>','&gt;')
8917.replaceAll('"','&quot;')
8918.replaceAll("'",'&#039;');
8919};
8920
8921
8922/* local/cache-js/jsdyn-javascript_bigup_trads_js-518fd44e.js?1790954165 */
8923
8924Trads.set('unites',{
8925taille_octets:"@taille@ octets",
8926taille_ko:"@taille@ ko",
8927taille_mo:"@taille@ Mo",
8928taille_go:"@taille@ Go"
8929});
8930Trads.set('bigup',{
8931bouton_annuler:"Annuler",
8932bouton_enlever:"Enlever",
8933choisir:"Choisir",
8934deposer_vos_fichiers_ici:"Déposer vos fichiers ici",
8935deposer_votre_fichier_ici:"Déposer votre fichier ici",
8936deposer_le_logo_ici:"Déposer le LOGO ici",
8937deposer_la_vignette_ici:"Déposer la vignette ici",
8938erreur_de_transfert:"Erreur de transfert.",
8939erreur_taille_max:"Le fichier ne doit pas dépasser @taille@",
8940erreur_type_fichier:"Type de fichier incorrect !",
8941erreur_probleme_survenu:"Un problème est survenu…",
8942ou:"ou",
8943succes_fichier_envoye:"Le fichier a été envoyé",
8944succes_logo_envoye:"Le logo a été envoyé",
8945succes_vignette_envoyee:"La vignette a été envoyée",
8946televerser:"Téléverser"
8947});
8948
8949
8950/* plugins-dist/bigup/lib/flow/flow.js?1788354511 */
8951
8952(function(window,document,undefined){'use strict';
8953if(!window||!document){
8954console.warn('Flowjs needs window and document objects to work');
8955return;
8956}
8957var ie10plus=window.navigator.msPointerEnabled;
8958function Flow(opts){
8959this.support=(
8960typeof File!=='undefined'&&
8961typeof Blob!=='undefined'&&
8962typeof FileList!=='undefined'&&
8963(
8964!!Blob.prototype.slice||!!Blob.prototype.webkitSlice||!!Blob.prototype.mozSlice||
8965false
8966)
8967);
8968if(!this.support){
8969return;
8970}
8971this.supportDirectory=(/Chrome/.test(window.navigator.userAgent)||/Firefox/.test(window.navigator.userAgent)||/Edge/.test(window.navigator.userAgent)
8972);
8973this.files=[];
8974this.defaults={
8975chunkSize:1024*1024,
8976forceChunkSize:false,
8977simultaneousUploads:3,
8978singleFile:false,
8979fileParameterName:'file',
8980progressCallbacksInterval:500,
8981speedSmoothingFactor:0.1,
8982query:{},
8983headers:{},
8984withCredentials:false,
8985preprocess:null,
8986changeRawDataBeforeSend:null,
8987method:'multipart',
8988testMethod:'GET',
8989uploadMethod:'POST',
8990prioritizeFirstAndLastChunk:false,
8991allowDuplicateUploads:false,
8992target:'/',
8993testChunks:true,
8994generateUniqueIdentifier:null,
8995maxChunkRetries:0,
8996chunkRetryInterval:null,
8997permanentErrors:[404,413,415,500,501],
8998successStatuses:[200,201,202],
8999onDropStopPropagation:false,
9000initFileFn:null,
9001readFileFn:webAPIFileRead
9002};
9003this.opts={};
9004this.events={};
9005var $=this;
9006this.onDrop=function(event){
9007if($.opts.onDropStopPropagation){
9008event.stopPropagation();
9009}
9010event.preventDefault();
9011var dataTransfer=event.dataTransfer;
9012if(dataTransfer.items&&dataTransfer.items[0]&&
9013dataTransfer.items[0].webkitGetAsEntry){
9014$.webkitReadDataTransfer(event);
9015}else{
9016$.addFiles(dataTransfer.files,event);
9017}
9018};
9019this.preventEvent=function(event){
9020event.preventDefault();
9021};
9022this.opts=Flow.extend({},this.defaults,opts||{});
9023}
9024Flow.prototype={
9025on:function(event,callback){
9026event=event.toLowerCase();
9027if(!this.events.hasOwnProperty(event)){
9028this.events[event]=[];
9029}
9030this.events[event].push(callback);
9031},
9032off:function(event,fn){
9033if(event!==undefined){
9034event=event.toLowerCase();
9035if(fn!==undefined){
9036if(this.events.hasOwnProperty(event)){
9037arrayRemove(this.events[event],fn);
9038}
9039}else{
9040delete this.events[event];
9041}
9042}else{
9043this.events={};
9044}
9045},
9046fire:function(event,args){
9047args=Array.prototype.slice.call(arguments);
9048event=event.toLowerCase();
9049var preventDefault=false;
9050if(this.events.hasOwnProperty(event)){
9051each(this.events[event],function(callback){
9052preventDefault=callback.apply(this,args.slice(1))===false||preventDefault;
9053},this);
9054}
9055if(event!='catchall'){
9056args.unshift('catchAll');
9057preventDefault=this.fire.apply(this,args)===false||preventDefault;
9058}
9059return!preventDefault;
9060},
9061webkitReadDataTransfer:function(event){
9062var $=this;
9063var queue=event.dataTransfer.items.length;
9064var files=[];
9065each(event.dataTransfer.items,function(item){
9066var entry=item.webkitGetAsEntry();
9067if(!entry){
vendor: 15,226 bytes, lines 9068-9740
9068decrement();
9069return;
9070}
9071if(entry.isFile){
9072fileReadSuccess(item.getAsFile(),entry.fullPath);
9073}else{
9074readDirectory(entry.createReader());
9075}
9076});
9077function readDirectory(reader){
9078reader.readEntries(function(entries){
9079if(entries.length){
9080queue+=entries.length;
9081each(entries,function(entry){
9082if(entry.isFile){
9083var fullPath=entry.fullPath;
9084entry.file(function(file){
9085fileReadSuccess(file,fullPath);
9086},readError);
9087}else if(entry.isDirectory){
9088readDirectory(entry.createReader());
9089}
9090});
9091readDirectory(reader);
9092}else{
9093decrement();
9094}
9095},readError);
9096}
9097function fileReadSuccess(file,fullPath){
9098file.relativePath=fullPath.substring(1);
9099files.push(file);
9100decrement();
9101}
9102function readError(fileError){
9103decrement();
9104throw fileError;
9105}
9106function decrement(){
9107if(--queue==0){
9108$.addFiles(files,event);
9109}
9110}
9111},
9112generateUniqueIdentifier:function(file){
9113var custom=this.opts.generateUniqueIdentifier;
9114if(typeof custom==='function'){
9115return custom(file);
9116}
9117var relativePath=file.relativePath||file.webkitRelativePath||file.fileName||file.name;
9118return file.size+'-'+relativePath.replace(/[^0-9a-zA-Z_-]/img,'');
9119},
9120uploadNextChunk:function(preventEvents){
9121var found=false;
9122if(this.opts.prioritizeFirstAndLastChunk){
9123each(this.files,function(file){
9124if(!file.paused&&file.chunks.length&&
9125file.chunks[0].status()==='pending'){
9126file.chunks[0].send();
9127found=true;
9128return false;
9129}
9130if(!file.paused&&file.chunks.length>1&&
9131file.chunks[file.chunks.length-1].status()==='pending'){
9132file.chunks[file.chunks.length-1].send();
9133found=true;
9134return false;
9135}
9136});
9137if(found){
9138return found;
9139}
9140}
9141each(this.files,function(file){
9142if(!file.paused){
9143each(file.chunks,function(chunk){
9144if(chunk.status()==='pending'){
9145chunk.send();
9146found=true;
9147return false;
9148}
9149});
9150}
9151if(found){
9152return false;
9153}
9154});
9155if(found){
9156return true;
9157}
9158var outstanding=false;
9159each(this.files,function(file){
9160if(!file.isComplete()){
9161outstanding=true;
9162return false;
9163}
9164});
9165if(!outstanding&&!preventEvents){
9166async(function(){
9167this.fire('complete');
9168},this);
9169}
9170return false;
9171},
9172assignBrowse:function(domNodes,isDirectory,singleFile,attributes){
9173if(domNodes instanceof Element){
9174domNodes=[domNodes];
9175}
9176each(domNodes,function(domNode){
9177var input;
9178if(domNode.tagName==='INPUT'&&domNode.type==='file'){
9179input=domNode;
9180}else{
9181input=document.createElement('input');
9182input.setAttribute('type','file');
9183extend(input.style,{
9184visibility:'hidden',
9185position:'absolute',
9186width:'1px',
9187height:'1px'
9188});
9189domNode.appendChild(input);
9190domNode.addEventListener('click',function(){
9191input.click();
9192},false);
9193}
9194if(!this.opts.singleFile&&!singleFile){
9195input.setAttribute('multiple','multiple');
9196}
9197if(isDirectory){
9198input.setAttribute('webkitdirectory','webkitdirectory');
9199}
9200each(attributes,function(value,key){
9201input.setAttribute(key,value);
9202});
9203var $=this;
9204input.addEventListener('change',function(e){
9205if(e.target.value){
9206$.addFiles(e.target.files,e);
9207e.target.value='';
9208}
9209},false);
9210},this);
9211},
9212assignDrop:function(domNodes){
9213if(typeof domNodes.length==='undefined'){
9214domNodes=[domNodes];
9215}
9216each(domNodes,function(domNode){
9217domNode.addEventListener('dragover',this.preventEvent,false);
9218domNode.addEventListener('dragenter',this.preventEvent,false);
9219domNode.addEventListener('drop',this.onDrop,false);
9220},this);
9221},
9222unAssignDrop:function(domNodes){
9223if(typeof domNodes.length==='undefined'){
9224domNodes=[domNodes];
9225}
9226each(domNodes,function(domNode){
9227domNode.removeEventListener('dragover',this.preventEvent);
9228domNode.removeEventListener('dragenter',this.preventEvent);
9229domNode.removeEventListener('drop',this.onDrop);
9230},this);
9231},
9232isUploading:function(){
9233var uploading=false;
9234each(this.files,function(file){
9235if(file.isUploading()){
9236uploading=true;
9237return false;
9238}
9239});
9240return uploading;
9241},
9242_shouldUploadNext:function(){
9243var num=0;
9244var should=true;
9245var simultaneousUploads=this.opts.simultaneousUploads;
9246each(this.files,function(file){
9247each(file.chunks,function(chunk){
9248if(chunk.status()==='uploading'){
9249num++;
9250if(num>=simultaneousUploads){
9251should=false;
9252return false;
9253}
9254}
9255});
9256});
9257return should&&num;
9258},
9259upload:function(){
9260var ret=this._shouldUploadNext();
9261if(ret===false){
9262return;
9263}
9264this.fire('uploadStart');
9265var started=false;
9266for(var num=1;num<=this.opts.simultaneousUploads-ret;num++){
9267started=this.uploadNextChunk(true)||started;
9268}
9269if(!started){
9270async(function(){
9271this.fire('complete');
9272},this);
9273}
9274},
9275resume:function(){
9276each(this.files,function(file){
9277if(!file.isComplete()){
9278file.resume();
9279}
9280});
9281},
9282pause:function(){
9283each(this.files,function(file){
9284file.pause();
9285});
9286},
9287cancel:function(){
9288for(var i=this.files.length-1;i>=0;i--){
9289this.files[i].cancel();
9290}
9291},
9292progress:function(){
9293var totalDone=0;
9294var totalSize=0;
9295each(this.files,function(file){
9296totalDone+=file.progress()*file.size;
9297totalSize+=file.size;
9298});
9299return totalSize>0?totalDone/totalSize:0;
9300},
9301addFile:function(file,event){
9302this.addFiles([file],event);
9303},
9304addFiles:function(fileList,event){
9305var files=[];
9306each(fileList,function(file){
9307if((!ie10plus||ie10plus&&file.size>0)&&!(file.size%4096===0&&(file.name==='.'||file.fileName==='.'))){
9308var uniqueIdentifier=this.generateUniqueIdentifier(file);
9309if(this.opts.allowDuplicateUploads||!this.getFromUniqueIdentifier(uniqueIdentifier)){
9310var f=new FlowFile(this,file,uniqueIdentifier);
9311if(this.fire('fileAdded',f,event)){
9312files.push(f);
9313}
9314}
9315}
9316},this);
9317if(this.fire('filesAdded',files,event)){
9318each(files,function(file){
9319if(this.opts.singleFile&&this.files.length>0){
9320this.removeFile(this.files[0]);
9321}
9322this.files.push(file);
9323},this);
9324this.fire('filesSubmitted',files,event);
9325}
9326},
9327removeFile:function(file){
9328for(var i=this.files.length-1;i>=0;i--){
9329if(this.files[i]===file){
9330this.files.splice(i,1);
9331file.abort();
9332this.fire('fileRemoved',file);
9333}
9334}
9335},
9336getFromUniqueIdentifier:function(uniqueIdentifier){
9337var ret=false;
9338each(this.files,function(file){
9339if(file.uniqueIdentifier===uniqueIdentifier){
9340ret=file;
9341}
9342});
9343return ret;
9344},
9345getSize:function(){
9346var totalSize=0;
9347each(this.files,function(file){
9348totalSize+=file.size;
9349});
9350return totalSize;
9351},
9352sizeUploaded:function(){
9353var size=0;
9354each(this.files,function(file){
9355size+=file.sizeUploaded();
9356});
9357return size;
9358},
9359timeRemaining:function(){
9360var sizeDelta=0;
9361var averageSpeed=0;
9362each(this.files,function(file){
9363if(!file.paused&&!file.error){
9364sizeDelta+=file.size-file.sizeUploaded();
9365averageSpeed+=file.averageSpeed;
9366}
9367});
9368if(sizeDelta&&!averageSpeed){
9369return Number.POSITIVE_INFINITY;
9370}
9371if(!sizeDelta&&!averageSpeed){
9372return 0;
9373}
9374return Math.floor(sizeDelta/averageSpeed);
9375}
9376};
9377function FlowFile(flowObj,file,uniqueIdentifier){
9378this.flowObj=flowObj;
9379this.bytes=null;
9380this.file=file;
9381this.name=file.fileName||file.name;
9382this.size=file.size;
9383this.relativePath=file.relativePath||file.webkitRelativePath||this.name;
9384this.uniqueIdentifier=(uniqueIdentifier===undefined?flowObj.generateUniqueIdentifier(file):uniqueIdentifier);
9385this.chunkSize=0;
9386this.chunks=[];
9387this.paused=false;
9388this.error=false;
9389this.averageSpeed=0;
9390this.currentSpeed=0;
9391this._lastProgressCallback=Date.now();
9392this._prevUploadedSize=0;
9393this._prevProgress=0;
9394this.bootstrap();
9395}
9396FlowFile.prototype={
9397measureSpeed:function(){
9398var timeSpan=Date.now()-this._lastProgressCallback;
9399if(!timeSpan){
9400return;
9401}
9402var smoothingFactor=this.flowObj.opts.speedSmoothingFactor;
9403var uploaded=this.sizeUploaded();
9404this.currentSpeed=Math.max((uploaded-this._prevUploadedSize)/timeSpan*1000,0);
9405this.averageSpeed=smoothingFactor*this.currentSpeed+(1-smoothingFactor)*this.averageSpeed;
9406this._prevUploadedSize=uploaded;
9407},
9408chunkEvent:function(chunk,event,message){
9409switch(event){
9410case'progress':
9411if(Date.now()-this._lastProgressCallback<
9412this.flowObj.opts.progressCallbacksInterval){
9413break;
9414}
9415this.measureSpeed();
9416this.flowObj.fire('fileProgress',this,chunk);
9417this.flowObj.fire('progress');
9418this._lastProgressCallback=Date.now();
9419break;
9420case'error':
9421this.error=true;
9422this.abort(true);
9423this.flowObj.fire('fileError',this,message,chunk);
9424this.flowObj.fire('error',message,this,chunk);
9425break;
9426case'success':
9427if(this.error){
9428return;
9429}
9430this.measureSpeed();
9431this.flowObj.fire('fileProgress',this,chunk);
9432this.flowObj.fire('progress');
9433this._lastProgressCallback=Date.now();
9434if(this.isComplete()){
9435this.currentSpeed=0;
9436this.averageSpeed=0;
9437this.flowObj.fire('fileSuccess',this,message,chunk);
9438}
9439break;
9440case'retry':
9441this.flowObj.fire('fileRetry',this,chunk);
9442break;
9443}
9444},
9445pause:function(){
9446this.paused=true;
9447this.abort();
9448},
9449resume:function(){
9450this.paused=false;
9451this.flowObj.upload();
9452},
9453abort:function(reset){
9454this.currentSpeed=0;
9455this.averageSpeed=0;
9456var chunks=this.chunks;
9457if(reset){
9458this.chunks=[];
9459}
9460each(chunks,function(c){
9461if(c.status()==='uploading'){
9462c.abort();
9463this.flowObj.uploadNextChunk();
9464}
9465},this);
9466},
9467cancel:function(){
9468this.flowObj.removeFile(this);
9469},
9470retry:function(){
9471this.bootstrap();
9472this.flowObj.upload();
9473},
9474bootstrap:function(){
9475if(typeof this.flowObj.opts.initFileFn==="function"){
9476this.flowObj.opts.initFileFn(this);
9477}
9478this.abort(true);
9479this.error=false;
9480this._prevProgress=0;
9481var round=this.flowObj.opts.forceChunkSize?Math.ceil:Math.floor;
9482this.chunkSize=evalOpts(this.flowObj.opts.chunkSize,this);
9483var chunks=Math.max(
9484round(this.size/this.chunkSize),1
9485);
9486for(var offset=0;offset<chunks;offset++){
9487this.chunks.push(
9488new FlowChunk(this.flowObj,this,offset)
9489);
9490}
9491},
9492progress:function(){
9493if(this.error){
9494return 1;
9495}
9496if(this.chunks.length===1){
9497this._prevProgress=Math.max(this._prevProgress,this.chunks[0].progress());
9498return this._prevProgress;
9499}
9500var bytesLoaded=0;
9501each(this.chunks,function(c){
9502bytesLoaded+=c.progress()*(c.endByte-c.startByte);
9503});
9504var percent=bytesLoaded/this.size;
9505this._prevProgress=Math.max(this._prevProgress,percent>0.9999?1:percent);
9506return this._prevProgress;
9507},
9508isUploading:function(){
9509var uploading=false;
9510each(this.chunks,function(chunk){
9511if(chunk.status()==='uploading'){
9512uploading=true;
9513return false;
9514}
9515});
9516return uploading;
9517},
9518isComplete:function(){
9519var outstanding=false;
9520each(this.chunks,function(chunk){
9521var status=chunk.status();
9522if(status==='pending'||status==='uploading'||status==='reading'||chunk.preprocessState===1||chunk.readState===1){
9523outstanding=true;
9524return false;
9525}
9526});
9527return!outstanding;
9528},
9529sizeUploaded:function(){
9530var size=0;
9531each(this.chunks,function(chunk){
9532size+=chunk.sizeUploaded();
9533});
9534return size;
9535},
9536timeRemaining:function(){
9537if(this.paused||this.error){
9538return 0;
9539}
9540var delta=this.size-this.sizeUploaded();
9541if(delta&&!this.averageSpeed){
9542return Number.POSITIVE_INFINITY;
9543}
9544if(!delta&&!this.averageSpeed){
9545return 0;
9546}
9547return Math.floor(delta/this.averageSpeed);
9548},
9549getType:function(){
9550return this.file.type&&this.file.type.split('/')[1];
9551},
9552getExtension:function(){
9553return this.name.substr((~-this.name.lastIndexOf(".")>>>0)+2).toLowerCase();
9554}
9555};
9556function webAPIFileRead(fileObj,startByte,endByte,fileType,chunk){
9557var function_name='slice';
9558if(fileObj.file.slice)
9559function_name='slice';
9560else if(fileObj.file.mozSlice)
9561function_name='mozSlice';
9562else if(fileObj.file.webkitSlice)
9563function_name='webkitSlice';
9564chunk.readFinished(fileObj.file[function_name](startByte,endByte,fileType));
9565}
9566function FlowChunk(flowObj,fileObj,offset){
9567this.flowObj=flowObj;
9568this.fileObj=fileObj;
9569this.offset=offset;
9570this.tested=false;
9571this.retries=0;
9572this.pendingRetry=false;
9573this.preprocessState=0;
9574this.readState=0;
9575this.loaded=0;
9576this.total=0;
9577this.chunkSize=this.fileObj.chunkSize;
9578this.startByte=this.offset*this.chunkSize;
9579this.filename=null;
9580this.computeEndByte=function(){
9581var endByte=Math.min(this.fileObj.size,(this.offset+1)*this.chunkSize);
9582if(this.fileObj.size-endByte<this.chunkSize&&!this.flowObj.opts.forceChunkSize){
9583endByte=this.fileObj.size;
9584}
9585return endByte;
9586}
9587this.endByte=this.computeEndByte();
9588this.xhr=null;
9589var $=this;
9590this.event=function(event,args){
9591args=Array.prototype.slice.call(arguments);
9592args.unshift($);
9593$.fileObj.chunkEvent.apply($.fileObj,args);
9594};
9595this.progressHandler=function(event){
9596if(event.lengthComputable){
9597$.loaded=event.loaded;
9598$.total=event.total;
9599}
9600$.event('progress',event);
9601};
9602this.testHandler=function(event){
9603var status=$.status(true);
9604if(status==='error'){
9605$.event(status,$.message());
9606$.flowObj.uploadNextChunk();
9607}else if(status==='success'){
9608$.tested=true;
9609$.event(status,$.message());
9610$.flowObj.uploadNextChunk();
9611}else if(!$.fileObj.paused){
9612$.tested=true;
9613$.send();
9614}
9615};
9616this.doneHandler=function(event){
9617var status=$.status();
9618if(status==='success'||status==='error'){
9619delete this.data;
9620$.event(status,$.message());
9621$.flowObj.uploadNextChunk();
9622}else if(!$.fileObj.paused){
9623$.event('retry',$.message());
9624$.pendingRetry=true;
9625$.abort();
9626$.retries++;
9627var retryInterval=$.flowObj.opts.chunkRetryInterval;
9628if(retryInterval!==null){
9629setTimeout(function(){
9630$.send();
9631},retryInterval);
9632}else{
9633$.send();
9634}
9635}
9636};
9637}
9638FlowChunk.prototype={
9639getParams:function(){
9640return{
9641flowChunkNumber:this.offset+1,
9642flowChunkSize:this.chunkSize,
9643flowCurrentChunkSize:this.endByte-this.startByte,
9644flowTotalSize:this.fileObj.size,
9645flowIdentifier:this.fileObj.uniqueIdentifier,
9646flowFilename:this.fileObj.name,
9647flowRelativePath:this.fileObj.relativePath,
9648flowTotalChunks:this.fileObj.chunks.length
9649};
9650},
9651getTarget:function(target,params){
9652if(params.length==0){
9653return target;
9654}
9655if(target.indexOf('?')<0){
9656target+='?';
9657}else{
9658target+='&';
9659}
9660return target+params.join('&');
9661},
9662test:function(){
9663this.xhr=new XMLHttpRequest();
9664this.xhr.addEventListener("load",this.testHandler,false);
9665this.xhr.addEventListener("error",this.testHandler,false);
9666var testMethod=evalOpts(this.flowObj.opts.testMethod,this.fileObj,this);
9667var data=this.prepareXhrRequest(testMethod,true);
9668this.xhr.send(data);
9669},
9670preprocessFinished:function(){
9671this.endByte=this.computeEndByte();
9672this.preprocessState=2;
9673this.send();
9674},
9675readFinished:function(bytes){
9676this.readState=2;
9677this.bytes=bytes;
9678this.send();
9679},
9680send:function(){
9681var preprocess=this.flowObj.opts.preprocess;
9682var read=this.flowObj.opts.readFileFn;
9683if(typeof preprocess==='function'){
9684switch(this.preprocessState){
9685case 0:
9686this.preprocessState=1;
9687preprocess(this);
9688return;
9689case 1:
9690return;
9691}
9692}
9693switch(this.readState){
9694case 0:
9695this.readState=1;
9696read(this.fileObj,this.startByte,this.endByte,this.fileObj.file.type,this);
9697return;
9698case 1:
9699return;
9700}
9701if(this.flowObj.opts.testChunks&&!this.tested){
9702this.test();
9703return;
9704}
9705this.loaded=0;
9706this.total=0;
9707this.pendingRetry=false;
9708this.xhr=new XMLHttpRequest();
9709this.xhr.upload.addEventListener('progress',this.progressHandler,false);
9710this.xhr.addEventListener("load",this.doneHandler,false);
9711this.xhr.addEventListener("error",this.doneHandler,false);
9712var uploadMethod=evalOpts(this.flowObj.opts.uploadMethod,this.fileObj,this);
9713var data=this.prepareXhrRequest(uploadMethod,false,this.flowObj.opts.method,this.bytes);
9714var changeRawDataBeforeSend=this.flowObj.opts.changeRawDataBeforeSend;
9715if(typeof changeRawDataBeforeSend==='function'){
9716data=changeRawDataBeforeSend(this,data);
9717}
9718this.xhr.send(data);
9719},
9720abort:function(){
9721var xhr=this.xhr;
9722this.xhr=null;
9723if(xhr){
9724xhr.abort();
9725}
9726},
9727status:function(isTest){
9728if(this.readState===1){
9729return'reading';
9730}else if(this.pendingRetry||this.preprocessState===1){
9731return'uploading';
9732}else if(!this.xhr){
9733return'pending';
9734}else if(this.xhr.readyState<4){
9735return'uploading';
9736}else{
9737if(this.flowObj.opts.successStatuses.indexOf(this.xhr.status)>-1){
9738return'success';
9739}else if(this.flowObj.opts.permanentErrors.indexOf(this.xhr.status)>-1||
9740!isTest&&this.retries>
9740=this.flowObj.opts.maxChunkRetries){
9741return'error';
9742}else{
9743this.abort();
9744return'pending';
9745}
9746}
9747},
9748message:function(){
9749return this.xhr?this.xhr.responseText:'';
9750},
9751progress:function(){
9752if(this.pendingRetry){
9753return 0;
9754}
9755var s=this.status();
9756if(s==='success'||s==='error'){
9757return 1;
9758}else if(s==='pending'){
9759return 0;
9760}else{
9761return this.total>0?this.loaded/this.total:0;
9762}
9763},
9764sizeUploaded:function(){
9765var size=this.endByte-this.startByte;
9766if(this.status()!=='success'){
9767size=this.progress()*size;
9768}
9769return size;
9770},
9771prepareXhrRequest:function(method,isTest,paramsMethod,blob){
9772var query=evalOpts(this.flowObj.opts.query,this.fileObj,this,isTest);
9773query=extend(query||{},this.getParams());
9774var target=evalOpts(this.flowObj.opts.target,this.fileObj,this,isTest);
9775var data=null;
9776if(method==='GET'||paramsMethod==='octet'){
9777var params=[];
9778each(query,function(v,k){
9779params.push([encodeURIComponent(k),encodeURIComponent(v)].join('='));
9780});
9781target=this.getTarget(target,params);
9782data=blob||null;
9783}else{
9784data=new FormData();
9785each(query,function(v,k){
9786data.append(k,v);
9787});
9788if(typeof blob!=="undefined"){
9789data.append(this.flowObj.opts.fileParameterName,blob,this.filename||this.fileObj.file.name);
9790}
9791}
9792this.xhr.open(method,target,true);
9793this.xhr.withCredentials=this.flowObj.opts.withCredentials;
9794each(evalOpts(this.flowObj.opts.headers,this.fileObj,this,isTest),function(v,k){
9795this.xhr.setRequestHeader(k,v);
9796},this);
9797return data;
9798}
9799};
9800function arrayRemove(array,value){
9801var index=array.indexOf(value);
9802if(index>-1){
9803array.splice(index,1);
9804}
9805}
9806function evalOpts(data,args){
9807if(typeof data==="function"){
9808args=Array.prototype.slice.call(arguments);
9809data=data.apply(null,args.slice(1));
9810}
9811return data;
9812}
9813Flow.evalOpts=evalOpts;
9814function async(fn,context){
9815setTimeout(fn.bind(context),0);
9816}
9817function extend(dst,src){
9818each(arguments,function(obj){
9819if(obj!==dst){
9820each(obj,function(value,key){
9821dst[key]=value;
9822});
9823}
9824});
9825return dst;
9826}
9827Flow.extend=extend;
9828function each(obj,callback,context){
9829if(!obj){
9830return;
9831}
9832var key;
9833if(typeof(obj.length)!=='undefined'){
9834for(key=0;key<obj.length;key++){
9835if(callback.call(context,obj[key],key)===false){
9836return;
9837}
9838}
9839}else{
9840for(key in obj){
9841if(obj.hasOwnProperty(key)&&callback.call(context,obj[key],key)===false){
9842return;
9843}
9844}
9845}
9846}
9847Flow.each=each;
9848Flow.FlowFile=FlowFile;
9849Flow.FlowChunk=FlowChunk;
9850Flow.version='2.14.1';
9851if(typeof module==="object"&&module&&typeof module.exports==="object"){
9852module.exports=Flow;
9853}else{
9854window.Flow=Flow;
9855if(typeof define==="function"&&define.amd){
9856define("flow",[],function(){return Flow;});
9857}
9858}
9859})(typeof window!=='undefined'&&window,typeof document!=='undefined'&&document);
9860
9861
9862/* plugins-dist/bigup/javascript/bigup.js?1788354511 */
9863
9864$.fn.bigup=function(options,callbacks){
9865var options=options||{};
9866var callbacks=callbacks||{};
9867var inputs_a_gerer=$(this)
9868.not('.bigup_done')
9869.each(function(){
9870var $editer=$(this).closest('.editer');
9871if($editer.length){
9872$editer.addClass('biguping');
9873var h=$editer.get(0).offsetHeight;
9874var s=$editer.attr('style');
9875if(typeof s==='undefined'){
9876s='';
9877}
9878$editer.attr('data-prev-style',s);
9879s+='height:'+h+'px;overflow:hidden';
9880$editer.attr('style',s);
9881}
9882$(this).addClass('bigup_done');
9883var $input=$(this);
9884var $form=$input.parents('form');
9885var sinon=function(valeur,defaut){
9886return valeur?valeur:defaut;
9887};
9888var conf=$.extend(
9889true,
9890{
9891maxFileSize:0,
9892},
9893$.bigup_config||{}
9894);
9895var bigup=new Bigup(
9896{
9897form:$form,
9898input:$input,
9899formulaire_action:$form.find('input[name=formulaire_action]').val(),
9900formulaire_action_args:$form.find('input[name=formulaire_action_args]').val(),
9901token:$input.data('token'),
9902},
9903{
9904contraintes:{
9905accept:$input.prop('accept'),
9906maxFiles:$input.prop('multiple')?sinon($input.data('maxfiles'),0):1,
9907maxFileSize:sinon($input.data('maxfilesize'),conf.maxFileSize),
9908clientWidth:sinon($input.data('clientwidth'),conf.clientWidth),
9909clientHeight:sinon($input.data('clientheight'),conf.clientHeight),
9910clientQuality:sinon($input.data('clientquality'),conf.clientQuality),
9911},
9912},
9913callbacks
9914);
9915if(!bigup.support){
9916return false;
9917}
9918bigup.integrer_fichiers_presents();
9919bigup.gerer_depot_fichiers();
9920if($editer.length){
9921$editer.attr('style',$editer.attr('data-prev-style'));
9922$editer.attr('data-prev-style',null);
9923$editer.addClass('editer_with_bigup').removeClass('biguping');
9924}
9925});
9926return inputs_a_gerer;
9927};
9928function Bigup(params,opts,callbacks){
9929this.form=params.form;
9930this.input=params.input;
9931this.formulaire_action=params.formulaire_action;
9932this.formulaire_action_args=params.formulaire_action_args;
9933this.token=params.token;
9934this.uploadsCount=0;
9935this.target=$.enlever_ancre(this.form.attr('action'));
9936this.name=this.input.attr('name');
9937this.class_name=$.nom2classe(this.name);
9938this.multiple=this.input.prop('multiple');
9939this.zones={
9940depot:null,
9941depot_etendu:null,
9942fichiers:null,
9943};
9944this.defaults={
9945contraintes:{
9946accept:'',
9947maxFiles:1,
9948maxFileSize:0,
9949clientQuality:0.8,
9950clientWidth:0,
9951clientHeight:0,
9952},
9953options:{
9954previsualisation:{
9955activer:!!this.input.data('previsualiser'),
9956fileSizeMax:10,
9957},
9958},
9959flow:{
9960simultaneousUploads:2,
9961permanentErrors:[403,404,413,415,500,501],
9962chunkRetryInterval:1000,
9963maxChunkRetries:5,
9964},
9965templates:{
9966zones:{
9967depot:function(name,multiple){
9968var template=
9969'\n<div class="dropfile dropfile_'+
9970name+
9971'" style="display:none;">'+
9972'\n\t<button type="button" class="dropfilebutton bigup-btn btn btn-default">'+
9973_T('bigup:choisir')+
9974'</button>'+
9975'\n\t<span class="dropfileor">'+
9976_T('bigup:ou')+
9977'</span>'+
9978'\n\t<span class="dropfiletext">'+
9979'\n\t\t'+
9980Trads.singulier_ou_pluriel(
9981multiple?2:1,
9982'bigup:deposer_votre_fichier_ici',
9983'bigup:deposer_vos_fichiers_ici'
9984)+
9985'\n\t</:span:>'+
9986'\n</div>\n';
9987return template;
9988},
9989fichiers:function(name){
9990var template="<div class='bigup_fichiers fichiers_"+name+"'></div>";
9991return template;
9992},
9993},
9994fichier:function(file){
9995var extension=$.trouver_extension(file.name);
9996var template=
9997'\n<div class="fichier">'+
9998'\n\t<div class="description">'+
9999'\n\t\t<div class="vignette_extension '+
10000$.escapeHtml(extension)+
10001'" title="'+
10002file.type+
10003'"><span></span></div>'+
10004'\n\t\t<div class="infos">'+
10005'\n\t\t\t<span class="name"><strong>'+
10006$.escapeHtml(file.name)+
10007'</strong></span>'+
10008'\n\t\t\t<span class="size">'+
10009$.taille_en_octets(file.size)+
10010'</span>'+
10011'\n\t\t</div>'+
10012'\n\t\t<div class="actions">'+
10013'\n\t\t\t<button type="button" class="bigup-btn btn btn-default cancel" onClick="$.bigup_enlever_fichier(this);">'+
10014_T('bigup:bouton_annuler')+
10015'</button>'+
10016'\n\t\t</div>'+
10017'\n\t</div>'+
10018'\n</div>\n';
10019return template;
10020},
10021},
10022};
10023this.opts=$.extend(true,this.defaults,opts||{});
10024this.singleFile=!this.multiple||this.opts.contraintes.maxFiles===1;
10025var me=this;
10026$.each(callbacks||{},function(nom,callback){
10027me.input.on('bigup.'+nom,callback);
10028});
10029this.flow=new Flow({
10030input:this.input,
10031target:this.target,
10032testChunks:true,
10033maxFiles:this.opts.contraintes.maxFiles,
10034singleFile:this.singleFile,
10035simultaneousUploads:this.opts.flow.simultaneousUploads,
10036permanentErrors:this.opts.flow.permanentErrors,
10037chunkRetryInterval:this.opts.flow.chunkRetryInterval,
10038maxChunkRetries:this.opts.flow.maxChunkRetries,
10039onDropStopPropagation:true,
10040query:{
10041action:'bigup',
10042bigup_token:this.token,
10043formulaire_action:this.formulaire_action,
10044formulaire_action_args:this.formulaire_action_args,
10045},
10046});
10047this.support=this.flow.support;
10048this.input.data('bigup',this);
10049this.onDropExtended=function(event){
10050if(me.eventHasFiles(event)){
10051me.flow.onDrop(event);
10052$('.bigup-extended-drop-zone.drag-over').trigger('dragleave');
10053}
10054};
10055}
10056Bigup.prototype={
10057setOptions:function(options){
10058options=options||{};
10059this.opts.options=$.extend(true,this.opts.options,options);
10060},
10061integrer_fichiers_presents:function(){
10062this.creer_zone_fichiers();
10063var me=this;
10064this.zones.fichiers.find('.fichier').each(function(){
10065var $button=$(this).find('button[name=bigup_enlever_fichier]');
10066var identifiant=$button.val();
10067$button.remove();
10068$(this).data('bigup',me).data('identifiant',identifiant);
10069me.ajouter_bouton_enlever(this);
10070});
10071this.input.trigger('bigup.ready',[me]);
10072},
10073ajouter_bouton_enlever:function(fichier){
10074var js='$.bigup_enlever_fichier(this);';
10075var inserer=
10076'<button type="button" class="bigup-btn btn btn-default" onClick="'+js+'">'+_T('bigup:bouton_enlever')+'</button>';
10077$(fichier).find('.actions').append(inserer);
10078return this;
10079},
10080gerer_depot_fichiers:function(){
10081this.definir_zone_depot();
10082var me=this;
10083this.flow.on('fileAdded',function(file,event){
10084me.ajouter_fichier(file);
10085me.input.trigger('bigup.fileAdded',[file]);
10086me.adapter_visibilite_zone_depot();
10087if(!me.accepter_fichier(file)){
10088me.presenter_erreur(file.emplacement,file.erreur);
10089return false;
10090}
10091});
10092this.flow.on('filesSubmitted',function(files){
10093const isFileCompress=
10094me.defaults.contraintes.clientWidth>0||me.defaults.contraintes.clientHeight>0?true:false;
10095const Timage=['image/jpeg','image/png','image/webp'];
10096if(files.length){
10097$.each(files,function(key,file){
10098me.progress.ajouter(file.emplacement);
10099me.input.trigger('bigup.fileSubmitted',[file]);
10100if(isFileCompress&&Timage.includes(file.file.type)){
10101const size=file.file.size;
10102compress(
10103file,
10104me.defaults.contraintes.clientWidth,
10105me.defaults.contraintes.clientHeight,
10106me.defaults.contraintes.clientQuality
10107).then((is_compressed)=>{
10108if(is_compressed){
10109console.debug('Image d’origine retaillée',{
10110name:file.name,
10111old_size:size,
10112new_size:file.file.size,
10113});
10114}
10115me.flow.upload();
10116});
10117}else{
10118me.flow.upload();
10119}
10120});
10121}
10122});
10123this.flow.on('fileProgress',function(file,chunk){
10124var percent=Math.round((file._prevUploadedSize/file.size)*100);
10125var progress=file.emplacement.find('progress');
10126progress.text(percent+' %');
10127me.progress.animer(progress,percent);
10128});
10129this.flow.on('fileSuccess',function(file,message,chunk){
10130var desc='';
10131try{
10132desc=JSON.parse(message);
10133file.emplacement.find('.cancel').fadeOut('normal',function(){
10134$(this).remove();
10135if(desc.bigup.identifiant){
10136file.emplacement.data('identifiant',desc.bigup.identifiant);
10137me.ajouter_bouton_enlever(file.emplacement);
10138}
10139});
10140me.progress.retirer(file.emplacement.find('progress'));
10141me.uploadsCount++;
10142me.input.trigger('bigup.fileSuccess',[file,desc]);
10143}catch(e){
10144desc=_T('bigup:erreur_de_transfert')+' : '+e;
10145me.progress.retirer(file.emplacement.find('progress'));
10146me.presenter_erreur(file.emplacement,desc);
10147}
10148});
10149this.flow.on('fileRemoved',function(file){
10150if(!file.bigup_deleted){
10151me.enlever_fichier(file.emplacement);
10152}
10153});
10154this.flow.on('complete',function(){
10155me.input.trigger('bigup.complete',[{count:me.uploadsCount}]);
10156me.uploadsCount=0;
10157});
10158this.flow.on('fileError',function(file,message,chunk){
10159var message_erreur=_T('bigup:erreur_de_transfert');
10160if(message){
10161try{
10162data=JSON.parse(message);
10163if(typeof data.error!=='undefined'){
10164message_erreur=data.error;
10165}
10166}catch(e){
10167let title=message.match(/<title>(.*)<\/title>/)||message.match(/<h1>(.*)<\/h1>/);
10168if(title&&title[1]){
10169message_erreur+='<br>Got HTML titled "'+title[1]+'" instead of JSON';
10170}else{
10171message_erreur+='<br>'+e;
10172}
10173}
10174}
10175me.progress.retirer(file.emplacement.find('progress'));
10176me.presenter_erreur(file.emplacement,message_erreur);
10177});
10178},
10179definir_zone_depot:function(){
10180this.input.hide();
10181this.creer_zone_depot();
10182this.adapter_visibilite_zone_depot();
10183this.flow.assignBrowse(this.zones.depot.find('.dropfilebutton'),false,!this.multiple,{
10184accept:this.opts.contraintes.accept,
10185});
10186this.assignDropExtended(this.zones.depot_etendu);
10187},
10188creer_zone_depot:function(){
10189$.bigup_verifier_depots_etendus();
10190var $zone_depot=this.form.find('.dropfile_'+this.class_name);
10191if(!$zone_depot.length){
10192var template=this.opts.templates.zones.depot(this.class_name,!this.singleFile);
10193this.input.after(template);
10194$zone_depot=this.form.find('.dropfile_'+this.class_name);
10195}
10196var $depot_etendu=$zone_depot;
10197var depot_etendu=this.input.data('drop-zone-extended');
10198if(typeof depot_etendu!=='undefined'){
10199$depot_etendu=jQuery(depot_etendu)
10200.not('.bigup-extended-drop-zone')
10201.addClass('bigup-extended-drop-zone')
10202.data('bigup',this)
10203.add($zone_depot);
10204}
10205var me=this;
10206$depot_etendu.on('dragenter dragover',function(event){
10207if(me.eventHasFiles(event.originalEvent)){
10208$(this).addClass('drag-over');
10209$zone_depot.addClass('drag-target');
10210}
10211});
10212$depot_etendu.on('dragleave',function(){
10213$(this).removeClass('drag-over');
10214$zone_depot.removeClass('drag-target');
10215});
10216$depot_etendu.on('drop',function(){
10217$depot_etendu.removeClass('drag-target').removeClass('drag-over');
10218});
10219this.zones.depot=$zone_depot;
10220this.zones.depot_etendu=$depot_etendu;
10221},
10222creer_zone_fichiers:function(){
10223var $fichiers=this.form.find('.fichiers_'+this.class_name);
10224if(!$fichiers.length){
10225var template=this.opts.templates.zones.fichiers(this.class_name);
10226this.input.before(template);
10227$fichiers=this.form.find('.fichiers_'+this.class_name);
10228}
10229this.zones.fichiers=$fichiers;
10230},
10231adapter_visibilite_zone_depot:function(){
10232var nb=this.zones.fichiers.find('.fichier').length;
10233if(!this.opts.contraintes.maxFiles||this.opts.contraintes.maxFiles>nb){
10234this.zones.depot.show();
10235}else{
10236this.zones.depot.hide();
10237}
10238},
10239accepter_fichier:function(file){
10240if(this.opts.contraintes.maxFileSize){
10241var taille=this.opts.contraintes.maxFileSize*1024*1024;
10242if(file.size>taille){
10243file.erreur=_T('bigup:erreur_taille_max',{taille:$.taille_en_octets(taille)});
10244return false;
10245}
10246}
10247if(this.opts.contraintes.accept){
10248var accept=this.opts.contraintes.accept;
10249if(accept&&!this.valider_fichier(file.file,accept)){
10250file.erreur=_T('bigup:erreur_type_fichier');
10251return false;
10252}
10253}
10254return true;
10255},
10256valider_fichier:function(file,acceptedFiles){
10257var baseMimeType,mimeType,validType,_i,_len;
10258if(!acceptedFiles){
10259return true;
10260}
10261acceptedFiles=acceptedFiles.split(',');
10262mimeType=file.type;
10263baseMimeType=mimeType.replace(/\/.*$/,'');
10264for(_i=0,_len=acceptedFiles.length;_i<_len;_i++){
10265validType=acceptedFiles[_i];
10266validType=validType.trim();
10267if(validType.charAt(0)==='.'){
10268if(
10269file.name.toLowerCase().indexOf(validType.toLowerCase(),file.name.length-validType.length)!==-1
10270){
10271return true;
10272}
10273}else if(/\/\*$/.test(validType)){
10274if(baseMimeType===validType.replace(/\/.*$/,'')){
10275return true;
10276}
10277}else{
10278if(mimeType===validType){
10279return true;
10280}
10281}
10282}
10283return false;
10284},
10285ajouter_fichier:function(file){
10286file.bigup=this;
10287this.creer_zone_fichiers();
10288var template=this.opts.templates.fichier(file.file);
10289this.zones.fichiers.append(template);
10290var fichier=this.zones.fichiers.find('.fichier:last-child');
10291file.emplacement=fichier;
10292this.presenter_previsualisation(file);
10293fichier.animateAppend().data('file',file).data('bigup',this);
10294return true;
10295},
10296enlever_fichier:function(emplacement){
10297var me=this;
10298emplacement.addClass('annuler');
10299var identifiant=emplacement.data('identifiant');
10300if((file=emplacement.data('file'))){
10301file.abort();
10302file.bigup_deleted=true;
10303file.cancel();
10304if(!identifiant){
10305identifiant=file.uniqueIdentifier;
10306}
10307}
10308this.post({
10309bigup_action:'effacer',
10310identifiant:identifiant,
10311})
10312.done(function(){
10313emplacement.animateRemove(function(){
10314$(this).remove();
10315me.adapter_visibilite_zone_depot();
10316me.input.trigger('bigup.fileRemoved',[file]);
10317});
10318})
10319.fail(function(){
10320emplacement.removeClass('annuler');
10321me.presenter_erreur(emplacement,_T('bigup:erreur_probleme_survenu'));
10322});
10323},
10324post:function(data){
10325data=$.extend(
10326{
10327action:'bigup',
10328formulaire_action:this.formulaire_action,
10329formulaire_action_args:this.formulaire_action_args,
10330bigup_token:this.token,
10331},
10332data
10333);
10334return $.post(this.target,data);
10335},
10336send:function(data,options){
10337const ajaxOptions=Object.assign(
10338{
10339type:'POST',
10340url:this.target,
10341data:data,
10342processData:false,
10343contentType:false,
10344cache:false,
10345},
10346options||{}
10347);
10348return $.ajax(ajaxOptions);
10349},
10350presenter_erreur:function(emplacement,message){
10351emplacement
10352.addClass('erreur')
10353.find('.infos')
10354.append("<span class='message_erreur'>"+message+'</span>');
10355return this;
10356},
10357presenter_succes:function(emplacement,message){
10358emplacement
10359.addClass('succes')
10360.find('.infos')
10361.append("<span class='message_ok'>"+message+'</span>');
10362return this;
10363},
10364presenter_previsualisation:function(file){
10365if(!this.opts.options.previsualisation.activer){
10366return false;
10367}
10368if(this.opts.options.previsualisation.fileSizeMax){
10369var taille=this.opts.options.previsualisation.fileSizeMax*1024*1024;
10370if(file.file.size>taille){
10371return false;
10372}
10373}
10374this.readURL(file.file,function(){
10375if(this.result){
10376var title=
10377file.emplacement.find('.infos .name').text()+
10378' ('+
10379file.emplacement.find('.infos .size').text()+
10380')';
10381file.emplacement
10382.find('.vignette_extension')
10383.removeClass('vignette_extension')
10384.addClass('previsualisation')
10385.attr('title',title)
10386.find('> span')
10387.css('background-image','url('+this.result+')');
10388}
10389});
10390},
10391readURL:function(file,callback){
10392if(file){
10393var reader=new FileReader();
10394var imageType=/^image\/(?:bmp|cis\-cod|gif|ief|jpeg|jpeg|jpeg|pipeg|png|svg\+xml|tiff|webp|x\-cmu\-raster|x\-cmx|x\-icon|x\-portable\-anymap|x\-portable\-bitmap|x\-portable\-graymap|x\-portable\-pixmap|x\-rgb|x\-xbitmap|x\-xpixmap|x\-xwindowdump)$/i;
10395if(!file.type.match(imageType)){
10396return false;
10397}
10398if(typeof callback=='function'){
10399reader.addEventListener('load',callback);
10400}
10401reader.readAsDataURL(file);
10402return true;
10403}
10404return false;
10405},
10406progress:{
10407ajouter:function(emplacement){
10408var progress=$('<progress value="0" max="100" style="display:none">0 %</progress>');
10409emplacement.append(progress);
10410progress.fadeIn(1000);
10411return this;
10412},
10413animer:function(progress,val){
10414progress.each(function(){
10415var me=this;
10416$({percent:me.value}).animate(
10417{percent:val},
10418{
10419duration:200,
10420step:function(){
10421me.value=this.percent;
10422},
10423}
10424);
10425});
10426return this;
10427},
10428retirer:function(progress){
10429progress.delay(200).fadeOut('normal',function(){
10430$(this).slideUp('normal',function(){
10431$(this).remove();
10432});
10433});
10434return this;
10435},
10436},
10437getFormData:function(){
10438console.info(
10439'Method `bigup.getFormData` is deprecated and will be removed in future version of Bigup.',
10440'Please use `bigup.buildFormData` instead and adapt your code (see #4861)'
10441);
10442var inputName,inputType;
10443var data={};
10444this.form.find('input, textarea, select, button').each(function(){
10445inputName=$(this).attr('name');
10446inputType=$(this).attr('type');
10447if(inputName){
10448if(this.tagName==='SELECT'&&this.hasAttribute('multiple')){
10449$.each(this.options,function(key,option){
10450if(option.selected){
10451data[inputName]=option.value;
10452}
10453});
10454}else if(
10455!inputType||
10456$.inArray(inputType,['file','checkbox','radio','submit'])==-1||
10457this.checked
10458){
10459data[inputName]=this.value;
10460}
10461}
10462});
10463return data;
10464},
10465buildFormData:function(){
10466const formData=new FormData();
10467const form=this.form[0];
10468for(let input of form.querySelectorAll('input, textarea, select, button')){
10469let inputName=input.getAttribute('name');
10470let inputType=input.getAttribute('type');
10471if(inputType)inputType=inputType.toLowerCase();
10472if(typeof inputName==='undefined'||inputName===null)continue;
10473if(input.tagName==='SELECT'&&input.hasAttribute('multiple')){
10474for(let option of input.options){
10475if(option.selected){
10476formData.append(inputName,option.value);
10477}
10478}
10479}else if(
10480!inputType||
10481(inputType!=='checkbox'&&inputType!=='radio'&&inputType!=='file'&&inputType!=='submit')||
10482input.checked
10483){
10484formData.append(inputName,input.value);
10485}
10486}
10487return formData;
10488},
10489assignDropExtended:function(domNodes){
10490if(typeof domNodes.length==='undefined'){
10491domNodes=[domNodes];
10492}
10493Flow.each(
10494domNodes,
10495function(domNode){
10496domNode.addEventListener('dragover',this.flow.preventEvent,false);
10497domNode.addEventListener('dragenter',this.flow.preventEvent,false);
10498domNode.addEventListener('drop',this.onDropExtended,false);
10499},
10500this
10501);
10502},
10503unAssignDrop:function(domNodes){
10504if(typeof domNodes.length==='undefined'){
10505domNodes=[domNodes];
10506}
10507Flow.each(
10508domNodes,
10509function(domNode){
10510domNode.removeEventListener('dragover',this.flow.preventEvent);
10511domNode.removeEventListener('dragenter',this.flow.preventEvent);
10512domNode.removeEventListener('drop',this.onDropExtended);
10513},
10514this
10515);
10516},
10517removeExtendedDropZone:function(){
10518$depot_etendu=this.zones.depot_etendu;
10519this.unAssignDrop($depot_etendu);
10520$depot_etendu
10521.removeClass('bigup-extended-drop-zone')
10522.off('dragenter dragover')
10523.off('dragleave drop')
10524.removeData('bigup');
10525},
10526eventHasFiles:function(event){
10527if(event.dataTransfer.types){
10528for(var i=0;i<event.dataTransfer.types.length;i++){
10529if(event.dataTransfer.types[i]==='Files'){
10530return true;
10531}
10532}
10533}
10534return false;
10535},
10536};
10537$.bigup_enlever_fichier=function(me){
10538var emplacement=$(me).parents('.fichier');
10539var bigup=emplacement.data('bigup');
10540$(me).addClass('btn-disabled');
10541bigup.enlever_fichier(emplacement);
10542};
10543$.bigup_verifier_depots_etendus=function(){
10544jQuery('.bigup-extended-drop-zone').each(function(){
10545var bigup=jQuery(this).data('bigup');
10546if(!bigup){
10547$(this).removeClass('bigup-extended-drop-zone');
10548}else if(!document.body.contains(bigup.zones.depot.get(0))){
10549bigup.removeExtendedDropZone();
10550}
10551});
10552};
10553async function compress(file,maxWidth=0,maxHeight=0,quality=85){
10554const opts={};
10555if(maxWidth===0&&maxHeight===0){
10556return false;
10557}
10558opts.canvas=true;
10559if(maxWidth>0){
10560opts.maxWidth=maxWidth;
10561}
10562if(maxHeight>0){
10563opts.maxHeight=maxHeight;
10564}
10565opts.downsamplingRatio=0.5;
10566opts.meta=true;
10567const data=await loadImage(file.file,opts);
10568if(
10569(maxHeight===0||data.originalHeight<=maxHeight)
10570&&(maxWidth===0||data.originalWidth<=maxWidth)
10571){
10572return false;
10573}
10574if(quality>1){
10575quality=quality/100;
10576}
10577const blob=await new Promise(resolve=>data.image.toBlob(
10578blob=>{
10579if(data.imageHead&&data.exif){
10580loadImage.writeExifData(data.imageHead,data,'Orientation',1);
10581loadImage.replaceHead(blob,data.imageHead,function(newBlob){
10582return resolve(newBlob);
10583})
10584}else{
10585return resolve(blob);
10586}
10587},
10588file.file.type,
10589quality
10590));
10591if(blob.size>=file.file.size){
10592return false;
10593}
10594file.file=blob;
10595file.size=file.file.size;
10596file.bootstrap();
10597return true;
10598}
10599
10600
10601/* plugins-dist/bigup/javascript/bigup.loader.js?1788354511 */
10602jQuery(function($){
10603var formulaires_avec_bigup=function(){
10604$.bigup_verifier_depots_etendus();
10605setTimeout(function(){$(".formulaire_spip form input[type=file].bigup").bigup();},10)
10606}
10607formulaires_avec_bigup();
10608onAjaxLoad(formulaires_avec_bigup);
10609});
10610
10611
10612/* plugins-dist/mediabox/lib/lity/lity.js?1788354511 */
10613
10614(function(window,factory){
10615if(typeof define==='function'&&define.amd){
10616define(['jquery'],function($){
10617return factory(window,$);
10618});
10619}else if(typeof module==='object'&&typeof module.exports==='object'){
10620module.exports=factory(window,require('jquery'));
10621}else{
10622window.lity=factory(window,window.jQuery||window.Zepto);
10623}
10624}(typeof window!=="undefined"?window:this,function(window,$){
10625'use strict';
10626var document=window.document;
10627var _win=$(window);
10628var _deferred=$.Deferred;
10629var _html=$('html');
10630var _instances=[];
10631var _attrAriaHidden='aria-hidden';
10632var _dataAriaHidden='lity-'+_attrAriaHidden;
10633var _focusableElementsSelector='a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),iframe,object,embed,[contenteditable],[tabindex]:not
10633([tabindex^="-"])';
10634var _defaultOptions={
10635esc:true,
10636handler:null,
10637handlers:{
10638image:imageHandler,
10639inline:inlineHandler,
10640iframe:iframeHandler
10641},
10642forceFocusInside:false,
10643template:'<div class="lity" role="dialog" aria-label="Dialog Window (Press escape to close)" tabindex="-1"><div class="lity-wrap" data-lity-close role="document"><div class="lity-loader" aria-hidden="true">Loading...</div><div class="lity-container"><div class="lity-content"></div><button class="lity-close" type="button" aria-label="Close (Press escape to close)" data-lity-close>&times;</button></div></div></div>'
10644};
10645var _imageRegexp=/(^data:image\/)|(\.(png|jpe?g|gif|svg|webp|bmp|ico|tiff?)(\?\S*)?$)/i;
10646var _transitionEndEvent=(function(){
10647var el=document.createElement('div');
10648var transEndEventNames={
10649WebkitTransition:'webkitTransitionEnd',
10650MozTransition:'transitionend',
10651OTransition:'oTransitionEnd otransitionend',
10652transition:'transitionend'
10653};
10654for(var name in transEndEventNames){
10655if(el.style[name]!==undefined){
10656return transEndEventNames[name];
10657}
10658}
10659return false;
10660})();
10661function transitionEnd(element){
10662var deferred=_deferred();
10663if(!_transitionEndEvent||!element.length){
10664deferred.resolve();
10665}else{
10666element.one(_transitionEndEvent,deferred.resolve);
10667setTimeout(deferred.resolve,500);
10668}
10669return deferred.promise();
10670}
10671function settings(currSettings,key,value){
10672if(arguments.length===1){
10673return $.extend({},currSettings);
10674}
10675if(typeof key==='string'){
10676if(typeof value==='undefined'){
10677return typeof currSettings[key]==='undefined'
10678?null
10679:currSettings[key];
10680}
10681currSettings[key]=value;
10682}else{
10683$.extend(currSettings,key);
10684}
10685return this;
10686}
10687function parseQueryParams(params){
10688var pos=params.indexOf('?');
10689if(pos>-1){
10690params=params.substr(pos+1);
10691}
10692var pairs=decodeURI(params.split('#')[0]).split('&');
10693var obj={},p;
10694for(var i=0,n=pairs.length;i<n;i++){
10695if(!pairs[i]){
10696continue;
10697}
10698p=pairs[i].split('=');
10699obj[p[0]]=p[1];
10700}
10701return obj;
10702}
10703function appendQueryParams(url,params){
10704if(!params){
10705return url;
10706}
10707if('string'===$.type(params)){
10708params=parseQueryParams(params);
10709}
10710if(url.indexOf('?')>-1){
10711var split=url.split('?');
10712url=split.shift();
10713params=$.extend(
10714{},
10715parseQueryParams(split[0]),
10716params
10717)
10718}
10719return url+'?'+$.param(params);
10720}
10721function transferHash(originalUrl,newUrl){
10722var pos=originalUrl.indexOf('#');
10723if(-1===pos){
10724return newUrl;
10725}
10726if(pos>0){
10727originalUrl=originalUrl.substr(pos);
10728}
10729return newUrl+originalUrl;
10730}
10731function iframe(iframeUrl,instance,queryParams,hashUrl){
10732instance&&instance.element().addClass('lity-iframe');
10733if(queryParams){
10734iframeUrl=appendQueryParams(iframeUrl,queryParams);
10735}
10736if(hashUrl){
10737iframeUrl=transferHash(hashUrl,iframeUrl);
10738}
10739return'<div class="lity-iframe-container"><iframe frameborder="0" allowfullscreen allow="autoplay; fullscreen" src="'+iframeUrl+'"/></div>';
10740}
10741function error(msg){
10742return $('<span class="lity-error"></span>').append(msg);
10743}
10744function imageHandler(target,instance){
10745var desc=(instance.opener()&&instance.opener().data('lity-desc'))||'Image with no description';
10746var img=$('<img src="'+target+'" alt="'+desc+'"/>');
10747var deferred=_deferred();
10748var failed=function(){
10749deferred.reject(error('Failed loading image'));
10750};
10751img
10752.on('load',function(){
10753if(this.naturalWidth===0){
10754return failed();
10755}
10756deferred.resolve(img);
10757})
10758.on('error',failed)
10759;
10760return deferred.promise();
10761}
10762imageHandler.test=function(target){
10763return _imageRegexp.test(target);
10764};
10765function inlineHandler(target,instance){
10766var el,placeholder,hasHideClass;
10767try{
10768el=$(target);
10769}catch(e){
10770return false;
10771}
10772if(!el.length){
10773return false;
10774}
10775placeholder=$('<i style="display:none !important"></i>');
10776hasHideClass=el.hasClass('lity-hide');
10777instance
10778.element()
10779.one('lity:remove',function(){
10780placeholder
10781.before(el)
10782.remove()
10783;
10784if(hasHideClass&&!el.closest('.lity-content').length){
10785el.addClass('lity-hide');
10786}
10787})
10788;
10789return el
10790.removeClass('lity-hide')
10791.after(placeholder)
10792;
10793}
10794function iframeHandler(target,instance){
10795return iframe(target,instance);
10796}
10797function winHeight(){
10798return document.documentElement.clientHeight
10799?document.documentElement.clientHeight
10800:Math.round(_win.height());
10801}
10802function keydown(e){
10803var current=currentInstance();
10804if(!current){
10805return;
10806}
10807if(e.keyCode===27&&!!current.options('esc')){
10808current.close();
10809}
10810if(e.keyCode===9){
10811handleTabKey(e,current);
10812}
10813}
10814function handleTabKey(e,instance){
10815var focusableElements=instance.element().find(_focusableElementsSelector);
10816var focusedIndex=focusableElements.index(document.activeElement);
10817if(e.shiftKey&&focusedIndex<=0){
10818focusableElements.get(focusableElements.length-1).focus();
10819e.preventDefault();
10820}else if(!e.shiftKey&&focusedIndex===focusableElements.length-1){
10821focusableElements.get(0).focus();
10822e.preventDefault();
10823}
10824if(focusedIndex===-1&&instance.options().forceFocusInside){
10825focusableElements.get(0).focus();
10826e.preventDefault();
10827}
10828}
10829function resize(){
10830$.each(_instances,function(i,instance){
10831instance.resize();
10832});
10833}
10834function registerInstance(instanceToRegister){
10835if(1===_instances.unshift(instanceToRegister)){
10836_html.addClass('lity-active');
10837_win
10838.on({
10839resize:resize,
10840keydown:keydown
10841})
10842;
10843}
10844$('body > *').not(instanceToRegister.element())
10845.addClass('lity-hidden')
10846.each(function(){
10847var el=$(this);
10848if(undefined!==el.data(_dataAriaHidden)){
10849return;
10850}
10851el.data(_dataAriaHidden,el.attr(_attrAriaHidden)||null);
10852})
10853.attr(_attrAriaHidden,'true')
10854;
10855}
10856function removeInstance(instanceToRemove){
10857var show;
10858instanceToRemove
10859.element()
10860.attr(_attrAriaHidden,'true')
10861;
10862if(1===_instances.length){
10863_html.removeClass('lity-active');
10864_win
10865.off({
10866resize:resize,
10867keydown:keydown
10868})
10869;
10870}
10871_instances=$.grep(_instances,function(instance){
10872return instanceToRemove!==instance;
10873});
10874if(!!_instances.length){
10875show=_instances[0].element();
10876}else{
10877show=$('.lity-hidden');
10878}
10879show
10880.removeClass('lity-hidden')
10881.each(function(){
10882var el=$(this),oldAttr=el.data(_dataAriaHidden);
10883if(!oldAttr){
10884el.removeAttr(_attrAriaHidden);
10885}else{
10886el.attr(_attrAriaHidden,oldAttr);
10887}
10888el.removeData(_dataAriaHidden);
10889})
10890;
10891}
10892function currentInstance(){
10893if(0===_instances.length){
10894return null;
10895}
10896return _instances[0];
10897}
10898function factory(target,instance,handlers,preferredHandler){
10899var handler='inline',content;
10900var currentHandlers=$.extend({},handlers);
10901if(preferredHandler&&currentHandlers[preferredHandler]){
10902content=currentHandlers[preferredHandler](target,instance);
10903handler=preferredHandler;
10904}else{
10905$.each(['inline','iframe'],function(i,name){
10906delete currentHandlers[name];
10907currentHandlers[name]=handlers[name];
10908});
10909$.each(currentHandlers,function(name,currentHandler){
10910if(!currentHandler){
10911return true;
10912}
10913if(
10914currentHandler.test&&
10915!currentHandler.test(target,instance)
10916){
10917return true;
10918}
10919content=currentHandler(target,instance);
10920if(false!==content){
10921handler=name;
10922return false;
10923}
10924});
10925}
10926return{handler:handler,content:content||''};
10927}
10928function Lity(target,options,opener,activeElement){
10929var self=this;
10930var result;
10931var isReady=false;
10932var isClosed=false;
10933var element;
10934var content;
10935options=$.extend(
10936{},
10937_defaultOptions,
10938options
10939);
10940element=$(options.template);
10941self.element=function(){
10942return element;
10943};
10944self.opener=function(){
10945return opener;
10946};
10947self.content=function(){
10948return content;
10949};
10950self.options=$.proxy(settings,self,options);
10951self.handlers=$.proxy(settings,self,options.handlers);
10952self.resize=function(){
10953if(!isReady||isClosed){
10954return;
10955}
10956content
10957.css('max-height',winHeight()+'px')
10958.trigger('lity:resize',[self])
10959;
10960};
10961self.close=function(){
10962if(isClosed){
10963return;
10964}
10965isClosed=true;
10966removeInstance(self);
10967var deferred=_deferred();
10968if(
10969activeElement&&
10970(
10971document.activeElement===element[0]||
10972$.contains(element[0],document.activeElement)
10973)
10974){
10975try{
10976activeElement.focus();
10977}catch(e){
10978}
10979}
10980var trigerable=(content?content:element);
10981trigerable.trigger('lity:close',[self]);
10982element
10983.removeClass('lity-opened')
10984.addClass('lity-closed')
10985;
10986transitionEnd(trigerable.add(element))
10987.always(function(){
10988trigerable.trigger('lity:remove',[self]);
10989element.remove();
10990element=undefined;
10991deferred.resolve();
10992})
10993;
10994return deferred.promise();
10995};
10996result=factory(target,self,options.handlers,options.handler);
10997element
10998.attr(_attrAriaHidden,'false')
10999.addClass('lity-loading lity-opened lity-'+result.handler)
11000.appendTo('body')
11001.focus()
11002.on('click','[data-lity-close]',function(e){
11003if($(e.target).is('[data-lity-close]')){
11004self.close();
11005}
11006})
11007.trigger('lity:open',[self])
11008;
11009registerInstance(self);
11010$.when(result.content)
11011.always(ready)
11012;
11013function ready(result){
11014if(isClosed){
11015return;
11016}
11017content=$(result)
11018.css('max-height',winHeight()+'px')
11019;
11020element
11021.find('.lity-loader')
11022.each(function(){
11023var loader=$(this);
11024transitionEnd(loader)
11025.always(function(){
11026loader.remove();
11027})
11028;
11029})
11030;
11031element
11032.removeClass('lity-loading')
11033.find('.lity-content')
11034.empty()
11035.append(content)
11036;
11037isReady=true;
11038content
11039.trigger('lity:ready',[self])
11040;
11041}
11042}
11043function lity(target,options,opener){
11044if(!target.preventDefault){
11045opener=$(opener);
11046}else{
11047target.preventDefault();
11048opener=$(this);
11049target=opener.data('lity-target')||opener.attr('href')||opener.attr('src');
11050}
11051var instance=new Lity(
11052target,
11053$.extend(
11054{},
11055opener.data('lity-options')||opener.data('lity'),
11056options
11057),
11058opener,
11059document.activeElement
11060);
11061if(!target.preventDefault){
11062return instance;
11063}
11064}
11065lity.version='3.0.0-dev';
11066lity.options=$.proxy(settings,lity,_defaultOptions);
11067lity.handlers=$.proxy(settings,lity,_defaultOptions.handlers);
11068lity.current=currentInstance;
11069lity.iframe=iframe;
11070$(document).on('click.lity','[data-lity]',lity);
11071return lity;
11072}));
11073
11074
11075/* plugins-dist/mediabox/lity/js/lity.mediabox.js?1788354511 */
11076;
11077(function($){
11078var litySpip={
11079nameSpace:'mediabox',
11080config:{
11081forceFocusInside:true,
11082},
11083strings:{
11084},
11085callbacks:{
11086onOpen:[],
11087onShow:[],
11088onClose:[]
11089},
11090focusedItem:[],
11091isTransition:false,
11092adjustHeight:function(instance){
11093var $content=instance.content();
11094var $containerHeight=instance.element().find('.lity-container').height();
11095if($containerHeight){
11096var h=Math.round($containerHeight)+'px';
11097$content
11098.css('max-height',h)
11099.find('[data-'+litySpip.nameSpace+'-force-max-height]')
11100.css('max-height',h);
11101}
11102},
11103template:function(cfg,type,groupName,groupPosition,groupLength){
11104var className='';
11105if(!!cfg.className){
11106className=' '+cfg.className;
11107}
11108if(cfg.transitionOnOpen){
11109className+=' lity-transition-on-open-'+cfg.transitionOnOpen;
11110}
11111if(!!cfg.noTransition){
11112className+=' lity-no-transition';
11113}
11114if(!!cfg.slideShow){
11115className+=' lity-slideshow';
11116}
11117var styles=[];
11118var styles_container='';
11119var styles_content='';
11120if(cfg.sideBar){
11121className+=' lity-sidebar lity-sidebar-'+cfg.sideBar;
11122if(cfg.sideBar==='start'||cfg.sideBar==='end'){
11123className+=' lity-sidebar-inline';
11124cfg.height='100vh';
11125cfg.maxHeight='100vh';
11126}
11127if(cfg.sideBar==='top'||cfg.sideBar==='bottom'){
11128className+=' lity-sidebar-block';
11129cfg.width='100vw';
11130cfg.maxWidth='100vw';
11131}
11132}
11133if(cfg.maxWidth){
11134styles.push("max-width:"+cfg.maxWidth.replace("%","vw"));
11135}
11136if(cfg.maxHeight){
11137styles.push("max-height:"+cfg.maxHeight.replace("%","vh"));
11138}
11139if(cfg.width){
11140styles.push("width:"+cfg.width.replace("%","vw"));
11141className+=' lity-width-set';
11142}
11143if(cfg.height){
11144styles.push("height:"+cfg.height.replace("%","vh"));
11145className+=' lity-height-set';
11146if(cfg.minHeight){
11147styles.push("min-height:"+cfg.minHeight.replace("%","vh"));
11148}
11149}
11150if(styles.length){
11151styles_container=' style="'+styles.join(';')+'"';
11152}
11153styles=[];
11154var max;
11155if(cfg.minWidth){
11156max=(cfg.maxWidth?cfg.maxWidth.replace("%","vw"):'95vw');
11157styles.push("min-width:min("+max+","+cfg.minWidth.replace("%","vw")+')');
11158}
11159if(cfg.minHeight&&!cfg.height){
11160max=(cfg.maxHeight?cfg.maxHeight.replace("%","vw"):'95vh');
11161styles.push("min-height:min("+max+","+cfg.minHeight.replace("%","vh")+')');
11162}
11163if(styles.length){
11164styles_content=' style="'+styles.join(';')+'"';
11165}
11166var button_next_prev='',
11167button_start_stop='',
11168group_info_text='',
11169group_info='';
11170if(groupName&&groupLength){
11171if(groupLength>1){
11172var newPosition=(groupPosition<=0?groupLength-1:groupPosition-1);
11173button_next_prev+='<button class="lity-previous" type="button" data-group-name="'+groupName+'" data-group-position="'+newPosition+'" aria-label="'+litySpip.strings.previous+'" data-lity-previous'
11174+'><b title="'+litySpip.strings.previous+'">❮</b></button>';
11175newPosition=(groupPosition>=groupLength-1?0:groupPosition+1);
11176button_next_prev+='<button class="lity-next" type="button" data-group-name="'+groupName+'" data-group-position="'+newPosition+'"  aria-label="'+litySpip.strings.next+'" data-lity-next'
11177+'><b title="'+litySpip.strings.next+'">❯</b></button>';
11178}
11179group_info_text=" "+litySpip.strings.current;
11180group_info_text=group_info_text.replace('{current}',(groupPosition+1)+'');
11181group_info_text=group_info_text.replace('{total}',groupLength+'');
11182button_start_stop+='<button class="lity-start-stop" type="button" data-lity-stop-start>'
11183+'<b class="lity-start" aria-label="'+litySpip.strings.slideshowStart+'" title="'+litySpip.strings.slideshowStart+'">▶</b>'
11184+'<b class="lity-stop" aria-label="'+litySpip.strings.slideshowStop+'" title="'+litySpip.strings.slideshowStop+'">□</b>'
11185+'</button>';
11186group_info='<div class="lity-group-caption">'
11187+'<span class="lity-group-start-stop">'+button_start_stop+'</span>'
11188+'<span class="lity-group-current">'+group_info_text+'</span>'
11189+'<span class="lity-group-next-prev">'+button_next_prev+'</span>'
11190+'<span class="lity-group-progress-bar"><span class="lity-group-progress-bar-status" style="width:0"></span></span>'
11191+'</div>';
11192}
11193var close_button_aria_label=litySpip.strings.close+' ('+litySpip.strings.press_escape+')';
11194var dialog_title=(type==='image'?litySpip.strings.dialog_title_med:litySpip.strings.dialog_title_def);
11195dialog_title+=group_info_text+' ('+litySpip.strings.press_escape+')';
11196var t=
11197'<dialog class="box_mediabox box_modalbox lity'+className+'" role="dialog" aria-label="'+dialog_title+'" tabindex="-1">'
11198+'<div class="lity-wrap"'+(cfg.overlayClose===false?'':' data-lity-close')+' role="document">'
11199+'<div class="lity-loader" aria-hidden="true" aria-label="'+litySpip.strings.loading+'"><span class="box-loading"></span></div>'
11200+'<div class="lity-container"'+styles_container+'>'
11201+'<button class="lity-close" type="button" aria-label="'+close_button_aria_label+'" data-lity-close><b data-lity-close title="'+litySpip.strings.close+'">&times;</b></button>'
11202+'<div class="lity-content"'+styles_content+'></div>'
11203+group_info
11204+'</div>'
11205+'</div>'
11206+'</dialog>';
11207return t;
11208},
11209failHandler:function(target,instance){
11210return'<div class="error lity-error">Failed loading content</div>';
11211},
11212ajaxHandler:function(target,instance){
11213var selector,
11214off=target.indexOf(" ");
11215if(off>-1){
11216selector=target.slice(off);
11217selector=selector.match(/[^\x20\t\r\n\f]+/g)||[];
11218selector=selector.join(" ");
11219target=target.slice(0,off);
11220}
11221if(jQuery.spip.preloaded_urls[target]){
11222var content=jQuery.spip.preloaded_urls[target];
11223if(selector){
11224content=$("<div>").append($.parseHTML(content)).find(selector);
11225}
11226return $('<div class="lity-content-inner"></div>').append(content);
11227}
11228var _deferred=$.Deferred;
11229var deferred=_deferred();
11230var failed=function(){
11231deferred.reject($('<span class="error lity-error"></span>').append('Failed loading ajax'));
11232};
11233$.get(target)
11234.done(function(content){
11235jQuery.spip.preloaded_urls[target]=content;
11236if(selector){
11237content=$("<div>").append($.parseHTML(content)).find(selector);
11238}
11239deferred.resolve($('<div class="lity-content-inner"></div>').append(content));
11240})
11241.fail(failed);
11242return deferred.promise();
11243},
11244imageBuildContent:function(img,desc,longdesc,defaultCaptionClass){
11245img.attr('alt',desc?desc:'');
11246desc=(longdesc?longdesc:desc);
11247if(desc){
11248defaultCaptionClass=(defaultCaptionClass?defaultCaptionClass:'expanded');
11249var id='lity-image-caption-'+Date.now().toString(36)+Math.random().toString(36).substr(2);
11250img.attr('aria-describedby',id);
11251img=$('<figure class="lity-image-figure"></figure>').append(img).append('<figcaption id="'+id+'" class="lity-image-caption '+defaultCaptionClass+'"><div class="lity-image-caption-text">'+desc+'</div></figcaption>');
11252}
11253else{
11254img=$('<figure class="lity-image-figure"></figure>').append(img);
11255}
11256return img;
11257},
11258imageHandler:function(target,instance){
11259var _deferred=$.Deferred;
11260var desc='';
11261var longdesc='';
11262var defaultCaptionClass=(instance.options().defaultCaptionState==='min'?'min':'expanded');
11263var opener=instance.opener();
11264if(opener){
11265desc=opener.attr('title')||$('img[alt]',opener).eq(0).attr('alt')||'';
11266var by=opener.attr('aria-describedby')||$('img[aria-describedby]',opener).eq(0).attr('aria-describedby')||'';
11267if(by){
11268longdesc=$('#'+by).html();
11269longdesc=longdesc.trim();
11270}
11271if(!desc){
11272desc=desc||instance.opener().attr('aria-label')||'';
11273}
11274desc=desc.trim();
11275}
11276var img;
11277var cache=opener.data('lity-image-cache')||{};
11278if(cache[target]){
11279img=cache[target];
11280img=litySpip.imageBuildContent(img,desc,longdesc,defaultCaptionClass);
11281return img;
11282}
11283img=$('<img src="'+target+'" class="lity-image-img" data-'+litySpip.nameSpace+'-force-max-height />');
11284var deferred=_deferred();
11285var failed=function(){
11286deferred.reject($('<span class="error lity-error"></span>').append('Failed loading image'));
11287};
11288img
11289.on('load',function(){
11290if(this.naturalWidth===0){
11291img.attr("style","width:25vw;");
11292}
11293cache[target]=img;
11294opener.data('lity-image-cache',cache);
11295deferred.resolve(litySpip.imageBuildContent(img,desc,longdesc,defaultCaptionClass));
11296})
11297.on('error',failed)
11298;
11299return deferred.promise();
11300},
11301groupElements:function(groupName){
11302return $('.lity-enabled[data-'+litySpip.nameSpace+'-group'+'='+groupName+']');
11303},
11304eventSet:{},
11305setEvents:function(what){
11306if(!litySpip.eventSet[what]){
11307switch(what){
11308case'opener':
11309$(document).on('click','.lity-enabled',litySpip.onClickOpener);
11310break;
11311case'listener':
11312$(document).on('click','.lity-previous,.lity-next',litySpip.onPrevNext);
11313$(document).on('click','.lity-start-stop',litySpip.onSlideShowToggle);
11314$(window).on('keyup',litySpip.onKeyUp);
11315$(document).on('click','.lity-image-caption',litySpip.onCaptionToggle);
11316break;
11317}
11318litySpip.eventSet[what]=true;
11319}
11320},
11321onKeyUp:function(event){
11322var c={37:"previous",39:"next"}[event.keyCode];
11323if(c){
11324var current=lity.current();
11325if(current){
11326jQuery('.lity-'+c,current.element()).trigger('click');
11327}
11328}
11329},
11330onCaptionToggle:function(event){
11331var $caption=$(this);
11332$caption.toggleClass('min expanded');
11333},
11334openerFromPrevNext($button){
11335var groupName=$button.data('group-name');
11336var groupPosition=$button.data('group-position');
11337return litySpip.groupElements(groupName).eq(groupPosition);
11338},
11339onPrevNext:function(event){
11340var $button=$(this);
11341var newEl=litySpip.openerFromPrevNext($button);
11342if(newEl){
11343var element=lity.current().element();
11344litySpip.isTransition={oldClosed:false,newOpened:true};
11345element.addClass('lity-no-transition').css('visibility','hidden');
11346litySpip.slideshowStop(element);
11347var options={transitionOnOpen:$button.is('.lity-next')?'slide-from-right':'slide-from-left'};
11348if(element.is('.lity-slideshow')){
11349options.slideShow=true;
11350}
11351lity.current().close();
11352litySpip.elementOpener(newEl,options);
11353}
11354},
11355slideshowStart:function(element){
11356var $progress=element.find('.lity-group-progress-bar-status');
11357$progress.attr('style','');
11358$progress.css('width','100%');
11359var delay=litySpip.config.slideshowSpeed;
11360setTimeout(function(){
11361$progress.css('transition','width '+((delay-200)/1000)+'s linear');
11362$progress.css('width','0');
11363},200);
11364timer=setTimeout(function(){element.find('.lity-next').trigger('click')},delay);
11365element.data('lity-timer',timer);
11366$('.lity-start',element).attr('aria-hidden','true');
11367$('.lity-stop',element).attr('aria-hidden','false');
11368jQuery('.lity-start-stop',element).focus();
11369},
11370slideshowStop:function(element){
11371timer=element.data('lity-timer');
11372if(timer){
11373clearTimeout(timer);
11374}
11375},
11376onSlideShowToggle:function(event){
11377var $button=$(this);
11378var element=$button.closest('.lity');
11379var slideShowState=(element.is('.lity-slideshow')?true:false);
11380var timer;
11381if(!slideShowState){
11382litySpip.slideshowStart(element);
11383}
11384else{
11385litySpip.slideshowStop(element);
11386$('.lity-start',element).attr('aria-hidden','false');
11387$('.lity-stop',element).attr('aria-hidden','true');
11388}
11389element.toggleClass('lity-slideshow');
11390},
11391onClickOpener:function(event){
11392event.preventDefault();
11393var opener=$(this);
11394litySpip.elementOpener(opener);
11395},
11396elementOpener:function(opener,options){
11397var cfg=opener.data('mediabox-options');
11398if(options){
11399cfg=$.extend({},cfg,options);
11400}
11401var target=opener.data('href-popin')||opener.data('href')||opener.attr('href')||opener.attr('src');
11402litySpip.lityOpener(target,cfg,opener.get(0));
11403},
11404lityOpener:function(target,cfg,opener){
11405litySpip.setEvents('listener');
11406if(!litySpip.isTransition){
11407litySpip.callbacks.onOpen.push(cfg.onOpen||false);
11408litySpip.callbacks.onShow.push(cfg.onShow||false);
11409litySpip.callbacks.onClose.push(cfg.onClose||false);
11410litySpip.focusedItem.push($(document.activeElement));
11411}
11412var type=cfg.type||'';
11413if(!type&&opener){
11414type=$(opener).data(litySpip.nameSpace+'-type')||'';
11415}
11416var handlers=lity.handlers();
11417if(type==='ajax'){
11418handlers.ajax=litySpip.ajaxHandler;
11419}
11420handlers.image=litySpip.imageHandler;
11421if(type==='inline'){
11422var el=[];
11423try{
11424el=$(target);
11425}catch(e){
11426el=[];
11427}
11428if(!el.length){
11429handlers.inline=litySpip.failHandler;
11430}
11431}
11432cfg=$.extend({handlers:handlers},cfg);
11433if(type&&['image','inline','ajax','iframe'].indexOf(type)!==-1){
11434cfg.handler=type;
11435}
11436if(opener&&typeof($.parseMediaboxOptions)!=="undefined"){
11437cfg=$.extend(cfg,$.parseMediaboxOptions(litySpip.nameSpace,opener));
11438}
11439if(!!cfg.preloadOnly){
11440litySpip.lityPreLoader(target,cfg,opener);
11441}
11442else{
11443var groupPosition=0;
11444var groupLength=0;
11445if(opener){
11446var groupName=cfg.rel||(opener?$(opener).data(litySpip.nameSpace+'-group'):'');
11447if(groupName){
11448var elements=litySpip.groupElements(groupName);
11449groupPosition=elements.index($(opener));
11450groupLength=elements.length;
11451}
11452}
11453cfg=$.extend({template:litySpip.template(cfg,type,groupName,groupPosition,groupLength)},cfg);
11454if(cfg.samePopin){
11455var l=lity.current();
11456if(l){
11457l.close();
11458}
11459}
11460lity(target,cfg,opener);
11461}
11462},
11463lityPreLoader:function(target,cfg,opener){
11464if(cfg.handler&&cfg.handlers[cfg.handler]){
11465if(cfg.handler==='image'||cfg.handler==='ajax'){
11466var instance={
11467opener:function(){return $(opener);},
11468options:function(){return cfg}
11469};
11470var content=cfg.handlers[cfg.handler](target,instance);
11471}
11472}
11473},
11474ajaxReloadElements:function(elements){
11475const targets=elements
11476.split(',')
11477.map(s=>s.trim())
11478.filter(Boolean);
11479targets.forEach(function(target){
11480try{
11481if(/^[.#[]/.test(target)){
11482const $element=$(target);
11483if($element.length){
11484$element.ajaxReload();
11485}
11486}else{
11487ajaxReload(target);
11488}
11489}catch(e){
11490console.warn("Mediabox ajaxReloadElements : erreur lors du traitement de '"+target+"'.",e);
11491}
11492});
11493}
11494}
11495jQuery.fn.extend({
11496mediabox:function(options){
11497var cfg=$.extend({},litySpip.config,options);
11498if(this===jQuery.fn){
11499var href=cfg.href||"";
11500litySpip.lityOpener(href,cfg,null);
11501return this;
11502}else{
11503if(cfg.rel){
11504this.attr('data-'+litySpip.nameSpace+'-group',cfg.rel);
11505}
11506else{
11507this.each(function(){
11508var rel=$(this).attr('rel');
11509if(rel){
11510$(this).attr('data-'+litySpip.nameSpace+'-group',rel);
11511}
11512});
11513}
11514litySpip.setEvents('opener');
11515this
11516.data('mediabox-options',cfg)
11517.addClass('lity-enabled');
11518(cfg.preload?this:this.filter('[data-'+litySpip.nameSpace+'-preload]')).each(function(){
11519litySpip.elementOpener($(this),{preloadOnly:true});
11520});
11521return this;
11522}
11523},
11524mediaboxClose:function(){
11525var $current=lity.current();
11526if($current){
11527$current.close();
11528return true;
11529}
11530return false;
11531}
11532});
11533var initConfig=function(){
11534var b=typeof(mediabox_settings)=='object'?mediabox_settings:{};
11535litySpip.nameSpace=b.ns?b.ns:'mediabox';
11536litySpip.strings.slideshowStart=b.str_ssStart;
11537litySpip.strings.slideshowStop=b.str_ssStop;
11538litySpip.strings.current=b.str_cur;
11539litySpip.strings.previous=b.str_prev;
11540litySpip.strings.next=b.str_next;
11541litySpip.strings.close=b.str_close;
11542litySpip.strings.loading=b.str_loading;
11543litySpip.strings.press_escape=b.str_petc;
11544litySpip.strings.dialog_title_def=b.str_dialTitDef;
11545litySpip.strings.dialog_title_med=b.str_dialTitMed;
11546litySpip.config.slideshowSpeed=(b.lity.slideshow_speed?b.lity.slideshow_speed:5000);
11547litySpip.config.defaultCaptionState=(b.lity.defaultCaptionState?b.lity.defaultCaptionState:'expanded');
11548var styles={
11549'container':'',
11550'content':'',
11551};
11552var max;
11553if(b.lity.minWidth){
11554max=(b.lity.maxWidth?b.lity.maxWidth.replace('%','vw'):'95vw');
11555styles.content+="min-width:min("+max+","+b.lity.minWidth.replace('%','vw')+');';
11556}
11557if(b.lity.maxWidth){
11558styles.container+="max-width:"+b.lity.maxWidth.replace('%','vw')+';';
11559}
11560if(b.lity.minHeight){
11561max=(b.lity.maxHeight?b.lity.maxHeight.replace('%','vw'):'95vh');
11562styles.content+="min-height:min("+max+","+b.lity.minHeight.replace('%','vh')+');';
11563}
11564if(b.lity.maxHeight){
11565styles.container+="max-height:"+b.lity.maxHeight.replace('%','vh')+';';
11566}
11567var insert='';
11568for(let key in styles){
11569if(styles[key]){
11570insert+='.box_mediabox .lity-'+key+'{'+styles[key]+'}';
11571}
11572}
11573if(b.lity.opacite){
11574insert+='.box_mediabox:before{opacity:'+b.lity.opacite+'}';
11575}
11576if(insert){
11577$('head').append($('<style type="text/css">'+insert+'</style>'));
11578}
11579$(document).on('lity:open',function(event,instance){
11580if(document.fullscreenElement){
11581document.fullscreenElement.appendChild(instance.element().get(0));
11582}
11583if(!instance.element().is('.lity-slideshow')){
11584jQuery('.lity-close',instance.element()).focus();
11585}
11586if(!litySpip.isTransition){
11587var callback=litySpip.callbacks.onOpen.pop();
11588if(callback){
11589callback(event,instance);
11590}
11591}
11592});
11593$(document).on('lity:ready',function(event,instance){
11594litySpip.adjustHeight(instance);
11595if(jQuery.spip){
11596jQuery.spip.triggerAjaxLoad(instance.element().get(0))
11597}
11598if(instance.element().addClass('lity-ready').is('.lity-slideshow')){
11599litySpip.slideshowStart(instance.element());
11600}
11601if(!litySpip.isTransition){
11602var callback=litySpip.callbacks.onShow.pop();
11603if(callback){
11604callback(event,instance);
11605}
11606}
11607else{
11608litySpip.isTransition.newOpened=true;
11609if(litySpip.isTransition.oldClosed){
11610litySpip.isTransition=false;
11611}
11612instance.content().trigger('lity:resize',[instance]);
11613}
11614var $next=instance.element().find('.lity-next');
11615if($next.length){
11616$next=litySpip.openerFromPrevNext($next);
11617if($next){
11618litySpip.elementOpener($next,{preloadOnly:true});
11619}
11620}
11621});
11622$(document).on('lity:close',function(event,instance){
11623if(!litySpip.isTransition){
11624if(litySpip.callbacks.onShow.length>litySpip.callbacks.onOpen.length){
11625litySpip.callbacks.onShow.pop();
11626}
11627var callback=litySpip.callbacks.onClose.pop();
11628if(callback){
11629callback(event,instance);
11630}
11631let options=instance.options();
11632let ajaxReloadArgs=options.ajaxReloadOnClose;
11633if(ajaxReloadArgs&&typeof(ajaxReloadArgs)==='string'){
11634litySpip.ajaxReloadElements(ajaxReloadArgs);
11635}
11636}
11637});
11638$(document).on('lity:remove',function(event,instance){
11639if(!litySpip.isTransition){
11640var focused=litySpip.focusedItem.pop();
11641if(focused){
11642try{
11643focused.focus();
11644}catch(e){
11645}
11646}
11647}
11648else{
11649litySpip.isTransition.oldClosed=true;
11650if(litySpip.isTransition.newOpened){
11651litySpip.isTransition=false;
11652}
11653}
11654});
11655$(document).on('lity:resize',function(event,instance){
11656litySpip.adjustHeight(instance);
11657});
11658}
11659initConfig();
11660})(jQuery);
11661
11662
11663/* plugins-dist/mediabox/javascript/spip.mediabox.js?1788354511 */
11664(function($){
11665$.mediabox
11666=function(options){
11667if(typeof(mediabox_autodetect_href)=='function'
11668&&options.href
11669&&!options.type){
11670options.type=mediabox_autodetect_href(options.href);
11671}
11672$.fn.mediabox(options);
11673};
11674$.modalboxload=$.modalbox=function(href,options){$.mediabox($.extend({href:href,overlayClose:true},options));};
11675$.modalboxclose=$.mediaboxClose=$.fn.mediaboxClose;
11676$.parseMediaboxOptions=function(nameSpace,opener){
11677var options={};
11678var data2options={
11679"width":"width",
11680"height":"height",
11681"min-width":"minWidth",
11682"min-height":"minHeight",
11683"max-width":"maxWidth",
11684"max-height":"maxHeight",
11685"caption-state":"defaultCaptionState",
11686"sidebar":"sideBar",
11687"class":"className",
11688"ajaxreload-on-close":"ajaxReloadOnClose",
11689};
11690var v;
11691for(var o in data2options){
11692v=($(opener).data(nameSpace+'-'+o)||'');
11693if(v){
11694options[data2options[o]]=v;
11695}
11696}
11697if(!options.length){
11698var eltclass=$(opener).prop('class');
11699if(eltclass){
11700if(eltclass.indexOf("boxWidth-")!==-1){
11701var w=eltclass.match(/boxWidth-([^\s'">]*)/);
11702w=w[1].replace(/pc/,'%');
11703options["width"]=w;
11704}
11705if(eltclass.indexOf("boxHeight-")!==-1){
11706var h=eltclass.match(/boxHeight-([^\s'">]*)/);
11707h=h[1].replace(/pc/,'%');
11708options["height"]=h;
11709}
11710if(eltclass.indexOf("boxIframe")!==-1){
11711options["type"]='iframe';
11712}
11713if(eltclass.indexOf("boxInline")!==-1){
11714options["type"]='inline';
11715}
11716}
11717}
11718data2options={"same-popin":"samePopin","type":"type"};
11719for(var o in data2options){
11720v=($(opener).data(nameSpace+'-'+o)||'');
11721if(v){
11722options[data2options[o]]=v;
11723}
11724}
11725return options;
11726}
11727})(jQuery);
11728var mediaboxInit=function(){
11729var b=$.extend({},mediabox_settings);
11730if(b.ns!=='box'){
11731$('[data-box-type]').each(function(i,e){
11732var $e=$(e);
11733var d=$e.attr('data-box-type');
11734$e.removeAttr('data-box-type').attr('data-'+b.ns+'-type',d);
11735});
11736}
11737if(b.auto_detect){
11738var $popins=$('[data-href-popin],[data-'+b.ns+'-type]'+(window.var_zajax_content?',[data-var_zajax],a.popin':''))
11739.add(b.sel_c)
11740.not(ajaxbloc_selecteur,'.ajaxbloc','.hasbox');
11741$popins.each(function(i,e){
11742var $e=$(e);
11743var url=$e.attr('href')||"./";
11744var popin=$e.attr('data-href-popin');
11745var type=$e.attr('data-'+b.ns+'-type')||'';
11746if(!popin){
11747var env=$e.attr('data-ajax-env');
11748if(env){
11749url=parametre_url(parametre_url(url,'var_ajax',1),'var_ajax_env',env)
11750$e.removeAttr('data-ajax-env');
11751type='ajax';
11752}
11753var za=$e.attr('data-var_zajax');
11754if(za!==undefined||$e.hasClass('popin')){
11755if(za==='content'&&window.var_zajax_content){
11756za=window.var_zajax_content;
11757}
11758url=parametre_url(url,'var_zajax',za||window.var_zajax_content);
11759$e.removeAttr('data-var_zajax');
11760type='ajax';
11761}
11762if((url!==$e.attr('href')||(!popin&&type))&&url!=="./"){
11763$e.attr('data-href-popin',url);
11764}
11765}
11766url=popin||url;
11767if(!type){
11768var attrs=$e.data();
11769var types=['inline','html','iframe','image','ajax'];
11770types.some(function(e){
11771var k=b.ns+e.charAt(0).toUpperCase()+e.slice(1);
11772if(attrs[k]){
11773type=e;
11774return true;
11775}
11776});
11777}
11778if(!type&&typeof(mediabox_autodetect_href)=='function'){
11779type=mediabox_autodetect_href(url);
11780}
11781if(!type||$e.hasClass('boxIframe')){
11782type="iframe";
11783$e.removeClass('boxIframe');
11784}
11785$e.attr('data-'+b.ns+'-type',type);
11786});
11787}
11788if(b.sel_g){
11789var $items=$();
11790$(b.sel_g).each(function(i,e){
11791$items=$items.add(
11792$(this).is('a[type^=\'image\']')
11793?$(this)
11794:$(this).find('a[type^=\'image\']')
11795);
11796});
11797$items
11798.not('.hasbox')
11799.removeAttr('onclick')
11800.mediabox({rel:'galerieauto',slideshow:true,slideshowAuto:false,type:'image'})
11801.addClass('hasbox');
11802}
11803if(b.tt_img){
11804$('a[type^="image"],a[href$=".png"],a[href$=".jpg"],a[href$=".jpeg"],a[href$=".svg"],a[href$=".webp"]')
11805.not('.hasbox')
11806.removeAttr('onclick')
11807.mediabox({type:'image'})
11808.addClass('hasbox')
11809;
11810}
11811$(b.sel_c)
11812.not('.hasbox')
11813.mediabox()
11814.addClass('hasbox')
11815;
11816$('[data-href-popin]',this)
11817.not('.hasbox')
11818.click(function(){if($.modalbox)$.modalbox($(this).attr('data-href-popin'),$.parseMediaboxOptions(b.ns,this));return false;})
11819.addClass('hasbox');
11820};
11821(function($){
11822if(typeof onAjaxLoad=='function')onAjaxLoad(mediaboxInit);
11823$(mediaboxInit);
11824})(jQuery);
11825function mediabox_autodetect_href(href,options){
11826options=$.extend({
11827breakMode:true,
11828tests:{
11829image:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,
11830inline:/^[#.]\w/,
11831html:/^\s*<[\w!][^<]*>/,
11832ajax:/((\?|&(amp;)?)var_z?ajax=|cache-ajaxload\/)/i,
11833iframe:/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))\.?)(?::\d{2,5})?(?:[/?#]\S*)?$/i,
11834},
11835},options);
11836var matched=options.breakMode?false:[];
11837$.each(options.tests,function(type,regex){
11838if(href.match(regex)&&!href.match('/File:[^/]+(\\#|[?]|$)')){
11839if(options.breakMode){
11840matched=type;
11841return false;
11842}else{
11843matched.push(type);
11844}
11845}
11846});
11847return matched;
11848};
11849
11850
11851/* plugins-dist/porte_plume/javascript/jquery.markitup_pour_spip.js?1788354511 */
11852
11853;(function($){
11854$.fn.markItUp=function(settings,extraSettings){
11855var method,params,options,ctrlKey,shiftKey,altKey;ctrlKey=shiftKey=altKey=false;
11856markitup_prompt=false;
11857if(typeof settings=='string'){
11858method=settings;
11859params=extraSettings;
11860}
11861options={id:'',
11862nameSpace:'',
11863root:'',
11864lang:'',
11865previewHandler:false,
11866previewInWindow:'',
11867previewInElement:'',
11868previewAutoRefresh:true,
11869previewPosition:'after',
11870previewTemplatePath:'~/templates/preview.html',
11871previewParser:false,
11872previewParserPath:'',
11873previewParserVar:'data',
11874previewParserAjaxType:'POST',
11875resizeHandle:true,
11876beforeInsert:'',
11877afterInsert:'',
11878onEnter:{},
11879onShiftEnter:{},
11880onCtrlEnter:{},
11881onTab:{},
11882markupSet:[{}]
11883};
11884$.extend(options,settings,extraSettings);
11885if(!options.root){
11886$('script').each(function(a,tag){
11887var miuScript=$(tag).get(0).src.match(/(.*)jquery\.markitup(\.pack)?\.js$/);
11888if(miuScript!==null){
11889options.root=miuScript[1];
11890}
11891});
11892}
11893var uaMatch=function(ua){
11894ua=ua.toLowerCase();
11895var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||
11896ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||
11897[];
11898return{
11899browser:match[1]||"",
11900version:match[2]||"0"
11901};
11902};
11903var matched=uaMatch(navigator.userAgent);
11904var browser={};
11905if(matched.browser){
11906browser[matched.browser]=true;
11907browser.version=matched.version;
11908}
11909if(browser.chrome){
11910browser.webkit=true;
11911}else if(browser.webkit){
11912browser.safari=true;
11913}
11914return this.each(function(){
11915var $$,textarea,levels,scrollPosition,caretPosition,
11916clicked,hash,header,footer,previewWindow,template,iFrame,abort,
11917before,after;
11918$$=$(this);
11919textarea=this;
11920levels=[];
11921abort=false;
11922scrollPosition=caretPosition=0;
11923caretOffset=-1;
11924options.previewParserPath=localize(options.previewParserPath);
11925options.previewTemplatePath=localize(options.previewTemplatePath);
11926if(method){
11927switch(method){
11928case'remove':
11929remove();
11930break;
11931case'insert':
11932markup(params);
11933break;
11934default:
11935$.error('Method '+method+' does not exist on jQuery.markItUp');
11936}
11937return;
11938}
11939function localize(data,inText){
11940if(inText){
11941return data.replace(/("|')~\//g,"$1"+options.root);
11942}
11943return data.replace(/^~\//,options.root);
11944}
11945function init(){
11946id='';nameSpace='';
11947if(options.id){
11948id='id="'+options.id+'"';
11949}else if($$.attr("id")){
11950id='id="markItUp'+($$.attr("id").substr(0,1).toUpperCase())+($$.attr("id").substr(1))+'"';
11951}
11952if(options.nameSpace){
11953nameSpace='class="'+options.nameSpace+'"';
11954}
11955currentScrollPosition=$$.scrollTop();
11956$$.wrap('<div '+nameSpace+'></div>');
11957$$.wrap('<div '+id+' class="markItUp"></div>');
11958$$.wrap('<div class="markItUpContainer"></div>');
11959$$.addClass("markItUpEditor");
11960$$.scrollTop(currentScrollPosition);
11961header=$('<div class="markItUpHeader"></div>').insertBefore($$);
11962$(dropMenus(options.markupSet)).appendTo(header);
11963$(header).find("li.markItUpDropMenu ul:empty").parent().remove();
11964footer=$('<div class="markItUpFooter"></div>').insertAfter($$);
11965if(options.resizeHandle===true&&browser.safari!==true){
11966resizeHandle=$('<div class="markItUpResizeHandle"></div>')
11967.insertAfter($$)
11968.on("mousedown.markItUp",function(e){
11969var h=$$.height(),y=e.clientY,mouseMove,mouseUp;
11970mouseMove=function(e){
11971$$.css("height",Math.max(20,e.clientY+h-y)+"px");
11972return false;
11973};
11974mouseUp=function(e){
11975$("html").off("mousemove.markItUp",mouseMove).off("mouseup.markItUp",mouseUp);
11976return false;
11977};
11978$("html").on("mousemove.markItUp",mouseMove).on("mouseup.markItUp",mouseUp);
11979});
11980footer.append(resizeHandle);
11981}
11982$$.on('keydown.markItUp',keyPressed).on('keyup',keyPressed);
11983$$.on("insertion.markItUp",function(e,settings){
11984if(settings.target!==false){
11985get();
11986}
11987if(textarea===$.markItUp.focused){
11988markup(settings);
11989}
11990});
11991$$.on('focus.markItUp',function(){
11992$.markItUp.focused=this;
11993});
11994if(options.previewInElement){
11995refreshPreview();
11996}
11997}
11998function dropMenus(markupSet){
11999var ul=$('<ul></ul>'),i=0;
12000var lang=($$.attr('lang')||options.lang);
12001$('li:hover > ul',ul).css('display','block');
12002$.each(markupSet,function(){
12003var button=this,t='',title,li,j;
12004if((!lang||!button.lang||($.inArray(lang,button.lang)!=-1))
12005&&(!button.lang_not||($.inArray(lang,button.lang_not)==-1))){
12006button.title?title=(button.key)?(button.title||'')+' [Ctrl+'+button.key+']':(button.title||''):title=(button.key)?(button.name||'')+' [Ctrl+'+button.key+']':(button.name||'');
12007key=(button.key)?'accesskey="'+button.key+'"':'';
12008if(button.separator){
12009li=$('<li class="markItUpSeparator">'+(button.separator||'')+'</li>').appendTo(ul);
12010}else{
12011i++;
12012for(j=levels.length-1;j>=0;j--){
12013t+=levels[j]+"-";
12014}
12015li=$('<li class="markItUpButton markItUpButton'+t+(i)+' '+(button.className||'')+'"><a href="#" '+key+' title="'+title+'"><em>'+(button.name||'')+'</em></a></li>')
12016.on("contextmenu.markItUp",function(){
12017return false;
12018}).on('click.markItUp',function(e){
12019e.preventDefault();
12020}).on("focusin.markItUp",function(){
12021setTimeout(function(){
12022$$.focus();
12023},0);
12024}).on('mouseup',function(e){
12025if(button.call){
12026eval(button.call)(e);
12027}
12028setTimeout(function(){markup(button)},1);
12029return false;
12030}).on('mouseenter.markItUp',function(){
12031$('> a',this).addClass('active');
12032$('> ul',this).addClass('expanded');
12033$(document).one('click',function(){
12034$('ul a',header).removeClass('active');
12035$('ul ul',header).removeClass('expanded');
12036}
12037);
12038}).on('mouseleave.markItUp',function(){
12039$('> a',this).removeClass('active');
12040$('> ul',this).removeClass('expanded');
12041}).appendTo(ul);
12042if(button.dropMenu){
12043levels.push(i);
12044$(li).addClass('markItUpDropMenu').append(dropMenus(button.dropMenu));
12045}
12046}
12047}
12048});
12049levels.pop();
12050return ul;
12051}
12052function magicMarkups(string){
12053if(string){
12054string=string.toString();
12055string=string.replace(/\(\!\(([\s\S]*?)\)\!\)/g,
12056function(x,a){
12057var b=a.split('|!|');
12058if(altKey===true){
12059return(b[1]!==undefined)?b[1]:b[0];
12060}else{
12061return(b[1]===undefined)?"":b[0];
12062}
12063}
12064);
12065string=string.replace(/\[\!\[([\s\S]*?)\]\!\]/g,
12066function(x,a){
12067var b=a.split(':!:');
12068if(abort===true){
12069return false;
12070}
12071markitup_prompt=true;
12072value=prompt(b[0],(b[1])?b[1]:'');
12073if(value===null){
12074abort=true;
12075}
12076setTimeout(function(){markitup_prompt=false;},500);
12077return value;
12078}
12079);
12080return string;
12081}
12082return"";
12083}
12084function prepare(action){
12085if($.isFunction(action)){
12086action=action(hash);
12087}
12088return magicMarkups(action);
12089}
12090function build(string){
12091var openWith=prepare(clicked.openWith);
12092var placeHolder=prepare(clicked.placeHolder);
12093var replaceWith=prepare(clicked.replaceWith);
12094var closeWith=prepare(clicked.closeWith);
12095var openBlockWith=prepare(clicked.openBlockWith);
12096var closeBlockWith=prepare(clicked.closeBlockWith);
12097var multiline=clicked.multiline;
12098if(replaceWith!==""){
12099block=openWith+replaceWith+closeWith;
12100}else if(selection===''&&placeHolder!==''){
12101block=openWith+placeHolder+closeWith;
12102}else if(multiline===true){
12103string=string||selection;
12104var lines=[string],blocks=[];
12105if(multiline===true){
12106lines=string.split(/\r?\n/);
12107}
12108for(var l=0;l<lines.length;l++){
12109line=lines[l];
12110var trailingSpaces;
12111if(trailingSpaces=line.match(/ *$/)){
12112blocks.push(openWith+line.replace(/ *$/g,'')+closeWith+trailingSpaces);
12113}else{
12114blocks.push(openWith+line+closeWith);
12115}
12116}
12117block=blocks.join("\n");
12118}else{
12119block=openWith+(string||selection)+closeWith;
12120}
12121block=openBlockWith+block+closeBlockWith;
12122return{block:block,
12123openBlockWith:openBlockWith,
12124openWith:openWith,
12125replaceWith:replaceWith,
12126placeHolder:placeHolder,
12127closeWith:closeWith,
12128closeBlockWith:closeBlockWith
12129};
12130}
12131function selectWord(){
12132selectionBeforeAfter(/\s|[.,;:!¡?¿()]/);
12133selectionSave();
12134}
12135function selectLine(){
12136selectionBeforeAfter(/\r?\n/);
12137selectionSave();
12138}
12139function selectionRemoveLast(pattern){
12140if(!pattern)pattern=/\s/;
12141last=selection[selection.length-1];
12142if(last&&last.match(pattern)){
12143set(caretPosition,selection.length-1);
12144get();
12145$.extend(hash,{caretPosition:caretPosition,scrollPosition:scrollPosition});
12146}
12147}
12148function selectionBeforeAfter(pattern){
12149if(!pattern)pattern=/\s/;
12150sautAvantIE=sautApresIE=0;
12151if(browser.msie){
12152lenSelection=selection.length-fixIeBug(selection);
12153if(caretPosition){
12154set(caretPosition-1,2);
12155sautAvantIE=fixIeBug(document.selection.createRange().text);
12156}
12157set(caretPosition,2);
12158sautApresIE=fixIeBug(document.selection.createRange().text);
12159set(0,caretPosition);
12160before=document.selection.createRange().text;
12161set(caretPosition+lenSelection,textarea.value.length);
12162after=document.selection.createRange().text;
12163set(caretPosition,lenSelection);
12164selection=document.selection.createRange().text;
12165}else{
12166before=textarea.value.substring(0,caretPosition);
12167after=textarea.value.substring(caretPosition+selection.length-fixIeBug(selection));
12168}
12169before=before.split(pattern);
12170after=after.split(pattern);
12171if(sautAvantIE)before.push("");
12172if(sautApresIE)after.unshift("");
12173}
12174function selectionSave(){
12175nb_before=before?before[before.length-1].length:0;
12176nb_after=after?after[0].length:0;
12177nb=nb_before+selection.length+nb_after-fixIeBug(selection);
12178caretPosition=caretPosition-nb_before;
12179set(caretPosition,nb);
12180get();
12181$.extend(hash,{selection:selection,caretPosition:caretPosition,scrollPosition:scrollPosition});
12182}
12183function markup(button){
12184var len,j,n,i;
12185hash=clicked=button;
12186get();
12187$.extend(hash,{line:"",
12188root:options.root,
12189textarea:textarea,
12190selection:(selection||''),
12191caretPosition:caretPosition,
12192ctrlKey:ctrlKey,
12193shiftKey:shiftKey,
12194altKey:altKey
12195}
12196);
12197if(button.selectionType){
12198if(button.selectionType=="word"){
12199if(!selection){
12200selectWord();
12201}else{
12202selectionRemoveLast(/\s/);
12203}
12204}
12205if(button.selectionType=="line"){
12206selectLine();
12207}
12208if(button.selectionType=="return"){
12209if(!browser.msie){
12210selectionBeforeAfter(/\r?\n/);
12211before_last=before[before.length-1];
12212after='';
12213if(r=before_last.match(/^-([*#]+) ?(.*)$/)){
12214if(r[2]){
12215button.replaceWith="\n-"+r[1]+' ';
12216before_last='';
12217}else{
12218button.replaceWith="\n";
12219}
12220}else{
12221before_last='';
12222button.replaceWith="\n";
12223}
12224before[before.length-1]=before_last;
12225selectionSave();
12226}
12227}
12228}
12229prepare(options.beforeInsert);
12230prepare(clicked.beforeInsert);
12231if((ctrlKey===true&&shiftKey===true)||button.multiline===true){
12232prepare(clicked.beforeMultiInsert);
12233}
12234$.extend(hash,{line:1});
12235if((ctrlKey===true&&shiftKey===true)||button.forceMultiline===true){
12236lines=selection.split(/\r?\n/);
12237for(j=0,n=lines.length,i=0;i<n;i++){
12238if(n==1||$.trim(lines[i])!==''){
12239$.extend(hash,{line:++j,selection:lines[i]});
12240lines[i]=build(lines[i]).block;
12241}else{
12242lines[i]="";
12243}
12244}
12245string={block:lines.join('\n')};
12246start=caretPosition;
12247len=string.block.length+((browser.opera)?n-1:0);
12248}else if(ctrlKey===true){
12249string=build(selection);
12250start=caretPosition+string.openWith.length;
12251len=string.block.length-string.openWith.length-string.closeWith.length;
12252len=len-(string.block.match(/ $/)?1:0);
12253len-=fixIeBug(string.block);
12254}else if(shiftKey===true){
12255string=build(selection);
12256start=caretPosition;
12257len=string.block.length;
12258len-=fixIeBug(string.block);
12259}else{
12260string=build(selection);
12261start=caretPosition+string.block.length;
12262len=0;
12263start-=fixIeBug(string.block);
12264}
12265if((selection===''&&string.replaceWith==='')){
12266caretOffset+=fixOperaBug(string.block);
12267start=caretPosition+string.openBlockWith.length+string.openWith.length;
12268len=string.block.length-string.openBlockWith.length-string.openWith.length-string.closeWith.length-string.closeBlockWith.length;
12269caretOffset=$$.val().substring(caretPosition,$$.val().length).length;
12270caretOffset-=fixOperaBug($$.val().substring(0,caretPosition));
12271}
12272$.extend(hash,{caretPosition:caretPosition,scrollPosition:scrollPosition});
12273if(string.block!==selection&&abort===false){
12274insert(string.block);
12275set(start,len);
12276}else{
12277caretOffset=-1;
12278}
12279get();
12280$.extend(hash,{line:'',selection:selection});
12281if((ctrlKey===true&&shiftKey===true)||button.multiline===true){
12282prepare(clicked.afterMultiInsert);
12283}
12284prepare(clicked.afterInsert);
12285prepare(options.afterInsert);
12286if(previewWindow&&options.previewAutoRefresh){
12287refreshPreview();
12288}
12289textarea.dispatchEvent(new Event('input'));
12290shiftKey=altKey=ctrlKey=abort=false;
12291}
12292function fixOperaBug(string){
12293if(browser.opera){
12294return string.length-string.replace(/\n*/g,'').length;
12295}
12296return 0;
12297}
12298function fixIeBug(string){
12299if(browser.msie){
12300return string.length-string.replace(/\r*/g,'').length;
12301}
12302return 0;
12303}
12304function insert(block){
12305if(document.selection){
12306var newSelection=document.selection.createRange();
12307newSelection.text=block;
12308}else{
12309textarea.value=textarea.value.substring(0,caretPosition)+block+textarea.value.substring(caretPosition+selection.length,textarea.value.length);
12310}
12311}
12312function set(start,len){
12313if(textarea.createTextRange){
12314if(browser.opera&&browser.version>=9.5&&len==0){
12315return false;
12316}
12317range=textarea.createTextRange();
12318range.collapse(true);
12319range.moveStart('character',start);
12320range.moveEnd('character',len);
12321range.select();
12322}else if(textarea.setSelectionRange){
12323textarea.setSelectionRange(start,start+len);
12324}
12325textarea.scrollTop=scrollPosition;
12326textarea.focus();
12327}
12328function get(){
12329textarea.focus();
12330scrollPosition=textarea.scrollTop;
12331if(document.selection){
12332selection=document.selection.createRange().text;
12333if(browser.msie){
12334var range=document.selection.createRange(),rangeCopy=range.duplicate();
12335rangeCopy.moveToElementText(textarea);
12336caretPosition=-1;
12337while(rangeCopy.inRange(range)){
12338rangeCopy.moveStart('character');
12339caretPosition++;
12340}
12341}else{
12342caretPosition=textarea.selectionStart;
12343}
12344}else{
12345caretPosition=textarea.selectionStart;
12346selection=textarea.value.substring(caretPosition,textarea.selectionEnd);
12347}
12348return selection;
12349}
12350function preview(){
12351if(typeof options.previewHandler==='function'){
12352previewWindow=true;
12353}else if(options.previewInElement){
12354previewWindow=$(options.previewInElement);
12355}else if(!previewWindow||previewWindow.closed){
12356if(options.previewInWindow){
12357previewWindow=window.open('','preview',options.previewInWindow);
12358$(window).unload(function(){
12359previewWindow.close();
12360});
12361}else{
12362iFrame=$('<iframe class="markItUpPreviewFrame"></iframe>');
12363if(options.previewPosition=='after'){
12364iFrame.insertAfter(footer);
12365}else{
12366iFrame.insertBefore(header);
12367}
12368previewWindow=iFrame[iFrame.length-1].contentWindow||frame[iFrame.length-1];
12369}
12370}else if(altKey===true){
12371if(iFrame){
12372iFrame.remove();
12373}else{
12374previewWindow.close();
12375}
12376previewWindow=iFrame=false;
12377}
12378if(!options.previewAutoRefresh){
12379refreshPreview();
12380}
12381if(options.previewInWindow){
12382previewWindow.focus();
12383}
12384}
12385function refreshPreview(){
12386renderPreview();
12387}
12388function renderPreview(){
12389var phtml;
12390var parsedData=$$.val();
12391if(options.previewParser&&typeof options.previewParser==='function'){
12392parsedData=options.previewParser(parsedData);
12393}
12394if(options.previewHandler&&typeof options.previewHandler==='function'){
12395options.previewHandler(parsedData);
12396}else if(options.previewParserPath!==''){
12397$.ajax({
12398type:options.previewParserAjaxType,
12399dataType:'text',
12400global:false,
12401url:options.previewParserPath,
12402data:options.previewParserVar+'='+encodeURIComponent(parsedData),
12403success:function(data){
12404writeInPreview(localize(data,1));
12405}
12406});
12407}else{
12408if(!template){
12409$.ajax({
12410url:options.previewTemplatePath,
12411dataType:'text',
12412global:false,
12413success:function(data){
12414writeInPreview(localize(data,1).replace(/<!-- content -->/g,parsedData));
12415}
12416});
12417}
12418}
12419return false;
12420}
12421function writeInPreview(data){
12422if(options.previewInElement){
12423$(options.previewInElement).html(data);
12424}else if(previewWindow&&previewWindow.document){
12425try{
12426sp=previewWindow.document.documentElement.scrollTop
12427}catch(e){
12428sp=0;
12429}
12430previewWindow.document.open();
12431previewWindow.document.write(data);
12432previewWindow.document.close();
12433previewWindow.document.documentElement.scrollTop=sp;
12434}
12435}
12436function keyPressed(e){
12437shiftKey=e.shiftKey;
12438altKey=e.altKey;
12439ctrlKey=(!(e.altKey&&e.ctrlKey))?(e.ctrlKey||e.metaKey):false;
12440if(e.type==='keydown'){
12441if(ctrlKey===true){
12442li=$('a[accesskey="'+((e.keyCode==13)?'\\n':String.fromCharCode(e.keyCode))+'"]',header).parent('li');
12443if(li.length!==0){
12444ctrlKey=false;
12445setTimeout(function(){
12446li.triggerHandler('mouseup');
12447},1);
12448return false;
12449}
12450}
12451if(!browser.opera){
12452if(e.keyCode===13||e.keyCode===10){
12453if(ctrlKey===true){
12454ctrlKey=false;
12455markup(options.onCtrlEnter);
12456if(!options.onCtrlEnter.keepDefault){
12457textarea.dispatchEvent(new Event('input'));
12458}
12459return options.onCtrlEnter.keepDefault;
12460}else if(shiftKey===true){
12461shiftKey=false;
12462markup(options.onShiftEnter);
12463if(!options.onShiftEnter.keepDefault){
12464textarea.dispatchEvent(new Event('input'));
12465}
12466return options.onShiftEnter.keepDefault;
12467}else{
12468markup(options.onEnter);
12469if(!options.onEnter.keepDefault){
12470textarea.dispatchEvent(new Event('input'));
12471}
12472return options.onEnter.keepDefault;
12473}
12474}
12475if(e.keyCode===9){
12476if(shiftKey==true||ctrlKey==true||altKey==true){
12477return false;
12478}
12479if(caretOffset!==-1){
12480get();
12481caretOffset=$$.val().length-caretOffset;
12482set(caretOffset,0);
12483caretOffset=-1;
12484return false;
12485}else{
12486markup(options.onTab);
12487return options.onTab.keepDefault;
12488}
12489}
12490}
12491}
12492}
12493function remove(){
12494$$.off(".markItUp").removeClass('markItUpEditor');
12495$$.parent('div').parent('div.markItUp').parent('div').replaceWith($$);
12496var relativeRef=$$.parent('div').parent('div.markItUp').parent('div');
12497if(relativeRef.length){
12498relativeRef.replaceWith($$);
12499}
12500$$.data('markItUp',null);
12501}
12502init();
12503});
12504};
12505$.fn.markItUpRemove=function(){
12506return this.each(function(){
12507$(this).markItUp('remove');
12508}
12509);
12510};
12511$.markItUp=function(settings){
12512var options={target:false};
12513$.extend(options,settings);
12514if(options.target){
12515return $(options.target).each(function(){
12516$(this).focus();
12517$(this).trigger('insertion',[options]);
12518});
12519}else{
12520$('textarea').trigger('insertion',[options]);
12521}
12522};
12523})(jQuery);
12524
12525
12526/* plugins-dist/porte_plume/javascript/jquery.previsu_spip.js?1788354511 */
12527;(function($){
12528$.fn.previsu_spip=function(settings){
12529var options;
12530options={
12531previewParserPath:'',
12532previewParserVar:'data',
12533textEditer:'Editer',
12534textVoir:'Voir',
12535textFullScreen:'Plein écran'
12536};
12537$.extend(options,settings);
12538return this.each(function(){
12539var $$,textarea,tabs,preview;
12540$$=$(this);
12541textarea=this;
12542function init(){
12543$$.addClass("pp_previsualisation");
12544if(!$$.parent().has('.markItUpContainer').length){
12545$$.barre_outils('vide');
12546}
12547var mark=$$.parent();
12548tabs=$('<div class="markItUpTabs"></div>').prependTo(mark);
12549$(tabs).append(
12550'<a href="#fullscreen" class="fullscreen">'+options.textFullScreen+'</a>'+
12551'<a href="#previsuVoir" class="previsuVoir">'+options.textVoir+'</a>'+
12552'<a href="#previsuEditer" class="previsuEditer on">'+options.textEditer+'</a>'
12553);
12554preview=$('<div class="markItUpPreview"></div>').insertAfter(mark.find('.markItUpHeader'));
12555preview.hide();
12556var is_full_screen=false;
12557var objet=mark.parents('.formulaire_spip')[0].className.match(/formulaire_editer_(\w+)/);
12558objet=(objet?objet[1]:'');
12559var champ=mark.parents('.editer')[0].className.match(/editer_(\w+)/);
12560champ=(champ?champ[1].toUpperCase():'');
12561var textarea=mark.find('textarea.pp_previsualisation');
12562var preview=mark.find('.markItUpPreview');
12563var dir=textarea.attr('dir');
12564if(dir){
12565preview.attr('dir',dir);
12566}
12567tabs.find('.fullscreen').click(function(){
12568if(!mark.is('.fullscreen')){
12569textarea.data('height-origin',textarea.css('height'));
12570}
12571mark.toggleClass('fullscreen');
12572if(mark.is('.fullscreen')){
12573$('body').addClass('markitup-fullscreen');
12574is_full_screen=true;
12575mark.find('.markItUpHeader a').show();
12576if(!mark.is('.livepreview')){
12577var original_texte="";
12578function refresh_preview(){
12579var texte=textarea.val();
12580if(original_texte==texte){
12581return;
12582}
12583renderPreview(preview.addClass('ajaxLoad'),texte,champ,objet);
12584original_texte=texte;
12585}
12586var timerPreview=null;
12587mark.addClass('livepreview').find('.markItUpEditor').on('keyup click change focus refreshpreview',function(e){
12588if(is_full_screen){
12589if(timerPreview)clearTimeout(timerPreview);
12590timerPreview=setTimeout(refresh_preview,500);
12591}
12592});
12593$(window).on('keyup',function(e){
12594if(is_full_screen){
12595if(e.type=='keyup'&&e.keyCode==27&&!markitup_prompt){
12596mark.removeClass('fullscreen');
12597$('body').removeClass('markitup-fullscreen');
12598textarea.css('height',textarea.data('height-origin'));
12599is_full_screen=false;
12600}
12601}
12602});
12603}
12604mark.find('.markItUpEditor').trigger('refreshpreview');
12605}
12606else{
12607$('body').removeClass('markitup-fullscreen');
12608textarea.css('height',textarea.data('height-origin'));
12609if($(this).next().hasClass('on')){
12610mark.find('.markItUpHeader a').hide();
12611}
12612is_full_screen=false;
12613}
12614return false;
12615});
12616tabs.find('.previsuVoir').click(function(){
12617preview.height(
12618mark.find('.markItUpEditor').height()
12619+mark.find('.markItUpFooter').height()
12620);
12621mark.find('.markItUpHeader a,.markItUpEditor,.markItUpFooter').hide();
12622$(this).addClass('on').next().removeClass('on');
12623renderPreview(
12624preview.show().addClass('ajaxLoad'),
12625mark.find('textarea.pp_previsualisation').val(),
12626champ,
12627objet,
12628false
12629);
12630return false;
12631});
12632tabs.find('.previsuEditer').click(function(){
12633mark.find('.markItUpPreview').hide();
12634mark.find('.markItUpHeader a,.markItUpEditor,.markItUpFooter').show();
12635$(this).addClass('on').prev().removeClass('on');
12636return false;
12637});
12638}
12639function renderPreview(node,val,champ,objet,async){
12640if(options.previewParserPath!==''){
12641$.ajax({
12642type:'POST',
12643async:typeof(async)=="undefined"?true:async,
12644url:options.previewParserPath,
12645data:'champ='+champ
12646+'&objet='+objet
12647+'&'+options.previewParserVar+'='+encodeURIComponent(val),
12648success:function(data){
12649node.html(data).removeClass('ajaxLoad');
12650$("a",node).attr("target","blank");
12651$(":input",node).attr("disabled","disabled");
12652}
12653});
12654}
12655}
12656init();
12657});
12658};
12659})(jQuery);
12660
12661
12662/* local/cache-js/jsdyn-javascript_porte_plume_start_js-09cf0053.js?1790954165 */
12663
12664barre_outils_edition={
12665"nameSpace":"edition",
12666"previewAutoRefresh":false,
12667"onEnter":{
12668"keepDefault":false,
12669"selectionType":"return",
12670"replaceWith":"\n"
12671},
12672"onShiftEnter":{
12673"keepDefault":false,
12674"replaceWith":"\n_ "
12675},
12676"onCtrlEnter":{
12677"keepDefault":false,
12678"replaceWith":"\n\n"
12679},
12680"markupSet":[
12681{
12682"name":"Transformer en {{{intertitre}}}",
12683"key":"H",
12684"className":"outil_header1",
12685"openWith":"\n{{{",
12686"closeWith":"}}}\n",
12687"selectionType":"line"
12688},
12689{
12690"name":"Mettre en {{gras}}",
12691"key":"B",
12692"className":"outil_bold",
12693"replaceWith":function(h){return espace_si_accolade(h,'{{','}}');},
12694"selectionType":"word"
12695},
12696{
12697"name":"Mettre en {italique}",
12698"key":"I",
12699"className":"outil_italic",
12700"replaceWith":function(h){return espace_si_accolade(h,'{','}');},
12701"selectionType":"word"
12702},
12703{
12704"name":"Mettre en liste",
12705"className":"outil_liste_ul separateur_avant",
12706"replaceWith":function(h){return outil_liste(h,'*');},
12707"selectionType":"line",
12708"forceMultiline":true,
12709"dropMenu":[
12710{
12711"id":"liste_ol",
12712"name":"Mettre en liste num\u00e9rot\u00e9e",
12713"className":"outil_liste_ol",
12714"replaceWith":function(h){return outil_liste(h,'#');},
12715"display":true,
12716"selectionType":"line",
12717"forceMultiline":true
12718},
12719{
12720"id":"desindenter",
12721"name":"D\u00e9sindenter une liste",
12722"className":"outil_desindenter",
12723"replaceWith":function(h){return outil_desindenter(h);},
12724"display":true,
12725"selectionType":"line",
12726"forceMultiline":true
12727},
12728{
12729"id":"indenter",
12730"name":"Indenter une liste",
12731"className":"outil_indenter",
12732"replaceWith":function(h){return outil_indenter(h);},
12733"display":true,
12734"selectionType":"line",
12735"forceMultiline":true
12736}
12737]
12738},
12739{
12740"name":"Transformer en [lien hypertexte->http:\/\/...]",
12741"key":"L",
12742"className":"outil_link separateur separateur_apres sepLink",
12743"openWith":"[",
12744"closeWith":"->[![Veuillez indiquer l\u2019adresse de votre lien (vous pouvez indiquer une adresse Internet sous la forme http:\/\/www.monsite.com, une adresse courriel, ou simplement indiquer le num\u00e9ro d\u2019un article de ce site.]!]]"
12745},
12746{
12747"name":"Transformer en [[Note de bas de page]]",
12748"className":"outil_notes separateur_avant",
12749"openWith":"[[",
12750"closeWith":"]]",
12751"selectionType":"word"
12752},
12753{
12754"name":"<quote>Citer un message<\/quote>",
12755"key":"Q",
12756"className":"outil_quote separateur separateur_apres sepGuillemets",
12757"openWith":"\n<quote>",
12758"closeWith":"<\/quote>\n",
12759"selectionType":"word",
12760"dropMenu":[
12761{
12762"id":"barre_poesie",
12763"name":"Mettre en forme comme une <poesie>po\u00e9sie<\/poesie>",
12764"className":"outil_poesie",
12765"openWith":"\n<poesie>",
12766"closeWith":"<\/poesie>\n",
12767"display":true,
12768"selectionType":"line"
12769}
12770]
12771},
12772{
12773"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
12774"className":"outil_guillemets",
12775"openWith":"«",
12776"closeWith":"»",
12777"lang":[
12778"fr",
12779"eo",
12780"cpf",
12781"ar",
12782"es"
12783],
12784"selectionType":"word",
12785"dropMenu":[
12786{
12787"id":"guillemets_simples",
12788"name":"Entourer de \u201cguillemets de second niveau\u201d",
12789"className":"outil_guillemets_simples",
12790"openWith":"“",
12791"closeWith":"”",
12792"display":true,
12793"lang":[
12794"fr",
12795"eo",
12796"cpf",
12797"ar",
12798"es"
12799],
12800"selectionType":"word"
12801}
12802]
12803},
12804{
12805"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
12806"className":"outil_guillemets_de",
12807"openWith":"„",
12808"closeWith":"“",
12809"lang":[
12810"bg",
12811"de",
12812"pl",
12813"hr",
12814"src"
12815],
12816"selectionType":"word",
12817"dropMenu":[
12818{
12819"id":"guillemets_de_simples",
12820"name":"Entourer de \u201cguillemets de second niveau\u201d",
12821"className":"outil_guillemets_de_simples",
12822"openWith":"&sbquo;",
12823"closeWith":"‘",
12824"display":true,
12825"lang":[
12826"bg",
12827"de",
12828"pl",
12829"hr",
12830"src"
12831],
12832"selectionType":"word"
12833}
12834]
12835},
12836{
12837"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
12838"className":"outil_guillemets_simples separateur_avant",
12839"openWith":"“",
12840"closeWith":"”",
12841"lang_not":[
12842"fr",
12843"eo",
12844"cpf",
12845"ar",
12846"es",
12847"bg",
12848"de",
12849"pl",
12850"hr",
12851"src"
12852],
12853"selectionType":"word",
12854"dropMenu":[
12855{
12856"id":"guillemets_autres_simples",
12857"name":"Entourer de \u201cguillemets de second niveau\u201d",
12858"className":"outil_guillemets_uniques",
12859"openWith":"‘",
12860"closeWith":"’",
12861"display":true,
12862"lang_not":[
12863"fr",
12864"eo",
12865"cpf",
12866"ar",
12867"es",
12868"bg",
12869"de",
12870"pl",
12871"hr",
12872"src"
12873],
12874"selectionType":"word"
12875}
12876]
12877},
12878{
12879"name":"Ins\u00e9rer des caract\u00e8res sp\u00e9cifiques",
12880"className":"outil_caracteres separateur separateur_apres sepCaracteres separateur_avant",
12881"dropMenu":[
12882{
12883"id":"A_grave",
12884"name":"Ins\u00e9rer un \u00c0",
12885"className":"outil_a_maj_grave",
12886"replaceWith":"À",
12887"display":true,
12888"lang":[
12889"fr",
12890"eo",
12891"cpf"
12892]
12893},
12894{
12895"id":"E_aigu",
12896"name":"Ins\u00e9rer un \u00c9",
12897"className":"outil_e_maj_aigu",
12898"replaceWith":"É",
12899"display":true,
12900"lang":[
12901"fr",
12902"eo",
12903"cpf"
12904]
12905},
12906{
12907"id":"E_grave",
12908"name":"Ins\u00e9rer un \u00c8",
12909"className":"outil_e_maj_grave",
12910"replaceWith":"È",
12911"display":true,
12912"lang":[
12913"fr",
12914"eo",
12915"cpf"
12916]
12917},
12918{
12919"id":"aelig",
12920"name":"Ins\u00e9rer un \u00e6",
12921"className":"outil_aelig",
12922"replaceWith":"æ",
12923"display":true,
12924"lang":[
12925"fr",
12926"eo",
12927"cpf"
12928]
12929},
12930{
12931"id":"AElig",
12932"name":"Ins\u00e9rer un \u00c6",
12933"className":"outil_aelig_maj",
12934"replaceWith":"Æ",
12935"display":true,
12936"lang":[
12937"fr",
12938"eo",
12939"cpf"
12940]
12941},
12942{
12943"id":"oe",
12944"name":"Ins\u00e9rer un \u0153",
12945"className":"outil_oe",
12946"replaceWith":"œ",
12947"display":true,
12948"lang":[
12949"fr"
12950]
12951},
12952{
12953"id":"OE",
12954"name":"Ins\u00e9rer un \u0152",
12955"className":"outil_oe_maj",
12956"replaceWith":"Œ",
12957"display":true,
12958"lang":[
12959"fr"
12960]
12961},
12962{
12963"id":"Ccedil",
12964"name":"Ins\u00e9rer un \u00c7",
12965"className":"outil_ccedil_maj",
12966"replaceWith":"Ç",
12967"display":true,
12968"lang":[
12969"fr",
12970"eo",
12971"cpf"
12972]
12973},
12974{
12975"id":"uppercase",
12976"name":"Passer en majuscules",
12977"className":"outil_uppercase",
12978"replaceWith":function(markitup){return markitup.selection.toUpperCase()},
12979"display":true,
12980"lang":[
12981"fr",
12982"en"
12983]
12984},
12985{
12986"id":"lowercase",
12987"name":"Passer en minuscules",
12988"className":"outil_lowercase",
12989"replaceWith":function(markitup){return markitup.selection.toLowerCase()},
12990"display":true,
12991"lang":[
12992"fr",
12993"en"
12994]
12995}
12996]
12997},
12998{
12999"name":"Ins\u00e9rer un code informatique (`)",
13000"className":"outil_code separateur separateur_apres sepCode",
13001"openWith":"`",
13002"closeWith":"`",
13003"dropMenu":[
13004{
13005"id":"cadre",
13006"name":"Ins\u00e9rer un code pr\u00e9format\u00e9 (```)",
13007"className":"outil_cadre",
13008"openWith":"```\n",
13009"closeWith":"\n```",
13010"display":true
13011}
13012]
13013}
13014]
13015}
13016function outil_liste(h,c){
13017if((s=h.selection)&&(r=s.match(/^-([*#]+) (.*)$/))){
13018r[1]=r[1].replace(/[#*]/g,c);
13019s='-'+r[1]+' '+r[2];
13020}else{
13021s='-'+c+' '+s;
13022}
13023return s;
13024}
13025function outil_indenter(h){
13026if(s=h.selection){
13027if(s.substr(0,2)=='-*'){
13028s='-**'+s.substr(2);
13029}else if(s.substr(0,2)=='-#'){
13030s='-##'+s.substr(2);
13031}else{
13032s='-* '+s;
13033}
13034}
13035return s;
13036}
13037function outil_desindenter(h){
13038if(s=h.selection){
13039if(s.substr(0,3)=='-**'){
13040s='-*'+s.substr(3);
13041}else if(s.substr(0,3)=='-* '){
13042s=s.substr(3);
13043}else if(s.substr(0,3)=='-##'){
13044s='-#'+s.substr(3);
13045}else if(s.substr(0,3)=='-# '){
13046s=s.substr(3);
13047}
13048}
13049return s;
13050}
13051function espace_si_accolade(h,openWith,closeWith){
13052if(s=h.selection){
13053if(s.charAt(0)=='{'){
13054return openWith+' '+s+' '+closeWith;
13055}
13056else if(c=h.textarea.selectionStart){
13057if(h.textarea.value.charAt(c-1)=='{'){
13058return' '+openWith+s+closeWith+' ';
13059}
13060}
13061}
13062return openWith+s+closeWith;
13063}
13064barre_outils_forum={
13065"nameSpace":"forum",
13066"previewAutoRefresh":false,
13067"onEnter":{
13068"keepDefault":false,
13069"selectionType":"return",
13070"replaceWith":"\n"
13071},
13072"onShiftEnter":{
13073"keepDefault":false,
13074"replaceWith":"\n_ "
13075},
13076"onCtrlEnter":{
13077"keepDefault":false,
13078"replaceWith":"\n\n"
13079},
13080"markupSet":[
13081{
13082"name":"Mettre en {{gras}}",
13083"key":"B",
13084"className":"outil_bold",
13085"replaceWith":function(h){return espace_si_accolade(h,'{{','}}');},
13086"selectionType":"word"
13087},
13088{
13089"name":"Mettre en {italique}",
13090"key":"I",
13091"className":"outil_italic separateur_avant",
13092"replaceWith":function(h){return espace_si_accolade(h,'{','}');},
13093"selectionType":"word"
13094},
13095{
13096"name":"Transformer en [lien hypertexte->http:\/\/...]",
13097"key":"L",
13098"className":"outil_link separateur separateur_apres sepLink separateur_avant",
13099"openWith":"[",
13100"closeWith":"->[![Veuillez indiquer l\u2019adresse de votre lien (vous pouvez indiquer une adresse Internet sous la forme http:\/\/www.monsite.com, une adresse courriel, ou simplement indiquer le num\u00e9ro d\u2019un article de ce site.]!]]"
13101},
13102{
13103"name":"<quote>Citer un message<\/quote>",
13104"key":"Q",
13105"className":"outil_quote separateur separateur_apres sepGuillemets",
13106"openWith":"\n<quote>",
13107"closeWith":"<\/quote>\n",
13108"selectionType":"word"
13109},
13110{
13111"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
13112"className":"outil_guillemets",
13113"openWith":"«",
13114"closeWith":"»",
13115"lang":[
13116"fr",
13117"eo",
13118"cpf",
13119"ar",
13120"es"
13121],
13122"selectionType":"word",
13123"dropMenu":[
13124{
13125"id":"guillemets_simples",
13126"name":"Entourer de \u201cguillemets de second niveau\u201d",
13127"className":"outil_guillemets_simples",
13128"openWith":"“",
13129"closeWith":"”",
13130"display":true,
13131"lang":[
13132"fr",
13133"eo",
13134"cpf",
13135"ar",
13136"es"
13137],
13138"selectionType":"word"
13139}
13140]
13141},
13142{
13143"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
13144"className":"outil_guillemets_de",
13145"openWith":"„",
13146"closeWith":"“",
13147"lang":[
13148"bg",
13149"de",
13150"pl",
13151"hr",
13152"src"
13153],
13154"selectionType":"word",
13155"dropMenu":[
13156{
13157"id":"guillemets_de_simples",
13158"name":"Entourer de \u201cguillemets de second niveau\u201d",
13159"className":"outil_guillemets_de_simples",
13160"openWith":"&sbquo;",
13161"closeWith":"‘",
13162"display":true,
13163"lang":[
13164"bg",
13165"de",
13166"pl",
13167"hr",
13168"src"
13169],
13170"selectionType":"word"
13171}
13172]
13173},
13174{
13175"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
13176"className":"outil_guillemets_simples separateur_avant",
13177"openWith":"“",
13178"closeWith":"”",
13179"lang_not":[
13180"fr",
13181"eo",
13182"cpf",
13183"ar",
13184"es",
13185"bg",
13186"de",
13187"pl",
13188"hr",
13189"src"
13190],
13191"selectionType":"word",
13192"dropMenu":[
13193{
13194"id":"guillemets_autres_simples",
13195"name":"Entourer de \u201cguillemets de second niveau\u201d",
13196"className":"outil_guillemets_uniques",
13197"openWith":"‘",
13198"closeWith":"’",
13199"display":true,
13200"lang_not":[
13201"fr",
13202"eo",
13203"cpf",
13204"ar",
13205"es",
13206"bg",
13207"de",
13208"pl",
13209"hr",
13210"src"
13211],
13212"selectionType":"word"
13213}
13214]
13215}
13216]
13217}
13218function outil_liste(h,c){
13219if((s=h.selection)&&(r=s.match(/^-([*#]+) (.*)$/))){
13220r[1]=r[1].replace(/[#*]/g,c);
13221s='-'+r[1]+' '+r[2];
13222}else{
13223s='-'+c+' '+s;
13224}
13225return s;
13226}
13227function outil_indenter(h){
13228if(s=h.selection){
13229if(s.substr(0,2)=='-*'){
13230s='-**'+s.substr(2);
13231}else if(s.substr(0,2)=='-#'){
13232s='-##'+s.substr(2);
13233}else{
13234s='-* '+s;
13235}
13236}
13237return s;
13238}
13239function outil_desindenter(h){
13240if(s=h.selection){
13241if(s.substr(0,3)=='-**'){
13242s='-*'+s.substr(3);
13243}else if(s.substr(0,3)=='-* '){
13244s=s.substr(3);
13245}else if(s.substr(0,3)=='-##'){
13246s='-#'+s.substr(3);
13247}else if(s.substr(0,3)=='-# '){
13248s=s.substr(3);
13249}
13250}
13251return s;
13252}
13253function espace_si_accolade(h,openWith,closeWith){
13254if(s=h.selection){
13255if(s.charAt(0)=='{'){
13256return openWith+' '+s+' '+closeWith;
13257}
13258else if(c=h.textarea.selectionStart){
13259if(h.textarea.value.charAt(c-1)=='{'){
13260return' '+openWith+s+closeWith+' ';
13261}
13262}
13263}
13264return openWith+s+closeWith;
13265}
13266barre_outils_vide={
13267"nameSpace":"vide",
13268"previewAutoRefresh":false,
13269"markupSet":[]
13270}
13271;(function($){
13272$.fn.barre_outils=function(nom,settings){
13273options={
13274lang:'fr'
13275};
13276$.extend(options,settings);
13277return $(this)
13278.not('.markItUpEditor, .no_barre')
13279.markItUp(eval('barre_outils_'+nom),{lang:options.lang})
13280.trigger('markItUpEditor.loaded')
13281.parent().find('.markItUpButton a').attr('tabindex',-1)
13282.end();
13283};
13284$.fn.barre_previsualisation=function(settings){
13285options={
13286previewParserPath:"index.php?action=porte_plume_previsu",
13287textEditer:"Modifier",
13288textVoir:"Voir"
13289};
13290$.extend(options,settings);
13291return $(this)
13292.not('.pp_previsualisation, .no_previsualisation')
13293.previsu_spip(options)
13294.trigger('markItUpPreview.loaded')
13295.parent().find('.markItUpTabs a').attr('tabindex',-1)
13296.end();
13297};
13298$(window).on('load',function(){
13299function barrebouilles(){
13300$('.formulaire_spip textarea.inserer_barre_forum').barre_outils('forum');
13301$('.formulaire_spip textarea.inserer_barre_edition').barre_outils('edition');
13302$('.formulaire_spip textarea.inserer_previsualisation').barre_previsualisation();
13303$('textarea.textarea_forum').barre_outils('forum');
13304$('.formulaire_forum textarea[name=texte]').barre_outils('forum');
13305$('.formulaire_spip textarea[name=texte]')
13306.barre_outils('edition').end()
13307.barre_previsualisation();
13308}
13309barrebouilles();
13310onAjaxLoad(barrebouilles);
13311});
13312})(jQuery);
13313
13314
13315/* plugins/auto/jquery_masonry-v3.0.0/javascript/jquery.masonry.js */
13316
13317(function(window){
13318var slice=Array.prototype.slice;
13319function noop(){}
13320function defineBridget($){
13321if(!$){
13322return;
13323}
13324function addOptionMethod(PluginClass){
13325if(PluginClass.prototype.option){
13326return;
13327}
13328PluginClass.prototype.option=function(opts){
13329if(!$.isPlainObject(opts)){
13330return;
13331}
13332this.options=$.extend(true,this.options,opts);
13333};
13334}
13335var logError=typeof console==='undefined'?noop:
13336function(message){
13337console.error(message);
13338};
13339function bridge(namespace,PluginClass){
13340$.fn[namespace]=function(options){
13341if(typeof options==='string'){
13342var args=slice.call(arguments,1);
13343for(var i=0,len=this.length;i<len;i++){
13344var elem=this[i];
13345var instance=$.data(elem,namespace);
13346if(!instance){
13347logError("cannot call methods on "+namespace+" prior to initialization; "+
13348"attempted to call '"+options+"'");
13349continue;
13350}
13351if(!$.isFunction(instance[options])||options.charAt(0)==='_'){
13352logError("no such method '"+options+"' for "+namespace+" instance");
13353continue;
13354}
13355var returnValue=instance[options].apply(instance,args);
13356if(returnValue!==undefined){
13357return returnValue;
13358}
13359}
13360return this;
13361}else{
13362return this.each(function(){
13363var instance=$.data(this,namespace);
13364if(instance){
13365instance.option(options);
13366instance._init();
13367}else{
13368instance=new PluginClass(this,options);
13369$.data(this,namespace,instance);
13370}
13371});
13372}
13373};
13374}
13375$.bridget=function(namespace,PluginClass){
13376addOptionMethod(PluginClass);
13377bridge(namespace,PluginClass);
13378};
13379return $.bridget;
13380}
13381if(typeof define==='function'&&define.amd){
13382define('jquery-bridget/jquery.bridget',['jquery'],defineBridget);
13383}else if(typeof exports==='object'){
13384defineBridget(require('jquery'));
13385}else{
13386defineBridget(window.jQuery);
13387}
13388})(window);
13389(function(window){
13390var docElem=document.documentElement;
13391var bind=function(){};
13392function getIEEvent(obj){
13393var event=window.event;
13394event.target=event.target||event.srcElement||obj;
13395return event;
13396}
13397if(docElem.addEventListener){
13398bind=function(obj,type,fn){
13399obj.addEventListener(type,fn,false);
13400};
13401}else if(docElem.attachEvent){
13402bind=function(obj,type,fn){
13403obj[type+fn]=fn.handleEvent?
13404function(){
13405var event=getIEEvent(obj);
13406fn.handleEvent.call(fn,event);
13407}:
13408function(){
13409var event=getIEEvent(obj);
13410fn.call(obj,event);
13411};
13412obj.attachEvent("on"+type,obj[type+fn]);
13413};
13414}
13415var unbind=function(){};
13416if(docElem.removeEventListener){
13417unbind=function(obj,type,fn){
13418obj.removeEventListener(type,fn,false);
13419};
13420}else if(docElem.detachEvent){
13421unbind=function(obj,type,fn){
13422obj.detachEvent("on"+type,obj[type+fn]);
13423try{
13424delete obj[type+fn];
13425}catch(err){
13426obj[type+fn]=undefined;
13427}
13428};
13429}
13430var eventie={
13431bind:bind,
13432unbind:unbind
13433};
13434if(typeof define==='function'&&define.amd){
13435define('eventie/eventie',eventie);
13436}else if(typeof exports==='object'){
13437module.exports=eventie;
13438}else{
13439window.eventie=eventie;
13440}
13441})(window);
13442;(function(){
13443function EventEmitter(){}
13444var proto=EventEmitter.prototype;
13445var exports=this;
13446var originalGlobalValue=exports.EventEmitter;
13447function indexOfListener(listeners,listener){
13448var i=listeners.length;
13449while(i--){
13450if(listeners[i].listener===listener){
13451return i;
13452}
13453}
13454return-1;
13455}
13456function alias(name){
13457return function aliasClosure(){
13458return this[name].apply(this,arguments);
13459};
13460}
13461proto.getListeners=function getListeners(evt){
13462var events=this._getEvents();
13463var response;
13464var key;
13465if(evt instanceof RegExp){
13466response={};
13467for(key in events){
13468if(events.hasOwnProperty(key)&&evt.test(key)){
13469response[key]=events[key];
13470}
13471}
13472}
13473else{
13474response=events[evt]||(events[evt]=[]);
13475}
13476return response;
13477};
13478proto.flattenListeners=function flattenListeners(listeners){
13479var flatListeners=[];
13480var i;
13481for(i=0;i<listeners.length;i+=1){
13482flatListeners.push(listeners[i].listener);
13483}
13484return flatListeners;
13485};
13486proto.getListenersAsObject=function getListenersAsObject(evt){
13487var listeners=this.getListeners(evt);
13488var response;
13489if(listeners instanceof Array){
13490response={};
13491response[evt]=listeners;
13492}
13493return response||listeners;
13494};
13495proto.addListener=function addListener(evt,listener){
13496var listeners=this.getListenersAsObject(evt);
13497var listenerIsWrapped=typeof listener==='object';
13498var key;
13499for(key in listeners){
13500if(listeners.hasOwnProperty(key)&&indexOfListener(listeners[key],listener)===-1){
13501listeners[key].push(listenerIsWrapped?listener:{
13502listener:listener,
13503once:false
13504});
13505}
13506}
13507return this;
13508};
13509proto.on=alias('addListener');
13510proto.addOnceListener=function addOnceListener(evt,listener){
13511return this.addListener(evt,{
13512listener:listener,
13513once:true
13514});
13515};
13516proto.once=alias('addOnceListener');
13517proto.defineEvent=function defineEvent(evt){
13518this.getListeners(evt);
13519return this;
13520};
13521proto.defineEvents=function defineEvents(evts){
13522for(var i=0;i<evts.length;i+=1){
13523this.defineEvent(evts[i]);
13524}
13525return this;
13526};
13527proto.removeListener=function removeListener(evt,listener){
13528var listeners=this.getListenersAsObject(evt);
13529var index;
13530var key;
13531for(key in listeners){
13532if(listeners.hasOwnProperty(key)){
13533index=indexOfListener(listeners[key],listener);
13534if(index!==-1){
13535listeners[key].splice(index,1);
13536}
13537}
13538}
13539return this;
13540};
13541proto.off=alias('removeListener');
13542proto.addListeners=function addListeners(evt,listeners){
13543return this.manipulateListeners(false,evt,listeners);
13544};
13545proto.removeListeners=function removeListeners(evt,listeners){
13546return this.manipulateListeners(true,evt,listeners);
13547};
13548proto.manipulateListeners=function manipulateListeners(remove,evt,listeners){
13549var i;
13550var value;
13551var single=remove?this.removeListener:this.addListener;
13552var multiple=remove?this.removeListeners:this.addListeners;
13553if(typeof evt==='object'&&!(evt instanceof RegExp)){
13554for(i in evt){
13555if(evt.hasOwnProperty(i)&&(value=evt[i])){
13556if(typeof value==='function'){
13557single.call(this,i,value);
13558}
13559else{
13560multiple.call(this,i,value);
13561}
13562}
13563}
13564}
13565else{
13566i=listeners.length;
13567while(i--){
13568single.call(this,evt,listeners[i]);
13569}
13570}
13571return this;
13572};
13573proto.removeEvent=function removeEvent(evt){
13574var type=typeof evt;
13575var events=this._getEvents();
13576var key;
13577if(type==='string'){
13578delete events[evt];
13579}
13580else if(evt instanceof RegExp){
13581for(key in events){
13582if(events.hasOwnProperty(key)&&evt.test(key)){
13583delete events[key];
13584}
13585}
13586}
13587else{
13588delete this._events;
13589}
13590return this;
13591};
13592proto.removeAllListeners=alias('removeEvent');
13593proto.emitEvent=function emitEvent(evt,args){
13594var listeners=this.getListenersAsObject(evt);
13595var listener;
13596var i;
13597var key;
13598var response;
13599for(key in listeners){
13600if(listeners.hasOwnProperty(key)){
13601i=listeners[key].length;
13602while(i--){
13603listener=listeners[key][i];
13604if(listener.once===true){
13605this.removeListener(evt,listener.listener);
13606}
13607response=listener.listener.apply(this,args||[]);
13608if(response===this._getOnceReturnValue()){
13609this.removeListener(evt,listener.listener);
13610}
13611}
13612}
13613}
13614return this;
13615};
13616proto.trigger=alias('emitEvent');
13617proto.emit=function emit(evt){
13618var args=Array.prototype.slice.call(arguments,1);
13619return this.emitEvent(evt,args);
13620};
13621proto.setOnceReturnValue=function setOnceReturnValue(value){
13622this._onceReturnValue=value;
13623return this;
13624};
13625proto._getOnceReturnValue=function _getOnceReturnValue(){
13626if(this.hasOwnProperty('_onceReturnValue')){
13627return this._onceReturnValue;
13628}
13629else{
13630return true;
13631}
13632};
13633proto._getEvents=function _getEvents(){
13634return this._events||(this._events={});
13635};
13636EventEmitter.noConflict=function noConflict(){
13637exports.EventEmitter=originalGlobalValue;
13638return EventEmitter;
13639};
13640if(typeof define==='function'&&define.amd){
13641define('eventEmitter/EventEmitter',[],function(){
13642return EventEmitter;
13643});
13644}
13645else if(typeof module==='object'&&module.exports){
13646module.exports=EventEmitter;
13647}
13648else{
13649exports.EventEmitter=EventEmitter;
13650}
13651}.call(this));
13652(function(window){
13653var prefixes='Webkit Moz ms Ms O'.split(' ');
13654var docElemStyle=document.documentElement.style;
13655function getStyleProperty(propName){
13656if(!propName){
13657return;
13658}
13659if(typeof docElemStyle[propName]==='string'){
13660return propName;
13661}
13662propName=propName.charAt(0).toUpperCase()+propName.slice(1);
13663var prefixed;
13664for(var i=0,len=prefixes.length;i<len;i++){
13665prefixed=prefixes[i]+propName;
13666if(typeof docElemStyle[prefixed]==='string'){
13667return prefixed;
13668}
13669}
13670}
13671if(typeof define==='function'&&define.amd){
13672define('get-style-property/get-style-property',[],function(){
13673return getStyleProperty;
13674});
13675}else if(typeof exports==='object'){
13676module.exports=getStyleProperty;
13677}else{
13678window.getStyleProperty=getStyleProperty;
13679}
13680})(window);
13681(function(window,undefined){
13682function getStyleSize(value){
13683var num=parseFloat(value);
13684var isValid=value.indexOf('%')===-1&&!isNaN(num);
13685return isValid&&num;
13686}
13687function noop(){}
13688var logError=typeof console==='undefined'?noop:
13689function(message){
13690console.error(message);
13691};
13692var measurements=[
13693'paddingLeft',
13694'paddingRight',
13695'paddingTop',
13696'paddingBottom',
13697'marginLeft',
13698'marginRight',
13699'marginTop',
13700'marginBottom',
13701'borderLeftWidth',
13702'borderRightWidth',
13703'borderTopWidth',
13704'borderBottomWidth'
13705];
13706function getZeroSize(){
13707var size={
13708width:0,
13709height:0,
13710innerWidth:0,
13711innerHeight:0,
13712outerWidth:0,
13713outerHeight:0
13714};
13715for(var i=0,len=measurements.length;i<len;i++){
13716var measurement=measurements[i];
13717size[measurement]=0;
13718}
13719return size;
13720}
13721function defineGetSize(getStyleProperty){
13722var isSetup=false;
13723var getStyle,boxSizingProp,isBoxSizeOuter;
13724function setup(){
13725if(isSetup){
13726return;
13727}
13728isSetup=true;
13729var getComputedStyle=window.getComputedStyle;
13730getStyle=(function(){
13731var getStyleFn=getComputedStyle?
13732function(elem){
13733return getComputedStyle(elem,null);
13734}:
13735function(elem){
13736return elem.currentStyle;
13737};
13738return function getStyle(elem){
13739var style=getStyleFn(elem);
13740if(!style){
13741logError('Style returned '+style+
13742'. Are you running this code in a hidden iframe on Firefox? '+
13743'See http://bit.ly/getsizebug1');
13744}
13745return style;
13746};
13747})();
13748boxSizingProp=getStyleProperty('boxSizing');
13749if(boxSizingProp){
13750var div=document.createElement('div');
13751div.style.width='200px';
13752div.style.padding='1px 2px 3px 4px';
13753div.style.borderStyle='solid';
13754div.style.borderWidth='1px 2px 3px 4px';
13755div.style[boxSizingProp]='border-box';
13756var body=document.body||document.documentElement;
13757body.appendChild(div);
13758var style=getStyle(div);
13759isBoxSizeOuter=getStyleSize(style.width)===200;
13760body.removeChild(div);
13761}
13762}
13763function getSize(elem){
13764setup();
13765if(typeof elem==='string'){
13766elem=document.querySelector(elem);
13767}
13768if(!elem||typeof elem!=='object'||!elem.nodeType){
13769return;
13770}
13771var style=getStyle(elem);
13772if(style.display==='none'){
13773return getZeroSize();
13774}
13775var size={};
13776size.width=elem.offsetWidth;
13777size.height=elem.offsetHeight;
13778var isBorderBox=size.isBorderBox=!!(boxSizingProp&&
13779style[boxSizingProp]&&style[boxSizingProp]==='border-box');
13780for(var i=0,len=measurements.length;i<len;i++){
13781var measurement=measurements[i];
13782var value=style[measurement];
13783value=mungeNonPixel(elem,value);
13784var num=parseFloat(value);
13785size[measurement]=!isNaN(num)?num:0;
13786}
13787var paddingWidth=size.paddingLeft+size.paddingRight;
13788var paddingHeight=size.paddingTop+size.paddingBottom;
13789var marginWidth=size.marginLeft+size.marginRight;
13790var marginHeight=size.marginTop+size.marginBottom;
13791var borderWidth=size.borderLeftWidth+size.borderRightWidth;
13792var borderHeight=size.borderTopWidth+size.borderBottomWidth;
13793var isBorderBoxSizeOuter=isBorderBox&&isBoxSizeOuter;
13794var styleWidth=getStyleSize(style.width);
13795if(styleWidth!==false){
13796size.width=styleWidth+
13797(isBorderBoxSizeOuter?0:paddingWidth+borderWidth);
13798}
13799var styleHeight=getStyleSize(style.height);
13800if(styleHeight!==false){
13801size.height=styleHeight+
13802(isBorderBoxSizeOuter?0:paddingHeight+borderHeight);
13803}
13804size.innerWidth=size.width-(paddingWidth+borderWidth);
13805size.innerHeight=size.height-(paddingHeight+borderHeight);
13806size.outerWidth=size.width+marginWidth;
13807size.outerHeight=size.height+marginHeight;
13808return size;
13809}
13810function mungeNonPixel(elem,value){
13811if(window.getComputedStyle||value.indexOf('%')===-1){
13812return value;
13813}
13814var style=elem.style;
13815var left=style.left;
13816var rs=elem.runtimeStyle;
13817var rsLeft=rs&&rs.left;
13818if(rsLeft){
13819rs.left=elem.currentStyle.left;
13820}
13821style.left=value;
13822value=style.pixelLeft;
13823style.left=left;
13824if(rsLeft){
13825rs.left=rsLeft;
13826}
13827return value;
13828}
13829return getSize;
13830}
13831if(typeof define==='function'&&define.amd){
13832define('get-size/get-size',['get-style-property/get-style-property'],defineGetSize);
13833}else if(typeof exports==='object'){
13834module.exports=defineGetSize(require('desandro-get-style-property'));
13835}else{
13836window.getSize=defineGetSize(window.getStyleProperty);
13837}
13838})(window);
13839(function(window){
13840var document=window.document;
13841var queue=[];
13842function docReady(fn){
13843if(typeof fn!=='function'){
13844return;
13845}
13846if(docReady.isReady){
13847fn();
13848}else{
13849queue.push(fn);
13850}
13851}
13852docReady.isReady=false;
13853function onReady(event){
13854var isIE8NotReady=event.type==='readystatechange'&&document.readyState!=='complete';
13855if(docReady.isReady||isIE8NotReady){
13856return;
13857}
13858trigger();
13859}
13860function trigger(){
13861docReady.isReady=true;
13862for(var i=0,len=queue.length;i<len;i++){
13863var fn=queue[i];
13864fn();
13865}
13866}
13867function defineDocReady(eventie){
13868if(document.readyState==='complete'){
13869trigger();
13870}else{
13871eventie.bind(document,'DOMContentLoaded',onReady);
13872eventie.bind(document,'readystatechange',onReady);
13873eventie.bind(window,'load',onReady);
13874}
13875return docReady;
13876}
13877if(typeof define==='function'&&define.amd){
13878define('doc-ready/doc-ready',['eventie/eventie'],defineDocReady);
13879}else if(typeof exports==='object'){
13880module.exports=defineDocReady(require('eventie'));
13881}else{
13882window.docReady=defineDocReady(window.eventie);
13883}
13884})(window);
13885(function(ElemProto){
13886var matchesMethod=(function(){
13887if(ElemProto.matches){
13888return'matches';
13889}
13890if(ElemProto.matchesSelector){
13891return'matchesSelector';
13892}
13893var prefixes=['webkit','moz','ms','o'];
13894for(var i=0,len=prefixes.length;i<len;i++){
13895var prefix=prefixes[i];
13896var method=prefix+'MatchesSelector';
13897if(ElemProto[method]){
13898return method;
13899}
13900}
13901})();
13902function match(elem,selector){
13903return elem[matchesMethod](selector);
13904}
13905function checkParent(elem){
13906if(elem.parentNode){
13907return;
13908}
13909var fragment=document.createDocumentFragment();
13910fragment.appendChild(elem);
13911}
13912function query(elem,selector){
13913checkParent(elem);
13914var elems=elem.parentNode.querySelectorAll(selector);
13915for(var i=0,len=elems.length;i<len;i++){
13916if(elems[i]===elem){
13917return true;
13918}
13919}
13920return false;
13921}
13922function matchChild(elem,selector){
13923checkParent(elem);
13924return match(elem,selector);
13925}
13926var matchesSelector;
13927if(matchesMethod){
13928var div=document.createElement('div');
13929var supportsOrphans=match(div,'div');
13930matchesSelector=supportsOrphans?match:matchChild;
13931}else{
13932matchesSelector=query;
13933}
13934if(typeof define==='function'&&define.amd){
13935define('matches-selector/matches-selector',[],function(){
13936return matchesSelector;
13937});
13938}else if(typeof exports==='object'){
13939module.exports=matchesSelector;
13940}
13941else{
13942window.matchesSelector=matchesSelector;
13943}
13944})(Element.prototype);
13945(function(window,factory){
13946if(typeof define=='function'&&define.amd){
13947define('fizzy-ui-utils/utils',[
13948'doc-ready/doc-ready',
13949'matches-selector/matches-selector'
13950],function(docReady,matchesSelector){
13951return factory(window,docReady,matchesSelector);
13952});
13953}else if(typeof exports=='object'){
13954module.exports=factory(
13955window,
13956require('doc-ready'),
13957require('desandro-matches-selector')
13958);
13959}else{
13960window.fizzyUIUtils=factory(
13961window,
13962window.docReady,
13963window.matchesSelector
13964);
13965}
13966}(window,function factory(window,docReady,matchesSelector){
13967var utils={};
13968utils.extend=function(a,b){
13969for(var prop in b){
13970a[prop]=b[prop];
13971}
13972return a;
13973};
13974utils.modulo=function(num,div){
13975return((num%div)+div)%div;
13976};
13977var objToString=Object.prototype.toString;
13978utils.isArray=function(obj){
13979return objToString.call(obj)=='[object Array]';
13980};
13981utils.makeArray=function(obj){
13982var ary=[];
13983if(utils.isArray(obj)){
13984ary=obj;
13985}else if(obj&&typeof obj.length=='number'){
13986for(var i=0,len=obj.length;i<len;i++){
13987ary.push(obj[i]);
13988}
13989}else{
13990ary.push(obj);
13991}
13992return ary;
13993};
13994utils.indexOf=Array.prototype.indexOf?function(ary,obj){
13995return ary.indexOf(obj);
13996}:function(ary,obj){
13997for(var i=0,len=ary.length;i<len;i++){
13998if(ary[i]===obj){
13999return i;
14000}
14001}
14002return-1;
14003};
14004utils.removeFrom=function(ary,obj){
14005var index=utils.indexOf(ary,obj);
14006if(index!=-1){
14007ary.splice(index,1);
14008}
14009};
14010utils.isElement=(typeof HTMLElement=='function'||typeof HTMLElement=='object')?
14011function isElementDOM2(obj){
14012return obj instanceof HTMLElement;
14013}:
14014function isElementQuirky(obj){
14015return obj&&typeof obj=='object'&&
14016obj.nodeType==1&&typeof obj.nodeName=='string';
14017};
14018utils.setText=(function(){
14019var setTextProperty;
14020function setText(elem,text){
14021setTextProperty=setTextProperty||(document.documentElement.textContent!==undefined?'textContent':'innerText');
14022elem[setTextProperty]=text;
14023}
14024return setText;
14025})();
14026utils.getParent=function(elem,selector){
14027while(elem!=document.body){
14028elem=elem.parentNode;
14029if(matchesSelector(elem,selector)){
14030return elem;
14031}
14032}
14033};
14034utils.getQueryElement=function(elem){
14035if(typeof elem=='string'){
14036return document.querySelector(elem);
14037}
14038return elem;
14039};
14040utils.handleEvent=function(event){
14041var method='on'+event.type;
14042if(this[method]){
14043this[method](event);
14044}
14045};
14046utils.filterFindElements=function(elems,selector){
14047elems=utils.makeArray(elems);
14048var ffElems=[];
14049for(var i=0,len=elems.length;i<len;i++){
14050var elem=elems[i];
14051if(!utils.isElement(elem)){
14052continue;
14053}
14054if(selector){
14055if(matchesSelector(elem,selector)){
14056ffElems.push(elem);
14057}
14058var childElems=elem.querySelectorAll(selector);
14059for(var j=0,jLen=childElems.length;j<jLen;j++){
14060ffElems.push(childElems[j]);
14061}
14062}else{
14063ffElems.push(elem);
14064}
14065}
14066return ffElems;
14067};
14068utils.debounceMethod=function(_class,methodName,threshold){
14069var method=_class.prototype[methodName];
14070var timeoutName=methodName+'Timeout';
14071_class.prototype[methodName]=function(){
14072var timeout=this[timeoutName];
14073if(timeout){
14074clearTimeout(timeout);
14075}
14076var args=arguments;
14077var _this=this;
14078this[timeoutName]=setTimeout(function(){
14079method.apply(_this,args);
14080delete _this[timeoutName];
14081},threshold||100);
14082};
14083};
14084utils.toDashed=function(str){
14085return str.replace(/(.)([A-Z])/g,function(match,$1,$2){
14086return $1+'-'+$2;
14087}).toLowerCase();
14088};
14089var console=window.console;
14090utils.htmlInit=function(WidgetClass,namespace){
14091docReady(function(){
14092var dashedNamespace=utils.toDashed(namespace);
14093var elems=document.querySelectorAll('.js-'+dashedNamespace);
14094var dataAttr='data-'+dashedNamespace+'-options';
14095for(var i=0,len=elems.length;i<len;i++){
14096var elem=elems[i];
14097var attr=elem.getAttribute(dataAttr);
14098var options;
14099try{
14100options=attr&&JSON.parse(attr);
14101}catch(error){
14102if(console){
14103console.error('Error parsing '+dataAttr+' on '+
14104elem.nodeName.toLowerCase()+(elem.id?'#'+elem.id:'')+': '+
14105error);
14106}
14107continue;
14108}
14109var instance=new WidgetClass(elem,options);
14110var jQuery=window.jQuery;
14111if(jQuery){
14112jQuery.data(elem,namespace,instance);
14113}
14114}
14115});
14116};
14117return utils;
14118}));
14119(function(window,factory){
14120if(typeof define==='function'&&define.amd){
14121define('outlayer/item',[
14122'eventEmitter/EventEmitter',
14123'get-size/get-size',
14124'get-style-property/get-style-property',
14125'fizzy-ui-utils/utils'
14126],
14127function(EventEmitter,getSize,getStyleProperty,utils){
14128return factory(window,EventEmitter,getSize,getStyleProperty,utils);
14129}
14130);
14131}else if(typeof exports==='object'){
14132module.exports=factory(
14133window,
14134require('wolfy87-eventemitter'),
14135require('get-size'),
14136require('desandro-get-style-property'),
14137require('fizzy-ui-utils')
14138);
14139}else{
14140window.Outlayer={};
14141window.Outlayer.Item=factory(
14142window,
14143window.EventEmitter,
14144window.getSize,
14145window.getStyleProperty,
14146window.fizzyUIUtils
14147);
14148}
14149}(window,function factory(window,EventEmitter,getSize,getStyleProperty,utils){
14150var getComputedStyle=window.getComputedStyle;
14151var getStyle=getComputedStyle?
14152function(elem){
14153return getComputedStyle(elem,null);
14154}:
14155function(elem){
14156return elem.currentStyle;
14157};
14158function isEmptyObj(obj){
14159for(var prop in obj){
14160return false;
14161}
14162prop=null;
14163return true;
14164}
14165var transitionProperty=getStyleProperty('transition');
14166var transformProperty=getStyleProperty('transform');
14167var supportsCSS3=transitionProperty&&transformProperty;
14168var is3d=!!getStyleProperty('perspective');
14169var transitionEndEvent={
14170WebkitTransition:'webkitTransitionEnd',
14171MozTransition:'transitionend',
14172OTransition:'otransitionend',
14173transition:'transitionend'
14174}[transitionProperty];
14175var prefixableProperties=[
14176'transform',
14177'transition',
14178'transitionDuration',
14179'transitionProperty'
14180];
14181var vendorProperties=(function(){
14182var cache={};
14183for(var i=0,len=prefixableProperties.length;i<len;i++){
14184var prop=prefixableProperties[i];
14185var supportedProp=getStyleProperty(prop);
14186if(supportedProp&&supportedProp!==prop){
14187cache[prop]=supportedProp;
14188}
14189}
14190return cache;
14191})();
14192function Item(element,layout){
14193if(!element){
14194return;
14195}
14196this.element=element;
14197this.layout=layout;
14198this.position={
14199x:0,
14200y:0
14201};
14202this._create();
14203}
14204utils.extend(Item.prototype,EventEmitter.prototype);
14205Item.prototype._create=function(){
14206this._transn={
14207ingProperties:{},
14208clean:{},
14209onEnd:{}
14210};
14211this.css({
14212position:'absolute'
14213});
14214};
14215Item.prototype.handleEvent=function(event){
14216var method='on'+event.type;
14217if(this[method]){
14218this[method](event);
14219}
14220};
14221Item.prototype.getSize=function(){
14222this.size=getSize(this.element);
14223};
14224Item.prototype.css=function(style){
14225var elemStyle=this.element.style;
14226for(var prop in style){
14227var supportedProp=vendorProperties[prop]||prop;
14228elemStyle[supportedProp]=style[prop];
14229}
14230};
14231Item.prototype.getPosition=function(){
14232var style=getStyle(this.element);
14233var layoutOptions=this.layout.options;
14234var isOriginLeft=layoutOptions.isOriginLeft;
14235var isOriginTop=layoutOptions.isOriginTop;
14236var xValue=style[isOriginLeft?'left':'right'];
14237var yValue=style[isOriginTop?'top':'bottom'];
14238var layoutSize=this.layout.size;
14239var x=xValue.indexOf('%')!=-1?
14240(parseFloat(xValue)/100)*layoutSize.width:parseInt(xValue,10);
14241var y=yValue.indexOf('%')!=-1?
14242(parseFloat(yValue)/100)*layoutSize.height:parseInt(yValue,10);
14243x=isNaN(x)?0:x;
14244y=isNaN(y)?0:y;
14245x-=isOriginLeft?layoutSize.paddingLeft:layoutSize.paddingRight;
14246y-=isOriginTop?layoutSize.paddingTop:layoutSize.paddingBottom;
14247this.position.x=x;
14248this.position.y=y;
14249};
14250Item.prototype.layoutPosition=function(){
14251var layoutSize=this.layout.size;
14252var layoutOptions=this.layout.options;
14253var style={};
14254var xPadding=layoutOptions.isOriginLeft?'paddingLeft':'paddingRight';
14255var xProperty=layoutOptions.isOriginLeft?'left':'right';
14256var xResetProperty=layoutOptions.isOriginLeft?'right':'left';
14257var x=this.position.x+layoutSize[xPadding];
14258style[xProperty]=this.getXValue(x);
14259style[xResetProperty]='';
14260var yPadding=layoutOptions.isOriginTop?'paddingTop':'paddingBottom';
14261var yProperty=layoutOptions.isOriginTop?'top':'bottom';
14262var yResetProperty=layoutOptions.isOriginTop?'bottom':'top';
14263var y=this.position.y+layoutSize[yPadding];
14264style[yProperty]=this.getYValue(y);
14265style[yResetProperty]='';
14266this.css(style);
14267this.emitEvent('layout',[this]);
14268};
14269Item.prototype.getXValue=function(x){
14270var layoutOptions=this.layout.options;
14271return layoutOptions.percentPosition&&!layoutOptions.isHorizontal?
14272((x/this.layout.size.width)*100)+'%':x+'px';
14273};
14274Item.prototype.getYValue=function(y){
14275var layoutOptions=this.layout.options;
14276return layoutOptions.percentPosition&&layoutOptions.isHorizontal?
14277((y/this.layout.size.height)*100)+'%':y+'px';
14278};
14279Item.prototype._transitionTo=function(x,y){
14280this.getPosition();
14281var curX=this.position.x;
14282var curY=this.position.y;
14283var compareX=parseInt(x,10);
14284var compareY=parseInt(y,10);
14285var didNotMove=compareX===this.position.x&&compareY===this.position.y;
14286this.setPosition(x,y);
14287if(didNotMove&&!this.isTransitioning){
14288this.layoutPosition();
14289return;
14290}
14291var transX=x-curX;
14292var transY=y-curY;
14293var transitionStyle={};
14294transitionStyle.transform=this.getTranslate(transX,transY);
14295this.transition({
14296to:transitionStyle,
14297onTransitionEnd:{
14298transform:this.layoutPosition
14299},
14300isCleaning:true
14301});
14302};
14303Item.prototype.getTranslate=function(x,y){
14304var layoutOptions=this.layout.options;
14305x=layoutOptions.isOriginLeft?x:-x;
14306y=layoutOptions.isOriginTop?y:-y;
14307if(is3d){
14308return'translate3d('+x+'px, '+y+'px, 0)';
14309}
14310return'translate('+x+'px, '+y+'px)';
14311};
14312Item.prototype.goTo=function(x,y){
14313this.setPosition(x,y);
14314this.layoutPosition();
14315};
14316Item.prototype.moveTo=supportsCSS3?
14317Item.prototype._transitionTo:Item.prototype.goTo;
14318Item.prototype.setPosition=function(x,y){
14319this.position.x=parseInt(x,10);
14320this.position.y=parseInt(y,10);
14321};
14322Item.prototype._nonTransition=function(args){
14323this.css(args.to);
14324if(args.isCleaning){
14325this._removeStyles(args.to);
14326}
14327for(var prop in args.onTransitionEnd){
14328args.onTransitionEnd[prop].call(this);
14329}
14330};
14331Item.prototype._transition=function(args){
14332if(!parseFloat(this.layout.options.transitionDuration)){
14333this._nonTransition(args);
14334return;
14335}
14336var _transition=this._transn;
14337for(var prop in args.onTransitionEnd){
14338_transition.onEnd[prop]=args.onTransitionEnd[prop];
14339}
14340for(prop in args.to){
14341_transition.ingProperties[prop]=true;
14342if(args.isCleaning){
14343_transition.clean[prop]=true;
14344}
14345}
14346if(args.from){
14347this.css(args.from);
14348var h=this.element.offsetHeight;
14349h=null;
14350}
14351this.enableTransition(args.to);
14352this.css(args.to);
14353this.isTransitioning=true;
14354};
14355function toDashedAll(str){
14356return str.replace(/([A-Z])/g,function($1){
14357return'-'+$1.toLowerCase();
14358});
14359}
14360var transitionProps='opacity,'+
14361toDashedAll(vendorProperties.transform||'transform');
14362Item.prototype.enableTransition=function(){
14363if(this.isTransitioning){
14364return;
14365}
14366this.css({
14367transitionProperty:transitionProps,
14368transitionDuration:this.layout.options.transitionDuration
14369});
14370this.element.addEventListener(transitionEndEvent,this,false);
14371};
14372Item.prototype.transition=Item.prototype[transitionProperty?'_transition':'_nonTransition'];
14373Item.prototype.onwebkitTransitionEnd=function(event){
14374this.ontransitionend(event);
14375};
14376Item.prototype.onotransitionend=function(event){
14377this.ontransitionend(event);
14378};
14379var dashedVendorProperties={
14380'-webkit-transform':'transform',
14381'-moz-transform':'transform',
14382'-o-transform':'transform'
14383};
14384Item.prototype.ontransitionend=function(event){
14385if(event.target!==this.element){
14386return;
14387}
14388var _transition=this._transn;
14389var propertyName=dashedVendorProperties[event.propertyName]||event.propertyName;
14390delete _transition.ingProperties[propertyName];
14391if(isEmptyObj(_transition.ingProperties)){
14392this.disableTransition();
14393}
14394if(propertyName in _transition.clean){
14395this.element.style[event.propertyName]='';
14396delete _transition.clean[propertyName];
14397}
14398if(propertyName in _transition.onEnd){
14399var onTransitionEnd=_transition.onEnd[propertyName];
14400onTransitionEnd.call(this);
14401delete _transition.onEnd[propertyName];
14402}
14403this.emitEvent('transitionEnd',[this]);
14404};
14405Item.prototype.disableTransition=function(){
14406this.removeTransitionStyles();
14407this.element.removeEventListener(transitionEndEvent,this,false);
14408this.isTransitioning=false;
14409};
14410Item.prototype._removeStyles=function(style){
14411var cleanStyle={};
14412for(var prop in style){
14413cleanStyle[prop]='';
14414}
14415this.css(cleanStyle);
14416};
14417var cleanTransitionStyle={
14418transitionProperty:'',
14419transitionDuration:''
14420};
14421Item.prototype.removeTransitionStyles=function(){
14422this.css(cleanTransitionStyle);
14423};
14424Item.prototype.removeElem=function(){
14425this.element.parentNode.removeChild(this.element);
14426this.css({display:''});
14427this.emitEvent('remove',[this]);
14428};
14429Item.prototype.remove=function(){
14430if(!transitionProperty||!parseFloat(this.layout.options.transitionDuration)){
14431this.removeElem();
14432return;
14433}
14434var _this=this;
14435this.once('transitionEnd',function(){
14436_this.removeElem();
14437});
14438this.hide();
14439};
14440Item.prototype.reveal=function(){
14441delete this.isHidden;
14442this.css({display:''});
14443var options=this.layout.options;
14444var onTransitionEnd={};
14445var transitionEndProperty=this.getHideRevealTransitionEndProperty('visibleStyle');
14446onTransitionEnd[transitionEndProperty]=this.onRevealTransitionEnd;
14447this.transition({
14448from:options.hiddenStyle,
14449to:options.visibleStyle,
14450isCleaning:true,
14451onTransitionEnd:onTransitionEnd
14452});
14453};
14454Item.prototype.onRevealTransitionEnd=function(){
14455if(!this.isHidden){
14456this.emitEvent('reveal');
14457}
14458};
14459Item.prototype.getHideRevealTransitionEndProperty=function(styleProperty){
14460var optionStyle=this.layout.options[styleProperty];
14461if(optionStyle.opacity){
14462return'opacity';
14463}
14464for(var prop in optionStyle){
14465return prop;
14466}
14467};
14468Item.prototype.hide=function(){
14469this.isHidden=true;
14470this.css({display:''});
14471var options=this.layout.options;
14472var onTransitionEnd={};
14473var transitionEndProperty=this.getHideRevealTransitionEndProperty('hiddenStyle');
14474onTransitionEnd[transitionEndProperty]=this.onHideTransitionEnd;
14475this.transition({
14476from:options.visibleStyle,
14477to:options.hiddenStyle,
14478isCleaning:true,
14479onTransitionEnd:onTransitionEnd
14480});
14481};
14482Item.prototype.onHideTransitionEnd=function(){
14483if(this.isHidden){
14484this.css({display:'none'});
14485this.emitEvent('hide');
14486}
14487};
14488Item.prototype.destroy=function(){
14489this.css({
14490position:'',
14491left:'',
14492right:'',
14493top:'',
14494bottom:'',
14495transition:'',
14496transform:''
14497});
14498};
14499return Item;
14500}));
14501(function(window,factory){
14502if(typeof define=='function'&&define.amd){
14503define('outlayer/outlayer',[
14504'eventie/eventie',
14505'eventEmitter/EventEmitter',
14506'get-size/get-size',
14507'fizzy-ui-utils/utils',
14508'./item'
14509],
14510function(eventie,EventEmitter,getSize,utils,Item){
14511return factory(window,eventie,EventEmitter,getSize,utils,Item);
14512}
14513);
14514}else if(typeof exports=='object'){
14515module.exports=factory(
14516window,
14517require('eventie'),
14518require('wolfy87-eventemitter'),
14519require('get-size'),
14520require('fizzy-ui-utils'),
14521require('./item')
14522);
14523}else{
14524window.Outlayer=factory(
14525window,
14526window.eventie,
14527window.EventEmitter,
14528window.getSize,
14529window.fizzyUIUtils,
14530window.Outlayer.Item
14531);
14532}
14533}(window,function factory(window,eventie,EventEmitter,getSize,utils,Item){
14534var console=window.console;
14535var jQuery=window.jQuery;
14536var noop=function(){};
14537var GUID=0;
14538var instances={};
14539function Outlayer(element,options){
14540var queryElement=utils.getQueryElement(element);
14541if(!queryElement){
14542if(console){
14543console.error('Bad element for '+this.constructor.namespace+
14544': '+(queryElement||element));
14545}
14546return;
14547}
14548this.element=queryElement;
14549if(jQuery){
14550this.$element=jQuery(this.element);
14551}
14552this.options=utils.extend({},this.constructor.defaults);
14553this.option(options);
14554var id=++GUID;
14555this.element.outlayerGUID=id;
14556instances[id]=this;
14557this._create();
14558if(this.options.isInitLayout){
14559this.layout();
14560}
14561}
14562Outlayer.namespace='outlayer';
14563Outlayer.Item=Item;
14564Outlayer.defaults={
14565containerStyle:{
14566position:'relative'
14567},
14568isInitLayout:true,
14569isOriginLeft:true,
14570isOriginTop:true,
14571isResizeBound:true,
14572isResizingContainer:true,
14573transitionDuration:'0.4s',
14574hiddenStyle:{
14575opacity:0,
14576transform:'scale(0.001)'
14577},
14578visibleStyle:{
14579opacity:1,
14580transform:'scale(1)'
14581}
14582};
14583utils.extend(Outlayer.prototype,EventEmitter.prototype);
14584Outlayer.prototype.option=function(opts){
14585utils.extend(this.options,opts);
14586};
14587Outlayer.prototype._create=function(){
14588this.reloadItems();
14589this.stamps=[];
14590this.stamp(this.options.stamp);
14591utils.extend(this.element.style,this.options.containerStyle);
14592if(this.options.isResizeBound){
14593this.bindResize();
14594}
14595};
14596Outlayer.prototype.reloadItems=function(){
14597this.items=this._itemize(this.element.children);
14598};
14599Outlayer.prototype._itemize=function(elems){
14600var itemElems=this._filterFindItemElements(elems);
14601var Item=this.constructor.Item;
14602var items=[];
14603for(var i=0,len=itemElems.length;i<len;i++){
14604var elem=itemElems[i];
14605var item=new Item(elem,this);
14606items.push(item);
14607}
14608return items;
14609};
14610Outlayer.prototype._filterFindItemElements=function(elems){
14611return utils.filterFindElements(elems,this.options.itemSelector);
14612};
14613Outlayer.prototype.getItemElements=function(){
14614var elems=[];
14615for(var i=0,len=this.items.length;i<len;i++){
14616elems.push(this.items[i].element);
14617}
14618return elems;
14619};
14620Outlayer.prototype.layout=function(){
14621this._resetLayout();
14622this._manageStamps();
14623var isInstant=this.options.isLayoutInstant!==undefined?
14624this.options.isLayoutInstant:!this._isLayoutInited;
14625this.layoutItems(this.items,isInstant);
14626this._isLayoutInited=true;
14627};
14628Outlayer.prototype._init=Outlayer.prototype.layout;
14629Outlayer.prototype._resetLayout=function(){
14630this.getSize();
14631};
14632Outlayer.prototype.getSize=function(){
14633this.size=getSize(this.element);
14634};
14635Outlayer.prototype._getMeasurement=function(measurement,size){
14636var option=this.options[measurement];
14637var elem;
14638if(!option){
14639this[measurement]=0;
14640}else{
14641if(typeof option==='string'){
14642elem=this.element.querySelector(option);
14643}else if(utils.isElement(option)){
14644elem=option;
14645}
14646this[measurement]=elem?getSize(elem)[size]:option;
14647}
14648};
14649Outlayer.prototype.layoutItems=function(items,isInstant){
14650items=this._getItemsForLayout(items);
14651this._layoutItems(items,isInstant);
14652this._postLayout();
14653};
14654Outlayer.prototype._getItemsForLayout=function(items){
14655var layoutItems=[];
14656for(var i=0,len=items.length;i<len;i++){
14657var item=items[i];
14658if(!item.isIgnored){
14659layoutItems.push(item);
14660}
14661}
14662return layoutItems;
14663};
14664Outlayer.prototype._layoutItems=function(items,isInstant){
14665this._emitCompleteOnItems('layout',items);
14666if(!items||!items.length){
14667return;
14668}
14669var queue=[];
14670for(var i=0,len=items.length;i<len;i++){
14671var item=items[i];
14672var position=this._getItemLayoutPosition(item);
14673position.item=item;
14674position.isInstant=isInstant||item.isLayoutInstant;
14675queue.push(position);
14676}
14677this._processLayoutQueue(queue);
14678};
14679Outlayer.prototype._getItemLayoutPosition=function(){
14680return{
14681x:0,
14682y:0
14683}
14683;
14684};
14685Outlayer.prototype._processLayoutQueue=function(queue){
14686for(var i=0,len=queue.length;i<len;i++){
14687var obj=queue[i];
14688this._positionItem(obj.item,obj.x,obj.y,obj.isInstant);
14689}
14690};
14691Outlayer.prototype._positionItem=function(item,x,y,isInstant){
14692if(isInstant){
14693item.goTo(x,y);
14694}else{
14695item.moveTo(x,y);
14696}
14697};
14698Outlayer.prototype._postLayout=function(){
14699this.resizeContainer();
14700};
14701Outlayer.prototype.resizeContainer=function(){
14702if(!this.options.isResizingContainer){
14703return;
14704}
14705var size=this._getContainerSize();
14706if(size){
14707this._setContainerMeasure(size.width,true);
14708this._setContainerMeasure(size.height,false);
14709}
14710};
14711Outlayer.prototype._getContainerSize=noop;
14712Outlayer.prototype._setContainerMeasure=function(measure,isWidth){
14713if(measure===undefined){
14714return;
14715}
14716var elemSize=this.size;
14717if(elemSize.isBorderBox){
14718measure+=isWidth?elemSize.paddingLeft+elemSize.paddingRight+
14719elemSize.borderLeftWidth+elemSize.borderRightWidth:
14720elemSize.paddingBottom+elemSize.paddingTop+
14721elemSize.borderTopWidth+elemSize.borderBottomWidth;
14722}
14723measure=Math.max(measure,0);
14724this.element.style[isWidth?'width':'height']=measure+'px';
14725};
14726Outlayer.prototype._emitCompleteOnItems=function(eventName,items){
14727var _this=this;
14728function onComplete(){
14729_this.dispatchEvent(eventName+'Complete',null,[items]);
14730}
14731var count=items.length;
14732if(!items||!count){
14733onComplete();
14734return;
14735}
14736var doneCount=0;
14737function tick(){
14738doneCount++;
14739if(doneCount===count){
14740onComplete();
14741}
14742}
14743for(var i=0,len=items.length;i<len;i++){
14744var item=items[i];
14745item.once(eventName,tick);
14746}
14747};
14748Outlayer.prototype.dispatchEvent=function(type,event,args){
14749var emitArgs=event?[event].concat(args):args;
14750this.emitEvent(type,emitArgs);
14751if(jQuery){
14752this.$element=this.$element||jQuery(this.element);
14753if(event){
14754var $event=jQuery.Event(event);
14755$event.type=type;
14756this.$element.trigger($event,args);
14757}else{
14758this.$element.trigger(type,args);
14759}
14760}
14761};
14762Outlayer.prototype.ignore=function(elem){
14763var item=this.getItem(elem);
14764if(item){
14765item.isIgnored=true;
14766}
14767};
14768Outlayer.prototype.unignore=function(elem){
14769var item=this.getItem(elem);
14770if(item){
14771delete item.isIgnored;
14772}
14773};
14774Outlayer.prototype.stamp=function(elems){
14775elems=this._find(elems);
14776if(!elems){
14777return;
14778}
14779this.stamps=this.stamps.concat(elems);
14780for(var i=0,len=elems.length;i<len;i++){
14781var elem=elems[i];
14782this.ignore(elem);
14783}
14784};
14785Outlayer.prototype.unstamp=function(elems){
14786elems=this._find(elems);
14787if(!elems){
14788return;
14789}
14790for(var i=0,len=elems.length;i<len;i++){
14791var elem=elems[i];
14792utils.removeFrom(this.stamps,elem);
14793this.unignore(elem);
14794}
14795};
14796Outlayer.prototype._find=function(elems){
14797if(!elems){
14798return;
14799}
14800if(typeof elems==='string'){
14801elems=this.element.querySelectorAll(elems);
14802}
14803elems=utils.makeArray(elems);
14804return elems;
14805};
14806Outlayer.prototype._manageStamps=function(){
14807if(!this.stamps||!this.stamps.length){
14808return;
14809}
14810this._getBoundingRect();
14811for(var i=0,len=this.stamps.length;i<len;i++){
14812var stamp=this.stamps[i];
14813this._manageStamp(stamp);
14814}
14815};
14816Outlayer.prototype._getBoundingRect=function(){
14817var boundingRect=this.element.getBoundingClientRect();
14818var size=this.size;
14819this._boundingRect={
14820left:boundingRect.left+size.paddingLeft+size.borderLeftWidth,
14821top:boundingRect.top+size.paddingTop+size.borderTopWidth,
14822right:boundingRect.right-(size.paddingRight+size.borderRightWidth),
14823bottom:boundingRect.bottom-(size.paddingBottom+size.borderBottomWidth)
14824};
14825};
14826Outlayer.prototype._manageStamp=noop;
14827Outlayer.prototype._getElementOffset=function(elem){
14828var boundingRect=elem.getBoundingClientRect();
14829var thisRect=this._boundingRect;
14830var size=getSize(elem);
14831var offset={
14832left:boundingRect.left-thisRect.left-size.marginLeft,
14833top:boundingRect.top-thisRect.top-size.marginTop,
14834right:thisRect.right-boundingRect.right-size.marginRight,
14835bottom:thisRect.bottom-boundingRect.bottom-size.marginBottom
14836};
14837return offset;
14838};
14839Outlayer.prototype.handleEvent=function(event){
14840var method='on'+event.type;
14841if(this[method]){
14842this[method](event);
14843}
14844};
14845Outlayer.prototype.bindResize=function(){
14846if(this.isResizeBound){
14847return;
14848}
14849eventie.bind(window,'resize',this);
14850this.isResizeBound=true;
14851};
14852Outlayer.prototype.unbindResize=function(){
14853if(this.isResizeBound){
14854eventie.unbind(window,'resize',this);
14855}
14856this.isResizeBound=false;
14857};
14858Outlayer.prototype.onresize=function(){
14859if(this.resizeTimeout){
14860clearTimeout(this.resizeTimeout);
14861}
14862var _this=this;
14863function delayed(){
14864_this.resize();
14865delete _this.resizeTimeout;
14866}
14867this.resizeTimeout=setTimeout(delayed,100);
14868};
14869Outlayer.prototype.resize=function(){
14870if(!this.isResizeBound||!this.needsResizeLayout()){
14871return;
14872}
14873this.layout();
14874};
14875Outlayer.prototype.needsResizeLayout=function(){
14876var size=getSize(this.element);
14877var hasSizes=this.size&&size;
14878return hasSizes&&size.innerWidth!==this.size.innerWidth;
14879};
14880Outlayer.prototype.addItems=function(elems){
14881var items=this._itemize(elems);
14882if(items.length){
14883this.items=this.items.concat(items);
14884}
14885return items;
14886};
14887Outlayer.prototype.appended=function(elems){
14888var items=this.addItems(elems);
14889if(!items.length){
14890return;
14891}
14892this.layoutItems(items,true);
14893this.reveal(items);
14894};
14895Outlayer.prototype.prepended=function(elems){
14896var items=this._itemize(elems);
14897if(!items.length){
14898return;
14899}
14900var previousItems=this.items.slice(0);
14901this.items=items.concat(previousItems);
14902this._resetLayout();
14903this._manageStamps();
14904this.layoutItems(items,true);
14905this.reveal(items);
14906this.layoutItems(previousItems);
14907};
14908Outlayer.prototype.reveal=function(items){
14909this._emitCompleteOnItems('reveal',items);
14910var len=items&&items.length;
14911for(var i=0;len&&i<len;i++){
14912var item=items[i];
14913item.reveal();
14914}
14915};
14916Outlayer.prototype.hide=function(items){
14917this._emitCompleteOnItems('hide',items);
14918var len=items&&items.length;
14919for(var i=0;len&&i<len;i++){
14920var item=items[i];
14921item.hide();
14922}
14923};
14924Outlayer.prototype.revealItemElements=function(elems){
14925var items=this.getItems(elems);
14926this.reveal(items);
14927};
14928Outlayer.prototype.hideItemElements=function(elems){
14929var items=this.getItems(elems);
14930this.hide(items);
14931};
14932Outlayer.prototype.getItem=function(elem){
14933for(var i=0,len=this.items.length;i<len;i++){
14934var item=this.items[i];
14935if(item.element===elem){
14936return item;
14937}
14938}
14939};
14940Outlayer.prototype.getItems=function(elems){
14941elems=utils.makeArray(elems);
14942var items=[];
14943for(var i=0,len=elems.length;i<len;i++){
14944var elem=elems[i];
14945var item=this.getItem(elem);
14946if(item){
14947items.push(item);
14948}
14949}
14950return items;
14951};
14952Outlayer.prototype.remove=function(elems){
14953var removeItems=this.getItems(elems);
14954this._emitCompleteOnItems('remove',removeItems);
14955if(!removeItems||!removeItems.length){
14956return;
14957}
14958for(var i=0,len=removeItems.length;i<len;i++){
14959var item=removeItems[i];
14960item.remove();
14961utils.removeFrom(this.items,item);
14962}
14963};
14964Outlayer.prototype.destroy=function(){
14965var style=this.element.style;
14966style.height='';
14967style.position='';
14968style.width='';
14969for(var i=0,len=this.items.length;i<len;i++){
14970var item=this.items[i];
14971item.destroy();
14972}
14973this.unbindResize();
14974var id=this.element.outlayerGUID;
14975delete instances[id];
14976delete this.element.outlayerGUID;
14977if(jQuery){
14978jQuery.removeData(this.element,this.constructor.namespace);
14979}
14980};
14981Outlayer.data=function(elem){
14982elem=utils.getQueryElement(elem);
14983var id=elem&&elem.outlayerGUID;
14984return id&&instances[id];
14985};
14986Outlayer.create=function(namespace,options){
14987function Layout(){
14988Outlayer.apply(this,arguments);
14989}
14990if(Object.create){
14991Layout.prototype=Object.create(Outlayer.prototype);
14992}else{
14993utils.extend(Layout.prototype,Outlayer.prototype);
14994}
14995Layout.prototype.constructor=Layout;
14996Layout.defaults=utils.extend({},Outlayer.defaults);
14997utils.extend(Layout.defaults,options);
14998Layout.prototype.settings={};
14999Layout.namespace=namespace;
15000Layout.data=Outlayer.data;
15001Layout.Item=function LayoutItem(){
15002Item.apply(this,arguments);
15003};
15004Layout.Item.prototype=new Item();
15005utils.htmlInit(Layout,namespace);
15006if(jQuery&&jQuery.bridget){
15007jQuery.bridget(namespace,Layout);
15008}
15009return Layout;
15010};
15011Outlayer.Item=Item;
15012return Outlayer;
15013}));
15014(function(window,factory){
15015if(typeof define==='function'&&define.amd){
15016define([
15017'outlayer/outlayer',
15018'get-size/get-size',
15019'fizzy-ui-utils/utils'
15020],
15021factory);
15022}else if(typeof exports==='object'){
15023module.exports=factory(
15024require('outlayer'),
15025require('get-size'),
15026require('fizzy-ui-utils')
15027);
15028}else{
15029window.Masonry=factory(
15030window.Outlayer,
15031window.getSize,
15032window.fizzyUIUtils
15033);
15034}
15035}(window,function factory(Outlayer,getSize,utils){
15036var Masonry=Outlayer.create('masonry');
15037Masonry.prototype._resetLayout=function(){
15038this.getSize();
15039this._getMeasurement('columnWidth','outerWidth');
15040this._getMeasurement('gutter','outerWidth');
15041this.measureColumns();
15042var i=this.cols;
15043this.colYs=[];
15044while(i--){
15045this.colYs.push(0);
15046}
15047this.maxY=0;
15048};
15049Masonry.prototype.measureColumns=function(){
15050this.getContainerWidth();
15051if(!this.columnWidth){
15052var firstItem=this.items[0];
15053var firstItemElem=firstItem&&firstItem.element;
15054this.columnWidth=firstItemElem&&getSize(firstItemElem).outerWidth||
15055this.containerWidth;
15056}
15057var columnWidth=this.columnWidth+=this.gutter;
15058var containerWidth=this.containerWidth+this.gutter;
15059var cols=containerWidth/columnWidth;
15060var excess=columnWidth-containerWidth%columnWidth;
15061var mathMethod=excess&&excess<1?'round':'floor';
15062cols=Math[mathMethod](cols);
15063this.cols=Math.max(cols,1);
15064};
15065Masonry.prototype.getContainerWidth=function(){
15066var container=this.options.isFitWidth?this.element.parentNode:this.element;
15067var size=getSize(container);
15068this.containerWidth=size&&size.innerWidth;
15069};
15070Masonry.prototype._getItemLayoutPosition=function(item){
15071item.getSize();
15072var remainder=item.size.outerWidth%this.columnWidth;
15073var mathMethod=remainder&&remainder<1?'round':'ceil';
15074var colSpan=Math[mathMethod](item.size.outerWidth/this.columnWidth);
15075colSpan=Math.min(colSpan,this.cols);
15076var colGroup=this._getColGroup(colSpan);
15077var minimumY=Math.min.apply(Math,colGroup);
15078var shortColIndex=utils.indexOf(colGroup,minimumY);
15079var position={
15080x:this.columnWidth*shortColIndex,
15081y:minimumY
15082};
15083var setHeight=minimumY+item.size.outerHeight;
15084var setSpan=this.cols+1-colGroup.length;
15085for(var i=0;i<setSpan;i++){
15086this.colYs[shortColIndex+i]=setHeight;
15087}
15088return position;
15089};
15090Masonry.prototype._getColGroup=function(colSpan){
15091if(colSpan<2){
15092return this.colYs;
15093}
15094var colGroup=[];
15095var groupCount=this.cols+1-colSpan;
15096for(var i=0;i<groupCount;i++){
15097var groupColYs=this.colYs.slice(i,i+colSpan);
15098colGroup[i]=Math.max.apply(Math,groupColYs);
15099}
15100return colGroup;
15101};
15102Masonry.prototype._manageStamp=function(stamp){
15103var stampSize=getSize(stamp);
15104var offset=this._getElementOffset(stamp);
15105var firstX=this.options.isOriginLeft?offset.left:offset.right;
15106var lastX=firstX+stampSize.outerWidth;
15107var firstCol=Math.floor(firstX/this.columnWidth);
15108firstCol=Math.max(0,firstCol);
15109var lastCol=Math.floor(lastX/this.columnWidth);
15110lastCol-=lastX%this.columnWidth?0:1;
15111lastCol=Math.min(this.cols-1,lastCol);
15112var stampMaxY=(this.options.isOriginTop?offset.top:offset.bottom)+
15113stampSize.outerHeight;
15114for(var i=firstCol;i<=lastCol;i++){
15115this.colYs[i]=Math.max(stampMaxY,this.colYs[i]);
15116}
15117};
15118Masonry.prototype._getContainerSize=function(){
15119this.maxY=Math.max.apply(Math,this.colYs);
15120var size={
15121height:this.maxY
15122};
15123if(this.options.isFitWidth){
15124size.width=this._getContainerFitWidth();
15125}
15126return size;
15127};
15128Masonry.prototype._getContainerFitWidth=function(){
15129var unusedCols=0;
15130var i=this.cols;
15131while(--i){
15132if(this.colYs[i]!==0){
15133break;
15134}
15135unusedCols++;
15136}
15137return(this.cols-unusedCols)*this.columnWidth-this.gutter;
15138};
15139Masonry.prototype.needsResizeLayout=function(){
15140var previousWidth=this.containerWidth;
15141this.getContainerWidth();
15142return previousWidth!==this.containerWidth;
15143};
15144return Masonry;
15145}));
15146
15147
15148/* plugins/auto/jquery_masonry-v3.0.0/javascript/imagesloaded.pkgd.min.js */
15149
15150!function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(e,r),delete n[r]),r.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e}),function(e,t){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return t(e,i)}):"object"==typeof module&&module.exports?module.exports=t(e,require("ev-emitter")):e.imagesLoaded=t(e,e.EvEmitter)}("undefined"!=typeof window?window:this,function(e,t){function i(e,t){for(var i in t)e[i]=t[i];return e}function n(e){if(Array.isArray(e))return e;var t="object"==typeof e&&"number"==typeof e.length;return t?d.call(e):[e]}function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);var s=e;return"string"==typeof e&&(s=document.querySelectorAll(e)),s?(this.elements=n(s),this.options=i({},this.options),"function"==typeof t?r=t:i(this.options,t),r&&this.on("always",r),this.getImages(),h&&(this.jqDeferred=new h.Deferred),void setTimeout(this.check.bind(this))):void a.error("Bad element for imagesLoaded "+(s||e))}function r(e){this.img=e}function s(e,t){this.url=e,this.element=t,this.img=new Image}var h=e.jQuery,a=e.console,d=Array.prototype.slice;o.prototype=Object.create(t.prototype),o.prototype.options={},o.prototype.getImages=function(){this.images=[],this.elements.forEac
vendor: 3,413 bytes, lines 15150-15152
15150h(this.addElementImages,this)},o.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),this.options.background===!0&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&u[t]){for(var i=e.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var r=e.querySelectorAll(this.options.background);for(n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}}};var u={1:!0,9:!0,11:!0};return o.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(t.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,e),n=i.exec(t.backgroundImage)}},o.prototype.addImage=function(e){var t=new r(e);this.images.push(t)},o.prototype.addBackground=function(e,t){var i=new s(e,t);this.images.push(i)},o.prototype.check=function(){function e(e,i,n){setTimeout(function(){t.progress(e,i,n)})}var t=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(t){t.once("progress",e),t.check()}):void this.complete()},o.prototype.progress=function(e,t,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&a&&a.log("progress: "+i,e,t)},o.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred){var t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},r.prototype=Object.create(t.prototype),r.prototype.check=function(){var e=this.getIsImageComplete();return e?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},r.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},r.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},r.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},r.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},r.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},r.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype=Object.create(r.prototype),s.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var e=this.getIsImageComplete();e&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},s.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.element,t])},o.makeJQueryPlugin=function(t){t=t||e.jQuery,t&&(h=t,h.fn.imagesLoaded=function(e,t){var i=new o(this,e,t);return i.jqDeferred.promise(h(this))})},o.makeJQueryPlugin(),o});
15151
15152

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.