jquery-fileapi-rails 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 00ebc865f046091c43935a8e6ee187c7c89c5365
4
+ data.tar.gz: 5a6ad052e16b3b3bc5fb84e1ddfbf0ca20057556
5
+ SHA512:
6
+ metadata.gz: 5041d9c028151b6bbdde8f6e874dda754ca5afd68d41686632699b2b9e77415ddb5f21c1d3586f73aa93247bc066c7de5b1249a1cd2f152a924548d1deab263f
7
+ data.tar.gz: 3827006d0a5c45d2ad5e64a58953c564929e94b0603e434b1ed47c76474646865c47d89668c0a9037758960a56ca5d61a90e73e89a27c2d38a90c73a0a2ccda9
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in jquery-fileapi-rails.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Anton Taraev
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # Jquery::Fileapi::Rails
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'jquery-fileapi-rails'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install jquery-fileapi-rails
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'jquery/fileapi/rails/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "jquery-fileapi-rails"
8
+ spec.version = Jquery::Fileapi::Rails::VERSION
9
+ spec.authors = ["Anton Taraev"]
10
+ spec.email = ["anti191@gmail.com"]
11
+ spec.description = %q{jQuery.FileAPI for Rails Asset Pipeline}
12
+ spec.summary = %q{jQuery.FileAPI for Rails Asset Pipeline}
13
+ spec.homepage = "https://github.com/headmade/jquery-fileapi-rails"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ end
@@ -0,0 +1,8 @@
1
+ module Jquery
2
+ module Fileapi
3
+ module Rails
4
+ class Engine < ::Rails::Engine
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ module Jquery
2
+ module Fileapi
3
+ module Rails
4
+ VERSION = "0.0.3"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ require "jquery/fileapi/rails/version"
2
+
3
+ module Jquery
4
+ module Fileapi
5
+ module Rails
6
+ require 'jquery/fileapi/rails/engine' if defined?(Rails)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,59 @@
1
+ (function (){
2
+ /**!
3
+ * Binary Ajax 0.1.10
4
+ * Copyright (c) 2008 Jacob Seidelin, cupboy@gmail.com, http://blog.nihilogic.dk/
5
+ * Licensed under the MPL License [http://www.nihilogic.dk/licenses/mpl-license.txt]
6
+ *
7
+ *
8
+ * Javascript EXIF Reader 0.1.4
9
+ * Copyright (c) 2008 Jacob Seidelin, cupboy@gmail.com, http://blog.nihilogic.dk/
10
+ * Licensed under the MPL License [http://www.nihilogic.dk/licenses/mpl-license.txt]
11
+ */
12
+
13
+
14
+ var BinaryFile=function(j,k,l){var h=j,i=k||0,b=0;this.getRawData=function(){return h};"string"==typeof j&&(b=l||h.length,this.getByteAt=function(a){return h.charCodeAt(a+i)&255},this.getBytesAt=function(a,b){for(var c=[],f=0;f<b;f++)c[f]=h.charCodeAt(a+f+i)&255;return c});this.getLength=function(){return b};this.getSByteAt=function(a){a=this.getByteAt(a);return 127<a?a-256:a};this.getShortAt=function(a,b){var c=b?(this.getByteAt(a)<<8)+this.getByteAt(a+1):(this.getByteAt(a+1)<<8)+this.getByteAt(a);
15
+ 0>c&&(c+=65536);return c};this.getSShortAt=function(a,b){var c=this.getShortAt(a,b);return 32767<c?c-65536:c};this.getLongAt=function(a,b){var c=this.getByteAt(a),f=this.getByteAt(a+1),e=this.getByteAt(a+2),g=this.getByteAt(a+3),c=b?(((c<<8)+f<<8)+e<<8)+g:(((g<<8)+e<<8)+f<<8)+c;0>c&&(c+=4294967296);return c};this.getSLongAt=function(a,b){var c=this.getLongAt(a,b);return 2147483647<c?c-4294967296:c};this.getStringAt=function(a,b){for(var c=[],f=this.getBytesAt(a,b),e=0;e<b;e++)c[e]=String.fromCharCode(f[e]);
16
+ return c.join("")};this.getCharAt=function(a){return String.fromCharCode(this.getByteAt(a))};this.toBase64=function(){return window.btoa(h)};this.fromBase64=function(a){h=window.atob(a)}},EXIF={};
17
+ (function(){function j(b){if(255!=b.getByteAt(0)||216!=b.getByteAt(1))return!1;for(var a=2,d=b.getLength();a<d;){if(255!=b.getByteAt(a))return i&&console.log("Not a valid marker at offset "+a+", found: "+b.getByteAt(a)),!1;var c=b.getByteAt(a+1);if(22400==c||225==c)return i&&console.log("Found 0xFFE1 marker"),h(b,a+4,b.getShortAt(a+2,!0)-2);a+=2+b.getShortAt(a+2,!0)}}function k(b,a,d,c,f){for(var e=b.getShortAt(d,f),g={},h=0;h<e;h++){var j=d+12*h+2,k=c[b.getShortAt(j,f)];!k&&i&&console.log("Unknown tag: "+
18
+ b.getShortAt(j,f));g[k]=l(b,j,a,d,f)}return g}function l(b,a,d,c,f){var e=b.getShortAt(a+2,f),c=b.getLongAt(a+4,f),d=b.getLongAt(a+8,f)+d;switch(e){case 1:case 7:if(1==c)return b.getByteAt(a+8,f);d=4<c?d:a+8;a=[];for(e=0;e<c;e++)a[e]=b.getByteAt(d+e);return a;case 2:return b.getStringAt(4<c?d:a+8,c-1);case 3:if(1==c)return b.getShortAt(a+8,f);d=2<c?d:a+8;a=[];for(e=0;e<c;e++)a[e]=b.getShortAt(d+2*e,f);return a;case 4:if(1==c)return b.getLongAt(a+8,f);a=[];for(e=0;e<c;e++)a[e]=b.getLongAt(d+4*e,f);
19
+ return a;case 5:if(1==c)return b.getLongAt(d,f)/b.getLongAt(d+4,f);a=[];for(e=0;e<c;e++)a[e]=b.getLongAt(d+8*e,f)/b.getLongAt(d+4+8*e,f);return a;case 9:if(1==c)return b.getSLongAt(a+8,f);a=[];for(e=0;e<c;e++)a[e]=b.getSLongAt(d+4*e,f);return a;case 10:if(1==c)return b.getSLongAt(d,f)/b.getSLongAt(d+4,f);a=[];for(e=0;e<c;e++)a[e]=b.getSLongAt(d+8*e,f)/b.getSLongAt(d+4+8*e,f);return a}}function h(b,a){if("Exif"!=b.getStringAt(a,4))return i&&console.log("Not valid EXIF data! "+b.getStringAt(a,4)),!1;
20
+ var d,c=a+6;if(18761==b.getShortAt(c))d=!1;else if(19789==b.getShortAt(c))d=!0;else return i&&console.log("Not valid TIFF data! (no 0x4949 or 0x4D4D)"),!1;if(42!=b.getShortAt(c+2,d))return i&&console.log("Not valid TIFF data! (no 0x002A)"),!1;if(8!=b.getLongAt(c+4,d))return i&&console.log("Not valid TIFF data! (First offset not 8)",b.getShortAt(c+4,d)),!1;var f=k(b,c,c+8,EXIF.TiffTags,d);if(f.ExifIFDPointer){var e=k(b,c,c+f.ExifIFDPointer,EXIF.Tags,d),g;for(g in e){switch(g){case "LightSource":case "Flash":case "MeteringMode":case "ExposureProgram":case "SensingMethod":case "SceneCaptureType":case "SceneType":case "CustomRendered":case "WhiteBalance":case "GainControl":case "Contrast":case "Saturation":case "Sharpness":case "SubjectDistanceRange":case "FileSource":e[g]=
21
+ EXIF.StringValues[g][e[g]];break;case "ExifVersion":case "FlashpixVersion":e[g]=String.fromCharCode(e[g][0],e[g][1],e[g][2],e[g][3]);break;case "ComponentsConfiguration":e[g]=EXIF.StringValues.Components[e[g][0]]+EXIF.StringValues.Components[e[g][1]]+EXIF.StringValues.Components[e[g][2]]+EXIF.StringValues.Components[e[g][3]]}f[g]=e[g]}}if(f.GPSInfoIFDPointer)for(g in d=k(b,c,c+f.GPSInfoIFDPointer,EXIF.GPSTags,d),d){switch(g){case "GPSVersionID":d[g]=d[g][0]+"."+d[g][1]+"."+d[g][2]+"."+d[g][3]}f[g]=
22
+ d[g]}return f}var i=!1;EXIF.Tags={36864:"ExifVersion",40960:"FlashpixVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",37121:"ComponentsConfiguration",37122:"CompressedBitsPerPixel",37500:"MakerNote",37510:"UserComment",40964:"RelatedSoundFile",36867:"DateTimeOriginal",36868:"DateTimeDigitized",37520:"SubsecTime",37521:"SubsecTimeOriginal",37522:"SubsecTimeDigitized",33434:"ExposureTime",33437:"FNumber",34850:"ExposureProgram",34852:"SpectralSensitivity",34855:"ISOSpeedRatings",
23
+ 34856:"OECF",37377:"ShutterSpeedValue",37378:"ApertureValue",37379:"BrightnessValue",37380:"ExposureBias",37381:"MaxApertureValue",37382:"SubjectDistance",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37396:"SubjectArea",37386:"FocalLength",41483:"FlashEnergy",41484:"SpatialFrequencyResponse",41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:"FocalPlaneResolutionUnit",41492:"SubjectLocation",41493:"ExposureIndex",41495:"SensingMethod",41728:"FileSource",41729:"SceneType",
24
+ 41730:"CFAPattern",41985:"CustomRendered",41986:"ExposureMode",41987:"WhiteBalance",41988:"DigitalZoomRation",41989:"FocalLengthIn35mmFilm",41990:"SceneCaptureType",41991:"GainControl",41992:"Contrast",41993:"Saturation",41994:"Sharpness",41995:"DeviceSettingDescription",41996:"SubjectDistanceRange",40965:"InteroperabilityIFDPointer",42016:"ImageUniqueID"};EXIF.TiffTags={256:"ImageWidth",257:"ImageHeight",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer",40965:"InteroperabilityIFDPointer",258:"BitsPerSample",
25
+ 259:"Compression",262:"PhotometricInterpretation",274:"Orientation",277:"SamplesPerPixel",284:"PlanarConfiguration",530:"YCbCrSubSampling",531:"YCbCrPositioning",282:"XResolution",283:"YResolution",296:"ResolutionUnit",273:"StripOffsets",278:"RowsPerStrip",279:"StripByteCounts",513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",301:"TransferFunction",318:"WhitePoint",319:"PrimaryChromaticities",529:"YCbCrCoefficients",532:"ReferenceBlackWhite",306:"DateTime",270:"ImageDescription",271:"Make",
26
+ 272:"Model",305:"Software",315:"Artist",33432:"Copyright"};EXIF.GPSTags={"0":"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude",5:"GPSAltitudeRef",6:"GPSAltitude",7:"GPSTimeStamp",8:"GPSSatellites",9:"GPSStatus",10:"GPSMeasureMode",11:"GPSDOP",12:"GPSSpeedRef",13:"GPSSpeed",14:"GPSTrackRef",15:"GPSTrack",16:"GPSImgDirectionRef",17:"GPSImgDirection",18:"GPSMapDatum",19:"GPSDestLatitudeRef",20:"GPSDestLatitude",21:"GPSDestLongitudeRef",22:"GPSDestLongitude",23:"GPSDestBearingRef",
27
+ 24:"GPSDestBearing",25:"GPSDestDistanceRef",26:"GPSDestDistance",27:"GPSProcessingMethod",28:"GPSAreaInformation",29:"GPSDateStamp",30:"GPSDifferential"};EXIF.StringValues={ExposureProgram:{"0":"Not defined",1:"Manual",2:"Normal program",3:"Aperture priority",4:"Shutter priority",5:"Creative program",6:"Action program",7:"Portrait mode",8:"Landscape mode"},MeteringMode:{"0":"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{"0":"Unknown",
28
+ 1:"Daylight",2:"Fluorescent",3:"Tungsten (incandescent light)",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 - 5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{"0":"Flash did not fire",1:"Flash fired",5:"Strobe return light not detected",
29
+ 7:"Strobe return light detected",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",
30
+ 71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},
31
+ SensingMethod:{1:"Not defined",2:"One-chip color area sensor",3:"Two-chip color area sensor",4:"Three-chip color area sensor",5:"Color sequential area sensor",7:"Trilinear sensor",8:"Color sequential linear sensor"},SceneCaptureType:{"0":"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},SceneType:{1:"Directly photographed"},CustomRendered:{"0":"Normal process",1:"Custom process"},WhiteBalance:{"0":"Auto white balance",1:"Manual white balance"},GainControl:{"0":"None",1:"Low gain up",2:"High gain up",
32
+ 3:"Low gain down",4:"High gain down"},Contrast:{"0":"Normal",1:"Soft",2:"Hard"},Saturation:{"0":"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{"0":"Normal",1:"Soft",2:"Hard"},SubjectDistanceRange:{"0":"Unknown",1:"Macro",2:"Close view",3:"Distant view"},FileSource:{3:"DSC"},Components:{"0":"",1:"Y",2:"Cb",3:"Cr",4:"R",5:"G",6:"B"}};EXIF.getData=function(b,a){if(!b.complete)return!1;b.exifdata?a&&a():BinaryAjax(b.src,function(d){d=j(d.binaryResponse);b.exifdata=d||{};a&&a()});return!0};
33
+ EXIF.getTag=function(b,a){if(b.exifdata)return b.exifdata[a]};EXIF.getAllTags=function(b){if(!b.exifdata)return{};var b=b.exifdata,a={},d;for(d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);return a};EXIF.pretty=function(b){if(!b.exifdata)return"";var b=b.exifdata,a="",d;for(d in b)b.hasOwnProperty(d)&&(a="object"==typeof b[d]?a+(d+" : ["+b[d].length+" values]\r\n"):a+(d+" : "+b[d]+"\r\n"));return a};EXIF.readFromBinaryFile=function(b){return j(b)}})();
34
+
35
+
36
+ FileAPI.support.exif = true;
37
+
38
+
39
+ FileAPI.addInfoReader(/^image/, function (file/**File*/, callback/**Function*/){
40
+ if( !file.__exif ){
41
+ var defer = file.__exif = FileAPI.defer();
42
+
43
+ FileAPI.readAsBinaryString(file, function (evt){
44
+ if( evt.type == 'load' ){
45
+ var binaryString = evt.result;
46
+ var oFile = new BinaryFile(binaryString, 0, file.size);
47
+ var exif = EXIF.readFromBinaryFile(oFile);
48
+
49
+ defer.resolve(false, { 'exif': exif || {} });
50
+ }
51
+ else if( evt.type == 'error' ){
52
+ defer.resolve('read_as_binary_string_exif');
53
+ }
54
+ });
55
+ }
56
+
57
+ file.__exif.then(callback);
58
+ });
59
+ })();
@@ -0,0 +1,3 @@
1
+ /*! fileapi 2.0.0 - BSD | git://github.com/mailru/FileAPI.git */
2
+ (function(e,t){"use strict";function n(e,t,n,a,i){var r={type:n.type||n,target:e,result:a};q(r,i),t(r)}function a(e){return b&&!!b.prototype["readAs"+e]}function i(e,i,r,o){if(J.isFile(e)&&a(r)){var s=new b;X(s,S,function l(t){var a=t.type;"progress"==a?n(e,i,t,t.target.result,{loaded:t.loaded,total:t.total}):"loadend"==a?(W(s,S,l),s=null):n(e,i,t,t.target.result)});try{o?s["readAs"+r](e,o):s["readAs"+r](e)}catch(u){n(e,i,"error",t,{error:""+u})}}else n(e,i,"error",t,{error:"filreader_not_support_"+r})}function r(e,t){if(!e.type&&0===e.size%4096&&102400>=e.size)if(b)try{var n=new b;G(n,S,function(e){var a="error"!=e.type;t(a),a&&n.abort()}),n.readAsDataURL(e)}catch(a){t(!1)}else t(null);else t(!0)}function o(e){var t;return e.getAsEntry?t=e.getAsEntry():e.webkitGetAsEntry&&(t=e.webkitGetAsEntry()),t}function s(e,t){if(e)if(e.isFile)e.file(function(n){n.fullPath=e.fullPath,t(!1,[n])},function(e){t("FileError.code: "+e.code)});else if(e.isDirectory){var n=e.createReader(),a=[];n.readEntries(function(e){J.afor(e,function(e,n){s(n,function(n,i){n?J.log(n):a=a.concat(i),e?e():t(!1,a)})})},function(e){t("directory_reader: "+e)})}else s(o(e),t);else t("invalid entry")}function l(e){var t={};return N(e,function(e,n){e&&"object"==typeof e&&void 0===e.nodeType&&(e=q({},e)),t[n]=e}),t}function u(e){return U.test(e&&e.tagName)}function c(e){return(e.originalEvent||e||"").dataTransfer||{}}function f(e){var t;for(t in e)if(e.hasOwnProperty(t)&&!(e[t]instanceof Object||"overlay"===t))return!0;return!1}var d=1,p=function(){},h=e.document,m=h.doctype||{},g=e.navigator.userAgent,v=e.createObjectURL&&e||e.URL&&URL.revokeObjectURL&&URL||e.webkitURL&&webkitURL,y=e.Blob,w=e.File,b=e.FileReader,x=e.FormData,A=e.XMLHttpRequest,I=e.jQuery,F=!(!(w&&b&&(e.Uint8Array||x||A.prototype.sendAsBinary))||/safari\//i.test(g)&&!/chrome\//i.test(g)&&/windows/i.test(g)),R=F&&"withCredentials"in new A,T=F&&!!y&&!!(y.prototype.webkitSlice||y.prototype.mozSlice||y.prototype.slice),_=e.dataURLtoBlob,E=/img/i,C=/canvas/i,D=/img|canvas/i,U=/input/i,L=/^data:[^,]+,/,k=e.Math,B=function(t){return t=new e.Number(k.pow(1024,t)),t.from=function(e){return k.round(e*this)},t},P={},j=[],S="abort progress error load loadend",H="status statusText readyState response responseXML responseText responseBody".split(" "),M="currentTarget",z="preventDefault",O=function(e){return e&&"length"in e},N=function(e,t,n){if(e)if(O(e))for(var a=0,i=e.length;i>a;a++)a in e&&t.call(n,e[a],a,e);else for(var r in e)e.hasOwnProperty(r)&&t.call(n,e[r],r,e)},q=function(e){for(var t=arguments,n=1,a=function(t,n){e[n]=t};t.length>n;n++)N(t[n],a);return e},X=function(e,t,n){if(e){var a=J.uid(e);P[a]||(P[a]={}),N(t.split(/\s+/),function(t){I?I.event.add(e,t,n):(P[a][t]||(P[a][t]=[]),P[a][t].push(n),e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):e["on"+t]=n)})}},W=function(e,t,n){if(e){var a=J.uid(e),i=P[a]||{};N(t.split(/\s+/),function(t){if(I)I.event.remove(e,t,n);else{for(var a=i[t]||[],r=a.length;r--;)if(a[r]===n){a.splice(r,1);break}e.addEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent("on"+t,n):e["on"+t]=null}})}},G=function(e,t,n){X(e,t,function a(i){W(e,t,a),n(i)})},K=function(t){return t.target||(t.target=e.event&&e.event.srcElement||h),3===t.target.nodeType&&(t.target=t.target.parentNode),t},Q=function(e){var t=h.createElement("input");return t.setAttribute("type","file"),e in t},J={version:"2.0.0",cors:!1,html5:!0,media:!1,debug:!1,pingUrl:!1,multiFlash:!1,flashAbortTimeout:0,withCredentials:!0,staticPath:"./dist/",flashUrl:0,flashImageUrl:0,postNameConcat:function(e,t){return e+(null!=t?"["+t+"]":"")},ext2mime:{jpg:"image/jpeg",tif:"image/tiff",txt:"text/plain"},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:B(1),MB:B(2),GB:B(3),TB:B(4),expando:"fileapi"+(new Date).getTime(),uid:function(e){return e?e[J.expando]=e[J.expando]||J.uid():(++d,J.expando+d)},log:function(){J.debug&&e.console&&console.log&&(console.log.apply?console.log.apply(console,arguments):console.log([].join.call(arguments," ")))},newImage:function(e,t){var n=h.createElement("img");return t&&J.event.one(n,"error load",function(e){t("error"==e.type,n),n=null}),n.src=e,n},getXHR:function(){var t;if(A)t=new A;else if(e.ActiveXObject)try{t=new ActiveXObject("MSXML2.XMLHttp.3.0")}catch(n){t=new ActiveXObject("Microsoft.XMLHTTP")}return t},isArray:O,support:{dnd:R&&"ondrop"in h.createElement("div"),cors:R,html5:F,chunked:T,dataURI:!0,accept:Q("accept"),multiple:Q("multiple")},event:{on:X,off:W,one:G,fix:K},throttle:function(t,n){var a,i;return function(){i=arguments,a||(t.apply(e,i),a=setTimeout(function(){a=0,t.apply(e,i)},n))}},F:function(){},parseJSON:function(t){var n;return n=e.JSON&&JSON.parse?JSON.parse(t):Function("return ("+t.replace(/([\r\n])/g,"\\$1")+");")()},trim:function(e){return e+="",e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},defer:function(){var e,n,a=[],i={resolve:function(t,r){for(i.resolve=p,n=t||!1,e=r;r=a.shift();)r(n,e)},then:function(i){n!==t?i(n,e):a.push(i)}};return i},queue:function(e){var t=0,n=0,a=!1,i=!1,r={inc:function(){n++},next:function(){t++,setTimeout(r.check,0)},check:function(){t>=n&&!a&&r.end()},isFail:function(){return a},fail:function(){!a&&e(a=!0)},end:function(){i||(i=!0,e())}};return r},each:N,afor:function(e,t){var n=0,a=e.length;O(e)&&a--?function i(){t(a!=n&&i,e[n],n++)}():t(!1)},extend:q,isFile:function(e){return F&&e&&e instanceof w},isCanvas:function(e){return e&&C.test(e.nodeName)},getFilesFilter:function(e){return e="string"==typeof e?e:e.getAttribute&&e.getAttribute("accept")||"",e?RegExp("("+e.replace(/\./g,"\\.").replace(/,/g,"|")+")$","i"):/./},readAsDataURL:function(e,t){J.isCanvas(e)?n(e,t,"load",J.toDataURL(e)):i(e,t,"DataURL")},readAsBinaryString:function(e,t){a("BinaryString")?i(e,t,"BinaryString"):i(e,function(e){if("load"==e.type)try{e.result=J.toBinaryString(e.result)}catch(n){e.type="error",e.message=""+n}t(e)},"DataURL")},readAsArrayBuffer:function(e,t){i(e,t,"ArrayBuffer")},readAsText:function(e,t,n){n||(n=t,t="utf-8"),i(e,n,"Text",t)},toDataURL:function(e,t){return"string"==typeof e?e:e.toDataURL?e.toDataURL(t||"image/png"):void 0},toBinaryString:function(t){return e.atob(J.toDataURL(t).replace(L,""))},readAsImage:function(e,a,i){if(J.isFile(e))if(v){var r=v.createObjectURL(e);r===t?n(e,a,"error"):J.readAsImage(r,a,i)}else J.readAsDataURL(e,function(t){"load"==t.type?J.readAsImage(t.result,a,i):(i||"error"==t.type)&&n(e,a,t,null,{loaded:t.loaded,total:t.total})});else if(J.isCanvas(e))n(e,a,"load",e);else if(E.test(e.nodeName))if(e.complete)n(e,a,"load",e);else{var o="error abort load";G(e,o,function s(t){"load"==t.type&&v&&v.revokeObjectURL(e.src),W(e,o,s),n(e,a,t,e)})}else if(e.iframe)n(e,a,{type:"error"});else{var l=J.newImage(e.dataURL||e);J.readAsImage(l,a,i)}},checkFileObj:function(e){var t={},n=J.accept;return"object"==typeof e?t=e:t.name=(e+"").split(/\\|\//g).pop(),null==t.type&&(t.type=t.name.split(".").pop()),N(n,function(e,n){e=RegExp(e.replace(/\s/g,"|"),"i"),(e.test(t.type)||J.ext2mime[t.type])&&(t.type=J.ext2mime[t.type]||n.split("/")[0]+"/"+t.type)}),t},getDropFiles:function(e,t){var n=[],a=c(e),i=O(a.items)&&a.items[0]&&o(a.items[0]),l=J.queue(function(){t(n)});N((i?a.items:a.files)||[],function(e){l.inc();try{i?s(e,function(e,t){e?J.log("[err] getDropFiles:",e):n.push.apply(n,t),l.next()}):r(e,function(t){t&&n.push(e),l.next()})}catch(t){l.next(),J.log("[err] getDropFiles: ",t)}}),l.check()},getFiles:function(e,t,n){var a=[];return n?(J.filterFiles(J.getFiles(e),t,n),null):(e.jquery&&(e.each(function(){a=a.concat(J.getFiles(this))}),e=a,a=[]),"string"==typeof t&&(t=J.getFilesFilter(t)),e.originalEvent?e=K(e.originalEvent):e.srcElement&&(e=K(e)),e.dataTransfer?e=e.dataTransfer:e.target&&(e=e.target),e.files?(a=e.files,F||(a[0].blob=e,a[0].iframe=!0)):!F&&u(e)?J.trim(e.value)&&(a=[J.checkFileObj(e.value)],a[0].blob=e,a[0].iframe=!0):O(e)&&(a=e),J.filter(a,function(e){return!t||t.test(e.name)}))},getTotalSize:function(e){for(var t=0,n=e&&e.length;n--;)t+=e[n].size;return t},getInfo:function(e,t){var n={},a=j.concat();J.isFile(e)?function i(){var r=a.shift();r?r.test(e.type)?r(e,function(e,a){e?t(e):(q(n,a),i())}):i():t(!1,n)}():t("not_support_info",n)},addInfoReader:function(e,t){t.test=function(t){return e.test(t)},j.push(t)},filter:function(e,t){for(var n,a=[],i=0,r=e.length;r>i;i++)i in e&&(n=e[i],t.call(n,n,i,e)&&a.push(n));return a},filterFiles:function(e,t,n){if(e.length){var a,i=e.concat(),r=[],o=[];(function s(){i.length?(a=i.shift(),J.getInfo(a,function(e,n){(t(a,e?!1:n)?r:o).push(a),s()})):n(r,o)})()}else n([],e)},upload:function(e){e=q({prepare:J.F,beforeupload:J.F,upload:J.F,fileupload:J.F,fileprogress:J.F,filecomplete:J.F,progress:J.F,complete:J.F,pause:J.F,imageOriginal:!0,chunkSize:J.chunkSize,chunkUpoloadRetry:J.chunkUploadRetry},e),e.imageAutoOrientation&&!e.imageTransform&&(e.imageTransform={rotate:"auto"});var t,n=new J.XHR(e),a=this._getFilesDataArray(e.files),i=this,r=0,o=0,s=!1;return N(a,function(e){r+=e.size}),n.files=[],N(a,function(e){n.files.push(e.file)}),n.total=r,n.loaded=0,n.filesLeft=a.length,e.beforeupload(n,e),t=function(){var u=a.shift(),c=u&&u.file,f=!1,d=l(e);n.filesLeft=a.length,c&&c.name===J.expando&&(c=null,J.log("[warn] FileAPI.upload() — called without files")),("abort"!=n.statusText||n.current)&&u?(s=!1,n.currentFile=c,c&&e.prepare(c,d),i._getFormData(d,u,function(s){o||e.upload(n,e);var l=new J.XHR(q({},d,{upload:c?function(){e.fileupload(c,l,d)}:p,progress:c?function(t){f||(e.fileprogress({type:"progress",total:u.total=t.total,loaded:u.loaded=t.loaded},c,l,d),e.progress({type:"progress",total:r,loaded:n.loaded=0|o+u.size*(t.loaded/t.total)},c,l,d))}:p,complete:function(a){f=!0,N(H,function(e){n[e]=l[e]}),c&&(u.loaded=u.total,this.progress(u),o+=u.size,n.loaded=o,e.filecomplete(a,l,c,d)),t.call(i)}}));n.abort=function(e){e||(a.length=0),this.current=e,l.abort()},l.send(s)})):(e.complete(200==n.status||201==n.status?!1:n.statusText||"error",n,e),s=!0)},setTimeout(t,0),n.append=function(e,o){e=J._getFilesDataArray([].concat(e)),N(e,function(e){r+=e.size,n.files.push(e.file),o?a.unshift(e):a.push(e)}),n.statusText="",s&&t.call(i)},n.remove=function(e){for(var t,n=a.length;n--;)a[n].file==e&&(t=a.splice(n,1),r-=t.size);return t},n},_getFilesDataArray:function(e){var t=[],n={};if(u(e)){var a=J.getFiles(e);n[e.name||"file"]=null!==e.getAttribute("multiple")?a:a[0]}else O(e)&&u(e[0])?N(e,function(e){n[e.name||"file"]=J.getFiles(e)}):n=e;return N(n,function i(e,n){O(e)?N(e,function(e){i(e,n)}):e&&(e.name||e.image)&&t.push({name:n,file:e,size:e.size,total:e.size,loaded:0})}),t.length||t.push({file:{name:J.expando}}),t},_getFormData:function(e,t,n){var a=t.file,i=t.name,r=a.name,o=a.type,s=J.support.transform&&e.imageTransform,l=new J.Form,u=J.queue(function(){n(l)}),c=s&&f(s),d=J.postNameConcat;(function p(t){t.image?(u.inc(),t.toData(function(e,t){r=r||(new Date).getTime()+".png",p(t),u.next()})):J.Image&&s&&(/^image/.test(t.type)||D.test(t.nodeName))?(u.inc(),c&&(s=[s]),J.Image.transform(t,s,e.imageAutoOrientation,function(n,a){if(c&&!n)_||J.flashEngine||(l.multipart=!0),l.append(i,a[0],r,s[0].type||o);else{var f=0;n||N(a,function(e,t){_||J.flashEngine||(l.multipart=!0),s[t].postName||(f=1),l.append(s[t].postName||d(i,t),e,r,s[t].type||o)}),(n||e.imageOriginal)&&l.append(d(i,f?"original":null),t,r,o)}u.next()})):r!==J.expando&&l.append(i,t,r)})(a),N(e.data,function h(e,t){"object"==typeof e?N(e,function(e,n){h(e,d(t,n))}):l.append(t,e)}),u.check()},reset:function(e,t){var n,a;return I?(a=I(e).clone(!0).insertBefore(e).val("")[0],t||I(e).remove()):(n=e.parentNode,a=n.insertBefore(e.cloneNode(!0),e),a.value="",t||n.removeChild(e),N(P[J.uid(e)],function(t,n){N(t,function(t){W(e,n,t),X(a,n,t)})})),a},load:function(e,t){var n=J.getXHR();return n?(n.open("GET",e,!0),n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),X(n,"progress",function(e){e.lengthComputable&&t({type:e.type,loaded:e.loaded,total:e.total},n)}),n.onreadystatechange=function(){if(4==n.readyState)if(n.onreadystatechange=null,200==n.status){e=e.split("/");var a={name:e[e.length-1],size:n.getResponseHeader("Content-Length"),type:n.getResponseHeader("Content-Type")};a.dataURL="data:"+a.type+";base64,"+J.encode64(n.responseBody||n.responseText),t({type:"load",result:a},n)}else t({type:"error"},n)},n.send(null)):t({type:"error"}),n},encode64:function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n="",a=0;for("string"!=typeof e&&(e+="");e.length>a;){var i,r,o=255&e.charCodeAt(a++),s=255&e.charCodeAt(a++),l=255&e.charCodeAt(a++),u=o>>2,c=(3&o)<<4|s>>4;isNaN(s)?i=r=64:(i=(15&s)<<2|l>>6,r=isNaN(l)?64:63&l),n+=t.charAt(u)+t.charAt(c)+t.charAt(i)+t.charAt(r)}return n}};J.addInfoReader(/^image/,function(e,t){if(!e.__dimensions){var n=e.__dimensions=J.defer();J.readAsImage(e,function(e){var t=e.target;n.resolve("load"==e.type?!1:"error",{width:t.width,height:t.height}),t=null})}e.__dimensions.then(t)}),J.event.dnd=function(e,t,n){var a,i;n||(n=t,t=J.F),b?(X(e,"dragenter dragleave dragover",function(e){for(var n=c(e).types,r=n&&n.length,o=!1;r--;)if(~n[r].indexOf("File")){e[z](),i!==e.type&&(i=e.type,"dragleave"!=i&&t.call(e[M],!0,e),o=!0);break}o&&(clearTimeout(a),a=setTimeout(function(){t.call(e[M],"dragleave"!=i,e)},50))}),X(e,"drop",function(e){e[z](),i=0,t.call(e[M],!1,e),J.getDropFiles(e,function(t){n.call(e[M],t,e)})})):J.log("Drag'n'Drop -- not supported")},J.event.dnd.off=function(e,t,n){W(e,"dragenter dragleave dragover",t),W(e,"drop",n)},I&&!I.fn.dnd&&(I.fn.dnd=function(e,t){return this.each(function(){J.event.dnd(this,e,t)})},I.fn.offdnd=function(e,t){return this.each(function(){J.event.dnd.off(this,e,t)})}),e.FileAPI=q(J,e.FileAPI),J.log("FileAPI: "+J.version),J.log("protocol: "+e.location.protocol),J.log("doctype: ["+m.name+"] "+m.publicId+" "+m.systemId),N(h.getElementsByTagName("meta"),function(e){/x-ua-compatible/i.test(e.getAttribute("http-equiv"))&&J.log("meta.http-equiv: "+e.getAttribute("content"))}),J.flashUrl||(J.flashUrl=J.staticPath+"FileAPI.flash.swf"),J.flashImageUrl||(J.flashImageUrl=J.staticPath+"FileAPI.flash.image.swf")})(window,void 0),function(e,t,n){"use strict";function a(t){if(t instanceof a){var n=new a(t.file);return e.extend(n.matrix,t.matrix),n}return this instanceof a?(this.file=t,this.matrix={sx:0,sy:0,sw:0,sh:0,dx:0,dy:0,dw:0,dh:0,resize:0,deg:0,quality:1,filter:0},void 0):new a(t)}var i=Math.min,r=Math.round,o=function(){return t.createElement("canvas")},s=!1,l={8:270,3:180,6:90};try{s=o().toDataURL("image/png").indexOf("data:image/png")>-1}catch(u){}a.prototype={image:!0,constructor:a,set:function(t){return e.extend(this.matrix,t),this},crop:function(e,t,a,i){return a===n&&(a=e,i=t,e=t=0),this.set({sx:e,sy:t,sw:a,sh:i||a})},resize:function(e,t,n){return"string"==typeof t&&(n=t,t=e),this.set({dw:e,dh:t,resize:n})},preview:function(e,t){return this.resize(e,t||e,"preview")},rotate:function(e){return this.set({deg:e})},filter:function(e){return this.set({filter:e})},overlay:function(e){return this.set({overlay:e})},clone:function(){return new a(this)},_load:function(t,n){var a=this;/img|video/i.test(t.nodeName)?n.call(a,null,t):e.readAsImage(t,function(e){n.call(a,"load"!=e.type,e.result)})},_apply:function(t,n){var r,s=o(),l=this.getMatrix(t),u=s.getContext("2d"),c=t.videoWidth||t.width,f=t.videoHeight||t.height,d=l.deg,p=l.dw,h=l.dh,m=c,g=f,v=l.filter,y=t,w=l.overlay,b=e.queue(function(){n(!1,s)}),x=e.renderImageToCanvas;for(t._type=this.file.type;i(m/p,g/h)>2;)m=0|m/2+.5,g=0|g/2+.5,r=o(),r.width=m,r.height=g,y!==t?(x(r,y,0,0,y.width,y.height,0,0,m,g),y=r):(y=r,x(y,t,l.sx,l.sy,l.sw,l.sh,0,0,m,g),l.sx=l.sy=l.sw=l.sh=0);s.width=d%180?h:p,s.height=d%180?p:h,s.type=l.type,s.quality=l.quality,u.rotate(d*Math.PI/180),x(s,y,l.sx,l.sy,l.sw||y.width,l.sh||y.height,180==d||270==d?-p:0,90==d||180==d?-h:0,p,h),p=s.width,h=s.height,w&&e.each([].concat(w),function(t){b.inc();var n=new window.Image,a=function(){var i=0|t.x,r=0|t.y,o=t.w||n.width,s=t.h||n.height,l=t.rel;i=1==l||4==l||7==l?(p-o+i)/2:2==l||5==l||8==l?p-(o+i):i,r=3==l||4==l||5==l?(h-s+r)/2:l>=6?h-(s+r):r,e.event.off(n,"error load abort",a);try{u.globalAlpha=t.opacity||1,u.drawImage(n,i,r,o,s)}catch(c){}b.next()};e.event.on(n,"error load abort",a),n.src=t.src,n.complete&&a()}),v&&(b.inc(),a.applyFilter(s,v,b.next)),b.check()},getMatrix:function(t){var n=e.extend({},this.matrix),a=n.sw=n.sw||t.videoWidth||t.naturalWidth||t.width,o=n.sh=n.sh||t.videoHeight||t.naturalHeight||t.height,s=n.dw=n.dw||a,l=n.dh=n.dh||o,u=a/o,c=s/l,f=n.resize;if("preview"==f){if(s!=a||l!=o){var d,p;c>=u?(d=a,p=d/c):(p=o,d=p*c),(d!=a||p!=o)&&(n.sx=~~((a-d)/2),n.sy=~~((o-p)/2),a=d,o=p)}}else f&&(a>s||o>l?"min"==f?(s=r(c>u?i(a,s):l*u),l=r(c>u?s/u:i(o,l))):(s=r(u>=c?i(a,s):l*u),l=r(u>=c?s/u:i(o,l))):(s=a,l=o));return n.sw=a,n.sh=o,n.dw=s,n.dh=l,n},_trans:function(e){this._load(this.file,function(t,n){t?e(t):this._apply(n,e)})},get:function(t){if(e.support.transform){var n=this,a=n.matrix;"auto"==a.deg?e.getInfo(n.file,function(e,i){a.deg=l[i&&i.exif&&i.exif.Orientation]||0,n._trans(t)}):n._trans(t)}else t("not_support_transform")},toData:function(e){this.get(e)}},a.exifOrientation=l,a.transform=function(t,i,r,o){function s(s,l){var u={},c=e.queue(function(e){o(e,u)});s?c.fail():e.each(i,function(e,i){if(!c.isFail()){var o=new a(l.nodeType?l:t);if("function"==typeof e?e(l,o):e.width?o[e.preview?"preview":"resize"](e.width,e.height,e.type):e.maxWidth&&(l.width>e.maxWidth||l.height>e.maxHeight)&&o.resize(e.maxWidth,e.maxHeight,"max"),e.crop){var s=e.crop;o.crop(0|s.x,0|s.y,s.w||s.width,s.h||s.height)}e.rotate===n&&r&&(e.rotate="auto"),o.set({deg:e.rotate,type:e.type||t.type||"image/png",quality:e.quality||1,overlay:e.overlay}),c.inc(),o.toData(function(e,t){e?c.fail():(u[i]=t,c.next())})}})}t.width?s(!1,t):e.getInfo(t,s)},e.each(["TOP","CENTER","BOTTOM"],function(t,n){e.each(["LEFT","CENTER","RIGHT"],function(e,i){a[t+"_"+e]=3*n+i,a[e+"_"+t]=3*n+i})}),a.toCanvas=function(e){var n=t.createElement("canvas");return n.width=e.videoWidth||e.width,n.height=e.videoHeight||e.height,n.getContext("2d").drawImage(e,0,0),n},a.fromDataURL=function(t,n,a){var i=e.newImage(t);e.extend(i,n),a(i)},a.applyFilter=function(t,n,i){"function"==typeof n?n(t,i):window.Caman&&window.Caman("IMG"==t.tagName?a.toCanvas(t):t,function(){"string"==typeof n?this[n]():e.each(n,function(e,t){this[t](e)},this),this.render(i)})},e.renderImageToCanvas=function(e,t,n,a,i,r,o,s,l,u){return e.getContext("2d").drawImage(t,n,a,i,r,o,s,l,u),e},e.support.canvas=e.support.transform=s,e.Image=a}(FileAPI,document),function(e,t){"use strict";function n(t,n,a){var i=t.blob,r=t.file;if(r){if(!i.toDataURL)return e.readAsBinaryString(i,function(e){"load"==e.type&&n(t,e.result)}),void 0;var o={"image/jpeg":".jpe?g","image/png":".png"},s=o[t.type]?t.type:"image/png",l=o[s]||".png",u=i.quality||1;r.match(RegExp(l+"$","i"))||(r+=l.replace("?","")),t.file=r,t.type=s,!a&&i.toBlob?i.toBlob(function(e){n(t,e)},s,u):n(t,e.toBinaryString(i.toDataURL(s,u)))}else n(t,i)}var a=t.document,i=t.FormData,r=function(){this.items=[]},o=t.encodeURIComponent,s=/phantomjs/i.test(navigator.userAgent);r.prototype={append:function(e,t,n,a){this.items.push({name:e,blob:t&&t.blob||(void 0==t?"":t),file:t&&(n||t.name),type:t&&(a||t.type)})},each:function(e){for(var t=0,n=this.items.length;n>t;t++)e.call(this,this.items[t])},toData:function(t,n){n._chunked=e.support.chunked&&n.chunkSize>0&&1==e.filter(this.items,function(e){return e.file}).length,e.support.html5?s||this.multipart||!i?(e.log("FileAPI.Form.toMultipartData"),this.toMultipartData(t)):n._chunked?(e.log("FileAPI.Form.toPlainData"),this.toPlainData(t)):(e.log("FileAPI.Form.toFormData"),this.toFormData(t)):(e.log("FileAPI.Form.toHtmlData"),this.toHtmlData(t))},_to:function(t,n,a,i){var r=e.queue(function(){n(t)});this.each(function(e){a(e,t,r,i)}),r.check()},toHtmlData:function(t){this._to(a.createDocumentFragment(),t,function(t,n){var i,r=t.blob;t.file?(e.reset(r,!0),r.name=t.name,n.appendChild(r)):(i=a.createElement("input"),i.name=t.name,i.type="hidden",i.value=r,n.appendChild(i))})},toPlainData:function(e){this._to({},e,function(e,t,a){e.file&&(t.type=e.file),e.blob.toBlob?(a.inc(),n(e,function(e,n){t.name=e.name,t.file=n,t.size=n.length,t.type=e.type,a.next()})):e.file?(t.name=e.blob.name,t.file=e.blob,t.size=e.blob.size,t.type=e.type):(t.params||(t.params=[]),t.params.push(o(e.name)+"="+o(e.blob))),t.start=-1,t.end=t.file&&t.file.FileAPIReadPosition||-1,t.retry=0})},toFormData:function(e){this._to(new i,e,function(e,t,a){e.blob&&e.blob.toBlob?(a.inc(),n(e,function(e,n){t.append(e.name,n,e.file),a.next()})):e.file?t.append(e.name,e.blob,e.file):t.append(e.name,e.blob),e.file&&t.append("_"+e.name,e.file)})},toMultipartData:function(t){this._to([],t,function(e,t,a,i){a.inc(),n(e,function(e,n){t.push("--_"+i+('\r\nContent-Disposition: form-data; name="'+e.name+'"'+(e.file?'; filename="'+o(e.file)+'"':"")+(e.file?"\r\nContent-Type: "+(e.type||"application/octet-stream"):"")+"\r\n"+"\r\n"+(e.file?n:o(n))+"\r\n")),a.next()},!0)},e.expando)}},e.Form=r}(FileAPI,window),function(e,t){"use strict";var n=function(){},a=e.document,i=function(e){this.uid=t.uid(),this.xhr={abort:n,getResponseHeader:n,getAllResponseHeaders:n},this.options=e},r={"":1,XML:1,Text:1,Body:1};i.prototype={status:0,statusText:"",constructor:i,getResponseHeader:function(e){return this.xhr.getResponseHeader(e)},getAllResponseHeaders:function(){return this.xhr.getAllResponseHeaders()||{}},end:function(a,i){var r=this,o=r.options;r.end=r.abort=n,r.status=a,i&&(r.statusText=i),t.log("xhr.end:",a,i),o.complete(200==a||201==a?!1:r.statusText||"unknown",r),r.xhr&&r.xhr.node&&setTimeout(function(){var t=r.xhr.node;try{t.parentNode.removeChild(t)}catch(n){}try{delete e[r.uid]}catch(n){}e[r.uid]=r.xhr.node=null},9)},abort:function(){this.end(0,"abort"),this.xhr&&(this.xhr.aborted=!0,this.xhr.abort())},send:function(e){var t=this,n=this.options;e.toData(function(e){n.upload(n,t),t._send.call(t,n,e)},n)},_send:function(n,i){var o,s=this,l=s.uid,u=n.url;if(t.log("XHR._send:",i),n.cache||(u+=(~u.indexOf("?")?"&":"?")+t.uid()),i.nodeName){n.upload(n,s),o=a.createElement("div"),o.innerHTML='<form target="'+l+'" action="'+u+'" method="POST" enctype="multipart/form-data" style="position: absolute; top: -1000px; overflow: hidden; width: 1px; height: 1px;">'+'<iframe name="'+l+'" src="javascript:false;"></iframe>'+'<input value="'+l+'" name="callback" type="hidden"/>'+"</form>",s.xhr.abort=function(){var e=o.getElementsByTagName("iframe")[0];if(e)try{e.stop?e.stop():e.contentWindow.stop?e.contentWindow.stop():e.contentWindow.document.execCommand("Stop")}catch(t){}o=null};var c=o.getElementsByTagName("form")[0];c.appendChild(i),t.log(c.parentNode.innerHTML),a.body.appendChild(o),s.xhr.node=o,e[l]=function(e,t,n){s.readyState=4,s.responseText=n,s.end(e,t),o=null},s.readyState=2,c.submit(),c=null}else{if(this.xhr&&this.xhr.aborted)return t.log("Error: already aborted"),void 0;if(o=s.xhr=t.getXHR(),i.params&&(u+=(0>u.indexOf("?")?"?":"&")+i.params.join("&")),o.open("POST",u,!0),t.withCredentials&&(o.withCredentials="true"),n.headers&&n.headers["X-Requested-With"]||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),t.each(n.headers,function(e,t){o.setRequestHeader(t,e)}),n._chunked){o.upload&&o.upload.addEventListener("progress",function(e){i.retry||n.progress({type:e.type,total:i.size,loaded:i.start+e.loaded,totalSize:i.size},s,n)},!1),o.onreadystatechange=function(){var e=parseInt(o.getResponseHeader("X-Last-Known-Byte"),10);if(s.status=o.status,s.statusText=o.statusText,s.readyState=o.readyState,4==o.readyState){for(var a in r)s["response"+a]=o["response"+a];if(o.onreadystatechange=null,!o.status||o.status-201>0)if(t.log("Error: "+o.status),(!o.status&&!o.aborted||500==o.status||416==o.status)&&++i.retry<=n.chunkUploadRetry){var l=o.status?0:t.chunkNetworkDownRetryTimeout;n.pause(i.file,n),t.log("X-Last-Known-Byte: "+e),i.end=e?e:i.start-1,setTimeout(function(){s._send(n,i)},l)}else s.end(o.status);else i.retry=0,i.end==i.size-1?s.end(o.status):(t.log("X-Last-Known-Byte: "+e),e&&(i.end=e),i.file.FileAPIReadPosition=i.end,setTimeout(function(){s._send(n,i)},0));o=null}},i.start=i.end+1,i.end=Math.max(Math.min(i.start+n.chunkSize,i.size)-1,i.start);var f;(f="slice")in i.file||(f="mozSlice")in i.file||(f="webkitSlice")in i.file,o.setRequestHeader("Content-Range","bytes "+i.start+"-"+i.end+"/"+i.size),o.setRequestHeader("Content-Disposition","attachment; filename="+encodeURIComponent(i.name)),o.setRequestHeader("Content-Type",i.type||"application/octet-stream"),f=i.file[f](i.start,i.end+1),o.send(f),f=null}else if(o.upload&&o.upload.addEventListener("progress",t.throttle(function(e){n.progress(e,s,n)},100),!1),o.onreadystatechange=function(){if(s.status=o.status,s.statusText=o.statusText,s.readyState=o.readyState,4==o.readyState){for(var e in r)s["response"+e]=o["response"+e];o.onreadystatechange=null,s.end(o.status),o=null}},t.isArray(i))if(o.setRequestHeader("Content-Type","multipart/form-data; boundary=_"+t.expando),i=i.join("")+"--_"+t.expando+"--",o.sendAsBinary)o.sendAsBinary(i);else{var d=Array.prototype.map.call(i,function(e){return 255&e.charCodeAt(0)});o.send(new Uint8Array(d).buffer)}else o.send(i)}}},t.XHR=i}(window,FileAPI),function(e,t){"use strict";function n(e){return e>=0?e+"px":e}function a(e){var t,n=r.createElement("canvas"),a=!1;try{t=n.getContext("2d"),t.drawImage(e,0,0,1,1),a=255!=t.getImageData(0,0,1,1).data[4]}catch(i){}return a}var i=e.URL||e.webkitURL,r=e.document,o=e.navigator,s=o.getUserMedia||o.webkitGetUserMedia||o.mozGetUserMedia||o.msGetUserMedia,l=!!s;t.support.media=l;var u=function(e){this.video=e};u.prototype={isActive:function(){return!!this._active},start:function(e){var t,n,r=this,l=r.video,u=function(a){r._active=!a,clearTimeout(n),clearTimeout(t),e&&e(a,r)};s.call(o,{video:!0},function(e){r.stream=e,l.src=i.createObjectURL(e),t=setInterval(function(){a(l)&&u(null)},1e3),n=setTimeout(function(){u("timeout")},5e3),l.play()},u)},stop:function(){try{this._active=!1,this.video.pause(),this.stream.stop()}catch(e){}},shot:function(){return new c(this.video)}},u.get=function(e){return new u(e.firstChild)},u.publish=function(a,i,o){"function"==typeof i&&(o=i,i={}),i=t.extend({},{width:"100%",height:"100%",start:!0},i),a.jquery&&(a=a[0]);var s=function(e){if(e)o(e);else{var t=u.get(a);i.start?t.start(o):o(null,t)}};if(t.html5&&l){var c=r.createElement("video");c.style.width=n(i.width),c.style.height=n(i.height),e.jQuery?jQuery(a).empty():a.innerHTML="",a.appendChild(c),s()}else u.fallback(a,i,s)},u.fallback=function(e,t,n){n("not_support_camera")};var c=function(e){var n=e.nodeName?t.Image.toCanvas(e):e,a=t.Image(n);return a.type="image/png",a.width=n.width,a.height=n.height,a.size=4*n.width*n.height,a};u.Shot=c,t.Camera=u}(window,FileAPI),function(e,t,n){"use strict";var a=e.document,i=e.location,r=e.navigator;n.support.flash=function(){var t=r.mimeTypes,a=!1;if(r.plugins&&"object"==typeof r.plugins["Shockwave Flash"])a=r.plugins["Shockwave Flash"].description&&!(t&&t["application/x-shockwave-flash"]&&!t["application/x-shockwave-flash"].enabledPlugin);else try{a=!(!e.ActiveXObject||!new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))}catch(o){n.log("Flash -- does not supported.")}return a&&/^file:/i.test(i)&&n.log("[warn] Flash does not work on `file:` protocol."),a}(),n.support.flash&&(0||!n.html5||!n.support.html5||n.cors&&!n.support.cors||n.media&&!n.support.media)&&function(){function o(e){return('<object id="#id#" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+(e.width||"100%")+'" height="'+(e.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="'+(e.width||"100%")+'" height="'+(e.height||"100%")+'" menu="false" wmode="transparent" type="application/x-shockwave-flash"></embed>'+"</object>").replace(/#(\w+)#/gi,function(t,n){return e[n]})}function s(e,t){if(e&&e.style){var n,a;for(n in t){a=t[n],"number"==typeof a&&(a+="px");try{e.style[n]=a}catch(i){}}}}function l(e,t){n.each(t,function(t,n){var a=e[n];e[n]=function(){return this.parent=a,t.apply(this,arguments)}})}function u(e){return e&&!e.flashId}function c(e){var t=e.wid=n.uid();return b._fn[t]=e,"FileAPI.Flash._fn."+t}function f(e){try{b._fn[e.wid]=null,delete b._fn[e.wid]}catch(t){}}function d(e,t){if(!w.test(e)){if(/^\.\//.test(e)||"/"!=e.charAt(0)){var n=i.pathname;n=n.substr(0,n.lastIndexOf("/")),e=(n+"/"+e).replace("/./","/")}"//"!=e.substr(0,2)&&(e="//"+i.host+e),w.test(e)||(e=i.protocol+e)}return t&&(e+=(/\?/.test(e)?"&":"?")+t),e}function p(e,t,i){function r(){try{var e=b.get(u);e.setImage(t)}catch(a){n.log('[err] FlashAPI.Preview.setImage -- can not set "base64":',a)}}var l,u=n.uid(),p=a.createElement("div"),h=10;for(l in e)p.setAttribute(l,e[l]),p[l]=e[l];s(p,e),e.width="100%",e.height="100%",p.innerHTML=o(n.extend({id:u,src:d(n.flashImageUrl,"r="+n.uid()),wmode:"opaque",flashvars:"scale="+e.scale+"&callback="+c(function m(){return f(m),--h>0&&r(),!0})},e)),i(!1,p),p=null}function h(e){return{id:e.id,name:e.name,matrix:e.matrix,flashId:e.flashId}}function m(t){var n=t.getBoundingClientRect(),i=a.body,r=(t&&t.ownerDocument).documentElement;return{top:n.top+(e.pageYOffset||r.scrollTop)-(r.clientTop||i.clientTop||0),left:n.left+(e.pageXOffset||r.scrollLeft)-(r.clientLeft||i.clientLeft||0),width:n.right-n.left,height:n.bottom-n.top}}var g=n.uid(),v=0,y={},w=/^https?:/i,b={_fn:{},init:function(){var e=a.body&&a.body.firstChild;if(e)do if(1==e.nodeType){n.log("FlashAPI.state: awaiting");var t=a.createElement("div");return t.id="_"+g,s(t,{top:1,right:1,width:5,height:5,position:"absolute",zIndex:1e6+""}),e.parentNode.insertBefore(t,e),b.publish(t,g),void 0}while(e=e.nextSibling);10>v&&setTimeout(b.init,50*++v)},publish:function(e,t,a){a=a||{},e.innerHTML=o({id:t,src:d(n.flashUrl,"r="+n.version),wmode:a.camera?"":"transparent",flashvars:"callback="+(a.onEvent||"FileAPI.Flash.onEvent")+"&flashId="+t+"&storeKey="+r.userAgent.match(/\d/gi).join("")+"_"+n.version+(b.isReady||(n.pingUrl?"&ping="+n.pingUrl:""))+"&timeout="+n.flashAbortTimeout+(a.camera?"&useCamera=1":"")},a)},ready:function(){n.log("FlashAPI.state: ready"),b.ready=n.F,b.isReady=!0,b.patch(),n.event.on(a,"mouseover",b.mouseover),n.event.on(a,"click",function(e){b.mouseover(e)&&(e.preventDefault?e.preventDefault():e.returnValue=!0)})},getEl:function(){return a.getElementById("_"+g)},getWrapper:function(e){do if(/js-fileapi-wrapper/.test(e.className))return e;while((e=e.parentNode)&&e!==a.body)},mouseover:function(e){var t=n.event.fix(e).target;if(/input/i.test(t.nodeName)&&"file"==t.type){var i=t.getAttribute(g),r=b.getWrapper(t);if(n.multiFlash){if("i"==i||"r"==i)return!1;if("p"!=i){t.setAttribute(g,"i");var o=a.createElement("div");if(!r)return n.log("[err] FlashAPI.mouseover: js-fileapi-wrapper not found"),void 0;s(o,{top:0,left:0,width:t.offsetWidth+100,height:t.offsetHeight+100,zIndex:1e6+"",position:"absolute"}),r.appendChild(o),b.publish(o,n.uid()),t.setAttribute(g,"p")
3
+ }return!0}if(r){var l=m(r);s(b.getEl(),l),b.curInp=t}}else/object|embed/i.test(t.nodeName)||s(b.getEl(),{top:1,left:1,width:5,height:5})},onEvent:function(e){var t=e.type;if("ready"==t){try{b.getInput(e.flashId).setAttribute(g,"r")}catch(a){}return b.ready(),setTimeout(function(){b.mouseenter(e)},50),!0}"ping"===t?n.log("(flash -> js).ping:",[e.status,e.savedStatus],e.error):"log"===t?n.log("(flash -> js).log:",e.target):t in b&&setTimeout(function(){n.log("FlashAPI.event."+e.type+":",e),b[t](e)},1)},mouseenter:function(e){var t=b.getInput(e.flashId);if(t){b.cmd(e,"multiple",null!=t.getAttribute("multiple"));var a=[],i={};n.each((t.getAttribute("accept")||"").split(/,\s*/),function(e){n.accept[e]&&n.each(n.accept[e].split(" "),function(e){i[e]=1})}),n.each(i,function(e,t){a.push(t)}),b.cmd(e,"accept",a.length?a.join(",")+","+a.join(",").toUpperCase():"*")}},get:function(t){return a[t]||e[t]||a.embeds[t]},getInput:function(e){if(!n.multiFlash)return b.curInp;try{var t=b.getWrapper(b.get(e));if(t)return t.getElementsByTagName("input")[0]}catch(a){n.log('[err] Can not find "input" by flashId:',e,a)}},select:function(e){var i,r=b.getInput(e.flashId),o=n.uid(r),s=e.target.files;n.each(s,function(e){n.checkFileObj(e)}),y[o]=s,a.createEvent?(i=a.createEvent("Event"),i.files=s,i.initEvent("change",!0,!0),r.dispatchEvent(i)):t?t(r).trigger({type:"change",files:s}):(i=a.createEventObject(),i.files=s,r.fireEvent("onchange",i))},cmd:function(e,t,a,i){try{return n.log("(js -> flash)."+t+":",a),b.get(e.flashId||e).cmd(t,a)}catch(r){n.log("(js -> flash).onError:",r),i||setTimeout(function(){b.cmd(e,t,a,!0)},50)}},patch:function(){n.flashEngine=n.support.transform=!0,l(n,{getFiles:function(e,t,a){if(a)return n.filterFiles(n.getFiles(e),t,a),null;var i=n.isArray(e)?e:y[n.uid(e.target||e.srcElement||e)];return i?(t&&(t=n.getFilesFilter(t),i=n.filter(i,function(e){return t.test(e.name)})),i):this.parent.apply(this,arguments)},getInfo:function(e,t){if(u(e))this.parent.apply(this,arguments);else if(e.isShot)t(null,e.info={width:e.width,height:e.height});else{if(!e.__info){var a=e.__info=n.defer();b.cmd(e,"getFileInfo",{id:e.id,callback:c(function i(t,n){f(i),a.resolve(t,e.info=n)})})}e.__info.then(t)}}}),n.support.transform=!0,n.Image&&l(n.Image.prototype,{get:function(e,t){this.set({scaleMode:t||"noScale"}),this.parent(e)},_load:function(e,t){if(n.log("FlashAPI.Image._load:",e),u(e))this.parent.apply(this,arguments);else{var a=this;n.getInfo(e,function(n){t.call(a,n,e)})}},_apply:function(e,t){if(n.log("FlashAPI.Image._apply:",e),u(e))this.parent.apply(this,arguments);else{var a=this.getMatrix(e.info),i=t;b.cmd(e,"imageTransform",{id:e.id,matrix:a,callback:c(function r(o,s){n.log("FlashAPI.Image._apply.callback:",o),f(r),o?i(o):n.support.html5||n.support.dataURI&&!(s.length>3e4)?(a.filter&&(i=function(e,i){e?t(e):n.Image.applyFilter(i,a.filter,function(){t(e,this.canvas)})}),n.newImage("data:"+e.type+";base64,"+s,i)):p({width:a.deg%180?a.dh:a.dw,height:a.deg%180?a.dw:a.dh,scale:a.scaleMode},s,i)})})}},toData:function(e){var t=this.file,a=t.info,i=this.getMatrix(a);u(t)?this.parent.apply(this,arguments):("auto"==i.deg&&(i.deg=n.Image.exifOrientation[a&&a.exif&&a.exif.Orientation]||0),e.call(this,!t.info,{id:t.id,flashId:t.flashId,name:t.name,type:t.type,matrix:i}))}}),n.Image&&l(n.Image,{fromDataURL:function(e,t,a){!n.support.dataURI||e.length>3e4?p(n.extend({scale:"exactFit"},t),e.replace(/^data:[^,]+,/,""),function(e,t){a(t)}):this.parent(e,t,a)}}),n.Camera.fallback=function(e,t,a){var i=n.uid();n.log("FlashAPI.Camera.publish: "+i),b.publish(e,i,n.extend(t,{camera:!0,onEvent:c(function r(e){"camera"==e.type&&(f(r),e.error?(n.log("FlashAPI.Camera.publish.error: "+e.error),a(e.error)):(n.log("FlashAPI.Camera.publish.success: "+i),a(null)))})}))},l(n.Camera.prototype,{_id:function(){return this.video.id},start:function(e){var t=this;b.cmd(this._id(),"camera.on",{callback:c(function a(i){f(a),i.error?(n.log("FlashAPI.camera.on.error: "+i.error),e(i.error,t)):(n.log("FlashAPI.camera.on.success: "+t._id()),t.active=!0,e(null,t))})})},stop:function(){this.active=!1,b.cmd(this._id(),"camera.off")},shot:function(){n.log("FlashAPI.Camera.shot:",this._id());var e=b.cmd(this._id(),"shot",{});return e.type="image/png",e.flashId=this._id(),e.isShot=!0,new n.Camera.Shot(e)}}),l(n.Form.prototype,{toData:function(e){for(var t=this.items,a=t.length;a--;)if(t[a].file&&u(t[a].blob))return this.parent.apply(this,arguments);n.log("FlashAPI.Form.toData"),e(t)}}),l(n.XHR.prototype,{_send:function(e,t){if(t.nodeName||t.append&&n.support.html5||n.isArray(t)&&"string"==typeof t[0])return this.parent.apply(this,arguments);var a,i,r={},o={},s=this;if(n.each(t,function(e){e.file?(o[e.name]=e=h(e.blob),i=e.id,a=e.flashId):r[e.name]=e.blob}),i||(a=g),!a)return n.log("[err] FlashAPI._send: flashId -- undefined"),this.parent.apply(this,arguments);n.log("FlashAPI.XHR._send: "+a+" -> "+i,o),s.xhr={headers:{},abort:function(){b.cmd(a,"abort",{id:i})},getResponseHeader:function(e){return this.headers[e]},getAllResponseHeaders:function(){return this.headers}};var l=n.queue(function(){b.cmd(a,"upload",{url:d(e.url),data:r,files:i?o:null,headers:e.headers||{},callback:c(function t(a){var i=a.type,r=a.result;n.log("FlashAPI.upload."+i+":",a),"progress"==i?(a.loaded=Math.min(a.loaded,a.total),a.lengthComputable=!0,e.progress(a)):"complete"==i?(f(t),"string"==typeof r&&(s.responseText=r.replace(/%22/g,'"').replace(/%5c/g,"\\").replace(/%26/g,"&").replace(/%25/g,"%")),s.end(a.status||200)):("abort"==i||"error"==i)&&(s.end(a.status||0,a.message),f(t))})})});n.each(o,function(e){l.inc(),n.getInfo(e,l.next)}),l.check()}})}};n.Flash=b,n.newImage("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",function(e,t){n.support.dataURI=!(1!=t.width||1!=t.height),b.init()})}()}(window,window.jQuery,FileAPI),function(e){"use strict";e(FileAPI)}(function(e){"use strict";if(window.navigator&&window.navigator.platform&&/iP(hone|od|ad)/.test(window.navigator.platform)){var t=e.renderImageToCanvas;e.detectSubsampling=function(e){var t,n;return e.width*e.height>1048576?(t=document.createElement("canvas"),t.width=t.height=1,n=t.getContext("2d"),n.drawImage(e,-e.width+1,0),0===n.getImageData(0,0,1,1).data[3]):!1},e.detectVerticalSquash=function(e,t){var n,a,i,r,o,s=e.naturalHeight||e.height,l=document.createElement("canvas"),u=l.getContext("2d");for(t&&(s/=2),l.width=1,l.height=s,u.drawImage(e,0,0),n=u.getImageData(0,0,1,s).data,a=0,i=s,r=s;r>a;)o=n[4*(r-1)+3],0===o?i=r:a=r,r=i+a>>1;return r/s||1},e.renderImageToCanvas=function(n,a,i,r,o,s,l,u,c,f){if("image/jpeg"===a._type){var d,p,h,m,g=n.getContext("2d"),v=document.createElement("canvas"),y=1024,w=v.getContext("2d");if(v.width=y,v.height=y,g.save(),d=e.detectSubsampling(a),d&&(i/=2,r/=2,o/=2,s/=2),p=e.detectVerticalSquash(a,d),d||1!==p){for(r*=p,c=Math.ceil(y*c/o),f=Math.ceil(y*f/s/p),u=0,m=0;s>m;){for(l=0,h=0;o>h;)w.clearRect(0,0,y,y),w.drawImage(a,i,r,o,s,-h,-m,o,s),g.drawImage(v,0,0,y,y,l,u,c,f),h+=y,l+=c;m+=y,u+=f}return g.restore(),n}}return t(n,a,i,r,o,s,l,u,c,f)}}}),function(e){"use strict";var t=e.HTMLCanvasElement&&e.HTMLCanvasElement.prototype,n=e.Blob&&function(){try{return Boolean(new Blob)}catch(e){return!1}}(),a=n&&e.Uint8Array&&function(){try{return 100===new Blob([new Uint8Array(100)]).size}catch(e){return!1}}(),i=e.BlobBuilder||e.WebKitBlobBuilder||e.MozBlobBuilder||e.MSBlobBuilder,r=(n||i)&&e.atob&&e.ArrayBuffer&&e.Uint8Array&&function(e){var t,r,o,s,l,u;for(t=e.split(",")[0].indexOf("base64")>=0?atob(e.split(",")[1]):decodeURIComponent(e.split(",")[1]),r=new ArrayBuffer(t.length),o=new Uint8Array(r),s=0;t.length>s;s+=1)o[s]=t.charCodeAt(s);return l=e.split(",")[0].split(":")[1].split(";")[0],n?new Blob([a?o:r],{type:l}):(u=new i,u.append(r),u.getBlob(l))};e.HTMLCanvasElement&&!t.toBlob&&(t.mozGetAsFile?t.toBlob=function(e,n,a){a&&t.toDataURL&&r?e(r(this.toDataURL(n,a))):e(this.mozGetAsFile("blob",n))}:t.toDataURL&&r&&(t.toBlob=function(e,t,n){e(r(this.toDataURL(t,n)))})),e.dataURLtoBlob=r}(window),"function"==typeof define&&define.amd&&define("FileAPI",[],function(){return FileAPI});
@@ -0,0 +1,5 @@
1
+ //= require jquery-fileapi/FileAPI.min
2
+ //= require jquery-fileapi/FileAPI.exif
3
+ //= require jquery-fileapi/jquery.fileapi
4
+ //= require_self
5
+ window.FileAPI = {staticPath: '/FileAPI/'};