(function(j,l,e){var k={},h,c,i;k.Util={};k.Util.log=function(n){if(k.logging&&j.console&&j.console.log){j.console.log(n)}};k.Util.trimText=(function(n){return function(o){return n?n.apply(o):((o||"")+"").replace(/^\s+|\s+$/g,"")}})(String.prototype.trim);k.Util.asFloat=function(n){return parseFloat(n)};(function(){var o=/((rgba|rgb)\([^\)]+\)(\s-?\d+px){0,})/g;var n=/(-?\d+px)|(#.+)|(rgb\(.+\))|(rgba\(.+\))/g;k.Util.parseTextShadows=function(u){if(!u||u==="none"){return[]}var t=u.match(o),q=[];for(var p=0;t&&(p0){v=o.substr(0,C);o=o.substr(C)}t.push({prefix:v,method:o.toLowerCase(),value:r,args:w})}w=[];o=v=q=r=""};B();for(var s=0,A=y.length;s-1){continue}switch(x){case'"':if(!n){n=x}else{if(n===x){n=null}}break;case"(":if(n){break}else{if(u===0){u=1;r+=x;continue}else{z++}}break;case")":if(n){break}else{if(u===1){if(z===0){u=0;r+=x;B();continue}else{z--}}}break;case",":if(n){break}else{if(u===0){B();continue}else{if(u===1){if(z===0&&!o.match(/^url$/i)){w.push(q);q="";r+=x;continue}}}}break}r+=x;if(u===0){o+=x}else{q+=x}}B();return t};k.Util.Bounds=function(n){var p,o={};if(n.getBoundingClientRect){p=n.getBoundingClientRect();o.top=p.top;o.bottom=p.bottom||(p.top+p.height);o.left=p.left;o.width=n.offsetWidth;o.height=n.offsetHeight}return o};k.Util.OffsetBounds=function(n){var o=n.offsetParent?k.Util.OffsetBounds(n.offsetParent):{top:0,left:0};return{top:n.offsetTop+o.top,bottom:n.offsetTop+n.offsetHeight+o.top,left:n.offsetLeft+o.left,width:n.offsetWidth,height:n.offsetHeight}};function d(o,q,r){var n=o.runtimeStyle&&o.runtimeStyle[q],s,p=o.style;if(!/^-?[0-9]+\.?[0-9]*(?:px)?$/i.test(r)&&/^-?\d/.test(r)){s=p.left;if(n){o.runtimeStyle.left=o.currentStyle.left}p.left=q==="fontSize"?"1em":(r||0);r=p.pixelLeft+"px";p.left=s;if(n){o.runtimeStyle.left=n}}if(!/^(thin|medium|thick)$/i.test(r)){return Math.round(parseFloat(r))+"px"}return r}function b(n){return parseInt(n,10)}function m(q,o,p,n){q=(q||"").split(",");q=q[n||0]||q[0]||"auto";q=k.Util.trimText(q).split(" ");if(p==="backgroundSize"&&(!q[0]||q[0].match(/cover|contain|auto/))){}else{q[0]=(q[0].indexOf("%")===-1)?d(o,p+"X",q[0]):q[0];if(q[1]===e){if(p==="backgroundSize"){q[1]="auto";return q}else{q[1]=q[0]}}q[1]=(q[1].indexOf("%")===-1)?d(o,p+"Y",q[1]):q[1]}return q}k.Util.getCSS=function(p,q,o){if(h!==p){c=l.defaultView.getComputedStyle(p,null)}var r=c[q];if(/^background(Size|Position)$/.test(q)){return m(r,p,q,o)}else{if(/border(Top|Bottom)(Left|Right)Radius/.test(q)){var n=r.split(" ");if(n.length<=1){n[1]=n[0]}return n.map(b)}}return r};k.Util.resizeBounds=function(s,n,t,u,v){var q=t/u,p=s/n,o,r;if(!v||v==="auto"){o=t;r=u}else{if(q26);return s};n.ListRoman=function(w){var u=["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"],s=[1000,900,500,400,100,90,50,40,10,9,5,4,1],x="",t,r=u.length;if(w<=0||w>=4000){return w}for(t=0;t=s[t]){w-=s[t];x+=u[t]}}return x}})();function f(o,n){var p=[];return{storage:p,width:o,height:n,clip:function(){p.push({type:"function",name:"clip","arguments":arguments})},translate:function(){p.push({type:"function",name:"translate","arguments":arguments})},fill:function(){p.push({type:"function",name:"fill","arguments":arguments})},save:function(){p.push({type:"function",name:"save","arguments":arguments})},restore:function(){p.push({type:"function",name:"restore","arguments":arguments})},fillRect:function(){p.push({type:"function",name:"fillRect","arguments":arguments})},createPattern:function(){p.push({type:"function",name:"createPattern","arguments":arguments})},drawShape:function(){var q=[];p.push({type:"function",name:"drawShape","arguments":q});return{moveTo:function(){q.push({name:"moveTo","arguments":arguments})},lineTo:function(){q.push({name:"lineTo","arguments":arguments})},arcTo:function(){q.push({name:"arcTo","arguments":arguments})},bezierCurveTo:function(){q.push({name:"bezierCurveTo","arguments":arguments})},quadraticCurveTo:function(){q.push({name:"quadraticCurveTo","arguments":arguments})}}},drawImage:function(){p.push({type:"function",name:"drawImage","arguments":arguments})},fillText:function(){p.push({type:"function",name:"fillText","arguments":arguments})},setVariable:function(q,r){p.push({type:"variable",name:q,"arguments":r});return r}}}k.Parse=function(v,ac){j.scroll(0,0);var M=((ac.elements===e)?l.body:ac.elements[0]),w=0,z=M.ownerDocument,r=k.Util,aq=r.Support(ac,z),am=new RegExp("("+ac.ignoreElements+")"),Z=z.body,X=r.getCSS,Q="___html2canvas___pseudoelement",P=z.createElement("style");P.innerHTML="."+Q+'-before:before { content: "" !important; display: none !important; }.'+Q+'-after:after { content: "" !important; display: none !important; }';Z.appendChild(P);v=v||{};function ao(){return Math.max(Math.max(z.body.scrollWidth,z.documentElement.scrollWidth),Math.max(z.body.offsetWidth,z.documentElement.offsetWidth),Math.max(z.body.clientWidth,z.documentElement.clientWidth))}function K(){return Math.max(Math.max(z.body.scrollHeight,z.documentElement.scrollHeight),Math.max(z.body.offsetHeight,z.documentElement.offsetHeight),Math.max(z.body.clientHeight,z.documentElement.clientHeight))}function Y(aE,aF){var aG=parseInt(X(aE,aF),10);return(isNaN(aG))?0:aG}function aA(aH,aE,aJ,aG,aI,aF){if(aF!=="transparent"){aH.setVariable("fillStyle",aF);aH.fillRect(aE,aJ,aG,aI);w+=1}}function ae(aE,aG,aF){if(aE.length>0){return aG+aF.toUpperCase()}}function y(aF,aE){switch(aE){case"lowercase":return aF.toLowerCase();case"capitalize":return aF.replace(/(^|\s|:|-|\(|\))([a-z])/g,ae);case"uppercase":return aF.toUpperCase();default:return aF}}function aj(aE){return(/^(normal|none|0px)$/.test(aE))}function n(aG,aE,aH,aF){if(aG!==null&&r.trimText(aG).length>0){aF.fillText(aG,aE,aH);w+=1}}function S(aL,aF,aE,aG){var aJ=false,aK=X(aF,"fontWeight"),aI=X(aF,"fontFamily"),aM=X(aF,"fontSize"),aH=r.parseTextShadows(X(aF,"textShadow"));switch(parseInt(aK,10)){case 401:aK="bold";break;case 400:aK="normal";break}aL.setVariable("fillStyle",aG);aL.setVariable("font",[X(aF,"fontStyle"),X(aF,"fontVariant"),aK,aM,aI].join(" "));aL.setVariable("textAlign",(aJ)?"right":"left");if(aH.length){aL.setVariable("shadowColor",aH[0].color);aL.setVariable("shadowOffsetX",aH[0].offsetX);aL.setVariable("shadowOffsetY",aH[0].offsetY);aL.setVariable("shadowBlur",aH[0].blur)}if(aE!=="none"){return r.Font(aI,aM,z)}}function N(aE,aI,aH,aG,aF){switch(aI){case"underline":aA(aE,aH.left,Math.round(aH.top+aG.baseline+aG.lineWidth),aH.width,1,aF);break;case"overline":aA(aE,aH.left,Math.round(aH.top),aH.width,1,aF);break;case"line-through":aA(aE,aH.left,Math.ceil(aH.top+aG.middle+aG.lineWidth),aH.width,1,aF);break}}function af(aI,aK,aJ,aH,aE){var aG;if(aq.rangeBounds&&!aE){if(aJ!=="none"||r.trimText(aK).length!==0){aG=ad(aK,aI.node,aI.textOffset)}aI.textOffset+=aK.length}else{if(aI.node&&typeof aI.node.nodeValue==="string"){var aF=(aH)?aI.node.splitText(aK.length):null;aG=ai(aI.node,aE);aI.node=aF}}return aG}function ad(aH,aG,aF){var aE=z.createRange();aE.setStart(aG,aF);aE.setEnd(aG,aF+aH.length);return aE.getBoundingClientRect()}function ai(aF,aE){var aG=aF.parentNode,aJ=z.createElement("wrapper"),aI=aF.cloneNode(true);aJ.appendChild(aF.cloneNode(true));aG.replaceChild(aJ,aF);var aH=aE?r.OffsetBounds(aJ):r.Bounds(aJ);aG.replaceChild(aI,aJ);return aH}function ay(aG,aH,aL){var aM=aL.ctx,aI=X(aG,"color"),aN=X(aG,"textDecoration"),aF=X(aG,"textAlign"),aK,aJ,aE={node:aH,textOffset:0};if(r.trimText(aH.nodeValue).length>0){aH.nodeValue=y(aH.nodeValue,X(aG,"textTransform"));aF=aF.replace(["-webkit-auto"],["auto"]);aJ=(!ac.letterRendering&&/^(left|right|justify|auto)$/.test(aF)&&aj(X(aG,"letterSpacing")))?aH.nodeValue.split(/(\b| )/):aH.nodeValue.split("");aK=S(aM,aG,aN,aI);if(ac.chinese){aJ.forEach(function(aP,aO){if(/.*[\u4E00-\u9FA5].*$/.test(aP)){aP=aP.split("");aP.unshift(aO,1);aJ.splice.apply(aJ,aP)}})}aJ.forEach(function(aQ,aO){var aP=af(aE,aQ,aN,(aO0||aJ[1]>0){aI.push(["line",aG[0].start.x,aG[0].start.y]);aG[0].curveTo(aI);aG[1].curveTo(aI)}else{aI.push(["line",aE,aK])}if(aH[0]>0||aH[1]>0){aI.push(["line",aF[0].start.x,aF[0].start.y])}}function av(aK,aI,aH,aL,aF,aJ,aE){var aG=[];if(aI[0]>0||aI[1]>0){aG.push(["line",aL[1].start.x,aL[1].start.y]);aL[1].curveTo(aG)}else{aG.push(["line",aK.c1[0],aK.c1[1]])}if(aH[0]>0||aH[1]>0){aG.push(["line",aJ[0].start.x,aJ[0].start.y]);aJ[0].curveTo(aG);aG.push(["line",aE[0].end.x,aE[0].end.y]);aE[0].curveToReversed(aG)}else{aG.push(["line",aK.c2[0],aK.c2[1]]);aG.push(["line",aK.c3[0],aK.c3[1]])}if(aI[0]>0||aI[1]>0){aG.push(["line",aF[1].end.x,aF[1].end.y]);aF[1].curveToReversed(aG)}else{aG.push(["line",aK.c4[0],aK.c4[1]])}return aG}function u(aH,aE,aG){var aL=aH.left,aI=aH.top,aQ=aH.width,aP=aH.height,aR=aE[0][0],aK=aE[0][1],aU=aE[1][0],aN=aE[1][1],aV=aE[2][0],aO=aE[2][1],aT=aE[3][0],aM=aE[3][1],aJ=aQ-aU,aW=aP-aO,aF=aQ-aV,aS=aP-aM;return{topLeftOuter:F(aL,aI,aR,aK).topLeft.subdivide(0.5),topLeftInner:F(aL+aG[3].width,aI+aG[0].width,Math.max(0,aR-aG[3].width),Math.max(0,aK-aG[0].width)).topLeft.subdivide(0.5),topRightOuter:F(aL+aJ,aI,aU,aN).topRight.subdivide(0.5),topRightInner:F(aL+Math.min(aJ,aQ+aG[3].width),aI+aG[0].width,(aJ>aQ+aG[3].width)?0:aU-aG[3].width,aN-aG[0].width).topRight.subdivide(0.5),bottomRightOuter:F(aL+aF,aI+aW,aV,aO).bottomRight.subdivide(0.5),bottomRightInner:F(aL+Math.min(aF,aQ+aG[3].width),aI+Math.min(aW,aP+aG[0].width),Math.max(0,aV-aG[1].width),Math.max(0,aO-aG[2].width)).bottomRight.subdivide(0.5),bottomLeftOuter:F(aL,aI+aS,aT,aM).bottomLeft.subdivide(0.5),bottomLeftInner:F(aL+aG[3].width,aI+aS,Math.max(0,aT-aG[3].width),Math.max(0,aM-aG[2].width)).bottomLeft.subdivide(0.5)}}function az(aH,aJ,aK,aE,aI){var aG=X(aH,"backgroundClip"),aF=[];switch(aG){case"content-box":case"padding-box":aC(aF,aE[0],aE[1],aJ.topLeftInner,aJ.topRightInner,aI.left+aK[3].width,aI.top+aK[0].width);aC(aF,aE[1],aE[2],aJ.topRightInner,aJ.bottomRightInner,aI.left+aI.width-aK[1].width,aI.top+aK[0].width);aC(aF,aE[2],aE[3],aJ.bottomRightInner,aJ.bottomLeftInner,aI.left+aI.width-aK[1].width,aI.top+aI.height-aK[2].width);aC(aF,aE[3],aE[0],aJ.bottomLeftInner,aJ.topLeftInner,aI.left+aK[3].width,aI.top+aI.height-aK[2].width);break;default:aC(aF,aE[0],aE[1],aJ.topLeftOuter,aJ.topRightOuter,aI.left,aI.top);aC(aF,aE[1],aE[2],aJ.topRightOuter,aJ.bottomRightOuter,aI.left+aI.width,aI.top);aC(aF,aE[2],aE[3],aJ.bottomRightOuter,aJ.bottomLeftOuter,aI.left+aI.width,aI.top+aI.height);aC(aF,aE[3],aE[0],aJ.bottomLeftOuter,aJ.topLeftOuter,aI.left,aI.top+aI.height);break}return aF}function ab(aK,aF,aN){var aR=aF.left,aQ=aF.top,aH=aF.width,aT=aF.height,aG,aO,aM,aP,aJ,aE,aI=o(aK),aL=u(aF,aI,aN),aS={clip:az(aK,aL,aN,aI,aF),borders:[]};for(aG=0;aG<4;aG++){if(aN[aG].width>0){aO=aR;aM=aQ;aP=aH;aJ=aT-(aN[2].width);switch(aG){case 0:aJ=aN[0].width;aE=av({c1:[aO,aM],c2:[aO+aP,aM],c3:[aO+aP-aN[1].width,aM+aJ],c4:[aO+aN[3].width,aM+aJ]},aI[0],aI[1],aL.topLeftOuter,aL.topLeftInner,aL.topRightOuter,aL.topRightInner);break;case 1:aO=aR+aH-(aN[1].width);aP=aN[1].width;aE=av({c1:[aO+aP,aM],c2:[aO+aP,aM+aJ+aN[2].width],c3:[aO,aM+aJ],c4:[aO,aM+aN[0].width]},aI[1],aI[2],aL.topRightOuter,aL.topRightInner,aL.bottomRightOuter,aL.bottomRightInner);break;case 2:aM=(aM+aT)-(aN[2].width);aJ=aN[2].width;aE=av({c1:[aO+aP,aM+aJ],c2:[aO,aM+aJ],c3:[aO+aN[3].width,aM],c4:[aO+aP-aN[3].width,aM]},aI[2],aI[3],aL.bottomRightOuter,aL.bottomRightInner,aL.bottomLeftOuter,aL.bottomLeftInner);break;case 3:aP=aN[3].width;aE=av({c1:[aO,aM+aJ+aN[2].width],c2:[aO,aM],c3:[aO+aP,aM+aN[0].width],c4:[aO+aP,aM+aJ]},aI[3],aI[0],aL.bottomLeftOuter,aL.bottomLeftInner,aL.topLeftOuter,aL.topLeftInner);break}aS.borders.push({args:aE,color:aN[aG].color})}}return aS}function s(aE,aG){var aF=aE.drawShape();aG.forEach(function(aI,aH){aF[(aH===0)?"moveTo":aI[0]+"To"].apply(null,aI.slice(1))});return aF}function J(aE,aG,aF){if(aF!=="transparent"){aE.setVariable("fillStyle",aF);s(aE,aG);aE.fill();w+=1}}function at(aH,aI,aF){var aK=z.createElement("valuewrap"),aG=["lineHeight","textAlign","fontFamily","color","fontSize","paddingLeft","paddingTop","width","height","border","borderLeftWidth","borderTopWidth"],aE,aJ;aG.forEach(function(aL){try{aK.style[aL]=X(aH,aL)}catch(aM){r.log("html2canvas: Parse: Exception caught in renderFormValue: "+aM.message)}});aK.style.borderColor="black";aK.style.borderStyle="solid";aK.style.display="block";aK.style.position="absolute";if(/^(submit|reset|button|text|password)$/.test(aH.type)||aH.nodeName==="SELECT"){aK.style.lineHeight=X(aH,"height")}aK.style.top=aI.top+"px";aK.style.left=aI.left+"px";aE=(aH.nodeName==="SELECT")?(aH.options[aH.selectedIndex]||0).text:aH.value;if(!aE){aE=aH.placeholder}aJ=z.createTextNode(aE);aK.appendChild(aJ);Z.appendChild(aK);ay(aH,aJ,aF);Z.removeChild(aK)}function p(aE){aE.drawImage.apply(aE,Array.prototype.slice.call(arguments,1));w+=1}function L(aG,aJ){var aF=j.getComputedStyle(aG,aJ);if(!aF||!aF.content||aF.content==="none"||aF.content==="-moz-alt-content"||aF.display==="none"){return}var aH=aF.content+"",aI=aH.substr(0,1);if(aI===aH.substr(aH.length-1)&&aI.match(/'|"/)){aH=aH.substr(1,aH.length-2)}var aK=aH.substr(0,3)==="url",aE=l.createElement(aK?"img":"span");aE.className=Q+"-before "+Q+"-after";Object.keys(aF).filter(G).forEach(function(aM){try{aE.style[aM]=aF[aM]}catch(aL){r.log(["Tried to assign readonly property ",aM,"Error:",aL])}});if(aK){aE.src=r.parseBackgroundImage(aH)[0].args[0]}else{aE.innerHTML=aH}return aE}function G(aE){return(isNaN(j.parseInt(aE,10)))}function t(aF,aE){var aG=L(aF,":before"),aH=L(aF,":after");if(!aG&&!aH){return}if(aG){aF.className+=" "+Q+"-before";aF.parentNode.insertBefore(aG,aF);aa(aG,aE,true);aF.parentNode.removeChild(aG);aF.className=aF.className.replace(Q+"-before","").trim()}if(aH){aF.className+=" "+Q+"-after";aF.appendChild(aH);aa(aH,aE,true);aF.removeChild(aH);aF.className=aF.className.replace(Q+"-after","").trim()}}function al(aF,aI,aG,aH){var aE=Math.round(aH.left+aG.left),aJ=Math.round(aH.top+aG.top);aF.createPattern(aI);aF.translate(aE,aJ);aF.fill();aF.translate(-aE,-aJ)}function ar(aM,aI,aG,aE,aH,aK,aF,aL){var aJ=[];aJ.push(["line",Math.round(aH),Math.round(aK)]);aJ.push(["line",Math.round(aH+aF),Math.round(aK)]);aJ.push(["line",Math.round(aH+aF),Math.round(aL+aK)]);aJ.push(["line",Math.round(aH),Math.round(aL+aK)]);s(aM,aJ);aM.save();aM.clip();al(aM,aI,aG,aE);aM.restore()}function R(aF,aG,aE){aA(aF,aG.left,aG.top,aG.width,aG.height,aE)}function x(aI,aJ,aF,aL,aE){var aG=r.BackgroundSize(aI,aJ,aL,aE),aH=r.BackgroundPosition(aI,aJ,aL,aE,aG),aK=X(aI,"backgroundRepeat").split(",").map(r.trimText);aL=H(aL,aG);aK=aK[aE]||aK[0];switch(aK){case"repeat-x":ar(aF,aL,aH,aJ,aJ.left,aJ.top+aH.top,99999,aL.height);break;case"repeat-y":ar(aF,aL,aH,aJ,aJ.left+aH.left,aJ.top,aL.width,99999);break;case"no-repeat":ar(aF,aL,aH,aJ,aJ.left+aH.left,aJ.top+aH.top,aL.width,aL.height);break;default:al(aF,aL,aH,{top:aJ.top,left:aJ.left,width:aL.width,height:aL.height});break}}function aB(aI,aJ,aG){var aL=X(aI,"backgroundImage"),aF=r.parseBackgroundImage(aL),aK,aE=aF.length;while(aE--){aL=aF[aE];if(!aL.args||aL.args.length===0){continue}var aH=aL.method==="url"?aL.args[0]:aL.value;aK=V(aH);if(aK){x(aI,aJ,aG,aK,aE)}else{r.log("html2canvas: Error loading background:",aL)}}}function H(aH,aG){if(aH.width===aG.width&&aH.height===aG.height){return aH}var aE,aF=z.createElement("canvas");aF.width=aG.width;aF.height=aG.height;aE=aF.getContext("2d");p(aE,aH,0,0,aH.width,aH.height,0,0,aG.width,aG.height);return aF}function au(aF,aG,aE){return aF.setVariable("globalAlpha",X(aG,"opacity")*((aE)?aE.opacity:1))}function W(aE){return aE.replace("px","")}var aw=/(matrix)\((.+)\)/;function ak(aJ,aE){var aI=X(aJ,"transform")||X(aJ,"-webkit-transform")||X(aJ,"-moz-transform")||X(aJ,"-ms-transform")||X(aJ,"-o-transform");var aH=X(aJ,"transform-origin")||X(aJ,"-webkit-transform-origin")||X(aJ,"-moz-transform-origin")||X(aJ,"-ms-transform-origin")||X(aJ,"-o-transform-origin")||"0px 0px";aH=aH.split(" ").map(W).map(r.asFloat);var aF;if(aI&&aI!=="none"){var aG=aI.match(aw);if(aG){switch(aG[1]){case"matrix":aF=aG[2].split(",").map(r.trimText).map(r.asFloat);break}}}return{origin:aH,matrix:aF}}function B(aI,aF,aJ,aH){var aG=f((!aF)?ao():aJ.width,(!aF)?K():aJ.height),aE={ctx:aG,opacity:au(aG,aI,aF),cssPosition:X(aI,"position"),borders:A(aI),transform:aH,clip:(aF&&aF.clip)?r.Extend({},aF.clip):null};ap(aI,aE,aF);if(ac.useOverflow===true&&/(hidden|scroll|auto)/.test(X(aI,"overflow"))===true&&/(BODY)/i.test(aI.nodeName)===false){aE.clip=(aE.clip)?C(aE.clip,aJ):aJ}return aE}function E(aH,aF,aE){var aG={left:aF.left+aH[3].width,top:aF.top+aH[0].width,width:aF.width-(aH[1].width+aH[3].width),height:aF.height-(aH[0].width+aH[2].width)};if(aE){aG=C(aG,aE)}return aG}function D(aF,aE){var aG=(aE.matrix)?r.OffsetBounds(aF):r.Bounds(aF);aE.origin[0]+=aG.left;aE.origin[1]+=aG.top;return aG}function I(aJ,aK,aI,aM){var aF=ak(aJ,aK),aE=D(aJ,aF),aH,aN=B(aJ,aK,aE,aF),aL=aN.borders,aQ=aN.ctx,aG=E(aL,aE,aN.clip),aP=ab(aJ,aE,aL),aO=(am.test(aJ.nodeName))?"#efefef":X(aJ,"backgroundColor");s(aQ,aP.clip);aQ.save();aQ.clip();if(aG.height>0&&aG.width>0&&!aM){R(aQ,aE,aO);aB(aJ,aG,aQ)}else{if(aM){aN.backgroundColor=aO}}aQ.restore();aP.borders.forEach(function(aR){J(aQ,aR.args,aR.color)});if(!aI){t(aJ,aN)}switch(aJ.nodeName){case"IMG":if((aH=V(aJ.getAttribute("src")))){U(aQ,aJ,aH,aE,aL)}else{r.log("html2canvas: Error loading :"+aJ.getAttribute("src"))}break;case"INPUT":if(/^(text|url|email|submit|button|reset)$/.test(aJ.type)&&(aJ.value||aJ.placeholder||"").length>0){at(aJ,aE,aN)}break;case"TEXTAREA":if((aJ.value||aJ.placeholder||"").length>0){at(aJ,aE,aN)}break;case"SELECT":if((aJ.options||aJ.placeholder||"").length>0){at(aJ,aE,aN)}break;case"LI":an(aJ,aN,aG);break;case"CANVAS":U(aQ,aJ,aJ,aE,aL);break}return aN}function ag(aE){return(X(aE,"display")!=="none"&&X(aE,"visibility")!=="hidden"&&!aE.hasAttribute("data-html2canvas-ignore"))}function aa(aF,aE,aG){if(ag(aF)){aE=I(aF,aE,aG,false)||aE;if(!am.test(aF.nodeName)){O(aF,aE,aG)}}}function O(aF,aE,aG){r.Children(aF).forEach(function(aH){if(aH.nodeType===aH.ELEMENT_NODE){aa(aH,aE,aG)}else{if(aH.nodeType===aH.TEXT_NODE){ay(aF,aH,aE)}}})}function ax(){var aG=X(l.documentElement,"backgroundColor"),aF=(r.isTransparent(aG)&&M===l.body),aE=I(M,null,false,aF);O(M,aE);if(aF){aG=aE.backgroundColor}Z.removeChild(P);return{backgroundColor:aG,stack:aE}}return ax()};function a(n){return{zindex:n,children:[]}}k.Preload=function(q){var z={numLoaded:0,numFailed:0,numTotal:0,cleanupDone:false},H,s=k.Util,I,G,t=0,o=q.elements[0]||l.body,K=o.ownerDocument,y=o.getElementsByTagName("img"),A=y.length,u=K.createElement("a"),x=(function(L){return(L.crossOrigin!==e)})(new Image()),C;u.href=j.location.href;H=u.protocol+u.host;function J(M){u.href=M;u.href=u.href;var L=u.protocol+u.host;return(L===H)}function r(){s.log("html2canvas: start: images: "+z.numLoaded+" / "+z.numTotal+" (failed: "+z.numFailed+")");if(!z.firstRun&&z.numLoaded>=z.numTotal){s.log("Finished loading images: # "+z.numTotal+" (failed: "+z.numFailed+")");if(typeof q.complete==="function"){q.complete(z)}}}function B(O,N,P){var L,Q=q.proxy,M;u.href=O;O=u.href;L="html2canvas_"+(t++);P.callbackname=L;if(Q.indexOf("?")>-1){Q+="&"}else{Q+="?"}Q+="url="+encodeURIComponent(O)+"&callback="+L;M=K.createElement("script");j[L]=function(R){if(R.substring(0,6)==="error:"){P.succeeded=false;z.numLoaded++;z.numFailed++;r()}else{F(N,P);N.src=R}j[L]=e;try{delete j[L]}catch(S){}M.parentNode.removeChild(M);M=null;delete P.script;delete P.callbackname};M.setAttribute("type","text/javascript");M.setAttribute("src",Q);P.script=M;j.document.body.appendChild(M)}function w(L,N){var M=j.getComputedStyle(L,N),O=M.content;if(O.substr(0,3)==="url"){I.loadImage(k.Util.parseBackgroundImage(O)[0].args[0])}E(M.backgroundImage,L)}function D(L){w(L,":before");w(L,":after")}function p(N,M){var L=k.Generate.Gradient(N,M);if(L!==e){z[N]={img:L,succeeded:true};z.numTotal++;z.numLoaded++;r()}}function n(L){return(L&&L.method&&L.args&&L.args.length>0)}function E(M,L){var N;k.Util.parseBackgroundImage(M).filter(n).forEach(function(O){if(O.method==="url"){I.loadImage(O.args[0])}else{if(O.method.match(/\-?gradient$/)){if(N===e){N=k.Util.Bounds(L)}p(O.value,N)}}})}function v(N){var L=false;try{s.Children(N).forEach(v)}catch(O){}try{L=N.nodeType}catch(M){L=false;s.log("html2canvas: failed to access some element's nodeType - Exception: "+M.message)}if(L===1||L===e){D(N);try{E(s.getCSS(N,"backgroundImage"),N)}catch(O){s.log("html2canvas: failed to get background-image - Exception: "+O.message)}E(N)}}function F(L,M){L.onload=function(){if(M.timer!==e){j.clearTimeout(M.timer)}z.numLoaded++;M.succeeded=true;L.onerror=L.onload=null;r()};L.onerror=function(){if(L.crossOrigin==="anonymous"){j.clearTimeout(M.timer);if(q.proxy){var N=L.src;L=new Image();M.img=L;L.src=N;B(L.src,L,M);return}}z.numLoaded++;z.numFailed++;M.succeeded=false;L.onerror=L.onload=null;r()}}I={loadImage:function(N){var L,M;if(N&&z[N]===e){L=new Image();if(N.match(/data:image\/.*;base64,/i)){L.src=N.replace(/url\(['"]{0,}|['"]{0,}\)$/ig,"");M=z[N]={img:L};z.numTotal++;F(L,M)}else{if(J(N)||q.allowTaint===true){M=z[N]={img:L};z.numTotal++;F(L,M);L.src=N}else{if(x&&!q.allowTaint&&q.useCORS){L.crossOrigin="anonymous";M=z[N]={img:L};z.numTotal++;F(L,M);L.src=N}else{if(q.proxy){M=z[N]={img:L};z.numTotal++;B(N,L,M)}}}}}},cleanupDOM:function(N){var L,O;if(!z.cleanupDone){if(N&&typeof N==="string"){s.log("html2canvas: Cleanup because: "+N)}else{s.log("html2canvas: Cleanup after timeout: "+q.timeout+" ms.")}for(O in z){if(z.hasOwnProperty(O)){L=z[O];if(typeof L==="object"&&L.callbackname&&L.succeeded===e){j[L.callbackname]=e;try{delete j[L.callbackname]}catch(M){}if(L.script&&L.script.parentNode){L.script.setAttribute("src","about:blank");L.script.parentNode.removeChild(L.script)}z.numLoaded++;z.numFailed++;s.log("html2canvas: Cleaned up failed img: '"+O+"' Steps: "+z.numLoaded+" / "+z.numTotal)}}}if(j.stop!==e){j.stop()}else{if(l.execCommand!==e){l.execCommand("Stop",false)}}if(l.close!==e){l.close()}z.cleanupDone=true;if(!(N&&typeof N==="string")){r()}}},renderingDone:function(){if(C){j.clearTimeout(C)}}};if(q.timeout>0){C=j.setTimeout(I.cleanupDOM,q.timeout)}s.log("html2canvas: Preload starts: finding background-images");z.firstRun=true;v(o);s.log("html2canvas: Preload: Finding images");for(G=0;G","","
","sup","
","
",""].join("");try{r.drawImage(s,0,0);t.toDataURL()}catch(u){return false}k.Util.log("html2canvas: Parse: SVG powered rendering available");return true}function p(){var u,w,v,s,t=false;if(q.createRange){u=q.createRange();if(u.getBoundingClientRect){w=q.createElement("boundtest");w.style.height="123px";w.style.display="block";q.body.appendChild(w);u.selectNode(w);v=u.getBoundingClientRect();s=v.height;if(s===123){t=true}q.body.removeChild(w)}}return t}return{rangeBounds:p(),svgRendering:o.svgRendering&&n()}};j.html2canvas=function(r,q){r=(r.length)?r:[r];var n,p,o={logging:false,elements:r,background:"#fff",proxy:null,timeout:0,useCORS:false,allowTaint:false,svgRendering:false,ignoreElements:"IFRAME|OBJECT|PARAM",useOverflow:true,letterRendering:false,chinese:false,width:null,height:null,taintTest:true,renderer:"Canvas"};o=k.Util.Extend(q,o);k.logging=o.logging;o.complete=function(s){if(typeof o.onpreloaded==="function"){if(o.onpreloaded(s)===false){return}}n=k.Parse(s,o);if(typeof o.onparsed==="function"){if(o.onparsed(n)===false){return}}p=k.Renderer(n,o);if(typeof o.onrendered==="function"){o.onrendered(p)}};j.setTimeout(function(){k.Preload(o)},0);return{render:function(s,t){return k.Renderer(s,k.Util.Extend(t,o))},parse:function(s,t){return k.Parse(s,k.Util.Extend(t,o))},preload:function(s){return k.Preload(k.Util.Extend(s,o))},log:k.Util.log}};j.html2canvas.log=k.Util.log;j.html2canvas.Renderer={Canvas:e};k.Renderer.Canvas=function(w){w=w||{};var u=l,q=[],v=l.createElement("canvas"),r=v.getContext("2d"),t=k.Util,n=w.canvas||u.createElement("canvas");function p(x,y){x.beginPath();y.forEach(function(z){x[z.name].apply(x,z["arguments"])});x.closePath()}function s(x){if(q.indexOf(x["arguments"][0].src)===-1){r.drawImage(x["arguments"][0],0,0);try{r.getImageData(0,0,1,1)}catch(y){v=u.createElement("canvas");r=v.getContext("2d");return false}q.push(x["arguments"][0].src)}return true}function o(x,y){switch(y.type){case"variable":x[y.name]=y["arguments"];break;case"function":switch(y.name){case"createPattern":if(y["arguments"][0].width>0&&y["arguments"][0].height>0){try{x.fillStyle=x.createPattern(y["arguments"][0],"repeat")}catch(z){t.log("html2canvas: Renderer: Error creating pattern",z.message)}}break;case"drawShape":p(x,y["arguments"]);break;case"drawImage":if(y["arguments"][8]>0&&y["arguments"][7]>0){if(!w.taintTest||(w.taintTest&&s(y))){x.drawImage.apply(x,y["arguments"])}}break;default:x[y.name].apply(x,y["arguments"])}break}}return function(E,G,C,A,B){var F=n.getContext("2d"),y,x,z,D=E.stack;n.width=n.style.width=G.width||D.ctx.width;n.height=n.style.height=G.height||D.ctx.height;z=F.fillStyle;F.fillStyle=(t.isTransparent(D.backgroundColor)&&G.background!==e)?G.background:E.backgroundColor;F.fillRect(0,0,n.width,n.height);F.fillStyle=z;A.forEach(function(H){F.textBaseline="bottom";F.save();if(H.transform.matrix){F.translate(H.transform.origin[0],H.transform.origin[1]);F.transform.apply(F,H.transform.matrix);F.translate(-H.transform.origin[0],-H.transform.origin[1])}if(H.clip){F.beginPath();F.rect(H.clip.left,H.clip.top,H.clip.width,H.clip.height);F.clip()}if(H.ctx.storage){H.ctx.storage.forEach(function(I){o(F,I)})}F.restore()});t.log("html2canvas: Renderer: Canvas renderer done - returning canvas obj");if(G.elements.length===1){if(typeof G.elements[0]==="object"&&G.elements[0].nodeName!=="BODY"){x=B.Util.Bounds(G.elements[0]);y=C.createElement("canvas");y.width=Math.ceil(x.width);y.height=Math.ceil(x.height);F=y.getContext("2d");F.drawImage(n,x.left,x.top,x.width,x.height,0,0,x.width,x.height);n=null;return y}}return n}}})(window,document);