{"version":3,"sources":["C:/Users/SHR6M3/Development/PackITWebGui/node_modules/dropzone/dist/dropzone.js","C:/Users/SHR6M3/Development/PackITWebGui/node_modules/script-loader/addScript.js","C:/Users/SHR6M3/Development/PackITWebGui/node_modules/dropzone/dist/dropzone.js?6d15"],"names":[],"mappings":"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","file":"scripts.bc89e7442670c5552791.bundle.js","sourcesContent":["module.exports = \"\\n/*\\n *\\n * More info at [www.dropzonejs.com](http://www.dropzonejs.com)\\n *\\n * Copyright (c) 2012, Matias Meno\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy\\n * of this software and associated documentation files (the \\\"Software\\\"), to deal\\n * in the Software without restriction, including without limitation the rights\\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\\n * copies of the Software, and to permit persons to whom the Software is\\n * furnished to do so, subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in\\n * all copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\\n * THE SOFTWARE.\\n *\\n */\\n\\n(function() {\\n var Dropzone, Emitter, ExifRestore, camelize, contentLoaded, detectVerticalSquash, drawImageIOSFix, noop, without,\\n slice = [].slice,\\n extend1 = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\\n hasProp = {}.hasOwnProperty;\\n\\n noop = function() {};\\n\\n Emitter = (function() {\\n function Emitter() {}\\n\\n Emitter.prototype.addEventListener = Emitter.prototype.on;\\n\\n Emitter.prototype.on = function(event, fn) {\\n this._callbacks = this._callbacks || {};\\n if (!this._callbacks[event]) {\\n this._callbacks[event] = [];\\n }\\n this._callbacks[event].push(fn);\\n return this;\\n };\\n\\n Emitter.prototype.emit = function() {\\n var args, callback, callbacks, event, j, len;\\n event = arguments[0], args = 2 <= arguments.length ? slice.call(arguments, 1) : [];\\n this._callbacks = this._callbacks || {};\\n callbacks = this._callbacks[event];\\n if (callbacks) {\\n for (j = 0, len = callbacks.length; j < len; j++) {\\n callback = callbacks[j];\\n callback.apply(this, args);\\n }\\n }\\n return this;\\n };\\n\\n Emitter.prototype.removeListener = Emitter.prototype.off;\\n\\n Emitter.prototype.removeAllListeners = Emitter.prototype.off;\\n\\n Emitter.prototype.removeEventListener = Emitter.prototype.off;\\n\\n Emitter.prototype.off = function(event, fn) {\\n var callback, callbacks, i, j, len;\\n if (!this._callbacks || arguments.length === 0) {\\n this._callbacks = {};\\n return this;\\n }\\n callbacks = this._callbacks[event];\\n if (!callbacks) {\\n return this;\\n }\\n if (arguments.length === 1) {\\n delete this._callbacks[event];\\n return this;\\n }\\n for (i = j = 0, len = callbacks.length; j < len; i = ++j) {\\n callback = callbacks[i];\\n if (callback === fn) {\\n callbacks.splice(i, 1);\\n break;\\n }\\n }\\n return this;\\n };\\n\\n return Emitter;\\n\\n })();\\n\\n Dropzone = (function(superClass) {\\n var extend, resolveOption;\\n\\n extend1(Dropzone, superClass);\\n\\n Dropzone.prototype.Emitter = Emitter;\\n\\n\\n /*\\n This is a list of all available events you can register on a dropzone object.\\n \\n You can register an event handler like this:\\n \\n dropzone.on(\\\"dragEnter\\\", function() { });\\n */\\n\\n Dropzone.prototype.events = [\\\"drop\\\", \\\"dragstart\\\", \\\"dragend\\\", \\\"dragenter\\\", \\\"dragover\\\", \\\"dragleave\\\", \\\"addedfile\\\", \\\"addedfiles\\\", \\\"removedfile\\\", \\\"thumbnail\\\", \\\"error\\\", \\\"errormultiple\\\", \\\"processing\\\", \\\"processingmultiple\\\", \\\"uploadprogress\\\", \\\"totaluploadprogress\\\", \\\"sending\\\", \\\"sendingmultiple\\\", \\\"success\\\", \\\"successmultiple\\\", \\\"canceled\\\", \\\"canceledmultiple\\\", \\\"complete\\\", \\\"completemultiple\\\", \\\"reset\\\", \\\"maxfilesexceeded\\\", \\\"maxfilesreached\\\", \\\"queuecomplete\\\"];\\n\\n Dropzone.prototype.defaultOptions = {\\n url: null,\\n method: \\\"post\\\",\\n withCredentials: false,\\n timeout: 30000,\\n parallelUploads: 2,\\n uploadMultiple: false,\\n maxFilesize: 256,\\n paramName: \\\"file\\\",\\n createImageThumbnails: true,\\n maxThumbnailFilesize: 10,\\n thumbnailWidth: 120,\\n thumbnailHeight: 120,\\n thumbnailMethod: 'crop',\\n resizeWidth: null,\\n resizeHeight: null,\\n resizeMimeType: null,\\n resizeQuality: 0.8,\\n resizeMethod: 'contain',\\n filesizeBase: 1000,\\n maxFiles: null,\\n params: {},\\n headers: null,\\n clickable: true,\\n ignoreHiddenFiles: true,\\n acceptedFiles: null,\\n acceptedMimeTypes: null,\\n autoProcessQueue: true,\\n autoQueue: true,\\n addRemoveLinks: false,\\n previewsContainer: null,\\n hiddenInputContainer: \\\"body\\\",\\n capture: null,\\n renameFilename: null,\\n renameFile: null,\\n forceFallback: false,\\n dictDefaultMessage: \\\"Drop files here to upload\\\",\\n dictFallbackMessage: \\\"Your browser does not support drag'n'drop file uploads.\\\",\\n dictFallbackText: \\\"Please use the fallback form below to upload your files like in the olden days.\\\",\\n dictFileTooBig: \\\"File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.\\\",\\n dictInvalidFileType: \\\"You can't upload files of this type.\\\",\\n dictResponseError: \\\"Server responded with {{statusCode}} code.\\\",\\n dictCancelUpload: \\\"Cancel upload\\\",\\n dictCancelUploadConfirmation: \\\"Are you sure you want to cancel this upload?\\\",\\n dictRemoveFile: \\\"Remove file\\\",\\n dictRemoveFileConfirmation: null,\\n dictMaxFilesExceeded: \\\"You can not upload any more files.\\\",\\n dictFileSizeUnits: {\\n tb: \\\"TB\\\",\\n gb: \\\"GB\\\",\\n mb: \\\"MB\\\",\\n kb: \\\"KB\\\",\\n b: \\\"b\\\"\\n },\\n init: function() {\\n return noop;\\n },\\n accept: function(file, done) {\\n return done();\\n },\\n fallback: function() {\\n var child, j, len, messageElement, ref, span;\\n this.element.className = this.element.className + \\\" dz-browser-not-supported\\\";\\n ref = this.element.getElementsByTagName(\\\"div\\\");\\n for (j = 0, len = ref.length; j < len; j++) {\\n child = ref[j];\\n if (/(^| )dz-message($| )/.test(child.className)) {\\n messageElement = child;\\n child.className = \\\"dz-message\\\";\\n continue;\\n }\\n }\\n if (!messageElement) {\\n messageElement = Dropzone.createElement(\\\"
\\\");\\n this.element.appendChild(messageElement);\\n }\\n span = messageElement.getElementsByTagName(\\\"span\\\")[0];\\n if (span) {\\n if (span.textContent != null) {\\n span.textContent = this.options.dictFallbackMessage;\\n } else if (span.innerText != null) {\\n span.innerText = this.options.dictFallbackMessage;\\n }\\n }\\n return this.element.appendChild(this.getFallbackForm());\\n },\\n resize: function(file, width, height, resizeMethod) {\\n var info, srcRatio, trgRatio;\\n info = {\\n srcX: 0,\\n srcY: 0,\\n srcWidth: file.width,\\n srcHeight: file.height\\n };\\n srcRatio = file.width / file.height;\\n if ((width == null) && (height == null)) {\\n width = info.srcWidth;\\n height = info.srcHeight;\\n } else if (width == null) {\\n width = height * srcRatio;\\n } else if (height == null) {\\n height = width / srcRatio;\\n }\\n width = Math.min(width, info.srcWidth);\\n height = Math.min(height, info.srcHeight);\\n trgRatio = width / height;\\n if (info.srcWidth > width || info.srcHeight > height) {\\n if (resizeMethod === 'crop') {\\n if (srcRatio > trgRatio) {\\n info.srcHeight = file.height;\\n info.srcWidth = info.srcHeight * trgRatio;\\n } else {\\n info.srcWidth = file.width;\\n info.srcHeight = info.srcWidth / trgRatio;\\n }\\n } else if (resizeMethod === 'contain') {\\n if (srcRatio > trgRatio) {\\n height = width / srcRatio;\\n } else {\\n width = height * srcRatio;\\n }\\n } else {\\n throw new Error(\\\"Unknown resizeMethod '\\\" + resizeMethod + \\\"'\\\");\\n }\\n }\\n info.srcX = (file.width - info.srcWidth) / 2;\\n info.srcY = (file.height - info.srcHeight) / 2;\\n info.trgWidth = width;\\n info.trgHeight = height;\\n return info;\\n },\\n transformFile: function(file, done) {\\n if ((this.options.resizeWidth || this.options.resizeHeight) && file.type.match(/image.*/)) {\\n return this.resizeImage(file, this.options.resizeWidth, this.options.resizeHeight, this.options.resizeMethod, done);\\n } else {\\n return done(file);\\n }\\n },\\n previewTemplate: \\\"
\\\\n
\\\\n
\\\\n
\\\\n
\\\\n
\\\\n
\\\\n
\\\\n
\\\\n \\\\n Check\\\\n \\\\n \\\\n \\\\n \\\\n \\\\n
\\\\n
\\\\n \\\\n Error\\\\n \\\\n \\\\n \\\\n \\\\n \\\\n \\\\n \\\\n
\\\\n
\\\",\\n\\n /*\\n Those functions register themselves to the events on init and handle all\\n the user interface specific stuff. Overwriting them won't break the upload\\n but can break the way it's displayed.\\n You can overwrite them if you don't like the default behavior. If you just\\n want to add an additional event handler, register it on the dropzone object\\n and don't overwrite those options.\\n */\\n drop: function(e) {\\n return this.element.classList.remove(\\\"dz-drag-hover\\\");\\n },\\n dragstart: noop,\\n dragend: function(e) {\\n return this.element.classList.remove(\\\"dz-drag-hover\\\");\\n },\\n dragenter: function(e) {\\n return this.element.classList.add(\\\"dz-drag-hover\\\");\\n },\\n dragover: function(e) {\\n return this.element.classList.add(\\\"dz-drag-hover\\\");\\n },\\n dragleave: function(e) {\\n return this.element.classList.remove(\\\"dz-drag-hover\\\");\\n },\\n paste: noop,\\n reset: function() {\\n return this.element.classList.remove(\\\"dz-started\\\");\\n },\\n addedfile: function(file) {\\n var j, k, l, len, len1, len2, node, ref, ref1, ref2, removeFileEvent, removeLink, results;\\n if (this.element === this.previewsContainer) {\\n this.element.classList.add(\\\"dz-started\\\");\\n }\\n if (this.previewsContainer) {\\n file.previewElement = Dropzone.createElement(this.options.previewTemplate.trim());\\n file.previewTemplate = file.previewElement;\\n this.previewsContainer.appendChild(file.previewElement);\\n ref = file.previewElement.querySelectorAll(\\\"[data-dz-name]\\\");\\n for (j = 0, len = ref.length; j < len; j++) {\\n node = ref[j];\\n node.textContent = file.name;\\n }\\n ref1 = file.previewElement.querySelectorAll(\\\"[data-dz-size]\\\");\\n for (k = 0, len1 = ref1.length; k < len1; k++) {\\n node = ref1[k];\\n node.innerHTML = this.filesize(file.size);\\n }\\n if (this.options.addRemoveLinks) {\\n file._removeLink = Dropzone.createElement(\\\"\\\" + this.options.dictRemoveFile + \\\"\\\");\\n file.previewElement.appendChild(file._removeLink);\\n }\\n removeFileEvent = (function(_this) {\\n return function(e) {\\n e.preventDefault();\\n e.stopPropagation();\\n if (file.status === Dropzone.UPLOADING) {\\n return Dropzone.confirm(_this.options.dictCancelUploadConfirmation, function() {\\n return _this.removeFile(file);\\n });\\n } else {\\n if (_this.options.dictRemoveFileConfirmation) {\\n return Dropzone.confirm(_this.options.dictRemoveFileConfirmation, function() {\\n return _this.removeFile(file);\\n });\\n } else {\\n return _this.removeFile(file);\\n }\\n }\\n };\\n })(this);\\n ref2 = file.previewElement.querySelectorAll(\\\"[data-dz-remove]\\\");\\n results = [];\\n for (l = 0, len2 = ref2.length; l < len2; l++) {\\n removeLink = ref2[l];\\n results.push(removeLink.addEventListener(\\\"click\\\", removeFileEvent));\\n }\\n return results;\\n }\\n },\\n removedfile: function(file) {\\n var ref;\\n if (file.previewElement) {\\n if ((ref = file.previewElement) != null) {\\n ref.parentNode.removeChild(file.previewElement);\\n }\\n }\\n return this._updateMaxFilesReachedClass();\\n },\\n thumbnail: function(file, dataUrl) {\\n var j, len, ref, thumbnailElement;\\n if (file.previewElement) {\\n file.previewElement.classList.remove(\\\"dz-file-preview\\\");\\n ref = file.previewElement.querySelectorAll(\\\"[data-dz-thumbnail]\\\");\\n for (j = 0, len = ref.length; j < len; j++) {\\n thumbnailElement = ref[j];\\n thumbnailElement.alt = file.name;\\n thumbnailElement.src = dataUrl;\\n }\\n return setTimeout(((function(_this) {\\n return function() {\\n return file.previewElement.classList.add(\\\"dz-image-preview\\\");\\n };\\n })(this)), 1);\\n }\\n },\\n error: function(file, message) {\\n var j, len, node, ref, results;\\n if (file.previewElement) {\\n file.previewElement.classList.add(\\\"dz-error\\\");\\n if (typeof message !== \\\"String\\\" && message.error) {\\n message = message.error;\\n }\\n ref = file.previewElement.querySelectorAll(\\\"[data-dz-errormessage]\\\");\\n results = [];\\n for (j = 0, len = ref.length; j < len; j++) {\\n node = ref[j];\\n results.push(node.textContent = message);\\n }\\n return results;\\n }\\n },\\n errormultiple: noop,\\n processing: function(file) {\\n if (file.previewElement) {\\n file.previewElement.classList.add(\\\"dz-processing\\\");\\n if (file._removeLink) {\\n return file._removeLink.textContent = this.options.dictCancelUpload;\\n }\\n }\\n },\\n processingmultiple: noop,\\n uploadprogress: function(file, progress, bytesSent) {\\n var j, len, node, ref, results;\\n if (file.previewElement) {\\n ref = file.previewElement.querySelectorAll(\\\"[data-dz-uploadprogress]\\\");\\n results = [];\\n for (j = 0, len = ref.length; j < len; j++) {\\n node = ref[j];\\n if (node.nodeName === 'PROGRESS') {\\n results.push(node.value = progress);\\n } else {\\n results.push(node.style.width = progress + \\\"%\\\");\\n }\\n }\\n return results;\\n }\\n },\\n totaluploadprogress: noop,\\n sending: noop,\\n sendingmultiple: noop,\\n success: function(file) {\\n if (file.previewElement) {\\n return file.previewElement.classList.add(\\\"dz-success\\\");\\n }\\n },\\n successmultiple: noop,\\n canceled: function(file) {\\n return this.emit(\\\"error\\\", file, \\\"Upload canceled.\\\");\\n },\\n canceledmultiple: noop,\\n complete: function(file) {\\n if (file._removeLink) {\\n file._removeLink.textContent = this.options.dictRemoveFile;\\n }\\n if (file.previewElement) {\\n return file.previewElement.classList.add(\\\"dz-complete\\\");\\n }\\n },\\n completemultiple: noop,\\n maxfilesexceeded: noop,\\n maxfilesreached: noop,\\n queuecomplete: noop,\\n addedfiles: noop\\n };\\n\\n extend = function() {\\n var j, key, len, object, objects, target, val;\\n target = arguments[0], objects = 2 <= arguments.length ? slice.call(arguments, 1) : [];\\n for (j = 0, len = objects.length; j < len; j++) {\\n object = objects[j];\\n for (key in object) {\\n val = object[key];\\n target[key] = val;\\n }\\n }\\n return target;\\n };\\n\\n function Dropzone(element1, options) {\\n var elementOptions, fallback, ref;\\n this.element = element1;\\n this.version = Dropzone.version;\\n this.defaultOptions.previewTemplate = this.defaultOptions.previewTemplate.replace(/\\\\n*/g, \\\"\\\");\\n this.clickableElements = [];\\n this.listeners = [];\\n this.files = [];\\n if (typeof this.element === \\\"string\\\") {\\n this.element = document.querySelector(this.element);\\n }\\n if (!(this.element && (this.element.nodeType != null))) {\\n throw new Error(\\\"Invalid dropzone element.\\\");\\n }\\n if (this.element.dropzone) {\\n throw new Error(\\\"Dropzone already attached.\\\");\\n }\\n Dropzone.instances.push(this);\\n this.element.dropzone = this;\\n elementOptions = (ref = Dropzone.optionsForElement(this.element)) != null ? ref : {};\\n this.options = extend({}, this.defaultOptions, elementOptions, options != null ? options : {});\\n if (this.options.forceFallback || !Dropzone.isBrowserSupported()) {\\n return this.options.fallback.call(this);\\n }\\n if (this.options.url == null) {\\n this.options.url = this.element.getAttribute(\\\"action\\\");\\n }\\n if (!this.options.url) {\\n throw new Error(\\\"No URL provided.\\\");\\n }\\n if (this.options.acceptedFiles && this.options.acceptedMimeTypes) {\\n throw new Error(\\\"You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.\\\");\\n }\\n if (this.options.acceptedMimeTypes) {\\n this.options.acceptedFiles = this.options.acceptedMimeTypes;\\n delete this.options.acceptedMimeTypes;\\n }\\n if (this.options.renameFilename != null) {\\n this.options.renameFile = (function(_this) {\\n return function(file) {\\n return _this.options.renameFilename.call(_this, file.name, file);\\n };\\n })(this);\\n }\\n this.options.method = this.options.method.toUpperCase();\\n if ((fallback = this.getExistingFallback()) && fallback.parentNode) {\\n fallback.parentNode.removeChild(fallback);\\n }\\n if (this.options.previewsContainer !== false) {\\n if (this.options.previewsContainer) {\\n this.previewsContainer = Dropzone.getElement(this.options.previewsContainer, \\\"previewsContainer\\\");\\n } else {\\n this.previewsContainer = this.element;\\n }\\n }\\n if (this.options.clickable) {\\n if (this.options.clickable === true) {\\n this.clickableElements = [this.element];\\n } else {\\n this.clickableElements = Dropzone.getElements(this.options.clickable, \\\"clickable\\\");\\n }\\n }\\n this.init();\\n }\\n\\n Dropzone.prototype.getAcceptedFiles = function() {\\n var file, j, len, ref, results;\\n ref = this.files;\\n results = [];\\n for (j = 0, len = ref.length; j < len; j++) {\\n file = ref[j];\\n if (file.accepted) {\\n results.push(file);\\n }\\n }\\n return results;\\n };\\n\\n Dropzone.prototype.getRejectedFiles = function() {\\n var file, j, len, ref, results;\\n ref = this.files;\\n results = [];\\n for (j = 0, len = ref.length; j < len; j++) {\\n file = ref[j];\\n if (!file.accepted) {\\n results.push(file);\\n }\\n }\\n return results;\\n };\\n\\n Dropzone.prototype.getFilesWithStatus = function(status) {\\n var file, j, len, ref, results;\\n ref = this.files;\\n results = [];\\n for (j = 0, len = ref.length; j < len; j++) {\\n file = ref[j];\\n if (file.status === status) {\\n results.push(file);\\n }\\n }\\n return results;\\n };\\n\\n Dropzone.prototype.getQueuedFiles = function() {\\n return this.getFilesWithStatus(Dropzone.QUEUED);\\n };\\n\\n Dropzone.prototype.getUploadingFiles = function() {\\n return this.getFilesWithStatus(Dropzone.UPLOADING);\\n };\\n\\n Dropzone.prototype.getAddedFiles = function() {\\n return this.getFilesWithStatus(Dropzone.ADDED);\\n };\\n\\n Dropzone.prototype.getActiveFiles = function() {\\n var file, j, len, ref, results;\\n ref = this.files;\\n results = [];\\n for (j = 0, len = ref.length; j < len; j++) {\\n file = ref[j];\\n if (file.status === Dropzone.UPLOADING || file.status === Dropzone.QUEUED) {\\n results.push(file);\\n }\\n }\\n return results;\\n };\\n\\n Dropzone.prototype.init = function() {\\n var eventName, j, len, noPropagation, ref, ref1, setupHiddenFileInput;\\n if (this.element.tagName === \\\"form\\\") {\\n this.element.setAttribute(\\\"enctype\\\", \\\"multipart/form-data\\\");\\n }\\n if (this.element.classList.contains(\\\"dropzone\\\") && !this.element.querySelector(\\\".dz-message\\\")) {\\n this.element.appendChild(Dropzone.createElement(\\\"
\\\" + this.options.dictDefaultMessage + \\\"
\\\"));\\n }\\n if (this.clickableElements.length) {\\n setupHiddenFileInput = (function(_this) {\\n return function() {\\n if (_this.hiddenFileInput) {\\n _this.hiddenFileInput.parentNode.removeChild(_this.hiddenFileInput);\\n }\\n _this.hiddenFileInput = document.createElement(\\\"input\\\");\\n _this.hiddenFileInput.setAttribute(\\\"type\\\", \\\"file\\\");\\n if ((_this.options.maxFiles == null) || _this.options.maxFiles > 1) {\\n _this.hiddenFileInput.setAttribute(\\\"multiple\\\", \\\"multiple\\\");\\n }\\n _this.hiddenFileInput.className = \\\"dz-hidden-input\\\";\\n if (_this.options.acceptedFiles != null) {\\n _this.hiddenFileInput.setAttribute(\\\"accept\\\", _this.options.acceptedFiles);\\n }\\n if (_this.options.capture != null) {\\n _this.hiddenFileInput.setAttribute(\\\"capture\\\", _this.options.capture);\\n }\\n _this.hiddenFileInput.style.visibility = \\\"hidden\\\";\\n _this.hiddenFileInput.style.position = \\\"absolute\\\";\\n _this.hiddenFileInput.style.top = \\\"0\\\";\\n _this.hiddenFileInput.style.left = \\\"0\\\";\\n _this.hiddenFileInput.style.height = \\\"0\\\";\\n _this.hiddenFileInput.style.width = \\\"0\\\";\\n document.querySelector(_this.options.hiddenInputContainer).appendChild(_this.hiddenFileInput);\\n return _this.hiddenFileInput.addEventListener(\\\"change\\\", function() {\\n var file, files, j, len;\\n files = _this.hiddenFileInput.files;\\n if (files.length) {\\n for (j = 0, len = files.length; j < len; j++) {\\n file = files[j];\\n _this.addFile(file);\\n }\\n }\\n _this.emit(\\\"addedfiles\\\", files);\\n return setupHiddenFileInput();\\n });\\n };\\n })(this);\\n setupHiddenFileInput();\\n }\\n this.URL = (ref = window.URL) != null ? ref : window.webkitURL;\\n ref1 = this.events;\\n for (j = 0, len = ref1.length; j < len; j++) {\\n eventName = ref1[j];\\n this.on(eventName, this.options[eventName]);\\n }\\n this.on(\\\"uploadprogress\\\", (function(_this) {\\n return function() {\\n return _this.updateTotalUploadProgress();\\n };\\n })(this));\\n this.on(\\\"removedfile\\\", (function(_this) {\\n return function() {\\n return _this.updateTotalUploadProgress();\\n };\\n })(this));\\n this.on(\\\"canceled\\\", (function(_this) {\\n return function(file) {\\n return _this.emit(\\\"complete\\\", file);\\n };\\n })(this));\\n this.on(\\\"complete\\\", (function(_this) {\\n return function(file) {\\n if (_this.getAddedFiles().length === 0 && _this.getUploadingFiles().length === 0 && _this.getQueuedFiles().length === 0) {\\n return setTimeout((function() {\\n return _this.emit(\\\"queuecomplete\\\");\\n }), 0);\\n }\\n };\\n })(this));\\n noPropagation = function(e) {\\n e.stopPropagation();\\n if (e.preventDefault) {\\n return e.preventDefault();\\n } else {\\n return e.returnValue = false;\\n }\\n };\\n this.listeners = [\\n {\\n element: this.element,\\n events: {\\n \\\"dragstart\\\": (function(_this) {\\n return function(e) {\\n return _this.emit(\\\"dragstart\\\", e);\\n };\\n })(this),\\n \\\"dragenter\\\": (function(_this) {\\n return function(e) {\\n noPropagation(e);\\n return _this.emit(\\\"dragenter\\\", e);\\n };\\n })(this),\\n \\\"dragover\\\": (function(_this) {\\n return function(e) {\\n var efct;\\n try {\\n efct = e.dataTransfer.effectAllowed;\\n } catch (undefined) {}\\n e.dataTransfer.dropEffect = 'move' === efct || 'linkMove' === efct ? 'move' : 'copy';\\n noPropagation(e);\\n return _this.emit(\\\"dragover\\\", e);\\n };\\n })(this),\\n \\\"dragleave\\\": (function(_this) {\\n return function(e) {\\n return _this.emit(\\\"dragleave\\\", e);\\n };\\n })(this),\\n \\\"drop\\\": (function(_this) {\\n return function(e) {\\n noPropagation(e);\\n return _this.drop(e);\\n };\\n })(this),\\n \\\"dragend\\\": (function(_this) {\\n return function(e) {\\n return _this.emit(\\\"dragend\\\", e);\\n };\\n })(this)\\n }\\n }\\n ];\\n this.clickableElements.forEach((function(_this) {\\n return function(clickableElement) {\\n return _this.listeners.push({\\n element: clickableElement,\\n events: {\\n \\\"click\\\": function(evt) {\\n if ((clickableElement !== _this.element) || (evt.target === _this.element || Dropzone.elementInside(evt.target, _this.element.querySelector(\\\".dz-message\\\")))) {\\n _this.hiddenFileInput.click();\\n }\\n return true;\\n }\\n }\\n });\\n };\\n })(this));\\n this.enable();\\n return this.options.init.call(this);\\n };\\n\\n Dropzone.prototype.destroy = function() {\\n var ref;\\n this.disable();\\n this.removeAllFiles(true);\\n if ((ref = this.hiddenFileInput) != null ? ref.parentNode : void 0) {\\n this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput);\\n this.hiddenFileInput = null;\\n }\\n delete this.element.dropzone;\\n return Dropzone.instances.splice(Dropzone.instances.indexOf(this), 1);\\n };\\n\\n Dropzone.prototype.updateTotalUploadProgress = function() {\\n var activeFiles, file, j, len, ref, totalBytes, totalBytesSent, totalUploadProgress;\\n totalBytesSent = 0;\\n totalBytes = 0;\\n activeFiles = this.getActiveFiles();\\n if (activeFiles.length) {\\n ref = this.getActiveFiles();\\n for (j = 0, len = ref.length; j < len; j++) {\\n file = ref[j];\\n totalBytesSent += file.upload.bytesSent;\\n totalBytes += file.upload.total;\\n }\\n totalUploadProgress = 100 * totalBytesSent / totalBytes;\\n } else {\\n totalUploadProgress = 100;\\n }\\n return this.emit(\\\"totaluploadprogress\\\", totalUploadProgress, totalBytes, totalBytesSent);\\n };\\n\\n Dropzone.prototype._getParamName = function(n) {\\n if (typeof this.options.paramName === \\\"function\\\") {\\n return this.options.paramName(n);\\n } else {\\n return \\\"\\\" + this.options.paramName + (this.options.uploadMultiple ? \\\"[\\\" + n + \\\"]\\\" : \\\"\\\");\\n }\\n };\\n\\n Dropzone.prototype._renameFile = function(file) {\\n if (typeof this.options.renameFile !== \\\"function\\\") {\\n return file.name;\\n }\\n return this.options.renameFile(file);\\n };\\n\\n Dropzone.prototype.getFallbackForm = function() {\\n var existingFallback, fields, fieldsString, form;\\n if (existingFallback = this.getExistingFallback()) {\\n return existingFallback;\\n }\\n fieldsString = \\\"
\\\";\\n if (this.options.dictFallbackText) {\\n fieldsString += \\\"

\\\" + this.options.dictFallbackText + \\\"

\\\";\\n }\\n fieldsString += \\\"
\\\";\\n fields = Dropzone.createElement(fieldsString);\\n if (this.element.tagName !== \\\"FORM\\\") {\\n form = Dropzone.createElement(\\\"
\\\");\\n form.appendChild(fields);\\n } else {\\n this.element.setAttribute(\\\"enctype\\\", \\\"multipart/form-data\\\");\\n this.element.setAttribute(\\\"method\\\", this.options.method);\\n }\\n return form != null ? form : fields;\\n };\\n\\n Dropzone.prototype.getExistingFallback = function() {\\n var fallback, getFallback, j, len, ref, tagName;\\n getFallback = function(elements) {\\n var el, j, len;\\n for (j = 0, len = elements.length; j < len; j++) {\\n el = elements[j];\\n if (/(^| )fallback($| )/.test(el.className)) {\\n return el;\\n }\\n }\\n };\\n ref = [\\\"div\\\", \\\"form\\\"];\\n for (j = 0, len = ref.length; j < len; j++) {\\n tagName = ref[j];\\n if (fallback = getFallback(this.element.getElementsByTagName(tagName))) {\\n return fallback;\\n }\\n }\\n };\\n\\n Dropzone.prototype.setupEventListeners = function() {\\n var elementListeners, event, j, len, listener, ref, results;\\n ref = this.listeners;\\n results = [];\\n for (j = 0, len = ref.length; j < len; j++) {\\n elementListeners = ref[j];\\n results.push((function() {\\n var ref1, results1;\\n ref1 = elementListeners.events;\\n results1 = [];\\n for (event in ref1) {\\n listener = ref1[event];\\n results1.push(elementListeners.element.addEventListener(event, listener, false));\\n }\\n return results1;\\n })());\\n }\\n return results;\\n };\\n\\n Dropzone.prototype.removeEventListeners = function() {\\n var elementListeners, event, j, len, listener, ref, results;\\n ref = this.listeners;\\n results = [];\\n for (j = 0, len = ref.length; j < len; j++) {\\n elementListeners = ref[j];\\n results.push((function() {\\n var ref1, results1;\\n ref1 = elementListeners.events;\\n results1 = [];\\n for (event in ref1) {\\n listener = ref1[event];\\n results1.push(elementListeners.element.removeEventListener(event, listener, false));\\n }\\n return results1;\\n })());\\n }\\n return results;\\n };\\n\\n Dropzone.prototype.disable = function() {\\n var file, j, len, ref, results;\\n this.clickableElements.forEach(function(element) {\\n return element.classList.remove(\\\"dz-clickable\\\");\\n });\\n this.removeEventListeners();\\n ref = this.files;\\n results = [];\\n for (j = 0, len = ref.length; j < len; j++) {\\n file = ref[j];\\n results.push(this.cancelUpload(file));\\n }\\n return results;\\n };\\n\\n Dropzone.prototype.enable = function() {\\n this.clickableElements.forEach(function(element) {\\n return element.classList.add(\\\"dz-clickable\\\");\\n });\\n return this.setupEventListeners();\\n };\\n\\n Dropzone.prototype.filesize = function(size) {\\n var cutoff, i, j, len, selectedSize, selectedUnit, unit, units;\\n selectedSize = 0;\\n selectedUnit = \\\"b\\\";\\n if (size > 0) {\\n units = ['tb', 'gb', 'mb', 'kb', 'b'];\\n for (i = j = 0, len = units.length; j < len; i = ++j) {\\n unit = units[i];\\n cutoff = Math.pow(this.options.filesizeBase, 4 - i) / 10;\\n if (size >= cutoff) {\\n selectedSize = size / Math.pow(this.options.filesizeBase, 4 - i);\\n selectedUnit = unit;\\n break;\\n }\\n }\\n selectedSize = Math.round(10 * selectedSize) / 10;\\n }\\n return \\\"\\\" + selectedSize + \\\" \\\" + this.options.dictFileSizeUnits[selectedUnit];\\n };\\n\\n Dropzone.prototype._updateMaxFilesReachedClass = function() {\\n if ((this.options.maxFiles != null) && this.getAcceptedFiles().length >= this.options.maxFiles) {\\n if (this.getAcceptedFiles().length === this.options.maxFiles) {\\n this.emit('maxfilesreached', this.files);\\n }\\n return this.element.classList.add(\\\"dz-max-files-reached\\\");\\n } else {\\n return this.element.classList.remove(\\\"dz-max-files-reached\\\");\\n }\\n };\\n\\n Dropzone.prototype.drop = function(e) {\\n var files, items;\\n if (!e.dataTransfer) {\\n return;\\n }\\n this.emit(\\\"drop\\\", e);\\n files = e.dataTransfer.files;\\n this.emit(\\\"addedfiles\\\", files);\\n if (files.length) {\\n items = e.dataTransfer.items;\\n if (items && items.length && (items[0].webkitGetAsEntry != null)) {\\n this._addFilesFromItems(items);\\n } else {\\n this.handleFiles(files);\\n }\\n }\\n };\\n\\n Dropzone.prototype.paste = function(e) {\\n var items, ref;\\n if ((e != null ? (ref = e.clipboardData) != null ? ref.items : void 0 : void 0) == null) {\\n return;\\n }\\n this.emit(\\\"paste\\\", e);\\n items = e.clipboardData.items;\\n if (items.length) {\\n return this._addFilesFromItems(items);\\n }\\n };\\n\\n Dropzone.prototype.handleFiles = function(files) {\\n var file, j, len, results;\\n results = [];\\n for (j = 0, len = files.length; j < len; j++) {\\n file = files[j];\\n results.push(this.addFile(file));\\n }\\n return results;\\n };\\n\\n Dropzone.prototype._addFilesFromItems = function(items) {\\n var entry, item, j, len, results;\\n results = [];\\n for (j = 0, len = items.length; j < len; j++) {\\n item = items[j];\\n if ((item.webkitGetAsEntry != null) && (entry = item.webkitGetAsEntry())) {\\n if (entry.isFile) {\\n results.push(this.addFile(item.getAsFile()));\\n } else if (entry.isDirectory) {\\n results.push(this._addFilesFromDirectory(entry, entry.name));\\n } else {\\n results.push(void 0);\\n }\\n } else if (item.getAsFile != null) {\\n if ((item.kind == null) || item.kind === \\\"file\\\") {\\n results.push(this.addFile(item.getAsFile()));\\n } else {\\n results.push(void 0);\\n }\\n } else {\\n results.push(void 0);\\n }\\n }\\n return results;\\n };\\n\\n Dropzone.prototype._addFilesFromDirectory = function(directory, path) {\\n var dirReader, errorHandler, readEntries;\\n dirReader = directory.createReader();\\n errorHandler = function(error) {\\n return typeof console !== \\\"undefined\\\" && console !== null ? typeof console.log === \\\"function\\\" ? console.log(error) : void 0 : void 0;\\n };\\n readEntries = (function(_this) {\\n return function() {\\n return dirReader.readEntries(function(entries) {\\n var entry, j, len;\\n if (entries.length > 0) {\\n for (j = 0, len = entries.length; j < len; j++) {\\n entry = entries[j];\\n if (entry.isFile) {\\n entry.file(function(file) {\\n if (_this.options.ignoreHiddenFiles && file.name.substring(0, 1) === '.') {\\n return;\\n }\\n file.fullPath = path + \\\"/\\\" + file.name;\\n return _this.addFile(file);\\n });\\n } else if (entry.isDirectory) {\\n _this._addFilesFromDirectory(entry, path + \\\"/\\\" + entry.name);\\n }\\n }\\n readEntries();\\n }\\n return null;\\n }, errorHandler);\\n };\\n })(this);\\n return readEntries();\\n };\\n\\n Dropzone.prototype.accept = function(file, done) {\\n if (file.size > this.options.maxFilesize * 1024 * 1024) {\\n return done(this.options.dictFileTooBig.replace(\\\"{{filesize}}\\\", Math.round(file.size / 1024 / 10.24) / 100).replace(\\\"{{maxFilesize}}\\\", this.options.maxFilesize));\\n } else if (!Dropzone.isValidFile(file, this.options.acceptedFiles)) {\\n return done(this.options.dictInvalidFileType);\\n } else if ((this.options.maxFiles != null) && this.getAcceptedFiles().length >= this.options.maxFiles) {\\n done(this.options.dictMaxFilesExceeded.replace(\\\"{{maxFiles}}\\\", this.options.maxFiles));\\n return this.emit(\\\"maxfilesexceeded\\\", file);\\n } else {\\n return this.options.accept.call(this, file, done);\\n }\\n };\\n\\n Dropzone.prototype.addFile = function(file) {\\n file.upload = {\\n progress: 0,\\n total: file.size,\\n bytesSent: 0,\\n filename: this._renameFile(file)\\n };\\n this.files.push(file);\\n file.status = Dropzone.ADDED;\\n this.emit(\\\"addedfile\\\", file);\\n this._enqueueThumbnail(file);\\n return this.accept(file, (function(_this) {\\n return function(error) {\\n if (error) {\\n file.accepted = false;\\n _this._errorProcessing([file], error);\\n } else {\\n file.accepted = true;\\n if (_this.options.autoQueue) {\\n _this.enqueueFile(file);\\n }\\n }\\n return _this._updateMaxFilesReachedClass();\\n };\\n })(this));\\n };\\n\\n Dropzone.prototype.enqueueFiles = function(files) {\\n var file, j, len;\\n for (j = 0, len = files.length; j < len; j++) {\\n file = files[j];\\n this.enqueueFile(file);\\n }\\n return null;\\n };\\n\\n Dropzone.prototype.enqueueFile = function(file) {\\n if (file.status === Dropzone.ADDED && file.accepted === true) {\\n file.status = Dropzone.QUEUED;\\n if (this.options.autoProcessQueue) {\\n return setTimeout(((function(_this) {\\n return function() {\\n return _this.processQueue();\\n };\\n })(this)), 0);\\n }\\n } else {\\n throw new Error(\\\"This file can't be queued because it has already been processed or was rejected.\\\");\\n }\\n };\\n\\n Dropzone.prototype._thumbnailQueue = [];\\n\\n Dropzone.prototype._processingThumbnail = false;\\n\\n Dropzone.prototype._enqueueThumbnail = function(file) {\\n if (this.options.createImageThumbnails && file.type.match(/image.*/) && file.size <= this.options.maxThumbnailFilesize * 1024 * 1024) {\\n this._thumbnailQueue.push(file);\\n return setTimeout(((function(_this) {\\n return function() {\\n return _this._processThumbnailQueue();\\n };\\n })(this)), 0);\\n }\\n };\\n\\n Dropzone.prototype._processThumbnailQueue = function() {\\n var file;\\n if (this._processingThumbnail || this._thumbnailQueue.length === 0) {\\n return;\\n }\\n this._processingThumbnail = true;\\n file = this._thumbnailQueue.shift();\\n return this.createThumbnail(file, this.options.thumbnailWidth, this.options.thumbnailHeight, this.options.thumbnailMethod, true, (function(_this) {\\n return function(dataUrl) {\\n _this.emit(\\\"thumbnail\\\", file, dataUrl);\\n _this._processingThumbnail = false;\\n return _this._processThumbnailQueue();\\n };\\n })(this));\\n };\\n\\n Dropzone.prototype.removeFile = function(file) {\\n if (file.status === Dropzone.UPLOADING) {\\n this.cancelUpload(file);\\n }\\n this.files = without(this.files, file);\\n this.emit(\\\"removedfile\\\", file);\\n if (this.files.length === 0) {\\n return this.emit(\\\"reset\\\");\\n }\\n };\\n\\n Dropzone.prototype.removeAllFiles = function(cancelIfNecessary) {\\n var file, j, len, ref;\\n if (cancelIfNecessary == null) {\\n cancelIfNecessary = false;\\n }\\n ref = this.files.slice();\\n for (j = 0, len = ref.length; j < len; j++) {\\n file = ref[j];\\n if (file.status !== Dropzone.UPLOADING || cancelIfNecessary) {\\n this.removeFile(file);\\n }\\n }\\n return null;\\n };\\n\\n Dropzone.prototype.resizeImage = function(file, width, height, resizeMethod, callback) {\\n return this.createThumbnail(file, width, height, resizeMethod, false, (function(_this) {\\n return function(dataUrl, canvas) {\\n var resizeMimeType, resizedDataURL;\\n if (canvas === null) {\\n return callback(file);\\n } else {\\n resizeMimeType = _this.options.resizeMimeType;\\n if (resizeMimeType == null) {\\n resizeMimeType = file.type;\\n }\\n resizedDataURL = canvas.toDataURL(resizeMimeType, _this.options.resizeQuality);\\n if (resizeMimeType === 'image/jpeg' || resizeMimeType === 'image/jpg') {\\n resizedDataURL = ExifRestore.restore(file.dataURL, resizedDataURL);\\n }\\n return callback(Dropzone.dataURItoBlob(resizedDataURL));\\n }\\n };\\n })(this));\\n };\\n\\n Dropzone.prototype.createThumbnail = function(file, width, height, resizeMethod, fixOrientation, callback) {\\n var fileReader;\\n fileReader = new FileReader;\\n fileReader.onload = (function(_this) {\\n return function() {\\n file.dataURL = fileReader.result;\\n if (file.type === \\\"image/svg+xml\\\") {\\n if (callback != null) {\\n callback(fileReader.result);\\n }\\n return;\\n }\\n return _this.createThumbnailFromUrl(file, width, height, resizeMethod, fixOrientation, callback);\\n };\\n })(this);\\n return fileReader.readAsDataURL(file);\\n };\\n\\n Dropzone.prototype.createThumbnailFromUrl = function(file, width, height, resizeMethod, fixOrientation, callback, crossOrigin) {\\n var img;\\n img = document.createElement(\\\"img\\\");\\n if (crossOrigin) {\\n img.crossOrigin = crossOrigin;\\n }\\n img.onload = (function(_this) {\\n return function() {\\n var loadExif;\\n loadExif = function(callback) {\\n return callback(1);\\n };\\n if ((typeof EXIF !== \\\"undefined\\\" && EXIF !== null) && fixOrientation) {\\n loadExif = function(callback) {\\n return EXIF.getData(img, function() {\\n return callback(EXIF.getTag(this, 'Orientation'));\\n });\\n };\\n }\\n return loadExif(function(orientation) {\\n var canvas, ctx, ref, ref1, ref2, ref3, resizeInfo, thumbnail;\\n file.width = img.width;\\n file.height = img.height;\\n resizeInfo = _this.options.resize.call(_this, file, width, height, resizeMethod);\\n canvas = document.createElement(\\\"canvas\\\");\\n ctx = canvas.getContext(\\\"2d\\\");\\n canvas.width = resizeInfo.trgWidth;\\n canvas.height = resizeInfo.trgHeight;\\n if (orientation > 4) {\\n canvas.width = resizeInfo.trgHeight;\\n canvas.height = resizeInfo.trgWidth;\\n }\\n switch (orientation) {\\n case 2:\\n ctx.translate(canvas.width, 0);\\n ctx.scale(-1, 1);\\n break;\\n case 3:\\n ctx.translate(canvas.width, canvas.height);\\n ctx.rotate(Math.PI);\\n break;\\n case 4:\\n ctx.translate(0, canvas.height);\\n ctx.scale(1, -1);\\n break;\\n case 5:\\n ctx.rotate(0.5 * Math.PI);\\n ctx.scale(1, -1);\\n break;\\n case 6:\\n ctx.rotate(0.5 * Math.PI);\\n ctx.translate(0, -canvas.height);\\n break;\\n case 7:\\n ctx.rotate(0.5 * Math.PI);\\n ctx.translate(canvas.width, -canvas.height);\\n ctx.scale(-1, 1);\\n break;\\n case 8:\\n ctx.rotate(-0.5 * Math.PI);\\n ctx.translate(-canvas.width, 0);\\n }\\n drawImageIOSFix(ctx, img, (ref = resizeInfo.srcX) != null ? ref : 0, (ref1 = resizeInfo.srcY) != null ? ref1 : 0, resizeInfo.srcWidth, resizeInfo.srcHeight, (ref2 = resizeInfo.trgX) != null ? ref2 : 0, (ref3 = resizeInfo.trgY) != null ? ref3 : 0, resizeInfo.trgWidth, resizeInfo.trgHeight);\\n thumbnail = canvas.toDataURL(\\\"image/png\\\");\\n if (callback != null) {\\n return callback(thumbnail, canvas);\\n }\\n });\\n };\\n })(this);\\n if (callback != null) {\\n img.onerror = callback;\\n }\\n return img.src = file.dataURL;\\n };\\n\\n Dropzone.prototype.processQueue = function() {\\n var i, parallelUploads, processingLength, queuedFiles;\\n parallelUploads = this.options.parallelUploads;\\n processingLength = this.getUploadingFiles().length;\\n i = processingLength;\\n if (processingLength >= parallelUploads) {\\n return;\\n }\\n queuedFiles = this.getQueuedFiles();\\n if (!(queuedFiles.length > 0)) {\\n return;\\n }\\n if (this.options.uploadMultiple) {\\n return this.processFiles(queuedFiles.slice(0, parallelUploads - processingLength));\\n } else {\\n while (i < parallelUploads) {\\n if (!queuedFiles.length) {\\n return;\\n }\\n this.processFile(queuedFiles.shift());\\n i++;\\n }\\n }\\n };\\n\\n Dropzone.prototype.processFile = function(file) {\\n return this.processFiles([file]);\\n };\\n\\n Dropzone.prototype.processFiles = function(files) {\\n var file, j, len;\\n for (j = 0, len = files.length; j < len; j++) {\\n file = files[j];\\n file.processing = true;\\n file.status = Dropzone.UPLOADING;\\n this.emit(\\\"processing\\\", file);\\n }\\n if (this.options.uploadMultiple) {\\n this.emit(\\\"processingmultiple\\\", files);\\n }\\n return this.uploadFiles(files);\\n };\\n\\n Dropzone.prototype._getFilesWithXhr = function(xhr) {\\n var file, files;\\n return files = (function() {\\n var j, len, ref, results;\\n ref = this.files;\\n results = [];\\n for (j = 0, len = ref.length; j < len; j++) {\\n file = ref[j];\\n if (file.xhr === xhr) {\\n results.push(file);\\n }\\n }\\n return results;\\n }).call(this);\\n };\\n\\n Dropzone.prototype.cancelUpload = function(file) {\\n var groupedFile, groupedFiles, j, k, len, len1, ref;\\n if (file.status === Dropzone.UPLOADING) {\\n groupedFiles = this._getFilesWithXhr(file.xhr);\\n for (j = 0, len = groupedFiles.length; j < len; j++) {\\n groupedFile = groupedFiles[j];\\n groupedFile.status = Dropzone.CANCELED;\\n }\\n file.xhr.abort();\\n for (k = 0, len1 = groupedFiles.length; k < len1; k++) {\\n groupedFile = groupedFiles[k];\\n this.emit(\\\"canceled\\\", groupedFile);\\n }\\n if (this.options.uploadMultiple) {\\n this.emit(\\\"canceledmultiple\\\", groupedFiles);\\n }\\n } else if ((ref = file.status) === Dropzone.ADDED || ref === Dropzone.QUEUED) {\\n file.status = Dropzone.CANCELED;\\n this.emit(\\\"canceled\\\", file);\\n if (this.options.uploadMultiple) {\\n this.emit(\\\"canceledmultiple\\\", [file]);\\n }\\n }\\n if (this.options.autoProcessQueue) {\\n return this.processQueue();\\n }\\n };\\n\\n resolveOption = function() {\\n var args, option;\\n option = arguments[0], args = 2 <= arguments.length ? slice.call(arguments, 1) : [];\\n if (typeof option === 'function') {\\n return option.apply(this, args);\\n }\\n return option;\\n };\\n\\n Dropzone.prototype.uploadFile = function(file) {\\n return this.uploadFiles([file]);\\n };\\n\\n Dropzone.prototype.uploadFiles = function(files) {\\n var doneCounter, doneFunction, file, formData, handleError, headerName, headerValue, headers, i, input, inputName, inputType, j, k, key, l, len, len1, len2, len3, m, method, o, option, progressObj, ref, ref1, ref2, ref3, ref4, ref5, response, results, updateProgress, url, value, xhr;\\n xhr = new XMLHttpRequest();\\n for (j = 0, len = files.length; j < len; j++) {\\n file = files[j];\\n file.xhr = xhr;\\n }\\n method = resolveOption(this.options.method, files);\\n url = resolveOption(this.options.url, files);\\n xhr.open(method, url, true);\\n xhr.timeout = resolveOption(this.options.timeout, files);\\n xhr.withCredentials = !!this.options.withCredentials;\\n response = null;\\n handleError = (function(_this) {\\n return function() {\\n var k, len1, results;\\n results = [];\\n for (k = 0, len1 = files.length; k < len1; k++) {\\n file = files[k];\\n results.push(_this._errorProcessing(files, response || _this.options.dictResponseError.replace(\\\"{{statusCode}}\\\", xhr.status), xhr));\\n }\\n return results;\\n };\\n })(this);\\n updateProgress = (function(_this) {\\n return function(e) {\\n var allFilesFinished, k, l, len1, len2, len3, m, progress, results;\\n if (e != null) {\\n progress = 100 * e.loaded / e.total;\\n for (k = 0, len1 = files.length; k < len1; k++) {\\n file = files[k];\\n file.upload.progress = progress;\\n file.upload.total = e.total;\\n file.upload.bytesSent = e.loaded;\\n }\\n } else {\\n allFilesFinished = true;\\n progress = 100;\\n for (l = 0, len2 = files.length; l < len2; l++) {\\n file = files[l];\\n if (!(file.upload.progress === 100 && file.upload.bytesSent === file.upload.total)) {\\n allFilesFinished = false;\\n }\\n file.upload.progress = progress;\\n file.upload.bytesSent = file.upload.total;\\n }\\n if (allFilesFinished) {\\n return;\\n }\\n }\\n results = [];\\n for (m = 0, len3 = files.length; m < len3; m++) {\\n file = files[m];\\n results.push(_this.emit(\\\"uploadprogress\\\", file, progress, file.upload.bytesSent));\\n }\\n return results;\\n };\\n })(this);\\n xhr.onload = (function(_this) {\\n return function(e) {\\n var error1, ref;\\n if (files[0].status === Dropzone.CANCELED) {\\n return;\\n }\\n if (xhr.readyState !== 4) {\\n return;\\n }\\n if (xhr.responseType !== 'arraybuffer' && xhr.responseType !== 'blob') {\\n response = xhr.responseText;\\n if (xhr.getResponseHeader(\\\"content-type\\\") && ~xhr.getResponseHeader(\\\"content-type\\\").indexOf(\\\"application/json\\\")) {\\n try {\\n response = JSON.parse(response);\\n } catch (error1) {\\n e = error1;\\n response = \\\"Invalid JSON response from server.\\\";\\n }\\n }\\n }\\n updateProgress();\\n if (!((200 <= (ref = xhr.status) && ref < 300))) {\\n return handleError();\\n } else {\\n return _this._finished(files, response, e);\\n }\\n };\\n })(this);\\n xhr.onerror = (function(_this) {\\n return function() {\\n if (files[0].status === Dropzone.CANCELED) {\\n return;\\n }\\n return handleError();\\n };\\n })(this);\\n progressObj = (ref = xhr.upload) != null ? ref : xhr;\\n progressObj.onprogress = updateProgress;\\n headers = {\\n \\\"Accept\\\": \\\"application/json\\\",\\n \\\"Cache-Control\\\": \\\"no-cache\\\",\\n \\\"X-Requested-With\\\": \\\"XMLHttpRequest\\\"\\n };\\n if (this.options.headers) {\\n extend(headers, this.options.headers);\\n }\\n for (headerName in headers) {\\n headerValue = headers[headerName];\\n if (headerValue) {\\n xhr.setRequestHeader(headerName, headerValue);\\n }\\n }\\n formData = new FormData();\\n if (this.options.params) {\\n ref1 = this.options.params;\\n for (key in ref1) {\\n value = ref1[key];\\n formData.append(key, value);\\n }\\n }\\n for (k = 0, len1 = files.length; k < len1; k++) {\\n file = files[k];\\n this.emit(\\\"sending\\\", file, xhr, formData);\\n }\\n if (this.options.uploadMultiple) {\\n this.emit(\\\"sendingmultiple\\\", files, xhr, formData);\\n }\\n if (this.element.tagName === \\\"FORM\\\") {\\n ref2 = this.element.querySelectorAll(\\\"input, textarea, select, button\\\");\\n for (l = 0, len2 = ref2.length; l < len2; l++) {\\n input = ref2[l];\\n inputName = input.getAttribute(\\\"name\\\");\\n inputType = input.getAttribute(\\\"type\\\");\\n if (input.tagName === \\\"SELECT\\\" && input.hasAttribute(\\\"multiple\\\")) {\\n ref3 = input.options;\\n for (m = 0, len3 = ref3.length; m < len3; m++) {\\n option = ref3[m];\\n if (option.selected) {\\n formData.append(inputName, option.value);\\n }\\n }\\n } else if (!inputType || ((ref4 = inputType.toLowerCase()) !== \\\"checkbox\\\" && ref4 !== \\\"radio\\\") || input.checked) {\\n formData.append(inputName, input.value);\\n }\\n }\\n }\\n doneCounter = 0;\\n results = [];\\n for (i = o = 0, ref5 = files.length - 1; 0 <= ref5 ? o <= ref5 : o >= ref5; i = 0 <= ref5 ? ++o : --o) {\\n doneFunction = (function(_this) {\\n return function(file, paramName, fileName) {\\n return function(transformedFile) {\\n formData.append(paramName, transformedFile, fileName);\\n if (++doneCounter === files.length) {\\n return _this.submitRequest(xhr, formData, files);\\n }\\n };\\n };\\n })(this);\\n results.push(this.options.transformFile.call(this, files[i], doneFunction(files[i], this._getParamName(i), files[i].upload.filename)));\\n }\\n return results;\\n };\\n\\n Dropzone.prototype.submitRequest = function(xhr, formData, files) {\\n return xhr.send(formData);\\n };\\n\\n Dropzone.prototype._finished = function(files, responseText, e) {\\n var file, j, len;\\n for (j = 0, len = files.length; j < len; j++) {\\n file = files[j];\\n file.status = Dropzone.SUCCESS;\\n this.emit(\\\"success\\\", file, responseText, e);\\n this.emit(\\\"complete\\\", file);\\n }\\n if (this.options.uploadMultiple) {\\n this.emit(\\\"successmultiple\\\", files, responseText, e);\\n this.emit(\\\"completemultiple\\\", files);\\n }\\n if (this.options.autoProcessQueue) {\\n return this.processQueue();\\n }\\n };\\n\\n Dropzone.prototype._errorProcessing = function(files, message, xhr) {\\n var file, j, len;\\n for (j = 0, len = files.length; j < len; j++) {\\n file = files[j];\\n file.status = Dropzone.ERROR;\\n this.emit(\\\"error\\\", file, message, xhr);\\n this.emit(\\\"complete\\\", file);\\n }\\n if (this.options.uploadMultiple) {\\n this.emit(\\\"errormultiple\\\", files, message, xhr);\\n this.emit(\\\"completemultiple\\\", files);\\n }\\n if (this.options.autoProcessQueue) {\\n return this.processQueue();\\n }\\n };\\n\\n return Dropzone;\\n\\n })(Emitter);\\n\\n Dropzone.version = \\\"5.1.1\\\";\\n\\n Dropzone.options = {};\\n\\n Dropzone.optionsForElement = function(element) {\\n if (element.getAttribute(\\\"id\\\")) {\\n return Dropzone.options[camelize(element.getAttribute(\\\"id\\\"))];\\n } else {\\n return void 0;\\n }\\n };\\n\\n Dropzone.instances = [];\\n\\n Dropzone.forElement = function(element) {\\n if (typeof element === \\\"string\\\") {\\n element = document.querySelector(element);\\n }\\n if ((element != null ? element.dropzone : void 0) == null) {\\n throw new Error(\\\"No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.\\\");\\n }\\n return element.dropzone;\\n };\\n\\n Dropzone.autoDiscover = true;\\n\\n Dropzone.discover = function() {\\n var checkElements, dropzone, dropzones, j, len, results;\\n if (document.querySelectorAll) {\\n dropzones = document.querySelectorAll(\\\".dropzone\\\");\\n } else {\\n dropzones = [];\\n checkElements = function(elements) {\\n var el, j, len, results;\\n results = [];\\n for (j = 0, len = elements.length; j < len; j++) {\\n el = elements[j];\\n if (/(^| )dropzone($| )/.test(el.className)) {\\n results.push(dropzones.push(el));\\n } else {\\n results.push(void 0);\\n }\\n }\\n return results;\\n };\\n checkElements(document.getElementsByTagName(\\\"div\\\"));\\n checkElements(document.getElementsByTagName(\\\"form\\\"));\\n }\\n results = [];\\n for (j = 0, len = dropzones.length; j < len; j++) {\\n dropzone = dropzones[j];\\n if (Dropzone.optionsForElement(dropzone) !== false) {\\n results.push(new Dropzone(dropzone));\\n } else {\\n results.push(void 0);\\n }\\n }\\n return results;\\n };\\n\\n Dropzone.blacklistedBrowsers = [/opera.*Macintosh.*version\\\\/12/i];\\n\\n Dropzone.isBrowserSupported = function() {\\n var capableBrowser, j, len, ref, regex;\\n capableBrowser = true;\\n if (window.File && window.FileReader && window.FileList && window.Blob && window.FormData && document.querySelector) {\\n if (!(\\\"classList\\\" in document.createElement(\\\"a\\\"))) {\\n capableBrowser = false;\\n } else {\\n ref = Dropzone.blacklistedBrowsers;\\n for (j = 0, len = ref.length; j < len; j++) {\\n regex = ref[j];\\n if (regex.test(navigator.userAgent)) {\\n capableBrowser = false;\\n continue;\\n }\\n }\\n }\\n } else {\\n capableBrowser = false;\\n }\\n return capableBrowser;\\n };\\n\\n Dropzone.dataURItoBlob = function(dataURI) {\\n var ab, byteString, i, ia, j, mimeString, ref;\\n byteString = atob(dataURI.split(',')[1]);\\n mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\\n ab = new ArrayBuffer(byteString.length);\\n ia = new Uint8Array(ab);\\n for (i = j = 0, ref = byteString.length; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j) {\\n ia[i] = byteString.charCodeAt(i);\\n }\\n return new Blob([ab], {\\n type: mimeString\\n });\\n };\\n\\n without = function(list, rejectedItem) {\\n var item, j, len, results;\\n results = [];\\n for (j = 0, len = list.length; j < len; j++) {\\n item = list[j];\\n if (item !== rejectedItem) {\\n results.push(item);\\n }\\n }\\n return results;\\n };\\n\\n camelize = function(str) {\\n return str.replace(/[\\\\-_](\\\\w)/g, function(match) {\\n return match.charAt(1).toUpperCase();\\n });\\n };\\n\\n Dropzone.createElement = function(string) {\\n var div;\\n div = document.createElement(\\\"div\\\");\\n div.innerHTML = string;\\n return div.childNodes[0];\\n };\\n\\n Dropzone.elementInside = function(element, container) {\\n if (element === container) {\\n return true;\\n }\\n while (element = element.parentNode) {\\n if (element === container) {\\n return true;\\n }\\n }\\n return false;\\n };\\n\\n Dropzone.getElement = function(el, name) {\\n var element;\\n if (typeof el === \\\"string\\\") {\\n element = document.querySelector(el);\\n } else if (el.nodeType != null) {\\n element = el;\\n }\\n if (element == null) {\\n throw new Error(\\\"Invalid `\\\" + name + \\\"` option provided. Please provide a CSS selector or a plain HTML element.\\\");\\n }\\n return element;\\n };\\n\\n Dropzone.getElements = function(els, name) {\\n var e, el, elements, error1, j, k, len, len1, ref;\\n if (els instanceof Array) {\\n elements = [];\\n try {\\n for (j = 0, len = els.length; j < len; j++) {\\n el = els[j];\\n elements.push(this.getElement(el, name));\\n }\\n } catch (error1) {\\n e = error1;\\n elements = null;\\n }\\n } else if (typeof els === \\\"string\\\") {\\n elements = [];\\n ref = document.querySelectorAll(els);\\n for (k = 0, len1 = ref.length; k < len1; k++) {\\n el = ref[k];\\n elements.push(el);\\n }\\n } else if (els.nodeType != null) {\\n elements = [els];\\n }\\n if (!((elements != null) && elements.length)) {\\n throw new Error(\\\"Invalid `\\\" + name + \\\"` option provided. Please provide a CSS selector, a plain HTML element or a list of those.\\\");\\n }\\n return elements;\\n };\\n\\n Dropzone.confirm = function(question, accepted, rejected) {\\n if (window.confirm(question)) {\\n return accepted();\\n } else if (rejected != null) {\\n return rejected();\\n }\\n };\\n\\n Dropzone.isValidFile = function(file, acceptedFiles) {\\n var baseMimeType, j, len, mimeType, validType;\\n if (!acceptedFiles) {\\n return true;\\n }\\n acceptedFiles = acceptedFiles.split(\\\",\\\");\\n mimeType = file.type;\\n baseMimeType = mimeType.replace(/\\\\/.*$/, \\\"\\\");\\n for (j = 0, len = acceptedFiles.length; j < len; j++) {\\n validType = acceptedFiles[j];\\n validType = validType.trim();\\n if (validType.charAt(0) === \\\".\\\") {\\n if (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\\n return true;\\n }\\n } else if (/\\\\/\\\\*$/.test(validType)) {\\n if (baseMimeType === validType.replace(/\\\\/.*$/, \\\"\\\")) {\\n return true;\\n }\\n } else {\\n if (mimeType === validType) {\\n return true;\\n }\\n }\\n }\\n return false;\\n };\\n\\n if (typeof jQuery !== \\\"undefined\\\" && jQuery !== null) {\\n jQuery.fn.dropzone = function(options) {\\n return this.each(function() {\\n return new Dropzone(this, options);\\n });\\n };\\n }\\n\\n if (typeof module !== \\\"undefined\\\" && module !== null) {\\n module.exports = Dropzone;\\n } else {\\n window.Dropzone = Dropzone;\\n }\\n\\n Dropzone.ADDED = \\\"added\\\";\\n\\n Dropzone.QUEUED = \\\"queued\\\";\\n\\n Dropzone.ACCEPTED = Dropzone.QUEUED;\\n\\n Dropzone.UPLOADING = \\\"uploading\\\";\\n\\n Dropzone.PROCESSING = Dropzone.UPLOADING;\\n\\n Dropzone.CANCELED = \\\"canceled\\\";\\n\\n Dropzone.ERROR = \\\"error\\\";\\n\\n Dropzone.SUCCESS = \\\"success\\\";\\n\\n\\n /*\\n \\n Bugfix for iOS 6 and 7\\n Source: http://stackoverflow.com/questions/11929099/html5-canvas-drawimage-ratio-bug-ios\\n based on the work of https://github.com/stomita/ios-imagefile-megapixel\\n */\\n\\n detectVerticalSquash = function(img) {\\n var alpha, canvas, ctx, data, ey, ih, iw, py, ratio, sy;\\n iw = img.naturalWidth;\\n ih = img.naturalHeight;\\n canvas = document.createElement(\\\"canvas\\\");\\n canvas.width = 1;\\n canvas.height = ih;\\n ctx = canvas.getContext(\\\"2d\\\");\\n ctx.drawImage(img, 0, 0);\\n data = ctx.getImageData(1, 0, 1, ih).data;\\n sy = 0;\\n ey = ih;\\n py = ih;\\n while (py > sy) {\\n alpha = data[(py - 1) * 4 + 3];\\n if (alpha === 0) {\\n ey = py;\\n } else {\\n sy = py;\\n }\\n py = (ey + sy) >> 1;\\n }\\n ratio = py / ih;\\n if (ratio === 0) {\\n return 1;\\n } else {\\n return ratio;\\n }\\n };\\n\\n drawImageIOSFix = function(ctx, img, sx, sy, sw, sh, dx, dy, dw, dh) {\\n var vertSquashRatio;\\n vertSquashRatio = detectVerticalSquash(img);\\n return ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh / vertSquashRatio);\\n };\\n\\n ExifRestore = (function() {\\n function ExifRestore() {}\\n\\n ExifRestore.KEY_STR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\\n\\n ExifRestore.encode64 = function(input) {\\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4, i, output;\\n output = '';\\n chr1 = void 0;\\n chr2 = void 0;\\n chr3 = '';\\n enc1 = void 0;\\n enc2 = void 0;\\n enc3 = void 0;\\n enc4 = '';\\n i = 0;\\n while (true) {\\n chr1 = input[i++];\\n chr2 = input[i++];\\n chr3 = input[i++];\\n enc1 = chr1 >> 2;\\n enc2 = (chr1 & 3) << 4 | chr2 >> 4;\\n enc3 = (chr2 & 15) << 2 | chr3 >> 6;\\n enc4 = chr3 & 63;\\n if (isNaN(chr2)) {\\n enc3 = enc4 = 64;\\n } else if (isNaN(chr3)) {\\n enc4 = 64;\\n }\\n output = output + this.KEY_STR.charAt(enc1) + this.KEY_STR.charAt(enc2) + this.KEY_STR.charAt(enc3) + this.KEY_STR.charAt(enc4);\\n chr1 = chr2 = chr3 = '';\\n enc1 = enc2 = enc3 = enc4 = '';\\n if (!(i < input.length)) {\\n break;\\n }\\n }\\n return output;\\n };\\n\\n ExifRestore.restore = function(origFileBase64, resizedFileBase64) {\\n var image, rawImage, segments;\\n if (!origFileBase64.match('data:image/jpeg;base64,')) {\\n return resizedFileBase64;\\n }\\n rawImage = this.decode64(origFileBase64.replace('data:image/jpeg;base64,', ''));\\n segments = this.slice2Segments(rawImage);\\n image = this.exifManipulation(resizedFileBase64, segments);\\n return 'data:image/jpeg;base64,' + this.encode64(image);\\n };\\n\\n ExifRestore.exifManipulation = function(resizedFileBase64, segments) {\\n var aBuffer, exifArray, newImageArray;\\n exifArray = this.getExifArray(segments);\\n newImageArray = this.insertExif(resizedFileBase64, exifArray);\\n aBuffer = new Uint8Array(newImageArray);\\n return aBuffer;\\n };\\n\\n ExifRestore.getExifArray = function(segments) {\\n var seg, x;\\n seg = void 0;\\n x = 0;\\n while (x < segments.length) {\\n seg = segments[x];\\n if (seg[0] === 255 & seg[1] === 225) {\\n return seg;\\n }\\n x++;\\n }\\n return [];\\n };\\n\\n ExifRestore.insertExif = function(resizedFileBase64, exifArray) {\\n var array, ato, buf, imageData, mae, separatePoint;\\n imageData = resizedFileBase64.replace('data:image/jpeg;base64,', '');\\n buf = this.decode64(imageData);\\n separatePoint = buf.indexOf(255, 3);\\n mae = buf.slice(0, separatePoint);\\n ato = buf.slice(separatePoint);\\n array = mae;\\n array = array.concat(exifArray);\\n array = array.concat(ato);\\n return array;\\n };\\n\\n ExifRestore.slice2Segments = function(rawImageArray) {\\n var endPoint, head, length, seg, segments;\\n head = 0;\\n segments = [];\\n while (true) {\\n if (rawImageArray[head] === 255 & rawImageArray[head + 1] === 218) {\\n break;\\n }\\n if (rawImageArray[head] === 255 & rawImageArray[head + 1] === 216) {\\n head += 2;\\n } else {\\n length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3];\\n endPoint = head + length + 2;\\n seg = rawImageArray.slice(head, endPoint);\\n segments.push(seg);\\n head = endPoint;\\n }\\n if (head > rawImageArray.length) {\\n break;\\n }\\n }\\n return segments;\\n };\\n\\n ExifRestore.decode64 = function(input) {\\n var base64test, buf, chr1, chr2, chr3, enc1, enc2, enc3, enc4, i, output;\\n output = '';\\n chr1 = void 0;\\n chr2 = void 0;\\n chr3 = '';\\n enc1 = void 0;\\n enc2 = void 0;\\n enc3 = void 0;\\n enc4 = '';\\n i = 0;\\n buf = [];\\n base64test = /[^A-Za-z0-9\\\\+\\\\/\\\\=]/g;\\n if (base64test.exec(input)) {\\n console.warning('There were invalid base64 characters in the input text.\\\\n' + 'Valid base64 characters are A-Z, a-z, 0-9, \\\\'+\\\\', \\\\'/\\\\',and \\\\'=\\\\'\\\\n' + 'Expect errors in decoding.');\\n }\\n input = input.replace(/[^A-Za-z0-9\\\\+\\\\/\\\\=]/g, '');\\n while (true) {\\n enc1 = this.KEY_STR.indexOf(input.charAt(i++));\\n enc2 = this.KEY_STR.indexOf(input.charAt(i++));\\n enc3 = this.KEY_STR.indexOf(input.charAt(i++));\\n enc4 = this.KEY_STR.indexOf(input.charAt(i++));\\n chr1 = enc1 << 2 | enc2 >> 4;\\n chr2 = (enc2 & 15) << 4 | enc3 >> 2;\\n chr3 = (enc3 & 3) << 6 | enc4;\\n buf.push(chr1);\\n if (enc3 !== 64) {\\n buf.push(chr2);\\n }\\n if (enc4 !== 64) {\\n buf.push(chr3);\\n }\\n chr1 = chr2 = chr3 = '';\\n enc1 = enc2 = enc3 = enc4 = '';\\n if (!(i < input.length)) {\\n break;\\n }\\n }\\n return buf;\\n };\\n\\n return ExifRestore;\\n\\n })();\\n\\n\\n /*\\n * contentloaded.js\\n *\\n * Author: Diego Perini (diego.perini at gmail.com)\\n * Summary: cross-browser wrapper for DOMContentLoaded\\n * Updated: 20101020\\n * License: MIT\\n * Version: 1.2\\n *\\n * URL:\\n * http://javascript.nwbox.com/ContentLoaded/\\n * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE\\n */\\n\\n contentLoaded = function(win, fn) {\\n var add, doc, done, init, poll, pre, rem, root, top;\\n done = false;\\n top = true;\\n doc = win.document;\\n root = doc.documentElement;\\n add = (doc.addEventListener ? \\\"addEventListener\\\" : \\\"attachEvent\\\");\\n rem = (doc.addEventListener ? \\\"removeEventListener\\\" : \\\"detachEvent\\\");\\n pre = (doc.addEventListener ? \\\"\\\" : \\\"on\\\");\\n init = function(e) {\\n if (e.type === \\\"readystatechange\\\" && doc.readyState !== \\\"complete\\\") {\\n return;\\n }\\n (e.type === \\\"load\\\" ? win : doc)[rem](pre + e.type, init, false);\\n if (!done && (done = true)) {\\n return fn.call(win, e.type || e);\\n }\\n };\\n poll = function() {\\n var e, error1;\\n try {\\n root.doScroll(\\\"left\\\");\\n } catch (error1) {\\n e = error1;\\n setTimeout(poll, 50);\\n return;\\n }\\n return init(\\\"poll\\\");\\n };\\n if (doc.readyState !== \\\"complete\\\") {\\n if (doc.createEventObject && root.doScroll) {\\n try {\\n top = !win.frameElement;\\n } catch (undefined) {}\\n if (top) {\\n poll();\\n }\\n }\\n doc[add](pre + \\\"DOMContentLoaded\\\", init, false);\\n doc[add](pre + \\\"readystatechange\\\", init, false);\\n return win[add](pre + \\\"load\\\", init, false);\\n }\\n };\\n\\n Dropzone._autoDiscoverFunction = function() {\\n if (Dropzone.autoDiscover) {\\n return Dropzone.discover();\\n }\\n };\\n\\n contentLoaded(window, Dropzone._autoDiscoverFunction);\\n\\n}).call(this);\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// C:/Users/SHR6M3/Development/PackITWebGui/node_modules/raw-loader!C:/Users/SHR6M3/Development/PackITWebGui/node_modules/dropzone/dist/dropzone.js\n// module id = ../../../../raw-loader/index.js!../../../../dropzone/dist/dropzone.js\n// module chunks = scripts","/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\nmodule.exports = function(src) {\r\n\tif (typeof execScript !== \"undefined\")\r\n\t\texecScript(src);\r\n\telse\r\n\t\teval.call(null, src);\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// C:/Users/SHR6M3/Development/PackITWebGui/node_modules/script-loader/addScript.js\n// module id = ../../../../script-loader/addScript.js\n// module chunks = scripts","require(\"!!C:\\\\Users\\\\SHR6M3\\\\Development\\\\PackITWebGui\\\\node_modules\\\\script-loader\\\\addScript.js\")(require(\"!!C:\\\\Users\\\\SHR6M3\\\\Development\\\\PackITWebGui\\\\node_modules\\\\raw-loader\\\\index.js!C:\\\\Users\\\\SHR6M3\\\\Development\\\\PackITWebGui\\\\node_modules\\\\dropzone\\\\dist\\\\dropzone.js\"))\n\n\n//////////////////\n// WEBPACK FOOTER\n// C:/Users/SHR6M3/Development/PackITWebGui/node_modules/script-loader!C:/Users/SHR6M3/Development/PackITWebGui/node_modules/dropzone/dist/dropzone.js\n// module id = ../../../../script-loader/index.js!../../../../dropzone/dist/dropzone.js\n// module chunks = scripts"],"sourceRoot":"webpack:///"}