Repository navigation
Expand file tree
/
Copy pathFileAPI.min.js
More file actions
72 lines (72 loc) · 31.6 KB
/
Copy pathFileAPI.min.js
File metadata and controls
72 lines (72 loc) · 31.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/**!
* FileAPI — a set of tools for working with files
*
* @author RubaXa <[email protected]>
* @build lib/canvas-to-blob lib/FileAPI.core lib/FileAPI.Image lib/FileAPI.Form lib/FileAPI.XHR lib/FileAPI.Flash
*/
(function(a){var j=a.HTMLCanvasElement&&a.HTMLCanvasElement.prototype,g;if(g=a.Blob)try{g=Boolean(new Blob)}catch(r){g=!1}var l=g;if(g=l)if(g=a.Uint8Array)try{g=100===(new Blob([new Uint8Array(100)])).size}catch(f){g=!1}var c=g,d=a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder||a.MSBlobBuilder,n=(l||d)&&a.atob&&a.ArrayBuffer&&a.Uint8Array&&function(a){var m,f,u,g;m=0<=a.split(",")[0].indexOf("base64")?atob(a.split(",")[1]):decodeURIComponent(a.split(",")[1]);f=new ArrayBuffer(m.length);u=new Uint8Array(f);
for(g=0;g<m.length;g+=1)u[g]=m.charCodeAt(g);a=a.split(",")[0].split(":")[1].split(";")[0];if(l)return new Blob([c?u:f],{type:a});u=new d;u.append(f);return u.getBlob(a)};a.HTMLCanvasElement&&!j.toBlob&&(j.mozGetAsFile?j.toBlob=function(a,c){a(this.mozGetAsFile("blob",c))}:j.toDataURL&&n&&(j.toBlob=function(a,c){a(n(this.toDataURL(c)))}));"function"===typeof define&&define.amd?define(function(){return n}):a.dataURLtoBlob=n})(this);
(function(a,j){function g(b,F,e){if(b)if(m(b))for(var a=0,c=b.length;a<c;a++)a in b&&F.call(e,b[a],a,b);else for(a in b)b.hasOwnProperty(a)&&F.call(e,b[a],a,b)}function r(b,a,e){if(b){var c=h.uid(b);C[c]||(C[c]={});g(a.split(/\s+/),function(a){w?w.event.add(b,a,e):(C[c][a]||(C[c][a]=[]),C[c][a].push(e),b.addEventListener?b.addEventListener(a,e,!1):b.attachEvent?b.attachEvent("on"+a,e):b["on"+a]=e)})}}function l(b,a,e){if(b){var c=h.uid(b),d=C[c]||{};g(a.split(/\s+/),function(a){if(w)w.event.remove(b,
a,e);else{for(var F=d[a]||[],c=F.length;c--;)if(F[c]===e){F.splice(c,1);break}b.addEventListener?b.removeEventListener(a,e,!1):b.detachEvent?b.detachEvent("on"+a,e):b["on"+a]=null}})}}function f(b,a,e){r(b,a,function O(c){l(b,a,O);e(c)})}function c(b,a,e,c,d){b={type:e.type||e,target:b,result:c};h.extend(b,d);a(b)}function d(b,a,e,d){if(h.isFile(b)&&p&&p.prototype["readAs"+e]){var k=new p;r(k,J,function P(e){var d=e.type;"progress"==d?c(b,a,e,e.target.result,{loaded:e.loaded,total:e.total}):"loadend"==
d?(l(k,J,P),k=null):c(b,a,e,e.target.result)});try{if(d)k["readAs"+e](d,b);else k["readAs"+e](b)}catch(m){c(b,a,"error",j,{error:m.toString()})}}else c(b,a,"error",j,{error:"filreader_not_support_"+e})}function n(b){var a;b.getAsEntry?a=b.getAsEntry():b.webkitGetAsEntry&&(a=b.webkitGetAsEntry());return a}function q(b,a){if(b)if(b.isFile)b.file(function(b){a(!1,[b])},function(){a("entry_file")});else if(b.isDirectory){var e=[];b.createReader().readEntries(function(b){h.afor(b,function(b,c){q(c,function(c,
d){c||(e=e.concat(d));b?b():a(!1,e)})})},function(){a("directory_reader")})}else q(n(b),a);else a("empty_entry")}function m(b){return"object"==typeof b&&b&&"length"in b}function z(b){b.target||(b.target=a.event&&a.event.srcElement||D);3===b.target.nodeType&&(b.target=event.target.parentNode);return b}var u=1,B=function(){},t=navigator.userAgent,x=a.createObjectURL&&a||a.URL&&URL.revokeObjectURL&&URL||a.webkitURL&&webkitURL,s=a.Blob,v=a.File,p=a.FileReader,e=a.FormData,k=a.XMLHttpRequest,w=a.jQuery,
H=!(!v||!p||!a.Uint8Array&&!e&&!k.prototype.sendAsBinary)&&!(/safari\//i.test(t)&&!/chrome\//i.test(t)&&/windows/i.test(t)),t=H&&"withCredentials"in new k,s=H&&!!s&&!(!s.prototype.webkitSlice&&!s.prototype.mozSlice&&!s.prototype.slice),D=a.document,K=a.dataURLtoBlob,S=/img/i,T=/canvas/i,U=/img|canvas/,G=/input/i,V=/^data:[^,]+,/,y=Math.pow,W=Math.round,I=Number,e=function(b){return W(b*this)},E=new I(1024),L=new I(y(E,2)),M=new I(y(E,3)),y=new I(y(E,4)),C={},N=[],J="abort progress error load loadend",
X="status statusText readyState response responseXML responseText responseBody".split(" "),h={version:"1.2.5",cors:!1,html5:!0,debug:!1,pingUrl:!1,withCredentials:!0,staticPath:"./",flashUrl:0,flashImageUrl:0,accept:{"image/*":"art bm bmp dwg dxf cbr cbz fif fpx gif ico iefs jfif jpe jpeg jpg jps jut mcf nap nif pbm pcx pgm pict pm png pnm qif qtif ras rast rf rp svf tga tif tiff xbm xbm xpm xwd","audio/*":"m4a flac aac rm mpa wav wma ogg mp3 mp2 m3u mod amf dmf dsm far gdm imf it m15 med okt s3m stm sfx ult uni xm sid ac3 dts cue aif aiff wpl ape mac mpc mpp shn wv nsf spc gym adplug adx dsp adp ymf ast afc hps xs",
"video/*":"m4v 3gp nsv ts ty strm rm rmvb m3u ifo mov qt divx xvid bivx vob nrg img iso pva wmv asf asx ogm m2v avi bin dat dvr-ms mpg mpeg mp4 mkv avc vp3 svq3 nuv viv dv fli flv wpl"},chunkSize:0,chunkUploadRetry:0,chunkNetworkDownRetryTimeout:2E3,KB:(E.from=e,E),MB:(L.from=e,L),GB:(M.from=e,M),TB:(y.from=e,y),expando:"fileapi"+(new Date).getTime(),uid:function(b){return b?b[h.expando]=b[h.expando]||h.uid():(++u,h.expando+u)},log:function(){h.debug&&(a.console&&console.log)&&(console.log.apply?
console.log.apply(console,arguments):console.log([].join.call(arguments," ")))},newImage:function(b,a){var e=D.createElement("img");if(a)h.event.one(e,"error load",function(b){a("error"==b.type,e);e=null});e.src=b;return e},getXHR:function(){var b;if(k)b=new k;else if(a.ActiveXObject)try{b=new ActiveXObject("MSXML2.XMLHttp.3.0")}catch(e){b=new ActiveXObject("Microsoft.XMLHTTP")}return b},isArray:m,support:{dnd:t&&"ondrop"in D.createElement("div"),cors:t,html5:H,chunked:s,dataURI:!0},event:{on:r,off:l,
one:f,fix:z},throttle:function(b,e){var c,d;return function(){d=arguments;c||(b.apply(a,d),c=setTimeout(function(){c=0;b.apply(a,d)},e))}},F:function(){},parseJSON:function(b){return a.JSON&&JSON.parse?JSON.parse(b):(new Function("return ("+b.replace(/([\r\n])/g,"\\$1")+");"))()},trim:function(b){b=String(b);return b.trim?b.trim():b.replace(/^\s+|\s+$/g,"")},defer:function(){var b=[],a,e,c={resolve:function(d,k){c.resolve=B;e=d||!1;for(a=k;k=b.shift();)k(e,a)},then:function(c){e!==j?c(e,a):b.push(c)}};
return c},queue:function(b){var a=0,e=0,c=!1,d=!1,k={inc:function(){e++},next:function(){a++;setTimeout(k.check,0)},check:function(){a>=e&&!c&&k.end()},isFail:function(){return c},fail:function(){!c&&b(c=!0)},end:function(){d||(d=!0,b())}};return k},each:g,afor:function(b,a){var e=0,c=b.length;m(b)&&c--?function A(){a(c!=e&&A,b[e],e++)}():a(!1)},extend:function(b){g(arguments,function(a){g(a,function(a,e){b[e]=a})});return b},isFile:function(b){return H&&b&&b instanceof v},isCanvas:function(b){return b&&
T.test(b.nodeName)},getFilesFilter:function(b){return(b="string"==typeof b?b:b.getAttribute&&b.getAttribute("accept")||"")?RegExp("("+b.replace(/\./g,"\\.").replace(/,/g,"|")+")$","i"):/./},readAsDataURL:function(b,a){h.isCanvas(b)?c(b,a,"load",h.toDataURL(b)):d(b,a,"DataURL")},readAsBinaryString:function(b,a){p&&p.prototype.readAsBinaryString?d(b,a,"BinaryString"):d(b,function(b){if("load"==b.type)try{b.result=h.toBinaryString(b.result)}catch(e){b.type="error",b.message=e.toString()}a(b)},"DataURL")},
readAsArrayBuffer:function(b,a){d(b,a,"ArrayBuffer")},readAsText:function(b,a,e){e||(e=a,a="utf-8");d(b,e,"Text",a)},toDataURL:function(b){if("string"==typeof b)return b;if(b.toDataURL)return b.toDataURL("image/png")},toBinaryString:function(b){return a.atob(h.toDataURL(b).replace(V,""))},readAsImage:function(b,a,e){if(h.isFile(b))if(x){var d=x.createObjectURL(b);d===j?c(b,a,"error"):h.readAsImage(d,a,e)}else h.readAsDataURL(b,function(d){"load"==d.type?h.readAsImage(d.result,a,e):(e||"error"==d.type)&&
c(b,a,d,null,{loaded:d.loaded,total:d.total})});else h.isCanvas(b)?c(b,a,"load",b):S.test(b.nodeName)?b.complete?c(b,a,"load",b):f(b,"error abort load",function A(e){"load"==e.type&&x&&x.revokeObjectURL(b.src);l(b,"error abort load",A);c(b,a,e,b)}):b.iframe?c(b,a,{type:"error"}):(d=h.newImage(b.dataURL||b),h.readAsImage(d,a,e))},checkFileObj:function(b){var a={},e=h.accept;"object"==typeof b?a=b:a.name=(b+"").split(/\\|\//g).pop();null==a.type&&(a.type=a.name.split(".").pop());g(e,function(b,e){b=
RegExp(b.replace(/\s/g,"|"),"i");b.test(a.type)&&(a.type=e.split("/")[0]+"/"+a.type)});return a},getDropFiles:function(b,a){var e=[],c=(b.originalEvent||b||"").dataTransfer||{},d=m(c.items)&&c.items[0]&&n(c.items[0]),k=h.queue(function(){a(e)});g((d?c.items:c.files)||[],function(b){k.inc();if(d)q(b,function(b,a){!b&&e.push.apply(e,a);k.next()});else{var a=function(a){a&&e.push(b);k.next()};if(!b.type&&0==b.size%4096&&102400>=b.size)if(p)try{var c=new p;f(c,J,function(b){b="error"!=b.type;a(b);b&&
c.abort()});c.readAsDataURL(b)}catch(m){a(!1)}else a(null);else a(!0)}});k.check()},getFiles:function(b,a,e){var c=[];if(e)return h.filterFiles(h.getFiles(b),a,e),null;b.jquery&&(b.each(function(){c=c.concat(h.getFiles(this))}),b=c,c=[]);"string"==typeof a&&(a=h.getFilesFilter(a));b.originalEvent?b=z(b.originalEvent):b.srcElement&&(b=z(b));b.dataTransfer?b=b.dataTransfer:b.target&&(b=b.target);b.files?c=b.files:!H&&G.test(b&&b.tagName)?h.trim(b.value)&&(c=[h.checkFileObj(b.value)],c[0].blob=b,c[0].iframe=
!0):m(b)&&(c=b);return h.filter(c,function(b){return!a||a.test(b.name)})},getInfo:function(b,a){var e={},c=N.concat();h.isFile(b)?function A(){var d=c.shift();d?d.test(b.type)?d(b,function(b,c){b?a(b):(h.extend(e,c),A())}):A():a(!1,e)}():a("not_support",e)},addInfoReader:function(b,a){a.test=function(a){return b.test(a)};N.push(a)},filter:function(b,a){for(var e=[],c=0,d=b.length,k;c<d;c++)c in b&&(k=b[c],a.call(k,k,c,b)&&e.push(k));return e},filterFiles:function(b,a,e){if(b.length){var c=b.concat(),
d,k=[],m=[];(function Q(){c.length?(d=c.shift(),h.getInfo(d,function(b,e){(a(d,b?!1:e)?k:m).push(d);Q()})):e(k,m)})()}else e([],b)},upload:function(b){b=h.extend({prepare:h.F,beforeupload:h.F,upload:h.F,fileupload:h.F,fileprogress:h.F,filecomplete:h.F,progress:h.F,complete:h.F,pause:h.F,chunkSize:h.chunkSize,chunkUpoloadRetry:h.chunkUploadRetry},b);b.imageAutoOrientation&&!b.imageTransform&&(b.imageTransform={rotate:"auto"});var a=new h.XHR(b),e=this._getFilesDataArray(b.files),c=0,d=0,k=this,m,f=
!1;g(e,function(b){c+=b.size});a.files=[];g(e,function(b){a.files.push(b.file)});a.total=c;a.loaded=0;b.beforeupload(a,b);(m=function R(){var m=e.shift(),q=m&&m.file,w=!1,u={};g(b,function(b,a){b&&"object"===typeof b&&(b=h.extend({},b));u[a]=b});q&&q.name===h.expando&&(q=null,h.log("[warn] FileAPI.upload() \u2014 called without files"));("abort"!=a.statusText||a.current)&&m?(f=!1,(a.currentFile=q)&&b.prepare(q,u),this._getFormData(u,m,function(e){d||b.upload(a,b);var f=new h.XHR(h.extend({},u,{upload:q?
function(){b.fileupload(q,f,u)}:B,progress:q?function(e){w||(b.fileprogress({type:"progress",total:m.total=e.total,loaded:m.loaded=e.loaded},q,f,u),b.progress({type:"progress",total:c,loaded:a.loaded=d+m.size*(e.loaded/e.total)|0},q,f,u))}:B,complete:function(e){w=!0;g(X,function(b){a[b]=f[b]});q&&(m.loaded=m.total,this.progress(m),d+=m.size,a.loaded=d,b.filecomplete(e,f,q,u));R.call(k)}}));a.abort=function(b){this.current=b;f.abort()};f.send(e)})):(b.complete(200==a.status||201==a.status?!1:a.statusText||
"error",a,b),f=!0)}).call(this);a.append=function(b,d){b=h._getFilesDataArray([].concat(b));g(b,function(b){c+=b.size;a.files.push(b.file);d?e.unshift(b):e.push(b)});f&&m.call(k)};a.remove=function(b){var a=-1;g(e,function(c){a++;if(c.file==b)return e.splice(a,1)})};return a},_getFilesDataArray:function(b){var a=[],e={};if(G.test(b&&b.tagName)){var c=h.getFiles(b);e[b.name||"file"]=null!==b.getAttribute("multiple")?c:c[0]}else m(b)&&G.test(b[0]&&b[0].tagName)?g(b,function(b){e[b.name||"file"]=h.getFiles(b)}):
e=b;g(e,function A(b,e){m(b)?g(b,function(b){A(b,e)}):b&&b.name&&a.push({name:e,file:b,size:b.size,total:b.size,loaded:0})});a.length||a.push({file:{name:h.expando}});return a},_getFormData:function(b,a,e){var c=a.file,d=a.name,k=c.name,m=c.type;a=h.support.transform&&b.imageTransform;var f=new h.Form,q=h.queue(function(){e(f)}),w=a&&(0<parseInt(a.maxWidth||a.minWidth||a.width,10)||a.rotate);h.Image&&a&&(/image/.test(c.type)||U.test(c.nodeType))?(q.inc(),w&&(a=[a]),h.Image.transform(c,a,b.imageAutoOrientation,
function(a,e){w&&!a?(!K&&!h.flashEngine&&(e[0]=h.toBinaryString(e[0]),f.multipart=!0),f.append(d,e[0],k,m)):(a||(g(e,function(b,a){!K&&!h.flashEngine&&(b=h.toBinaryString(b),f.multipart=!0);f.append(d+"["+a+"]",b,k,m)}),d+="[original]"),(a||b.imageOriginal)&&f.append(d,c,k,m));q.next()})):k!==h.expando&&f.append(d,c,k);g(b.data,function Y(b,a){"object"==typeof b?g(b,function(b,e){Y(b,a+"["+e+"]")}):f.append(a,b)});q.check()},reset:function(b){var a,e;w?(e=w(b).clone(!0).insertBefore(b).val("")[0],
w(b).remove()):(a=b.parentNode,e=a.insertBefore(b.cloneNode(!0),b),e.value="",a.removeChild(b),g(C[h.uid(b)],function(a,c){g(a,function(a){l(b,c,a);r(e,c,a)})}));return e},load:function(b,a){var e=h.getXHR();e?(e.open("GET",b,!0),e.overrideMimeType&&e.overrideMimeType("text/plain; charset=x-user-defined"),r(e,"progress",function(b){b.lengthComputable&&a({type:b.type,loaded:b.loaded,total:b.total},e)}),e.onreadystatechange=function(){if(4==e.readyState)if(e.onreadystatechange=null,200==e.status){b=
b.split("/");var c={name:b[b.length-1],size:e.getResponseHeader("Content-Length"),type:e.getResponseHeader("Content-Type")};c.dataURL="data:"+c.type+";base64,"+h.encode64(e.responseBody||e.responseText);a({type:"load",result:c})}else a({type:"error"})},e.send(null)):a({type:"error"});return e},encode64:function(b){var a="",e=0;for("string"!==typeof b&&(b=String(b));e<b.length;){var c=b.charCodeAt(e++)&255,d=b.charCodeAt(e++)&255,k=b.charCodeAt(e++)&255,m=c>>2,c=(c&3)<<4|d>>4;isNaN(d)?d=k=64:(d=(d&
15)<<2|k>>6,k=isNaN(k)?64:k&63);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(m)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(c)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(d)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(k)}return a}};h.addInfoReader(/^image/,function(b,a){if(!b.__dimensions){var e=b.__dimensions=h.defer();h.readAsImage(b,function(b){var a=b.target;e.resolve("load"==
b.type?!1:"error",{width:a.width,height:a.height})})}b.__dimensions.then(a)});h.event.dnd=function(b,a,e){var c,d;e||(e=a,a=h.F);p?(r(b,"dragenter dragleave dragover",function(b){for(var e=((b.originalEvent||b||"").dataTransfer||{}).types,k=e&&e.length;k--;)~e[k].indexOf("File")&&(b.preventDefault(),d!==b.type&&(d=b.type,"dragleave"!=d&&a.call(b.currentTarget,!0,b),clearTimeout(c),c=setTimeout(function(){a.call(b.currentTarget,"dragleave"!=d,b)},50)))}),r(b,"drop",function(b){b.preventDefault();d=
0;a.call(b.currentTarget,!1,b);h.getDropFiles(b,function(a){e.call(b.currentTarget,a,b)})})):h.log("Drag'n'Drop -- not supported")};w&&!w.fn.dnd&&(w.fn.dnd=function(b,a){return this.each(function(){h.event.dnd(this,b,a)})});a.FileAPI=h.extend(h,a.FileAPI);h.flashUrl||(h.flashUrl=h.staticPath+"FileAPI.flash.swf");h.flashImageUrl||(h.flashImageUrl=h.staticPath+"FileAPI.flash.image.swf")})(window);
(function(a,j,g){function r(a,c){if(!(this instanceof r))return new r(a);this.file=a;this.better=!c;this.matrix={sx:0,sy:0,sw:0,sh:0,dx:0,dy:0,dw:0,dh:0,resize:0,deg:0}}var l=Math.min,f=Math.round,c=!1,d={8:270,3:180,6:90};try{c=-1<j.createElement("canvas").toDataURL("image/png").indexOf("data:image/png")}catch(n){}r.prototype={constructor:r,set:function(c){a.extend(this.matrix,c);return this},crop:function(a,c,d,f){d===g&&(d=a,f=c,a=c=0);return this.set({sx:a,sy:c,sw:d,sh:f||d})},resize:function(a,
c,d){"string"==typeof c&&(d=c,c=a);return this.set({dw:a,dh:c,resize:d})},preview:function(a,c){return this.set({dw:a,dh:c||a,resize:"preview"})},rotate:function(a){return this.set({deg:a})},_load:function(c,d){var f=this;a.readAsImage(c,function(a){d.call(f,"load"!=a.type,a.result)})},_apply:function(a,c){var d=j.createElement("canvas"),f=this.getMatrix(a),g=d.getContext("2d"),l=f.deg,n=f.dw,s=f.dh,v=a.width,p=a.height,e,k=a;if(this.better)for(;2<Math.min(v/n,p/s);)v=~~(v/2+0.5),p=~~(p/2+0.5),e=
j.createElement("canvas"),e.width=v,e.height=p,k!==a?(e.getContext("2d").drawImage(k,0,0,k.width,k.height,0,0,v,p),k=e):(k=e,k.getContext("2d").drawImage(a,f.sx,f.sy,f.sw,f.sh,0,0,v,p),f.sx=f.sy=f.sw=f.sh=0);d.width=!(l%180)?n:s;d.height=l%180?n:s;g.rotate(l*Math.PI/180);g.drawImage(k,f.sx,f.sy,f.sw||k.width,f.sh||k.height,180==l||270==l?-n:0,90==l||180==l?-s:0,n,s);c.call(this,!1,d)},getMatrix:function(c){var d=a.extend({},this.matrix),g=d.sw=d.sw||c.width;c=d.sh=d.sh||c.height;var n=d.dw=d.dw||
d.sw,j=d.dh=d.dh||d.sh,t=g/c,r=n/j,s=d.resize;if("preview"==s){if(n!=g||j!=c)if(r>=t?(t=g,s=t/r):(s=c,t=s*r),t!=g||s!=c)d.sx=~~((g-t)/2),d.sy=~~((c-s)/2),g=t,c=s}else s&&("min"==s?(n=f(t<r?l(g,n):j*t),j=f(t<r?n/t:l(c,j))):(n=f(t>=r?l(g,n):j*t),j=f(t>=r?n/t:l(c,j))));d.sw=g;d.sh=c;d.dw=n;d.dh=j;return d},_trans:function(a){this._load(this.file,function(c,d){c?a(c):this._apply(d,a)})},get:function(c){if(a.support.transform){var f=this;"auto"==f.matrix.deg?a.getInfo(this.file,function(a,g){f.matrix.deg=
d[g&&g.exif&&g.exif.Orientation]||0;f._trans(c)}):f._trans(c)}else c("not_support")},toData:function(a){this.get(a)}};r.exifOrientation=d;r.transform=function(c,d,f,n){a.getInfo(c,function(l,j){var x={},s=a.queue(function(a){n(a,x)});l?s.fail():a.each(d,function(a,d){if(!s.isFail()){var e=r(j.nodeType?j:c);if("function"==typeof a)a(j,e);else if(a.width)e[a.preview?"preview":"resize"](a.width,a.height,a.type);else a.maxWidth&&(j.width>a.maxWidth||j.height>a.maxHeight)&&e.resize(a.maxWidth,a.maxHeight,
"max");a.rotate===g&&f&&(a.rotate="auto");e.rotate(a.rotate);s.inc();e.toData(function(a,e){a?s.fail():(x[d]=e,s.next())})}})})};a.support.canvas=a.support.transform=c;a.Image=r})(FileAPI,document);
(function(a,j,g){var r=j.encodeURIComponent,l=j.FormData;j=function(){this.items=[]};j.prototype={append:function(a,c,d,g){this.items.push({name:a,blob:c&&c.blob||(void 0==c?"":c),file:c&&(d||c.name),type:c&&(g||c.type)})},each:function(a){for(var c=0,d=this.items.length;c<d;c++)a.call(this,this.items[c])},toData:function(f,c){c._chunked=a.support.chunked&&0<c.chunkSize&&1==a.filter(this.items,function(a){return a.file}).length;a.support.html5?this.multipart||!l?(a.log("FileAPI.Form.toMultipartData"),
this.toMultipartData(f)):c._chunked?(a.log("FileAPI.Form.toPlainData"),this.toPlainData(f)):(a.log("FileAPI.Form.toFormData"),this.toFormData(f)):(a.log("FileAPI.Form.toHtmlData"),this.toHtmlData(f))},_to:function(f,c,d,g){var l=a.queue(function(){c(f)});this.each(function(a){d(a,f,l,g)});l.check()},toHtmlData:function(f){this._to(g.createDocumentFragment(),f,function(c,d){var f=c.blob,l;c.file?(a.reset(f),f.name=c.name,d.appendChild(f)):(l=g.createElement("input"),l.name=c.name,l.type="hidden",l.value=
f,d.appendChild(l))})},toPlainData:function(a){this._to({},a,function(a,d,f){a.file&&(d.type=a.file);a.blob.toBlob?(f.inc(),a.blob.toBlob(function(g){d.name=a.name;d.file=g;d.size=g.length;d.type=a.type;f.next()},"image/png")):a.file?(d.name=a.blob.name,d.file=a.blob,d.size=a.blob.size,d.type=a.type):(d.params||(d.params=[]),d.params.push(encodeURIComponent(a.name)+"="+encodeURIComponent(a.blob)));d.start=-1;d.end=d.file.FileAPIReadPosition||-1;d.retry=0})},toFormData:function(a){this._to(new l,a,
function(a,d,f){a.file&&d.append("_"+a.name,a.file);a.blob&&a.blob.toBlob?(f.inc(),a.blob.toBlob(function(g){d.append(a.name,g,a.file);f.next()},"image/png")):a.file?d.append(a.name,a.blob,a.file):d.append(a.name,a.blob)})},toMultipartData:function(f){this._to([],f,function(c,d,f,g){var m=!!c.file,l=c.blob,j=function(a){d.push("--_"+g+('\r\nContent-Disposition: form-data; name="'+c.name+'"'+(m?'; filename="'+r(c.file)+'"':"")+(m?"\r\nContent-Type: "+(c.type||"application/octet-stream"):"")+"\r\n\r\n"+
(m?a:r(a))+"\r\n"));f.next()};f.inc();a.isFile(l)?a.readAsBinaryString(l,function(a){"load"==a.type&&j(a.result)}):j(l)},a.expando)}};a.Form=j})(FileAPI,window,document);
(function(a,j){var g=function(){},r=function(a){this.uid=j.uid();this.xhr={abort:g,getResponseHeader:g,getAllResponseHeaders:g};this.options=a};r.prototype={status:0,statusText:"",getResponseHeader:function(a){return this.xhr.getResponseHeader(a)},getAllResponseHeaders:function(){return this.xhr.getAllResponseHeaders()||{}},end:function(l,f){var c=this,d=c.options;c.end=c.abort=g;c.status=l;f&&(c.statusText=f);j.log("xhr.end:",l,f);d.complete(200==l||201==l?!1:c.statusText||"unknown",c);c.xhr&&c.xhr.node&&
setTimeout(function(){var d=c.xhr.node;try{d.parentNode.removeChild(d)}catch(f){}try{delete a[c.uid]}catch(g){}a[c.uid]=c.xhr.node=null},9)},abort:function(){this.end(0,"abort");this.xhr&&(this.xhr.aborted=!0,this.xhr.abort())},send:function(a){var f=this,c=this.options;a.toData(function(a){c.upload(c,f);f._send.call(f,c,a)},c)},_send:function(g,f){var c=this,d,n=c.uid,q=g.url;j.log("XHR._send:",f);q+=(~q.indexOf("?")?"&":"?")+j.uid();f.nodeName?(g.upload(g,c),d=document.createElement("div"),d.innerHTML=
'<form target="'+n+'" action="'+q+'" method="POST" enctype="multipart/form-data" style="position: absolute; top: -1000px; overflow: hidden; width: 1px; height: 1px;"><iframe name="'+n+'" src="javascript:false;"></iframe><input value="'+n+'" name="callback" type="hidden"/></form>',c.xhr.abort=function(){var a=d.getElementsByName("iframe")[0];if(a)try{a.stop?a.stop():a.contentWindow.stop?a.contentWindow.stop():a.contentWindow.document.execCommand("Stop")}catch(c){}d=null},q=d.getElementsByTagName("form")[0],
q.appendChild(f),j.log(q.parentNode.innerHTML),document.body.appendChild(d),c.xhr.node=d,a[n]=function(a,f,g){c.readyState=4;c.responseText=g;c.end(a,f);d=null},c.readyState=2,q.submit(),q=null):this.xhr&&this.xhr.aborted?j.log("Error: already aborted"):(d=c.xhr=j.getXHR(),f.params&&(q+=(0>q.indexOf("?")?"?":"&")+f.params.join("&")),d.open("POST",q,!0),j.withCredentials&&(d.withCredentials="true"),(!g.headers||!g.headers["X-Requested-With"])&&d.setRequestHeader("X-Requested-With","XMLHttpRequest"),
j.each(g.headers,function(a,c){d.setRequestHeader(c,a)}),g._chunked?(d.upload&&d.upload.addEventListener("progress",function(a){f.retry||g.progress({type:a.type,total:f.size,loaded:f.start+a.loaded,totalSize:f.size},c,g)},!1),d.onreadystatechange=function(){c.status=d.status;c.statusText=d.statusText;c.readyState=d.readyState;if(4==d.readyState){for(var a in{"":1,XML:1,Text:1,Body:1})c["response"+a]=d["response"+a];d.onreadystatechange=null;if(!d.status||0<d.status-201)if(j.log("Error: "+d.status),
(!d.status&&!d.aborted||500==d.status||416==d.status)&&++f.retry<=g.chunkUploadRetry){a=d.status?0:j.chunkNetworkDownRetryTimeout;g.pause(f.file,g);var n=parseInt(d.getResponseHeader("X-Last-Known-Byte"),10);j.log("X-Last-Known-Byte: "+n);f.end=n?n:f.start-1;setTimeout(function(){c._send(g,f)},a)}else c.end(d.status);else f.retry=0,f.end==f.size-1?c.end(d.status):(n=parseInt(d.getResponseHeader("X-Last-Known-Byte"),10),j.log("X-Last-Known-Byte: "+n),n&&(f.end=n),f.file.FileAPIReadPosition=f.end,setTimeout(function(){c._send(g,
f)},0));d=null}},f.start=f.end+1,f.end=Math.max(Math.min(f.start+g.chunkSize,f.size)-1,f.start),(n="slice")in f.file||(n="mozSlice")in f.file||(n="webkitSlice"),d.setRequestHeader("Content-Range","bytes "+f.start+"-"+f.end+"/"+f.size),d.setRequestHeader("Content-Disposition","attachment; filename="+encodeURIComponent(f.name)),d.setRequestHeader("Content-Type",f.type||"application/octet-stream"),n=f.file[n](f.start,f.end+1),d.send(n),n=null):(d.upload&&d.upload.addEventListener("progress",j.throttle(function(a){g.progress(a,
c,g)},100),!1),d.onreadystatechange=function(){c.status=d.status;c.statusText=d.statusText;c.readyState=d.readyState;if(4==d.readyState){for(var a in{"":1,XML:1,Text:1,Body:1})c["response"+a]=d["response"+a];d.onreadystatechange=null;c.end(d.status);d=null}},j.isArray(f)?(d.setRequestHeader("Content-Type","multipart/form-data; boundary=_"+j.expando),f=f.join("")+"--_"+j.expando+"--",d.sendAsBinary?d.sendAsBinary(f):(n=Array.prototype.map.call(f,function(a){return a.charCodeAt(0)&255}),d.send((new Uint8Array(n)).buffer))):
d.send(f)))}};j.XHR=r})(window,FileAPI);
(function(a,j,g){var r=a.support,l=j.navigator,f=l.mimeTypes,c=!1;if(l.plugins&&"object"==typeof l.plugins["Shockwave Flash"])c=l.plugins["Shockwave Flash"].description&&!(f&&f["application/x-shockwave-flash"]&&!f["application/x-shockwave-flash"].enabledPlugin);else try{c=!(!j.ActiveXObject||!new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))}catch(d){a.log("ShockwaveFlash.ShockwaveFlash -- does not supported.")}r.flash=c;if(a.support.flash&&(!a.html5||!a.support.html5||a.cors&&!a.support.cors)){var n=
function(a){return('<object id="#id#" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+(a.width||"100%")+'" height="'+(a.height||"100%")+'"><param name="movie" value="#src#" /><param name="flashvars" value="#flashvars#" /><param name="swliveconnect" value="true" /><param name="allowscriptaccess" value="always" /><param name="allownetworking" value="all" /><param name="menu" value="false" /><param name="wmode" value="#wmode#" /><embed flashvars="#flashvars#" swliveconnect="true" allownetworking="all" allowscriptaccess="always" name="#id#" src="#src#" width="'+
(a.width||"100%")+'" height="'+(a.height||"100%")+'" menu="false" wmode="transparent" type="application/x-shockwave-flash"></embed></object>').replace(/#(\w+)#/ig,function(c,d){return a[d]})},q=function(a,c){if(a&&a.style){var d,f;for(d in c){f=c[d];"number"==typeof f&&(f+="px");try{a.style[d]=f}catch(g){}}}},m=function(e,c){a.each(c,function(a,c){var d=e[c];e[c]=function(){this.parent=d;return a.apply(this,arguments)}})},z=function(e){var c=e.wid=a.uid();p._fn[c]=e;return"FileAPI.Flash._fn."+c},
u=function(a){try{p._fn[a.wid]=null,delete p._fn[a.wid]}catch(c){}},B=function(a,c){if(!v.test(a)){if(/^\.\//.test(a)||"/"!=a.charAt(0)){var d=location.pathname,d=d.substr(0,d.lastIndexOf("/"));a=(d+"/"+a).replace("/./","/")}"//"!=a.substr(0,2)&&(a="//"+location.host+a);v.test(a)||(a=location.protocol+a)}c&&(a+=(/\?/.test(a)?"&":"?")+c);return a},t=a.uid(),x=0,s={},v=/^https?:/i,p={_fn:{},init:function(){var e=g.body&&g.body.firstChild;if(e){do if(1==e.nodeType){a.log("FlashAPI.Flash.init...");var c=
g.createElement("div");q(c,{top:1,right:1,width:5,height:5,position:"absolute"});e.parentNode.insertBefore(c,e);p.publish(c,t);return}while(e=e.nextSibling)}10>x&&setTimeout(p.init,50*++x)},publish:function(e,c){e.innerHTML=n({id:c,src:B(a.flashUrl,"r="+a.version),wmode:"transparent",flashvars:"callback=FileAPI.Flash.event&flashId="+c+"&storeKey="+navigator.userAgent.match(/\d/ig).join("")+"_"+a.version+(p.isReady||(a.pingUrl?"&ping="+a.pingUrl:""))})},ready:function(){p.ready=a.F;p.isReady=!0;p.patch();
a.event.on(g,"mouseover",p.mouseover);a.event.on(g,"click",function(a){p.mouseover(a)&&(a.preventDefault?a.preventDefault():a.returnValue=!0)})},getWrapper:function(a){do if(/js-fileapi-wrapper/.test(a.className))return a;while((a=a.parentNode)&&a!==g.body)},mouseover:function(e){e=a.event.fix(e).target;if(/input/i.test(e.nodeName)&&"file"==e.type){var c=e.getAttribute(t);if("i"==c||"r"==c)return!1;if("p"!=c){e.setAttribute(t,"i");var c=g.createElement("div"),d=p.getWrapper(e);if(!d){a.log("flash.mouseover.error: js-fileapi-wrapper not found");
return}q(c,{top:0,left:0,width:e.offsetWidth+100,height:e.offsetHeight+100,zIndex:"1000000",position:"absolute"});d.appendChild(c);p.publish(c,a.uid());e.setAttribute(t,"p")}return!0}},event:function(e){var c=e.type;if("ready"==c){try{p.getInput(e.flashId).setAttribute(t,"r")}catch(d){}p.ready();setTimeout(function(){p.mouseenter(e)},50);return!0}"ping"===c?a.log("(flash -> js).ping:",[e.status,e.savedStatus],e.error):"log"===c?a.log("(flash -> js).log:",e.target):c in p&&setTimeout(function(){a.log("Flash.event."+
e.type+":",e);p[c](e)},1)},mouseenter:function(c){var d=p.getInput(c.flashId);if(d){p.cmd(c,"multiple",null!=d.getAttribute("multiple"));var f=[],g={};a.each((d.getAttribute("accept")||"").split(/,\s*/),function(c){a.accept[c]&&a.each(a.accept[c].split(" "),function(a){g[a]=1})});a.each(g,function(a,c){f.push(c)});p.cmd(c,"accept",f.length?f.join(",")+","+f.join(",").toUpperCase():"*")}},get:function(a){return g[a]||j[a]||g.embeds[a]},getInput:function(c){try{var d=p.getWrapper(p.get(c));if(d)return d.getElementsByTagName("input")[0]}catch(f){a.log('Can not find "input" by flashId:',
c,f)}},select:function(c){var d=p.getInput(c.flashId),f=a.uid(d);c=c.target.files;a.each(c,function(c){a.checkFileObj(c)});s[f]=c;g.createEvent?(f=g.createEvent("Event"),f.initEvent("change",!0,!1),d.dispatchEvent(f)):g.createEventObject&&(f=g.createEventObject(),d.fireEvent("onchange",f))},cmd:function(c,d,f,g){try{return a.log("(js -> flash)."+d+":",f),p.get(c.flashId||c).cmd(d,f)}catch(j){a.log("(js -> flash).onError:",j),g||setTimeout(function(){p.cmd(c,d,f,!0)},50)}},patch:function(){a.flashEngine=
a.support.transform=!0;m(a,{getFiles:function(c,d,f){if(f)return a.filterFiles(a.getFiles(c),d,f),null;var g=a.isArray(c)?c:s[a.uid(c.target||c.srcElement||c)];if(!g)return this.parent.apply(this,arguments);d&&(d=a.getFilesFilter(d),g=a.filter(g,function(a){return d.test(a.name)}));return g},getInfo:function(c,d){if(c&&!c.flashId)this.parent.apply(this,arguments);else{if(!c.__info){var f=c.__info=a.defer();p.cmd(c,"getFileInfo",{id:c.id,callback:z(function D(a,d){u(D);f.resolve(a,c.info=d)})})}c.__info.then(d)}}});
a.support.transform=!0;a.Image&&m(a.Image.prototype,{get:function(a,c){this.set({scaleMode:c||"noScale"});this.parent(a)},_load:function(c,d){a.log("FileAPI.Image._load:",c);if(c&&!c.flashId)this.parent.apply(this,arguments);else{var f=this;a.getInfo(c,function(a){d.call(f,a,c)})}},_apply:function(c,d){a.log("FileAPI.Image._apply:",c);if(c&&!c.flashId)this.parent.apply(this,arguments);else{var f=this.getMatrix(c.info);p.cmd(c,"imageTransform",{id:c.id,matrix:f,callback:z(function D(j,l){a.log("FileAPI.Image._apply.callback:",
j);u(D);if(j)d(j);else if(!a.support.dataURI||3E4<l.length){var m={width:!(f.deg%180)?f.dw:f.dh,height:f.deg%180?f.dw:f.dh,scale:f.scaleMode},r=d,s=function(){try{p.get(y).setImage(l)}catch(c){a.log('flash.setImage -- can not set "base64":',c)}},t,y=a.uid(),v=g.createElement("div");for(t in m)v.setAttribute("data-img-"+t,m[t]);q(v,m);v.innerHTML=n(a.extend({id:y,src:B(a.flashImageUrl,"r="+a.uid()),wmode:"opaque",flashvars:"scale="+m.scale+"&callback="+z(function E(){u(E);setTimeout(s,99);return!0})},
m));r(!1,v);v=null}else a.newImage("data:"+c.type+";base64,"+l,d)})})}},toData:function(c){var d=this.file,f=d.info,g=this.getMatrix(f);d&&!d.flashId?this.parent.apply(this,arguments):("auto"==g.deg&&(g.deg=a.Image.exifOrientation[f&&f.exif&&f.exif.Orientation]||0),c.call(this,!d.info,{id:d.id,flashId:d.flashId,name:d.name,type:d.type,matrix:g}))}});m(a.Form.prototype,{toData:function(c){for(var d=this.items,f=d.length;f--;)if(d[f].file&&d[f].blob&&!d[f].blob.flashId)return this.parent.apply(this,
arguments);a.log("flash.Form.toData");c(d)}});m(a.XHR.prototype,{_send:function(c,d){if(d.nodeName||d.append&&a.support.html5||a.isArray(d)&&"string"===typeof d[0])return this.parent.apply(this,arguments);var f={},g={},j=this,l,m;a.each(d,function(a){a.file?(g[a.name]=a={id:a.blob.id,name:a.blob.name,matrix:a.blob.matrix,flashId:a.blob.flashId},m=a.id,l=a.flashId):f[a.name]=a.blob});if(!m&&!l)return this.parent.apply(this,arguments);a.log("flash.XHR._send:",l,m,g);j.xhr={headers:{},abort:function(){p.cmd(l,
"abort",{id:m})},getResponseHeader:function(a){return this.headers[a]},getAllResponseHeaders:function(){return this.headers}};var n=a.queue(function(){p.cmd(l,"upload",{url:B(c.url),data:f,files:g,headers:c.headers,callback:z(function G(d){var f=d.type,g=d.result;a.log("flash.upload."+f+":",d);if("progress"==f)d.loaded=Math.min(d.loaded,d.total),d.lengthComputable=!0,c.progress(d);else if("complete"==f)u(G),"string"==typeof g&&(j.responseText=g.replace(/%22/g,'"').replace(/%5c/g,"\\").replace(/%26/g,
"&").replace(/%25/g,"%")),j.end(d.status||200);else if("abort"==f||"error"==f)j.end(d.status||0,d.message),u(G)})})});a.each(g,function(c){n.inc();a.getInfo(c,n.next)});n.check()}})}};a.Flash=p;a.newImage("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",function(c,d){a.support.dataURI=!(1!=d.width||1!=d.height);p.init()})}})(FileAPI,window,document);"undefined"!==typeof ajs&&ajs.loaded&&ajs.loaded("{fileapi}FileAPI.min");
"function"===typeof define&&define.amd&&define("FileAPI",[],function(){return window.FileAPI||{}});