From df8bff4568025d665ee890d378cc6defbd838976 Mon Sep 17 00:00:00 2001 From: Andreas Remdt Date: Fri, 31 Jul 2020 19:48:40 +0200 Subject: [PATCH 01/25] Add Babel to Gulp Installs Babel and @babel/env to transpile JavaScript into ES5 code Adapts the Gulp pipeline to process JavaScript --- gulpfile.js | 18 +++++++++++++++--- package.json | 9 ++++++--- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index ff3990860..8d27b630f 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -2,13 +2,25 @@ var gulp = require('gulp'); var sass = require('gulp-sass'); +var babel = require('gulp-babel'); gulp.task('sass', function () { - return gulp.src('./resources/sass/**/*.scss') + return gulp + .src('./src/sass/**/*.scss') .pipe(sass.sync().on('error', sass.logError)) .pipe(gulp.dest('./resources/css')); }); -gulp.task('sass:watch', function () { - gulp.watch('./resources/sass/**/*.scss', gulp.series('sass')); +gulp.task('js', function () { + return gulp + .src('./src/js/**/*.js') + .pipe(babel({ presets: ['@babel/env'] })) + .pipe(gulp.dest('./resources/js')); }); + +gulp.task('watch', function () { + gulp.watch('./src/sass/**/*.scss', gulp.series('sass')); + gulp.watch('./src/js/*.js', gulp.series('js')); +}); + +gulp.task('default', gulp.parallel('sass', 'js')); \ No newline at end of file diff --git a/package.json b/package.json index c9ee90ea6..eec6074ad 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,8 @@ "version": "2.4.0-alpha", "description": "A Photobooth webinterface for Raspberry Pi and Windows", "scripts": { - "build": "gulp sass", - "watch": "gulp sass:watch", + "build": "gulp", + "watch": "gulp watch", "test": "echo \"Error: no test specified\" && exit 1", "eslint": "eslint resources/js/*.js", "eslint:fix": "eslint resources/js/*.js --fix", @@ -43,9 +43,12 @@ "photoswipe": "https://github.com/andi34/PhotoSwipe" }, "devDependencies": { + "@babel/core": "^7.11.0", + "@babel/preset-env": "^7.11.0", "archiver": "^3.1.1", "colors": "^1.4.0", "eslint": "^6.8.0", - "git-tag-version": "^1.3.1" + "git-tag-version": "^1.3.1", + "gulp-babel": "^8.0.0" } } From 607e76c32d19e3e8ea27cdadf970aaf83532618f Mon Sep 17 00:00:00 2001 From: Andreas Remdt Date: Fri, 31 Jul 2020 19:50:50 +0200 Subject: [PATCH 02/25] Move files into src, remove async/await Moves source files into the `src` folder Removes async/await and imports --- resources/js/admin.js | 214 ++- resources/js/adminshortcut.js | 21 +- resources/js/chromakeying.js | 335 ++--- resources/js/core.js | 1325 ++++++++--------- resources/js/i18n-sub.js | 25 - resources/js/i18n.js | 34 +- resources/js/login.js | 21 +- resources/js/photoinit.js | 468 +++--- resources/js/slideshow.js | 28 +- resources/js/theme.js | 8 +- resources/js/vendor/CSSPlugin.min.js | 1223 ++++++++++++++- resources/js/vendor/EasePack.min.js | 160 +- resources/js/vendor/TweenLite.min.js | 909 ++++++++++- resources/js/vendor/jquery.easing.1.3.js | 288 ++-- resources/js/vendor/jquery.gsap.min.js | 123 +- src/js/admin.js | 110 ++ src/js/adminshortcut.js | 15 + src/js/chromakeying.js | 226 +++ src/js/core.js | 783 ++++++++++ src/js/i18n.js | 12 + src/js/login.js | 16 + src/js/photoinit.js | 251 ++++ src/js/slideshow.js | 20 + src/js/theme.js | 25 + src/js/vendor/CSSPlugin.min.js | 13 + src/js/vendor/EasePack.min.js | 12 + src/js/vendor/TweenLite.min.js | 12 + src/js/vendor/jquery.easing.1.3.js | 205 +++ src/js/vendor/jquery.gsap.min.js | 14 + {resources => src}/sass/admin.scss | 398 ++--- {resources => src}/sass/chromakeying.scss | 84 +- {resources => src}/sass/login.scss | 94 +- {resources => src}/sass/manual.scss | 234 +-- {resources => src}/sass/modules/_theme.scss | 0 {resources => src}/sass/partials/_basic.scss | 0 {resources => src}/sass/partials/_button.scss | 0 {resources => src}/sass/partials/_fonts.scss | 0 .../sass/partials/_gallery.scss | 0 {resources => src}/sass/partials/_modal.scss | 0 {resources => src}/sass/partials/_ribbon.scss | 0 .../sass/partials/_scrollbar.scss | 0 .../sass/partials/_sidenav.scss | 0 {resources => src}/sass/partials/_toggle.scss | 0 .../sass/photoswipe-bottom.scss | 0 {resources => src}/sass/rounded.scss | 0 {resources => src}/sass/slideshow.scss | 0 {resources => src}/sass/style.scss | 884 +++++------ .../sass/vendor/_photoswipe.scss | 0 48 files changed, 6299 insertions(+), 2291 deletions(-) delete mode 100644 resources/js/i18n-sub.js create mode 100644 src/js/admin.js create mode 100644 src/js/adminshortcut.js create mode 100644 src/js/chromakeying.js create mode 100644 src/js/core.js create mode 100644 src/js/i18n.js create mode 100644 src/js/login.js create mode 100644 src/js/photoinit.js create mode 100644 src/js/slideshow.js create mode 100644 src/js/theme.js create mode 100644 src/js/vendor/CSSPlugin.min.js create mode 100644 src/js/vendor/EasePack.min.js create mode 100644 src/js/vendor/TweenLite.min.js create mode 100644 src/js/vendor/jquery.easing.1.3.js create mode 100644 src/js/vendor/jquery.gsap.min.js rename {resources => src}/sass/admin.scss (93%) rename {resources => src}/sass/chromakeying.scss (95%) rename {resources => src}/sass/login.scss (95%) rename {resources => src}/sass/manual.scss (93%) rename {resources => src}/sass/modules/_theme.scss (100%) rename {resources => src}/sass/partials/_basic.scss (100%) rename {resources => src}/sass/partials/_button.scss (100%) rename {resources => src}/sass/partials/_fonts.scss (100%) rename {resources => src}/sass/partials/_gallery.scss (100%) rename {resources => src}/sass/partials/_modal.scss (100%) rename {resources => src}/sass/partials/_ribbon.scss (100%) rename {resources => src}/sass/partials/_scrollbar.scss (100%) rename {resources => src}/sass/partials/_sidenav.scss (100%) rename {resources => src}/sass/partials/_toggle.scss (100%) rename {resources => src}/sass/photoswipe-bottom.scss (100%) rename {resources => src}/sass/rounded.scss (100%) rename {resources => src}/sass/slideshow.scss (100%) rename {resources => src}/sass/style.scss (93%) rename {resources => src}/sass/vendor/_photoswipe.scss (100%) diff --git a/resources/js/admin.js b/resources/js/admin.js index 545931ae2..59e77a2a2 100644 --- a/resources/js/admin.js +++ b/resources/js/admin.js @@ -1,110 +1,104 @@ -/* globals i18n */ -$(function() { - $('.panel-heading').on('click', function() { - const panel = $(this).parents('.panel'); - const others = $(this).parents('.accordion').find('.open').not(panel); - - others.removeClass('open init'); - - panel.toggleClass('open'); - panel.find('.panel-body').slideToggle(); - - others.find('.panel-body').slideUp('fast'); - }); - - $('.reset-btn').on('click', async function() { - const msg = await i18n('really_delete'); - const really = confirm(msg); - const data = {'type': 'reset'}; - const elem = $(this); - elem.addClass('saving'); - if (really) { - $.ajax({ - 'url': '../api/admin.php', - 'data': data, - 'dataType': 'json', - 'type': 'post', - 'success': function(resp) { - elem.removeClass('saving'); - elem.addClass(resp); - - setTimeout(function() { - elem.removeClass('error success'); - - window.location.reload(); - }, 3000); - } - }); - } - }); - - $('.save-btn').on('click', function(e) { - e.preventDefault(); - const elem = $(this); - elem.addClass('saving'); - const data = 'type=config&' + $('form').serialize(); - $.ajax({ - 'url': '../api/admin.php', - 'data': data, - 'dataType': 'json', - 'type': 'post', - 'success': function(resp) { - elem.removeClass('saving'); - elem.addClass(resp); - - setTimeout(function() { - elem.removeClass('error success'); - - if (resp === 'success') { - window.location.reload(); - } - }, 2000); - } - }); - }); - - $('#checkVersion a').on('click', function (ev) { - ev.preventDefault(); - - $(this).html(''); - - $.ajax({ - url: '../api/checkVersion.php', - method: 'GET', - success: async (data) => { - let message = 'Error'; - $('#checkVersion').empty(); - console.log('data', data) - if (!data.updateAvailable) { - message = await i18n('using_latest_version'); - } else if ((/^\d+\.\d+\.\d+$/u).test(data.availableVersion)) { - message = await i18n('update_available'); - } else { - message = await i18n('test_update_available'); - } - - const textElement = $('

'); - textElement.text(message); - textElement.append('
'); - textElement.append(await i18n('current_version') + ': '); - textElement.append(data.currentVersion); - textElement.append('
'); - textElement.append(await i18n('available_version') + ': '); - textElement.append(data.availableVersion); - textElement.appendTo('#checkVersion'); - } - }); - }); - $('option').mousedown(function(e) { - e.preventDefault(); - const originalScrollTop = $(this).parent().scrollTop(); - $(this).prop('selected', !$(this).prop('selected')); - const that = this; - $(this).parent().focus(); - setTimeout(function() { - $(that).parent().scrollTop(originalScrollTop); - }, 0); - - return false; - }); -}); +"use strict"; + +/* globals i18n */ +$(function () { + $('.panel-heading').on('click', function () { + var panel = $(this).parents('.panel'); + var others = $(this).parents('.accordion').find('.open').not(panel); + others.removeClass('open init'); + panel.toggleClass('open'); + panel.find('.panel-body').slideToggle(); + others.find('.panel-body').slideUp('fast'); + }); + $('.reset-btn').on('click', function () { + var msg = i18n('really_delete'); + var really = confirm(msg); + var data = { + 'type': 'reset' + }; + var elem = $(this); + elem.addClass('saving'); + + if (really) { + $.ajax({ + 'url': '../api/admin.php', + 'data': data, + 'dataType': 'json', + 'type': 'post', + 'success': function success(resp) { + elem.removeClass('saving'); + elem.addClass(resp); + setTimeout(function () { + elem.removeClass('error success'); + window.location.reload(); + }, 3000); + } + }); + } + }); + $('.save-btn').on('click', function (e) { + e.preventDefault(); + var elem = $(this); + elem.addClass('saving'); + var data = 'type=config&' + $('form').serialize(); + $.ajax({ + 'url': '../api/admin.php', + 'data': data, + 'dataType': 'json', + 'type': 'post', + 'success': function success(resp) { + elem.removeClass('saving'); + elem.addClass(resp); + setTimeout(function () { + elem.removeClass('error success'); + + if (resp === 'success') { + window.location.reload(); + } + }, 2000); + } + }); + }); + $('#checkVersion a').on('click', function (ev) { + ev.preventDefault(); + $(this).html(''); + $.ajax({ + url: '../api/checkVersion.php', + method: 'GET', + success: function success(data) { + var message = 'Error'; + $('#checkVersion').empty(); + console.log('data', data); + + if (!data.updateAvailable) { + message = i18n('using_latest_version'); + } else if (/^[0-9]+\.[0-9]+\.[0-9]+$/.test(data.availableVersion)) { + message = i18n('update_available'); + } else { + message = i18n('test_update_available'); + } + + var textElement = $('

'); + textElement.text(message); + textElement.append('
'); + textElement.append(i18n('current_version') + ': '); + textElement.append(data.currentVersion); + textElement.append('
'); + textElement.append(i18n('available_version') + ': '); + textElement.append(data.availableVersion); + textElement.appendTo('#checkVersion'); + } + }); + }); + $('option').mousedown(function (e) { + e.preventDefault(); + var originalScrollTop = $(this).parent().scrollTop(); + $(this).prop('selected', !$(this).prop('selected')); + var that = this; + $(this).parent().focus(); + setTimeout(function () { + $(that).parent().scrollTop(originalScrollTop); + }, 0); + return false; + }); +}); \ No newline at end of file diff --git a/resources/js/adminshortcut.js b/resources/js/adminshortcut.js index 4d96a0ebd..7ccc124a1 100644 --- a/resources/js/adminshortcut.js +++ b/resources/js/adminshortcut.js @@ -1,15 +1,18 @@ +"use strict"; + /* exported adminsettings */ -let admincount = 0; +var admincount = 0; function countreset() { - admincount = 0; + admincount = 0; } function adminsettings() { - if (admincount == 3) { - window.location.href = 'admin/index.php'; - } - console.log(admincount); - admincount++; - setTimeout(countreset, 10000); -} + if (admincount == 3) { + window.location.href = 'admin/index.php'; + } + + console.log(admincount); + admincount++; + setTimeout(countreset, 10000); +} \ No newline at end of file diff --git a/resources/js/chromakeying.js b/resources/js/chromakeying.js index c072e5e96..5497205b3 100644 --- a/resources/js/chromakeying.js +++ b/resources/js/chromakeying.js @@ -1,226 +1,209 @@ +"use strict"; + /* globals MarvinColorModelConverter AlphaBoundary MarvinImage */ + /* exported setBackgroundImage */ -let mainImage; -let mainImageWidth; -let mainImageHeight; -let backgroundImage; +var mainImage; +var mainImageWidth; +var mainImageHeight; +var backgroundImage; function greenToTransparency(imageIn, imageOut) { - for (let y = 0; y < imageIn.getHeight(); y++) { - for (let x = 0; x < imageIn.getWidth(); x++) { - - const color = imageIn.getIntColor(x, y); - const hsv = MarvinColorModelConverter.rgbToHsv([color]); - - if (hsv[0] >= 60 && hsv[0] <= 200 && hsv[1] >= 0.2 && hsv[2] >= 0.2) { - imageOut.setIntColor(x, y, 0, 127, 127, 127); - } else { - imageOut.setIntColor(x, y, color); - } - } + for (var y = 0; y < imageIn.getHeight(); y++) { + for (var x = 0; x < imageIn.getWidth(); x++) { + var color = imageIn.getIntColor(x, y); + var hsv = MarvinColorModelConverter.rgbToHsv([color]); + + if (hsv[0] >= 60 && hsv[0] <= 200 && hsv[1] >= 0.2 && hsv[2] >= 0.2) { + imageOut.setIntColor(x, y, 0, 127, 127, 127); + } else { + imageOut.setIntColor(x, y, color); + } } + } } function reduceGreen(image) { - for (let y = 0; y < image.getHeight(); y++) { - for (let x = 0; x < image.getWidth(); x++) { - const r = image.getIntComponent0(x, y); - const g = image.getIntComponent1(x, y); - const b = image.getIntComponent2(x, y); - const color = image.getIntColor(x, y); - const hsv = MarvinColorModelConverter.rgbToHsv([color]); - - if (hsv[0] >= 60 && hsv[0] <= 130 && hsv[1] >= 0.15 && hsv[2] >= 0.15) { - if ((r * b) != 0 && (g * g) / (r * b) > 1.5) { - image.setIntColor(x, y, 255, (r * 1.4), g, (b * 1.4)); - } else { - image.setIntColor(x, y, 255, (r * 1.2), g, (b * 1.2)); - } - } + for (var y = 0; y < image.getHeight(); y++) { + for (var x = 0; x < image.getWidth(); x++) { + var r = image.getIntComponent0(x, y); + var g = image.getIntComponent1(x, y); + var b = image.getIntComponent2(x, y); + var color = image.getIntColor(x, y); + var hsv = MarvinColorModelConverter.rgbToHsv([color]); + + if (hsv[0] >= 60 && hsv[0] <= 130 && hsv[1] >= 0.15 && hsv[2] >= 0.15) { + if (r * b != 0 && g * g / (r * b) > 1.5) { + image.setIntColor(x, y, 255, r * 1.4, g, b * 1.4); + } else { + image.setIntColor(x, y, 255, r * 1.2, g, b * 1.2); } + } } + } } function alphaBoundary(imageOut, radius) { - const ab = new AlphaBoundary(); - for (let y = 0; y < imageOut.getHeight(); y++) { - for (let x = 0; x < imageOut.getWidth(); x++) { - ab.alphaRadius(imageOut, x, y, radius); - } + var ab = new AlphaBoundary(); + + for (var y = 0; y < imageOut.getHeight(); y++) { + for (var x = 0; x < imageOut.getWidth(); x++) { + ab.alphaRadius(imageOut, x, y, radius); } + } } function setMainImage(imgSrc) { - const image = new MarvinImage(); - image.load(imgSrc, function () { - mainImageWidth = image.getWidth(); - mainImageHeight = image.getHeight(); - - const imageOut = new MarvinImage(image.getWidth(), image.getHeight()); - - //1. Convert green to transparency - greenToTransparency(image, imageOut); - - // 2. Reduce remaining green pixels - reduceGreen(imageOut); - - // 3. Apply alpha to the boundary - alphaBoundary(imageOut, 6); - - const tmpCanvas = document.createElement('canvas'); - tmpCanvas.width = mainImageWidth; - tmpCanvas.height = mainImageHeight; - imageOut.draw(tmpCanvas); - - mainImage = new Image(); - mainImage.src = tmpCanvas.toDataURL('image/png'); - mainImage.onload = function () { - drawCanvas(); - } - }); + var image = new MarvinImage(); + image.load(imgSrc, function () { + mainImageWidth = image.getWidth(); + mainImageHeight = image.getHeight(); + var imageOut = new MarvinImage(image.getWidth(), image.getHeight()); //1. Convert green to transparency + + greenToTransparency(image, imageOut); // 2. Reduce remaining green pixels + + reduceGreen(imageOut); // 3. Apply alpha to the boundary + + alphaBoundary(imageOut, 6); + var tmpCanvas = document.createElement('canvas'); + tmpCanvas.width = mainImageWidth; + tmpCanvas.height = mainImageHeight; + imageOut.draw(tmpCanvas); + mainImage = new Image(); + mainImage.src = tmpCanvas.toDataURL('image/png'); + + mainImage.onload = function () { + drawCanvas(); + }; + }); } - function setBackgroundImage(url) { - backgroundImage = new Image(); - backgroundImage.src = url; - backgroundImage.onload = function () { - drawCanvas(); - } + backgroundImage = new Image(); + backgroundImage.src = url; + + backgroundImage.onload = function () { + drawCanvas(); + }; } function drawCanvas() { - const canvas = document.getElementById('mainCanvas'); - if (typeof mainImage !== 'undefined' && mainImage !== null) { - canvas.width = mainImage.width; - canvas.height = mainImage.height; - } else if (typeof backgroundImage !== 'undefined' && backgroundImage !== null) { - canvas.width = backgroundImage.width; - canvas.height = backgroundImage.height; - } + var canvas = document.getElementById('mainCanvas'); - const ctx = canvas.getContext ? canvas.getContext('2d') : null; - ctx.clearRect(0, 0, canvas.width, canvas.height); + if (typeof mainImage !== 'undefined' && mainImage !== null) { + canvas.width = mainImage.width; + canvas.height = mainImage.height; + } else if (typeof backgroundImage !== 'undefined' && backgroundImage !== null) { + canvas.width = backgroundImage.width; + canvas.height = backgroundImage.height; + } - if (typeof backgroundImage !== 'undefined' && backgroundImage !== null) { - if (typeof mainImage !== 'undefined' && mainImage !== null) { - const size = calculateAspectRatioFit(backgroundImage.width, backgroundImage.height, mainImage.width, mainImage.height); - ctx.drawImage(backgroundImage, 0, 0, size.width, size.height); - } else { - ctx.drawImage(backgroundImage, 0, 0, backgroundImage.width, backgroundImage.height); - } - } + var ctx = canvas.getContext ? canvas.getContext('2d') : null; + ctx.clearRect(0, 0, canvas.width, canvas.height); + if (typeof backgroundImage !== 'undefined' && backgroundImage !== null) { if (typeof mainImage !== 'undefined' && mainImage !== null) { - ctx.drawImage(mainImage, 0, 0); + var size = calculateAspectRatioFit(backgroundImage.width, backgroundImage.height, mainImage.width, mainImage.height); + ctx.drawImage(backgroundImage, 0, 0, size.width, size.height); + } else { + ctx.drawImage(backgroundImage, 0, 0, backgroundImage.width, backgroundImage.height); } + } + + if (typeof mainImage !== 'undefined' && mainImage !== null) { + ctx.drawImage(mainImage, 0, 0); + } } function calculateAspectRatioFit(srcWidth, srcHeight, maxWidth, maxHeight) { - const ratio = Math.max(maxWidth / srcWidth, maxHeight / srcHeight); - - return { - width: srcWidth * ratio, - height: srcHeight * ratio - }; + var ratio = Math.max(maxWidth / srcWidth, maxHeight / srcHeight); + return { + width: srcWidth * ratio, + height: srcHeight * ratio + }; } function printImage(filename, cb) { - console.log('print', filename); - $.get( - 'api/print.php', - { - filename: filename, - }, - function (data) { - console.log('print data', data); - if (cb) { - cb(data); - } - } - ); + console.log('print', filename); + $.get('api/print.php', { + filename: filename + }, function (data) { + console.log('print data', data); + + if (cb) { + cb(data); + } + }); } function saveImage(cb) { - const canvas = document.getElementById('mainCanvas'); - const dataURL = canvas.toDataURL('image/png'); - - $.post( - 'api/chromakeying/save.php', - { - imgData: dataURL, - }, - function (data) { - if (cb) { - cb(data); - } - } - ); + var canvas = document.getElementById('mainCanvas'); + var dataURL = canvas.toDataURL('image/png'); + $.post('api/chromakeying/save.php', { + imgData: dataURL + }, function (data) { + if (cb) { + cb(data); + } + }); } function printImageHandler(ev) { - ev.preventDefault(); - - $('#print_mesg').addClass('modal--show'); - - setTimeout(function () { - saveImage((data) => { - if (!data.success) { - return; - } - - printImage(data.filename, () => { - setTimeout(function () { - $('#print_mesg').removeClass('modal--show'); - $('#print-btn').blur(); - }, 5000); - }) - }); - }, 1000); + ev.preventDefault(); + $('#print_mesg').addClass('modal--show'); + setTimeout(function () { + saveImage(function (data) { + if (!data.success) { + return; + } + + printImage(data.filename, function () { + setTimeout(function () { + $('#print_mesg').removeClass('modal--show'); + $('#print-btn').blur(); + }, 5000); + }); + }); + }, 1000); } function saveImageHandler(ev) { - ev.preventDefault(); - - $('#save_mesg').addClass('modal--show'); - - setTimeout(function () { - saveImage(() => { - setTimeout(function () { - $('#save_mesg').removeClass('modal--show'); - $('#save-btn').blur(); - }, 2000); - }); - }, 1000); + ev.preventDefault(); + $('#save_mesg').addClass('modal--show'); + setTimeout(function () { + saveImage(function () { + setTimeout(function () { + $('#save_mesg').removeClass('modal--show'); + $('#save-btn').blur(); + }, 2000); + }); + }, 1000); } function closeHandler(ev) { - ev.preventDefault(); + ev.preventDefault(); - if (document.referrer) { - window.location = document.referrer; - } else { - window.history.back(); - } + if (document.referrer) { + window.location = document.referrer; + } else { + window.history.back(); + } } $(document).ready(function () { - $('#save-btn').on('click', saveImageHandler); - $('#print-btn').on('click', printImageHandler); - $('#close-btn').on('click', closeHandler); - - setTimeout(function () { - setMainImage($('body').attr('data-main-image')); - }, 100); - - // we don't want to scroll on small or horizontal devices - const windowHeight = $(window).innerHeight(); - const bottomLine = $('.chroma-control-bar').position().top + $('.chroma-control-bar').outerHeight(true); - const diff = bottomLine - windowHeight; - - if (diff > 0) { - const canvasHeight = $('#mainCanvas').height(); - - $('#mainCanvas').css('height', (canvasHeight - diff) + 'px'); - } -}); + $('#save-btn').on('click', saveImageHandler); + $('#print-btn').on('click', printImageHandler); + $('#close-btn').on('click', closeHandler); + setTimeout(function () { + setMainImage($('body').attr('data-main-image')); + }, 100); // we don't want to scroll on small or horizontal devices + + var windowHeight = $(window).innerHeight(); + var bottomLine = $('.chroma-control-bar').position().top + $('.chroma-control-bar').outerHeight(true); + var diff = bottomLine - windowHeight; + + if (diff > 0) { + var canvasHeight = $('#mainCanvas').height(); + $('#mainCanvas').css('height', canvasHeight - diff + 'px'); + } +}); \ No newline at end of file diff --git a/resources/js/core.js b/resources/js/core.js index c26160c2c..3af35ea5d 100644 --- a/resources/js/core.js +++ b/resources/js/core.js @@ -1,783 +1,746 @@ -/* globals initPhotoSwipeFromDOM i18n */ +"use strict"; -const photoBooth = (function () { - // vars - const public = {}, - loader = $('#loader'), - startPage = $('#start'), - wrapper = $('#wrapper'), - timeToLive = config.time_to_live, - gallery = $('#gallery'), - resultPage = $('#result'), - webcamConstraints = { - audio: false, - video: { - width: config.videoWidth, - height: config.videoHeight, - facingMode: config.camera_mode, - } - }, - videoView = $('#video--view').get(0), - videoPreview = $('#video--preview').get(0), - videoSensor = document.querySelector('#video--sensor'); - - let timeOut, - takingPic = false, - nextCollageNumber = 0, - currentCollageFile = '', - imgFilter = config.default_imagefilter; - - const modal = { - open: function (selector) { - $(selector).addClass('modal--show'); - }, - close: function (selector) { - if ($(selector).hasClass('modal--show')) { - $(selector).removeClass('modal--show'); - - return true; - } - - return false; - }, - toggle: function (selector) { - $(selector).toggleClass('modal--show'); - }, - empty: function (selector) { - modal.close(selector); - - $(selector).find('.modal__body').empty(); - } - }; - - public.reloadPage = function () { - window.location.reload(); +/* globals initPhotoSwipeFromDOM i18n */ +var photoBooth = function () { + // vars + var api = {}, + loader = $('#loader'), + startPage = $('#start'), + wrapper = $('#wrapper'), + timeToLive = config.time_to_live, + gallery = $('#gallery'), + resultPage = $('#result'), + webcamConstraints = { + audio: false, + video: { + width: config.videoWidth, + height: config.videoHeight, + facingMode: config.camera_mode } - - // timeOut function - public.resetTimeOut = function () { - clearTimeout(timeOut); - - timeOut = setTimeout(function () { - public.reloadPage(); - }, timeToLive); + }, + videoView = $('#video--view').get(0), + videoPreview = $('#video--preview').get(0), + videoSensor = document.querySelector('#video--sensor'); + var timeOut, + takingPic = false, + nextCollageNumber = 0, + currentCollageFile = '', + imgFilter = config.default_imagefilter; + var modal = { + open: function open(selector) { + $(selector).addClass('modal--show'); + }, + close: function close(selector) { + if ($(selector).hasClass('modal--show')) { + $(selector).removeClass('modal--show'); + return true; + } + + return false; + }, + toggle: function toggle(selector) { + $(selector).toggleClass('modal--show'); + }, + empty: function empty(selector) { + modal.close(selector); + $(selector).find('.modal__body').empty(); } - - // reset whole thing - public.reset = function () { - loader.removeClass('open'); - loader.removeClass('error'); - modal.empty('#qrCode'); - $('.qrbtn').removeClass('active').attr('style', ''); - $('.loading').text(''); - gallery.removeClass('gallery--open'); - gallery.find('.gallery__inner').hide(); - $('.spinner').hide(); - $('.send-mail').hide(); - $('#video--view').hide(); - $('#video--preview').hide(); - $('#video--sensor').hide(); - $('#ipcam--view').hide(); - public.resetMailForm(); - $('#loader').css('background', config.colors.background_countdown); - $('#loader').css('background-color', config.colors.background_countdown); + }; + + api.reloadPage = function () { + window.location.reload(); + }; // timeOut function + + + api.resetTimeOut = function () { + clearTimeout(timeOut); + timeOut = setTimeout(function () { + api.reloadPage(); + }, timeToLive); + }; // reset whole thing + + + api.reset = function () { + loader.removeClass('open'); + loader.removeClass('error'); + modal.empty('#qrCode'); + $('.qrbtn').removeClass('active').attr('style', ''); + $('.loading').text(''); + gallery.removeClass('gallery--open'); + gallery.find('.gallery__inner').hide(); + $('.spinner').hide(); + $('.send-mail').hide(); + $('#video--view').hide(); + $('#video--preview').hide(); + $('#video--sensor').hide(); + $('#ipcam--view').hide(); + api.resetMailForm(); + $('#loader').css('background', config.colors.background_countdown); + $('#loader').css('background-color', config.colors.background_countdown); + }; // init + + + api.init = function () { + api.reset(); + initPhotoSwipeFromDOM('#galimages'); + resultPage.hide(); + startPage.addClass('open'); + + if (config.previewCamBackground) { + api.startVideo('preview'); } + }; - // init - public.init = function () { - public.reset(); + api.openNav = function () { + $('#mySidenav').addClass('sidenav--open'); + }; - initPhotoSwipeFromDOM('#galimages'); + api.closeNav = function () { + $('#mySidenav').removeClass('sidenav--open'); + }; - resultPage.hide(); - startPage.addClass('open'); - if (config.previewCamBackground) { - public.startVideo('preview'); - } - } + api.toggleNav = function () { + $('#mySidenav').toggleClass('sidenav--open'); + }; - public.openNav = function () { - $('#mySidenav').addClass('sidenav--open'); + api.startVideo = function (mode) { + if (config.previewCamBackground) { + api.stopVideo('preview'); } - public.closeNav = function () { - $('#mySidenav').removeClass('sidenav--open'); + if (!navigator.mediaDevices) { + return; } - public.toggleNav = function () { - $('#mySidenav').toggleClass('sidenav--open'); - } - - public.startVideo = function (mode) { - - if (config.previewCamBackground) { - public.stopVideo('preview'); - } - - if (!navigator.mediaDevices) { - return; - } - - const getMedia = (navigator.mediaDevices.getUserMedia || navigator.mediaDevices.webkitGetUserMedia || navigator.mediaDevices.mozGetUserMedia || false); - - if (!getMedia) { - return; - } - - if (config.previewCamFlipHorizontal) { - $('#video--view').addClass('flip-horizontal'); - $('#video--preview').addClass('flip-horizontal'); - } + var getMedia = navigator.mediaDevices.getUserMedia || navigator.mediaDevices.webkitGetUserMedia || navigator.mediaDevices.mozGetUserMedia || false; - getMedia.call(navigator.mediaDevices, webcamConstraints) - .then(function (stream) { - if (mode === 'preview') { - $('#video--preview').show(); - videoPreview.srcObject = stream; - public.stream = stream; - wrapper.css('background-image', 'none'); - wrapper.css('background-color', 'transparent'); - } else { - $('#video--view').show(); - videoView.srcObject = stream; - } - public.stream = stream; - }) - .catch(function (error) { - console.log('Could not get user media: ', error) - }); - } - - public.stopVideo = function (mode) { - if (public.stream) { - const track = public.stream.getTracks()[0]; - track.stop(); - if (mode === 'preview') { - $('#video--preview').hide(); - } else { - $('#video--view').hide(); - } - } + if (!getMedia) { + return; } - public.thrill = function (photoStyle) { - public.closeNav(); - public.reset(); - - takingPic = true; - if (config.dev) { - console.log('Taking photo:', takingPic); - } - - if (config.previewCamBackground) { - wrapper.css('background-color', config.colors.panel); - } - - if (currentCollageFile && nextCollageNumber) { - photoStyle = 'collage'; - } - - if (config.previewFromCam) { - public.startVideo('view'); - } - - if (config.previewFromIPCam) { - $('#ipcam--view').show(); - $('#ipcam--view').addClass('streaming'); - } - - loader.addClass('open'); - public.startCountdown(nextCollageNumber ? config.collage_cntdwn_time : config.cntdwn_time, $('#counter'), () => { - public.cheese(photoStyle); - }); + if (config.previewCamFlipHorizontal) { + $('#video--view').addClass('flip-horizontal'); + $('#video--preview').addClass('flip-horizontal'); } - // Cheese - public.cheese = async function (photoStyle) { - if (config.dev) { - console.log(photoStyle); - } - - $('#counter').empty(); - $('.cheese').empty(); - - if (photoStyle === 'photo') { - const cheesemsg = await i18n('cheese'); - $('.cheese').text(cheesemsg); - } else { - const cheesemsg = await i18n('cheeseCollage'); - $('.cheese').text(cheesemsg); - $('

').text(`${nextCollageNumber + 1} / ${config.collage_limit}`).appendTo('.cheese'); - } - - if (config.previewFromCam && config.previewCamTakesPic && !public.stream && !config.dev) { - console.log('No preview by device cam available!'); + getMedia.call(navigator.mediaDevices, webcamConstraints).then(function (stream) { + if (mode === 'preview') { + $('#video--preview').show(); + videoPreview.srcObject = stream; + api.stream = stream; + wrapper.css('background-image', 'none'); + wrapper.css('background-color', 'transparent'); + } else { + $('#video--view').show(); + videoView.srcObject = stream; + } + + api.stream = stream; + })["catch"](function (error) { + console.log('Could not get user media: ', error); + }); + }; - if (config.previewFromIPCam) { - $('#ipcam--view').removeClass('streaming'); - $('#ipcam--view').hide(); - } + api.stopVideo = function (mode) { + if (api.stream) { + var track = api.stream.getTracks()[0]; + track.stop(); - public.errorPic({ - error: 'No preview by device cam available!' - }); - } else { - setTimeout(() => { - public.takePic(photoStyle); - }, config.cheese_time); - } + if (mode === 'preview') { + $('#video--preview').hide(); + } else { + $('#video--view').hide(); + } } + }; - // take Picture - public.takePic = function (photoStyle) { - if (config.dev) { - console.log('Take Picture:' + photoStyle); - } + api.thrill = function (photoStyle) { + api.closeNav(); + api.reset(); + takingPic = true; - if (config.previewFromCam) { - if (config.previewCamTakesPic && !config.dev) { - videoSensor.width = videoView.videoWidth; - videoSensor.height = videoView.videoHeight; - videoSensor.getContext('2d').drawImage(videoView, 0, 0); - } - public.stopVideo('view'); - } + if (config.dev) { + console.log('Taking photo:', takingPic); + } - if (config.previewFromIPCam) { - $('#ipcam--view').removeClass('streaming'); - $('#ipcam--view').hide(); - } + if (config.previewCamBackground) { + wrapper.css('background-color', config.colors.panel); + } - const data = { - filter: imgFilter, - style: photoStyle, - canvasimg: videoSensor.toDataURL('image/jpeg'), - }; + if (currentCollageFile && nextCollageNumber) { + photoStyle = 'collage'; + } - if (photoStyle === 'collage') { - data.file = currentCollageFile; - data.collageNumber = nextCollageNumber; - } + if (config.previewFromCam) { + api.startVideo('view'); + } - loader.css('background', config.colors.panel); - loader.css('background-color', config.colors.panel); - - jQuery.post('api/takePic.php', data).done(async function (result) { - console.log('took picture', result); - $('.cheese').empty(); - if (config.previewCamFlipHorizontal) { - $('#video--view').removeClass('flip-horizontal'); - $('#video--preview').removeClass('flip-horizontal'); - } - - // reset filter (selection) after picture was taken - imgFilter = config.default_imagefilter; - $('#mySidenav .activeSidenavBtn').removeClass('activeSidenavBtn'); - $('#' + imgFilter).addClass('activeSidenavBtn'); - - if (result.error) { - public.errorPic(result); - } else if (result.success === 'collage' && (result.current + 1) < result.limit) { - currentCollageFile = result.file; - nextCollageNumber = result.current + 1; - - $('.spinner').hide(); - $('.loading').empty(); - $('#video--sensor').hide(); - - if (config.continuous_collage) { - setTimeout(() => { - public.thrill('collage'); - }, 1000); - } else { - $('' + await i18n('nextPhoto') + '').appendTo('.loading').click((ev) => { - ev.preventDefault(); - - public.thrill('collage'); - }); - const abortmsg = await i18n('abort'); - $('.loading').append($('').text(abortmsg)); - } - } else { - currentCollageFile = ''; - nextCollageNumber = 0; - - public.processPic(photoStyle, result); - } - - }).fail(function (xhr, status, result) { - public.errorPic(result); - }); + if (config.previewFromIPCam) { + $('#ipcam--view').show(); + $('#ipcam--view').addClass('streaming'); } - // Show error Msg and reset - public.errorPic = function (data) { - setTimeout(async function () { - $('.spinner').hide(); - $('.loading').empty(); - $('.cheese').empty(); - $('#video--view').hide(); - $('#video--sensor').hide(); - loader.addClass('error'); - const errormsg = await i18n('error'); - takingPic = false; - if (config.dev) { - console.log('Taking photo:', takingPic); - } - $('.loading').append($('

').text(errormsg)); - if (config.show_error_messages || config.dev) { - $('.loading').append($('

').text(data.error)); - } - if (config.auto_reload_on_error) { - const reloadmsg = await i18n('auto_reload'); - $('.loading').append($('

').text(reloadmsg)); - setTimeout(function () { - public.reloadPage(); - }, 5000); - } else { - const reloadmsg = await i18n('reload'); - $('.loading').append($('').text(reloadmsg)); - } - }, 500); - } - - public.processPic = async function (photoStyle, result) { - const tempImageUrl = config.folders.tmp + '/' + result.file; - - $('.spinner').show(); - $('.loading').text(photoStyle === 'photo' ? await i18n('busy') : await i18n('busyCollage')); - - takingPic = false; - if (config.dev) { - console.log('Taking photo:', takingPic); - } + loader.addClass('open'); + api.startCountdown(nextCollageNumber ? config.collage_cntdwn_time : config.cntdwn_time, $('#counter'), function () { + api.cheese(photoStyle); + }); + }; // Cheese - if (photoStyle === 'photo' && config.image_preview_before_processing) { - const preloadImage = new Image(); - preloadImage.onload = () => { - $('#loader').css('background-image', `url(${tempImageUrl})`); - $('#loader').addClass('showBackgroundImage'); - } - preloadImage.src = tempImageUrl; - } - $.ajax({ - method: 'POST', - url: 'api/applyEffects.php', - data: { - file: result.file, - filter: imgFilter, - isCollage: photoStyle === 'collage', - }, - success: (data) => { - console.log('picture processed', data); - - if (data.error) { - public.errorPic(data); - } else { - public.renderPic(data.file); - } - }, - error: (jqXHR, textStatus) => { - console.log('An error occurred', textStatus); - - public.errorPic({ - error: 'Request failed: ' + textStatus, - }); - }, - }); + api.cheese = function (photoStyle) { + if (config.dev) { + console.log(photoStyle); } - // Render Picture after taking - public.renderPic = function (filename) { - // Add QR Code Image - const qrCodeModal = $('#qrCode'); - modal.empty(qrCodeModal); - $('').on('load', async function () { - const body = qrCodeModal.find('.modal__body'); + $('#counter').empty(); + $('.cheese').empty(); - $(this).appendTo(body); - $('

').css('max-width', this.width + 'px').html(await i18n('qrHelp') + '
' + config.wifi_ssid + '').appendTo(body); - }); - - // Add Print Link - $(document).off('click touchstart', '.printbtn'); - $(document).on('click', '.printbtn', function (e) { - e.preventDefault(); - e.stopPropagation(); + if (photoStyle === 'photo') { + var cheesemsg = i18n('cheese'); + $('.cheese').text(cheesemsg); + } else { + var _cheesemsg = i18n('cheeseCollage'); - public.printImage(filename, () => { - $('.printbtn').blur(); - }); - }); - - resultPage.find('.deletebtn').off('click').on('click', (ev) => { - ev.preventDefault(); + $('.cheese').text(_cheesemsg); + $('

').text("".concat(nextCollageNumber + 1, " / ").concat(config.collage_limit)).appendTo('.cheese'); + } - public.deleteImage(filename, (data) => { - if (data.success) { - public.reloadPage(); - } else { - console.log('Error while deleting image'); - } - }) - }); + if (config.previewFromCam && config.previewCamTakesPic && !api.stream && !config.dev) { + console.log('No preview by device cam available!'); - // Add Image to gallery and slider - public.addImage(filename); + if (config.previewFromIPCam) { + $('#ipcam--view').removeClass('streaming'); + $('#ipcam--view').hide(); + } + + api.errorPic({ + error: 'No preview by device cam available!' + }); + } else { + setTimeout(function () { + api.takePic(photoStyle); + }, config.cheese_time); + } + }; // take Picture - const imageUrl = config.folders.images + '/' + filename; - const preloadImage = new Image(); - preloadImage.onload = () => { - resultPage.css({ - 'background-image': `url(${imageUrl}?filter=${imgFilter})`, - }); - resultPage.attr('data-img', filename); + api.takePic = function (photoStyle) { + if (config.dev) { + console.log('Take Picture:' + photoStyle); + } - startPage.hide(); - resultPage.show(); + if (config.previewFromCam) { + if (config.previewCamTakesPic && !config.dev) { + videoSensor.width = videoView.videoWidth; + videoSensor.height = videoView.videoHeight; + videoSensor.getContext('2d').drawImage(videoView, 0, 0); + } - $('.resultInner').addClass('show'); - loader.removeClass('open'); + api.stopVideo('view'); + } - $('#loader').css('background-image', 'url()'); - $('#loader').removeClass('showBackgroundImage'); + if (config.previewFromIPCam) { + $('#ipcam--view').removeClass('streaming'); + $('#ipcam--view').hide(); + } - public.resetTimeOut(); - }; + var data = { + filter: imgFilter, + style: photoStyle, + canvasimg: videoSensor.toDataURL('image/jpeg') + }; - preloadImage.src = imageUrl; + if (photoStyle === 'collage') { + data.file = currentCollageFile; + data.collageNumber = nextCollageNumber; } - // add image to Gallery - public.addImage = function (imageName) { - const thumbImg = new Image(); - const bigImg = new Image(); - let thumbSize = ''; - let bigSize = ''; + loader.css('background', config.colors.panel); + loader.css('background-color', config.colors.panel); + jQuery.post('api/takePic.php', data).done(function (result) { + console.log('took picture', result); + $('.cheese').empty(); - let imgtoLoad = 2; + if (config.previewCamFlipHorizontal) { + $('#video--view').removeClass('flip-horizontal'); + $('#video--preview').removeClass('flip-horizontal'); + } // reset filter (selection) after picture was taken - thumbImg.onload = function () { - thumbSize = this.width + 'x' + this.height; - if (--imgtoLoad == 0) { allLoaded(); } - } - bigImg.onload = function () { - bigSize = this.width + 'x' + this.height; - if (--imgtoLoad == 0) { allLoaded(); } - } + imgFilter = config.default_imagefilter; + $('#mySidenav .activeSidenavBtn').removeClass('activeSidenavBtn'); + $('#' + imgFilter).addClass('activeSidenavBtn'); - bigImg.src = config.folders.images + '/' + imageName; - thumbImg.src = config.folders.thumbs + '/' + imageName; + if (result.error) { + api.errorPic(result); + } else if (result.success === 'collage' && result.current + 1 < result.limit) { + currentCollageFile = result.file; + nextCollageNumber = result.current + 1; + $('.spinner').hide(); + $('.loading').empty(); + $('#video--sensor').hide(); - function allLoaded() { - const linkElement = $('').html(thumbImg); + if (config.continuous_collage) { + setTimeout(function () { + api.thrill('collage'); + }, 1000); + } else { + $('' + i18n('nextPhoto') + '').appendTo('.loading').click(function (ev) { + ev.preventDefault(); + api.thrill('collage'); + }); + var abortmsg = i18n('abort'); + $('.loading').append($('').text(abortmsg)); + } + } else { + currentCollageFile = ''; + nextCollageNumber = 0; + api.processPic(photoStyle, result); + } + }).fail(function (xhr, status, result) { + api.errorPic(result); + }); + }; // Show error Msg and reset - linkElement.attr('data-size', bigSize); - linkElement.attr('href', config.folders.images + '/' + imageName); - linkElement.attr('data-med', config.folders.thumbs + '/' + imageName); - linkElement.attr('data-med-size', thumbSize); - if (config.newest_first) { - linkElement.prependTo($('#galimages')); - } else { - linkElement.appendTo($('#galimages')); - } + api.errorPic = function (data) { + setTimeout(function () { + $('.spinner').hide(); + $('.loading').empty(); + $('.cheese').empty(); + $('#video--view').hide(); + $('#video--sensor').hide(); + loader.addClass('error'); + var errormsg = i18n('error'); + takingPic = false; - $('#galimages').children().not('a').remove(); - } - } + if (config.dev) { + console.log('Taking photo:', takingPic); + } - // Open Gallery Overview - public.openGallery = function () { - if (config.scrollbar) { - gallery.addClass('scrollbar'); - } + $('.loading').append($('

').text(errormsg)); - gallery.addClass('gallery--open'); + if (config.show_error_messages || config.dev) { + $('.loading').append($('

').text(data.error)); + } - setTimeout(() => gallery.find('.gallery__inner').show(), 300); + if (config.auto_reload_on_error) { + var reloadmsg = i18n('auto_reload'); + $('.loading').append($('

').text(reloadmsg)); + setTimeout(function () { + api.reloadPage(); + }, 5000); + } else { + var _reloadmsg = i18n('reload'); + + $('.loading').append($('').text(_reloadmsg)); + } + }, 500); + }; + + api.processPic = function (photoStyle, result) { + var tempImageUrl = config.folders.tmp + '/' + result.file; + $('.spinner').show(); + $('.loading').text(photoStyle === 'photo' ? i18n('busy') : i18n('busyCollage')); + takingPic = false; + + if (config.dev) { + console.log('Taking photo:', takingPic); } - public.resetMailForm = function () { - $('#send-mail-form').trigger('reset'); - $('#mail-form-message').html(''); - }; - - // Countdown Function - public.startCountdown = function (start, element, cb) { - let count = 0; - let current = start; - - function timerFunction() { - element.text(current); - current--; - - element.removeClass('tick'); + if (photoStyle === 'photo' && config.image_preview_before_processing) { + var preloadImage = new Image(); - if (count < start) { - window.setTimeout(() => element.addClass('tick'), 50); - window.setTimeout(timerFunction, 1000); - } else { - cb(); - } - count++; - } - timerFunction(); - } - - public.printImage = function (imageSrc, cb) { - modal.open('#print_mesg'); + preloadImage.onload = function () { + $('#loader').css('background-image', "url(".concat(tempImageUrl, ")")); + $('#loader').addClass('showBackgroundImage'); + }; - setTimeout(function () { - $.ajax({ - url: 'api/print.php?filename=' + encodeURI(imageSrc), - }).done(function (data) { - if (config.dev) { - console.log(data) - } - - setTimeout(function () { - modal.close('#print_mesg'); - cb(); - }, 5000); - }); - }, 1000); - } - - public.deleteImage = function (imageName, cb) { - $.ajax({ - url: 'api/deletePhoto.php', - method: 'POST', - data: { - file: imageName, - }, - success: (data) => { - cb(data); - } - }); + preloadImage.src = tempImageUrl; } - public.toggleMailDialog = function (img) { - const mail = $('.send-mail'); - - if (mail.hasClass('mail-active')) { - public.resetMailForm(); - mail.removeClass('mail-active').fadeOut('fast'); + $.ajax({ + method: 'POST', + url: 'api/applyEffects.php', + data: { + file: result.file, + filter: imgFilter, + isCollage: photoStyle === 'collage' + }, + success: function success(data) { + console.log('picture processed', data); + + if (data.error) { + api.errorPic(data); } else { - $('#mail-form-image').val(img); - - mail.addClass('mail-active').fadeIn('fast'); + api.renderPic(data.file); } - } - - //Filter - $('.imageFilter').on('click', function () { - public.toggleNav(); + }, + error: function error(jqXHR, textStatus) { + console.log('An error occurred', textStatus); + api.errorPic({ + error: 'Request failed: ' + textStatus + }); + } }); - - $('.sidenav > div').on('click', function () { - $('.sidenav > div').removeAttr('class'); - $(this).addClass('activeSidenavBtn'); - - imgFilter = $(this).attr('id'); - const result = {file: $('#result').attr('data-img')}; - if (config.dev) { - console.log('Applying filter', imgFilter, result); - } - public.processPic(imgFilter, result); + }; // Render Picture after taking + + + api.renderPic = function (filename) { + // Add QR Code Image + var qrCodeModal = $('#qrCode'); + modal.empty(qrCodeModal); + $('').on('load', function () { + var body = qrCodeModal.find('.modal__body'); + $(this).appendTo(body); + $('

').css('max-width', this.width + 'px').html(i18n('qrHelp') + '
' + config.wifi_ssid + '').appendTo(body); + }); // Add Print Link + + $(document).off('click touchstart', '.printbtn'); + $(document).on('click', '.printbtn', function (e) { + e.preventDefault(); + e.stopPropagation(); + api.printImage(filename, function () { + $('.printbtn').blur(); + }); }); + resultPage.find('.deletebtn').off('click').on('click', function (ev) { + ev.preventDefault(); + api.deleteImage(filename, function (data) { + if (data.success) { + api.reloadPage(); + } else { + console.log('Error while deleting image'); + } + }); + }); // Add Image to gallery and slider + + api.addImage(filename); + var imageUrl = config.folders.images + '/' + filename; + var preloadImage = new Image(); + + preloadImage.onload = function () { + resultPage.css({ + 'background-image': "url(".concat(imageUrl, "?filter=").concat(imgFilter, ")") + }); + resultPage.attr('data-img', filename); + startPage.hide(); + resultPage.show(); + $('.resultInner').addClass('show'); + loader.removeClass('open'); + $('#loader').css('background-image', 'url()'); + $('#loader').removeClass('showBackgroundImage'); + api.resetTimeOut(); + }; - // Take Picture Button - $('.takePic, .newpic').on('click', function (e) { - e.preventDefault(); + preloadImage.src = imageUrl; + }; // add image to Gallery - public.thrill('photo'); - $('.newpic').blur(); - }); - // Take Collage Button - $('.takeCollage, .newcollage').on('click', function (e) { - e.preventDefault(); + api.addImage = function (imageName) { + var thumbImg = new Image(); + var bigImg = new Image(); + var thumbSize = ''; + var bigSize = ''; + var imgtoLoad = 2; - public.thrill('collage'); - $('.newcollage').blur(); - }); + thumbImg.onload = function () { + thumbSize = this.width + 'x' + this.height; - $('#mySidenav .closebtn').on('click', function (e) { - e.preventDefault(); + if (--imgtoLoad == 0) { + allLoaded(); + } + }; - public.closeNav(); - }); + bigImg.onload = function () { + bigSize = this.width + 'x' + this.height; - // Open Gallery Button - $('.gallery-button').on('click', function (e) { - e.preventDefault(); + if (--imgtoLoad == 0) { + allLoaded(); + } + }; - public.closeNav(); - public.openGallery($(this)); - }); + bigImg.src = config.folders.images + '/' + imageName; + thumbImg.src = config.folders.thumbs + '/' + imageName; - // Close Gallery Overview - $('.gallery__close').on('click', function (e) { - e.preventDefault(); + function allLoaded() { + var linkElement = $('
').html(thumbImg); + linkElement.attr('data-size', bigSize); + linkElement.attr('href', config.folders.images + '/' + imageName); + linkElement.attr('data-med', config.folders.thumbs + '/' + imageName); + linkElement.attr('data-med-size', thumbSize); - gallery.find('.gallery__inner').hide(); - gallery.removeClass('gallery--open'); - }); + if (config.newest_first) { + linkElement.prependTo($('#galimages')); + } else { + linkElement.appendTo($('#galimages')); + } - $('.mailbtn').on('click touchstart', function (e) { - e.preventDefault(); - e.stopPropagation(); + $('#galimages').children().not('a').remove(); + } + }; // Open Gallery Overview - const img = resultPage.attr('data-img'); - public.toggleMailDialog(img); - }); + api.openGallery = function () { + if (config.scrollbar) { + gallery.addClass('scrollbar'); + } - $('#send-mail-form').on('submit', function (e) { - e.preventDefault(); - - const message = $('#mail-form-message'); - message.empty(); - - const form = $(this); - const oldValue = form.find('.btn').html(); - - form.find('.btn').html(''); - - $.ajax({ - url: 'api/sendPic.php', - type: 'POST', - data: form.serialize(), - dataType: 'json', - cache: false, - success: async function (result) { - if (result.success) { - if (result.saved) { - message.fadeIn().html('' + await i18n('mailSaved') + ''); - } else { - message.fadeIn().html('' + await i18n('mailSent') + ''); - } - } else { - message.fadeIn().html('' + result.error + ''); - } - }, - error: async function () { - message.fadeIn('fast').html('' + await i18n('mailError') + ''); - }, - complete: function () { - form.find('.btn').html(oldValue); - } - }); - }); + gallery.addClass('gallery--open'); + setTimeout(function () { + return gallery.find('.gallery__inner').show(); + }, 300); + }; + + api.resetMailForm = function () { + $('#send-mail-form').trigger('reset'); + $('#mail-form-message').html(''); + }; // Countdown Function + + + api.startCountdown = function (start, element, cb) { + var count = 0; + var current = start; + + function timerFunction() { + element.text(current); + current--; + element.removeClass('tick'); + + if (count < start) { + window.setTimeout(function () { + return element.addClass('tick'); + }, 50); + window.setTimeout(timerFunction, 1000); + } else { + cb(); + } + + count++; + } - $('#send-mail-close').on('click', function () { - public.resetMailForm(); - $('.send-mail').removeClass('mail-active').fadeOut('fast'); - }); + timerFunction(); + }; - $('#result').on('click', function () { - if (!modal.close('#qrCode')) { - $('.resultInner').toggleClass('show'); + api.printImage = function (imageSrc, cb) { + modal.open('#print_mesg'); + setTimeout(function () { + $.ajax({ + url: 'api/print.php?filename=' + encodeURI(imageSrc) + }).done(function (data) { + if (config.dev) { + console.log(data); } - }); - // Show QR Code - $('.qrbtn').on('click', function (e) { - e.preventDefault(); - e.stopPropagation(); - - modal.toggle('#qrCode'); - }); - - $('.homebtn').on('click', function (e) { - e.preventDefault(); - e.stopPropagation(); - - public.reloadPage(); + setTimeout(function () { + modal.close('#print_mesg'); + cb(); + }, 5000); + }); + }, 1000); + }; + + api.deleteImage = function (imageName, cb) { + $.ajax({ + url: 'api/deletePhoto.php', + method: 'POST', + data: { + file: imageName + }, + success: function success(data) { + cb(data); + } }); + }; - $('#cups-button').on('click', function (ev) { - ev.preventDefault(); + api.toggleMailDialog = function (img) { + var mail = $('.send-mail'); - const url = `http://${location.hostname}:631/jobs/`; - const features = 'width=1024,height=600,left=0,top=0,screenX=0,screenY=0,resizable=NO,scrollbars=NO'; + if (mail.hasClass('mail-active')) { + api.resetMailForm(); + mail.removeClass('mail-active').fadeOut('fast'); + } else { + $('#mail-form-image').val(img); + mail.addClass('mail-active').fadeIn('fast'); + } + }; //Filter + + + $('.imageFilter').on('click', function () { + api.toggleNav(); + }); + $('.sidenav > div').on('click', function () { + $('.sidenav > div').removeAttr('class'); + $(this).addClass('activeSidenavBtn'); + imgFilter = $(this).attr('id'); + var result = { + file: $('#result').attr('data-img') + }; - window.open(url, 'newwin', features); - }); + if (config.dev) { + console.log('Applying filter', imgFilter, result); + } - // Go Fullscreen - $('#fs-button').on('click', function (e) { - e.preventDefault(); - if (!document.fullscreenElement) { - document.body.requestFullscreen(); - } else if (document.fullscreenElement) { - document.exitFullscreen(); - } - $('#fs-button').blur(); + api.processPic(imgFilter, result); + }); // Take Picture Button + + $('.takePic, .newpic').on('click', function (e) { + e.preventDefault(); + api.thrill('photo'); + $('.newpic').blur(); + }); // Take Collage Button + + $('.takeCollage, .newcollage').on('click', function (e) { + e.preventDefault(); + api.thrill('collage'); + $('.newcollage').blur(); + }); + $('#mySidenav .closebtn').on('click', function (e) { + e.preventDefault(); + api.closeNav(); + }); // Open Gallery Button + + $('.gallery-button').on('click', function (e) { + e.preventDefault(); + api.closeNav(); + api.openGallery($(this)); + }); // Close Gallery Overview + + $('.gallery__close').on('click', function (e) { + e.preventDefault(); + gallery.find('.gallery__inner').hide(); + gallery.removeClass('gallery--open'); + }); + $('.mailbtn').on('click touchstart', function (e) { + e.preventDefault(); + e.stopPropagation(); + var img = resultPage.attr('data-img'); + api.toggleMailDialog(img); + }); + $('#send-mail-form').on('submit', function (e) { + e.preventDefault(); + var message = $('#mail-form-message'); + message.empty(); + var form = $(this); + var oldValue = form.find('.btn').html(); + form.find('.btn').html(''); + $.ajax({ + url: 'api/sendPic.php', + type: 'POST', + data: form.serialize(), + dataType: 'json', + cache: false, + success: function success(result) { + if (result.success) { + if (result.saved) { + message.fadeIn().html('' + i18n('mailSaved') + ''); + } else { + message.fadeIn().html('' + i18n('mailSent') + ''); + } + } else { + message.fadeIn().html('' + result.error + ''); + } + }, + error: function error() { + message.fadeIn('fast').html('' + i18n('mailError') + ''); + }, + complete: function complete() { + form.find('.btn').html(oldValue); + } }); + }); + $('#send-mail-close').on('click', function () { + api.resetMailForm(); + $('.send-mail').removeClass('mail-active').fadeOut('fast'); + }); + $('#result').on('click', function () { + if (!modal.close('#qrCode')) { + $('.resultInner').toggleClass('show'); + } + }); // Show QR Code + + $('.qrbtn').on('click', function (e) { + e.preventDefault(); + e.stopPropagation(); + modal.toggle('#qrCode'); + }); + $('.homebtn').on('click', function (e) { + e.preventDefault(); + e.stopPropagation(); + api.reloadPage(); + }); + $('#cups-button').on('click', function (ev) { + ev.preventDefault(); + var url = "http://".concat(location.hostname, ":631/jobs/"); + var features = 'width=1024,height=600,left=0,top=0,screenX=0,screenY=0,resizable=NO,scrollbars=NO'; + window.open(url, 'newwin', features); + }); // Go Fullscreen + + $('#fs-button').on('click', function (e) { + e.preventDefault(); + + if (!document.fullscreenElement) { + document.body.requestFullscreen(); + } else if (document.fullscreenElement) { + document.exitFullscreen(); + } - // Fake buttons - $('.triggerPic').on('click', function (e) { - e.preventDefault(); - - public.thrill('photo'); - }); + $('#fs-button').blur(); + }); // Fake buttons + + $('.triggerPic').on('click', function (e) { + e.preventDefault(); + api.thrill('photo'); + }); + $('.triggerCollage').on('click', function (e) { + e.preventDefault(); + api.thrill('collage'); + }); + $(document).on('keyup', function (ev) { + if (config.photo_key && parseInt(config.photo_key, 10) === ev.keyCode) { + if (!takingPic) { + $('.closeGallery').trigger('click'); + $('.triggerPic').trigger('click'); + } else if (config.dev && takingPic) { + console.log('Taking photo already in progress!'); + } + } - $('.triggerCollage').on('click', function (e) { - e.preventDefault(); + if (config.collage_key && parseInt(config.collage_key, 10) === ev.keyCode) { + if (!takingPic) { + $('.closeGallery').trigger('click'); - public.thrill('collage'); - }); + if (config.use_collage) { + $('.triggerCollage').trigger('click'); + } else { + if (config.dev) { + console.log('Collage key pressed. Please enable collage in your config. Triggering photo now.'); + } - $(document).on('keyup', function (ev) { - if (config.photo_key && parseInt(config.photo_key, 10) === ev.keyCode) { - if (!takingPic) { - $('.closeGallery').trigger('click'); - $('.triggerPic').trigger('click'); - } else if (config.dev && takingPic) { - console.log('Taking photo already in progress!'); - } + $('.triggerPic').trigger('click'); } + } else if (config.dev && takingPic) { + console.log('Taking photo already in progress!'); + } + } + }); // clear Timeout to not reset the gallery, if you clicked anywhere - if (config.collage_key && parseInt(config.collage_key, 10) === ev.keyCode) { - if (!takingPic) { - $('.closeGallery').trigger('click'); - if (config.use_collage) { - $('.triggerCollage').trigger('click'); - } else { - if (config.dev) { - console.log('Collage key pressed. Please enable collage in your config. Triggering photo now.'); - } - $('.triggerPic').trigger('click'); - } - } else if (config.dev && takingPic) { - console.log('Taking photo already in progress!'); - } - } - }); + $(document).on('click', function () { + if (!startPage.is(':visible')) { + api.resetTimeOut(); + } + }); // Disable Right-Click - // clear Timeout to not reset the gallery, if you clicked anywhere - $(document).on('click', function () { - if (!startPage.is(':visible')) { - public.resetTimeOut(); - } + if (!config.dev) { + $(this).on('contextmenu', function (e) { + e.preventDefault(); }); + } - // Disable Right-Click - if (!config.dev) { - $(this).on('contextmenu', function (e) { - e.preventDefault(); - }); - } + return api; +}(); // Init on domready - return public; -})(); -// Init on domready $(function () { - photoBooth.init(); -}); + photoBooth.init(); +}); \ No newline at end of file diff --git a/resources/js/i18n-sub.js b/resources/js/i18n-sub.js deleted file mode 100644 index 5bd2e2fbe..000000000 --- a/resources/js/i18n-sub.js +++ /dev/null @@ -1,25 +0,0 @@ -/* exported i18n */ -import {LANGUAGE} from '../../api/language.php'; -import Translator from '../../vendor/simple-translator/src/translator.js'; - -const translator = new Translator({ - persist: false, - languages: [ - 'de', - 'el', - 'en', - 'es', - 'fr' - ], - defaultLanguage: 'en', - detectLanguage: false, - filesLocation: '../resources/lang' -}); - -window.i18n = function (key) { - return translator.getTranslationByKey(LANGUAGE, key); -} - -$(function () { - translator.load(LANGUAGE); -}); diff --git a/resources/js/i18n.js b/resources/js/i18n.js index d39c155eb..338ce6486 100644 --- a/resources/js/i18n.js +++ b/resources/js/i18n.js @@ -1,25 +1,13 @@ -/* exported i18n */ -import {LANGUAGE} from '../../api/language.php'; -import Translator from '../../vendor/simple-translator/src/translator.js'; +"use strict"; -const translator = new Translator({ - persist: false, - languages: [ - 'de', - 'el', - 'en', - 'es', - 'fr' - ], - defaultLanguage: 'en', - detectLanguage: false, - filesLocation: 'resources/lang' -}); - -window.i18n = function (key) { - return translator.getTranslationByKey(LANGUAGE, key); -} - -$(function () { - translator.load(LANGUAGE); +var translator = new Translator({ + persist: false, + defaultLanguage: 'en', + detectLanguage: false, + registerGlobally: 'i18n', + filesLocation: '/photobooth/resources/lang', + debug: true }); +translator.fetch(['de', 'en', 'es', 'el', 'fr']).then(function () { + translator.translatePageTo(); +}); \ No newline at end of file diff --git a/resources/js/login.js b/resources/js/login.js index 2102ffdef..194845bf3 100644 --- a/resources/js/login.js +++ b/resources/js/login.js @@ -1,16 +1,17 @@ -/* exported login */ +"use strict"; +/* exported login */ function showPassword() { - const x = document.getElementById('password'); + var x = document.getElementById('password'); - if (x.type === 'password') { - x.type = 'text'; - } else { - x.type = 'password'; - } + if (x.type === 'password') { + x.type = 'text'; + } else { + x.type = 'password'; + } } $('.password-toggle').on('click', function () { - showPassword(); - $('.password-toggle').toggleClass('fa-eye fa-eye-slash'); -}); + showPassword(); + $('.password-toggle').toggleClass('fa-eye fa-eye-slash'); +}); \ No newline at end of file diff --git a/resources/js/photoinit.js b/resources/js/photoinit.js index 80c4a6192..e0292b855 100644 --- a/resources/js/photoinit.js +++ b/resources/js/photoinit.js @@ -1,251 +1,217 @@ -/* exported initPhotoSwipeFromDOM */ -/* global photoBooth */ -function initPhotoSwipeFromDOM (gallerySelector) { - - let gallery, - ssRunning = false, - ssOnce = false; - - const ssDelay = config.slideshow_pictureTime, - ssButtonClass = '.pswp__button--playpause'; - - const parseThumbnailElements = function (container) { - return $(container).find('>a').map(function () { - const element = $(this); - - const size = element.attr('data-size').split('x'); - const medSize = element.attr('data-med-size').split('x'); - - // create slide object - const item = { - element: element.get(0), - src: element.attr('href'), - w: parseInt(size[0], 10), - h: parseInt(size[1], 10), - msrc: element.find('>img').attr('src'), - mediumImage: { - src: element.attr('data-med'), - w: parseInt(medSize[0], 10), - h: parseInt(medSize[1], 10) - } - }; - - item.originalImage = { - src: item.src, - w: item.w, - h: item.h - }; - - return item; - }).get(); - }; - - const onThumbnailClick = function (ev) { - ev.preventDefault(); - - const element = $(ev.target).closest('a'); - const index = $(gallerySelector).find('>a').index(element); - - openPhotoSwipe(index); - }; - - const openPhotoSwipe = function (index) { - const pswpElement = $('.pswp').get(0); - const items = parseThumbnailElements(gallerySelector); - - const options = { - index: index, - - getThumbBoundsFn: function (thumbIndex) { - // See Options->getThumbBoundsFn section of docs for more info - const thumbnail = items[thumbIndex].element.children[0], - pageYScroll = window.pageYOffset || document.documentElement.scrollTop, - rect = thumbnail.getBoundingClientRect(); - - return { - x: rect.left, - y: rect.top + pageYScroll, - w: rect.width - }; - }, - - shareEl: false, - zoomEl: false, - fullscreenEl: false, - }; - - // Pass data to PhotoSwipe and initialize it - gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options); - - // Slideshow not running from the start - setSlideshowState(ssButtonClass, false); - - // see: http://photoswipe.com/documentation/responsive-images.html - let realViewportWidth, - useLargeImages = false, - firstResize = true, - imageSrcWillChange; - - gallery.listen('beforeResize', function () { - - let dpiRatio = window.devicePixelRatio ? window.devicePixelRatio : 1; - dpiRatio = Math.min(dpiRatio, 2.5); - realViewportWidth = gallery.viewportSize.x * dpiRatio; - - - if (realViewportWidth >= 1200 || (!gallery.likelyTouchDevice && realViewportWidth > 800) || screen.width > 1200) { - if (!useLargeImages) { - useLargeImages = true; - imageSrcWillChange = true; - } - - } else if (useLargeImages) { - useLargeImages = false; - imageSrcWillChange = true; - } - - if (imageSrcWillChange && !firstResize) { - gallery.invalidateCurrItems(); - } - - if (firstResize) { - firstResize = false; - } - - imageSrcWillChange = false; - - }); - - gallery.listen('gettingData', function (_index, item) { - if (useLargeImages) { - item.src = item.originalImage.src; - item.w = item.originalImage.w; - item.h = item.originalImage.h; - } else { - item.src = item.mediumImage.src; - item.w = item.mediumImage.w; - item.h = item.mediumImage.h; - } - }); - - gallery.listen('afterChange', function() { - const img = gallery.currItem.src.split('\\').pop().split('/').pop(); - - $('.pswp__button--download').attr({ - href: 'api/download.php?image=' + img, - download: img, - }); - - if (ssRunning && ssOnce) { - ssOnce = false; - setTimeout(gotoNextSlide, ssDelay); - } - }); - - const resetMailForm = function () { - $('.pswp__qr').removeClass('qr-active').fadeOut('fast'); - - photoBooth.resetMailForm(); - - $('.send-mail').removeClass('mail-active').fadeOut('fast'); - }; - - gallery.listen('beforeChange', resetMailForm); - gallery.listen('close', resetMailForm); - - gallery.init(); - }; - - // QR in gallery - $('.pswp__button--qrcode').on('click touchstart', function (e) { - e.preventDefault(); - e.stopPropagation(); - - const pswpQR = $('.pswp__qr'); - - if (pswpQR.hasClass('qr-active')) { - pswpQR.removeClass('qr-active').fadeOut('fast'); - } else { - pswpQR.empty(); - let img = gallery.currItem.src; - img = img.split('\\').pop().split('/').pop(); - - $('').attr('src', 'api/qrcode.php?filename=' + img).appendTo(pswpQR); - - pswpQR.addClass('qr-active').fadeIn('fast'); - } - }); - - // print in gallery - $('.pswp__button--print').on('click touchstart', function (e) { - e.preventDefault(); - e.stopPropagation(); - - const img = gallery.currItem.src.split('\\').pop().split('/').pop(); - - photoBooth.printImage(img, () => { - gallery.close(); - }); - }); - - // Close Gallery while Taking a Picture or Collage - $('.closeGallery').on('click', function (e) { - e.preventDefault(); - - if (gallery) { - if (config.dev) { - console.log('Closing Gallery'); - } - gallery.close(); - } - }); - - // chroma keying print - $('.pswp__button--print-chroma-keying').on('click touchstart', function (e) { - e.preventDefault(); - e.stopPropagation(); - - const img = gallery.currItem.src.split('\\').pop().split('/').pop(); - - if (config.chroma_keying) { - location = 'chromakeying.php?filename=' + encodeURI(img); - } - }); - - $('.pswp__button--mail').on('click touchstart', function (e) { - e.preventDefault(); - e.stopPropagation(); - - const img = gallery.currItem.src.split('\\').pop().split('/').pop(); - - photoBooth.toggleMailDialog(img); - }); - - /* slideshow management */ - $(ssButtonClass).on('click touchstart', function(e) { - e.preventDefault(); - e.stopPropagation(); - // toggle slideshow on/off - $('.pswp__button--playpause').toggleClass('fa-play fa-pause'); - setSlideshowState(this, !ssRunning); - }); - - function setSlideshowState(el, running) { - if (running) { - setTimeout(gotoNextSlide, ssDelay / 2.0); - } - const title = running ? 'Pause Slideshow' : 'Play Slideshow'; - $(el).prop('title', title); - ssRunning = running; - } - - function gotoNextSlide() { - if (ssRunning && Boolean(gallery)) { - ssOnce = true; - gallery.next(); - } - } - - $(gallerySelector).on('click', onThumbnailClick); -} - +"use strict"; + +/* exported initPhotoSwipeFromDOM */ + +/* global photoBooth */ +function initPhotoSwipeFromDOM(gallerySelector) { + var gallery, + ssRunning = false, + ssOnce = false; + var ssDelay = config.slideshow_pictureTime, + ssButtonClass = '.pswp__button--playpause'; + + var parseThumbnailElements = function parseThumbnailElements(container) { + return $(container).find('>a').map(function () { + var element = $(this); + var size = element.attr('data-size').split('x'); + var medSize = element.attr('data-med-size').split('x'); // create slide object + + var item = { + element: element.get(0), + src: element.attr('href'), + w: parseInt(size[0], 10), + h: parseInt(size[1], 10), + msrc: element.find('>img').attr('src'), + mediumImage: { + src: element.attr('data-med'), + w: parseInt(medSize[0], 10), + h: parseInt(medSize[1], 10) + } + }; + item.originalImage = { + src: item.src, + w: item.w, + h: item.h + }; + return item; + }).get(); + }; + + var onThumbnailClick = function onThumbnailClick(ev) { + ev.preventDefault(); + var element = $(ev.target).closest('a'); + var index = $(gallerySelector).find('>a').index(element); + openPhotoSwipe(index); + }; + + var openPhotoSwipe = function openPhotoSwipe(index) { + var pswpElement = $('.pswp').get(0); + var items = parseThumbnailElements(gallerySelector); + var options = { + index: index, + getThumbBoundsFn: function getThumbBoundsFn(thumbIndex) { + // See Options->getThumbBoundsFn section of docs for more info + var thumbnail = items[thumbIndex].element.children[0], + pageYScroll = window.pageYOffset || document.documentElement.scrollTop, + rect = thumbnail.getBoundingClientRect(); + return { + x: rect.left, + y: rect.top + pageYScroll, + w: rect.width + }; + }, + shareEl: false, + zoomEl: false, + fullscreenEl: false + }; // Pass data to PhotoSwipe and initialize it + + gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options); // Slideshow not running from the start + + setSlideshowState(ssButtonClass, false); // see: http://photoswipe.com/documentation/responsive-images.html + + var realViewportWidth, + useLargeImages = false, + firstResize = true, + imageSrcWillChange; + gallery.listen('beforeResize', function () { + var dpiRatio = window.devicePixelRatio ? window.devicePixelRatio : 1; + dpiRatio = Math.min(dpiRatio, 2.5); + realViewportWidth = gallery.viewportSize.x * dpiRatio; + + if (realViewportWidth >= 1200 || !gallery.likelyTouchDevice && realViewportWidth > 800 || screen.width > 1200) { + if (!useLargeImages) { + useLargeImages = true; + imageSrcWillChange = true; + } + } else if (useLargeImages) { + useLargeImages = false; + imageSrcWillChange = true; + } + + if (imageSrcWillChange && !firstResize) { + gallery.invalidateCurrItems(); + } + + if (firstResize) { + firstResize = false; + } + + imageSrcWillChange = false; + }); + gallery.listen('gettingData', function (_index, item) { + if (useLargeImages) { + item.src = item.originalImage.src; + item.w = item.originalImage.w; + item.h = item.originalImage.h; + } else { + item.src = item.mediumImage.src; + item.w = item.mediumImage.w; + item.h = item.mediumImage.h; + } + }); + gallery.listen('afterChange', function () { + var img = gallery.currItem.src.split('\\').pop().split('/').pop(); + $('.pswp__button--download').attr({ + href: 'api/download.php?image=' + img, + download: img + }); + + if (ssRunning && ssOnce) { + ssOnce = false; + setTimeout(gotoNextSlide, ssDelay); + } + }); + + var resetMailForm = function resetMailForm() { + $('.pswp__qr').removeClass('qr-active').fadeOut('fast'); + photoBooth.resetMailForm(); + $('.send-mail').removeClass('mail-active').fadeOut('fast'); + }; + + gallery.listen('beforeChange', resetMailForm); + gallery.listen('close', resetMailForm); + gallery.init(); + }; // QR in gallery + + + $('.pswp__button--qrcode').on('click touchstart', function (e) { + e.preventDefault(); + e.stopPropagation(); + var pswpQR = $('.pswp__qr'); + + if (pswpQR.hasClass('qr-active')) { + pswpQR.removeClass('qr-active').fadeOut('fast'); + } else { + pswpQR.empty(); + var img = gallery.currItem.src; + img = img.split('\\').pop().split('/').pop(); + $('').attr('src', 'api/qrcode.php?filename=' + img).appendTo(pswpQR); + pswpQR.addClass('qr-active').fadeIn('fast'); + } + }); // print in gallery + + $('.pswp__button--print').on('click touchstart', function (e) { + e.preventDefault(); + e.stopPropagation(); + var img = gallery.currItem.src.split('\\').pop().split('/').pop(); + photoBooth.printImage(img, function () { + gallery.close(); + }); + }); // Close Gallery while Taking a Picture or Collage + + $('.closeGallery').on('click', function (e) { + e.preventDefault(); + + if (gallery) { + if (config.dev) { + console.log('Closing Gallery'); + } + + gallery.close(); + } + }); // chroma keying print + + $('.pswp__button--print-chroma-keying').on('click touchstart', function (e) { + e.preventDefault(); + e.stopPropagation(); + var img = gallery.currItem.src.split('\\').pop().split('/').pop(); + + if (config.chroma_keying) { + location = 'chromakeying.php?filename=' + encodeURI(img); + } + }); + $('.pswp__button--mail').on('click touchstart', function (e) { + e.preventDefault(); + e.stopPropagation(); + var img = gallery.currItem.src.split('\\').pop().split('/').pop(); + photoBooth.toggleMailDialog(img); + }); + /* slideshow management */ + + $(ssButtonClass).on('click touchstart', function (e) { + e.preventDefault(); + e.stopPropagation(); // toggle slideshow on/off + + $('.pswp__button--playpause').toggleClass('fa-play fa-pause'); + setSlideshowState(this, !ssRunning); + }); + + function setSlideshowState(el, running) { + if (running) { + setTimeout(gotoNextSlide, ssDelay / 2.0); + } + + var title = running ? 'Pause Slideshow' : 'Play Slideshow'; + $(el).prop('title', title); + ssRunning = running; + } + + function gotoNextSlide() { + if (ssRunning && Boolean(gallery)) { + ssOnce = true; + gallery.next(); + } + } + + $(gallerySelector).on('click', onThumbnailClick); +} \ No newline at end of file diff --git a/resources/js/slideshow.js b/resources/js/slideshow.js index e6dbb625a..c2e33c126 100644 --- a/resources/js/slideshow.js +++ b/resources/js/slideshow.js @@ -1,20 +1,14 @@ -$('#slideshow > div:gt(0)').hide(); +"use strict"; -setInterval(function() { - $('#slideshow > div:first') - .fadeOut(1000) - .next() - .fadeIn(1000) - .end() - .appendTo('#slideshow'); +$('#slideshow > div:gt(0)').hide(); +setInterval(function () { + $('#slideshow > div:first').fadeOut(1000).next().fadeIn(1000).end().appendTo('#slideshow'); }, config.slideshow_pictureTime); - -$(window).resize(function() { - $('.center').css({ - position: 'absolute', - left: ($(window).width() - $('.center').outerWidth()) / 2, - top: ($(window).height() - $('.center').outerHeight()) / 2, - }); +$(window).resize(function () { + $('.center').css({ + position: 'absolute', + left: ($(window).width() - $('.center').outerWidth()) / 2, + top: ($(window).height() - $('.center').outerHeight()) / 2 + }); }); - -$(window).resize(); +$(window).resize(); \ No newline at end of file diff --git a/resources/js/theme.js b/resources/js/theme.js index 42bd95fe8..c10874801 100644 --- a/resources/js/theme.js +++ b/resources/js/theme.js @@ -1,5 +1,6 @@ -const style = document.documentElement.style; +"use strict"; +var style = document.documentElement.style; style.setProperty('--primary-color', config.colors.primary); style.setProperty('--secondary-color', config.colors.secondary); style.setProperty('--font-color', config.colors.font); @@ -19,7 +20,6 @@ style.setProperty('--background-chroma', config.background_chroma); style.setProperty('--background-ipcam', config.ipCamURL); style.setProperty('--fontSize', config.font_size); style.setProperty('--preview-rotation', config.ipCamPreviewRotation); - $(function () { - $('#wrapper').show(); -}); + $('#wrapper').show(); +}); \ No newline at end of file diff --git a/resources/js/vendor/CSSPlugin.min.js b/resources/js/vendor/CSSPlugin.min.js index 39937f7a1..3a7533673 100644 --- a/resources/js/vendor/CSSPlugin.min.js +++ b/resources/js/vendor/CSSPlugin.min.js @@ -1,3 +1,7 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + /*! * VERSION: 2.1.3 * DATE: 2019-05-17 @@ -9,5 +13,1220 @@ * * @author: Jack Doyle, jack@greensock.com */ -var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("plugins.CSSPlugin",["plugins.TweenPlugin","TweenLite"],function(a,b){var c,d,e,f,g=function(){a.call(this,"css"),this._overwriteProps.length=0,this.setRatio=g.prototype.setRatio},h=_gsScope._gsDefine.globals,i={},j=g.prototype=new a("css");j.constructor=g,g.version="2.1.3",g.API=2,g.defaultTransformPerspective=0,g.defaultSkewType="compensated",g.defaultSmoothOrigin=!0,j="px",g.suffixMap={top:j,right:j,bottom:j,left:j,width:j,height:j,fontSize:j,padding:j,margin:j,perspective:j,lineHeight:""};var k,l,m,n,o,p,q,r,s=/(?:\-|\.|\b)(\d|\.|e\-)+/g,t=/(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,u=/(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,v=/(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b),?/gi,w=/(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,x=/(?:\d|\-|\+|=|#|\.)*/g,y=/opacity *= *([^)]*)/i,z=/opacity:([^;]*)/i,A=/alpha\(opacity *=.+?\)/i,B=/^(rgb|hsl)/,C=/([A-Z])/g,D=/-([a-z])/gi,E=/(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,F=function(a,b){return b.toUpperCase()},G=/(?:Left|Right|Width)/i,H=/(M11|M12|M21|M22)=[\d\-\.e]+/gi,I=/progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,J=/,(?=[^\)]*(?:\(|$))/gi,K=/[\s,\(]/i,L=Math.PI/180,M=180/Math.PI,N={},O={style:{}},P=_gsScope.document||{createElement:function(){return O}},Q=function(a,b){var c=P.createElementNS?P.createElementNS(b||"http://www.w3.org/1999/xhtml",a):P.createElement(a);return c.style?c:P.createElement(a)},R=Q("div"),S=Q("img"),T=g._internals={_specialProps:i},U=(_gsScope.navigator||{}).userAgent||"",V=function(){var a=U.indexOf("Android"),b=Q("a");return m=-1!==U.indexOf("Safari")&&-1===U.indexOf("Chrome")&&(-1===a||parseFloat(U.substr(a+8,2))>3),o=m&&parseFloat(U.substr(U.indexOf("Version/")+8,2))<6,n=-1!==U.indexOf("Firefox"),(/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(U)||/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(U))&&(p=parseFloat(RegExp.$1)),b?(b.style.cssText="top:1px;opacity:.55;",/^0.55/.test(b.style.opacity)):!1}(),W=function(a){return y.test("string"==typeof a?a:(a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100:1},X=function(a){_gsScope.console&&console.log(a)},Y="",Z="",$=function(a,b){b=b||R;var c,d,e=b.style;if(void 0!==e[a])return a;for(a=a.charAt(0).toUpperCase()+a.substr(1),c=["O","Moz","ms","Ms","Webkit"],d=5;--d>-1&&void 0===e[c[d]+a];);return d>=0?(Z=3===d?"ms":c[d],Y="-"+Z.toLowerCase()+"-",Z+a):null},_="undefined"!=typeof window?window:P.defaultView||{getComputedStyle:function(){}},aa=function(a){return _.getComputedStyle(a)},ba=g.getStyle=function(a,b,c,d,e){var f;return V||"opacity"!==b?(!d&&a.style[b]?f=a.style[b]:(c=c||aa(a))?f=c[b]||c.getPropertyValue(b)||c.getPropertyValue(b.replace(C,"-$1").toLowerCase()):a.currentStyle&&(f=a.currentStyle[b]),null==e||f&&"none"!==f&&"auto"!==f&&"auto auto"!==f?f:e):W(a)},ca=T.convertToPixels=function(a,c,d,e,f){if("px"===e||!e&&"lineHeight"!==c)return d;if("auto"===e||!d)return 0;var h,i,j,k=G.test(c),l=a,m=R.style,n=0>d,o=1===d;if(n&&(d=-d),o&&(d*=100),"lineHeight"!==c||e)if("%"===e&&-1!==c.indexOf("border"))h=d/100*(k?a.clientWidth:a.clientHeight);else{if(m.cssText="border:0 solid red;position:"+ba(a,"position")+";line-height:0;","%"!==e&&l.appendChild&&"v"!==e.charAt(0)&&"rem"!==e)m[k?"borderLeftWidth":"borderTopWidth"]=d+e;else{if(l=a.parentNode||P.body,-1!==ba(l,"display").indexOf("flex")&&(m.position="absolute"),i=l._gsCache,j=b.ticker.frame,i&&k&&i.time===j)return i.width*d/100;m[k?"width":"height"]=d+e}l.appendChild(R),h=parseFloat(R[k?"offsetWidth":"offsetHeight"]),l.removeChild(R),k&&"%"===e&&g.cacheWidths!==!1&&(i=l._gsCache=l._gsCache||{},i.time=j,i.width=h/d*100),0!==h||f||(h=ca(a,c,d,e,!0))}else i=aa(a).lineHeight,a.style.lineHeight=d,h=parseFloat(aa(a).lineHeight),a.style.lineHeight=i;return o&&(h/=100),n?-h:h},da=T.calculateOffset=function(a,b,c){if("absolute"!==ba(a,"position",c))return 0;var d="left"===b?"Left":"Top",e=ba(a,"margin"+d,c);return a["offset"+d]-(ca(a,b,parseFloat(e),e.replace(x,""))||0)},ea=function(a,b){var c,d,e,f={};if(b=b||aa(a,null))if(c=b.length)for(;--c>-1;)e=b[c],(-1===e.indexOf("-transform")||Fa===e)&&(f[e.replace(D,F)]=b.getPropertyValue(e));else for(c in b)(-1===c.indexOf("Transform")||Ea===c)&&(f[c]=b[c]);else if(b=a.currentStyle||a.style)for(c in b)"string"==typeof c&&void 0===f[c]&&(f[c.replace(D,F)]=b[c]);return V||(f.opacity=W(a)),d=Ta(a,b,!1),f.rotation=d.rotation,f.skewX=d.skewX,f.scaleX=d.scaleX,f.scaleY=d.scaleY,f.x=d.x,f.y=d.y,Ha&&(f.z=d.z,f.rotationX=d.rotationX,f.rotationY=d.rotationY,f.scaleZ=d.scaleZ),f.filters&&delete f.filters,f},fa=function(a,b,c,d,e){var f,g,h,i={},j=a.style;for(g in c)"cssText"!==g&&"length"!==g&&isNaN(g)&&(b[g]!==(f=c[g])||e&&e[g])&&-1===g.indexOf("Origin")&&("number"==typeof f||"string"==typeof f)&&(i[g]="auto"!==f||"left"!==g&&"top"!==g?""!==f&&"auto"!==f&&"none"!==f||"string"!=typeof b[g]||""===b[g].replace(w,"")?f:0:da(a,g),void 0!==j[g]&&(h=new ua(j,g,j[g],h)));if(d)for(g in d)"className"!==g&&(i[g]=d[g]);return{difs:i,firstMPT:h}},ga={width:["Left","Right"],height:["Top","Bottom"]},ha=["marginLeft","marginRight","marginTop","marginBottom"],ia=function(a,b,c){if("svg"===(a.nodeName+"").toLowerCase())return(c||aa(a))[b]||0;if(a.getCTM&&Qa(a))return a.getBBox()[b]||0;var d=parseFloat("width"===b?a.offsetWidth:a.offsetHeight),e=ga[b],f=e.length;for(c=c||aa(a,null);--f>-1;)d-=parseFloat(ba(a,"padding"+e[f],c,!0))||0,d-=parseFloat(ba(a,"border"+e[f]+"Width",c,!0))||0;return d},ja=function(a,b){if("contain"===a||"auto"===a||"auto auto"===a)return a+" ";(null==a||""===a)&&(a="0 0");var c,d=a.split(" "),e=-1!==a.indexOf("left")?"0%":-1!==a.indexOf("right")?"100%":d[0],f=-1!==a.indexOf("top")?"0%":-1!==a.indexOf("bottom")?"100%":d[1];if(d.length>3&&!b){for(d=a.split(", ").join(",").split(","),a=[],c=0;c2?" "+d[2]:""),b&&(b.oxp=-1!==e.indexOf("%"),b.oyp=-1!==f.indexOf("%"),b.oxr="="===e.charAt(1),b.oyr="="===f.charAt(1),b.ox=parseFloat(e.replace(w,"")),b.oy=parseFloat(f.replace(w,"")),b.v=a),b||a},ka=function(a,b){return"function"==typeof a&&(a=a(r,q)),"string"==typeof a&&"="===a.charAt(1)?parseInt(a.charAt(0)+"1",10)*parseFloat(a.substr(2)):parseFloat(a)-parseFloat(b)||0},la=function(a,b){"function"==typeof a&&(a=a(r,q));var c="string"==typeof a&&"="===a.charAt(1);return"string"==typeof a&&"v"===a.charAt(a.length-2)&&(a=(c?a.substr(0,2):0)+window["inner"+("vh"===a.substr(-2)?"Height":"Width")]*(parseFloat(c?a.substr(2):a)/100)),null==a?b:c?parseInt(a.charAt(0)+"1",10)*parseFloat(a.substr(2))+b:parseFloat(a)||0},ma=function(a,b,c,d){var e,f,g,h,i,j=1e-6;return"function"==typeof a&&(a=a(r,q)),null==a?h=b:"number"==typeof a?h=a:(e=360,f=a.split("_"),i="="===a.charAt(1),g=(i?parseInt(a.charAt(0)+"1",10)*parseFloat(f[0].substr(2)):parseFloat(f[0]))*(-1===a.indexOf("rad")?1:M)-(i?0:b),f.length&&(d&&(d[c]=b+g),-1!==a.indexOf("short")&&(g%=e,g!==g%(e/2)&&(g=0>g?g+e:g-e)),-1!==a.indexOf("_cw")&&0>g?g=(g+9999999999*e)%e-(g/e|0)*e:-1!==a.indexOf("ccw")&&g>0&&(g=(g-9999999999*e)%e-(g/e|0)*e)),h=b+g),j>h&&h>-j&&(h=0),h},na={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],fuchsia:[255,0,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},oa=function(a,b,c){return a=0>a?a+1:a>1?a-1:a,255*(1>6*a?b+(c-b)*a*6:.5>a?c:2>3*a?b+(c-b)*(2/3-a)*6:b)+.5|0},pa=g.parseColor=function(a,b){var c,d,e,f,g,h,i,j,k,l,m;if(a)if("number"==typeof a)c=[a>>16,a>>8&255,255&a];else{if(","===a.charAt(a.length-1)&&(a=a.substr(0,a.length-1)),na[a])c=na[a];else if("#"===a.charAt(0))4===a.length&&(d=a.charAt(1),e=a.charAt(2),f=a.charAt(3),a="#"+d+d+e+e+f+f),a=parseInt(a.substr(1),16),c=[a>>16,a>>8&255,255&a];else if("hsl"===a.substr(0,3))if(c=m=a.match(s),b){if(-1!==a.indexOf("="))return a.match(t)}else g=Number(c[0])%360/360,h=Number(c[1])/100,i=Number(c[2])/100,e=.5>=i?i*(h+1):i+h-i*h,d=2*i-e,c.length>3&&(c[3]=Number(c[3])),c[0]=oa(g+1/3,d,e),c[1]=oa(g,d,e),c[2]=oa(g-1/3,d,e);else c=a.match(s)||na.transparent;c[0]=Number(c[0]),c[1]=Number(c[1]),c[2]=Number(c[2]),c.length>3&&(c[3]=Number(c[3]))}else c=na.black;return b&&!m&&(d=c[0]/255,e=c[1]/255,f=c[2]/255,j=Math.max(d,e,f),k=Math.min(d,e,f),i=(j+k)/2,j===k?g=h=0:(l=j-k,h=i>.5?l/(2-j-k):l/(j+k),g=j===d?(e-f)/l+(f>e?6:0):j===e?(f-d)/l+2:(d-e)/l+4,g*=60),c[0]=g+.5|0,c[1]=100*h+.5|0,c[2]=100*i+.5|0),c},qa=function(a,b){var c,d,e,f=a.match(ra)||[],g=0,h="";if(!f.length)return a;for(c=0;c0?g[0].replace(s,""):"";return k?e=b?function(a){var b,m,n,o;if("number"==typeof a)a+=l;else if(d&&J.test(a)){for(o=a.replace(J,"|").split("|"),n=0;nn--)for(;++nm--)for(;++mi;i++)h[a[i]]=j[i]=j[i]||j[(i-1)/2>>0];return e.parse(b,h,f,g)}},ua=(T._setPluginRatio=function(a){this.plugin.setRatio(a);for(var b,c,d,e,f,g=this.data,h=g.proxy,i=g.firstMPT,j=1e-6;i;)b=h[i.v],i.r?b=i.r(b):j>b&&b>-j&&(b=0),i.t[i.p]=b,i=i._next;if(g.autoRotate&&(g.autoRotate.rotation=g.mod?g.mod.call(this._tween,h.rotation,this.t,this._tween):h.rotation),1===a||0===a)for(i=g.firstMPT,f=1===a?"e":"b";i;){if(c=i.t,c.type){if(1===c.type){for(e=c.xs0+c.s+c.xs1,d=1;d0;)i="xn"+g,h=d.p+"_"+i,n[h]=d.data[i],m[h]=d[i],f||(j=new ua(d,i,h,j,d.rxp[i]));d=d._next}return{proxy:m,end:n,firstMPT:j,pt:k}},T.CSSPropTween=function(a,b,d,e,g,h,i,j,k,l,m){this.t=a,this.p=b,this.s=d,this.c=e,this.n=i||b,a instanceof va||f.push(this.n),this.r=j?"function"==typeof j?j:Math.round:j,this.type=h||0,k&&(this.pr=k,c=!0),this.b=void 0===l?d:l,this.e=void 0===m?d+e:m,g&&(this._next=g,g._prev=this)}),wa=function(a,b,c,d,e,f){var g=new va(a,b,c,d-c,e,-1,f);return g.b=c,g.e=g.xs0=d,g},xa=g.parseComplex=function(a,b,c,d,e,f,h,i,j,l){c=c||f||"","function"==typeof d&&(d=d(r,q)),h=new va(a,b,0,0,h,l?2:1,null,!1,i,c,d),d+="",e&&ra.test(d+c)&&(d=[c,d],g.colorStringFilter(d),c=d[0],d=d[1]);var m,n,o,p,u,v,w,x,y,z,A,B,C,D=c.split(", ").join(",").split(" "),E=d.split(", ").join(",").split(" "),F=D.length,G=k!==!1;for((-1!==d.indexOf(",")||-1!==c.indexOf(","))&&(-1!==(d+c).indexOf("rgb")||-1!==(d+c).indexOf("hsl")?(D=D.join(" ").replace(J,", ").split(" "),E=E.join(" ").replace(J,", ").split(" ")):(D=D.join(" ").split(",").join(", ").split(" "),E=E.join(" ").split(",").join(", ").split(" ")),F=D.length),F!==E.length&&(D=(f||"").split(" "),F=D.length),h.plugin=j,h.setRatio=l,ra.lastIndex=0,m=0;F>m;m++)if(p=D[m],u=E[m]+"",x=parseFloat(p),x||0===x)h.appendXtra("",x,ka(u,x),u.replace(t,""),G&&-1!==u.indexOf("px")?Math.round:!1,!0);else if(e&&ra.test(p))B=u.indexOf(")")+1,B=")"+(B?u.substr(B):""),C=-1!==u.indexOf("hsl")&&V,z=u,p=pa(p,C),u=pa(u,C),y=p.length+u.length>6,y&&!V&&0===u[3]?(h["xs"+h.l]+=h.l?" transparent":"transparent",h.e=h.e.split(E[m]).join("transparent")):(V||(y=!1),C?h.appendXtra(z.substr(0,z.indexOf("hsl"))+(y?"hsla(":"hsl("),p[0],ka(u[0],p[0]),",",!1,!0).appendXtra("",p[1],ka(u[1],p[1]),"%,",!1).appendXtra("",p[2],ka(u[2],p[2]),y?"%,":"%"+B,!1):h.appendXtra(z.substr(0,z.indexOf("rgb"))+(y?"rgba(":"rgb("),p[0],u[0]-p[0],",",Math.round,!0).appendXtra("",p[1],u[1]-p[1],",",Math.round).appendXtra("",p[2],u[2]-p[2],y?",":B,Math.round),y&&(p=p.length<4?1:p[3],h.appendXtra("",p,(u.length<4?1:u[3])-p,B,!1))),ra.lastIndex=0;else if(v=p.match(s)){if(w=u.match(t),!w||w.length!==v.length)return h;for(o=0,n=0;n0;)j["xn"+ya]=0,j["xs"+ya]="";j.xs0="",j._next=j._prev=j.xfirst=j.data=j.plugin=j.setRatio=j.rxp=null,j.appendXtra=function(a,b,c,d,e,f){var g=this,h=g.l;return g["xs"+h]+=f&&(h||g["xs"+h])?" "+a:a||"",c||0===h||g.plugin?(g.l++,g.type=g.setRatio?2:1,g["xs"+g.l]=d||"",h>0?(g.data["xn"+h]=b+c,g.rxp["xn"+h]=e,g["xn"+h]=b,g.plugin||(g.xfirst=new va(g,"xn"+h,b,c,g.xfirst||g,0,g.n,e,g.pr),g.xfirst.xs0=0),g):(g.data={s:b+c},g.rxp={},g.s=b,g.c=c,g.r=e,g)):(g["xs"+h]+=b+(d||""),g)};var za=function(a,b){b=b||{},this.p=b.prefix?$(a)||a:a,i[a]=i[this.p]=this,this.format=b.formatter||sa(b.defaultValue,b.color,b.collapsible,b.multi),b.parser&&(this.parse=b.parser),this.clrs=b.color,this.multi=b.multi,this.keyword=b.keyword,this.dflt=b.defaultValue,this.allowFunc=b.allowFunc,this.pr=b.priority||0},Aa=T._registerComplexSpecialProp=function(a,b,c){"object"!=typeof b&&(b={parser:c});var d,e,f=a.split(","),g=b.defaultValue;for(c=c||[g],d=0;dh.length?i.length:h.length,g=0;j>g;g++)b=h[g]=h[g]||this.dflt,c=i[g]=i[g]||this.dflt,m&&(k=b.indexOf(m),l=c.indexOf(m),k!==l&&(-1===l?h[g]=h[g].split(m).join(""):-1===k&&(h[g]+=" "+m)));b=h.join(", "),c=i.join(", ")}return xa(a,this.p,b,c,this.clrs,this.dflt,d,this.pr,e,f)},j.parse=function(a,b,c,d,f,g,h){return this.parseComplex(a.style,this.format(ba(a,this.p,e,!1,this.dflt)),this.format(b),f,g)},g.registerSpecialProp=function(a,b,c){Aa(a,{parser:function(a,d,e,f,g,h,i){var j=new va(a,e,0,0,g,2,e,!1,c);return j.plugin=h,j.setRatio=b(a,d,f._tween,e),j},priority:c})},g.useSVGTransformAttr=!0;var Ca,Da="scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),Ea=$("transform"),Fa=Y+"transform",Ga=$("transformOrigin"),Ha=null!==$("perspective"),Ia=T.Transform=function(){this.perspective=parseFloat(g.defaultTransformPerspective)||0,this.force3D=g.defaultForce3D!==!1&&Ha?g.defaultForce3D||"auto":!1},Ja=_gsScope.SVGElement,Ka=function(a,b,c){var d,e=P.createElementNS("http://www.w3.org/2000/svg",a),f=/([a-z])([A-Z])/g;for(d in c)e.setAttributeNS(null,d.replace(f,"$1-$2").toLowerCase(),c[d]);return b.appendChild(e),e},La=P.documentElement||{},Ma=function(){var a,b,c,d=p||/Android/i.test(U)&&!_gsScope.chrome;return P.createElementNS&&La.appendChild&&!d&&(a=Ka("svg",La),b=Ka("rect",a,{width:100,height:50,x:100}),c=b.getBoundingClientRect().width,b.style[Ga]="50% 50%",b.style[Ea]="scaleX(0.5)",d=c===b.getBoundingClientRect().width&&!(n&&Ha),La.removeChild(a)),d}(),Na=function(a,b,c,d,e,f){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=a._gsTransform,w=Sa(a,!0);v&&(t=v.xOrigin,u=v.yOrigin),(!d||(h=d.split(" ")).length<2)&&(n=a.getBBox(),0===n.x&&0===n.y&&n.width+n.height===0&&(n={x:parseFloat(a.hasAttribute("x")?a.getAttribute("x"):a.hasAttribute("cx")?a.getAttribute("cx"):0)||0,y:parseFloat(a.hasAttribute("y")?a.getAttribute("y"):a.hasAttribute("cy")?a.getAttribute("cy"):0)||0,width:0,height:0}),b=ja(b).split(" "),h=[(-1!==b[0].indexOf("%")?parseFloat(b[0])/100*n.width:parseFloat(b[0]))+n.x,(-1!==b[1].indexOf("%")?parseFloat(b[1])/100*n.height:parseFloat(b[1]))+n.y]),c.xOrigin=k=parseFloat(h[0]),c.yOrigin=l=parseFloat(h[1]),d&&w!==Ra&&(m=w[0],n=w[1],o=w[2],p=w[3],q=w[4],r=w[5],s=m*p-n*o,s&&(i=k*(p/s)+l*(-o/s)+(o*r-p*q)/s,j=k*(-n/s)+l*(m/s)-(m*r-n*q)/s,k=c.xOrigin=h[0]=i,l=c.yOrigin=h[1]=j)),v&&(f&&(c.xOffset=v.xOffset,c.yOffset=v.yOffset,v=c),e||e!==!1&&g.defaultSmoothOrigin!==!1?(i=k-t,j=l-u,v.xOffset+=i*w[0]+j*w[2]-i,v.yOffset+=i*w[1]+j*w[3]-j):v.xOffset=v.yOffset=0),f||a.setAttribute("data-svg-origin",h.join(" "))},Oa=function(a){var b,c=Q("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),d=this.parentNode,e=this.nextSibling,f=this.style.cssText;if(La.appendChild(c),c.appendChild(this),this.style.display="block",a)try{b=this.getBBox(),this._originalGetBBox=this.getBBox,this.getBBox=Oa}catch(g){}else this._originalGetBBox&&(b=this._originalGetBBox());return e?d.insertBefore(this,e):d.appendChild(this),La.removeChild(c),this.style.cssText=f,b},Pa=function(a){try{return a.getBBox()}catch(b){return Oa.call(a,!0)}},Qa=function(a){return!(!Ja||!a.getCTM||a.parentNode&&!a.ownerSVGElement||!Pa(a))},Ra=[1,0,0,1,0,0],Sa=function(a,b){var c,d,e,f,g,h,i,j=a._gsTransform||new Ia,k=1e5,l=a.style;if(Ea?d=ba(a,Fa,null,!0):a.currentStyle&&(d=a.currentStyle.filter.match(H),d=d&&4===d.length?[d[0].substr(4),Number(d[2].substr(4)),Number(d[1].substr(4)),d[3].substr(4),j.x||0,j.y||0].join(","):""),c=!d||"none"===d||"matrix(1, 0, 0, 1, 0, 0)"===d,Ea&&c&&!a.offsetParent&&a!==La&&(f=l.display,l.display="block",i=a.parentNode,i&&a.offsetParent||(g=1,h=a.nextSibling,La.appendChild(a)),d=ba(a,Fa,null,!0),c=!d||"none"===d||"matrix(1, 0, 0, 1, 0, 0)"===d,f?l.display=f:Xa(l,"display"),g&&(h?i.insertBefore(a,h):i?i.appendChild(a):La.removeChild(a))),(j.svg||a.getCTM&&Qa(a))&&(c&&-1!==(l[Ea]+"").indexOf("matrix")&&(d=l[Ea],c=0),e=a.getAttribute("transform"),c&&e&&(e=a.transform.baseVal.consolidate().matrix,d="matrix("+e.a+","+e.b+","+e.c+","+e.d+","+e.e+","+e.f+")",c=0)),c)return Ra;for(e=(d||"").match(s)||[],ya=e.length;--ya>-1;)f=Number(e[ya]),e[ya]=(g=f-(f|=0))?(g*k+(0>g?-.5:.5)|0)/k+f:f;return b&&e.length>6?[e[0],e[1],e[4],e[5],e[12],e[13]]:e},Ta=T.getTransform=function(a,c,d,e){if(a._gsTransform&&d&&!e)return a._gsTransform;var f,h,i,j,k,l,m=d?a._gsTransform||new Ia:new Ia,n=m.scaleX<0,o=2e-5,p=1e5,q=Ha?parseFloat(ba(a,Ga,c,!1,"0 0 0").split(" ")[2])||m.zOrigin||0:0,r=parseFloat(g.defaultTransformPerspective)||0;if(m.svg=!(!a.getCTM||!Qa(a)),m.svg&&(Na(a,ba(a,Ga,c,!1,"50% 50%")+"",m,a.getAttribute("data-svg-origin")),Ca=g.useSVGTransformAttr||Ma),f=Sa(a),f!==Ra){if(16===f.length){var s,t,u,v,w,x=f[0],y=f[1],z=f[2],A=f[3],B=f[4],C=f[5],D=f[6],E=f[7],F=f[8],G=f[9],H=f[10],I=f[12],J=f[13],K=f[14],L=f[11],N=Math.atan2(D,H);m.zOrigin&&(K=-m.zOrigin,I=F*K-f[12],J=G*K-f[13],K=H*K+m.zOrigin-f[14]),m.rotationX=N*M,N&&(v=Math.cos(-N),w=Math.sin(-N),s=B*v+F*w,t=C*v+G*w,u=D*v+H*w,F=B*-w+F*v,G=C*-w+G*v,H=D*-w+H*v,L=E*-w+L*v,B=s,C=t,D=u),N=Math.atan2(-z,H),m.rotationY=N*M,N&&(v=Math.cos(-N),w=Math.sin(-N),s=x*v-F*w,t=y*v-G*w,u=z*v-H*w,G=y*w+G*v,H=z*w+H*v,L=A*w+L*v,x=s,y=t,z=u),N=Math.atan2(y,x),m.rotation=N*M,N&&(v=Math.cos(N),w=Math.sin(N),s=x*v+y*w,t=B*v+C*w,u=F*v+G*w,y=y*v-x*w,C=C*v-B*w,G=G*v-F*w,x=s,B=t,F=u),m.rotationX&&Math.abs(m.rotationX)+Math.abs(m.rotation)>359.9&&(m.rotationX=m.rotation=0,m.rotationY=180-m.rotationY),N=Math.atan2(B,C),m.scaleX=(Math.sqrt(x*x+y*y+z*z)*p+.5|0)/p,m.scaleY=(Math.sqrt(C*C+D*D)*p+.5|0)/p,m.scaleZ=(Math.sqrt(F*F+G*G+H*H)*p+.5|0)/p,x/=m.scaleX,B/=m.scaleY,y/=m.scaleX,C/=m.scaleY,Math.abs(N)>o?(m.skewX=N*M,B=0,"simple"!==m.skewType&&(m.scaleY*=1/Math.cos(N))):m.skewX=0,m.perspective=L?1/(0>L?-L:L):0,m.x=I,m.y=J,m.z=K,m.svg&&(m.x-=m.xOrigin-(m.xOrigin*x-m.yOrigin*B),m.y-=m.yOrigin-(m.yOrigin*y-m.xOrigin*C))}else if(!Ha||e||!f.length||m.x!==f[4]||m.y!==f[5]||!m.rotationX&&!m.rotationY){var O=f.length>=6,P=O?f[0]:1,Q=f[1]||0,R=f[2]||0,S=O?f[3]:1;m.x=f[4]||0,m.y=f[5]||0,i=Math.sqrt(P*P+Q*Q),j=Math.sqrt(S*S+R*R),k=P||Q?Math.atan2(Q,P)*M:m.rotation||0,l=R||S?Math.atan2(R,S)*M+k:m.skewX||0,m.scaleX=i,m.scaleY=j,m.rotation=k,m.skewX=l,Ha&&(m.rotationX=m.rotationY=m.z=0,m.perspective=r,m.scaleZ=1),m.svg&&(m.x-=m.xOrigin-(m.xOrigin*P+m.yOrigin*R),m.y-=m.yOrigin-(m.xOrigin*Q+m.yOrigin*S))}Math.abs(m.skewX)>90&&Math.abs(m.skewX)<270&&(n?(m.scaleX*=-1,m.skewX+=m.rotation<=0?180:-180,m.rotation+=m.rotation<=0?180:-180):(m.scaleY*=-1,m.skewX+=m.skewX<=0?180:-180)),m.zOrigin=q;for(h in m)m[h]-o&&(m[h]=0)}return d&&(a._gsTransform=m,m.svg&&(Ca&&a.style[Ea]?b.delayedCall(.001,function(){Xa(a.style,Ea)}):!Ca&&a.getAttribute("transform")&&b.delayedCall(.001,function(){a.removeAttribute("transform")}))),m},Ua=function(a){var b,c,d=this.data,e=-d.rotation*L,f=e+d.skewX*L,g=1e5,h=(Math.cos(e)*d.scaleX*g|0)/g,i=(Math.sin(e)*d.scaleX*g|0)/g,j=(Math.sin(f)*-d.scaleY*g|0)/g,k=(Math.cos(f)*d.scaleY*g|0)/g,l=this.t.style,m=this.t.currentStyle;if(m){c=i,i=-j,j=-c,b=m.filter,l.filter="";var n,o,q=this.t.offsetWidth,r=this.t.offsetHeight,s="absolute"!==m.position,t="progid:DXImageTransform.Microsoft.Matrix(M11="+h+", M12="+i+", M21="+j+", M22="+k,u=d.x+q*d.xPercent/100,v=d.y+r*d.yPercent/100;if(null!=d.ox&&(n=(d.oxp?q*d.ox*.01:d.ox)-q/2,o=(d.oyp?r*d.oy*.01:d.oy)-r/2,u+=n-(n*h+o*i),v+=o-(n*j+o*k)),s?(n=q/2,o=r/2,t+=", Dx="+(n-(n*h+o*i)+u)+", Dy="+(o-(n*j+o*k)+v)+")"):t+=", sizingMethod='auto expand')",-1!==b.indexOf("DXImageTransform.Microsoft.Matrix(")?l.filter=b.replace(I,t):l.filter=t+" "+b,(0===a||1===a)&&1===h&&0===i&&0===j&&1===k&&(s&&-1===t.indexOf("Dx=0, Dy=0")||y.test(b)&&100!==parseFloat(RegExp.$1)||-1===b.indexOf(b.indexOf("Alpha"))&&l.removeAttribute("filter")),!s){var w,z,A,B=8>p?1:-1;for(n=d.ieOffsetX||0,o=d.ieOffsetY||0,d.ieOffsetX=Math.round((q-((0>h?-h:h)*q+(0>i?-i:i)*r))/2+u),d.ieOffsetY=Math.round((r-((0>k?-k:k)*r+(0>j?-j:j)*q))/2+v),ya=0;4>ya;ya++)z=ha[ya],w=m[z],c=-1!==w.indexOf("px")?parseFloat(w):ca(this.t,z,parseFloat(w),w.replace(x,""))||0,A=c!==d[z]?2>ya?-d.ieOffsetX:-d.ieOffsetY:2>ya?n-d.ieOffsetX:o-d.ieOffsetY,l[z]=(d[z]=Math.round(c-A*(0===ya||2===ya?1:B)))+"px"}}},Va=T.set3DTransformRatio=T.setTransformRatio=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u,v,w,x,y,z=this.data,A=this.t.style,B=z.rotation,C=z.rotationX,D=z.rotationY,E=z.scaleX,F=z.scaleY,G=z.scaleZ,H=z.x,I=z.y,J=z.z,K=z.svg,M=z.perspective,N=z.force3D,O=z.skewY,P=z.skewX;if(O&&(P+=O,B+=O),((1===a||0===a)&&"auto"===N&&(this.tween._totalTime===this.tween._totalDuration||!this.tween._totalTime)||!N)&&!J&&!M&&!D&&!C&&1===G||Ca&&K||!Ha)return void(B||P||K?(B*=L,x=P*L,y=1e5,c=Math.cos(B)*E,f=Math.sin(B)*E,d=Math.sin(B-x)*-F,g=Math.cos(B-x)*F,x&&"simple"===z.skewType&&(b=Math.tan(x-O*L),b=Math.sqrt(1+b*b),d*=b,g*=b,O&&(b=Math.tan(O*L),b=Math.sqrt(1+b*b),c*=b,f*=b)),K&&(H+=z.xOrigin-(z.xOrigin*c+z.yOrigin*d)+z.xOffset,I+=z.yOrigin-(z.xOrigin*f+z.yOrigin*g)+z.yOffset,Ca&&(z.xPercent||z.yPercent)&&(q=this.t.getBBox(),H+=.01*z.xPercent*q.width,I+=.01*z.yPercent*q.height),q=1e-6,q>H&&H>-q&&(H=0),q>I&&I>-q&&(I=0)),u=(c*y|0)/y+","+(f*y|0)/y+","+(d*y|0)/y+","+(g*y|0)/y+","+H+","+I+")",K&&Ca?this.t.setAttribute("transform","matrix("+u):A[Ea]=(z.xPercent||z.yPercent?"translate("+z.xPercent+"%,"+z.yPercent+"%) matrix(":"matrix(")+u):A[Ea]=(z.xPercent||z.yPercent?"translate("+z.xPercent+"%,"+z.yPercent+"%) matrix(":"matrix(")+E+",0,0,"+F+","+H+","+I+")");if(n&&(q=1e-4,q>E&&E>-q&&(E=G=2e-5),q>F&&F>-q&&(F=G=2e-5),!M||z.z||z.rotationX||z.rotationY||(M=0)),B||P)B*=L,r=c=Math.cos(B),s=f=Math.sin(B),P&&(B-=P*L,r=Math.cos(B),s=Math.sin(B),"simple"===z.skewType&&(b=Math.tan((P-O)*L),b=Math.sqrt(1+b*b),r*=b,s*=b,z.skewY&&(b=Math.tan(O*L),b=Math.sqrt(1+b*b),c*=b,f*=b))),d=-s,g=r;else{if(!(D||C||1!==G||M||K))return void(A[Ea]=(z.xPercent||z.yPercent?"translate("+z.xPercent+"%,"+z.yPercent+"%) translate3d(":"translate3d(")+H+"px,"+I+"px,"+J+"px)"+(1!==E||1!==F?" scale("+E+","+F+")":""));c=g=1,d=f=0}k=1,e=h=i=j=l=m=0,o=M?-1/M:0,p=z.zOrigin,q=1e-6,v=",",w="0",B=D*L,B&&(r=Math.cos(B),s=Math.sin(B),i=-s,l=o*-s,e=c*s,h=f*s,k=r,o*=r,c*=r,f*=r),B=C*L,B&&(r=Math.cos(B),s=Math.sin(B),b=d*r+e*s,t=g*r+h*s,j=k*s,m=o*s,e=d*-s+e*r,h=g*-s+h*r,k*=r,o*=r,d=b,g=t),1!==G&&(e*=G,h*=G,k*=G,o*=G),1!==F&&(d*=F,g*=F,j*=F,m*=F),1!==E&&(c*=E,f*=E,i*=E,l*=E),(p||K)&&(p&&(H+=e*-p,I+=h*-p,J+=k*-p+p),K&&(H+=z.xOrigin-(z.xOrigin*c+z.yOrigin*d)+z.xOffset,I+=z.yOrigin-(z.xOrigin*f+z.yOrigin*g)+z.yOffset),q>H&&H>-q&&(H=w),q>I&&I>-q&&(I=w),q>J&&J>-q&&(J=0)),u=z.xPercent||z.yPercent?"translate("+z.xPercent+"%,"+z.yPercent+"%) matrix3d(":"matrix3d(",u+=(q>c&&c>-q?w:c)+v+(q>f&&f>-q?w:f)+v+(q>i&&i>-q?w:i),u+=v+(q>l&&l>-q?w:l)+v+(q>d&&d>-q?w:d)+v+(q>g&&g>-q?w:g),C||D||1!==G?(u+=v+(q>j&&j>-q?w:j)+v+(q>m&&m>-q?w:m)+v+(q>e&&e>-q?w:e),u+=v+(q>h&&h>-q?w:h)+v+(q>k&&k>-q?w:k)+v+(q>o&&o>-q?w:o)+v):u+=",0,0,0,0,1,0,",u+=H+v+I+v+J+v+(M?1+-J/M:1)+")",A[Ea]=u};j=Ia.prototype,j.x=j.y=j.z=j.skewX=j.skewY=j.rotation=j.rotationX=j.rotationY=j.zOrigin=j.xPercent=j.yPercent=j.xOffset=j.yOffset=0,j.scaleX=j.scaleY=j.scaleZ=1,Aa("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin",{parser:function(a,b,c,d,f,h,i){if(d._lastParsedTransform===i)return f;d._lastParsedTransform=i;var j=i.scale&&"function"==typeof i.scale?i.scale:0;j&&(i.scale=j(r,a));var k,l,m,n,o,p,s,t,u,v=a._gsTransform,w=a.style,x=1e-6,y=Da.length,z=i,A={},B="transformOrigin",C=Ta(a,e,!0,z.parseTransform),D=z.transform&&("function"==typeof z.transform?z.transform(r,q):z.transform);if(C.skewType=z.skewType||C.skewType||g.defaultSkewType,d._transform=C,"rotationZ"in z&&(z.rotation=z.rotationZ),D&&"string"==typeof D&&Ea)l=R.style,l[Ea]=D,l.display="block",l.position="absolute",-1!==D.indexOf("%")&&(l.width=ba(a,"width"),l.height=ba(a,"height")),P.body.appendChild(R),k=Ta(R,null,!1),"simple"===C.skewType&&(k.scaleY*=Math.cos(k.skewX*L)),C.svg&&(p=C.xOrigin,s=C.yOrigin,k.x-=C.xOffset,k.y-=C.yOffset,(z.transformOrigin||z.svgOrigin)&&(D={},Na(a,ja(z.transformOrigin),D,z.svgOrigin,z.smoothOrigin,!0),p=D.xOrigin,s=D.yOrigin,k.x-=D.xOffset-C.xOffset,k.y-=D.yOffset-C.yOffset),(p||s)&&(t=Sa(R,!0),k.x-=p-(p*t[0]+s*t[2]),k.y-=s-(p*t[1]+s*t[3]))),P.body.removeChild(R),k.perspective||(k.perspective=C.perspective),null!=z.xPercent&&(k.xPercent=la(z.xPercent,C.xPercent)),null!=z.yPercent&&(k.yPercent=la(z.yPercent,C.yPercent));else if("object"==typeof z){if(k={scaleX:la(null!=z.scaleX?z.scaleX:z.scale,C.scaleX),scaleY:la(null!=z.scaleY?z.scaleY:z.scale,C.scaleY),scaleZ:la(z.scaleZ,C.scaleZ),x:la(z.x,C.x),y:la(z.y,C.y),z:la(z.z,C.z),xPercent:la(z.xPercent,C.xPercent),yPercent:la(z.yPercent,C.yPercent),perspective:la(z.transformPerspective,C.perspective)},o=z.directionalRotation,null!=o)if("object"==typeof o)for(l in o)z[l]=o[l];else z.rotation=o;"string"==typeof z.x&&-1!==z.x.indexOf("%")&&(k.x=0,k.xPercent=la(z.x,C.xPercent)),"string"==typeof z.y&&-1!==z.y.indexOf("%")&&(k.y=0,k.yPercent=la(z.y,C.yPercent)),k.rotation=ma("rotation"in z?z.rotation:"shortRotation"in z?z.shortRotation+"_short":C.rotation,C.rotation,"rotation",A),Ha&&(k.rotationX=ma("rotationX"in z?z.rotationX:"shortRotationX"in z?z.shortRotationX+"_short":C.rotationX||0,C.rotationX,"rotationX",A),k.rotationY=ma("rotationY"in z?z.rotationY:"shortRotationY"in z?z.shortRotationY+"_short":C.rotationY||0,C.rotationY,"rotationY",A)),k.skewX=ma(z.skewX,C.skewX),k.skewY=ma(z.skewY,C.skewY)}for(Ha&&null!=z.force3D&&(C.force3D=z.force3D,n=!0),m=C.force3D||C.z||C.rotationX||C.rotationY||k.z||k.rotationX||k.rotationY||k.perspective,m||null==z.scale||(k.scaleZ=1);--y>-1;)u=Da[y],D=k[u]-C[u],(D>x||-x>D||null!=z[u]||null!=N[u])&&(n=!0,f=new va(C,u,C[u],D,f),u in A&&(f.e=A[u]),f.xs0=0,f.plugin=h,d._overwriteProps.push(f.n));return D="function"==typeof z.transformOrigin?z.transformOrigin(r,q):z.transformOrigin,C.svg&&(D||z.svgOrigin)&&(p=C.xOffset,s=C.yOffset,Na(a,ja(D),k,z.svgOrigin,z.smoothOrigin),f=wa(C,"xOrigin",(v?C:k).xOrigin,k.xOrigin,f,B),f=wa(C,"yOrigin",(v?C:k).yOrigin,k.yOrigin,f,B),(p!==C.xOffset||s!==C.yOffset)&&(f=wa(C,"xOffset",v?p:C.xOffset,C.xOffset,f,B),f=wa(C,"yOffset",v?s:C.yOffset,C.yOffset,f,B)),D="0px 0px"),(D||Ha&&m&&C.zOrigin)&&(Ea?(n=!0,u=Ga,D||(D=(ba(a,u,e,!1,"50% 50%")+"").split(" "),D=D[0]+" "+D[1]+" "+C.zOrigin+"px"),D+="",f=new va(w,u,0,0,f,-1,B),f.b=w[u],f.plugin=h,Ha?(l=C.zOrigin,D=D.split(" "),C.zOrigin=(D.length>2?parseFloat(D[2]):l)||0,f.xs0=f.e=D[0]+" "+(D[1]||"50%")+" 0px",f=new va(C,"zOrigin",0,0,f,-1,f.n),f.b=l,f.xs0=f.e=C.zOrigin):f.xs0=f.e=D):ja(D+"",C)),n&&(d._transformType=C.svg&&Ca||!m&&3!==this._transformType?2:3),j&&(i.scale=j),f},allowFunc:!0,prefix:!0}),Aa("boxShadow",{defaultValue:"0px 0px 0px 0px #999",prefix:!0,color:!0,multi:!0,keyword:"inset"}),Aa("clipPath",{defaultValue:"inset(0%)",prefix:!0,multi:!0,formatter:sa("inset(0% 0% 0% 0%)",!1,!0)}),Aa("borderRadius",{defaultValue:"0px",parser:function(a,b,c,f,g,h){b=this.format(b);var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],z=a.style;for(q=parseFloat(a.offsetWidth),r=parseFloat(a.offsetHeight),i=b.split(" "),j=0;jp?1:0))||""):(p=parseFloat(n),s=n.substr((p+"").length)),""===s&&(s=d[c]||t),s!==t&&(v=ca(a,"borderLeft",o,t),w=ca(a,"borderTop",o,t),"%"===s?(m=v/q*100+"%",l=w/r*100+"%"):"em"===s?(x=ca(a,"borderLeft",1,"em"),m=v/x+"em",l=w/x+"em"):(m=v+"px",l=w+"px"),u&&(n=parseFloat(m)+p+s,k=parseFloat(l)+p+s)),g=xa(z,y[j],m+" "+l,n+" "+k,!1,"0px",g);return g},prefix:!0,formatter:sa("0px 0px 0px 0px",!1,!0)}),Aa("borderBottomLeftRadius,borderBottomRightRadius,borderTopLeftRadius,borderTopRightRadius",{defaultValue:"0px",parser:function(a,b,c,d,f,g){return xa(a.style,c,this.format(ba(a,c,e,!1,"0px 0px")),this.format(b),!1,"0px",f)},prefix:!0,formatter:sa("0px 0px",!1,!0)}),Aa("backgroundPosition",{defaultValue:"0 0",parser:function(a,b,c,d,f,g){ -var h,i,j,k,l,m,n="background-position",o=e||aa(a,null),q=this.format((o?p?o.getPropertyValue(n+"-x")+" "+o.getPropertyValue(n+"-y"):o.getPropertyValue(n):a.currentStyle.backgroundPositionX+" "+a.currentStyle.backgroundPositionY)||"0 0"),r=this.format(b);if(-1!==q.indexOf("%")!=(-1!==r.indexOf("%"))&&r.split(",").length<2&&(m=ba(a,"backgroundImage").replace(E,""),m&&"none"!==m)){for(h=q.split(" "),i=r.split(" "),S.setAttribute("src",m),j=2;--j>-1;)q=h[j],k=-1!==q.indexOf("%"),k!==(-1!==i[j].indexOf("%"))&&(l=0===j?a.offsetWidth-S.width:a.offsetHeight-S.height,h[j]=k?parseFloat(q)/100*l+"px":parseFloat(q)/l*100+"%");q=h.join(" ")}return this.parseComplex(a.style,q,r,f,g)},formatter:ja}),Aa("backgroundSize",{defaultValue:"0 0",formatter:function(a){return a+="","co"===a.substr(0,2)?a:ja(-1===a.indexOf(" ")?a+" "+a:a)}}),Aa("perspective",{defaultValue:"0px",prefix:!0}),Aa("perspectiveOrigin",{defaultValue:"50% 50%",prefix:!0}),Aa("transformStyle",{prefix:!0}),Aa("backfaceVisibility",{prefix:!0}),Aa("userSelect",{prefix:!0}),Aa("margin",{parser:ta("marginTop,marginRight,marginBottom,marginLeft")}),Aa("padding",{parser:ta("paddingTop,paddingRight,paddingBottom,paddingLeft")}),Aa("clip",{defaultValue:"rect(0px,0px,0px,0px)",parser:function(a,b,c,d,f,g){var h,i,j;return 9>p?(i=a.currentStyle,j=8>p?" ":",",h="rect("+i.clipTop+j+i.clipRight+j+i.clipBottom+j+i.clipLeft+")",b=this.format(b).split(",").join(j)):(h=this.format(ba(a,this.p,e,!1,this.dflt)),b=this.format(b)),this.parseComplex(a.style,h,b,f,g)}}),Aa("textShadow",{defaultValue:"0px 0px 0px #999",color:!0,multi:!0}),Aa("autoRound,strictUnits",{parser:function(a,b,c,d,e){return e}}),Aa("border",{defaultValue:"0px solid #000",parser:function(a,b,c,d,f,g){var h=ba(a,"borderTopWidth",e,!1,"0px"),i=this.format(b).split(" "),j=i[0].replace(x,"");return"px"!==j&&(h=parseFloat(h)/ca(a,"borderTopWidth",1,j)+j),this.parseComplex(a.style,this.format(h+" "+ba(a,"borderTopStyle",e,!1,"solid")+" "+ba(a,"borderTopColor",e,!1,"#000")),i.join(" "),f,g)},color:!0,formatter:function(a){var b=a.split(" ");return b[0]+" "+(b[1]||"solid")+" "+(a.match(ra)||["#000"])[0]}}),Aa("borderWidth",{parser:ta("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}),Aa("float,cssFloat,styleFloat",{parser:function(a,b,c,d,e,f){var g=a.style,h="cssFloat"in g?"cssFloat":"styleFloat";return new va(g,h,0,0,e,-1,c,!1,0,g[h],b)}});var Wa=function(a){var b,c=this.t,d=c.filter||ba(this.data,"filter")||"",e=this.s+this.c*a|0;100===e&&(-1===d.indexOf("atrix(")&&-1===d.indexOf("radient(")&&-1===d.indexOf("oader(")?(c.removeAttribute("filter"),b=!ba(this.data,"filter")):(c.filter=d.replace(A,""),b=!0)),b||(this.xn1&&(c.filter=d=d||"alpha(opacity="+e+")"),-1===d.indexOf("pacity")?0===e&&this.xn1||(c.filter=d+" alpha(opacity="+e+")"):c.filter=d.replace(y,"opacity="+e))};Aa("opacity,alpha,autoAlpha",{defaultValue:"1",parser:function(a,b,c,d,f,g){var h=parseFloat(ba(a,"opacity",e,!1,"1")),i=a.style,j="autoAlpha"===c;return"string"==typeof b&&"="===b.charAt(1)&&(b=("-"===b.charAt(0)?-1:1)*parseFloat(b.substr(2))+h),j&&1===h&&"hidden"===ba(a,"visibility",e)&&0!==b&&(h=0),V?f=new va(i,"opacity",h,b-h,f):(f=new va(i,"opacity",100*h,100*(b-h),f),f.xn1=j?1:0,i.zoom=1,f.type=2,f.b="alpha(opacity="+f.s+")",f.e="alpha(opacity="+(f.s+f.c)+")",f.data=a,f.plugin=g,f.setRatio=Wa),j&&(f=new va(i,"visibility",0,0,f,-1,null,!1,0,0!==h?"inherit":"hidden",0===b?"hidden":"inherit"),f.xs0="inherit",d._overwriteProps.push(f.n),d._overwriteProps.push(c)),f}});var Xa=function(a,b){b&&(a.removeProperty?(("ms"===b.substr(0,2)||"webkit"===b.substr(0,6))&&(b="-"+b),a.removeProperty(b.replace(C,"-$1").toLowerCase())):a.removeAttribute(b))},Ya=function(a){if(this.t._gsClassPT=this,1===a||0===a){this.t.setAttribute("class",0===a?this.b:this.e);for(var b=this.data,c=this.t.style;b;)b.v?c[b.p]=b.v:Xa(c,b.p),b=b._next;1===a&&this.t._gsClassPT===this&&(this.t._gsClassPT=null)}else this.t.getAttribute("class")!==this.e&&this.t.setAttribute("class",this.e)};Aa("className",{parser:function(a,b,d,f,g,h,i){var j,k,l,m,n,o=a.getAttribute("class")||"",p=a.style.cssText;if(g=f._classNamePT=new va(a,d,0,0,g,2),g.setRatio=Ya,g.pr=-11,c=!0,g.b=o,k=ea(a,e),l=a._gsClassPT){for(m={},n=l.data;n;)m[n.p]=1,n=n._next;l.setRatio(1)}return a._gsClassPT=g,g.e="="!==b.charAt(1)?b:o.replace(new RegExp("(?:\\s|^)"+b.substr(2)+"(?![\\w-])"),"")+("+"===b.charAt(0)?" "+b.substr(2):""),a.setAttribute("class",g.e),j=fa(a,k,ea(a),i,m),a.setAttribute("class",o),g.data=j.firstMPT,a.style.cssText!==p&&(a.style.cssText=p),g=g.xfirst=f.parse(a,j.difs,g,h)}});var Za=function(a){if((1===a||0===a)&&this.data._totalTime===this.data._totalDuration&&"isFromStart"!==this.data.data){var b,c,d,e,f,g=this.t.style,h=i.transform.parse;if("all"===this.e)g.cssText="",e=!0;else for(b=this.e.split(" ").join("").split(","),d=b.length;--d>-1;)c=b[d],i[c]&&(i[c].parse===h?e=!0:c="transformOrigin"===c?Ga:i[c].p),Xa(g,c);e&&(Xa(g,Ea),f=this.t._gsTransform,f&&(f.svg&&(this.t.removeAttribute("data-svg-origin"),this.t.removeAttribute("transform")),delete this.t._gsTransform))}};for(Aa("clearProps",{parser:function(a,b,d,e,f){return f=new va(a,d,0,0,f,2),f.setRatio=Za,f.e=b,f.pr=-10,f.data=e._tween,c=!0,f}}),j="bezier,throwProps,physicsProps,physics2D".split(","),ya=j.length;ya--;)Ba(j[ya]);j=g.prototype,j._firstPT=j._lastParsedTransform=j._transform=null,j._onInitTween=function(a,b,h,j){if(!a.nodeType)return!1;this._target=q=a,this._tween=h,this._vars=b,r=j,k=b.autoRound,c=!1,d=b.suffixMap||g.suffixMap,e=aa(a,""),f=this._overwriteProps;var n,p,s,t,u,v,w,x,y,A=a.style;if(l&&""===A.zIndex&&(n=ba(a,"zIndex",e),("auto"===n||""===n)&&this._addLazySet(A,"zIndex",0)),"string"==typeof b&&(t=A.cssText,n=ea(a,e),A.cssText=t+";"+b,n=fa(a,n,ea(a)).difs,!V&&z.test(b)&&(n.opacity=parseFloat(RegExp.$1)),b=n,A.cssText=t),b.className?this._firstPT=p=i.className.parse(a,b.className,"className",this,null,null,b):this._firstPT=p=this.parse(a,b,null),this._transformType){for(y=3===this._transformType,Ea?m&&(l=!0,""===A.zIndex&&(w=ba(a,"zIndex",e),("auto"===w||""===w)&&this._addLazySet(A,"zIndex",0)),o&&this._addLazySet(A,"WebkitBackfaceVisibility",this._vars.WebkitBackfaceVisibility||(y?"visible":"hidden"))):A.zoom=1,s=p;s&&s._next;)s=s._next;x=new va(a,"transform",0,0,null,2),this._linkCSSP(x,null,s),x.setRatio=Ea?Va:Ua,x.data=this._transform||Ta(a,e,!0),x.tween=h,x.pr=-1,f.pop()}if(c){for(;p;){for(v=p._next,s=t;s&&s.pr>p.pr;)s=s._next;(p._prev=s?s._prev:u)?p._prev._next=p:t=p,(p._next=s)?s._prev=p:u=p,p=v}this._firstPT=t}return!0},j.parse=function(a,b,c,f){var g,h,j,l,m,n,o,p,s,t,u=a.style;for(g in b){if(n=b[g],h=i[g],"function"!=typeof n||h&&h.allowFunc||(n=n(r,q)),h)c=h.parse(a,n,g,this,c,f,b);else{if("--"===g.substr(0,2)){this._tween._propLookup[g]=this._addTween.call(this._tween,a.style,"setProperty",aa(a).getPropertyValue(g)+"",n+"",g,!1,g);continue}m=ba(a,g,e)+"",s="string"==typeof n,"color"===g||"fill"===g||"stroke"===g||-1!==g.indexOf("Color")||s&&B.test(n)?(s||(n=pa(n),n=(n.length>3?"rgba(":"rgb(")+n.join(",")+")"),c=xa(u,g,m,n,!0,"transparent",c,0,f)):s&&K.test(n)?c=xa(u,g,m,n,!0,null,c,0,f):(j=parseFloat(m),o=j||0===j?m.substr((j+"").length):"",(""===m||"auto"===m)&&("width"===g||"height"===g?(j=ia(a,g,e),o="px"):"left"===g||"top"===g?(j=da(a,g,e),o="px"):(j="opacity"!==g?0:1,o="")),t=s&&"="===n.charAt(1),t?(l=parseInt(n.charAt(0)+"1",10),n=n.substr(2),l*=parseFloat(n),p=n.replace(x,"")):(l=parseFloat(n),p=s?n.replace(x,""):""),""===p&&(p=g in d?d[g]:o),n=l||0===l?(t?l+j:l)+p:b[g],o!==p&&(""!==p||"lineHeight"===g)&&(l||0===l)&&j&&(j=ca(a,g,j,o),"%"===p?(j/=ca(a,g,100,"%")/100,b.strictUnits!==!0&&(m=j+"%")):"em"===p||"rem"===p||"vw"===p||"vh"===p?j/=ca(a,g,1,p):"px"!==p&&(l=ca(a,g,l,p),p="px"),t&&(l||0===l)&&(n=l+j+p)),t&&(l+=j),!j&&0!==j||!l&&0!==l?void 0!==u[g]&&(n||n+""!="NaN"&&null!=n)?(c=new va(u,g,l||j||0,0,c,-1,g,!1,0,m,n),c.xs0="none"!==n||"display"!==g&&-1===g.indexOf("Style")?n:m):X("invalid "+g+" tween value: "+b[g]):(c=new va(u,g,j,l-j,c,0,g,k!==!1&&("px"===p||"zIndex"===g),0,m,n),c.xs0=p))}f&&c&&!c.plugin&&(c.plugin=f)}return c},j.setRatio=function(a){var b,c,d,e=this._firstPT,f=1e-6;if(1!==a||this._tween._time!==this._tween._duration&&0!==this._tween._time)if(a||this._tween._time!==this._tween._duration&&0!==this._tween._time||this._tween._rawPrevTime===-1e-6)for(;e;){if(b=e.c*a+e.s,e.r?b=e.r(b):f>b&&b>-f&&(b=0),e.type)if(1===e.type)if(d=e.l,2===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2;else if(3===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3;else if(4===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3+e.xn3+e.xs4;else if(5===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3+e.xn3+e.xs4+e.xn4+e.xs5;else{for(c=e.xs0+b+e.xs1,d=1;d-1;)_a(a[e],b,c);else for(d=a.childNodes,e=d.length;--e>-1;)f=d[e],g=f.type,f.style&&(b.push(ea(f)),c&&c.push(f)),1!==g&&9!==g&&11!==g||!f.childNodes.length||_a(f,b,c)};return g.cascadeTo=function(a,c,d){var e,f,g,h,i=b.to(a,c,d),j=[i],k=[],l=[],m=[],n=b._internals.reservedProps;for(a=i._targets||i.target,_a(a,k,m),i.render(c,!0,!0),_a(a,l),i.render(0,!0,!0),i._enabled(!0),e=m.length;--e>-1;)if(f=fa(m[e],k[e],l[e]),f.firstMPT){f=f.difs;for(g in d)n[g]&&(f[g]=d[g]);h={};for(g in f)h[g]=k[e][g];j.push(b.fromTo(m[e],c,h,f))}return j},a.activate([g]),g},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(a){"use strict";var b=function(){return(_gsScope.GreenSockGlobals||_gsScope)[a]};"undefined"!=typeof module&&module.exports?(require("../TweenLite.min.js"),module.exports=b()):"function"==typeof define&&define.amd&&define(["TweenLite"],b)}("CSSPlugin"); \ No newline at end of file +var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : void 0 || window; + +(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function () { + "use strict"; + + _gsScope._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin", "TweenLite"], function (a, b) { + var c, + d, + e, + f, + g = function g() { + a.call(this, "css"), this._overwriteProps.length = 0, this.setRatio = g.prototype.setRatio; + }, + h = _gsScope._gsDefine.globals, + i = {}, + j = g.prototype = new a("css"); + + j.constructor = g, g.version = "2.1.3", g.API = 2, g.defaultTransformPerspective = 0, g.defaultSkewType = "compensated", g.defaultSmoothOrigin = !0, j = "px", g.suffixMap = { + top: j, + right: j, + bottom: j, + left: j, + width: j, + height: j, + fontSize: j, + padding: j, + margin: j, + perspective: j, + lineHeight: "" + }; + + var k, + l, + m, + n, + o, + p, + q, + r, + s = /(?:\-|\.|\b)(\d|\.|e\-)+/g, + t = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g, + u = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi, + v = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b),?/gi, + w = /(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g, + x = /(?:\d|\-|\+|=|#|\.)*/g, + y = /opacity *= *([^)]*)/i, + z = /opacity:([^;]*)/i, + A = /alpha\(opacity *=.+?\)/i, + B = /^(rgb|hsl)/, + C = /([A-Z])/g, + D = /-([a-z])/gi, + E = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi, + F = function F(a, b) { + return b.toUpperCase(); + }, + G = /(?:Left|Right|Width)/i, + H = /(M11|M12|M21|M22)=[\d\-\.e]+/gi, + I = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i, + J = /,(?=[^\)]*(?:\(|$))/gi, + K = /[\s,\(]/i, + L = Math.PI / 180, + M = 180 / Math.PI, + N = {}, + O = { + style: {} + }, + P = _gsScope.document || { + createElement: function createElement() { + return O; + } + }, + Q = function Q(a, b) { + var c = P.createElementNS ? P.createElementNS(b || "http://www.w3.org/1999/xhtml", a) : P.createElement(a); + return c.style ? c : P.createElement(a); + }, + R = Q("div"), + S = Q("img"), + T = g._internals = { + _specialProps: i + }, + U = (_gsScope.navigator || {}).userAgent || "", + V = function () { + var a = U.indexOf("Android"), + b = Q("a"); + return m = -1 !== U.indexOf("Safari") && -1 === U.indexOf("Chrome") && (-1 === a || parseFloat(U.substr(a + 8, 2)) > 3), o = m && parseFloat(U.substr(U.indexOf("Version/") + 8, 2)) < 6, n = -1 !== U.indexOf("Firefox"), (/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(U) || /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(U)) && (p = parseFloat(RegExp.$1)), b ? (b.style.cssText = "top:1px;opacity:.55;", /^0.55/.test(b.style.opacity)) : !1; + }(), + W = function W(a) { + return y.test("string" == typeof a ? a : (a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 : 1; + }, + X = function X(a) { + _gsScope.console && console.log(a); + }, + Y = "", + Z = "", + $ = function $(a, b) { + b = b || R; + var c, + d, + e = b.style; + if (void 0 !== e[a]) return a; + + for (a = a.charAt(0).toUpperCase() + a.substr(1), c = ["O", "Moz", "ms", "Ms", "Webkit"], d = 5; --d > -1 && void 0 === e[c[d] + a];) { + ; + } + + return d >= 0 ? (Z = 3 === d ? "ms" : c[d], Y = "-" + Z.toLowerCase() + "-", Z + a) : null; + }, + _ = "undefined" != typeof window ? window : P.defaultView || { + getComputedStyle: function getComputedStyle() {} + }, + aa = function aa(a) { + return _.getComputedStyle(a); + }, + ba = g.getStyle = function (a, b, c, d, e) { + var f; + return V || "opacity" !== b ? (!d && a.style[b] ? f = a.style[b] : (c = c || aa(a)) ? f = c[b] || c.getPropertyValue(b) || c.getPropertyValue(b.replace(C, "-$1").toLowerCase()) : a.currentStyle && (f = a.currentStyle[b]), null == e || f && "none" !== f && "auto" !== f && "auto auto" !== f ? f : e) : W(a); + }, + ca = T.convertToPixels = function (a, c, d, e, f) { + if ("px" === e || !e && "lineHeight" !== c) return d; + if ("auto" === e || !d) return 0; + var h, + i, + j, + k = G.test(c), + l = a, + m = R.style, + n = 0 > d, + o = 1 === d; + if (n && (d = -d), o && (d *= 100), "lineHeight" !== c || e) { + if ("%" === e && -1 !== c.indexOf("border")) h = d / 100 * (k ? a.clientWidth : a.clientHeight);else { + if (m.cssText = "border:0 solid red;position:" + ba(a, "position") + ";line-height:0;", "%" !== e && l.appendChild && "v" !== e.charAt(0) && "rem" !== e) m[k ? "borderLeftWidth" : "borderTopWidth"] = d + e;else { + if (l = a.parentNode || P.body, -1 !== ba(l, "display").indexOf("flex") && (m.position = "absolute"), i = l._gsCache, j = b.ticker.frame, i && k && i.time === j) return i.width * d / 100; + m[k ? "width" : "height"] = d + e; + } + l.appendChild(R), h = parseFloat(R[k ? "offsetWidth" : "offsetHeight"]), l.removeChild(R), k && "%" === e && g.cacheWidths !== !1 && (i = l._gsCache = l._gsCache || {}, i.time = j, i.width = h / d * 100), 0 !== h || f || (h = ca(a, c, d, e, !0)); + } + } else i = aa(a).lineHeight, a.style.lineHeight = d, h = parseFloat(aa(a).lineHeight), a.style.lineHeight = i; + return o && (h /= 100), n ? -h : h; + }, + da = T.calculateOffset = function (a, b, c) { + if ("absolute" !== ba(a, "position", c)) return 0; + var d = "left" === b ? "Left" : "Top", + e = ba(a, "margin" + d, c); + return a["offset" + d] - (ca(a, b, parseFloat(e), e.replace(x, "")) || 0); + }, + ea = function ea(a, b) { + var c, + d, + e, + f = {}; + if (b = b || aa(a, null)) { + if (c = b.length) for (; --c > -1;) { + e = b[c], (-1 === e.indexOf("-transform") || Fa === e) && (f[e.replace(D, F)] = b.getPropertyValue(e)); + } else for (c in b) { + (-1 === c.indexOf("Transform") || Ea === c) && (f[c] = b[c]); + } + } else if (b = a.currentStyle || a.style) for (c in b) { + "string" == typeof c && void 0 === f[c] && (f[c.replace(D, F)] = b[c]); + } + return V || (f.opacity = W(a)), d = Ta(a, b, !1), f.rotation = d.rotation, f.skewX = d.skewX, f.scaleX = d.scaleX, f.scaleY = d.scaleY, f.x = d.x, f.y = d.y, Ha && (f.z = d.z, f.rotationX = d.rotationX, f.rotationY = d.rotationY, f.scaleZ = d.scaleZ), f.filters && delete f.filters, f; + }, + fa = function fa(a, b, c, d, e) { + var f, + g, + h, + i = {}, + j = a.style; + + for (g in c) { + "cssText" !== g && "length" !== g && isNaN(g) && (b[g] !== (f = c[g]) || e && e[g]) && -1 === g.indexOf("Origin") && ("number" == typeof f || "string" == typeof f) && (i[g] = "auto" !== f || "left" !== g && "top" !== g ? "" !== f && "auto" !== f && "none" !== f || "string" != typeof b[g] || "" === b[g].replace(w, "") ? f : 0 : da(a, g), void 0 !== j[g] && (h = new ua(j, g, j[g], h))); + } + + if (d) for (g in d) { + "className" !== g && (i[g] = d[g]); + } + return { + difs: i, + firstMPT: h + }; + }, + ga = { + width: ["Left", "Right"], + height: ["Top", "Bottom"] + }, + ha = ["marginLeft", "marginRight", "marginTop", "marginBottom"], + ia = function ia(a, b, c) { + if ("svg" === (a.nodeName + "").toLowerCase()) return (c || aa(a))[b] || 0; + if (a.getCTM && Qa(a)) return a.getBBox()[b] || 0; + var d = parseFloat("width" === b ? a.offsetWidth : a.offsetHeight), + e = ga[b], + f = e.length; + + for (c = c || aa(a, null); --f > -1;) { + d -= parseFloat(ba(a, "padding" + e[f], c, !0)) || 0, d -= parseFloat(ba(a, "border" + e[f] + "Width", c, !0)) || 0; + } + + return d; + }, + ja = function ja(a, b) { + if ("contain" === a || "auto" === a || "auto auto" === a) return a + " "; + (null == a || "" === a) && (a = "0 0"); + var c, + d = a.split(" "), + e = -1 !== a.indexOf("left") ? "0%" : -1 !== a.indexOf("right") ? "100%" : d[0], + f = -1 !== a.indexOf("top") ? "0%" : -1 !== a.indexOf("bottom") ? "100%" : d[1]; + + if (d.length > 3 && !b) { + for (d = a.split(", ").join(",").split(","), a = [], c = 0; c < d.length; c++) { + a.push(ja(d[c])); + } + + return a.join(","); + } + + return null == f ? f = "center" === e ? "50%" : "0" : "center" === f && (f = "50%"), ("center" === e || isNaN(parseFloat(e)) && -1 === (e + "").indexOf("=")) && (e = "50%"), a = e + " " + f + (d.length > 2 ? " " + d[2] : ""), b && (b.oxp = -1 !== e.indexOf("%"), b.oyp = -1 !== f.indexOf("%"), b.oxr = "=" === e.charAt(1), b.oyr = "=" === f.charAt(1), b.ox = parseFloat(e.replace(w, "")), b.oy = parseFloat(f.replace(w, "")), b.v = a), b || a; + }, + ka = function ka(a, b) { + return "function" == typeof a && (a = a(r, q)), "string" == typeof a && "=" === a.charAt(1) ? parseInt(a.charAt(0) + "1", 10) * parseFloat(a.substr(2)) : parseFloat(a) - parseFloat(b) || 0; + }, + la = function la(a, b) { + "function" == typeof a && (a = a(r, q)); + var c = "string" == typeof a && "=" === a.charAt(1); + return "string" == typeof a && "v" === a.charAt(a.length - 2) && (a = (c ? a.substr(0, 2) : 0) + window["inner" + ("vh" === a.substr(-2) ? "Height" : "Width")] * (parseFloat(c ? a.substr(2) : a) / 100)), null == a ? b : c ? parseInt(a.charAt(0) + "1", 10) * parseFloat(a.substr(2)) + b : parseFloat(a) || 0; + }, + ma = function ma(a, b, c, d) { + var e, + f, + g, + h, + i, + j = 1e-6; + return "function" == typeof a && (a = a(r, q)), null == a ? h = b : "number" == typeof a ? h = a : (e = 360, f = a.split("_"), i = "=" === a.charAt(1), g = (i ? parseInt(a.charAt(0) + "1", 10) * parseFloat(f[0].substr(2)) : parseFloat(f[0])) * (-1 === a.indexOf("rad") ? 1 : M) - (i ? 0 : b), f.length && (d && (d[c] = b + g), -1 !== a.indexOf("short") && (g %= e, g !== g % (e / 2) && (g = 0 > g ? g + e : g - e)), -1 !== a.indexOf("_cw") && 0 > g ? g = (g + 9999999999 * e) % e - (g / e | 0) * e : -1 !== a.indexOf("ccw") && g > 0 && (g = (g - 9999999999 * e) % e - (g / e | 0) * e)), h = b + g), j > h && h > -j && (h = 0), h; + }, + na = { + aqua: [0, 255, 255], + lime: [0, 255, 0], + silver: [192, 192, 192], + black: [0, 0, 0], + maroon: [128, 0, 0], + teal: [0, 128, 128], + blue: [0, 0, 255], + navy: [0, 0, 128], + white: [255, 255, 255], + fuchsia: [255, 0, 255], + olive: [128, 128, 0], + yellow: [255, 255, 0], + orange: [255, 165, 0], + gray: [128, 128, 128], + purple: [128, 0, 128], + green: [0, 128, 0], + red: [255, 0, 0], + pink: [255, 192, 203], + cyan: [0, 255, 255], + transparent: [255, 255, 255, 0] + }, + oa = function oa(a, b, c) { + return a = 0 > a ? a + 1 : a > 1 ? a - 1 : a, 255 * (1 > 6 * a ? b + (c - b) * a * 6 : .5 > a ? c : 2 > 3 * a ? b + (c - b) * (2 / 3 - a) * 6 : b) + .5 | 0; + }, + pa = g.parseColor = function (a, b) { + var c, d, e, f, g, h, i, j, k, l, m; + if (a) { + if ("number" == typeof a) c = [a >> 16, a >> 8 & 255, 255 & a];else { + if ("," === a.charAt(a.length - 1) && (a = a.substr(0, a.length - 1)), na[a]) c = na[a];else if ("#" === a.charAt(0)) 4 === a.length && (d = a.charAt(1), e = a.charAt(2), f = a.charAt(3), a = "#" + d + d + e + e + f + f), a = parseInt(a.substr(1), 16), c = [a >> 16, a >> 8 & 255, 255 & a];else if ("hsl" === a.substr(0, 3)) { + if (c = m = a.match(s), b) { + if (-1 !== a.indexOf("=")) return a.match(t); + } else g = Number(c[0]) % 360 / 360, h = Number(c[1]) / 100, i = Number(c[2]) / 100, e = .5 >= i ? i * (h + 1) : i + h - i * h, d = 2 * i - e, c.length > 3 && (c[3] = Number(c[3])), c[0] = oa(g + 1 / 3, d, e), c[1] = oa(g, d, e), c[2] = oa(g - 1 / 3, d, e); + } else c = a.match(s) || na.transparent; + c[0] = Number(c[0]), c[1] = Number(c[1]), c[2] = Number(c[2]), c.length > 3 && (c[3] = Number(c[3])); + } + } else c = na.black; + return b && !m && (d = c[0] / 255, e = c[1] / 255, f = c[2] / 255, j = Math.max(d, e, f), k = Math.min(d, e, f), i = (j + k) / 2, j === k ? g = h = 0 : (l = j - k, h = i > .5 ? l / (2 - j - k) : l / (j + k), g = j === d ? (e - f) / l + (f > e ? 6 : 0) : j === e ? (f - d) / l + 2 : (d - e) / l + 4, g *= 60), c[0] = g + .5 | 0, c[1] = 100 * h + .5 | 0, c[2] = 100 * i + .5 | 0), c; + }, + qa = function qa(a, b) { + var c, + d, + e, + f = a.match(ra) || [], + g = 0, + h = ""; + if (!f.length) return a; + + for (c = 0; c < f.length; c++) { + d = f[c], e = a.substr(g, a.indexOf(d, g) - g), g += e.length + d.length, d = pa(d, b), 3 === d.length && d.push(1), h += e + (b ? "hsla(" + d[0] + "," + d[1] + "%," + d[2] + "%," + d[3] : "rgba(" + d.join(",")) + ")"; + } + + return h + a.substr(g); + }, + ra = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3}){1,2}\\b"; + + for (j in na) { + ra += "|" + j + "\\b"; + } + + ra = new RegExp(ra + ")", "gi"), g.colorStringFilter = function (a) { + var b, + c = a[0] + " " + a[1]; + ra.test(c) && (b = -1 !== c.indexOf("hsl(") || -1 !== c.indexOf("hsla("), a[0] = qa(a[0], b), a[1] = qa(a[1], b)), ra.lastIndex = 0; + }, b.defaultStringFilter || (b.defaultStringFilter = g.colorStringFilter); + + var sa = function sa(a, b, c, d) { + if (null == a) return function (a) { + return a; + }; + var e, + f = b ? (a.match(ra) || [""])[0] : "", + g = a.split(f).join("").match(u) || [], + h = a.substr(0, a.indexOf(g[0])), + i = ")" === a.charAt(a.length - 1) ? ")" : "", + j = -1 !== a.indexOf(" ") ? " " : ",", + k = g.length, + l = k > 0 ? g[0].replace(s, "") : ""; + return k ? e = b ? function (a) { + var b, m, n, o; + if ("number" == typeof a) a += l;else if (d && J.test(a)) { + for (o = a.replace(J, "|").split("|"), n = 0; n < o.length; n++) { + o[n] = e(o[n]); + } + + return o.join(","); + } + if (b = (a.match(ra) || [f])[0], m = a.split(b).join("").match(u) || [], n = m.length, k > n--) for (; ++n < k;) { + m[n] = c ? m[(n - 1) / 2 | 0] : g[n]; + } + return h + m.join(j) + j + b + i + (-1 !== a.indexOf("inset") ? " inset" : ""); + } : function (a) { + var b, f, m; + if ("number" == typeof a) a += l;else if (d && J.test(a)) { + for (f = a.replace(J, "|").split("|"), m = 0; m < f.length; m++) { + f[m] = e(f[m]); + } + + return f.join(","); + } + if (b = a.match("," === j ? u : v) || [], m = b.length, k > m--) for (; ++m < k;) { + b[m] = c ? b[(m - 1) / 2 | 0] : g[m]; + } + return (h && "none" !== a ? a.substr(0, a.indexOf(b[0])) || h : h) + b.join(j) + i; + } : function (a) { + return a; + }; + }, + ta = function ta(a) { + return a = a.split(","), function (b, c, d, e, f, g, h) { + var i, + j = (c + "").split(" "); + + for (h = {}, i = 0; 4 > i; i++) { + h[a[i]] = j[i] = j[i] || j[(i - 1) / 2 >> 0]; + } + + return e.parse(b, h, f, g); + }; + }, + ua = (T._setPluginRatio = function (a) { + this.plugin.setRatio(a); + + for (var b, c, d, e, f, g = this.data, h = g.proxy, i = g.firstMPT, j = 1e-6; i;) { + b = h[i.v], i.r ? b = i.r(b) : j > b && b > -j && (b = 0), i.t[i.p] = b, i = i._next; + } + + if (g.autoRotate && (g.autoRotate.rotation = g.mod ? g.mod.call(this._tween, h.rotation, this.t, this._tween) : h.rotation), 1 === a || 0 === a) for (i = g.firstMPT, f = 1 === a ? "e" : "b"; i;) { + if (c = i.t, c.type) { + if (1 === c.type) { + for (e = c.xs0 + c.s + c.xs1, d = 1; d < c.l; d++) { + e += c["xn" + d] + c["xs" + (d + 1)]; + } + + c[f] = e; + } + } else c[f] = c.s + c.xs0; + + i = i._next; + } + }, function (a, b, c, d, e) { + this.t = a, this.p = b, this.v = c, this.r = e, d && (d._prev = this, this._next = d); + }), + va = (T._parseToProxy = function (a, b, c, d, e, f) { + var g, + h, + i, + j, + k, + l = d, + m = {}, + n = {}, + o = c._transform, + p = N; + + for (c._transform = null, N = b, d = k = c.parse(a, b, d, e), N = p, f && (c._transform = o, l && (l._prev = null, l._prev && (l._prev._next = null))); d && d !== l;) { + if (d.type <= 1 && (h = d.p, n[h] = d.s + d.c, m[h] = d.s, f || (j = new ua(d, "s", h, j, d.r), d.c = 0), 1 === d.type)) for (g = d.l; --g > 0;) { + i = "xn" + g, h = d.p + "_" + i, n[h] = d.data[i], m[h] = d[i], f || (j = new ua(d, i, h, j, d.rxp[i])); + } + d = d._next; + } + + return { + proxy: m, + end: n, + firstMPT: j, + pt: k + }; + }, T.CSSPropTween = function (a, b, d, e, g, h, i, j, k, l, m) { + this.t = a, this.p = b, this.s = d, this.c = e, this.n = i || b, a instanceof va || f.push(this.n), this.r = j ? "function" == typeof j ? j : Math.round : j, this.type = h || 0, k && (this.pr = k, c = !0), this.b = void 0 === l ? d : l, this.e = void 0 === m ? d + e : m, g && (this._next = g, g._prev = this); + }), + wa = function wa(a, b, c, d, e, f) { + var g = new va(a, b, c, d - c, e, -1, f); + return g.b = c, g.e = g.xs0 = d, g; + }, + xa = g.parseComplex = function (a, b, c, d, e, f, h, i, j, l) { + c = c || f || "", "function" == typeof d && (d = d(r, q)), h = new va(a, b, 0, 0, h, l ? 2 : 1, null, !1, i, c, d), d += "", e && ra.test(d + c) && (d = [c, d], g.colorStringFilter(d), c = d[0], d = d[1]); + var m, + n, + o, + p, + u, + v, + w, + x, + y, + z, + A, + B, + C, + D = c.split(", ").join(",").split(" "), + E = d.split(", ").join(",").split(" "), + F = D.length, + G = k !== !1; + + for ((-1 !== d.indexOf(",") || -1 !== c.indexOf(",")) && (-1 !== (d + c).indexOf("rgb") || -1 !== (d + c).indexOf("hsl") ? (D = D.join(" ").replace(J, ", ").split(" "), E = E.join(" ").replace(J, ", ").split(" ")) : (D = D.join(" ").split(",").join(", ").split(" "), E = E.join(" ").split(",").join(", ").split(" ")), F = D.length), F !== E.length && (D = (f || "").split(" "), F = D.length), h.plugin = j, h.setRatio = l, ra.lastIndex = 0, m = 0; F > m; m++) { + if (p = D[m], u = E[m] + "", x = parseFloat(p), x || 0 === x) h.appendXtra("", x, ka(u, x), u.replace(t, ""), G && -1 !== u.indexOf("px") ? Math.round : !1, !0);else if (e && ra.test(p)) B = u.indexOf(")") + 1, B = ")" + (B ? u.substr(B) : ""), C = -1 !== u.indexOf("hsl") && V, z = u, p = pa(p, C), u = pa(u, C), y = p.length + u.length > 6, y && !V && 0 === u[3] ? (h["xs" + h.l] += h.l ? " transparent" : "transparent", h.e = h.e.split(E[m]).join("transparent")) : (V || (y = !1), C ? h.appendXtra(z.substr(0, z.indexOf("hsl")) + (y ? "hsla(" : "hsl("), p[0], ka(u[0], p[0]), ",", !1, !0).appendXtra("", p[1], ka(u[1], p[1]), "%,", !1).appendXtra("", p[2], ka(u[2], p[2]), y ? "%," : "%" + B, !1) : h.appendXtra(z.substr(0, z.indexOf("rgb")) + (y ? "rgba(" : "rgb("), p[0], u[0] - p[0], ",", Math.round, !0).appendXtra("", p[1], u[1] - p[1], ",", Math.round).appendXtra("", p[2], u[2] - p[2], y ? "," : B, Math.round), y && (p = p.length < 4 ? 1 : p[3], h.appendXtra("", p, (u.length < 4 ? 1 : u[3]) - p, B, !1))), ra.lastIndex = 0;else if (v = p.match(s)) { + if (w = u.match(t), !w || w.length !== v.length) return h; + + for (o = 0, n = 0; n < v.length; n++) { + A = v[n], z = p.indexOf(A, o), h.appendXtra(p.substr(o, z - o), Number(A), ka(w[n], A), "", G && "px" === p.substr(z + A.length, 2) ? Math.round : !1, 0 === n), o = z + A.length; + } + + h["xs" + h.l] += p.substr(o); + } else h["xs" + h.l] += h.l || h["xs" + h.l] ? " " + u : u; + } + + if (-1 !== d.indexOf("=") && h.data) { + for (B = h.xs0 + h.data.s, m = 1; m < h.l; m++) { + B += h["xs" + m] + h.data["xn" + m]; + } + + h.e = B + h["xs" + m]; + } + + return h.l || (h.type = -1, h.xs0 = h.e), h.xfirst || h; + }, + ya = 9; + + for (j = va.prototype, j.l = j.pr = 0; --ya > 0;) { + j["xn" + ya] = 0, j["xs" + ya] = ""; + } + + j.xs0 = "", j._next = j._prev = j.xfirst = j.data = j.plugin = j.setRatio = j.rxp = null, j.appendXtra = function (a, b, c, d, e, f) { + var g = this, + h = g.l; + return g["xs" + h] += f && (h || g["xs" + h]) ? " " + a : a || "", c || 0 === h || g.plugin ? (g.l++, g.type = g.setRatio ? 2 : 1, g["xs" + g.l] = d || "", h > 0 ? (g.data["xn" + h] = b + c, g.rxp["xn" + h] = e, g["xn" + h] = b, g.plugin || (g.xfirst = new va(g, "xn" + h, b, c, g.xfirst || g, 0, g.n, e, g.pr), g.xfirst.xs0 = 0), g) : (g.data = { + s: b + c + }, g.rxp = {}, g.s = b, g.c = c, g.r = e, g)) : (g["xs" + h] += b + (d || ""), g); + }; + + var za = function za(a, b) { + b = b || {}, this.p = b.prefix ? $(a) || a : a, i[a] = i[this.p] = this, this.format = b.formatter || sa(b.defaultValue, b.color, b.collapsible, b.multi), b.parser && (this.parse = b.parser), this.clrs = b.color, this.multi = b.multi, this.keyword = b.keyword, this.dflt = b.defaultValue, this.allowFunc = b.allowFunc, this.pr = b.priority || 0; + }, + Aa = T._registerComplexSpecialProp = function (a, b, c) { + "object" != _typeof(b) && (b = { + parser: c + }); + var d, + e, + f = a.split(","), + g = b.defaultValue; + + for (c = c || [g], d = 0; d < f.length; d++) { + b.prefix = 0 === d && b.prefix, b.defaultValue = c[d] || g, e = new za(f[d], b); + } + }, + Ba = T._registerPluginProp = function (a) { + if (!i[a]) { + var b = a.charAt(0).toUpperCase() + a.substr(1) + "Plugin"; + Aa(a, { + parser: function parser(a, c, d, e, f, g, j) { + var k = h.com.greensock.plugins[b]; + return k ? (k._cssRegister(), i[d].parse(a, c, d, e, f, g, j)) : (X("Error: " + b + " js file not loaded."), f); + } + }); + } + }; + + j = za.prototype, j.parseComplex = function (a, b, c, d, e, f) { + var g, + h, + i, + j, + k, + l, + m = this.keyword; + + if (this.multi && (J.test(c) || J.test(b) ? (h = b.replace(J, "|").split("|"), i = c.replace(J, "|").split("|")) : m && (h = [b], i = [c])), i) { + for (j = i.length > h.length ? i.length : h.length, g = 0; j > g; g++) { + b = h[g] = h[g] || this.dflt, c = i[g] = i[g] || this.dflt, m && (k = b.indexOf(m), l = c.indexOf(m), k !== l && (-1 === l ? h[g] = h[g].split(m).join("") : -1 === k && (h[g] += " " + m))); + } + + b = h.join(", "), c = i.join(", "); + } + + return xa(a, this.p, b, c, this.clrs, this.dflt, d, this.pr, e, f); + }, j.parse = function (a, b, c, d, f, g, h) { + return this.parseComplex(a.style, this.format(ba(a, this.p, e, !1, this.dflt)), this.format(b), f, g); + }, g.registerSpecialProp = function (a, b, c) { + Aa(a, { + parser: function parser(a, d, e, f, g, h, i) { + var j = new va(a, e, 0, 0, g, 2, e, !1, c); + return j.plugin = h, j.setRatio = b(a, d, f._tween, e), j; + }, + priority: c + }); + }, g.useSVGTransformAttr = !0; + + var Ca, + Da = "scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","), + Ea = $("transform"), + Fa = Y + "transform", + Ga = $("transformOrigin"), + Ha = null !== $("perspective"), + Ia = T.Transform = function () { + this.perspective = parseFloat(g.defaultTransformPerspective) || 0, this.force3D = g.defaultForce3D !== !1 && Ha ? g.defaultForce3D || "auto" : !1; + }, + Ja = _gsScope.SVGElement, + Ka = function Ka(a, b, c) { + var d, + e = P.createElementNS("http://www.w3.org/2000/svg", a), + f = /([a-z])([A-Z])/g; + + for (d in c) { + e.setAttributeNS(null, d.replace(f, "$1-$2").toLowerCase(), c[d]); + } + + return b.appendChild(e), e; + }, + La = P.documentElement || {}, + Ma = function () { + var a, + b, + c, + d = p || /Android/i.test(U) && !_gsScope.chrome; + return P.createElementNS && La.appendChild && !d && (a = Ka("svg", La), b = Ka("rect", a, { + width: 100, + height: 50, + x: 100 + }), c = b.getBoundingClientRect().width, b.style[Ga] = "50% 50%", b.style[Ea] = "scaleX(0.5)", d = c === b.getBoundingClientRect().width && !(n && Ha), La.removeChild(a)), d; + }(), + Na = function Na(a, b, c, d, e, f) { + var h, + i, + j, + k, + l, + m, + n, + o, + p, + q, + r, + s, + t, + u, + v = a._gsTransform, + w = Sa(a, !0); + v && (t = v.xOrigin, u = v.yOrigin), (!d || (h = d.split(" ")).length < 2) && (n = a.getBBox(), 0 === n.x && 0 === n.y && n.width + n.height === 0 && (n = { + x: parseFloat(a.hasAttribute("x") ? a.getAttribute("x") : a.hasAttribute("cx") ? a.getAttribute("cx") : 0) || 0, + y: parseFloat(a.hasAttribute("y") ? a.getAttribute("y") : a.hasAttribute("cy") ? a.getAttribute("cy") : 0) || 0, + width: 0, + height: 0 + }), b = ja(b).split(" "), h = [(-1 !== b[0].indexOf("%") ? parseFloat(b[0]) / 100 * n.width : parseFloat(b[0])) + n.x, (-1 !== b[1].indexOf("%") ? parseFloat(b[1]) / 100 * n.height : parseFloat(b[1])) + n.y]), c.xOrigin = k = parseFloat(h[0]), c.yOrigin = l = parseFloat(h[1]), d && w !== Ra && (m = w[0], n = w[1], o = w[2], p = w[3], q = w[4], r = w[5], s = m * p - n * o, s && (i = k * (p / s) + l * (-o / s) + (o * r - p * q) / s, j = k * (-n / s) + l * (m / s) - (m * r - n * q) / s, k = c.xOrigin = h[0] = i, l = c.yOrigin = h[1] = j)), v && (f && (c.xOffset = v.xOffset, c.yOffset = v.yOffset, v = c), e || e !== !1 && g.defaultSmoothOrigin !== !1 ? (i = k - t, j = l - u, v.xOffset += i * w[0] + j * w[2] - i, v.yOffset += i * w[1] + j * w[3] - j) : v.xOffset = v.yOffset = 0), f || a.setAttribute("data-svg-origin", h.join(" ")); + }, + Oa = function Oa(a) { + var b, + c = Q("svg", this.ownerSVGElement && this.ownerSVGElement.getAttribute("xmlns") || "http://www.w3.org/2000/svg"), + d = this.parentNode, + e = this.nextSibling, + f = this.style.cssText; + if (La.appendChild(c), c.appendChild(this), this.style.display = "block", a) try { + b = this.getBBox(), this._originalGetBBox = this.getBBox, this.getBBox = Oa; + } catch (g) {} else this._originalGetBBox && (b = this._originalGetBBox()); + return e ? d.insertBefore(this, e) : d.appendChild(this), La.removeChild(c), this.style.cssText = f, b; + }, + Pa = function Pa(a) { + try { + return a.getBBox(); + } catch (b) { + return Oa.call(a, !0); + } + }, + Qa = function Qa(a) { + return !(!Ja || !a.getCTM || a.parentNode && !a.ownerSVGElement || !Pa(a)); + }, + Ra = [1, 0, 0, 1, 0, 0], + Sa = function Sa(a, b) { + var c, + d, + e, + f, + g, + h, + i, + j = a._gsTransform || new Ia(), + k = 1e5, + l = a.style; + if (Ea ? d = ba(a, Fa, null, !0) : a.currentStyle && (d = a.currentStyle.filter.match(H), d = d && 4 === d.length ? [d[0].substr(4), Number(d[2].substr(4)), Number(d[1].substr(4)), d[3].substr(4), j.x || 0, j.y || 0].join(",") : ""), c = !d || "none" === d || "matrix(1, 0, 0, 1, 0, 0)" === d, Ea && c && !a.offsetParent && a !== La && (f = l.display, l.display = "block", i = a.parentNode, i && a.offsetParent || (g = 1, h = a.nextSibling, La.appendChild(a)), d = ba(a, Fa, null, !0), c = !d || "none" === d || "matrix(1, 0, 0, 1, 0, 0)" === d, f ? l.display = f : Xa(l, "display"), g && (h ? i.insertBefore(a, h) : i ? i.appendChild(a) : La.removeChild(a))), (j.svg || a.getCTM && Qa(a)) && (c && -1 !== (l[Ea] + "").indexOf("matrix") && (d = l[Ea], c = 0), e = a.getAttribute("transform"), c && e && (e = a.transform.baseVal.consolidate().matrix, d = "matrix(" + e.a + "," + e.b + "," + e.c + "," + e.d + "," + e.e + "," + e.f + ")", c = 0)), c) return Ra; + + for (e = (d || "").match(s) || [], ya = e.length; --ya > -1;) { + f = Number(e[ya]), e[ya] = (g = f - (f |= 0)) ? (g * k + (0 > g ? -.5 : .5) | 0) / k + f : f; + } + + return b && e.length > 6 ? [e[0], e[1], e[4], e[5], e[12], e[13]] : e; + }, + Ta = T.getTransform = function (a, c, d, e) { + if (a._gsTransform && d && !e) return a._gsTransform; + var f, + h, + i, + j, + k, + l, + m = d ? a._gsTransform || new Ia() : new Ia(), + n = m.scaleX < 0, + o = 2e-5, + p = 1e5, + q = Ha ? parseFloat(ba(a, Ga, c, !1, "0 0 0").split(" ")[2]) || m.zOrigin || 0 : 0, + r = parseFloat(g.defaultTransformPerspective) || 0; + + if (m.svg = !(!a.getCTM || !Qa(a)), m.svg && (Na(a, ba(a, Ga, c, !1, "50% 50%") + "", m, a.getAttribute("data-svg-origin")), Ca = g.useSVGTransformAttr || Ma), f = Sa(a), f !== Ra) { + if (16 === f.length) { + var s, + t, + u, + v, + w, + x = f[0], + y = f[1], + z = f[2], + A = f[3], + B = f[4], + C = f[5], + D = f[6], + E = f[7], + F = f[8], + G = f[9], + H = f[10], + I = f[12], + J = f[13], + K = f[14], + L = f[11], + N = Math.atan2(D, H); + m.zOrigin && (K = -m.zOrigin, I = F * K - f[12], J = G * K - f[13], K = H * K + m.zOrigin - f[14]), m.rotationX = N * M, N && (v = Math.cos(-N), w = Math.sin(-N), s = B * v + F * w, t = C * v + G * w, u = D * v + H * w, F = B * -w + F * v, G = C * -w + G * v, H = D * -w + H * v, L = E * -w + L * v, B = s, C = t, D = u), N = Math.atan2(-z, H), m.rotationY = N * M, N && (v = Math.cos(-N), w = Math.sin(-N), s = x * v - F * w, t = y * v - G * w, u = z * v - H * w, G = y * w + G * v, H = z * w + H * v, L = A * w + L * v, x = s, y = t, z = u), N = Math.atan2(y, x), m.rotation = N * M, N && (v = Math.cos(N), w = Math.sin(N), s = x * v + y * w, t = B * v + C * w, u = F * v + G * w, y = y * v - x * w, C = C * v - B * w, G = G * v - F * w, x = s, B = t, F = u), m.rotationX && Math.abs(m.rotationX) + Math.abs(m.rotation) > 359.9 && (m.rotationX = m.rotation = 0, m.rotationY = 180 - m.rotationY), N = Math.atan2(B, C), m.scaleX = (Math.sqrt(x * x + y * y + z * z) * p + .5 | 0) / p, m.scaleY = (Math.sqrt(C * C + D * D) * p + .5 | 0) / p, m.scaleZ = (Math.sqrt(F * F + G * G + H * H) * p + .5 | 0) / p, x /= m.scaleX, B /= m.scaleY, y /= m.scaleX, C /= m.scaleY, Math.abs(N) > o ? (m.skewX = N * M, B = 0, "simple" !== m.skewType && (m.scaleY *= 1 / Math.cos(N))) : m.skewX = 0, m.perspective = L ? 1 / (0 > L ? -L : L) : 0, m.x = I, m.y = J, m.z = K, m.svg && (m.x -= m.xOrigin - (m.xOrigin * x - m.yOrigin * B), m.y -= m.yOrigin - (m.yOrigin * y - m.xOrigin * C)); + } else if (!Ha || e || !f.length || m.x !== f[4] || m.y !== f[5] || !m.rotationX && !m.rotationY) { + var O = f.length >= 6, + P = O ? f[0] : 1, + Q = f[1] || 0, + R = f[2] || 0, + S = O ? f[3] : 1; + m.x = f[4] || 0, m.y = f[5] || 0, i = Math.sqrt(P * P + Q * Q), j = Math.sqrt(S * S + R * R), k = P || Q ? Math.atan2(Q, P) * M : m.rotation || 0, l = R || S ? Math.atan2(R, S) * M + k : m.skewX || 0, m.scaleX = i, m.scaleY = j, m.rotation = k, m.skewX = l, Ha && (m.rotationX = m.rotationY = m.z = 0, m.perspective = r, m.scaleZ = 1), m.svg && (m.x -= m.xOrigin - (m.xOrigin * P + m.yOrigin * R), m.y -= m.yOrigin - (m.xOrigin * Q + m.yOrigin * S)); + } + + Math.abs(m.skewX) > 90 && Math.abs(m.skewX) < 270 && (n ? (m.scaleX *= -1, m.skewX += m.rotation <= 0 ? 180 : -180, m.rotation += m.rotation <= 0 ? 180 : -180) : (m.scaleY *= -1, m.skewX += m.skewX <= 0 ? 180 : -180)), m.zOrigin = q; + + for (h in m) { + m[h] < o && m[h] > -o && (m[h] = 0); + } + } + + return d && (a._gsTransform = m, m.svg && (Ca && a.style[Ea] ? b.delayedCall(.001, function () { + Xa(a.style, Ea); + }) : !Ca && a.getAttribute("transform") && b.delayedCall(.001, function () { + a.removeAttribute("transform"); + }))), m; + }, + Ua = function Ua(a) { + var b, + c, + d = this.data, + e = -d.rotation * L, + f = e + d.skewX * L, + g = 1e5, + h = (Math.cos(e) * d.scaleX * g | 0) / g, + i = (Math.sin(e) * d.scaleX * g | 0) / g, + j = (Math.sin(f) * -d.scaleY * g | 0) / g, + k = (Math.cos(f) * d.scaleY * g | 0) / g, + l = this.t.style, + m = this.t.currentStyle; + + if (m) { + c = i, i = -j, j = -c, b = m.filter, l.filter = ""; + var n, + o, + q = this.t.offsetWidth, + r = this.t.offsetHeight, + s = "absolute" !== m.position, + t = "progid:DXImageTransform.Microsoft.Matrix(M11=" + h + ", M12=" + i + ", M21=" + j + ", M22=" + k, + u = d.x + q * d.xPercent / 100, + v = d.y + r * d.yPercent / 100; + + if (null != d.ox && (n = (d.oxp ? q * d.ox * .01 : d.ox) - q / 2, o = (d.oyp ? r * d.oy * .01 : d.oy) - r / 2, u += n - (n * h + o * i), v += o - (n * j + o * k)), s ? (n = q / 2, o = r / 2, t += ", Dx=" + (n - (n * h + o * i) + u) + ", Dy=" + (o - (n * j + o * k) + v) + ")") : t += ", sizingMethod='auto expand')", -1 !== b.indexOf("DXImageTransform.Microsoft.Matrix(") ? l.filter = b.replace(I, t) : l.filter = t + " " + b, (0 === a || 1 === a) && 1 === h && 0 === i && 0 === j && 1 === k && (s && -1 === t.indexOf("Dx=0, Dy=0") || y.test(b) && 100 !== parseFloat(RegExp.$1) || -1 === b.indexOf(b.indexOf("Alpha")) && l.removeAttribute("filter")), !s) { + var w, + z, + A, + B = 8 > p ? 1 : -1; + + for (n = d.ieOffsetX || 0, o = d.ieOffsetY || 0, d.ieOffsetX = Math.round((q - ((0 > h ? -h : h) * q + (0 > i ? -i : i) * r)) / 2 + u), d.ieOffsetY = Math.round((r - ((0 > k ? -k : k) * r + (0 > j ? -j : j) * q)) / 2 + v), ya = 0; 4 > ya; ya++) { + z = ha[ya], w = m[z], c = -1 !== w.indexOf("px") ? parseFloat(w) : ca(this.t, z, parseFloat(w), w.replace(x, "")) || 0, A = c !== d[z] ? 2 > ya ? -d.ieOffsetX : -d.ieOffsetY : 2 > ya ? n - d.ieOffsetX : o - d.ieOffsetY, l[z] = (d[z] = Math.round(c - A * (0 === ya || 2 === ya ? 1 : B))) + "px"; + } + } + } + }, + Va = T.set3DTransformRatio = T.setTransformRatio = function (a) { + var b, + c, + d, + e, + f, + g, + h, + i, + j, + k, + l, + m, + o, + p, + q, + r, + s, + t, + u, + v, + w, + x, + y, + z = this.data, + A = this.t.style, + B = z.rotation, + C = z.rotationX, + D = z.rotationY, + E = z.scaleX, + F = z.scaleY, + G = z.scaleZ, + H = z.x, + I = z.y, + J = z.z, + K = z.svg, + M = z.perspective, + N = z.force3D, + O = z.skewY, + P = z.skewX; + if (O && (P += O, B += O), ((1 === a || 0 === a) && "auto" === N && (this.tween._totalTime === this.tween._totalDuration || !this.tween._totalTime) || !N) && !J && !M && !D && !C && 1 === G || Ca && K || !Ha) return void (B || P || K ? (B *= L, x = P * L, y = 1e5, c = Math.cos(B) * E, f = Math.sin(B) * E, d = Math.sin(B - x) * -F, g = Math.cos(B - x) * F, x && "simple" === z.skewType && (b = Math.tan(x - O * L), b = Math.sqrt(1 + b * b), d *= b, g *= b, O && (b = Math.tan(O * L), b = Math.sqrt(1 + b * b), c *= b, f *= b)), K && (H += z.xOrigin - (z.xOrigin * c + z.yOrigin * d) + z.xOffset, I += z.yOrigin - (z.xOrigin * f + z.yOrigin * g) + z.yOffset, Ca && (z.xPercent || z.yPercent) && (q = this.t.getBBox(), H += .01 * z.xPercent * q.width, I += .01 * z.yPercent * q.height), q = 1e-6, q > H && H > -q && (H = 0), q > I && I > -q && (I = 0)), u = (c * y | 0) / y + "," + (f * y | 0) / y + "," + (d * y | 0) / y + "," + (g * y | 0) / y + "," + H + "," + I + ")", K && Ca ? this.t.setAttribute("transform", "matrix(" + u) : A[Ea] = (z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) matrix(" : "matrix(") + u) : A[Ea] = (z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) matrix(" : "matrix(") + E + ",0,0," + F + "," + H + "," + I + ")"); + if (n && (q = 1e-4, q > E && E > -q && (E = G = 2e-5), q > F && F > -q && (F = G = 2e-5), !M || z.z || z.rotationX || z.rotationY || (M = 0)), B || P) B *= L, r = c = Math.cos(B), s = f = Math.sin(B), P && (B -= P * L, r = Math.cos(B), s = Math.sin(B), "simple" === z.skewType && (b = Math.tan((P - O) * L), b = Math.sqrt(1 + b * b), r *= b, s *= b, z.skewY && (b = Math.tan(O * L), b = Math.sqrt(1 + b * b), c *= b, f *= b))), d = -s, g = r;else { + if (!(D || C || 1 !== G || M || K)) return void (A[Ea] = (z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) translate3d(" : "translate3d(") + H + "px," + I + "px," + J + "px)" + (1 !== E || 1 !== F ? " scale(" + E + "," + F + ")" : "")); + c = g = 1, d = f = 0; + } + k = 1, e = h = i = j = l = m = 0, o = M ? -1 / M : 0, p = z.zOrigin, q = 1e-6, v = ",", w = "0", B = D * L, B && (r = Math.cos(B), s = Math.sin(B), i = -s, l = o * -s, e = c * s, h = f * s, k = r, o *= r, c *= r, f *= r), B = C * L, B && (r = Math.cos(B), s = Math.sin(B), b = d * r + e * s, t = g * r + h * s, j = k * s, m = o * s, e = d * -s + e * r, h = g * -s + h * r, k *= r, o *= r, d = b, g = t), 1 !== G && (e *= G, h *= G, k *= G, o *= G), 1 !== F && (d *= F, g *= F, j *= F, m *= F), 1 !== E && (c *= E, f *= E, i *= E, l *= E), (p || K) && (p && (H += e * -p, I += h * -p, J += k * -p + p), K && (H += z.xOrigin - (z.xOrigin * c + z.yOrigin * d) + z.xOffset, I += z.yOrigin - (z.xOrigin * f + z.yOrigin * g) + z.yOffset), q > H && H > -q && (H = w), q > I && I > -q && (I = w), q > J && J > -q && (J = 0)), u = z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) matrix3d(" : "matrix3d(", u += (q > c && c > -q ? w : c) + v + (q > f && f > -q ? w : f) + v + (q > i && i > -q ? w : i), u += v + (q > l && l > -q ? w : l) + v + (q > d && d > -q ? w : d) + v + (q > g && g > -q ? w : g), C || D || 1 !== G ? (u += v + (q > j && j > -q ? w : j) + v + (q > m && m > -q ? w : m) + v + (q > e && e > -q ? w : e), u += v + (q > h && h > -q ? w : h) + v + (q > k && k > -q ? w : k) + v + (q > o && o > -q ? w : o) + v) : u += ",0,0,0,0,1,0,", u += H + v + I + v + J + v + (M ? 1 + -J / M : 1) + ")", A[Ea] = u; + }; + + j = Ia.prototype, j.x = j.y = j.z = j.skewX = j.skewY = j.rotation = j.rotationX = j.rotationY = j.zOrigin = j.xPercent = j.yPercent = j.xOffset = j.yOffset = 0, j.scaleX = j.scaleY = j.scaleZ = 1, Aa("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin", { + parser: function parser(a, b, c, d, f, h, i) { + if (d._lastParsedTransform === i) return f; + d._lastParsedTransform = i; + var j = i.scale && "function" == typeof i.scale ? i.scale : 0; + j && (i.scale = j(r, a)); + var k, + l, + m, + n, + o, + p, + s, + t, + u, + v = a._gsTransform, + w = a.style, + x = 1e-6, + y = Da.length, + z = i, + A = {}, + B = "transformOrigin", + C = Ta(a, e, !0, z.parseTransform), + D = z.transform && ("function" == typeof z.transform ? z.transform(r, q) : z.transform); + if (C.skewType = z.skewType || C.skewType || g.defaultSkewType, d._transform = C, "rotationZ" in z && (z.rotation = z.rotationZ), D && "string" == typeof D && Ea) l = R.style, l[Ea] = D, l.display = "block", l.position = "absolute", -1 !== D.indexOf("%") && (l.width = ba(a, "width"), l.height = ba(a, "height")), P.body.appendChild(R), k = Ta(R, null, !1), "simple" === C.skewType && (k.scaleY *= Math.cos(k.skewX * L)), C.svg && (p = C.xOrigin, s = C.yOrigin, k.x -= C.xOffset, k.y -= C.yOffset, (z.transformOrigin || z.svgOrigin) && (D = {}, Na(a, ja(z.transformOrigin), D, z.svgOrigin, z.smoothOrigin, !0), p = D.xOrigin, s = D.yOrigin, k.x -= D.xOffset - C.xOffset, k.y -= D.yOffset - C.yOffset), (p || s) && (t = Sa(R, !0), k.x -= p - (p * t[0] + s * t[2]), k.y -= s - (p * t[1] + s * t[3]))), P.body.removeChild(R), k.perspective || (k.perspective = C.perspective), null != z.xPercent && (k.xPercent = la(z.xPercent, C.xPercent)), null != z.yPercent && (k.yPercent = la(z.yPercent, C.yPercent));else if ("object" == _typeof(z)) { + if (k = { + scaleX: la(null != z.scaleX ? z.scaleX : z.scale, C.scaleX), + scaleY: la(null != z.scaleY ? z.scaleY : z.scale, C.scaleY), + scaleZ: la(z.scaleZ, C.scaleZ), + x: la(z.x, C.x), + y: la(z.y, C.y), + z: la(z.z, C.z), + xPercent: la(z.xPercent, C.xPercent), + yPercent: la(z.yPercent, C.yPercent), + perspective: la(z.transformPerspective, C.perspective) + }, o = z.directionalRotation, null != o) if ("object" == _typeof(o)) for (l in o) { + z[l] = o[l]; + } else z.rotation = o; + "string" == typeof z.x && -1 !== z.x.indexOf("%") && (k.x = 0, k.xPercent = la(z.x, C.xPercent)), "string" == typeof z.y && -1 !== z.y.indexOf("%") && (k.y = 0, k.yPercent = la(z.y, C.yPercent)), k.rotation = ma("rotation" in z ? z.rotation : "shortRotation" in z ? z.shortRotation + "_short" : C.rotation, C.rotation, "rotation", A), Ha && (k.rotationX = ma("rotationX" in z ? z.rotationX : "shortRotationX" in z ? z.shortRotationX + "_short" : C.rotationX || 0, C.rotationX, "rotationX", A), k.rotationY = ma("rotationY" in z ? z.rotationY : "shortRotationY" in z ? z.shortRotationY + "_short" : C.rotationY || 0, C.rotationY, "rotationY", A)), k.skewX = ma(z.skewX, C.skewX), k.skewY = ma(z.skewY, C.skewY); + } + + for (Ha && null != z.force3D && (C.force3D = z.force3D, n = !0), m = C.force3D || C.z || C.rotationX || C.rotationY || k.z || k.rotationX || k.rotationY || k.perspective, m || null == z.scale || (k.scaleZ = 1); --y > -1;) { + u = Da[y], D = k[u] - C[u], (D > x || -x > D || null != z[u] || null != N[u]) && (n = !0, f = new va(C, u, C[u], D, f), u in A && (f.e = A[u]), f.xs0 = 0, f.plugin = h, d._overwriteProps.push(f.n)); + } + + return D = "function" == typeof z.transformOrigin ? z.transformOrigin(r, q) : z.transformOrigin, C.svg && (D || z.svgOrigin) && (p = C.xOffset, s = C.yOffset, Na(a, ja(D), k, z.svgOrigin, z.smoothOrigin), f = wa(C, "xOrigin", (v ? C : k).xOrigin, k.xOrigin, f, B), f = wa(C, "yOrigin", (v ? C : k).yOrigin, k.yOrigin, f, B), (p !== C.xOffset || s !== C.yOffset) && (f = wa(C, "xOffset", v ? p : C.xOffset, C.xOffset, f, B), f = wa(C, "yOffset", v ? s : C.yOffset, C.yOffset, f, B)), D = "0px 0px"), (D || Ha && m && C.zOrigin) && (Ea ? (n = !0, u = Ga, D || (D = (ba(a, u, e, !1, "50% 50%") + "").split(" "), D = D[0] + " " + D[1] + " " + C.zOrigin + "px"), D += "", f = new va(w, u, 0, 0, f, -1, B), f.b = w[u], f.plugin = h, Ha ? (l = C.zOrigin, D = D.split(" "), C.zOrigin = (D.length > 2 ? parseFloat(D[2]) : l) || 0, f.xs0 = f.e = D[0] + " " + (D[1] || "50%") + " 0px", f = new va(C, "zOrigin", 0, 0, f, -1, f.n), f.b = l, f.xs0 = f.e = C.zOrigin) : f.xs0 = f.e = D) : ja(D + "", C)), n && (d._transformType = C.svg && Ca || !m && 3 !== this._transformType ? 2 : 3), j && (i.scale = j), f; + }, + allowFunc: !0, + prefix: !0 + }), Aa("boxShadow", { + defaultValue: "0px 0px 0px 0px #999", + prefix: !0, + color: !0, + multi: !0, + keyword: "inset" + }), Aa("clipPath", { + defaultValue: "inset(0%)", + prefix: !0, + multi: !0, + formatter: sa("inset(0% 0% 0% 0%)", !1, !0) + }), Aa("borderRadius", { + defaultValue: "0px", + parser: function parser(a, b, c, f, g, h) { + b = this.format(b); + var i, + j, + k, + l, + m, + n, + o, + p, + q, + r, + s, + t, + u, + v, + w, + x, + y = ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"], + z = a.style; + + for (q = parseFloat(a.offsetWidth), r = parseFloat(a.offsetHeight), i = b.split(" "), j = 0; j < y.length; j++) { + this.p.indexOf("border") && (y[j] = $(y[j])), m = l = ba(a, y[j], e, !1, "0px"), -1 !== m.indexOf(" ") && (l = m.split(" "), m = l[0], l = l[1]), n = k = i[j], o = parseFloat(m), t = m.substr((o + "").length), u = "=" === n.charAt(1), u ? (p = parseInt(n.charAt(0) + "1", 10), n = n.substr(2), p *= parseFloat(n), s = n.substr((p + "").length - (0 > p ? 1 : 0)) || "") : (p = parseFloat(n), s = n.substr((p + "").length)), "" === s && (s = d[c] || t), s !== t && (v = ca(a, "borderLeft", o, t), w = ca(a, "borderTop", o, t), "%" === s ? (m = v / q * 100 + "%", l = w / r * 100 + "%") : "em" === s ? (x = ca(a, "borderLeft", 1, "em"), m = v / x + "em", l = w / x + "em") : (m = v + "px", l = w + "px"), u && (n = parseFloat(m) + p + s, k = parseFloat(l) + p + s)), g = xa(z, y[j], m + " " + l, n + " " + k, !1, "0px", g); + } + + return g; + }, + prefix: !0, + formatter: sa("0px 0px 0px 0px", !1, !0) + }), Aa("borderBottomLeftRadius,borderBottomRightRadius,borderTopLeftRadius,borderTopRightRadius", { + defaultValue: "0px", + parser: function parser(a, b, c, d, f, g) { + return xa(a.style, c, this.format(ba(a, c, e, !1, "0px 0px")), this.format(b), !1, "0px", f); + }, + prefix: !0, + formatter: sa("0px 0px", !1, !0) + }), Aa("backgroundPosition", { + defaultValue: "0 0", + parser: function parser(a, b, c, d, f, g) { + var h, + i, + j, + k, + l, + m, + n = "background-position", + o = e || aa(a, null), + q = this.format((o ? p ? o.getPropertyValue(n + "-x") + " " + o.getPropertyValue(n + "-y") : o.getPropertyValue(n) : a.currentStyle.backgroundPositionX + " " + a.currentStyle.backgroundPositionY) || "0 0"), + r = this.format(b); + + if (-1 !== q.indexOf("%") != (-1 !== r.indexOf("%")) && r.split(",").length < 2 && (m = ba(a, "backgroundImage").replace(E, ""), m && "none" !== m)) { + for (h = q.split(" "), i = r.split(" "), S.setAttribute("src", m), j = 2; --j > -1;) { + q = h[j], k = -1 !== q.indexOf("%"), k !== (-1 !== i[j].indexOf("%")) && (l = 0 === j ? a.offsetWidth - S.width : a.offsetHeight - S.height, h[j] = k ? parseFloat(q) / 100 * l + "px" : parseFloat(q) / l * 100 + "%"); + } + + q = h.join(" "); + } + + return this.parseComplex(a.style, q, r, f, g); + }, + formatter: ja + }), Aa("backgroundSize", { + defaultValue: "0 0", + formatter: function formatter(a) { + return a += "", "co" === a.substr(0, 2) ? a : ja(-1 === a.indexOf(" ") ? a + " " + a : a); + } + }), Aa("perspective", { + defaultValue: "0px", + prefix: !0 + }), Aa("perspectiveOrigin", { + defaultValue: "50% 50%", + prefix: !0 + }), Aa("transformStyle", { + prefix: !0 + }), Aa("backfaceVisibility", { + prefix: !0 + }), Aa("userSelect", { + prefix: !0 + }), Aa("margin", { + parser: ta("marginTop,marginRight,marginBottom,marginLeft") + }), Aa("padding", { + parser: ta("paddingTop,paddingRight,paddingBottom,paddingLeft") + }), Aa("clip", { + defaultValue: "rect(0px,0px,0px,0px)", + parser: function parser(a, b, c, d, f, g) { + var h, i, j; + return 9 > p ? (i = a.currentStyle, j = 8 > p ? " " : ",", h = "rect(" + i.clipTop + j + i.clipRight + j + i.clipBottom + j + i.clipLeft + ")", b = this.format(b).split(",").join(j)) : (h = this.format(ba(a, this.p, e, !1, this.dflt)), b = this.format(b)), this.parseComplex(a.style, h, b, f, g); + } + }), Aa("textShadow", { + defaultValue: "0px 0px 0px #999", + color: !0, + multi: !0 + }), Aa("autoRound,strictUnits", { + parser: function parser(a, b, c, d, e) { + return e; + } + }), Aa("border", { + defaultValue: "0px solid #000", + parser: function parser(a, b, c, d, f, g) { + var h = ba(a, "borderTopWidth", e, !1, "0px"), + i = this.format(b).split(" "), + j = i[0].replace(x, ""); + return "px" !== j && (h = parseFloat(h) / ca(a, "borderTopWidth", 1, j) + j), this.parseComplex(a.style, this.format(h + " " + ba(a, "borderTopStyle", e, !1, "solid") + " " + ba(a, "borderTopColor", e, !1, "#000")), i.join(" "), f, g); + }, + color: !0, + formatter: function formatter(a) { + var b = a.split(" "); + return b[0] + " " + (b[1] || "solid") + " " + (a.match(ra) || ["#000"])[0]; + } + }), Aa("borderWidth", { + parser: ta("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth") + }), Aa("float,cssFloat,styleFloat", { + parser: function parser(a, b, c, d, e, f) { + var g = a.style, + h = "cssFloat" in g ? "cssFloat" : "styleFloat"; + return new va(g, h, 0, 0, e, -1, c, !1, 0, g[h], b); + } + }); + + var Wa = function Wa(a) { + var b, + c = this.t, + d = c.filter || ba(this.data, "filter") || "", + e = this.s + this.c * a | 0; + 100 === e && (-1 === d.indexOf("atrix(") && -1 === d.indexOf("radient(") && -1 === d.indexOf("oader(") ? (c.removeAttribute("filter"), b = !ba(this.data, "filter")) : (c.filter = d.replace(A, ""), b = !0)), b || (this.xn1 && (c.filter = d = d || "alpha(opacity=" + e + ")"), -1 === d.indexOf("pacity") ? 0 === e && this.xn1 || (c.filter = d + " alpha(opacity=" + e + ")") : c.filter = d.replace(y, "opacity=" + e)); + }; + + Aa("opacity,alpha,autoAlpha", { + defaultValue: "1", + parser: function parser(a, b, c, d, f, g) { + var h = parseFloat(ba(a, "opacity", e, !1, "1")), + i = a.style, + j = "autoAlpha" === c; + return "string" == typeof b && "=" === b.charAt(1) && (b = ("-" === b.charAt(0) ? -1 : 1) * parseFloat(b.substr(2)) + h), j && 1 === h && "hidden" === ba(a, "visibility", e) && 0 !== b && (h = 0), V ? f = new va(i, "opacity", h, b - h, f) : (f = new va(i, "opacity", 100 * h, 100 * (b - h), f), f.xn1 = j ? 1 : 0, i.zoom = 1, f.type = 2, f.b = "alpha(opacity=" + f.s + ")", f.e = "alpha(opacity=" + (f.s + f.c) + ")", f.data = a, f.plugin = g, f.setRatio = Wa), j && (f = new va(i, "visibility", 0, 0, f, -1, null, !1, 0, 0 !== h ? "inherit" : "hidden", 0 === b ? "hidden" : "inherit"), f.xs0 = "inherit", d._overwriteProps.push(f.n), d._overwriteProps.push(c)), f; + } + }); + + var Xa = function Xa(a, b) { + b && (a.removeProperty ? (("ms" === b.substr(0, 2) || "webkit" === b.substr(0, 6)) && (b = "-" + b), a.removeProperty(b.replace(C, "-$1").toLowerCase())) : a.removeAttribute(b)); + }, + Ya = function Ya(a) { + if (this.t._gsClassPT = this, 1 === a || 0 === a) { + this.t.setAttribute("class", 0 === a ? this.b : this.e); + + for (var b = this.data, c = this.t.style; b;) { + b.v ? c[b.p] = b.v : Xa(c, b.p), b = b._next; + } + + 1 === a && this.t._gsClassPT === this && (this.t._gsClassPT = null); + } else this.t.getAttribute("class") !== this.e && this.t.setAttribute("class", this.e); + }; + + Aa("className", { + parser: function parser(a, b, d, f, g, h, i) { + var j, + k, + l, + m, + n, + o = a.getAttribute("class") || "", + p = a.style.cssText; + + if (g = f._classNamePT = new va(a, d, 0, 0, g, 2), g.setRatio = Ya, g.pr = -11, c = !0, g.b = o, k = ea(a, e), l = a._gsClassPT) { + for (m = {}, n = l.data; n;) { + m[n.p] = 1, n = n._next; + } + + l.setRatio(1); + } + + return a._gsClassPT = g, g.e = "=" !== b.charAt(1) ? b : o.replace(new RegExp("(?:\\s|^)" + b.substr(2) + "(?![\\w-])"), "") + ("+" === b.charAt(0) ? " " + b.substr(2) : ""), a.setAttribute("class", g.e), j = fa(a, k, ea(a), i, m), a.setAttribute("class", o), g.data = j.firstMPT, a.style.cssText !== p && (a.style.cssText = p), g = g.xfirst = f.parse(a, j.difs, g, h); + } + }); + + var Za = function Za(a) { + if ((1 === a || 0 === a) && this.data._totalTime === this.data._totalDuration && "isFromStart" !== this.data.data) { + var b, + c, + d, + e, + f, + g = this.t.style, + h = i.transform.parse; + if ("all" === this.e) g.cssText = "", e = !0;else for (b = this.e.split(" ").join("").split(","), d = b.length; --d > -1;) { + c = b[d], i[c] && (i[c].parse === h ? e = !0 : c = "transformOrigin" === c ? Ga : i[c].p), Xa(g, c); + } + e && (Xa(g, Ea), f = this.t._gsTransform, f && (f.svg && (this.t.removeAttribute("data-svg-origin"), this.t.removeAttribute("transform")), delete this.t._gsTransform)); + } + }; + + for (Aa("clearProps", { + parser: function parser(a, b, d, e, f) { + return f = new va(a, d, 0, 0, f, 2), f.setRatio = Za, f.e = b, f.pr = -10, f.data = e._tween, c = !0, f; + } + }), j = "bezier,throwProps,physicsProps,physics2D".split(","), ya = j.length; ya--;) { + Ba(j[ya]); + } + + j = g.prototype, j._firstPT = j._lastParsedTransform = j._transform = null, j._onInitTween = function (a, b, h, j) { + if (!a.nodeType) return !1; + this._target = q = a, this._tween = h, this._vars = b, r = j, k = b.autoRound, c = !1, d = b.suffixMap || g.suffixMap, e = aa(a, ""), f = this._overwriteProps; + var n, + p, + s, + t, + u, + v, + w, + x, + y, + A = a.style; + + if (l && "" === A.zIndex && (n = ba(a, "zIndex", e), ("auto" === n || "" === n) && this._addLazySet(A, "zIndex", 0)), "string" == typeof b && (t = A.cssText, n = ea(a, e), A.cssText = t + ";" + b, n = fa(a, n, ea(a)).difs, !V && z.test(b) && (n.opacity = parseFloat(RegExp.$1)), b = n, A.cssText = t), b.className ? this._firstPT = p = i.className.parse(a, b.className, "className", this, null, null, b) : this._firstPT = p = this.parse(a, b, null), this._transformType) { + for (y = 3 === this._transformType, Ea ? m && (l = !0, "" === A.zIndex && (w = ba(a, "zIndex", e), ("auto" === w || "" === w) && this._addLazySet(A, "zIndex", 0)), o && this._addLazySet(A, "WebkitBackfaceVisibility", this._vars.WebkitBackfaceVisibility || (y ? "visible" : "hidden"))) : A.zoom = 1, s = p; s && s._next;) { + s = s._next; + } + + x = new va(a, "transform", 0, 0, null, 2), this._linkCSSP(x, null, s), x.setRatio = Ea ? Va : Ua, x.data = this._transform || Ta(a, e, !0), x.tween = h, x.pr = -1, f.pop(); + } + + if (c) { + for (; p;) { + for (v = p._next, s = t; s && s.pr > p.pr;) { + s = s._next; + } + + (p._prev = s ? s._prev : u) ? p._prev._next = p : t = p, (p._next = s) ? s._prev = p : u = p, p = v; + } + + this._firstPT = t; + } + + return !0; + }, j.parse = function (a, b, c, f) { + var g, + h, + j, + l, + m, + n, + o, + p, + s, + t, + u = a.style; + + for (g in b) { + if (n = b[g], h = i[g], "function" != typeof n || h && h.allowFunc || (n = n(r, q)), h) c = h.parse(a, n, g, this, c, f, b);else { + if ("--" === g.substr(0, 2)) { + this._tween._propLookup[g] = this._addTween.call(this._tween, a.style, "setProperty", aa(a).getPropertyValue(g) + "", n + "", g, !1, g); + continue; + } + + m = ba(a, g, e) + "", s = "string" == typeof n, "color" === g || "fill" === g || "stroke" === g || -1 !== g.indexOf("Color") || s && B.test(n) ? (s || (n = pa(n), n = (n.length > 3 ? "rgba(" : "rgb(") + n.join(",") + ")"), c = xa(u, g, m, n, !0, "transparent", c, 0, f)) : s && K.test(n) ? c = xa(u, g, m, n, !0, null, c, 0, f) : (j = parseFloat(m), o = j || 0 === j ? m.substr((j + "").length) : "", ("" === m || "auto" === m) && ("width" === g || "height" === g ? (j = ia(a, g, e), o = "px") : "left" === g || "top" === g ? (j = da(a, g, e), o = "px") : (j = "opacity" !== g ? 0 : 1, o = "")), t = s && "=" === n.charAt(1), t ? (l = parseInt(n.charAt(0) + "1", 10), n = n.substr(2), l *= parseFloat(n), p = n.replace(x, "")) : (l = parseFloat(n), p = s ? n.replace(x, "") : ""), "" === p && (p = g in d ? d[g] : o), n = l || 0 === l ? (t ? l + j : l) + p : b[g], o !== p && ("" !== p || "lineHeight" === g) && (l || 0 === l) && j && (j = ca(a, g, j, o), "%" === p ? (j /= ca(a, g, 100, "%") / 100, b.strictUnits !== !0 && (m = j + "%")) : "em" === p || "rem" === p || "vw" === p || "vh" === p ? j /= ca(a, g, 1, p) : "px" !== p && (l = ca(a, g, l, p), p = "px"), t && (l || 0 === l) && (n = l + j + p)), t && (l += j), !j && 0 !== j || !l && 0 !== l ? void 0 !== u[g] && (n || n + "" != "NaN" && null != n) ? (c = new va(u, g, l || j || 0, 0, c, -1, g, !1, 0, m, n), c.xs0 = "none" !== n || "display" !== g && -1 === g.indexOf("Style") ? n : m) : X("invalid " + g + " tween value: " + b[g]) : (c = new va(u, g, j, l - j, c, 0, g, k !== !1 && ("px" === p || "zIndex" === g), 0, m, n), c.xs0 = p)); + } + f && c && !c.plugin && (c.plugin = f); + } + + return c; + }, j.setRatio = function (a) { + var b, + c, + d, + e = this._firstPT, + f = 1e-6; + if (1 !== a || this._tween._time !== this._tween._duration && 0 !== this._tween._time) { + if (a || this._tween._time !== this._tween._duration && 0 !== this._tween._time || this._tween._rawPrevTime === -1e-6) for (; e;) { + if (b = e.c * a + e.s, e.r ? b = e.r(b) : f > b && b > -f && (b = 0), e.type) { + if (1 === e.type) { + if (d = e.l, 2 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2;else if (3 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2 + e.xn2 + e.xs3;else if (4 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2 + e.xn2 + e.xs3 + e.xn3 + e.xs4;else if (5 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2 + e.xn2 + e.xs3 + e.xn3 + e.xs4 + e.xn4 + e.xs5;else { + for (c = e.xs0 + b + e.xs1, d = 1; d < e.l; d++) { + c += e["xn" + d] + e["xs" + (d + 1)]; + } + + e.t[e.p] = c; + } + } else -1 === e.type ? e.t[e.p] = e.xs0 : e.setRatio && e.setRatio(a); + } else e.t[e.p] = b + e.xs0; + e = e._next; + } else for (; e;) { + 2 !== e.type ? e.t[e.p] = e.b : e.setRatio(a), e = e._next; + } + } else for (; e;) { + if (2 !== e.type) { + if (e.r && -1 !== e.type) { + if (b = e.r(e.s + e.c), e.type) { + if (1 === e.type) { + for (d = e.l, c = e.xs0 + b + e.xs1, d = 1; d < e.l; d++) { + c += e["xn" + d] + e["xs" + (d + 1)]; + } + + e.t[e.p] = c; + } + } else e.t[e.p] = b + e.xs0; + } else e.t[e.p] = e.e; + } else e.setRatio(a); + e = e._next; + } + }, j._enableTransforms = function (a) { + this._transform = this._transform || Ta(this._target, e, !0), this._transformType = this._transform.svg && Ca || !a && 3 !== this._transformType ? 2 : 3; + }; + + var $a = function $a(a) { + this.t[this.p] = this.e, this.data._linkCSSP(this, this._next, null, !0); + }; + + j._addLazySet = function (a, b, c) { + var d = this._firstPT = new va(a, b, 0, 0, this._firstPT, 2); + d.e = c, d.setRatio = $a, d.data = this; + }, j._linkCSSP = function (a, b, c, d) { + return a && (b && (b._prev = a), a._next && (a._next._prev = a._prev), a._prev ? a._prev._next = a._next : this._firstPT === a && (this._firstPT = a._next, d = !0), c ? c._next = a : d || null !== this._firstPT || (this._firstPT = a), a._next = b, a._prev = c), a; + }, j._mod = function (a) { + for (var b = this._firstPT; b;) { + "function" == typeof a[b.p] && (b.r = a[b.p]), b = b._next; + } + }, j._kill = function (b) { + var c, + d, + e, + f = b; + + if (b.autoAlpha || b.alpha) { + f = {}; + + for (d in b) { + f[d] = b[d]; + } + + f.opacity = 1, f.autoAlpha && (f.visibility = 1); + } + + for (b.className && (c = this._classNamePT) && (e = c.xfirst, e && e._prev ? this._linkCSSP(e._prev, c._next, e._prev._prev) : e === this._firstPT && (this._firstPT = c._next), c._next && this._linkCSSP(c._next, c._next._next, e._prev), this._classNamePT = null), c = this._firstPT; c;) { + c.plugin && c.plugin !== d && c.plugin._kill && (c.plugin._kill(b), d = c.plugin), c = c._next; + } + + return a.prototype._kill.call(this, f); + }; + + var _a = function _a(a, b, c) { + var d, e, f, g; + if (a.slice) for (e = a.length; --e > -1;) { + _a(a[e], b, c); + } else for (d = a.childNodes, e = d.length; --e > -1;) { + f = d[e], g = f.type, f.style && (b.push(ea(f)), c && c.push(f)), 1 !== g && 9 !== g && 11 !== g || !f.childNodes.length || _a(f, b, c); + } + }; + + return g.cascadeTo = function (a, c, d) { + var e, + f, + g, + h, + i = b.to(a, c, d), + j = [i], + k = [], + l = [], + m = [], + n = b._internals.reservedProps; + + for (a = i._targets || i.target, _a(a, k, m), i.render(c, !0, !0), _a(a, l), i.render(0, !0, !0), i._enabled(!0), e = m.length; --e > -1;) { + if (f = fa(m[e], k[e], l[e]), f.firstMPT) { + f = f.difs; + + for (g in d) { + n[g] && (f[g] = d[g]); + } + + h = {}; + + for (g in f) { + h[g] = k[e][g]; + } + + j.push(b.fromTo(m[e], c, h, f)); + } + } + + return j; + }, a.activate([g]), g; + }, !0); +}), _gsScope._gsDefine && _gsScope._gsQueue.pop()(), function (a) { + "use strict"; + + var b = function b() { + return (_gsScope.GreenSockGlobals || _gsScope)[a]; + }; + + "undefined" != typeof module && module.exports ? (require("../TweenLite.min.js"), module.exports = b()) : "function" == typeof define && define.amd && define(["TweenLite"], b); +}("CSSPlugin"); \ No newline at end of file diff --git a/resources/js/vendor/EasePack.min.js b/resources/js/vendor/EasePack.min.js index 2461b3b88..e6bc7556e 100644 --- a/resources/js/vendor/EasePack.min.js +++ b/resources/js/vendor/EasePack.min.js @@ -1,3 +1,5 @@ +"use strict"; + /*! * VERSION: 1.16.0 * DATE: 2018-02-15 @@ -9,4 +11,160 @@ * * @author: Jack Doyle, jack@greensock.com **/ -var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("easing.Back",["easing.Ease"],function(a){var b,c,d,e,f=_gsScope.GreenSockGlobals||_gsScope,g=f.com.greensock,h=2*Math.PI,i=Math.PI/2,j=g._class,k=function(b,c){var d=j("easing."+b,function(){},!0),e=d.prototype=new a;return e.constructor=d,e.getRatio=c,d},l=a.register||function(){},m=function(a,b,c,d,e){var f=j("easing."+a,{easeOut:new b,easeIn:new c,easeInOut:new d},!0);return l(f,a),f},n=function(a,b,c){this.t=a,this.v=b,c&&(this.next=c,c.prev=this,this.c=c.v-b,this.gap=c.t-a)},o=function(b,c){var d=j("easing."+b,function(a){this._p1=a||0===a?a:1.70158,this._p2=1.525*this._p1},!0),e=d.prototype=new a;return e.constructor=d,e.getRatio=c,e.config=function(a){return new d(a)},d},p=m("Back",o("BackOut",function(a){return(a-=1)*a*((this._p1+1)*a+this._p1)+1}),o("BackIn",function(a){return a*a*((this._p1+1)*a-this._p1)}),o("BackInOut",function(a){return(a*=2)<1?.5*a*a*((this._p2+1)*a-this._p2):.5*((a-=2)*a*((this._p2+1)*a+this._p2)+2)})),q=j("easing.SlowMo",function(a,b,c){b=b||0===b?b:.7,null==a?a=.7:a>1&&(a=1),this._p=1!==a?b:0,this._p1=(1-a)/2,this._p2=a,this._p3=this._p1+this._p2,this._calcEnd=c===!0},!0),r=q.prototype=new a;return r.constructor=q,r.getRatio=function(a){var b=a+(.5-a)*this._p;return athis._p3?this._calcEnd?1===a?0:1-(a=(a-this._p3)/this._p1)*a:b+(a-b)*(a=(a-this._p3)/this._p1)*a*a*a:this._calcEnd?1:b},q.ease=new q(.7,.7),r.config=q.config=function(a,b,c){return new q(a,b,c)},b=j("easing.SteppedEase",function(a,b){a=a||1,this._p1=1/a,this._p2=a+(b?0:1),this._p3=b?1:0},!0),r=b.prototype=new a,r.constructor=b,r.getRatio=function(a){return 0>a?a=0:a>=1&&(a=.999999999),((this._p2*a|0)+this._p3)*this._p1},r.config=b.config=function(a,c){return new b(a,c)},c=j("easing.ExpoScaleEase",function(a,b,c){this._p1=Math.log(b/a),this._p2=b-a,this._p3=a,this._ease=c},!0),r=c.prototype=new a,r.constructor=c,r.getRatio=function(a){return this._ease&&(a=this._ease.getRatio(a)),(this._p3*Math.exp(this._p1*a)-this._p3)/this._p2},r.config=c.config=function(a,b,d){return new c(a,b,d)},d=j("easing.RoughEase",function(b){b=b||{};for(var c,d,e,f,g,h,i=b.taper||"none",j=[],k=0,l=0|(b.points||20),m=l,o=b.randomize!==!1,p=b.clamp===!0,q=b.template instanceof a?b.template:null,r="number"==typeof b.strength?.4*b.strength:.4;--m>-1;)c=o?Math.random():1/l*m,d=q?q.getRatio(c):c,"none"===i?e=r:"out"===i?(f=1-c,e=f*f*r):"in"===i?e=c*c*r:.5>c?(f=2*c,e=f*f*.5*r):(f=2*(1-c),e=f*f*.5*r),o?d+=Math.random()*e-.5*e:m%2?d+=.5*e:d-=.5*e,p&&(d>1?d=1:0>d&&(d=0)),j[k++]={x:c,y:d};for(j.sort(function(a,b){return a.x-b.x}),h=new n(1,1,null),m=l;--m>-1;)g=j[m],h=new n(g.x,g.y,h);this._prev=new n(0,0,0!==h.t?h:h.next)},!0),r=d.prototype=new a,r.constructor=d,r.getRatio=function(a){var b=this._prev;if(a>b.t){for(;b.next&&a>=b.t;)b=b.next;b=b.prev}else for(;b.prev&&a<=b.t;)b=b.prev;return this._prev=b,b.v+(a-b.t)/b.gap*b.c},r.config=function(a){return new d(a)},d.ease=new d,m("Bounce",k("BounceOut",function(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}),k("BounceIn",function(a){return(a=1-a)<1/2.75?1-7.5625*a*a:2/2.75>a?1-(7.5625*(a-=1.5/2.75)*a+.75):2.5/2.75>a?1-(7.5625*(a-=2.25/2.75)*a+.9375):1-(7.5625*(a-=2.625/2.75)*a+.984375)}),k("BounceInOut",function(a){var b=.5>a;return a=b?1-2*a:2*a-1,a=1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375,b?.5*(1-a):.5*a+.5})),m("Circ",k("CircOut",function(a){return Math.sqrt(1-(a-=1)*a)}),k("CircIn",function(a){return-(Math.sqrt(1-a*a)-1)}),k("CircInOut",function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)})),e=function(b,c,d){var e=j("easing."+b,function(a,b){this._p1=a>=1?a:1,this._p2=(b||d)/(1>a?a:1),this._p3=this._p2/h*(Math.asin(1/this._p1)||0),this._p2=h/this._p2},!0),f=e.prototype=new a;return f.constructor=e,f.getRatio=c,f.config=function(a,b){return new e(a,b)},e},m("Elastic",e("ElasticOut",function(a){return this._p1*Math.pow(2,-10*a)*Math.sin((a-this._p3)*this._p2)+1},.3),e("ElasticIn",function(a){return-(this._p1*Math.pow(2,10*(a-=1))*Math.sin((a-this._p3)*this._p2))},.3),e("ElasticInOut",function(a){return(a*=2)<1?-.5*(this._p1*Math.pow(2,10*(a-=1))*Math.sin((a-this._p3)*this._p2)):this._p1*Math.pow(2,-10*(a-=1))*Math.sin((a-this._p3)*this._p2)*.5+1},.45)),m("Expo",k("ExpoOut",function(a){return 1-Math.pow(2,-10*a)}),k("ExpoIn",function(a){return Math.pow(2,10*(a-1))-.001}),k("ExpoInOut",function(a){return(a*=2)<1?.5*Math.pow(2,10*(a-1)):.5*(2-Math.pow(2,-10*(a-1)))})),m("Sine",k("SineOut",function(a){return Math.sin(a*i)}),k("SineIn",function(a){return-Math.cos(a*i)+1}),k("SineInOut",function(a){return-.5*(Math.cos(Math.PI*a)-1)})),j("easing.EaseLookup",{find:function(b){return a.map[b]}},!0),l(f.SlowMo,"SlowMo","ease,"),l(d,"RoughEase","ease,"),l(b,"SteppedEase","ease,"),p},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(){"use strict";var a=function(){return _gsScope.GreenSockGlobals||_gsScope};"undefined"!=typeof module&&module.exports?(require("../TweenLite.min.js"),module.exports=a()):"function"==typeof define&&define.amd&&define(["TweenLite"],a)}(); \ No newline at end of file +var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : void 0 || window; + +(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function () { + "use strict"; + + _gsScope._gsDefine("easing.Back", ["easing.Ease"], function (a) { + var b, + c, + d, + e, + f = _gsScope.GreenSockGlobals || _gsScope, + g = f.com.greensock, + h = 2 * Math.PI, + i = Math.PI / 2, + j = g._class, + k = function k(b, c) { + var d = j("easing." + b, function () {}, !0), + e = d.prototype = new a(); + return e.constructor = d, e.getRatio = c, d; + }, + l = a.register || function () {}, + m = function m(a, b, c, d, e) { + var f = j("easing." + a, { + easeOut: new b(), + easeIn: new c(), + easeInOut: new d() + }, !0); + return l(f, a), f; + }, + n = function n(a, b, c) { + this.t = a, this.v = b, c && (this.next = c, c.prev = this, this.c = c.v - b, this.gap = c.t - a); + }, + o = function o(b, c) { + var d = j("easing." + b, function (a) { + this._p1 = a || 0 === a ? a : 1.70158, this._p2 = 1.525 * this._p1; + }, !0), + e = d.prototype = new a(); + return e.constructor = d, e.getRatio = c, e.config = function (a) { + return new d(a); + }, d; + }, + p = m("Back", o("BackOut", function (a) { + return (a -= 1) * a * ((this._p1 + 1) * a + this._p1) + 1; + }), o("BackIn", function (a) { + return a * a * ((this._p1 + 1) * a - this._p1); + }), o("BackInOut", function (a) { + return (a *= 2) < 1 ? .5 * a * a * ((this._p2 + 1) * a - this._p2) : .5 * ((a -= 2) * a * ((this._p2 + 1) * a + this._p2) + 2); + })), + q = j("easing.SlowMo", function (a, b, c) { + b = b || 0 === b ? b : .7, null == a ? a = .7 : a > 1 && (a = 1), this._p = 1 !== a ? b : 0, this._p1 = (1 - a) / 2, this._p2 = a, this._p3 = this._p1 + this._p2, this._calcEnd = c === !0; + }, !0), + r = q.prototype = new a(); + + return r.constructor = q, r.getRatio = function (a) { + var b = a + (.5 - a) * this._p; + return a < this._p1 ? this._calcEnd ? 1 - (a = 1 - a / this._p1) * a : b - (a = 1 - a / this._p1) * a * a * a * b : a > this._p3 ? this._calcEnd ? 1 === a ? 0 : 1 - (a = (a - this._p3) / this._p1) * a : b + (a - b) * (a = (a - this._p3) / this._p1) * a * a * a : this._calcEnd ? 1 : b; + }, q.ease = new q(.7, .7), r.config = q.config = function (a, b, c) { + return new q(a, b, c); + }, b = j("easing.SteppedEase", function (a, b) { + a = a || 1, this._p1 = 1 / a, this._p2 = a + (b ? 0 : 1), this._p3 = b ? 1 : 0; + }, !0), r = b.prototype = new a(), r.constructor = b, r.getRatio = function (a) { + return 0 > a ? a = 0 : a >= 1 && (a = .999999999), ((this._p2 * a | 0) + this._p3) * this._p1; + }, r.config = b.config = function (a, c) { + return new b(a, c); + }, c = j("easing.ExpoScaleEase", function (a, b, c) { + this._p1 = Math.log(b / a), this._p2 = b - a, this._p3 = a, this._ease = c; + }, !0), r = c.prototype = new a(), r.constructor = c, r.getRatio = function (a) { + return this._ease && (a = this._ease.getRatio(a)), (this._p3 * Math.exp(this._p1 * a) - this._p3) / this._p2; + }, r.config = c.config = function (a, b, d) { + return new c(a, b, d); + }, d = j("easing.RoughEase", function (b) { + b = b || {}; + + for (var c, d, e, f, g, h, i = b.taper || "none", j = [], k = 0, l = 0 | (b.points || 20), m = l, o = b.randomize !== !1, p = b.clamp === !0, q = b.template instanceof a ? b.template : null, r = "number" == typeof b.strength ? .4 * b.strength : .4; --m > -1;) { + c = o ? Math.random() : 1 / l * m, d = q ? q.getRatio(c) : c, "none" === i ? e = r : "out" === i ? (f = 1 - c, e = f * f * r) : "in" === i ? e = c * c * r : .5 > c ? (f = 2 * c, e = f * f * .5 * r) : (f = 2 * (1 - c), e = f * f * .5 * r), o ? d += Math.random() * e - .5 * e : m % 2 ? d += .5 * e : d -= .5 * e, p && (d > 1 ? d = 1 : 0 > d && (d = 0)), j[k++] = { + x: c, + y: d + }; + } + + for (j.sort(function (a, b) { + return a.x - b.x; + }), h = new n(1, 1, null), m = l; --m > -1;) { + g = j[m], h = new n(g.x, g.y, h); + } + + this._prev = new n(0, 0, 0 !== h.t ? h : h.next); + }, !0), r = d.prototype = new a(), r.constructor = d, r.getRatio = function (a) { + var b = this._prev; + + if (a > b.t) { + for (; b.next && a >= b.t;) { + b = b.next; + } + + b = b.prev; + } else for (; b.prev && a <= b.t;) { + b = b.prev; + } + + return this._prev = b, b.v + (a - b.t) / b.gap * b.c; + }, r.config = function (a) { + return new d(a); + }, d.ease = new d(), m("Bounce", k("BounceOut", function (a) { + return 1 / 2.75 > a ? 7.5625 * a * a : 2 / 2.75 > a ? 7.5625 * (a -= 1.5 / 2.75) * a + .75 : 2.5 / 2.75 > a ? 7.5625 * (a -= 2.25 / 2.75) * a + .9375 : 7.5625 * (a -= 2.625 / 2.75) * a + .984375; + }), k("BounceIn", function (a) { + return (a = 1 - a) < 1 / 2.75 ? 1 - 7.5625 * a * a : 2 / 2.75 > a ? 1 - (7.5625 * (a -= 1.5 / 2.75) * a + .75) : 2.5 / 2.75 > a ? 1 - (7.5625 * (a -= 2.25 / 2.75) * a + .9375) : 1 - (7.5625 * (a -= 2.625 / 2.75) * a + .984375); + }), k("BounceInOut", function (a) { + var b = .5 > a; + return a = b ? 1 - 2 * a : 2 * a - 1, a = 1 / 2.75 > a ? 7.5625 * a * a : 2 / 2.75 > a ? 7.5625 * (a -= 1.5 / 2.75) * a + .75 : 2.5 / 2.75 > a ? 7.5625 * (a -= 2.25 / 2.75) * a + .9375 : 7.5625 * (a -= 2.625 / 2.75) * a + .984375, b ? .5 * (1 - a) : .5 * a + .5; + })), m("Circ", k("CircOut", function (a) { + return Math.sqrt(1 - (a -= 1) * a); + }), k("CircIn", function (a) { + return -(Math.sqrt(1 - a * a) - 1); + }), k("CircInOut", function (a) { + return (a *= 2) < 1 ? -.5 * (Math.sqrt(1 - a * a) - 1) : .5 * (Math.sqrt(1 - (a -= 2) * a) + 1); + })), e = function e(b, c, d) { + var e = j("easing." + b, function (a, b) { + this._p1 = a >= 1 ? a : 1, this._p2 = (b || d) / (1 > a ? a : 1), this._p3 = this._p2 / h * (Math.asin(1 / this._p1) || 0), this._p2 = h / this._p2; + }, !0), + f = e.prototype = new a(); + return f.constructor = e, f.getRatio = c, f.config = function (a, b) { + return new e(a, b); + }, e; + }, m("Elastic", e("ElasticOut", function (a) { + return this._p1 * Math.pow(2, -10 * a) * Math.sin((a - this._p3) * this._p2) + 1; + }, .3), e("ElasticIn", function (a) { + return -(this._p1 * Math.pow(2, 10 * (a -= 1)) * Math.sin((a - this._p3) * this._p2)); + }, .3), e("ElasticInOut", function (a) { + return (a *= 2) < 1 ? -.5 * (this._p1 * Math.pow(2, 10 * (a -= 1)) * Math.sin((a - this._p3) * this._p2)) : this._p1 * Math.pow(2, -10 * (a -= 1)) * Math.sin((a - this._p3) * this._p2) * .5 + 1; + }, .45)), m("Expo", k("ExpoOut", function (a) { + return 1 - Math.pow(2, -10 * a); + }), k("ExpoIn", function (a) { + return Math.pow(2, 10 * (a - 1)) - .001; + }), k("ExpoInOut", function (a) { + return (a *= 2) < 1 ? .5 * Math.pow(2, 10 * (a - 1)) : .5 * (2 - Math.pow(2, -10 * (a - 1))); + })), m("Sine", k("SineOut", function (a) { + return Math.sin(a * i); + }), k("SineIn", function (a) { + return -Math.cos(a * i) + 1; + }), k("SineInOut", function (a) { + return -.5 * (Math.cos(Math.PI * a) - 1); + })), j("easing.EaseLookup", { + find: function find(b) { + return a.map[b]; + } + }, !0), l(f.SlowMo, "SlowMo", "ease,"), l(d, "RoughEase", "ease,"), l(b, "SteppedEase", "ease,"), p; + }, !0); +}), _gsScope._gsDefine && _gsScope._gsQueue.pop()(), function () { + "use strict"; + + var a = function a() { + return _gsScope.GreenSockGlobals || _gsScope; + }; + + "undefined" != typeof module && module.exports ? (require("../TweenLite.min.js"), module.exports = a()) : "function" == typeof define && define.amd && define(["TweenLite"], a); +}(); \ No newline at end of file diff --git a/resources/js/vendor/TweenLite.min.js b/resources/js/vendor/TweenLite.min.js index 210c3b23a..db3e9e12c 100644 --- a/resources/js/vendor/TweenLite.min.js +++ b/resources/js/vendor/TweenLite.min.js @@ -1,3 +1,7 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + /*! * VERSION: 2.1.3 * DATE: 2019-05-17 @@ -9,4 +13,907 @@ * * @author: Jack Doyle, jack@greensock.com */ -!function(a,b){"use strict";var c={},d=a.document,e=a.GreenSockGlobals=a.GreenSockGlobals||a,f=e[b];if(f)return"undefined"!=typeof module&&module.exports&&(module.exports=f),f;var g,h,i,j,k,l=function(a){var b,c=a.split("."),d=e;for(b=0;b-1;)(k=r[f[p]]||new s(f[p],[])).gsClass?(i[p]=k.gsClass,q--):j&&k.sc.push(this);if(0===q&&g){if(m=("com.greensock."+d).split("."),n=m.pop(),o=l(m.join("."))[n]=this.gsClass=g.apply(g,i),h)if(e[n]=c[n]=o,"undefined"!=typeof module&&module.exports)if(d===b){module.exports=c[b]=o;for(p in c)o[p]=c[p]}else c[b]&&(c[b][n]=o);else"function"==typeof define&&define.amd&&define((a.GreenSockAMDPath?a.GreenSockAMDPath+"/":"")+d.split(".").pop(),[],function(){return o});for(p=0;p-1;)for(f=i[j],e=d?u("easing."+f,null,!0):m.easing[f]||{},g=k.length;--g>-1;)h=k[g],x[f+"."+h]=x[h+f]=e[h]=a.getRatio?a:a[h]||new a};for(i=w.prototype,i._calcEnd=!1,i.getRatio=function(a){if(this._func)return this._params[0]=a,this._func.apply(null,this._params);var b=this._type,c=this._power,d=1===b?1-a:2===b?a:.5>a?2*a:2*(1-a);return 1===c?d*=d:2===c?d*=d*d:3===c?d*=d*d*d:4===c&&(d*=d*d*d*d),1===b?1-d:2===b?d:.5>a?d/2:1-d/2},g=["Linear","Quad","Cubic","Quart","Quint,Strong"],h=g.length;--h>-1;)i=g[h]+",Power"+h,y(new w(null,null,1,h),i,"easeOut",!0),y(new w(null,null,2,h),i,"easeIn"+(0===h?",easeNone":"")),y(new w(null,null,3,h),i,"easeInOut");x.linear=m.easing.Linear.easeIn,x.swing=m.easing.Quad.easeInOut;var z=u("events.EventDispatcher",function(a){this._listeners={},this._eventTarget=a||this});i=z.prototype,i.addEventListener=function(a,b,c,d,e){e=e||0;var f,g,h=this._listeners[a],i=0;for(this!==j||k||j.wake(),null==h&&(this._listeners[a]=h=[]),g=h.length;--g>-1;)f=h[g],f.c===b&&f.s===c?h.splice(g,1):0===i&&f.pr-1;)if(d[c].c===b)return void d.splice(c,1)},i.dispatchEvent=function(a){var b,c,d,e=this._listeners[a];if(e)for(b=e.length,b>1&&(e=e.slice(0)),c=this._eventTarget;--b>-1;)d=e[b],d&&(d.up?d.c.call(d.s||c,{type:a,target:c}):d.c.call(d.s||c))};var A=a.requestAnimationFrame,B=a.cancelAnimationFrame,C=Date.now||function(){return(new Date).getTime()},D=C();for(g=["ms","moz","webkit","o"],h=g.length;--h>-1&&!A;)A=a[g[h]+"RequestAnimationFrame"],B=a[g[h]+"CancelAnimationFrame"]||a[g[h]+"CancelRequestAnimationFrame"];u("Ticker",function(a,b){var c,e,f,g,h,i=this,l=C(),m=b!==!1&&A?"auto":!1,o=500,q=33,r="tick",s=function(a){var b,d,j=C()-D;j>o&&(l+=j-q),D+=j,i.time=(D-l)/1e3,b=i.time-h,(!c||b>0||a===!0)&&(i.frame++,h+=b+(b>=g?.004:g-b),d=!0),a!==!0&&(f=e(s)),d&&i.dispatchEvent(r)};z.call(i),i.time=i.frame=0,i.tick=function(){s(!0)},i.lagSmoothing=function(a,b){return arguments.length?(o=a||1/n,void(q=Math.min(b,o,0))):1/n>o},i.sleep=function(){null!=f&&(m&&B?B(f):clearTimeout(f),e=p,f=null,i===j&&(k=!1))},i.wake=function(a){null!==f?i.sleep():a?l+=-D+(D=C()):i.frame>10&&(D=C()-o+5),e=0===c?p:m&&A?A:function(a){return setTimeout(a,1e3*(h-i.time)+1|0)},i===j&&(k=!0),s(2)},i.fps=function(a){return arguments.length?(c=a,g=1/(c||60),h=this.time+g,void i.wake()):c},i.useRAF=function(a){return arguments.length?(i.sleep(),m=a,void i.fps(c)):m},i.fps(a),setTimeout(function(){"auto"===m&&i.frame<5&&"hidden"!==(d||{}).visibilityState&&i.useRAF(!1)},1500)}),i=m.Ticker.prototype=new m.events.EventDispatcher,i.constructor=m.Ticker;var E=u("core.Animation",function(a,b){if(this.vars=b=b||{},this._duration=this._totalDuration=a||0,this._delay=Number(b.delay)||0,this._timeScale=1,this._active=!!b.immediateRender,this.data=b.data,this._reversed=!!b.reversed,Z){k||j.wake();var c=this.vars.useFrames?Y:Z;c.add(this,c._time),this.vars.paused&&this.paused(!0)}});j=E.ticker=new m.Ticker,i=E.prototype,i._dirty=i._gc=i._initted=i._paused=!1,i._totalTime=i._time=0,i._rawPrevTime=-1,i._next=i._last=i._onUpdate=i._timeline=i.timeline=null,i._paused=!1;var F=function(){k&&C()-D>2e3&&("hidden"!==(d||{}).visibilityState||!j.lagSmoothing())&&j.wake();var a=setTimeout(F,2e3);a.unref&&a.unref()};F(),i.play=function(a,b){return null!=a&&this.seek(a,b),this.reversed(!1).paused(!1)},i.pause=function(a,b){return null!=a&&this.seek(a,b),this.paused(!0)},i.resume=function(a,b){return null!=a&&this.seek(a,b),this.paused(!1)},i.seek=function(a,b){return this.totalTime(Number(a),b!==!1)},i.restart=function(a,b){return this.reversed(!1).paused(!1).totalTime(a?-this._delay:0,b!==!1,!0)},i.reverse=function(a,b){return null!=a&&this.seek(a||this.totalDuration(),b),this.reversed(!0).paused(!1)},i.render=function(a,b,c){},i.invalidate=function(){return this._time=this._totalTime=0,this._initted=this._gc=!1,this._rawPrevTime=-1,(this._gc||!this.timeline)&&this._enabled(!0),this},i.isActive=function(){var a,b=this._timeline,c=this._startTime;return!b||!this._gc&&!this._paused&&b.isActive()&&(a=b.rawTime(!0))>=c&&a-1;)"{self}"===a[b]&&(c[b]=this);return c},i._callback=function(a){var b=this.vars,c=b[a],d=b[a+"Params"],e=b[a+"Scope"]||b.callbackScope||this,f=d?d.length:0;switch(f){case 0:c.call(e);break;case 1:c.call(e,d[0]);break;case 2:c.call(e,d[0],d[1]);break;default:c.apply(e,d)}},i.eventCallback=function(a,b,c,d){if("on"===(a||"").substr(0,2)){var e=this.vars;if(1===arguments.length)return e[a];null==b?delete e[a]:(e[a]=b,e[a+"Params"]=q(c)&&-1!==c.join("").indexOf("{self}")?this._swapSelfInParams(c):c,e[a+"Scope"]=d),"onUpdate"===a&&(this._onUpdate=b)}return this},i.delay=function(a){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+a-this._delay),this._delay=a,this):this._delay},i.duration=function(a){return arguments.length?(this._duration=this._totalDuration=a,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._timethis._duration?this._duration:a,b)):this._time},i.totalTime=function(a,b,c){if(k||j.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(0>a&&!c&&(a+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var d=this._totalDuration,e=this._timeline;if(a>d&&!c&&(a=d),this._startTime=(this._paused?this._pauseTime:e._time)-(this._reversed?d-a:a)/this._timeScale,e._dirty||this._uncache(!1),e._timeline)for(;e._timeline;)e._timeline._time!==(e._startTime+e._totalTime)/e._timeScale&&e.totalTime(e._totalTime,!0),e=e._timeline}this._gc&&this._enabled(!0,!1),(this._totalTime!==a||0===this._duration)&&(K.length&&_(),this.render(a,b,!1),K.length&&_())}return this},i.progress=i.totalProgress=function(a,b){var c=this.duration();return arguments.length?this.totalTime(c*a,b):c?this._time/c:this.ratio},i.startTime=function(a){return arguments.length?(a!==this._startTime&&(this._startTime=a,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,a-this._delay)),this):this._startTime},i.endTime=function(a){return this._startTime+(0!=a?this.totalDuration():this.duration())/this._timeScale},i.timeScale=function(a){if(!arguments.length)return this._timeScale;var b,c;for(a=a||n,this._timeline&&this._timeline.smoothChildTiming&&(b=this._pauseTime,c=b||0===b?b:this._timeline.totalTime(),this._startTime=c-(c-this._startTime)*this._timeScale/a),this._timeScale=a,c=this.timeline;c&&c.timeline;)c._dirty=!0,c.totalDuration(),c=c.timeline;return this},i.reversed=function(a){return arguments.length?(a!=this._reversed&&(this._reversed=a,this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},i.paused=function(a){if(!arguments.length)return this._paused;var b,c,d=this._timeline;return a!=this._paused&&d&&(k||a||j.wake(),b=d.rawTime(),c=b-this._pauseTime,!a&&d.smoothChildTiming&&(this._startTime+=c,this._uncache(!1)),this._pauseTime=a?b:null,this._paused=a,this._active=this.isActive(),!a&&0!==c&&this._initted&&this.duration()&&(b=d.smoothChildTiming?this._totalTime:(b-this._startTime)/this._timeScale,this.render(b,b===this._totalTime,!0))),this._gc&&!a&&this._enabled(!0,!1),this};var G=u("core.SimpleTimeline",function(a){E.call(this,0,a),this.autoRemoveChildren=this.smoothChildTiming=!0});i=G.prototype=new E,i.constructor=G,i.kill()._gc=!1,i._first=i._last=i._recent=null,i._sortChildren=!1,i.add=i.insert=function(a,b,c,d){var e,f;if(a._startTime=Number(b||0)+a._delay,a._paused&&this!==a._timeline&&(a._pauseTime=this.rawTime()-(a._timeline.rawTime()-a._pauseTime)),a.timeline&&a.timeline._remove(a,!0),a.timeline=a._timeline=this,a._gc&&a._enabled(!0,!0),e=this._last,this._sortChildren)for(f=a._startTime;e&&e._startTime>f;)e=e._prev;return e?(a._next=e._next,e._next=a):(a._next=this._first,this._first=a),a._next?a._next._prev=a:this._last=a,a._prev=e,this._recent=a,this._timeline&&this._uncache(!0),this},i._remove=function(a,b){return a.timeline===this&&(b||a._enabled(!1,!0),a._prev?a._prev._next=a._next:this._first===a&&(this._first=a._next),a._next?a._next._prev=a._prev:this._last===a&&(this._last=a._prev),a._next=a._prev=a.timeline=null,a===this._recent&&(this._recent=this._last),this._timeline&&this._uncache(!0)),this},i.render=function(a,b,c){var d,e=this._first;for(this._totalTime=this._time=this._rawPrevTime=a;e;)d=e._next,(e._active||a>=e._startTime&&!e._paused&&!e._gc)&&(e._reversed?e.render((e._dirty?e.totalDuration():e._totalDuration)-(a-e._startTime)*e._timeScale,b,c):e.render((a-e._startTime)*e._timeScale,b,c)),e=d},i.rawTime=function(){return k||j.wake(),this._totalTime};var H=u("TweenLite",function(b,c,d){if(E.call(this,c,d),this.render=H.prototype.render,null==b)throw"Cannot tween a null target.";this.target=b="string"!=typeof b?b:H.selector(b)||b;var e,f,g,h=b.jquery||b.length&&b!==a&&b[0]&&(b[0]===a||b[0].nodeType&&b[0].style&&!b.nodeType),i=this.vars.overwrite;if(this._overwrite=i=null==i?X[H.defaultOverwrite]:"number"==typeof i?i>>0:X[i],(h||b instanceof Array||b.push&&q(b))&&"number"!=typeof b[0])for(this._targets=g=o(b),this._propLookup=[],this._siblings=[],e=0;e1&&ca(f,this,null,1,this._siblings[e])):(f=g[e--]=H.selector(f),"string"==typeof f&&g.splice(e+1,1)):g.splice(e--,1);else this._propLookup={},this._siblings=aa(b,this,!1),1===i&&this._siblings.length>1&&ca(b,this,null,1,this._siblings);(this.vars.immediateRender||0===c&&0===this._delay&&this.vars.immediateRender!==!1)&&(this._time=-n,this.render(Math.min(0,-this._delay)))},!0),I=function(b){return b&&b.length&&b!==a&&b[0]&&(b[0]===a||b[0].nodeType&&b[0].style&&!b.nodeType)},J=function(a,b){var c,d={};for(c in a)W[c]||c in b&&"transform"!==c&&"x"!==c&&"y"!==c&&"width"!==c&&"height"!==c&&"className"!==c&&"border"!==c||!(!T[c]||T[c]&&T[c]._autoCSS)||(d[c]=a[c],delete a[c]);a.css=d};i=H.prototype=new E,i.constructor=H,i.kill()._gc=!1,i.ratio=0,i._firstPT=i._targets=i._overwrittenProps=i._startAt=null,i._notifyPluginsOfEnabled=i._lazy=!1,H.version="2.1.3",H.defaultEase=i._ease=new w(null,null,1,1),H.defaultOverwrite="auto",H.ticker=j,H.autoSleep=120,H.lagSmoothing=function(a,b){j.lagSmoothing(a,b)},H.selector=a.$||a.jQuery||function(b){var c=a.$||a.jQuery;return c?(H.selector=c,c(b)):(d||(d=a.document),d?d.querySelectorAll?d.querySelectorAll(b):d.getElementById("#"===b.charAt(0)?b.substr(1):b):b)};var K=[],L={},M=/(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,N=/[\+-]=-?[\.\d]/,O=function(a){for(var b,c=this._firstPT,d=1e-6;c;)b=c.blob?1===a&&null!=this.end?this.end:a?this.join(""):this.start:c.c*a+c.s,c.m?b=c.m.call(this._tween,b,this._target||c.t,this._tween):d>b&&b>-d&&!c.blob&&(b=0),c.f?c.fp?c.t[c.p](c.fp,b):c.t[c.p](b):c.t[c.p]=b,c=c._next},P=function(a){return(1e3*a|0)/1e3+""},Q=function(a,b,c,d){var e,f,g,h,i,j,k,l=[],m=0,n="",o=0;for(l.start=a,l.end=b,a=l[0]=a+"",b=l[1]=b+"",c&&(c(l),a=l[0],b=l[1]),l.length=0,e=a.match(M)||[],f=b.match(M)||[],d&&(d._next=null,d.blob=1,l._firstPT=l._applyPT=d),i=f.length,h=0;i>h;h++)k=f[h],j=b.substr(m,b.indexOf(k,m)-m),n+=j||!h?j:",",m+=j.length,o?o=(o+1)%5:"rgba("===j.substr(-5)&&(o=1),k===e[h]||e.length<=h?n+=k:(n&&(l.push(n),n=""),g=parseFloat(e[h]),l.push(g),l._firstPT={_next:l._firstPT,t:l,p:l.length-1,s:g,c:("="===k.charAt(1)?parseInt(k.charAt(0)+"1",10)*parseFloat(k.substr(2)):parseFloat(k)-g)||0,f:0,m:o&&4>o?Math.round:P}),m+=k.length;return n+=b.substr(m),n&&l.push(n),l.setRatio=O,N.test(b)&&(l.end=null),l},R=function(a,b,c,d,e,f,g,h,i){"function"==typeof d&&(d=d(i||0,a));var j,k=typeof a[b],l="function"!==k?"":b.indexOf("set")||"function"!=typeof a["get"+b.substr(3)]?b:"get"+b.substr(3),m="get"!==c?c:l?g?a[l](g):a[l]():a[b],n="string"==typeof d&&"="===d.charAt(1),o={t:a,p:b,s:m,f:"function"===k,pg:0,n:e||b,m:f?"function"==typeof f?f:Math.round:0,pr:0,c:n?parseInt(d.charAt(0)+"1",10)*parseFloat(d.substr(2)):parseFloat(d)-m||0};return("number"!=typeof m||"number"!=typeof d&&!n)&&(g||isNaN(m)||!n&&isNaN(d)||"boolean"==typeof m||"boolean"==typeof d?(o.fp=g,j=Q(m,n?parseFloat(o.s)+o.c+(o.s+"").replace(/[0-9\-\.]/g,""):d,h||H.defaultStringFilter,o),o={t:j,p:"setRatio",s:0,c:1,f:2,pg:0,n:e||b,pr:0,m:0}):(o.s=parseFloat(m),n||(o.c=parseFloat(d)-o.s||0))),o.c?((o._next=this._firstPT)&&(o._next._prev=o),this._firstPT=o,o):void 0},S=H._internals={isArray:q,isSelector:I,lazyTweens:K,blobDif:Q},T=H._plugins={},U=S.tweenLookup={},V=0,W=S.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1,onOverwrite:1,callbackScope:1,stringFilter:1,id:1,yoyoEase:1,stagger:1},X={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,"true":1,"false":0},Y=E._rootFramesTimeline=new G,Z=E._rootTimeline=new G,$=30,_=S.lazyRender=function(){var a,b,c=K.length;for(L={},a=0;c>a;a++)b=K[a],b&&b._lazy!==!1&&(b.render(b._lazy[0],b._lazy[1],!0),b._lazy=!1);K.length=0};Z._startTime=j.time,Y._startTime=j.frame,Z._active=Y._active=!0,setTimeout(_,1),E._updateRoot=H.render=function(){var a,b,c;if(K.length&&_(),Z.render((j.time-Z._startTime)*Z._timeScale,!1,!1),Y.render((j.frame-Y._startTime)*Y._timeScale,!1,!1),K.length&&_(),j.frame>=$){$=j.frame+(parseInt(H.autoSleep,10)||120);for(c in U){for(b=U[c].tweens,a=b.length;--a>-1;)b[a]._gc&&b.splice(a,1);0===b.length&&delete U[c]}if(c=Z._first,(!c||c._paused)&&H.autoSleep&&!Y._first&&1===j._listeners.tick.length){for(;c&&c._paused;)c=c._next;c||j.sleep()}}},j.addEventListener("tick",E._updateRoot);var aa=function(a,b,c){var d,e,f=a._gsTweenID;if(U[f||(a._gsTweenID=f="t"+V++)]||(U[f]={target:a,tweens:[]}),b&&(d=U[f].tweens,d[e=d.length]=b,c))for(;--e>-1;)d[e]===b&&d.splice(e,1);return U[f].tweens},ba=function(a,b,c,d){var e,f,g=a.vars.onOverwrite;return g&&(e=g(a,b,c,d)),g=H.onOverwrite,g&&(f=g(a,b,c,d)),e!==!1&&f!==!1},ca=function(a,b,c,d,e){var f,g,h,i;if(1===d||d>=4){for(i=e.length,f=0;i>f;f++)if((h=e[f])!==b)h._gc||h._kill(null,a,b)&&(g=!0);else if(5===d)break;return g}var j,k=b._startTime+n,l=[],m=0,o=0===b._duration;for(f=e.length;--f>-1;)(h=e[f])===b||h._gc||h._paused||(h._timeline!==b._timeline?(j=j||da(b,0,o),0===da(h,j,o)&&(l[m++]=h)):h._startTime<=k&&h._startTime+h.totalDuration()/h._timeScale>k&&((o||!h._initted)&&k-h._startTime<=2*n||(l[m++]=h)));for(f=m;--f>-1;)if(h=l[f],i=h._firstPT,2===d&&h._kill(c,a,b)&&(g=!0),2!==d||!h._firstPT&&h._initted&&i){if(2!==d&&!ba(h,b))continue;h._enabled(!1,!1)&&(g=!0)}return g},da=function(a,b,c){for(var d=a._timeline,e=d._timeScale,f=a._startTime;d._timeline;){if(f+=d._startTime,e*=d._timeScale,d._paused)return-100;d=d._timeline}return f/=e,f>b?f-b:c&&f===b||!a._initted&&2*n>f-b?n:(f+=a.totalDuration()/a._timeScale/e)>b+n?0:f-b-n};i._init=function(){var a,b,c,d,e,f,g=this.vars,h=this._overwrittenProps,i=this._duration,j=!!g.immediateRender,k=g.ease,l=this._startAt;if(g.startAt){l&&(l.render(-1,!0),l.kill()),e={};for(d in g.startAt)e[d]=g.startAt[d];if(e.data="isStart",e.overwrite=!1,e.immediateRender=!0,e.lazy=j&&g.lazy!==!1,e.startAt=e.delay=null,e.onUpdate=g.onUpdate,e.onUpdateParams=g.onUpdateParams,e.onUpdateScope=g.onUpdateScope||g.callbackScope||this,this._startAt=H.to(this.target||{},0,e),j)if(this._time>0)this._startAt=null;else if(0!==i)return}else if(g.runBackwards&&0!==i)if(l)l.render(-1,!0),l.kill(),this._startAt=null;else{0!==this._time&&(j=!1),c={};for(d in g)W[d]&&"autoCSS"!==d||(c[d]=g[d]);if(c.overwrite=0,c.data="isFromStart",c.lazy=j&&g.lazy!==!1,c.immediateRender=j,this._startAt=H.to(this.target,0,c),j){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1),this.vars.immediateRender&&(this._startAt=null)}if(this._ease=k=k?k instanceof w?k:"function"==typeof k?new w(k,g.easeParams):x[k]||H.defaultEase:H.defaultEase,g.easeParams instanceof Array&&k.config&&(this._ease=k.config.apply(k,g.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(f=this._targets.length,a=0;f>a;a++)this._initProps(this._targets[a],this._propLookup[a]={},this._siblings[a],h?h[a]:null,a)&&(b=!0);else b=this._initProps(this.target,this._propLookup,this._siblings,h,0);if(b&&H._onPluginEvent("_onInitAllProps",this),h&&(this._firstPT||"function"!=typeof this.target&&this._enabled(!1,!1)),g.runBackwards)for(c=this._firstPT;c;)c.s+=c.c,c.c=-c.c,c=c._next;this._onUpdate=g.onUpdate,this._initted=!0},i._initProps=function(b,c,d,e,f){var g,h,i,j,k,l;if(null==b)return!1;L[b._gsTweenID]&&_(),this.vars.css||b.style&&b!==a&&b.nodeType&&T.css&&this.vars.autoCSS!==!1&&J(this.vars,b);for(g in this.vars)if(l=this.vars[g],W[g])l&&(l instanceof Array||l.push&&q(l))&&-1!==l.join("").indexOf("{self}")&&(this.vars[g]=l=this._swapSelfInParams(l,this));else if(T[g]&&(j=new T[g])._onInitTween(b,this.vars[g],this,f)){for(this._firstPT=k={_next:this._firstPT,t:j,p:"setRatio",s:0,c:1,f:1,n:g,pg:1,pr:j._priority,m:0},h=j._overwriteProps.length;--h>-1;)c[j._overwriteProps[h]]=this._firstPT;(j._priority||j._onInitAllProps)&&(i=!0),(j._onDisable||j._onEnable)&&(this._notifyPluginsOfEnabled=!0),k._next&&(k._next._prev=k)}else c[g]=R.call(this,b,g,"get",l,g,0,null,this.vars.stringFilter,f);return e&&this._kill(e,b)?this._initProps(b,c,d,e,f):this._overwrite>1&&this._firstPT&&d.length>1&&ca(b,this,c,this._overwrite,d)?(this._kill(c,b),this._initProps(b,c,d,e,f)):(this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration)&&(L[b._gsTweenID]=!0),i)},i.render=function(a,b,c){var d,e,f,g,h=this,i=h._time,j=h._duration,k=h._rawPrevTime;if(a>=j-n&&a>=0)h._totalTime=h._time=j,h.ratio=h._ease._calcEnd?h._ease.getRatio(1):1,h._reversed||(d=!0,e="onComplete",c=c||h._timeline.autoRemoveChildren),0===j&&(h._initted||!h.vars.lazy||c)&&(h._startTime===h._timeline._duration&&(a=0),(0>k||0>=a&&a>=-n||k===n&&"isPause"!==h.data)&&k!==a&&(c=!0,k>n&&(e="onReverseComplete")),h._rawPrevTime=g=!b||a||k===a?a:n);else if(n>a)h._totalTime=h._time=0,h.ratio=h._ease._calcEnd?h._ease.getRatio(0):0,(0!==i||0===j&&k>0)&&(e="onReverseComplete",d=h._reversed),a>-n?a=0:0>a&&(h._active=!1,0===j&&(h._initted||!h.vars.lazy||c)&&(k>=0&&(k!==n||"isPause"!==h.data)&&(c=!0),h._rawPrevTime=g=!b||a||k===a?a:n)),(!h._initted||h._startAt&&h._startAt.progress())&&(c=!0);else if(h._totalTime=h._time=a,h._easeType){var l=a/j,m=h._easeType,o=h._easePower;(1===m||3===m&&l>=.5)&&(l=1-l),3===m&&(l*=2),1===o?l*=l:2===o?l*=l*l:3===o?l*=l*l*l:4===o&&(l*=l*l*l*l),h.ratio=1===m?1-l:2===m?l:.5>a/j?l/2:1-l/2}else h.ratio=h._ease.getRatio(a/j);if(h._time!==i||c){if(!h._initted){if(h._init(),!h._initted||h._gc)return;if(!c&&h._firstPT&&(h.vars.lazy!==!1&&h._duration||h.vars.lazy&&!h._duration))return h._time=h._totalTime=i,h._rawPrevTime=k,K.push(h),void(h._lazy=[a,b]);h._time&&!d?h.ratio=h._ease.getRatio(h._time/j):d&&h._ease._calcEnd&&(h.ratio=h._ease.getRatio(0===h._time?0:1))}for(h._lazy!==!1&&(h._lazy=!1),h._active||!h._paused&&h._time!==i&&a>=0&&(h._active=!0),0===i&&(h._startAt&&(a>=0?h._startAt.render(a,!0,c):e||(e="_dummyGS")),h.vars.onStart&&(0!==h._time||0===j)&&(b||h._callback("onStart"))),f=h._firstPT;f;)f.f?f.t[f.p](f.c*h.ratio+f.s):f.t[f.p]=f.c*h.ratio+f.s,f=f._next;h._onUpdate&&(0>a&&h._startAt&&a!==-1e-4&&h._startAt.render(a,!0,c),b||(h._time!==i||d||c)&&h._callback("onUpdate")),e&&(!h._gc||c)&&(0>a&&h._startAt&&!h._onUpdate&&a!==-1e-4&&h._startAt.render(a,!0,c),d&&(h._timeline.autoRemoveChildren&&h._enabled(!1,!1),h._active=!1),!b&&h.vars[e]&&h._callback(e),0===j&&h._rawPrevTime===n&&g!==n&&(h._rawPrevTime=0))}},i._kill=function(a,b,c){if("all"===a&&(a=null),null==a&&(null==b||b===this.target))return this._lazy=!1,this._enabled(!1,!1);b="string"!=typeof b?b||this._targets||this.target:H.selector(b)||b;var d,e,f,g,h,i,j,k,l,m=c&&this._time&&c._startTime===this._startTime&&this._timeline===c._timeline,n=this._firstPT;if((q(b)||I(b))&&"number"!=typeof b[0])for(d=b.length;--d>-1;)this._kill(a,b[d],c)&&(i=!0);else{if(this._targets){for(d=this._targets.length;--d>-1;)if(b===this._targets[d]){h=this._propLookup[d]||{},this._overwrittenProps=this._overwrittenProps||[],e=this._overwrittenProps[d]=a?this._overwrittenProps[d]||{}:"all";break}}else{if(b!==this.target)return!1;h=this._propLookup,e=this._overwrittenProps=a?this._overwrittenProps||{}:"all"}if(h){if(j=a||h,k=a!==e&&"all"!==e&&a!==h&&("object"!=typeof a||!a._tempKill),c&&(H.onOverwrite||this.vars.onOverwrite)){for(f in j)h[f]&&(l||(l=[]),l.push(f));if((l||!a)&&!ba(this,c,b,l))return!1}for(f in j)(g=h[f])&&(m&&(g.f?g.t[g.p](g.s):g.t[g.p]=g.s,i=!0),g.pg&&g.t._kill(j)&&(i=!0),g.pg&&0!==g.t._overwriteProps.length||(g._prev?g._prev._next=g._next:g===this._firstPT&&(this._firstPT=g._next),g._next&&(g._next._prev=g._prev),g._next=g._prev=null),delete h[f]),k&&(e[f]=1);!this._firstPT&&this._initted&&n&&this._enabled(!1,!1)}}return i},i.invalidate=function(){this._notifyPluginsOfEnabled&&H._onPluginEvent("_onDisable",this);var a=this._time;return this._firstPT=this._overwrittenProps=this._startAt=this._onUpdate=null,this._notifyPluginsOfEnabled=this._active=this._lazy=!1,this._propLookup=this._targets?{}:[],E.prototype.invalidate.call(this),this.vars.immediateRender&&(this._time=-n,this.render(a,!1,this.vars.lazy!==!1)),this},i._enabled=function(a,b){if(k||j.wake(),a&&this._gc){var c,d=this._targets;if(d)for(c=d.length;--c>-1;)this._siblings[c]=aa(d[c],this,!0);else this._siblings=aa(this.target,this,!0)}return E.prototype._enabled.call(this,a,b),this._notifyPluginsOfEnabled&&this._firstPT?H._onPluginEvent(a?"_onEnable":"_onDisable",this):!1},H.to=function(a,b,c){return new H(a,b,c)},H.from=function(a,b,c){return c.runBackwards=!0,c.immediateRender=0!=c.immediateRender,new H(a,b,c)},H.fromTo=function(a,b,c,d){return d.startAt=c,d.immediateRender=0!=d.immediateRender&&0!=c.immediateRender,new H(a,b,d)},H.delayedCall=function(a,b,c,d,e){return new H(b,0,{delay:a,onComplete:b,onCompleteParams:c,callbackScope:d,onReverseComplete:b,onReverseCompleteParams:c,immediateRender:!1,lazy:!1,useFrames:e,overwrite:0})},H.set=function(a,b){return new H(a,0,b)},H.getTweensOf=function(a,b){if(null==a)return[];a="string"!=typeof a?a:H.selector(a)||a;var c,d,e,f;if((q(a)||I(a))&&"number"!=typeof a[0]){for(c=a.length,d=[];--c>-1;)d=d.concat(H.getTweensOf(a[c],b));for(c=d.length;--c>-1;)for(f=d[c],e=c;--e>-1;)f===d[e]&&d.splice(c,1)}else if(a._gsTweenID)for(d=aa(a).concat(),c=d.length;--c>-1;)(d[c]._gc||b&&!d[c].isActive())&&d.splice(c,1);return d||[]},H.killTweensOf=H.killDelayedCallsTo=function(a,b,c){"object"==typeof b&&(c=b,b=!1);for(var d=H.getTweensOf(a,b),e=d.length;--e>-1;)d[e]._kill(c,a)};var ea=u("plugins.TweenPlugin",function(a,b){this._overwriteProps=(a||"").split(","),this._propName=this._overwriteProps[0],this._priority=b||0,this._super=ea.prototype},!0);if(i=ea.prototype,ea.version="1.19.0",ea.API=2,i._firstPT=null,i._addTween=R,i.setRatio=O,i._kill=function(a){var b,c=this._overwriteProps,d=this._firstPT;if(null!=a[this._propName])this._overwriteProps=[];else for(b=c.length;--b>-1;)null!=a[c[b]]&&c.splice(b,1);for(;d;)null!=a[d.n]&&(d._next&&(d._next._prev=d._prev),d._prev?(d._prev._next=d._next,d._prev=null):this._firstPT===d&&(this._firstPT=d._next)),d=d._next;return!1},i._mod=i._roundProps=function(a){for(var b,c=this._firstPT;c;)b=a[this._propName]||null!=c.n&&a[c.n.split(this._propName+"_").join("")],b&&"function"==typeof b&&(2===c.f?c.t._applyPT.m=b:c.m=b),c=c._next},H._onPluginEvent=function(a,b){var c,d,e,f,g,h=b._firstPT;if("_onInitAllProps"===a){for(;h;){for(g=h._next,d=e;d&&d.pr>h.pr;)d=d._next;(h._prev=d?d._prev:f)?h._prev._next=h:e=h,(h._next=d)?d._prev=h:f=h,h=g}h=b._firstPT=e}for(;h;)h.pg&&"function"==typeof h.t[a]&&h.t[a]()&&(c=!0),h=h._next;return c},ea.activate=function(a){for(var b=a.length;--b>-1;)a[b].API===ea.API&&(T[(new a[b])._propName]=a[b]);return!0},t.plugin=function(a){if(!(a&&a.propName&&a.init&&a.API))throw"illegal plugin definition.";var b,c=a.propName,d=a.priority||0,e=a.overwriteProps,f={init:"_onInitTween",set:"setRatio",kill:"_kill",round:"_mod",mod:"_mod",initAll:"_onInitAllProps"},g=u("plugins."+c.charAt(0).toUpperCase()+c.substr(1)+"Plugin",function(){ea.call(this,c,d),this._overwriteProps=e||[]},a.global===!0),h=g.prototype=new ea(c);h.constructor=g,g.API=a.API;for(b in f)"function"==typeof a[b]&&(h[f[b]]=a[b]);return g.version=a.version,ea.activate([g]),g},g=a._gsQueue){for(h=0;h -1;) { + (k = r[f[p]] || new s(f[p], [])).gsClass ? (i[p] = k.gsClass, q--) : j && k.sc.push(this); + } + + if (0 === q && g) { + if (m = ("com.greensock." + d).split("."), n = m.pop(), o = l(m.join("."))[n] = this.gsClass = g.apply(g, i), h) if (e[n] = c[n] = o, "undefined" != typeof module && module.exports) { + if (d === b) { + module.exports = c[b] = o; + + for (p in c) { + o[p] = c[p]; + } + } else c[b] && (c[b][n] = o); + } else "function" == typeof define && define.amd && define((a.GreenSockAMDPath ? a.GreenSockAMDPath + "/" : "") + d.split(".").pop(), [], function () { + return o; + }); + + for (p = 0; p < this.sc.length; p++) { + this.sc[p].check(); + } + } + }, this.check(!0); + }, + t = a._gsDefine = function (a, b, c, d) { + return new s(a, b, c, d); + }, + u = m._class = function (a, b, c) { + return b = b || function () {}, t(a, [], function () { + return b; + }, c), b; + }; + + t.globals = e; + + var v = [0, 0, 1, 1], + w = u("easing.Ease", function (a, b, c, d) { + this._func = a, this._type = c || 0, this._power = d || 0, this._params = b ? v.concat(b) : v; + }, !0), + x = w.map = {}, + y = w.register = function (a, b, c, d) { + for (var e, f, g, h, i = b.split(","), j = i.length, k = (c || "easeIn,easeOut,easeInOut").split(","); --j > -1;) { + for (f = i[j], e = d ? u("easing." + f, null, !0) : m.easing[f] || {}, g = k.length; --g > -1;) { + h = k[g], x[f + "." + h] = x[h + f] = e[h] = a.getRatio ? a : a[h] || new a(); + } + } + }; + + for (i = w.prototype, i._calcEnd = !1, i.getRatio = function (a) { + if (this._func) return this._params[0] = a, this._func.apply(null, this._params); + var b = this._type, + c = this._power, + d = 1 === b ? 1 - a : 2 === b ? a : .5 > a ? 2 * a : 2 * (1 - a); + return 1 === c ? d *= d : 2 === c ? d *= d * d : 3 === c ? d *= d * d * d : 4 === c && (d *= d * d * d * d), 1 === b ? 1 - d : 2 === b ? d : .5 > a ? d / 2 : 1 - d / 2; + }, g = ["Linear", "Quad", "Cubic", "Quart", "Quint,Strong"], h = g.length; --h > -1;) { + i = g[h] + ",Power" + h, y(new w(null, null, 1, h), i, "easeOut", !0), y(new w(null, null, 2, h), i, "easeIn" + (0 === h ? ",easeNone" : "")), y(new w(null, null, 3, h), i, "easeInOut"); + } + + x.linear = m.easing.Linear.easeIn, x.swing = m.easing.Quad.easeInOut; + var z = u("events.EventDispatcher", function (a) { + this._listeners = {}, this._eventTarget = a || this; + }); + i = z.prototype, i.addEventListener = function (a, b, c, d, e) { + e = e || 0; + var f, + g, + h = this._listeners[a], + i = 0; + + for (this !== j || k || j.wake(), null == h && (this._listeners[a] = h = []), g = h.length; --g > -1;) { + f = h[g], f.c === b && f.s === c ? h.splice(g, 1) : 0 === i && f.pr < e && (i = g + 1); + } + + h.splice(i, 0, { + c: b, + s: c, + up: d, + pr: e + }); + }, i.removeEventListener = function (a, b) { + var c, + d = this._listeners[a]; + if (d) for (c = d.length; --c > -1;) { + if (d[c].c === b) return void d.splice(c, 1); + } + }, i.dispatchEvent = function (a) { + var b, + c, + d, + e = this._listeners[a]; + if (e) for (b = e.length, b > 1 && (e = e.slice(0)), c = this._eventTarget; --b > -1;) { + d = e[b], d && (d.up ? d.c.call(d.s || c, { + type: a, + target: c + }) : d.c.call(d.s || c)); + } + }; + + var A = a.requestAnimationFrame, + B = a.cancelAnimationFrame, + C = Date.now || function () { + return new Date().getTime(); + }, + D = C(); + + for (g = ["ms", "moz", "webkit", "o"], h = g.length; --h > -1 && !A;) { + A = a[g[h] + "RequestAnimationFrame"], B = a[g[h] + "CancelAnimationFrame"] || a[g[h] + "CancelRequestAnimationFrame"]; + } + + u("Ticker", function (a, b) { + var c, + e, + f, + g, + h, + i = this, + l = C(), + m = b !== !1 && A ? "auto" : !1, + o = 500, + q = 33, + r = "tick", + s = function s(a) { + var b, + d, + j = C() - D; + j > o && (l += j - q), D += j, i.time = (D - l) / 1e3, b = i.time - h, (!c || b > 0 || a === !0) && (i.frame++, h += b + (b >= g ? .004 : g - b), d = !0), a !== !0 && (f = e(s)), d && i.dispatchEvent(r); + }; + + z.call(i), i.time = i.frame = 0, i.tick = function () { + s(!0); + }, i.lagSmoothing = function (a, b) { + return arguments.length ? (o = a || 1 / n, void (q = Math.min(b, o, 0))) : 1 / n > o; + }, i.sleep = function () { + null != f && (m && B ? B(f) : clearTimeout(f), e = p, f = null, i === j && (k = !1)); + }, i.wake = function (a) { + null !== f ? i.sleep() : a ? l += -D + (D = C()) : i.frame > 10 && (D = C() - o + 5), e = 0 === c ? p : m && A ? A : function (a) { + return setTimeout(a, 1e3 * (h - i.time) + 1 | 0); + }, i === j && (k = !0), s(2); + }, i.fps = function (a) { + return arguments.length ? (c = a, g = 1 / (c || 60), h = this.time + g, void i.wake()) : c; + }, i.useRAF = function (a) { + return arguments.length ? (i.sleep(), m = a, void i.fps(c)) : m; + }, i.fps(a), setTimeout(function () { + "auto" === m && i.frame < 5 && "hidden" !== (d || {}).visibilityState && i.useRAF(!1); + }, 1500); + }), i = m.Ticker.prototype = new m.events.EventDispatcher(), i.constructor = m.Ticker; + var E = u("core.Animation", function (a, b) { + if (this.vars = b = b || {}, this._duration = this._totalDuration = a || 0, this._delay = Number(b.delay) || 0, this._timeScale = 1, this._active = !!b.immediateRender, this.data = b.data, this._reversed = !!b.reversed, Z) { + k || j.wake(); + var c = this.vars.useFrames ? Y : Z; + c.add(this, c._time), this.vars.paused && this.paused(!0); + } + }); + j = E.ticker = new m.Ticker(), i = E.prototype, i._dirty = i._gc = i._initted = i._paused = !1, i._totalTime = i._time = 0, i._rawPrevTime = -1, i._next = i._last = i._onUpdate = i._timeline = i.timeline = null, i._paused = !1; + + var F = function F() { + k && C() - D > 2e3 && ("hidden" !== (d || {}).visibilityState || !j.lagSmoothing()) && j.wake(); + var a = setTimeout(F, 2e3); + a.unref && a.unref(); + }; + + F(), i.play = function (a, b) { + return null != a && this.seek(a, b), this.reversed(!1).paused(!1); + }, i.pause = function (a, b) { + return null != a && this.seek(a, b), this.paused(!0); + }, i.resume = function (a, b) { + return null != a && this.seek(a, b), this.paused(!1); + }, i.seek = function (a, b) { + return this.totalTime(Number(a), b !== !1); + }, i.restart = function (a, b) { + return this.reversed(!1).paused(!1).totalTime(a ? -this._delay : 0, b !== !1, !0); + }, i.reverse = function (a, b) { + return null != a && this.seek(a || this.totalDuration(), b), this.reversed(!0).paused(!1); + }, i.render = function (a, b, c) {}, i.invalidate = function () { + return this._time = this._totalTime = 0, this._initted = this._gc = !1, this._rawPrevTime = -1, (this._gc || !this.timeline) && this._enabled(!0), this; + }, i.isActive = function () { + var a, + b = this._timeline, + c = this._startTime; + return !b || !this._gc && !this._paused && b.isActive() && (a = b.rawTime(!0)) >= c && a < c + this.totalDuration() / this._timeScale - n; + }, i._enabled = function (a, b) { + return k || j.wake(), this._gc = !a, this._active = this.isActive(), b !== !0 && (a && !this.timeline ? this._timeline.add(this, this._startTime - this._delay) : !a && this.timeline && this._timeline._remove(this, !0)), !1; + }, i._kill = function (a, b) { + return this._enabled(!1, !1); + }, i.kill = function (a, b) { + return this._kill(a, b), this; + }, i._uncache = function (a) { + for (var b = a ? this : this.timeline; b;) { + b._dirty = !0, b = b.timeline; + } + + return this; + }, i._swapSelfInParams = function (a) { + for (var b = a.length, c = a.concat(); --b > -1;) { + "{self}" === a[b] && (c[b] = this); + } + + return c; + }, i._callback = function (a) { + var b = this.vars, + c = b[a], + d = b[a + "Params"], + e = b[a + "Scope"] || b.callbackScope || this, + f = d ? d.length : 0; + + switch (f) { + case 0: + c.call(e); + break; + + case 1: + c.call(e, d[0]); + break; + + case 2: + c.call(e, d[0], d[1]); + break; + + default: + c.apply(e, d); + } + }, i.eventCallback = function (a, b, c, d) { + if ("on" === (a || "").substr(0, 2)) { + var e = this.vars; + if (1 === arguments.length) return e[a]; + null == b ? delete e[a] : (e[a] = b, e[a + "Params"] = q(c) && -1 !== c.join("").indexOf("{self}") ? this._swapSelfInParams(c) : c, e[a + "Scope"] = d), "onUpdate" === a && (this._onUpdate = b); + } + + return this; + }, i.delay = function (a) { + return arguments.length ? (this._timeline.smoothChildTiming && this.startTime(this._startTime + a - this._delay), this._delay = a, this) : this._delay; + }, i.duration = function (a) { + return arguments.length ? (this._duration = this._totalDuration = a, this._uncache(!0), this._timeline.smoothChildTiming && this._time > 0 && this._time < this._duration && 0 !== a && this.totalTime(this._totalTime * (a / this._duration), !0), this) : (this._dirty = !1, this._duration); + }, i.totalDuration = function (a) { + return this._dirty = !1, arguments.length ? this.duration(a) : this._totalDuration; + }, i.time = function (a, b) { + return arguments.length ? (this._dirty && this.totalDuration(), this.totalTime(a > this._duration ? this._duration : a, b)) : this._time; + }, i.totalTime = function (a, b, c) { + if (k || j.wake(), !arguments.length) return this._totalTime; + + if (this._timeline) { + if (0 > a && !c && (a += this.totalDuration()), this._timeline.smoothChildTiming) { + this._dirty && this.totalDuration(); + var d = this._totalDuration, + e = this._timeline; + if (a > d && !c && (a = d), this._startTime = (this._paused ? this._pauseTime : e._time) - (this._reversed ? d - a : a) / this._timeScale, e._dirty || this._uncache(!1), e._timeline) for (; e._timeline;) { + e._timeline._time !== (e._startTime + e._totalTime) / e._timeScale && e.totalTime(e._totalTime, !0), e = e._timeline; + } + } + + this._gc && this._enabled(!0, !1), (this._totalTime !== a || 0 === this._duration) && (K.length && _(), this.render(a, b, !1), K.length && _()); + } + + return this; + }, i.progress = i.totalProgress = function (a, b) { + var c = this.duration(); + return arguments.length ? this.totalTime(c * a, b) : c ? this._time / c : this.ratio; + }, i.startTime = function (a) { + return arguments.length ? (a !== this._startTime && (this._startTime = a, this.timeline && this.timeline._sortChildren && this.timeline.add(this, a - this._delay)), this) : this._startTime; + }, i.endTime = function (a) { + return this._startTime + (0 != a ? this.totalDuration() : this.duration()) / this._timeScale; + }, i.timeScale = function (a) { + if (!arguments.length) return this._timeScale; + var b, c; + + for (a = a || n, this._timeline && this._timeline.smoothChildTiming && (b = this._pauseTime, c = b || 0 === b ? b : this._timeline.totalTime(), this._startTime = c - (c - this._startTime) * this._timeScale / a), this._timeScale = a, c = this.timeline; c && c.timeline;) { + c._dirty = !0, c.totalDuration(), c = c.timeline; + } + + return this; + }, i.reversed = function (a) { + return arguments.length ? (a != this._reversed && (this._reversed = a, this.totalTime(this._timeline && !this._timeline.smoothChildTiming ? this.totalDuration() - this._totalTime : this._totalTime, !0)), this) : this._reversed; + }, i.paused = function (a) { + if (!arguments.length) return this._paused; + var b, + c, + d = this._timeline; + return a != this._paused && d && (k || a || j.wake(), b = d.rawTime(), c = b - this._pauseTime, !a && d.smoothChildTiming && (this._startTime += c, this._uncache(!1)), this._pauseTime = a ? b : null, this._paused = a, this._active = this.isActive(), !a && 0 !== c && this._initted && this.duration() && (b = d.smoothChildTiming ? this._totalTime : (b - this._startTime) / this._timeScale, this.render(b, b === this._totalTime, !0))), this._gc && !a && this._enabled(!0, !1), this; + }; + var G = u("core.SimpleTimeline", function (a) { + E.call(this, 0, a), this.autoRemoveChildren = this.smoothChildTiming = !0; + }); + i = G.prototype = new E(), i.constructor = G, i.kill()._gc = !1, i._first = i._last = i._recent = null, i._sortChildren = !1, i.add = i.insert = function (a, b, c, d) { + var e, f; + if (a._startTime = Number(b || 0) + a._delay, a._paused && this !== a._timeline && (a._pauseTime = this.rawTime() - (a._timeline.rawTime() - a._pauseTime)), a.timeline && a.timeline._remove(a, !0), a.timeline = a._timeline = this, a._gc && a._enabled(!0, !0), e = this._last, this._sortChildren) for (f = a._startTime; e && e._startTime > f;) { + e = e._prev; + } + return e ? (a._next = e._next, e._next = a) : (a._next = this._first, this._first = a), a._next ? a._next._prev = a : this._last = a, a._prev = e, this._recent = a, this._timeline && this._uncache(!0), this; + }, i._remove = function (a, b) { + return a.timeline === this && (b || a._enabled(!1, !0), a._prev ? a._prev._next = a._next : this._first === a && (this._first = a._next), a._next ? a._next._prev = a._prev : this._last === a && (this._last = a._prev), a._next = a._prev = a.timeline = null, a === this._recent && (this._recent = this._last), this._timeline && this._uncache(!0)), this; + }, i.render = function (a, b, c) { + var d, + e = this._first; + + for (this._totalTime = this._time = this._rawPrevTime = a; e;) { + d = e._next, (e._active || a >= e._startTime && !e._paused && !e._gc) && (e._reversed ? e.render((e._dirty ? e.totalDuration() : e._totalDuration) - (a - e._startTime) * e._timeScale, b, c) : e.render((a - e._startTime) * e._timeScale, b, c)), e = d; + } + }, i.rawTime = function () { + return k || j.wake(), this._totalTime; + }; + + var H = u("TweenLite", function (b, c, d) { + if (E.call(this, c, d), this.render = H.prototype.render, null == b) throw "Cannot tween a null target."; + this.target = b = "string" != typeof b ? b : H.selector(b) || b; + var e, + f, + g, + h = b.jquery || b.length && b !== a && b[0] && (b[0] === a || b[0].nodeType && b[0].style && !b.nodeType), + i = this.vars.overwrite; + if (this._overwrite = i = null == i ? X[H.defaultOverwrite] : "number" == typeof i ? i >> 0 : X[i], (h || b instanceof Array || b.push && q(b)) && "number" != typeof b[0]) for (this._targets = g = o(b), this._propLookup = [], this._siblings = [], e = 0; e < g.length; e++) { + f = g[e], f ? "string" != typeof f ? f.length && f !== a && f[0] && (f[0] === a || f[0].nodeType && f[0].style && !f.nodeType) ? (g.splice(e--, 1), this._targets = g = g.concat(o(f))) : (this._siblings[e] = aa(f, this, !1), 1 === i && this._siblings[e].length > 1 && ca(f, this, null, 1, this._siblings[e])) : (f = g[e--] = H.selector(f), "string" == typeof f && g.splice(e + 1, 1)) : g.splice(e--, 1); + } else this._propLookup = {}, this._siblings = aa(b, this, !1), 1 === i && this._siblings.length > 1 && ca(b, this, null, 1, this._siblings); + (this.vars.immediateRender || 0 === c && 0 === this._delay && this.vars.immediateRender !== !1) && (this._time = -n, this.render(Math.min(0, -this._delay))); + }, !0), + I = function I(b) { + return b && b.length && b !== a && b[0] && (b[0] === a || b[0].nodeType && b[0].style && !b.nodeType); + }, + J = function J(a, b) { + var c, + d = {}; + + for (c in a) { + W[c] || c in b && "transform" !== c && "x" !== c && "y" !== c && "width" !== c && "height" !== c && "className" !== c && "border" !== c || !(!T[c] || T[c] && T[c]._autoCSS) || (d[c] = a[c], delete a[c]); + } + + a.css = d; + }; + + i = H.prototype = new E(), i.constructor = H, i.kill()._gc = !1, i.ratio = 0, i._firstPT = i._targets = i._overwrittenProps = i._startAt = null, i._notifyPluginsOfEnabled = i._lazy = !1, H.version = "2.1.3", H.defaultEase = i._ease = new w(null, null, 1, 1), H.defaultOverwrite = "auto", H.ticker = j, H.autoSleep = 120, H.lagSmoothing = function (a, b) { + j.lagSmoothing(a, b); + }, H.selector = a.$ || a.jQuery || function (b) { + var c = a.$ || a.jQuery; + return c ? (H.selector = c, c(b)) : (d || (d = a.document), d ? d.querySelectorAll ? d.querySelectorAll(b) : d.getElementById("#" === b.charAt(0) ? b.substr(1) : b) : b); + }; + + var K = [], + L = {}, + M = /(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi, + N = /[\+-]=-?[\.\d]/, + O = function O(a) { + for (var b, c = this._firstPT, d = 1e-6; c;) { + b = c.blob ? 1 === a && null != this.end ? this.end : a ? this.join("") : this.start : c.c * a + c.s, c.m ? b = c.m.call(this._tween, b, this._target || c.t, this._tween) : d > b && b > -d && !c.blob && (b = 0), c.f ? c.fp ? c.t[c.p](c.fp, b) : c.t[c.p](b) : c.t[c.p] = b, c = c._next; + } + }, + P = function P(a) { + return (1e3 * a | 0) / 1e3 + ""; + }, + Q = function Q(a, b, c, d) { + var e, + f, + g, + h, + i, + j, + k, + l = [], + m = 0, + n = "", + o = 0; + + for (l.start = a, l.end = b, a = l[0] = a + "", b = l[1] = b + "", c && (c(l), a = l[0], b = l[1]), l.length = 0, e = a.match(M) || [], f = b.match(M) || [], d && (d._next = null, d.blob = 1, l._firstPT = l._applyPT = d), i = f.length, h = 0; i > h; h++) { + k = f[h], j = b.substr(m, b.indexOf(k, m) - m), n += j || !h ? j : ",", m += j.length, o ? o = (o + 1) % 5 : "rgba(" === j.substr(-5) && (o = 1), k === e[h] || e.length <= h ? n += k : (n && (l.push(n), n = ""), g = parseFloat(e[h]), l.push(g), l._firstPT = { + _next: l._firstPT, + t: l, + p: l.length - 1, + s: g, + c: ("=" === k.charAt(1) ? parseInt(k.charAt(0) + "1", 10) * parseFloat(k.substr(2)) : parseFloat(k) - g) || 0, + f: 0, + m: o && 4 > o ? Math.round : P + }), m += k.length; + } + + return n += b.substr(m), n && l.push(n), l.setRatio = O, N.test(b) && (l.end = null), l; + }, + R = function R(a, b, c, d, e, f, g, h, i) { + "function" == typeof d && (d = d(i || 0, a)); + + var j, + k = _typeof(a[b]), + l = "function" !== k ? "" : b.indexOf("set") || "function" != typeof a["get" + b.substr(3)] ? b : "get" + b.substr(3), + m = "get" !== c ? c : l ? g ? a[l](g) : a[l]() : a[b], + n = "string" == typeof d && "=" === d.charAt(1), + o = { + t: a, + p: b, + s: m, + f: "function" === k, + pg: 0, + n: e || b, + m: f ? "function" == typeof f ? f : Math.round : 0, + pr: 0, + c: n ? parseInt(d.charAt(0) + "1", 10) * parseFloat(d.substr(2)) : parseFloat(d) - m || 0 + }; + + return ("number" != typeof m || "number" != typeof d && !n) && (g || isNaN(m) || !n && isNaN(d) || "boolean" == typeof m || "boolean" == typeof d ? (o.fp = g, j = Q(m, n ? parseFloat(o.s) + o.c + (o.s + "").replace(/[0-9\-\.]/g, "") : d, h || H.defaultStringFilter, o), o = { + t: j, + p: "setRatio", + s: 0, + c: 1, + f: 2, + pg: 0, + n: e || b, + pr: 0, + m: 0 + }) : (o.s = parseFloat(m), n || (o.c = parseFloat(d) - o.s || 0))), o.c ? ((o._next = this._firstPT) && (o._next._prev = o), this._firstPT = o, o) : void 0; + }, + S = H._internals = { + isArray: q, + isSelector: I, + lazyTweens: K, + blobDif: Q + }, + T = H._plugins = {}, + U = S.tweenLookup = {}, + V = 0, + W = S.reservedProps = { + ease: 1, + delay: 1, + overwrite: 1, + onComplete: 1, + onCompleteParams: 1, + onCompleteScope: 1, + useFrames: 1, + runBackwards: 1, + startAt: 1, + onUpdate: 1, + onUpdateParams: 1, + onUpdateScope: 1, + onStart: 1, + onStartParams: 1, + onStartScope: 1, + onReverseComplete: 1, + onReverseCompleteParams: 1, + onReverseCompleteScope: 1, + onRepeat: 1, + onRepeatParams: 1, + onRepeatScope: 1, + easeParams: 1, + yoyo: 1, + immediateRender: 1, + repeat: 1, + repeatDelay: 1, + data: 1, + paused: 1, + reversed: 1, + autoCSS: 1, + lazy: 1, + onOverwrite: 1, + callbackScope: 1, + stringFilter: 1, + id: 1, + yoyoEase: 1, + stagger: 1 + }, + X = { + none: 0, + all: 1, + auto: 2, + concurrent: 3, + allOnStart: 4, + preexisting: 5, + "true": 1, + "false": 0 + }, + Y = E._rootFramesTimeline = new G(), + Z = E._rootTimeline = new G(), + $ = 30, + _ = S.lazyRender = function () { + var a, + b, + c = K.length; + + for (L = {}, a = 0; c > a; a++) { + b = K[a], b && b._lazy !== !1 && (b.render(b._lazy[0], b._lazy[1], !0), b._lazy = !1); + } + + K.length = 0; + }; + + Z._startTime = j.time, Y._startTime = j.frame, Z._active = Y._active = !0, setTimeout(_, 1), E._updateRoot = H.render = function () { + var a, b, c; + + if (K.length && _(), Z.render((j.time - Z._startTime) * Z._timeScale, !1, !1), Y.render((j.frame - Y._startTime) * Y._timeScale, !1, !1), K.length && _(), j.frame >= $) { + $ = j.frame + (parseInt(H.autoSleep, 10) || 120); + + for (c in U) { + for (b = U[c].tweens, a = b.length; --a > -1;) { + b[a]._gc && b.splice(a, 1); + } + + 0 === b.length && delete U[c]; + } + + if (c = Z._first, (!c || c._paused) && H.autoSleep && !Y._first && 1 === j._listeners.tick.length) { + for (; c && c._paused;) { + c = c._next; + } + + c || j.sleep(); + } + } + }, j.addEventListener("tick", E._updateRoot); + + var aa = function aa(a, b, c) { + var d, + e, + f = a._gsTweenID; + if (U[f || (a._gsTweenID = f = "t" + V++)] || (U[f] = { + target: a, + tweens: [] + }), b && (d = U[f].tweens, d[e = d.length] = b, c)) for (; --e > -1;) { + d[e] === b && d.splice(e, 1); + } + return U[f].tweens; + }, + ba = function ba(a, b, c, d) { + var e, + f, + g = a.vars.onOverwrite; + return g && (e = g(a, b, c, d)), g = H.onOverwrite, g && (f = g(a, b, c, d)), e !== !1 && f !== !1; + }, + ca = function ca(a, b, c, d, e) { + var f, g, h, i; + + if (1 === d || d >= 4) { + for (i = e.length, f = 0; i > f; f++) { + if ((h = e[f]) !== b) h._gc || h._kill(null, a, b) && (g = !0);else if (5 === d) break; + } + + return g; + } + + var j, + k = b._startTime + n, + l = [], + m = 0, + o = 0 === b._duration; + + for (f = e.length; --f > -1;) { + (h = e[f]) === b || h._gc || h._paused || (h._timeline !== b._timeline ? (j = j || da(b, 0, o), 0 === da(h, j, o) && (l[m++] = h)) : h._startTime <= k && h._startTime + h.totalDuration() / h._timeScale > k && ((o || !h._initted) && k - h._startTime <= 2 * n || (l[m++] = h))); + } + + for (f = m; --f > -1;) { + if (h = l[f], i = h._firstPT, 2 === d && h._kill(c, a, b) && (g = !0), 2 !== d || !h._firstPT && h._initted && i) { + if (2 !== d && !ba(h, b)) continue; + h._enabled(!1, !1) && (g = !0); + } + } + + return g; + }, + da = function da(a, b, c) { + for (var d = a._timeline, e = d._timeScale, f = a._startTime; d._timeline;) { + if (f += d._startTime, e *= d._timeScale, d._paused) return -100; + d = d._timeline; + } + + return f /= e, f > b ? f - b : c && f === b || !a._initted && 2 * n > f - b ? n : (f += a.totalDuration() / a._timeScale / e) > b + n ? 0 : f - b - n; + }; + + i._init = function () { + var a, + b, + c, + d, + e, + f, + g = this.vars, + h = this._overwrittenProps, + i = this._duration, + j = !!g.immediateRender, + k = g.ease, + l = this._startAt; + + if (g.startAt) { + l && (l.render(-1, !0), l.kill()), e = {}; + + for (d in g.startAt) { + e[d] = g.startAt[d]; + } + + if (e.data = "isStart", e.overwrite = !1, e.immediateRender = !0, e.lazy = j && g.lazy !== !1, e.startAt = e.delay = null, e.onUpdate = g.onUpdate, e.onUpdateParams = g.onUpdateParams, e.onUpdateScope = g.onUpdateScope || g.callbackScope || this, this._startAt = H.to(this.target || {}, 0, e), j) if (this._time > 0) this._startAt = null;else if (0 !== i) return; + } else if (g.runBackwards && 0 !== i) if (l) l.render(-1, !0), l.kill(), this._startAt = null;else { + 0 !== this._time && (j = !1), c = {}; + + for (d in g) { + W[d] && "autoCSS" !== d || (c[d] = g[d]); + } + + if (c.overwrite = 0, c.data = "isFromStart", c.lazy = j && g.lazy !== !1, c.immediateRender = j, this._startAt = H.to(this.target, 0, c), j) { + if (0 === this._time) return; + } else this._startAt._init(), this._startAt._enabled(!1), this.vars.immediateRender && (this._startAt = null); + } + + if (this._ease = k = k ? k instanceof w ? k : "function" == typeof k ? new w(k, g.easeParams) : x[k] || H.defaultEase : H.defaultEase, g.easeParams instanceof Array && k.config && (this._ease = k.config.apply(k, g.easeParams)), this._easeType = this._ease._type, this._easePower = this._ease._power, this._firstPT = null, this._targets) for (f = this._targets.length, a = 0; f > a; a++) { + this._initProps(this._targets[a], this._propLookup[a] = {}, this._siblings[a], h ? h[a] : null, a) && (b = !0); + } else b = this._initProps(this.target, this._propLookup, this._siblings, h, 0); + if (b && H._onPluginEvent("_onInitAllProps", this), h && (this._firstPT || "function" != typeof this.target && this._enabled(!1, !1)), g.runBackwards) for (c = this._firstPT; c;) { + c.s += c.c, c.c = -c.c, c = c._next; + } + this._onUpdate = g.onUpdate, this._initted = !0; + }, i._initProps = function (b, c, d, e, f) { + var g, h, i, j, k, l; + if (null == b) return !1; + L[b._gsTweenID] && _(), this.vars.css || b.style && b !== a && b.nodeType && T.css && this.vars.autoCSS !== !1 && J(this.vars, b); + + for (g in this.vars) { + if (l = this.vars[g], W[g]) l && (l instanceof Array || l.push && q(l)) && -1 !== l.join("").indexOf("{self}") && (this.vars[g] = l = this._swapSelfInParams(l, this));else if (T[g] && (j = new T[g]())._onInitTween(b, this.vars[g], this, f)) { + for (this._firstPT = k = { + _next: this._firstPT, + t: j, + p: "setRatio", + s: 0, + c: 1, + f: 1, + n: g, + pg: 1, + pr: j._priority, + m: 0 + }, h = j._overwriteProps.length; --h > -1;) { + c[j._overwriteProps[h]] = this._firstPT; + } + + (j._priority || j._onInitAllProps) && (i = !0), (j._onDisable || j._onEnable) && (this._notifyPluginsOfEnabled = !0), k._next && (k._next._prev = k); + } else c[g] = R.call(this, b, g, "get", l, g, 0, null, this.vars.stringFilter, f); + } + + return e && this._kill(e, b) ? this._initProps(b, c, d, e, f) : this._overwrite > 1 && this._firstPT && d.length > 1 && ca(b, this, c, this._overwrite, d) ? (this._kill(c, b), this._initProps(b, c, d, e, f)) : (this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration) && (L[b._gsTweenID] = !0), i); + }, i.render = function (a, b, c) { + var d, + e, + f, + g, + h = this, + i = h._time, + j = h._duration, + k = h._rawPrevTime; + if (a >= j - n && a >= 0) h._totalTime = h._time = j, h.ratio = h._ease._calcEnd ? h._ease.getRatio(1) : 1, h._reversed || (d = !0, e = "onComplete", c = c || h._timeline.autoRemoveChildren), 0 === j && (h._initted || !h.vars.lazy || c) && (h._startTime === h._timeline._duration && (a = 0), (0 > k || 0 >= a && a >= -n || k === n && "isPause" !== h.data) && k !== a && (c = !0, k > n && (e = "onReverseComplete")), h._rawPrevTime = g = !b || a || k === a ? a : n);else if (n > a) h._totalTime = h._time = 0, h.ratio = h._ease._calcEnd ? h._ease.getRatio(0) : 0, (0 !== i || 0 === j && k > 0) && (e = "onReverseComplete", d = h._reversed), a > -n ? a = 0 : 0 > a && (h._active = !1, 0 === j && (h._initted || !h.vars.lazy || c) && (k >= 0 && (k !== n || "isPause" !== h.data) && (c = !0), h._rawPrevTime = g = !b || a || k === a ? a : n)), (!h._initted || h._startAt && h._startAt.progress()) && (c = !0);else if (h._totalTime = h._time = a, h._easeType) { + var l = a / j, + m = h._easeType, + o = h._easePower; + (1 === m || 3 === m && l >= .5) && (l = 1 - l), 3 === m && (l *= 2), 1 === o ? l *= l : 2 === o ? l *= l * l : 3 === o ? l *= l * l * l : 4 === o && (l *= l * l * l * l), h.ratio = 1 === m ? 1 - l : 2 === m ? l : .5 > a / j ? l / 2 : 1 - l / 2; + } else h.ratio = h._ease.getRatio(a / j); + + if (h._time !== i || c) { + if (!h._initted) { + if (h._init(), !h._initted || h._gc) return; + if (!c && h._firstPT && (h.vars.lazy !== !1 && h._duration || h.vars.lazy && !h._duration)) return h._time = h._totalTime = i, h._rawPrevTime = k, K.push(h), void (h._lazy = [a, b]); + h._time && !d ? h.ratio = h._ease.getRatio(h._time / j) : d && h._ease._calcEnd && (h.ratio = h._ease.getRatio(0 === h._time ? 0 : 1)); + } + + for (h._lazy !== !1 && (h._lazy = !1), h._active || !h._paused && h._time !== i && a >= 0 && (h._active = !0), 0 === i && (h._startAt && (a >= 0 ? h._startAt.render(a, !0, c) : e || (e = "_dummyGS")), h.vars.onStart && (0 !== h._time || 0 === j) && (b || h._callback("onStart"))), f = h._firstPT; f;) { + f.f ? f.t[f.p](f.c * h.ratio + f.s) : f.t[f.p] = f.c * h.ratio + f.s, f = f._next; + } + + h._onUpdate && (0 > a && h._startAt && a !== -1e-4 && h._startAt.render(a, !0, c), b || (h._time !== i || d || c) && h._callback("onUpdate")), e && (!h._gc || c) && (0 > a && h._startAt && !h._onUpdate && a !== -1e-4 && h._startAt.render(a, !0, c), d && (h._timeline.autoRemoveChildren && h._enabled(!1, !1), h._active = !1), !b && h.vars[e] && h._callback(e), 0 === j && h._rawPrevTime === n && g !== n && (h._rawPrevTime = 0)); + } + }, i._kill = function (a, b, c) { + if ("all" === a && (a = null), null == a && (null == b || b === this.target)) return this._lazy = !1, this._enabled(!1, !1); + b = "string" != typeof b ? b || this._targets || this.target : H.selector(b) || b; + var d, + e, + f, + g, + h, + i, + j, + k, + l, + m = c && this._time && c._startTime === this._startTime && this._timeline === c._timeline, + n = this._firstPT; + if ((q(b) || I(b)) && "number" != typeof b[0]) for (d = b.length; --d > -1;) { + this._kill(a, b[d], c) && (i = !0); + } else { + if (this._targets) { + for (d = this._targets.length; --d > -1;) { + if (b === this._targets[d]) { + h = this._propLookup[d] || {}, this._overwrittenProps = this._overwrittenProps || [], e = this._overwrittenProps[d] = a ? this._overwrittenProps[d] || {} : "all"; + break; + } + } + } else { + if (b !== this.target) return !1; + h = this._propLookup, e = this._overwrittenProps = a ? this._overwrittenProps || {} : "all"; + } + + if (h) { + if (j = a || h, k = a !== e && "all" !== e && a !== h && ("object" != _typeof(a) || !a._tempKill), c && (H.onOverwrite || this.vars.onOverwrite)) { + for (f in j) { + h[f] && (l || (l = []), l.push(f)); + } + + if ((l || !a) && !ba(this, c, b, l)) return !1; + } + + for (f in j) { + (g = h[f]) && (m && (g.f ? g.t[g.p](g.s) : g.t[g.p] = g.s, i = !0), g.pg && g.t._kill(j) && (i = !0), g.pg && 0 !== g.t._overwriteProps.length || (g._prev ? g._prev._next = g._next : g === this._firstPT && (this._firstPT = g._next), g._next && (g._next._prev = g._prev), g._next = g._prev = null), delete h[f]), k && (e[f] = 1); + } + + !this._firstPT && this._initted && n && this._enabled(!1, !1); + } + } + return i; + }, i.invalidate = function () { + this._notifyPluginsOfEnabled && H._onPluginEvent("_onDisable", this); + var a = this._time; + return this._firstPT = this._overwrittenProps = this._startAt = this._onUpdate = null, this._notifyPluginsOfEnabled = this._active = this._lazy = !1, this._propLookup = this._targets ? {} : [], E.prototype.invalidate.call(this), this.vars.immediateRender && (this._time = -n, this.render(a, !1, this.vars.lazy !== !1)), this; + }, i._enabled = function (a, b) { + if (k || j.wake(), a && this._gc) { + var c, + d = this._targets; + if (d) for (c = d.length; --c > -1;) { + this._siblings[c] = aa(d[c], this, !0); + } else this._siblings = aa(this.target, this, !0); + } + + return E.prototype._enabled.call(this, a, b), this._notifyPluginsOfEnabled && this._firstPT ? H._onPluginEvent(a ? "_onEnable" : "_onDisable", this) : !1; + }, H.to = function (a, b, c) { + return new H(a, b, c); + }, H.from = function (a, b, c) { + return c.runBackwards = !0, c.immediateRender = 0 != c.immediateRender, new H(a, b, c); + }, H.fromTo = function (a, b, c, d) { + return d.startAt = c, d.immediateRender = 0 != d.immediateRender && 0 != c.immediateRender, new H(a, b, d); + }, H.delayedCall = function (a, b, c, d, e) { + return new H(b, 0, { + delay: a, + onComplete: b, + onCompleteParams: c, + callbackScope: d, + onReverseComplete: b, + onReverseCompleteParams: c, + immediateRender: !1, + lazy: !1, + useFrames: e, + overwrite: 0 + }); + }, H.set = function (a, b) { + return new H(a, 0, b); + }, H.getTweensOf = function (a, b) { + if (null == a) return []; + a = "string" != typeof a ? a : H.selector(a) || a; + var c, d, e, f; + + if ((q(a) || I(a)) && "number" != typeof a[0]) { + for (c = a.length, d = []; --c > -1;) { + d = d.concat(H.getTweensOf(a[c], b)); + } + + for (c = d.length; --c > -1;) { + for (f = d[c], e = c; --e > -1;) { + f === d[e] && d.splice(c, 1); + } + } + } else if (a._gsTweenID) for (d = aa(a).concat(), c = d.length; --c > -1;) { + (d[c]._gc || b && !d[c].isActive()) && d.splice(c, 1); + } + + return d || []; + }, H.killTweensOf = H.killDelayedCallsTo = function (a, b, c) { + "object" == _typeof(b) && (c = b, b = !1); + + for (var d = H.getTweensOf(a, b), e = d.length; --e > -1;) { + d[e]._kill(c, a); + } + }; + var ea = u("plugins.TweenPlugin", function (a, b) { + this._overwriteProps = (a || "").split(","), this._propName = this._overwriteProps[0], this._priority = b || 0, this._super = ea.prototype; + }, !0); + + if (i = ea.prototype, ea.version = "1.19.0", ea.API = 2, i._firstPT = null, i._addTween = R, i.setRatio = O, i._kill = function (a) { + var b, + c = this._overwriteProps, + d = this._firstPT; + if (null != a[this._propName]) this._overwriteProps = [];else for (b = c.length; --b > -1;) { + null != a[c[b]] && c.splice(b, 1); + } + + for (; d;) { + null != a[d.n] && (d._next && (d._next._prev = d._prev), d._prev ? (d._prev._next = d._next, d._prev = null) : this._firstPT === d && (this._firstPT = d._next)), d = d._next; + } + + return !1; + }, i._mod = i._roundProps = function (a) { + for (var b, c = this._firstPT; c;) { + b = a[this._propName] || null != c.n && a[c.n.split(this._propName + "_").join("")], b && "function" == typeof b && (2 === c.f ? c.t._applyPT.m = b : c.m = b), c = c._next; + } + }, H._onPluginEvent = function (a, b) { + var c, + d, + e, + f, + g, + h = b._firstPT; + + if ("_onInitAllProps" === a) { + for (; h;) { + for (g = h._next, d = e; d && d.pr > h.pr;) { + d = d._next; + } + + (h._prev = d ? d._prev : f) ? h._prev._next = h : e = h, (h._next = d) ? d._prev = h : f = h, h = g; + } + + h = b._firstPT = e; + } + + for (; h;) { + h.pg && "function" == typeof h.t[a] && h.t[a]() && (c = !0), h = h._next; + } + + return c; + }, ea.activate = function (a) { + for (var b = a.length; --b > -1;) { + a[b].API === ea.API && (T[new a[b]()._propName] = a[b]); + } + + return !0; + }, t.plugin = function (a) { + if (!(a && a.propName && a.init && a.API)) throw "illegal plugin definition."; + var b, + c = a.propName, + d = a.priority || 0, + e = a.overwriteProps, + f = { + init: "_onInitTween", + set: "setRatio", + kill: "_kill", + round: "_mod", + mod: "_mod", + initAll: "_onInitAllProps" + }, + g = u("plugins." + c.charAt(0).toUpperCase() + c.substr(1) + "Plugin", function () { + ea.call(this, c, d), this._overwriteProps = e || []; + }, a.global === !0), + h = g.prototype = new ea(c); + h.constructor = g, g.API = a.API; + + for (b in f) { + "function" == typeof a[b] && (h[f[b]] = a[b]); + } + + return g.version = a.version, ea.activate([g]), g; + }, g = a._gsQueue) { + for (h = 0; h < g.length; h++) { + g[h](); + } + + for (i in r) { + r[i].func || a.console.log("GSAP encountered missing dependency: " + i); + } + } + + k = !1; +}("undefined" != typeof module && module.exports && "undefined" != typeof global ? global : void 0 || window, "TweenLite"); \ No newline at end of file diff --git a/resources/js/vendor/jquery.easing.1.3.js b/resources/js/vendor/jquery.easing.1.3.js index ef7432107..aea10897a 100644 --- a/resources/js/vendor/jquery.easing.1.3.js +++ b/resources/js/vendor/jquery.easing.1.3.js @@ -1,3 +1,5 @@ +"use strict"; + /* * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ * @@ -34,143 +36,163 @@ * OF THE POSSIBILITY OF SUCH DAMAGE. * */ - // t: current time, b: begInnIng value, c: change In value, d: duration jQuery.easing['jswing'] = jQuery.easing['swing']; +jQuery.extend(jQuery.easing, { + def: 'easeOutQuad', + swing: function swing(x, t, b, c, d) { + //alert(jQuery.easing.default); + return jQuery.easing[jQuery.easing.def](x, t, b, c, d); + }, + easeInQuad: function easeInQuad(x, t, b, c, d) { + return c * (t /= d) * t + b; + }, + easeOutQuad: function easeOutQuad(x, t, b, c, d) { + return -c * (t /= d) * (t - 2) + b; + }, + easeInOutQuad: function easeInOutQuad(x, t, b, c, d) { + if ((t /= d / 2) < 1) return c / 2 * t * t + b; + return -c / 2 * (--t * (t - 2) - 1) + b; + }, + easeInCubic: function easeInCubic(x, t, b, c, d) { + return c * (t /= d) * t * t + b; + }, + easeOutCubic: function easeOutCubic(x, t, b, c, d) { + return c * ((t = t / d - 1) * t * t + 1) + b; + }, + easeInOutCubic: function easeInOutCubic(x, t, b, c, d) { + if ((t /= d / 2) < 1) return c / 2 * t * t * t + b; + return c / 2 * ((t -= 2) * t * t + 2) + b; + }, + easeInQuart: function easeInQuart(x, t, b, c, d) { + return c * (t /= d) * t * t * t + b; + }, + easeOutQuart: function easeOutQuart(x, t, b, c, d) { + return -c * ((t = t / d - 1) * t * t * t - 1) + b; + }, + easeInOutQuart: function easeInOutQuart(x, t, b, c, d) { + if ((t /= d / 2) < 1) return c / 2 * t * t * t * t + b; + return -c / 2 * ((t -= 2) * t * t * t - 2) + b; + }, + easeInQuint: function easeInQuint(x, t, b, c, d) { + return c * (t /= d) * t * t * t * t + b; + }, + easeOutQuint: function easeOutQuint(x, t, b, c, d) { + return c * ((t = t / d - 1) * t * t * t * t + 1) + b; + }, + easeInOutQuint: function easeInOutQuint(x, t, b, c, d) { + if ((t /= d / 2) < 1) return c / 2 * t * t * t * t * t + b; + return c / 2 * ((t -= 2) * t * t * t * t + 2) + b; + }, + easeInSine: function easeInSine(x, t, b, c, d) { + return -c * Math.cos(t / d * (Math.PI / 2)) + c + b; + }, + easeOutSine: function easeOutSine(x, t, b, c, d) { + return c * Math.sin(t / d * (Math.PI / 2)) + b; + }, + easeInOutSine: function easeInOutSine(x, t, b, c, d) { + return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b; + }, + easeInExpo: function easeInExpo(x, t, b, c, d) { + return t == 0 ? b : c * Math.pow(2, 10 * (t / d - 1)) + b; + }, + easeOutExpo: function easeOutExpo(x, t, b, c, d) { + return t == d ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b; + }, + easeInOutExpo: function easeInOutExpo(x, t, b, c, d) { + if (t == 0) return b; + if (t == d) return b + c; + if ((t /= d / 2) < 1) return c / 2 * Math.pow(2, 10 * (t - 1)) + b; + return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b; + }, + easeInCirc: function easeInCirc(x, t, b, c, d) { + return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b; + }, + easeOutCirc: function easeOutCirc(x, t, b, c, d) { + return c * Math.sqrt(1 - (t = t / d - 1) * t) + b; + }, + easeInOutCirc: function easeInOutCirc(x, t, b, c, d) { + if ((t /= d / 2) < 1) return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b; + return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b; + }, + easeInElastic: function easeInElastic(x, t, b, c, d) { + var s = 1.70158; + var p = 0; + var a = c; + if (t == 0) return b; + if ((t /= d) == 1) return b + c; + if (!p) p = d * .3; -jQuery.extend( jQuery.easing, -{ - def: 'easeOutQuad', - swing: function (x, t, b, c, d) { - //alert(jQuery.easing.default); - return jQuery.easing[jQuery.easing.def](x, t, b, c, d); - }, - easeInQuad: function (x, t, b, c, d) { - return c*(t/=d)*t + b; - }, - easeOutQuad: function (x, t, b, c, d) { - return -c *(t/=d)*(t-2) + b; - }, - easeInOutQuad: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t + b; - return -c/2 * ((--t)*(t-2) - 1) + b; - }, - easeInCubic: function (x, t, b, c, d) { - return c*(t/=d)*t*t + b; - }, - easeOutCubic: function (x, t, b, c, d) { - return c*((t=t/d-1)*t*t + 1) + b; - }, - easeInOutCubic: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t + b; - return c/2*((t-=2)*t*t + 2) + b; - }, - easeInQuart: function (x, t, b, c, d) { - return c*(t/=d)*t*t*t + b; - }, - easeOutQuart: function (x, t, b, c, d) { - return -c * ((t=t/d-1)*t*t*t - 1) + b; - }, - easeInOutQuart: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t*t + b; - return -c/2 * ((t-=2)*t*t*t - 2) + b; - }, - easeInQuint: function (x, t, b, c, d) { - return c*(t/=d)*t*t*t*t + b; - }, - easeOutQuint: function (x, t, b, c, d) { - return c*((t=t/d-1)*t*t*t*t + 1) + b; - }, - easeInOutQuint: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; - return c/2*((t-=2)*t*t*t*t + 2) + b; - }, - easeInSine: function (x, t, b, c, d) { - return -c * Math.cos(t/d * (Math.PI/2)) + c + b; - }, - easeOutSine: function (x, t, b, c, d) { - return c * Math.sin(t/d * (Math.PI/2)) + b; - }, - easeInOutSine: function (x, t, b, c, d) { - return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; - }, - easeInExpo: function (x, t, b, c, d) { - return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; - }, - easeOutExpo: function (x, t, b, c, d) { - return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; - }, - easeInOutExpo: function (x, t, b, c, d) { - if (t==0) return b; - if (t==d) return b+c; - if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; - return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; - }, - easeInCirc: function (x, t, b, c, d) { - return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; - }, - easeOutCirc: function (x, t, b, c, d) { - return c * Math.sqrt(1 - (t=t/d-1)*t) + b; - }, - easeInOutCirc: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; - return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; - }, - easeInElastic: function (x, t, b, c, d) { - var s=1.70158;var p=0;var a=c; - if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; - if (a < Math.abs(c)) { a=c; var s=p/4; } - else var s = p/(2*Math.PI) * Math.asin (c/a); - return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; - }, - easeOutElastic: function (x, t, b, c, d) { - var s=1.70158;var p=0;var a=c; - if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; - if (a < Math.abs(c)) { a=c; var s=p/4; } - else var s = p/(2*Math.PI) * Math.asin (c/a); - return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; - }, - easeInOutElastic: function (x, t, b, c, d) { - var s=1.70158;var p=0;var a=c; - if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); - if (a < Math.abs(c)) { a=c; var s=p/4; } - else var s = p/(2*Math.PI) * Math.asin (c/a); - if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; - return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; - }, - easeInBack: function (x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - return c*(t/=d)*t*((s+1)*t - s) + b; - }, - easeOutBack: function (x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; - }, - easeInOutBack: function (x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; - return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; - }, - easeInBounce: function (x, t, b, c, d) { - return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; - }, - easeOutBounce: function (x, t, b, c, d) { - if ((t/=d) < (1/2.75)) { - return c*(7.5625*t*t) + b; - } else if (t < (2/2.75)) { - return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; - } else if (t < (2.5/2.75)) { - return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; - } else { - return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; - } - }, - easeInOutBounce: function (x, t, b, c, d) { - if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; - return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; - } -}); + if (a < Math.abs(c)) { + a = c; + var s = p / 4; + } else var s = p / (2 * Math.PI) * Math.asin(c / a); + + return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b; + }, + easeOutElastic: function easeOutElastic(x, t, b, c, d) { + var s = 1.70158; + var p = 0; + var a = c; + if (t == 0) return b; + if ((t /= d) == 1) return b + c; + if (!p) p = d * .3; + if (a < Math.abs(c)) { + a = c; + var s = p / 4; + } else var s = p / (2 * Math.PI) * Math.asin(c / a); + + return a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b; + }, + easeInOutElastic: function easeInOutElastic(x, t, b, c, d) { + var s = 1.70158; + var p = 0; + var a = c; + if (t == 0) return b; + if ((t /= d / 2) == 2) return b + c; + if (!p) p = d * (.3 * 1.5); + + if (a < Math.abs(c)) { + a = c; + var s = p / 4; + } else var s = p / (2 * Math.PI) * Math.asin(c / a); + + if (t < 1) return -.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b; + return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * .5 + c + b; + }, + easeInBack: function easeInBack(x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + return c * (t /= d) * t * ((s + 1) * t - s) + b; + }, + easeOutBack: function easeOutBack(x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b; + }, + easeInOutBack: function easeInOutBack(x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + if ((t /= d / 2) < 1) return c / 2 * (t * t * (((s *= 1.525) + 1) * t - s)) + b; + return c / 2 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2) + b; + }, + easeInBounce: function easeInBounce(x, t, b, c, d) { + return c - jQuery.easing.easeOutBounce(x, d - t, 0, c, d) + b; + }, + easeOutBounce: function easeOutBounce(x, t, b, c, d) { + if ((t /= d) < 1 / 2.75) { + return c * (7.5625 * t * t) + b; + } else if (t < 2 / 2.75) { + return c * (7.5625 * (t -= 1.5 / 2.75) * t + .75) + b; + } else if (t < 2.5 / 2.75) { + return c * (7.5625 * (t -= 2.25 / 2.75) * t + .9375) + b; + } else { + return c * (7.5625 * (t -= 2.625 / 2.75) * t + .984375) + b; + } + }, + easeInOutBounce: function easeInOutBounce(x, t, b, c, d) { + if (t < d / 2) return jQuery.easing.easeInBounce(x, t * 2, 0, c, d) * .5 + b; + return jQuery.easing.easeOutBounce(x, t * 2 - d, 0, c, d) * .5 + c * .5 + b; + } +}); /* * * TERMS OF USE - EASING EQUATIONS diff --git a/resources/js/vendor/jquery.gsap.min.js b/resources/js/vendor/jquery.gsap.min.js index 4a31918b6..feca2d19f 100644 --- a/resources/js/vendor/jquery.gsap.min.js +++ b/resources/js/vendor/jquery.gsap.min.js @@ -1,3 +1,7 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + /*! * VERSION: 0.1.13 * DATE: 2018-08-27 @@ -11,4 +15,121 @@ * * @author: Jack Doyle, jack@greensock.com */ -!function(a){"use strict";var b,c,d,e=a.fn.animate,f=a.fn.stop,g=!0,h=function(a){var b,c={};for(b in a)c[b]=a[b];return c},i={overwrite:1,delay:1,useFrames:1,runBackwards:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,autoCSS:1},j=",scrollTop,scrollLeft,show,hide,toggle,",k=j,l=function(a,b){for(var c in i)i[c]&&void 0!==a[c]&&(b[c]=a[c])},m=function(a){return function(b){return a.getRatio(b)}},n={},o=function(){var e,f=window.GreenSockGlobals||window;if(b=f.TweenMax||f.TweenLite,b&&(f=f.com.greensock,c=f.plugins.CSSPlugin,n=f.easing.Ease.map||{}),!b||!c)return b=null,void(!d&&window.console&&(window.console.log("The jquery.gsap.js plugin requires the TweenMax (or at least TweenLite and CSSPlugin) JavaScript file(s)."),d=!0));if(a.easing){for(e in n)a.easing[e]=m(n[e]);o=!1}};a.fn.animate=function(d,f,i,j){if(d=d||{},o&&(o(),!b||!c))return e.call(this,d,f,i,j);if(!g||d.skipGSAP===!0||"object"==typeof f&&"function"==typeof f.step)return e.call(this,d,f,i,j);var m,p,q,r,s=a.speed(f,i,j),t={ease:n[s.easing]||(s.easing===!1?n.linear:n.swing)},u=this,v="object"==typeof f?f.specialEasing:null;for(p in d){if(m=d[p],m instanceof Array&&n[m[1]]&&(v=v||{},v[p]=m[1],m=m[0]),"show"===m||"hide"===m||"toggle"===m||-1!==k.indexOf(p)&&-1!==k.indexOf(","+p+","))return e.call(this,d,f,i,j);t[-1===p.indexOf("-")?p:a.camelCase(p)]=m}if(v){t=h(t),r=[];for(p in v)m=r[r.length]={},l(t,m),m.ease=n[v[p]]||t.ease,-1!==p.indexOf("-")&&(p=a.camelCase(p)),m[p]=t[p],delete t[p];0===r.length&&(r=null)}return q=function(c){var d,e=h(t);if(r)for(d=r.length;--d>-1;)b.to(this,a.fx.off?0:s.duration/1e3,r[d]);e.onComplete=function(){c?c():s.old&&a(this).each(s.old)},b.to(this,a.fx.off?0:s.duration/1e3,e)},s.queue!==!1?(u.queue(s.queue,q),"function"==typeof s.old&&a(u[u.length-1]).queue(s.queue,function(a){s.old.call(u),a()})):q.call(u),u},a.fn.stop=function(a,c){if(f.call(this,a,c),b){if(c)for(var d,e=b.getTweensOf(this),g=e.length;--g>-1;)d=e[g].totalTime()/e[g].totalDuration(),d>0&&1>d&&e[g].seek(e[g].totalDuration());b.killTweensOf(this)}return this},a.gsap={enabled:function(a){g=a},version:"0.1.13",legacyProps:function(a){k=j+a+","}}}(jQuery); \ No newline at end of file +!function (a) { + "use strict"; + + var b, + c, + d, + e = a.fn.animate, + f = a.fn.stop, + g = !0, + h = function h(a) { + var b, + c = {}; + + for (b in a) { + c[b] = a[b]; + } + + return c; + }, + i = { + overwrite: 1, + delay: 1, + useFrames: 1, + runBackwards: 1, + easeParams: 1, + yoyo: 1, + immediateRender: 1, + repeat: 1, + repeatDelay: 1, + autoCSS: 1 + }, + j = ",scrollTop,scrollLeft,show,hide,toggle,", + k = j, + l = function l(a, b) { + for (var c in i) { + i[c] && void 0 !== a[c] && (b[c] = a[c]); + } + }, + m = function m(a) { + return function (b) { + return a.getRatio(b); + }; + }, + n = {}, + _o = function o() { + var e, + f = window.GreenSockGlobals || window; + if (b = f.TweenMax || f.TweenLite, b && (f = f.com.greensock, c = f.plugins.CSSPlugin, n = f.easing.Ease.map || {}), !b || !c) return b = null, void (!d && window.console && (window.console.log("The jquery.gsap.js plugin requires the TweenMax (or at least TweenLite and CSSPlugin) JavaScript file(s)."), d = !0)); + + if (a.easing) { + for (e in n) { + a.easing[e] = m(n[e]); + } + + _o = !1; + } + }; + + a.fn.animate = function (d, f, i, j) { + if (d = d || {}, _o && (_o(), !b || !c)) return e.call(this, d, f, i, j); + if (!g || d.skipGSAP === !0 || "object" == _typeof(f) && "function" == typeof f.step) return e.call(this, d, f, i, j); + var m, + p, + q, + r, + s = a.speed(f, i, j), + t = { + ease: n[s.easing] || (s.easing === !1 ? n.linear : n.swing) + }, + u = this, + v = "object" == _typeof(f) ? f.specialEasing : null; + + for (p in d) { + if (m = d[p], m instanceof Array && n[m[1]] && (v = v || {}, v[p] = m[1], m = m[0]), "show" === m || "hide" === m || "toggle" === m || -1 !== k.indexOf(p) && -1 !== k.indexOf("," + p + ",")) return e.call(this, d, f, i, j); + t[-1 === p.indexOf("-") ? p : a.camelCase(p)] = m; + } + + if (v) { + t = h(t), r = []; + + for (p in v) { + m = r[r.length] = {}, l(t, m), m.ease = n[v[p]] || t.ease, -1 !== p.indexOf("-") && (p = a.camelCase(p)), m[p] = t[p], delete t[p]; + } + + 0 === r.length && (r = null); + } + + return q = function q(c) { + var d, + e = h(t); + if (r) for (d = r.length; --d > -1;) { + b.to(this, a.fx.off ? 0 : s.duration / 1e3, r[d]); + } + e.onComplete = function () { + c ? c() : s.old && a(this).each(s.old); + }, b.to(this, a.fx.off ? 0 : s.duration / 1e3, e); + }, s.queue !== !1 ? (u.queue(s.queue, q), "function" == typeof s.old && a(u[u.length - 1]).queue(s.queue, function (a) { + s.old.call(u), a(); + })) : q.call(u), u; + }, a.fn.stop = function (a, c) { + if (f.call(this, a, c), b) { + if (c) for (var d, e = b.getTweensOf(this), g = e.length; --g > -1;) { + d = e[g].totalTime() / e[g].totalDuration(), d > 0 && 1 > d && e[g].seek(e[g].totalDuration()); + } + b.killTweensOf(this); + } + + return this; + }, a.gsap = { + enabled: function enabled(a) { + g = a; + }, + version: "0.1.13", + legacyProps: function legacyProps(a) { + k = j + a + ","; + } + }; +}(jQuery); \ No newline at end of file diff --git a/src/js/admin.js b/src/js/admin.js new file mode 100644 index 000000000..c7e8c9dc1 --- /dev/null +++ b/src/js/admin.js @@ -0,0 +1,110 @@ +/* globals i18n */ +$(function() { + $('.panel-heading').on('click', function() { + const panel = $(this).parents('.panel'); + const others = $(this).parents('.accordion').find('.open').not(panel); + + others.removeClass('open init'); + + panel.toggleClass('open'); + panel.find('.panel-body').slideToggle(); + + others.find('.panel-body').slideUp('fast'); + }); + + $('.reset-btn').on('click', function() { + const msg = i18n('really_delete'); + const really = confirm(msg); + const data = {'type': 'reset'}; + const elem = $(this); + elem.addClass('saving'); + if (really) { + $.ajax({ + 'url': '../api/admin.php', + 'data': data, + 'dataType': 'json', + 'type': 'post', + 'success': function(resp) { + elem.removeClass('saving'); + elem.addClass(resp); + + setTimeout(function() { + elem.removeClass('error success'); + + window.location.reload(); + }, 3000); + } + }); + } + }); + + $('.save-btn').on('click', function(e) { + e.preventDefault(); + const elem = $(this); + elem.addClass('saving'); + const data = 'type=config&' + $('form').serialize(); + $.ajax({ + 'url': '../api/admin.php', + 'data': data, + 'dataType': 'json', + 'type': 'post', + 'success': function(resp) { + elem.removeClass('saving'); + elem.addClass(resp); + + setTimeout(function() { + elem.removeClass('error success'); + + if (resp === 'success') { + window.location.reload(); + } + }, 2000); + } + }); + }); + + $('#checkVersion a').on('click', function (ev) { + ev.preventDefault(); + + $(this).html(''); + + $.ajax({ + url: '../api/checkVersion.php', + method: 'GET', + success: (data) => { + let message = 'Error'; + $('#checkVersion').empty(); + console.log('data', data) + if (!data.updateAvailable) { + message = i18n('using_latest_version'); + } else if ((/^\d+\.\d+\.\d+$/u).test(data.availableVersion)) { + message = i18n('update_available'); + } else { + message = i18n('test_update_available'); + } + + const textElement = $('

'); + textElement.text(message); + textElement.append('
'); + textElement.append(i18n('current_version') + ': '); + textElement.append(data.currentVersion); + textElement.append('
'); + textElement.append(i18n('available_version') + ': '); + textElement.append(data.availableVersion); + textElement.appendTo('#checkVersion'); + } + }); + }); + $('option').mousedown(function(e) { + e.preventDefault(); + const originalScrollTop = $(this).parent().scrollTop(); + $(this).prop('selected', !$(this).prop('selected')); + const that = this; + $(this).parent().focus(); + setTimeout(function() { + $(that).parent().scrollTop(originalScrollTop); + }, 0); + + return false; + }); +}); diff --git a/src/js/adminshortcut.js b/src/js/adminshortcut.js new file mode 100644 index 000000000..4d96a0ebd --- /dev/null +++ b/src/js/adminshortcut.js @@ -0,0 +1,15 @@ +/* exported adminsettings */ +let admincount = 0; + +function countreset() { + admincount = 0; +} + +function adminsettings() { + if (admincount == 3) { + window.location.href = 'admin/index.php'; + } + console.log(admincount); + admincount++; + setTimeout(countreset, 10000); +} diff --git a/src/js/chromakeying.js b/src/js/chromakeying.js new file mode 100644 index 000000000..c072e5e96 --- /dev/null +++ b/src/js/chromakeying.js @@ -0,0 +1,226 @@ +/* globals MarvinColorModelConverter AlphaBoundary MarvinImage */ +/* exported setBackgroundImage */ +let mainImage; +let mainImageWidth; +let mainImageHeight; +let backgroundImage; + +function greenToTransparency(imageIn, imageOut) { + for (let y = 0; y < imageIn.getHeight(); y++) { + for (let x = 0; x < imageIn.getWidth(); x++) { + + const color = imageIn.getIntColor(x, y); + const hsv = MarvinColorModelConverter.rgbToHsv([color]); + + if (hsv[0] >= 60 && hsv[0] <= 200 && hsv[1] >= 0.2 && hsv[2] >= 0.2) { + imageOut.setIntColor(x, y, 0, 127, 127, 127); + } else { + imageOut.setIntColor(x, y, color); + } + } + } +} + +function reduceGreen(image) { + for (let y = 0; y < image.getHeight(); y++) { + for (let x = 0; x < image.getWidth(); x++) { + const r = image.getIntComponent0(x, y); + const g = image.getIntComponent1(x, y); + const b = image.getIntComponent2(x, y); + const color = image.getIntColor(x, y); + const hsv = MarvinColorModelConverter.rgbToHsv([color]); + + if (hsv[0] >= 60 && hsv[0] <= 130 && hsv[1] >= 0.15 && hsv[2] >= 0.15) { + if ((r * b) != 0 && (g * g) / (r * b) > 1.5) { + image.setIntColor(x, y, 255, (r * 1.4), g, (b * 1.4)); + } else { + image.setIntColor(x, y, 255, (r * 1.2), g, (b * 1.2)); + } + } + } + } +} + +function alphaBoundary(imageOut, radius) { + const ab = new AlphaBoundary(); + for (let y = 0; y < imageOut.getHeight(); y++) { + for (let x = 0; x < imageOut.getWidth(); x++) { + ab.alphaRadius(imageOut, x, y, radius); + } + } +} + +function setMainImage(imgSrc) { + const image = new MarvinImage(); + image.load(imgSrc, function () { + mainImageWidth = image.getWidth(); + mainImageHeight = image.getHeight(); + + const imageOut = new MarvinImage(image.getWidth(), image.getHeight()); + + //1. Convert green to transparency + greenToTransparency(image, imageOut); + + // 2. Reduce remaining green pixels + reduceGreen(imageOut); + + // 3. Apply alpha to the boundary + alphaBoundary(imageOut, 6); + + const tmpCanvas = document.createElement('canvas'); + tmpCanvas.width = mainImageWidth; + tmpCanvas.height = mainImageHeight; + imageOut.draw(tmpCanvas); + + mainImage = new Image(); + mainImage.src = tmpCanvas.toDataURL('image/png'); + mainImage.onload = function () { + drawCanvas(); + } + }); +} + + +function setBackgroundImage(url) { + backgroundImage = new Image(); + backgroundImage.src = url; + backgroundImage.onload = function () { + drawCanvas(); + } +} + +function drawCanvas() { + const canvas = document.getElementById('mainCanvas'); + if (typeof mainImage !== 'undefined' && mainImage !== null) { + canvas.width = mainImage.width; + canvas.height = mainImage.height; + } else if (typeof backgroundImage !== 'undefined' && backgroundImage !== null) { + canvas.width = backgroundImage.width; + canvas.height = backgroundImage.height; + } + + const ctx = canvas.getContext ? canvas.getContext('2d') : null; + ctx.clearRect(0, 0, canvas.width, canvas.height); + + if (typeof backgroundImage !== 'undefined' && backgroundImage !== null) { + if (typeof mainImage !== 'undefined' && mainImage !== null) { + const size = calculateAspectRatioFit(backgroundImage.width, backgroundImage.height, mainImage.width, mainImage.height); + ctx.drawImage(backgroundImage, 0, 0, size.width, size.height); + } else { + ctx.drawImage(backgroundImage, 0, 0, backgroundImage.width, backgroundImage.height); + } + } + + if (typeof mainImage !== 'undefined' && mainImage !== null) { + ctx.drawImage(mainImage, 0, 0); + } +} + +function calculateAspectRatioFit(srcWidth, srcHeight, maxWidth, maxHeight) { + const ratio = Math.max(maxWidth / srcWidth, maxHeight / srcHeight); + + return { + width: srcWidth * ratio, + height: srcHeight * ratio + }; +} + +function printImage(filename, cb) { + console.log('print', filename); + $.get( + 'api/print.php', + { + filename: filename, + }, + function (data) { + console.log('print data', data); + if (cb) { + cb(data); + } + } + ); +} + +function saveImage(cb) { + const canvas = document.getElementById('mainCanvas'); + const dataURL = canvas.toDataURL('image/png'); + + $.post( + 'api/chromakeying/save.php', + { + imgData: dataURL, + }, + function (data) { + if (cb) { + cb(data); + } + } + ); +} + +function printImageHandler(ev) { + ev.preventDefault(); + + $('#print_mesg').addClass('modal--show'); + + setTimeout(function () { + saveImage((data) => { + if (!data.success) { + return; + } + + printImage(data.filename, () => { + setTimeout(function () { + $('#print_mesg').removeClass('modal--show'); + $('#print-btn').blur(); + }, 5000); + }) + }); + }, 1000); +} + +function saveImageHandler(ev) { + ev.preventDefault(); + + $('#save_mesg').addClass('modal--show'); + + setTimeout(function () { + saveImage(() => { + setTimeout(function () { + $('#save_mesg').removeClass('modal--show'); + $('#save-btn').blur(); + }, 2000); + }); + }, 1000); +} + +function closeHandler(ev) { + ev.preventDefault(); + + if (document.referrer) { + window.location = document.referrer; + } else { + window.history.back(); + } +} + +$(document).ready(function () { + $('#save-btn').on('click', saveImageHandler); + $('#print-btn').on('click', printImageHandler); + $('#close-btn').on('click', closeHandler); + + setTimeout(function () { + setMainImage($('body').attr('data-main-image')); + }, 100); + + // we don't want to scroll on small or horizontal devices + const windowHeight = $(window).innerHeight(); + const bottomLine = $('.chroma-control-bar').position().top + $('.chroma-control-bar').outerHeight(true); + const diff = bottomLine - windowHeight; + + if (diff > 0) { + const canvasHeight = $('#mainCanvas').height(); + + $('#mainCanvas').css('height', (canvasHeight - diff) + 'px'); + } +}); diff --git a/src/js/core.js b/src/js/core.js new file mode 100644 index 000000000..a8e8923ef --- /dev/null +++ b/src/js/core.js @@ -0,0 +1,783 @@ +/* globals initPhotoSwipeFromDOM i18n */ + +const photoBooth = (function () { + // vars + const api = {}, + loader = $('#loader'), + startPage = $('#start'), + wrapper = $('#wrapper'), + timeToLive = config.time_to_live, + gallery = $('#gallery'), + resultPage = $('#result'), + webcamConstraints = { + audio: false, + video: { + width: config.videoWidth, + height: config.videoHeight, + facingMode: config.camera_mode, + } + }, + videoView = $('#video--view').get(0), + videoPreview = $('#video--preview').get(0), + videoSensor = document.querySelector('#video--sensor'); + + let timeOut, + takingPic = false, + nextCollageNumber = 0, + currentCollageFile = '', + imgFilter = config.default_imagefilter; + + const modal = { + open: function (selector) { + $(selector).addClass('modal--show'); + }, + close: function (selector) { + if ($(selector).hasClass('modal--show')) { + $(selector).removeClass('modal--show'); + + return true; + } + + return false; + }, + toggle: function (selector) { + $(selector).toggleClass('modal--show'); + }, + empty: function (selector) { + modal.close(selector); + + $(selector).find('.modal__body').empty(); + } + }; + + api.reloadPage = function () { + window.location.reload(); + } + + // timeOut function + api.resetTimeOut = function () { + clearTimeout(timeOut); + + timeOut = setTimeout(function () { + api.reloadPage(); + }, timeToLive); + } + + // reset whole thing + api.reset = function () { + loader.removeClass('open'); + loader.removeClass('error'); + modal.empty('#qrCode'); + $('.qrbtn').removeClass('active').attr('style', ''); + $('.loading').text(''); + gallery.removeClass('gallery--open'); + gallery.find('.gallery__inner').hide(); + $('.spinner').hide(); + $('.send-mail').hide(); + $('#video--view').hide(); + $('#video--preview').hide(); + $('#video--sensor').hide(); + $('#ipcam--view').hide(); + api.resetMailForm(); + $('#loader').css('background', config.colors.background_countdown); + $('#loader').css('background-color', config.colors.background_countdown); + } + + // init + api.init = function () { + api.reset(); + + initPhotoSwipeFromDOM('#galimages'); + + resultPage.hide(); + startPage.addClass('open'); + if (config.previewCamBackground) { + api.startVideo('preview'); + } + } + + api.openNav = function () { + $('#mySidenav').addClass('sidenav--open'); + } + + api.closeNav = function () { + $('#mySidenav').removeClass('sidenav--open'); + } + + api.toggleNav = function () { + $('#mySidenav').toggleClass('sidenav--open'); + } + + api.startVideo = function (mode) { + + if (config.previewCamBackground) { + api.stopVideo('preview'); + } + + if (!navigator.mediaDevices) { + return; + } + + const getMedia = (navigator.mediaDevices.getUserMedia || navigator.mediaDevices.webkitGetUserMedia || navigator.mediaDevices.mozGetUserMedia || false); + + if (!getMedia) { + return; + } + + if (config.previewCamFlipHorizontal) { + $('#video--view').addClass('flip-horizontal'); + $('#video--preview').addClass('flip-horizontal'); + } + + getMedia.call(navigator.mediaDevices, webcamConstraints) + .then(function (stream) { + if (mode === 'preview') { + $('#video--preview').show(); + videoPreview.srcObject = stream; + api.stream = stream; + wrapper.css('background-image', 'none'); + wrapper.css('background-color', 'transparent'); + } else { + $('#video--view').show(); + videoView.srcObject = stream; + } + api.stream = stream; + }) + .catch(function (error) { + console.log('Could not get user media: ', error) + }); + } + + api.stopVideo = function (mode) { + if (api.stream) { + const track = api.stream.getTracks()[0]; + track.stop(); + if (mode === 'preview') { + $('#video--preview').hide(); + } else { + $('#video--view').hide(); + } + } + } + + api.thrill = function (photoStyle) { + api.closeNav(); + api.reset(); + + takingPic = true; + if (config.dev) { + console.log('Taking photo:', takingPic); + } + + if (config.previewCamBackground) { + wrapper.css('background-color', config.colors.panel); + } + + if (currentCollageFile && nextCollageNumber) { + photoStyle = 'collage'; + } + + if (config.previewFromCam) { + api.startVideo('view'); + } + + if (config.previewFromIPCam) { + $('#ipcam--view').show(); + $('#ipcam--view').addClass('streaming'); + } + + loader.addClass('open'); + api.startCountdown(nextCollageNumber ? config.collage_cntdwn_time : config.cntdwn_time, $('#counter'), () => { + api.cheese(photoStyle); + }); + } + + // Cheese + api.cheese = function (photoStyle) { + if (config.dev) { + console.log(photoStyle); + } + + $('#counter').empty(); + $('.cheese').empty(); + + if (photoStyle === 'photo') { + const cheesemsg = i18n('cheese'); + $('.cheese').text(cheesemsg); + } else { + const cheesemsg = i18n('cheeseCollage'); + $('.cheese').text(cheesemsg); + $('

').text(`${nextCollageNumber + 1} / ${config.collage_limit}`).appendTo('.cheese'); + } + + if (config.previewFromCam && config.previewCamTakesPic && !api.stream && !config.dev) { + console.log('No preview by device cam available!'); + + if (config.previewFromIPCam) { + $('#ipcam--view').removeClass('streaming'); + $('#ipcam--view').hide(); + } + + api.errorPic({ + error: 'No preview by device cam available!' + }); + } else { + setTimeout(() => { + api.takePic(photoStyle); + }, config.cheese_time); + } + } + + // take Picture + api.takePic = function (photoStyle) { + if (config.dev) { + console.log('Take Picture:' + photoStyle); + } + + if (config.previewFromCam) { + if (config.previewCamTakesPic && !config.dev) { + videoSensor.width = videoView.videoWidth; + videoSensor.height = videoView.videoHeight; + videoSensor.getContext('2d').drawImage(videoView, 0, 0); + } + api.stopVideo('view'); + } + + if (config.previewFromIPCam) { + $('#ipcam--view').removeClass('streaming'); + $('#ipcam--view').hide(); + } + + const data = { + filter: imgFilter, + style: photoStyle, + canvasimg: videoSensor.toDataURL('image/jpeg'), + }; + + if (photoStyle === 'collage') { + data.file = currentCollageFile; + data.collageNumber = nextCollageNumber; + } + + loader.css('background', config.colors.panel); + loader.css('background-color', config.colors.panel); + + jQuery.post('api/takePic.php', data).done(function (result) { + console.log('took picture', result); + $('.cheese').empty(); + if (config.previewCamFlipHorizontal) { + $('#video--view').removeClass('flip-horizontal'); + $('#video--preview').removeClass('flip-horizontal'); + } + + // reset filter (selection) after picture was taken + imgFilter = config.default_imagefilter; + $('#mySidenav .activeSidenavBtn').removeClass('activeSidenavBtn'); + $('#' + imgFilter).addClass('activeSidenavBtn'); + + if (result.error) { + api.errorPic(result); + } else if (result.success === 'collage' && (result.current + 1) < result.limit) { + currentCollageFile = result.file; + nextCollageNumber = result.current + 1; + + $('.spinner').hide(); + $('.loading').empty(); + $('#video--sensor').hide(); + + if (config.continuous_collage) { + setTimeout(() => { + api.thrill('collage'); + }, 1000); + } else { + $('' + i18n('nextPhoto') + '').appendTo('.loading').click((ev) => { + ev.preventDefault(); + + api.thrill('collage'); + }); + const abortmsg = i18n('abort'); + $('.loading').append($('').text(abortmsg)); + } + } else { + currentCollageFile = ''; + nextCollageNumber = 0; + + api.processPic(photoStyle, result); + } + + }).fail(function (xhr, status, result) { + api.errorPic(result); + }); + } + + // Show error Msg and reset + api.errorPic = function (data) { + setTimeout(function () { + $('.spinner').hide(); + $('.loading').empty(); + $('.cheese').empty(); + $('#video--view').hide(); + $('#video--sensor').hide(); + loader.addClass('error'); + const errormsg = i18n('error'); + takingPic = false; + if (config.dev) { + console.log('Taking photo:', takingPic); + } + $('.loading').append($('

').text(errormsg)); + if (config.show_error_messages || config.dev) { + $('.loading').append($('

').text(data.error)); + } + if (config.auto_reload_on_error) { + const reloadmsg = i18n('auto_reload'); + $('.loading').append($('

').text(reloadmsg)); + setTimeout(function () { + api.reloadPage(); + }, 5000); + } else { + const reloadmsg = i18n('reload'); + $('.loading').append($('').text(reloadmsg)); + } + }, 500); + } + + api.processPic = function (photoStyle, result) { + const tempImageUrl = config.folders.tmp + '/' + result.file; + + $('.spinner').show(); + $('.loading').text(photoStyle === 'photo' ? i18n('busy') : i18n('busyCollage')); + + takingPic = false; + if (config.dev) { + console.log('Taking photo:', takingPic); + } + + if (photoStyle === 'photo' && config.image_preview_before_processing) { + const preloadImage = new Image(); + preloadImage.onload = () => { + $('#loader').css('background-image', `url(${tempImageUrl})`); + $('#loader').addClass('showBackgroundImage'); + } + preloadImage.src = tempImageUrl; + } + + $.ajax({ + method: 'POST', + url: 'api/applyEffects.php', + data: { + file: result.file, + filter: imgFilter, + isCollage: photoStyle === 'collage', + }, + success: (data) => { + console.log('picture processed', data); + + if (data.error) { + api.errorPic(data); + } else { + api.renderPic(data.file); + } + }, + error: (jqXHR, textStatus) => { + console.log('An error occurred', textStatus); + + api.errorPic({ + error: 'Request failed: ' + textStatus, + }); + }, + }); + } + + // Render Picture after taking + api.renderPic = function (filename) { + // Add QR Code Image + const qrCodeModal = $('#qrCode'); + modal.empty(qrCodeModal); + $('').on('load', function () { + const body = qrCodeModal.find('.modal__body'); + + $(this).appendTo(body); + $('

').css('max-width', this.width + 'px').html(i18n('qrHelp') + '
' + config.wifi_ssid + '').appendTo(body); + }); + + // Add Print Link + $(document).off('click touchstart', '.printbtn'); + $(document).on('click', '.printbtn', function (e) { + e.preventDefault(); + e.stopPropagation(); + + api.printImage(filename, () => { + $('.printbtn').blur(); + }); + }); + + resultPage.find('.deletebtn').off('click').on('click', (ev) => { + ev.preventDefault(); + + api.deleteImage(filename, (data) => { + if (data.success) { + api.reloadPage(); + } else { + console.log('Error while deleting image'); + } + }) + }); + + // Add Image to gallery and slider + api.addImage(filename); + + const imageUrl = config.folders.images + '/' + filename; + + const preloadImage = new Image(); + preloadImage.onload = () => { + resultPage.css({ + 'background-image': `url(${imageUrl}?filter=${imgFilter})`, + }); + resultPage.attr('data-img', filename); + + startPage.hide(); + resultPage.show(); + + $('.resultInner').addClass('show'); + loader.removeClass('open'); + + $('#loader').css('background-image', 'url()'); + $('#loader').removeClass('showBackgroundImage'); + + api.resetTimeOut(); + }; + + preloadImage.src = imageUrl; + } + + // add image to Gallery + api.addImage = function (imageName) { + const thumbImg = new Image(); + const bigImg = new Image(); + let thumbSize = ''; + let bigSize = ''; + + let imgtoLoad = 2; + + thumbImg.onload = function () { + thumbSize = this.width + 'x' + this.height; + if (--imgtoLoad == 0) { allLoaded(); } + } + + bigImg.onload = function () { + bigSize = this.width + 'x' + this.height; + if (--imgtoLoad == 0) { allLoaded(); } + } + + bigImg.src = config.folders.images + '/' + imageName; + thumbImg.src = config.folders.thumbs + '/' + imageName; + + function allLoaded() { + const linkElement = $('
').html(thumbImg); + + linkElement.attr('data-size', bigSize); + linkElement.attr('href', config.folders.images + '/' + imageName); + linkElement.attr('data-med', config.folders.thumbs + '/' + imageName); + linkElement.attr('data-med-size', thumbSize); + + if (config.newest_first) { + linkElement.prependTo($('#galimages')); + } else { + linkElement.appendTo($('#galimages')); + } + + $('#galimages').children().not('a').remove(); + } + } + + // Open Gallery Overview + api.openGallery = function () { + if (config.scrollbar) { + gallery.addClass('scrollbar'); + } + + gallery.addClass('gallery--open'); + + setTimeout(() => gallery.find('.gallery__inner').show(), 300); + } + + api.resetMailForm = function () { + $('#send-mail-form').trigger('reset'); + $('#mail-form-message').html(''); + }; + + // Countdown Function + api.startCountdown = function (start, element, cb) { + let count = 0; + let current = start; + + function timerFunction() { + element.text(current); + current--; + + element.removeClass('tick'); + + if (count < start) { + window.setTimeout(() => element.addClass('tick'), 50); + window.setTimeout(timerFunction, 1000); + } else { + cb(); + } + count++; + } + timerFunction(); + } + + api.printImage = function (imageSrc, cb) { + modal.open('#print_mesg'); + + setTimeout(function () { + $.ajax({ + url: 'api/print.php?filename=' + encodeURI(imageSrc), + }).done(function (data) { + if (config.dev) { + console.log(data) + } + + setTimeout(function () { + modal.close('#print_mesg'); + cb(); + }, 5000); + }); + }, 1000); + } + + api.deleteImage = function (imageName, cb) { + $.ajax({ + url: 'api/deletePhoto.php', + method: 'POST', + data: { + file: imageName, + }, + success: (data) => { + cb(data); + } + }); + } + + api.toggleMailDialog = function (img) { + const mail = $('.send-mail'); + + if (mail.hasClass('mail-active')) { + api.resetMailForm(); + mail.removeClass('mail-active').fadeOut('fast'); + } else { + $('#mail-form-image').val(img); + + mail.addClass('mail-active').fadeIn('fast'); + } + } + + //Filter + $('.imageFilter').on('click', function () { + api.toggleNav(); + }); + + $('.sidenav > div').on('click', function () { + $('.sidenav > div').removeAttr('class'); + $(this).addClass('activeSidenavBtn'); + + imgFilter = $(this).attr('id'); + const result = {file: $('#result').attr('data-img')}; + if (config.dev) { + console.log('Applying filter', imgFilter, result); + } + api.processPic(imgFilter, result); + }); + + // Take Picture Button + $('.takePic, .newpic').on('click', function (e) { + e.preventDefault(); + + api.thrill('photo'); + $('.newpic').blur(); + }); + + // Take Collage Button + $('.takeCollage, .newcollage').on('click', function (e) { + e.preventDefault(); + + api.thrill('collage'); + $('.newcollage').blur(); + }); + + $('#mySidenav .closebtn').on('click', function (e) { + e.preventDefault(); + + api.closeNav(); + }); + + // Open Gallery Button + $('.gallery-button').on('click', function (e) { + e.preventDefault(); + + api.closeNav(); + api.openGallery($(this)); + }); + + // Close Gallery Overview + $('.gallery__close').on('click', function (e) { + e.preventDefault(); + + gallery.find('.gallery__inner').hide(); + gallery.removeClass('gallery--open'); + }); + + $('.mailbtn').on('click touchstart', function (e) { + e.preventDefault(); + e.stopPropagation(); + + const img = resultPage.attr('data-img'); + + api.toggleMailDialog(img); + }); + + $('#send-mail-form').on('submit', function (e) { + e.preventDefault(); + + const message = $('#mail-form-message'); + message.empty(); + + const form = $(this); + const oldValue = form.find('.btn').html(); + + form.find('.btn').html(''); + + $.ajax({ + url: 'api/sendPic.php', + type: 'POST', + data: form.serialize(), + dataType: 'json', + cache: false, + success: function (result) { + if (result.success) { + if (result.saved) { + message.fadeIn().html('' + i18n('mailSaved') + ''); + } else { + message.fadeIn().html('' + i18n('mailSent') + ''); + } + } else { + message.fadeIn().html('' + result.error + ''); + } + }, + error: function () { + message.fadeIn('fast').html('' + i18n('mailError') + ''); + }, + complete: function () { + form.find('.btn').html(oldValue); + } + }); + }); + + $('#send-mail-close').on('click', function () { + api.resetMailForm(); + $('.send-mail').removeClass('mail-active').fadeOut('fast'); + }); + + $('#result').on('click', function () { + if (!modal.close('#qrCode')) { + $('.resultInner').toggleClass('show'); + } + }); + + // Show QR Code + $('.qrbtn').on('click', function (e) { + e.preventDefault(); + e.stopPropagation(); + + modal.toggle('#qrCode'); + }); + + $('.homebtn').on('click', function (e) { + e.preventDefault(); + e.stopPropagation(); + + api.reloadPage(); + }); + + $('#cups-button').on('click', function (ev) { + ev.preventDefault(); + + const url = `http://${location.hostname}:631/jobs/`; + const features = 'width=1024,height=600,left=0,top=0,screenX=0,screenY=0,resizable=NO,scrollbars=NO'; + + window.open(url, 'newwin', features); + }); + + // Go Fullscreen + $('#fs-button').on('click', function (e) { + e.preventDefault(); + if (!document.fullscreenElement) { + document.body.requestFullscreen(); + } else if (document.fullscreenElement) { + document.exitFullscreen(); + } + $('#fs-button').blur(); + }); + + // Fake buttons + $('.triggerPic').on('click', function (e) { + e.preventDefault(); + + api.thrill('photo'); + }); + + $('.triggerCollage').on('click', function (e) { + e.preventDefault(); + + api.thrill('collage'); + }); + + $(document).on('keyup', function (ev) { + if (config.photo_key && parseInt(config.photo_key, 10) === ev.keyCode) { + if (!takingPic) { + $('.closeGallery').trigger('click'); + $('.triggerPic').trigger('click'); + } else if (config.dev && takingPic) { + console.log('Taking photo already in progress!'); + } + } + + if (config.collage_key && parseInt(config.collage_key, 10) === ev.keyCode) { + if (!takingPic) { + $('.closeGallery').trigger('click'); + if (config.use_collage) { + $('.triggerCollage').trigger('click'); + } else { + if (config.dev) { + console.log('Collage key pressed. Please enable collage in your config. Triggering photo now.'); + } + $('.triggerPic').trigger('click'); + } + } else if (config.dev && takingPic) { + console.log('Taking photo already in progress!'); + } + } + }); + + // clear Timeout to not reset the gallery, if you clicked anywhere + $(document).on('click', function () { + if (!startPage.is(':visible')) { + api.resetTimeOut(); + } + }); + + // Disable Right-Click + if (!config.dev) { + $(this).on('contextmenu', function (e) { + e.preventDefault(); + }); + } + + return api; +})(); + +// Init on domready +$(function () { + photoBooth.init(); +}); diff --git a/src/js/i18n.js b/src/js/i18n.js new file mode 100644 index 000000000..7f871943d --- /dev/null +++ b/src/js/i18n.js @@ -0,0 +1,12 @@ +const translator = new Translator({ + persist: false, + defaultLanguage: 'en', + detectLanguage: false, + registerGlobally: 'i18n', + filesLocation: '/photobooth/resources/lang', + debug: true +}); + +translator.fetch(['de', 'en', 'es', 'el', 'fr']).then(() => { + translator.translatePageTo(); +}); \ No newline at end of file diff --git a/src/js/login.js b/src/js/login.js new file mode 100644 index 000000000..2102ffdef --- /dev/null +++ b/src/js/login.js @@ -0,0 +1,16 @@ +/* exported login */ + +function showPassword() { + const x = document.getElementById('password'); + + if (x.type === 'password') { + x.type = 'text'; + } else { + x.type = 'password'; + } +} + +$('.password-toggle').on('click', function () { + showPassword(); + $('.password-toggle').toggleClass('fa-eye fa-eye-slash'); +}); diff --git a/src/js/photoinit.js b/src/js/photoinit.js new file mode 100644 index 000000000..c5b8dc91c --- /dev/null +++ b/src/js/photoinit.js @@ -0,0 +1,251 @@ +/* exported initPhotoSwipeFromDOM */ +/* global photoBooth */ +function initPhotoSwipeFromDOM (gallerySelector) { + + let gallery, + ssRunning = false, + ssOnce = false; + + const ssDelay = config.slideshow_pictureTime, + ssButtonClass = '.pswp__button--playpause'; + + const parseThumbnailElements = function (container) { + return $(container).find('>a').map(function () { + const element = $(this); + + const size = element.attr('data-size').split('x'); + const medSize = element.attr('data-med-size').split('x'); + + // create slide object + const item = { + element: element.get(0), + src: element.attr('href'), + w: parseInt(size[0], 10), + h: parseInt(size[1], 10), + msrc: element.find('>img').attr('src'), + mediumImage: { + src: element.attr('data-med'), + w: parseInt(medSize[0], 10), + h: parseInt(medSize[1], 10) + } + }; + + item.originalImage = { + src: item.src, + w: item.w, + h: item.h + }; + + return item; + }).get(); + }; + + const onThumbnailClick = function (ev) { + ev.preventDefault(); + + const element = $(ev.target).closest('a'); + const index = $(gallerySelector).find('>a').index(element); + + openPhotoSwipe(index); + }; + + const openPhotoSwipe = function (index) { + const pswpElement = $('.pswp').get(0); + const items = parseThumbnailElements(gallerySelector); + + const options = { + index: index, + + getThumbBoundsFn: function (thumbIndex) { + // See Options->getThumbBoundsFn section of docs for more info + const thumbnail = items[thumbIndex].element.children[0], + pageYScroll = window.pageYOffset || document.documentElement.scrollTop, + rect = thumbnail.getBoundingClientRect(); + + return { + x: rect.left, + y: rect.top + pageYScroll, + w: rect.width + }; + }, + + shareEl: false, + zoomEl: false, + fullscreenEl: false, + }; + + // Pass data to PhotoSwipe and initialize it + gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options); + + // Slideshow not running from the start + setSlideshowState(ssButtonClass, false); + + // see: http://photoswipe.com/documentation/responsive-images.html + let realViewportWidth, + useLargeImages = false, + firstResize = true, + imageSrcWillChange; + + gallery.listen('beforeResize', function () { + + let dpiRatio = window.devicePixelRatio ? window.devicePixelRatio : 1; + dpiRatio = Math.min(dpiRatio, 2.5); + realViewportWidth = gallery.viewportSize.x * dpiRatio; + + + if (realViewportWidth >= 1200 || (!gallery.likelyTouchDevice && realViewportWidth > 800) || screen.width > 1200) { + if (!useLargeImages) { + useLargeImages = true; + imageSrcWillChange = true; + } + + } else if (useLargeImages) { + useLargeImages = false; + imageSrcWillChange = true; + } + + if (imageSrcWillChange && !firstResize) { + gallery.invalidateCurrItems(); + } + + if (firstResize) { + firstResize = false; + } + + imageSrcWillChange = false; + + }); + + gallery.listen('gettingData', function (_index, item) { + if (useLargeImages) { + item.src = item.originalImage.src; + item.w = item.originalImage.w; + item.h = item.originalImage.h; + } else { + item.src = item.mediumImage.src; + item.w = item.mediumImage.w; + item.h = item.mediumImage.h; + } + }); + + gallery.listen('afterChange', function() { + const img = gallery.currItem.src.split('\\').pop().split('/').pop(); + + $('.pswp__button--download').attr({ + href: 'api/download.php?image=' + img, + download: img, + }); + + if (ssRunning && ssOnce) { + ssOnce = false; + setTimeout(gotoNextSlide, ssDelay); + } + }); + + const resetMailForm = function () { + $('.pswp__qr').removeClass('qr-active').fadeOut('fast'); + + photoBooth.resetMailForm(); + + $('.send-mail').removeClass('mail-active').fadeOut('fast'); + }; + + gallery.listen('beforeChange', resetMailForm); + gallery.listen('close', resetMailForm); + + gallery.init(); + }; + + // QR in gallery + $('.pswp__button--qrcode').on('click touchstart', function (e) { + e.preventDefault(); + e.stopPropagation(); + + const pswpQR = $('.pswp__qr'); + + if (pswpQR.hasClass('qr-active')) { + pswpQR.removeClass('qr-active').fadeOut('fast'); + } else { + pswpQR.empty(); + let img = gallery.currItem.src; + img = img.split('\\').pop().split('/').pop(); + + $('').attr('src', 'api/qrcode.php?filename=' + img).appendTo(pswpQR); + + pswpQR.addClass('qr-active').fadeIn('fast'); + } + }); + + // print in gallery + $('.pswp__button--print').on('click touchstart', function (e) { + e.preventDefault(); + e.stopPropagation(); + + const img = gallery.currItem.src.split('\\').pop().split('/').pop(); + + photoBooth.printImage(img, () => { + gallery.close(); + }); + }); + + // Close Gallery while Taking a Picture or Collage + $('.closeGallery').on('click', function (e) { + e.preventDefault(); + + if (gallery) { + if (config.dev) { + console.log('Closing Gallery'); + } + gallery.close(); + } + }); + + // chroma keying print + $('.pswp__button--print-chroma-keying').on('click touchstart', function (e) { + e.preventDefault(); + e.stopPropagation(); + + const img = gallery.currItem.src.split('\\').pop().split('/').pop(); + + if (config.chroma_keying) { + location = 'chromakeying.php?filename=' + encodeURI(img); + } + }); + + $('.pswp__button--mail').on('click touchstart', function (e) { + e.preventDefault(); + e.stopPropagation(); + + const img = gallery.currItem.src.split('\\').pop().split('/').pop(); + + photoBooth.toggleMailDialog(img); + }); + + /* slideshow management */ + $(ssButtonClass).on('click touchstart', function(e) { + e.preventDefault(); + e.stopPropagation(); + // toggle slideshow on/off + $('.pswp__button--playpause').toggleClass('fa-play fa-pause'); + setSlideshowState(this, !ssRunning); + }); + + function setSlideshowState(el, running) { + if (running) { + setTimeout(gotoNextSlide, ssDelay / 2.0); + } + const title = running ? 'Pause Slideshow' : 'Play Slideshow'; + $(el).prop('title', title); + ssRunning = running; + } + + function gotoNextSlide() { + if (ssRunning && Boolean(gallery)) { + ssOnce = true; + gallery.next(); + } + } + + $(gallerySelector).on('click', onThumbnailClick); +} + diff --git a/src/js/slideshow.js b/src/js/slideshow.js new file mode 100644 index 000000000..e6dbb625a --- /dev/null +++ b/src/js/slideshow.js @@ -0,0 +1,20 @@ +$('#slideshow > div:gt(0)').hide(); + +setInterval(function() { + $('#slideshow > div:first') + .fadeOut(1000) + .next() + .fadeIn(1000) + .end() + .appendTo('#slideshow'); +}, config.slideshow_pictureTime); + +$(window).resize(function() { + $('.center').css({ + position: 'absolute', + left: ($(window).width() - $('.center').outerWidth()) / 2, + top: ($(window).height() - $('.center').outerHeight()) / 2, + }); +}); + +$(window).resize(); diff --git a/src/js/theme.js b/src/js/theme.js new file mode 100644 index 000000000..42bd95fe8 --- /dev/null +++ b/src/js/theme.js @@ -0,0 +1,25 @@ +const style = document.documentElement.style; + +style.setProperty('--primary-color', config.colors.primary); +style.setProperty('--secondary-color', config.colors.secondary); +style.setProperty('--font-color', config.colors.font); +style.setProperty('--button-font-color', config.colors.button_font); +style.setProperty('--start-font-color', config.colors.start_font); +style.setProperty('--countdown-color', config.colors.countdown); +style.setProperty('--background-countdown-color', config.colors.background_countdown); +style.setProperty('--cheese-color', config.colors.cheese); +style.setProperty('--panel-color', config.colors.panel); +style.setProperty('--hover-panel-color', config.colors.hover_panel); +style.setProperty('--border-color', config.colors.border); +style.setProperty('--box-color', config.colors.box); +style.setProperty('--gallery-button-color', config.colors.gallery_button); +style.setProperty('--background-default', config.background_image); +style.setProperty('--background-admin', config.background_admin); +style.setProperty('--background-chroma', config.background_chroma); +style.setProperty('--background-ipcam', config.ipCamURL); +style.setProperty('--fontSize', config.font_size); +style.setProperty('--preview-rotation', config.ipCamPreviewRotation); + +$(function () { + $('#wrapper').show(); +}); diff --git a/src/js/vendor/CSSPlugin.min.js b/src/js/vendor/CSSPlugin.min.js new file mode 100644 index 000000000..39937f7a1 --- /dev/null +++ b/src/js/vendor/CSSPlugin.min.js @@ -0,0 +1,13 @@ +/*! + * VERSION: 2.1.3 + * DATE: 2019-05-17 + * UPDATES AND DOCS AT: http://greensock.com + * + * @license Copyright (c) 2008-2019, GreenSock. All rights reserved. + * This work is subject to the terms at http://greensock.com/standard-license or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + */ +var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("plugins.CSSPlugin",["plugins.TweenPlugin","TweenLite"],function(a,b){var c,d,e,f,g=function(){a.call(this,"css"),this._overwriteProps.length=0,this.setRatio=g.prototype.setRatio},h=_gsScope._gsDefine.globals,i={},j=g.prototype=new a("css");j.constructor=g,g.version="2.1.3",g.API=2,g.defaultTransformPerspective=0,g.defaultSkewType="compensated",g.defaultSmoothOrigin=!0,j="px",g.suffixMap={top:j,right:j,bottom:j,left:j,width:j,height:j,fontSize:j,padding:j,margin:j,perspective:j,lineHeight:""};var k,l,m,n,o,p,q,r,s=/(?:\-|\.|\b)(\d|\.|e\-)+/g,t=/(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,u=/(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,v=/(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b),?/gi,w=/(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,x=/(?:\d|\-|\+|=|#|\.)*/g,y=/opacity *= *([^)]*)/i,z=/opacity:([^;]*)/i,A=/alpha\(opacity *=.+?\)/i,B=/^(rgb|hsl)/,C=/([A-Z])/g,D=/-([a-z])/gi,E=/(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,F=function(a,b){return b.toUpperCase()},G=/(?:Left|Right|Width)/i,H=/(M11|M12|M21|M22)=[\d\-\.e]+/gi,I=/progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,J=/,(?=[^\)]*(?:\(|$))/gi,K=/[\s,\(]/i,L=Math.PI/180,M=180/Math.PI,N={},O={style:{}},P=_gsScope.document||{createElement:function(){return O}},Q=function(a,b){var c=P.createElementNS?P.createElementNS(b||"http://www.w3.org/1999/xhtml",a):P.createElement(a);return c.style?c:P.createElement(a)},R=Q("div"),S=Q("img"),T=g._internals={_specialProps:i},U=(_gsScope.navigator||{}).userAgent||"",V=function(){var a=U.indexOf("Android"),b=Q("a");return m=-1!==U.indexOf("Safari")&&-1===U.indexOf("Chrome")&&(-1===a||parseFloat(U.substr(a+8,2))>3),o=m&&parseFloat(U.substr(U.indexOf("Version/")+8,2))<6,n=-1!==U.indexOf("Firefox"),(/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(U)||/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(U))&&(p=parseFloat(RegExp.$1)),b?(b.style.cssText="top:1px;opacity:.55;",/^0.55/.test(b.style.opacity)):!1}(),W=function(a){return y.test("string"==typeof a?a:(a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100:1},X=function(a){_gsScope.console&&console.log(a)},Y="",Z="",$=function(a,b){b=b||R;var c,d,e=b.style;if(void 0!==e[a])return a;for(a=a.charAt(0).toUpperCase()+a.substr(1),c=["O","Moz","ms","Ms","Webkit"],d=5;--d>-1&&void 0===e[c[d]+a];);return d>=0?(Z=3===d?"ms":c[d],Y="-"+Z.toLowerCase()+"-",Z+a):null},_="undefined"!=typeof window?window:P.defaultView||{getComputedStyle:function(){}},aa=function(a){return _.getComputedStyle(a)},ba=g.getStyle=function(a,b,c,d,e){var f;return V||"opacity"!==b?(!d&&a.style[b]?f=a.style[b]:(c=c||aa(a))?f=c[b]||c.getPropertyValue(b)||c.getPropertyValue(b.replace(C,"-$1").toLowerCase()):a.currentStyle&&(f=a.currentStyle[b]),null==e||f&&"none"!==f&&"auto"!==f&&"auto auto"!==f?f:e):W(a)},ca=T.convertToPixels=function(a,c,d,e,f){if("px"===e||!e&&"lineHeight"!==c)return d;if("auto"===e||!d)return 0;var h,i,j,k=G.test(c),l=a,m=R.style,n=0>d,o=1===d;if(n&&(d=-d),o&&(d*=100),"lineHeight"!==c||e)if("%"===e&&-1!==c.indexOf("border"))h=d/100*(k?a.clientWidth:a.clientHeight);else{if(m.cssText="border:0 solid red;position:"+ba(a,"position")+";line-height:0;","%"!==e&&l.appendChild&&"v"!==e.charAt(0)&&"rem"!==e)m[k?"borderLeftWidth":"borderTopWidth"]=d+e;else{if(l=a.parentNode||P.body,-1!==ba(l,"display").indexOf("flex")&&(m.position="absolute"),i=l._gsCache,j=b.ticker.frame,i&&k&&i.time===j)return i.width*d/100;m[k?"width":"height"]=d+e}l.appendChild(R),h=parseFloat(R[k?"offsetWidth":"offsetHeight"]),l.removeChild(R),k&&"%"===e&&g.cacheWidths!==!1&&(i=l._gsCache=l._gsCache||{},i.time=j,i.width=h/d*100),0!==h||f||(h=ca(a,c,d,e,!0))}else i=aa(a).lineHeight,a.style.lineHeight=d,h=parseFloat(aa(a).lineHeight),a.style.lineHeight=i;return o&&(h/=100),n?-h:h},da=T.calculateOffset=function(a,b,c){if("absolute"!==ba(a,"position",c))return 0;var d="left"===b?"Left":"Top",e=ba(a,"margin"+d,c);return a["offset"+d]-(ca(a,b,parseFloat(e),e.replace(x,""))||0)},ea=function(a,b){var c,d,e,f={};if(b=b||aa(a,null))if(c=b.length)for(;--c>-1;)e=b[c],(-1===e.indexOf("-transform")||Fa===e)&&(f[e.replace(D,F)]=b.getPropertyValue(e));else for(c in b)(-1===c.indexOf("Transform")||Ea===c)&&(f[c]=b[c]);else if(b=a.currentStyle||a.style)for(c in b)"string"==typeof c&&void 0===f[c]&&(f[c.replace(D,F)]=b[c]);return V||(f.opacity=W(a)),d=Ta(a,b,!1),f.rotation=d.rotation,f.skewX=d.skewX,f.scaleX=d.scaleX,f.scaleY=d.scaleY,f.x=d.x,f.y=d.y,Ha&&(f.z=d.z,f.rotationX=d.rotationX,f.rotationY=d.rotationY,f.scaleZ=d.scaleZ),f.filters&&delete f.filters,f},fa=function(a,b,c,d,e){var f,g,h,i={},j=a.style;for(g in c)"cssText"!==g&&"length"!==g&&isNaN(g)&&(b[g]!==(f=c[g])||e&&e[g])&&-1===g.indexOf("Origin")&&("number"==typeof f||"string"==typeof f)&&(i[g]="auto"!==f||"left"!==g&&"top"!==g?""!==f&&"auto"!==f&&"none"!==f||"string"!=typeof b[g]||""===b[g].replace(w,"")?f:0:da(a,g),void 0!==j[g]&&(h=new ua(j,g,j[g],h)));if(d)for(g in d)"className"!==g&&(i[g]=d[g]);return{difs:i,firstMPT:h}},ga={width:["Left","Right"],height:["Top","Bottom"]},ha=["marginLeft","marginRight","marginTop","marginBottom"],ia=function(a,b,c){if("svg"===(a.nodeName+"").toLowerCase())return(c||aa(a))[b]||0;if(a.getCTM&&Qa(a))return a.getBBox()[b]||0;var d=parseFloat("width"===b?a.offsetWidth:a.offsetHeight),e=ga[b],f=e.length;for(c=c||aa(a,null);--f>-1;)d-=parseFloat(ba(a,"padding"+e[f],c,!0))||0,d-=parseFloat(ba(a,"border"+e[f]+"Width",c,!0))||0;return d},ja=function(a,b){if("contain"===a||"auto"===a||"auto auto"===a)return a+" ";(null==a||""===a)&&(a="0 0");var c,d=a.split(" "),e=-1!==a.indexOf("left")?"0%":-1!==a.indexOf("right")?"100%":d[0],f=-1!==a.indexOf("top")?"0%":-1!==a.indexOf("bottom")?"100%":d[1];if(d.length>3&&!b){for(d=a.split(", ").join(",").split(","),a=[],c=0;c2?" "+d[2]:""),b&&(b.oxp=-1!==e.indexOf("%"),b.oyp=-1!==f.indexOf("%"),b.oxr="="===e.charAt(1),b.oyr="="===f.charAt(1),b.ox=parseFloat(e.replace(w,"")),b.oy=parseFloat(f.replace(w,"")),b.v=a),b||a},ka=function(a,b){return"function"==typeof a&&(a=a(r,q)),"string"==typeof a&&"="===a.charAt(1)?parseInt(a.charAt(0)+"1",10)*parseFloat(a.substr(2)):parseFloat(a)-parseFloat(b)||0},la=function(a,b){"function"==typeof a&&(a=a(r,q));var c="string"==typeof a&&"="===a.charAt(1);return"string"==typeof a&&"v"===a.charAt(a.length-2)&&(a=(c?a.substr(0,2):0)+window["inner"+("vh"===a.substr(-2)?"Height":"Width")]*(parseFloat(c?a.substr(2):a)/100)),null==a?b:c?parseInt(a.charAt(0)+"1",10)*parseFloat(a.substr(2))+b:parseFloat(a)||0},ma=function(a,b,c,d){var e,f,g,h,i,j=1e-6;return"function"==typeof a&&(a=a(r,q)),null==a?h=b:"number"==typeof a?h=a:(e=360,f=a.split("_"),i="="===a.charAt(1),g=(i?parseInt(a.charAt(0)+"1",10)*parseFloat(f[0].substr(2)):parseFloat(f[0]))*(-1===a.indexOf("rad")?1:M)-(i?0:b),f.length&&(d&&(d[c]=b+g),-1!==a.indexOf("short")&&(g%=e,g!==g%(e/2)&&(g=0>g?g+e:g-e)),-1!==a.indexOf("_cw")&&0>g?g=(g+9999999999*e)%e-(g/e|0)*e:-1!==a.indexOf("ccw")&&g>0&&(g=(g-9999999999*e)%e-(g/e|0)*e)),h=b+g),j>h&&h>-j&&(h=0),h},na={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],fuchsia:[255,0,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},oa=function(a,b,c){return a=0>a?a+1:a>1?a-1:a,255*(1>6*a?b+(c-b)*a*6:.5>a?c:2>3*a?b+(c-b)*(2/3-a)*6:b)+.5|0},pa=g.parseColor=function(a,b){var c,d,e,f,g,h,i,j,k,l,m;if(a)if("number"==typeof a)c=[a>>16,a>>8&255,255&a];else{if(","===a.charAt(a.length-1)&&(a=a.substr(0,a.length-1)),na[a])c=na[a];else if("#"===a.charAt(0))4===a.length&&(d=a.charAt(1),e=a.charAt(2),f=a.charAt(3),a="#"+d+d+e+e+f+f),a=parseInt(a.substr(1),16),c=[a>>16,a>>8&255,255&a];else if("hsl"===a.substr(0,3))if(c=m=a.match(s),b){if(-1!==a.indexOf("="))return a.match(t)}else g=Number(c[0])%360/360,h=Number(c[1])/100,i=Number(c[2])/100,e=.5>=i?i*(h+1):i+h-i*h,d=2*i-e,c.length>3&&(c[3]=Number(c[3])),c[0]=oa(g+1/3,d,e),c[1]=oa(g,d,e),c[2]=oa(g-1/3,d,e);else c=a.match(s)||na.transparent;c[0]=Number(c[0]),c[1]=Number(c[1]),c[2]=Number(c[2]),c.length>3&&(c[3]=Number(c[3]))}else c=na.black;return b&&!m&&(d=c[0]/255,e=c[1]/255,f=c[2]/255,j=Math.max(d,e,f),k=Math.min(d,e,f),i=(j+k)/2,j===k?g=h=0:(l=j-k,h=i>.5?l/(2-j-k):l/(j+k),g=j===d?(e-f)/l+(f>e?6:0):j===e?(f-d)/l+2:(d-e)/l+4,g*=60),c[0]=g+.5|0,c[1]=100*h+.5|0,c[2]=100*i+.5|0),c},qa=function(a,b){var c,d,e,f=a.match(ra)||[],g=0,h="";if(!f.length)return a;for(c=0;c0?g[0].replace(s,""):"";return k?e=b?function(a){var b,m,n,o;if("number"==typeof a)a+=l;else if(d&&J.test(a)){for(o=a.replace(J,"|").split("|"),n=0;nn--)for(;++nm--)for(;++mi;i++)h[a[i]]=j[i]=j[i]||j[(i-1)/2>>0];return e.parse(b,h,f,g)}},ua=(T._setPluginRatio=function(a){this.plugin.setRatio(a);for(var b,c,d,e,f,g=this.data,h=g.proxy,i=g.firstMPT,j=1e-6;i;)b=h[i.v],i.r?b=i.r(b):j>b&&b>-j&&(b=0),i.t[i.p]=b,i=i._next;if(g.autoRotate&&(g.autoRotate.rotation=g.mod?g.mod.call(this._tween,h.rotation,this.t,this._tween):h.rotation),1===a||0===a)for(i=g.firstMPT,f=1===a?"e":"b";i;){if(c=i.t,c.type){if(1===c.type){for(e=c.xs0+c.s+c.xs1,d=1;d0;)i="xn"+g,h=d.p+"_"+i,n[h]=d.data[i],m[h]=d[i],f||(j=new ua(d,i,h,j,d.rxp[i]));d=d._next}return{proxy:m,end:n,firstMPT:j,pt:k}},T.CSSPropTween=function(a,b,d,e,g,h,i,j,k,l,m){this.t=a,this.p=b,this.s=d,this.c=e,this.n=i||b,a instanceof va||f.push(this.n),this.r=j?"function"==typeof j?j:Math.round:j,this.type=h||0,k&&(this.pr=k,c=!0),this.b=void 0===l?d:l,this.e=void 0===m?d+e:m,g&&(this._next=g,g._prev=this)}),wa=function(a,b,c,d,e,f){var g=new va(a,b,c,d-c,e,-1,f);return g.b=c,g.e=g.xs0=d,g},xa=g.parseComplex=function(a,b,c,d,e,f,h,i,j,l){c=c||f||"","function"==typeof d&&(d=d(r,q)),h=new va(a,b,0,0,h,l?2:1,null,!1,i,c,d),d+="",e&&ra.test(d+c)&&(d=[c,d],g.colorStringFilter(d),c=d[0],d=d[1]);var m,n,o,p,u,v,w,x,y,z,A,B,C,D=c.split(", ").join(",").split(" "),E=d.split(", ").join(",").split(" "),F=D.length,G=k!==!1;for((-1!==d.indexOf(",")||-1!==c.indexOf(","))&&(-1!==(d+c).indexOf("rgb")||-1!==(d+c).indexOf("hsl")?(D=D.join(" ").replace(J,", ").split(" "),E=E.join(" ").replace(J,", ").split(" ")):(D=D.join(" ").split(",").join(", ").split(" "),E=E.join(" ").split(",").join(", ").split(" ")),F=D.length),F!==E.length&&(D=(f||"").split(" "),F=D.length),h.plugin=j,h.setRatio=l,ra.lastIndex=0,m=0;F>m;m++)if(p=D[m],u=E[m]+"",x=parseFloat(p),x||0===x)h.appendXtra("",x,ka(u,x),u.replace(t,""),G&&-1!==u.indexOf("px")?Math.round:!1,!0);else if(e&&ra.test(p))B=u.indexOf(")")+1,B=")"+(B?u.substr(B):""),C=-1!==u.indexOf("hsl")&&V,z=u,p=pa(p,C),u=pa(u,C),y=p.length+u.length>6,y&&!V&&0===u[3]?(h["xs"+h.l]+=h.l?" transparent":"transparent",h.e=h.e.split(E[m]).join("transparent")):(V||(y=!1),C?h.appendXtra(z.substr(0,z.indexOf("hsl"))+(y?"hsla(":"hsl("),p[0],ka(u[0],p[0]),",",!1,!0).appendXtra("",p[1],ka(u[1],p[1]),"%,",!1).appendXtra("",p[2],ka(u[2],p[2]),y?"%,":"%"+B,!1):h.appendXtra(z.substr(0,z.indexOf("rgb"))+(y?"rgba(":"rgb("),p[0],u[0]-p[0],",",Math.round,!0).appendXtra("",p[1],u[1]-p[1],",",Math.round).appendXtra("",p[2],u[2]-p[2],y?",":B,Math.round),y&&(p=p.length<4?1:p[3],h.appendXtra("",p,(u.length<4?1:u[3])-p,B,!1))),ra.lastIndex=0;else if(v=p.match(s)){if(w=u.match(t),!w||w.length!==v.length)return h;for(o=0,n=0;n0;)j["xn"+ya]=0,j["xs"+ya]="";j.xs0="",j._next=j._prev=j.xfirst=j.data=j.plugin=j.setRatio=j.rxp=null,j.appendXtra=function(a,b,c,d,e,f){var g=this,h=g.l;return g["xs"+h]+=f&&(h||g["xs"+h])?" "+a:a||"",c||0===h||g.plugin?(g.l++,g.type=g.setRatio?2:1,g["xs"+g.l]=d||"",h>0?(g.data["xn"+h]=b+c,g.rxp["xn"+h]=e,g["xn"+h]=b,g.plugin||(g.xfirst=new va(g,"xn"+h,b,c,g.xfirst||g,0,g.n,e,g.pr),g.xfirst.xs0=0),g):(g.data={s:b+c},g.rxp={},g.s=b,g.c=c,g.r=e,g)):(g["xs"+h]+=b+(d||""),g)};var za=function(a,b){b=b||{},this.p=b.prefix?$(a)||a:a,i[a]=i[this.p]=this,this.format=b.formatter||sa(b.defaultValue,b.color,b.collapsible,b.multi),b.parser&&(this.parse=b.parser),this.clrs=b.color,this.multi=b.multi,this.keyword=b.keyword,this.dflt=b.defaultValue,this.allowFunc=b.allowFunc,this.pr=b.priority||0},Aa=T._registerComplexSpecialProp=function(a,b,c){"object"!=typeof b&&(b={parser:c});var d,e,f=a.split(","),g=b.defaultValue;for(c=c||[g],d=0;dh.length?i.length:h.length,g=0;j>g;g++)b=h[g]=h[g]||this.dflt,c=i[g]=i[g]||this.dflt,m&&(k=b.indexOf(m),l=c.indexOf(m),k!==l&&(-1===l?h[g]=h[g].split(m).join(""):-1===k&&(h[g]+=" "+m)));b=h.join(", "),c=i.join(", ")}return xa(a,this.p,b,c,this.clrs,this.dflt,d,this.pr,e,f)},j.parse=function(a,b,c,d,f,g,h){return this.parseComplex(a.style,this.format(ba(a,this.p,e,!1,this.dflt)),this.format(b),f,g)},g.registerSpecialProp=function(a,b,c){Aa(a,{parser:function(a,d,e,f,g,h,i){var j=new va(a,e,0,0,g,2,e,!1,c);return j.plugin=h,j.setRatio=b(a,d,f._tween,e),j},priority:c})},g.useSVGTransformAttr=!0;var Ca,Da="scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),Ea=$("transform"),Fa=Y+"transform",Ga=$("transformOrigin"),Ha=null!==$("perspective"),Ia=T.Transform=function(){this.perspective=parseFloat(g.defaultTransformPerspective)||0,this.force3D=g.defaultForce3D!==!1&&Ha?g.defaultForce3D||"auto":!1},Ja=_gsScope.SVGElement,Ka=function(a,b,c){var d,e=P.createElementNS("http://www.w3.org/2000/svg",a),f=/([a-z])([A-Z])/g;for(d in c)e.setAttributeNS(null,d.replace(f,"$1-$2").toLowerCase(),c[d]);return b.appendChild(e),e},La=P.documentElement||{},Ma=function(){var a,b,c,d=p||/Android/i.test(U)&&!_gsScope.chrome;return P.createElementNS&&La.appendChild&&!d&&(a=Ka("svg",La),b=Ka("rect",a,{width:100,height:50,x:100}),c=b.getBoundingClientRect().width,b.style[Ga]="50% 50%",b.style[Ea]="scaleX(0.5)",d=c===b.getBoundingClientRect().width&&!(n&&Ha),La.removeChild(a)),d}(),Na=function(a,b,c,d,e,f){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=a._gsTransform,w=Sa(a,!0);v&&(t=v.xOrigin,u=v.yOrigin),(!d||(h=d.split(" ")).length<2)&&(n=a.getBBox(),0===n.x&&0===n.y&&n.width+n.height===0&&(n={x:parseFloat(a.hasAttribute("x")?a.getAttribute("x"):a.hasAttribute("cx")?a.getAttribute("cx"):0)||0,y:parseFloat(a.hasAttribute("y")?a.getAttribute("y"):a.hasAttribute("cy")?a.getAttribute("cy"):0)||0,width:0,height:0}),b=ja(b).split(" "),h=[(-1!==b[0].indexOf("%")?parseFloat(b[0])/100*n.width:parseFloat(b[0]))+n.x,(-1!==b[1].indexOf("%")?parseFloat(b[1])/100*n.height:parseFloat(b[1]))+n.y]),c.xOrigin=k=parseFloat(h[0]),c.yOrigin=l=parseFloat(h[1]),d&&w!==Ra&&(m=w[0],n=w[1],o=w[2],p=w[3],q=w[4],r=w[5],s=m*p-n*o,s&&(i=k*(p/s)+l*(-o/s)+(o*r-p*q)/s,j=k*(-n/s)+l*(m/s)-(m*r-n*q)/s,k=c.xOrigin=h[0]=i,l=c.yOrigin=h[1]=j)),v&&(f&&(c.xOffset=v.xOffset,c.yOffset=v.yOffset,v=c),e||e!==!1&&g.defaultSmoothOrigin!==!1?(i=k-t,j=l-u,v.xOffset+=i*w[0]+j*w[2]-i,v.yOffset+=i*w[1]+j*w[3]-j):v.xOffset=v.yOffset=0),f||a.setAttribute("data-svg-origin",h.join(" "))},Oa=function(a){var b,c=Q("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),d=this.parentNode,e=this.nextSibling,f=this.style.cssText;if(La.appendChild(c),c.appendChild(this),this.style.display="block",a)try{b=this.getBBox(),this._originalGetBBox=this.getBBox,this.getBBox=Oa}catch(g){}else this._originalGetBBox&&(b=this._originalGetBBox());return e?d.insertBefore(this,e):d.appendChild(this),La.removeChild(c),this.style.cssText=f,b},Pa=function(a){try{return a.getBBox()}catch(b){return Oa.call(a,!0)}},Qa=function(a){return!(!Ja||!a.getCTM||a.parentNode&&!a.ownerSVGElement||!Pa(a))},Ra=[1,0,0,1,0,0],Sa=function(a,b){var c,d,e,f,g,h,i,j=a._gsTransform||new Ia,k=1e5,l=a.style;if(Ea?d=ba(a,Fa,null,!0):a.currentStyle&&(d=a.currentStyle.filter.match(H),d=d&&4===d.length?[d[0].substr(4),Number(d[2].substr(4)),Number(d[1].substr(4)),d[3].substr(4),j.x||0,j.y||0].join(","):""),c=!d||"none"===d||"matrix(1, 0, 0, 1, 0, 0)"===d,Ea&&c&&!a.offsetParent&&a!==La&&(f=l.display,l.display="block",i=a.parentNode,i&&a.offsetParent||(g=1,h=a.nextSibling,La.appendChild(a)),d=ba(a,Fa,null,!0),c=!d||"none"===d||"matrix(1, 0, 0, 1, 0, 0)"===d,f?l.display=f:Xa(l,"display"),g&&(h?i.insertBefore(a,h):i?i.appendChild(a):La.removeChild(a))),(j.svg||a.getCTM&&Qa(a))&&(c&&-1!==(l[Ea]+"").indexOf("matrix")&&(d=l[Ea],c=0),e=a.getAttribute("transform"),c&&e&&(e=a.transform.baseVal.consolidate().matrix,d="matrix("+e.a+","+e.b+","+e.c+","+e.d+","+e.e+","+e.f+")",c=0)),c)return Ra;for(e=(d||"").match(s)||[],ya=e.length;--ya>-1;)f=Number(e[ya]),e[ya]=(g=f-(f|=0))?(g*k+(0>g?-.5:.5)|0)/k+f:f;return b&&e.length>6?[e[0],e[1],e[4],e[5],e[12],e[13]]:e},Ta=T.getTransform=function(a,c,d,e){if(a._gsTransform&&d&&!e)return a._gsTransform;var f,h,i,j,k,l,m=d?a._gsTransform||new Ia:new Ia,n=m.scaleX<0,o=2e-5,p=1e5,q=Ha?parseFloat(ba(a,Ga,c,!1,"0 0 0").split(" ")[2])||m.zOrigin||0:0,r=parseFloat(g.defaultTransformPerspective)||0;if(m.svg=!(!a.getCTM||!Qa(a)),m.svg&&(Na(a,ba(a,Ga,c,!1,"50% 50%")+"",m,a.getAttribute("data-svg-origin")),Ca=g.useSVGTransformAttr||Ma),f=Sa(a),f!==Ra){if(16===f.length){var s,t,u,v,w,x=f[0],y=f[1],z=f[2],A=f[3],B=f[4],C=f[5],D=f[6],E=f[7],F=f[8],G=f[9],H=f[10],I=f[12],J=f[13],K=f[14],L=f[11],N=Math.atan2(D,H);m.zOrigin&&(K=-m.zOrigin,I=F*K-f[12],J=G*K-f[13],K=H*K+m.zOrigin-f[14]),m.rotationX=N*M,N&&(v=Math.cos(-N),w=Math.sin(-N),s=B*v+F*w,t=C*v+G*w,u=D*v+H*w,F=B*-w+F*v,G=C*-w+G*v,H=D*-w+H*v,L=E*-w+L*v,B=s,C=t,D=u),N=Math.atan2(-z,H),m.rotationY=N*M,N&&(v=Math.cos(-N),w=Math.sin(-N),s=x*v-F*w,t=y*v-G*w,u=z*v-H*w,G=y*w+G*v,H=z*w+H*v,L=A*w+L*v,x=s,y=t,z=u),N=Math.atan2(y,x),m.rotation=N*M,N&&(v=Math.cos(N),w=Math.sin(N),s=x*v+y*w,t=B*v+C*w,u=F*v+G*w,y=y*v-x*w,C=C*v-B*w,G=G*v-F*w,x=s,B=t,F=u),m.rotationX&&Math.abs(m.rotationX)+Math.abs(m.rotation)>359.9&&(m.rotationX=m.rotation=0,m.rotationY=180-m.rotationY),N=Math.atan2(B,C),m.scaleX=(Math.sqrt(x*x+y*y+z*z)*p+.5|0)/p,m.scaleY=(Math.sqrt(C*C+D*D)*p+.5|0)/p,m.scaleZ=(Math.sqrt(F*F+G*G+H*H)*p+.5|0)/p,x/=m.scaleX,B/=m.scaleY,y/=m.scaleX,C/=m.scaleY,Math.abs(N)>o?(m.skewX=N*M,B=0,"simple"!==m.skewType&&(m.scaleY*=1/Math.cos(N))):m.skewX=0,m.perspective=L?1/(0>L?-L:L):0,m.x=I,m.y=J,m.z=K,m.svg&&(m.x-=m.xOrigin-(m.xOrigin*x-m.yOrigin*B),m.y-=m.yOrigin-(m.yOrigin*y-m.xOrigin*C))}else if(!Ha||e||!f.length||m.x!==f[4]||m.y!==f[5]||!m.rotationX&&!m.rotationY){var O=f.length>=6,P=O?f[0]:1,Q=f[1]||0,R=f[2]||0,S=O?f[3]:1;m.x=f[4]||0,m.y=f[5]||0,i=Math.sqrt(P*P+Q*Q),j=Math.sqrt(S*S+R*R),k=P||Q?Math.atan2(Q,P)*M:m.rotation||0,l=R||S?Math.atan2(R,S)*M+k:m.skewX||0,m.scaleX=i,m.scaleY=j,m.rotation=k,m.skewX=l,Ha&&(m.rotationX=m.rotationY=m.z=0,m.perspective=r,m.scaleZ=1),m.svg&&(m.x-=m.xOrigin-(m.xOrigin*P+m.yOrigin*R),m.y-=m.yOrigin-(m.xOrigin*Q+m.yOrigin*S))}Math.abs(m.skewX)>90&&Math.abs(m.skewX)<270&&(n?(m.scaleX*=-1,m.skewX+=m.rotation<=0?180:-180,m.rotation+=m.rotation<=0?180:-180):(m.scaleY*=-1,m.skewX+=m.skewX<=0?180:-180)),m.zOrigin=q;for(h in m)m[h]-o&&(m[h]=0)}return d&&(a._gsTransform=m,m.svg&&(Ca&&a.style[Ea]?b.delayedCall(.001,function(){Xa(a.style,Ea)}):!Ca&&a.getAttribute("transform")&&b.delayedCall(.001,function(){a.removeAttribute("transform")}))),m},Ua=function(a){var b,c,d=this.data,e=-d.rotation*L,f=e+d.skewX*L,g=1e5,h=(Math.cos(e)*d.scaleX*g|0)/g,i=(Math.sin(e)*d.scaleX*g|0)/g,j=(Math.sin(f)*-d.scaleY*g|0)/g,k=(Math.cos(f)*d.scaleY*g|0)/g,l=this.t.style,m=this.t.currentStyle;if(m){c=i,i=-j,j=-c,b=m.filter,l.filter="";var n,o,q=this.t.offsetWidth,r=this.t.offsetHeight,s="absolute"!==m.position,t="progid:DXImageTransform.Microsoft.Matrix(M11="+h+", M12="+i+", M21="+j+", M22="+k,u=d.x+q*d.xPercent/100,v=d.y+r*d.yPercent/100;if(null!=d.ox&&(n=(d.oxp?q*d.ox*.01:d.ox)-q/2,o=(d.oyp?r*d.oy*.01:d.oy)-r/2,u+=n-(n*h+o*i),v+=o-(n*j+o*k)),s?(n=q/2,o=r/2,t+=", Dx="+(n-(n*h+o*i)+u)+", Dy="+(o-(n*j+o*k)+v)+")"):t+=", sizingMethod='auto expand')",-1!==b.indexOf("DXImageTransform.Microsoft.Matrix(")?l.filter=b.replace(I,t):l.filter=t+" "+b,(0===a||1===a)&&1===h&&0===i&&0===j&&1===k&&(s&&-1===t.indexOf("Dx=0, Dy=0")||y.test(b)&&100!==parseFloat(RegExp.$1)||-1===b.indexOf(b.indexOf("Alpha"))&&l.removeAttribute("filter")),!s){var w,z,A,B=8>p?1:-1;for(n=d.ieOffsetX||0,o=d.ieOffsetY||0,d.ieOffsetX=Math.round((q-((0>h?-h:h)*q+(0>i?-i:i)*r))/2+u),d.ieOffsetY=Math.round((r-((0>k?-k:k)*r+(0>j?-j:j)*q))/2+v),ya=0;4>ya;ya++)z=ha[ya],w=m[z],c=-1!==w.indexOf("px")?parseFloat(w):ca(this.t,z,parseFloat(w),w.replace(x,""))||0,A=c!==d[z]?2>ya?-d.ieOffsetX:-d.ieOffsetY:2>ya?n-d.ieOffsetX:o-d.ieOffsetY,l[z]=(d[z]=Math.round(c-A*(0===ya||2===ya?1:B)))+"px"}}},Va=T.set3DTransformRatio=T.setTransformRatio=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u,v,w,x,y,z=this.data,A=this.t.style,B=z.rotation,C=z.rotationX,D=z.rotationY,E=z.scaleX,F=z.scaleY,G=z.scaleZ,H=z.x,I=z.y,J=z.z,K=z.svg,M=z.perspective,N=z.force3D,O=z.skewY,P=z.skewX;if(O&&(P+=O,B+=O),((1===a||0===a)&&"auto"===N&&(this.tween._totalTime===this.tween._totalDuration||!this.tween._totalTime)||!N)&&!J&&!M&&!D&&!C&&1===G||Ca&&K||!Ha)return void(B||P||K?(B*=L,x=P*L,y=1e5,c=Math.cos(B)*E,f=Math.sin(B)*E,d=Math.sin(B-x)*-F,g=Math.cos(B-x)*F,x&&"simple"===z.skewType&&(b=Math.tan(x-O*L),b=Math.sqrt(1+b*b),d*=b,g*=b,O&&(b=Math.tan(O*L),b=Math.sqrt(1+b*b),c*=b,f*=b)),K&&(H+=z.xOrigin-(z.xOrigin*c+z.yOrigin*d)+z.xOffset,I+=z.yOrigin-(z.xOrigin*f+z.yOrigin*g)+z.yOffset,Ca&&(z.xPercent||z.yPercent)&&(q=this.t.getBBox(),H+=.01*z.xPercent*q.width,I+=.01*z.yPercent*q.height),q=1e-6,q>H&&H>-q&&(H=0),q>I&&I>-q&&(I=0)),u=(c*y|0)/y+","+(f*y|0)/y+","+(d*y|0)/y+","+(g*y|0)/y+","+H+","+I+")",K&&Ca?this.t.setAttribute("transform","matrix("+u):A[Ea]=(z.xPercent||z.yPercent?"translate("+z.xPercent+"%,"+z.yPercent+"%) matrix(":"matrix(")+u):A[Ea]=(z.xPercent||z.yPercent?"translate("+z.xPercent+"%,"+z.yPercent+"%) matrix(":"matrix(")+E+",0,0,"+F+","+H+","+I+")");if(n&&(q=1e-4,q>E&&E>-q&&(E=G=2e-5),q>F&&F>-q&&(F=G=2e-5),!M||z.z||z.rotationX||z.rotationY||(M=0)),B||P)B*=L,r=c=Math.cos(B),s=f=Math.sin(B),P&&(B-=P*L,r=Math.cos(B),s=Math.sin(B),"simple"===z.skewType&&(b=Math.tan((P-O)*L),b=Math.sqrt(1+b*b),r*=b,s*=b,z.skewY&&(b=Math.tan(O*L),b=Math.sqrt(1+b*b),c*=b,f*=b))),d=-s,g=r;else{if(!(D||C||1!==G||M||K))return void(A[Ea]=(z.xPercent||z.yPercent?"translate("+z.xPercent+"%,"+z.yPercent+"%) translate3d(":"translate3d(")+H+"px,"+I+"px,"+J+"px)"+(1!==E||1!==F?" scale("+E+","+F+")":""));c=g=1,d=f=0}k=1,e=h=i=j=l=m=0,o=M?-1/M:0,p=z.zOrigin,q=1e-6,v=",",w="0",B=D*L,B&&(r=Math.cos(B),s=Math.sin(B),i=-s,l=o*-s,e=c*s,h=f*s,k=r,o*=r,c*=r,f*=r),B=C*L,B&&(r=Math.cos(B),s=Math.sin(B),b=d*r+e*s,t=g*r+h*s,j=k*s,m=o*s,e=d*-s+e*r,h=g*-s+h*r,k*=r,o*=r,d=b,g=t),1!==G&&(e*=G,h*=G,k*=G,o*=G),1!==F&&(d*=F,g*=F,j*=F,m*=F),1!==E&&(c*=E,f*=E,i*=E,l*=E),(p||K)&&(p&&(H+=e*-p,I+=h*-p,J+=k*-p+p),K&&(H+=z.xOrigin-(z.xOrigin*c+z.yOrigin*d)+z.xOffset,I+=z.yOrigin-(z.xOrigin*f+z.yOrigin*g)+z.yOffset),q>H&&H>-q&&(H=w),q>I&&I>-q&&(I=w),q>J&&J>-q&&(J=0)),u=z.xPercent||z.yPercent?"translate("+z.xPercent+"%,"+z.yPercent+"%) matrix3d(":"matrix3d(",u+=(q>c&&c>-q?w:c)+v+(q>f&&f>-q?w:f)+v+(q>i&&i>-q?w:i),u+=v+(q>l&&l>-q?w:l)+v+(q>d&&d>-q?w:d)+v+(q>g&&g>-q?w:g),C||D||1!==G?(u+=v+(q>j&&j>-q?w:j)+v+(q>m&&m>-q?w:m)+v+(q>e&&e>-q?w:e),u+=v+(q>h&&h>-q?w:h)+v+(q>k&&k>-q?w:k)+v+(q>o&&o>-q?w:o)+v):u+=",0,0,0,0,1,0,",u+=H+v+I+v+J+v+(M?1+-J/M:1)+")",A[Ea]=u};j=Ia.prototype,j.x=j.y=j.z=j.skewX=j.skewY=j.rotation=j.rotationX=j.rotationY=j.zOrigin=j.xPercent=j.yPercent=j.xOffset=j.yOffset=0,j.scaleX=j.scaleY=j.scaleZ=1,Aa("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin",{parser:function(a,b,c,d,f,h,i){if(d._lastParsedTransform===i)return f;d._lastParsedTransform=i;var j=i.scale&&"function"==typeof i.scale?i.scale:0;j&&(i.scale=j(r,a));var k,l,m,n,o,p,s,t,u,v=a._gsTransform,w=a.style,x=1e-6,y=Da.length,z=i,A={},B="transformOrigin",C=Ta(a,e,!0,z.parseTransform),D=z.transform&&("function"==typeof z.transform?z.transform(r,q):z.transform);if(C.skewType=z.skewType||C.skewType||g.defaultSkewType,d._transform=C,"rotationZ"in z&&(z.rotation=z.rotationZ),D&&"string"==typeof D&&Ea)l=R.style,l[Ea]=D,l.display="block",l.position="absolute",-1!==D.indexOf("%")&&(l.width=ba(a,"width"),l.height=ba(a,"height")),P.body.appendChild(R),k=Ta(R,null,!1),"simple"===C.skewType&&(k.scaleY*=Math.cos(k.skewX*L)),C.svg&&(p=C.xOrigin,s=C.yOrigin,k.x-=C.xOffset,k.y-=C.yOffset,(z.transformOrigin||z.svgOrigin)&&(D={},Na(a,ja(z.transformOrigin),D,z.svgOrigin,z.smoothOrigin,!0),p=D.xOrigin,s=D.yOrigin,k.x-=D.xOffset-C.xOffset,k.y-=D.yOffset-C.yOffset),(p||s)&&(t=Sa(R,!0),k.x-=p-(p*t[0]+s*t[2]),k.y-=s-(p*t[1]+s*t[3]))),P.body.removeChild(R),k.perspective||(k.perspective=C.perspective),null!=z.xPercent&&(k.xPercent=la(z.xPercent,C.xPercent)),null!=z.yPercent&&(k.yPercent=la(z.yPercent,C.yPercent));else if("object"==typeof z){if(k={scaleX:la(null!=z.scaleX?z.scaleX:z.scale,C.scaleX),scaleY:la(null!=z.scaleY?z.scaleY:z.scale,C.scaleY),scaleZ:la(z.scaleZ,C.scaleZ),x:la(z.x,C.x),y:la(z.y,C.y),z:la(z.z,C.z),xPercent:la(z.xPercent,C.xPercent),yPercent:la(z.yPercent,C.yPercent),perspective:la(z.transformPerspective,C.perspective)},o=z.directionalRotation,null!=o)if("object"==typeof o)for(l in o)z[l]=o[l];else z.rotation=o;"string"==typeof z.x&&-1!==z.x.indexOf("%")&&(k.x=0,k.xPercent=la(z.x,C.xPercent)),"string"==typeof z.y&&-1!==z.y.indexOf("%")&&(k.y=0,k.yPercent=la(z.y,C.yPercent)),k.rotation=ma("rotation"in z?z.rotation:"shortRotation"in z?z.shortRotation+"_short":C.rotation,C.rotation,"rotation",A),Ha&&(k.rotationX=ma("rotationX"in z?z.rotationX:"shortRotationX"in z?z.shortRotationX+"_short":C.rotationX||0,C.rotationX,"rotationX",A),k.rotationY=ma("rotationY"in z?z.rotationY:"shortRotationY"in z?z.shortRotationY+"_short":C.rotationY||0,C.rotationY,"rotationY",A)),k.skewX=ma(z.skewX,C.skewX),k.skewY=ma(z.skewY,C.skewY)}for(Ha&&null!=z.force3D&&(C.force3D=z.force3D,n=!0),m=C.force3D||C.z||C.rotationX||C.rotationY||k.z||k.rotationX||k.rotationY||k.perspective,m||null==z.scale||(k.scaleZ=1);--y>-1;)u=Da[y],D=k[u]-C[u],(D>x||-x>D||null!=z[u]||null!=N[u])&&(n=!0,f=new va(C,u,C[u],D,f),u in A&&(f.e=A[u]),f.xs0=0,f.plugin=h,d._overwriteProps.push(f.n));return D="function"==typeof z.transformOrigin?z.transformOrigin(r,q):z.transformOrigin,C.svg&&(D||z.svgOrigin)&&(p=C.xOffset,s=C.yOffset,Na(a,ja(D),k,z.svgOrigin,z.smoothOrigin),f=wa(C,"xOrigin",(v?C:k).xOrigin,k.xOrigin,f,B),f=wa(C,"yOrigin",(v?C:k).yOrigin,k.yOrigin,f,B),(p!==C.xOffset||s!==C.yOffset)&&(f=wa(C,"xOffset",v?p:C.xOffset,C.xOffset,f,B),f=wa(C,"yOffset",v?s:C.yOffset,C.yOffset,f,B)),D="0px 0px"),(D||Ha&&m&&C.zOrigin)&&(Ea?(n=!0,u=Ga,D||(D=(ba(a,u,e,!1,"50% 50%")+"").split(" "),D=D[0]+" "+D[1]+" "+C.zOrigin+"px"),D+="",f=new va(w,u,0,0,f,-1,B),f.b=w[u],f.plugin=h,Ha?(l=C.zOrigin,D=D.split(" "),C.zOrigin=(D.length>2?parseFloat(D[2]):l)||0,f.xs0=f.e=D[0]+" "+(D[1]||"50%")+" 0px",f=new va(C,"zOrigin",0,0,f,-1,f.n),f.b=l,f.xs0=f.e=C.zOrigin):f.xs0=f.e=D):ja(D+"",C)),n&&(d._transformType=C.svg&&Ca||!m&&3!==this._transformType?2:3),j&&(i.scale=j),f},allowFunc:!0,prefix:!0}),Aa("boxShadow",{defaultValue:"0px 0px 0px 0px #999",prefix:!0,color:!0,multi:!0,keyword:"inset"}),Aa("clipPath",{defaultValue:"inset(0%)",prefix:!0,multi:!0,formatter:sa("inset(0% 0% 0% 0%)",!1,!0)}),Aa("borderRadius",{defaultValue:"0px",parser:function(a,b,c,f,g,h){b=this.format(b);var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],z=a.style;for(q=parseFloat(a.offsetWidth),r=parseFloat(a.offsetHeight),i=b.split(" "),j=0;jp?1:0))||""):(p=parseFloat(n),s=n.substr((p+"").length)),""===s&&(s=d[c]||t),s!==t&&(v=ca(a,"borderLeft",o,t),w=ca(a,"borderTop",o,t),"%"===s?(m=v/q*100+"%",l=w/r*100+"%"):"em"===s?(x=ca(a,"borderLeft",1,"em"),m=v/x+"em",l=w/x+"em"):(m=v+"px",l=w+"px"),u&&(n=parseFloat(m)+p+s,k=parseFloat(l)+p+s)),g=xa(z,y[j],m+" "+l,n+" "+k,!1,"0px",g);return g},prefix:!0,formatter:sa("0px 0px 0px 0px",!1,!0)}),Aa("borderBottomLeftRadius,borderBottomRightRadius,borderTopLeftRadius,borderTopRightRadius",{defaultValue:"0px",parser:function(a,b,c,d,f,g){return xa(a.style,c,this.format(ba(a,c,e,!1,"0px 0px")),this.format(b),!1,"0px",f)},prefix:!0,formatter:sa("0px 0px",!1,!0)}),Aa("backgroundPosition",{defaultValue:"0 0",parser:function(a,b,c,d,f,g){ +var h,i,j,k,l,m,n="background-position",o=e||aa(a,null),q=this.format((o?p?o.getPropertyValue(n+"-x")+" "+o.getPropertyValue(n+"-y"):o.getPropertyValue(n):a.currentStyle.backgroundPositionX+" "+a.currentStyle.backgroundPositionY)||"0 0"),r=this.format(b);if(-1!==q.indexOf("%")!=(-1!==r.indexOf("%"))&&r.split(",").length<2&&(m=ba(a,"backgroundImage").replace(E,""),m&&"none"!==m)){for(h=q.split(" "),i=r.split(" "),S.setAttribute("src",m),j=2;--j>-1;)q=h[j],k=-1!==q.indexOf("%"),k!==(-1!==i[j].indexOf("%"))&&(l=0===j?a.offsetWidth-S.width:a.offsetHeight-S.height,h[j]=k?parseFloat(q)/100*l+"px":parseFloat(q)/l*100+"%");q=h.join(" ")}return this.parseComplex(a.style,q,r,f,g)},formatter:ja}),Aa("backgroundSize",{defaultValue:"0 0",formatter:function(a){return a+="","co"===a.substr(0,2)?a:ja(-1===a.indexOf(" ")?a+" "+a:a)}}),Aa("perspective",{defaultValue:"0px",prefix:!0}),Aa("perspectiveOrigin",{defaultValue:"50% 50%",prefix:!0}),Aa("transformStyle",{prefix:!0}),Aa("backfaceVisibility",{prefix:!0}),Aa("userSelect",{prefix:!0}),Aa("margin",{parser:ta("marginTop,marginRight,marginBottom,marginLeft")}),Aa("padding",{parser:ta("paddingTop,paddingRight,paddingBottom,paddingLeft")}),Aa("clip",{defaultValue:"rect(0px,0px,0px,0px)",parser:function(a,b,c,d,f,g){var h,i,j;return 9>p?(i=a.currentStyle,j=8>p?" ":",",h="rect("+i.clipTop+j+i.clipRight+j+i.clipBottom+j+i.clipLeft+")",b=this.format(b).split(",").join(j)):(h=this.format(ba(a,this.p,e,!1,this.dflt)),b=this.format(b)),this.parseComplex(a.style,h,b,f,g)}}),Aa("textShadow",{defaultValue:"0px 0px 0px #999",color:!0,multi:!0}),Aa("autoRound,strictUnits",{parser:function(a,b,c,d,e){return e}}),Aa("border",{defaultValue:"0px solid #000",parser:function(a,b,c,d,f,g){var h=ba(a,"borderTopWidth",e,!1,"0px"),i=this.format(b).split(" "),j=i[0].replace(x,"");return"px"!==j&&(h=parseFloat(h)/ca(a,"borderTopWidth",1,j)+j),this.parseComplex(a.style,this.format(h+" "+ba(a,"borderTopStyle",e,!1,"solid")+" "+ba(a,"borderTopColor",e,!1,"#000")),i.join(" "),f,g)},color:!0,formatter:function(a){var b=a.split(" ");return b[0]+" "+(b[1]||"solid")+" "+(a.match(ra)||["#000"])[0]}}),Aa("borderWidth",{parser:ta("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}),Aa("float,cssFloat,styleFloat",{parser:function(a,b,c,d,e,f){var g=a.style,h="cssFloat"in g?"cssFloat":"styleFloat";return new va(g,h,0,0,e,-1,c,!1,0,g[h],b)}});var Wa=function(a){var b,c=this.t,d=c.filter||ba(this.data,"filter")||"",e=this.s+this.c*a|0;100===e&&(-1===d.indexOf("atrix(")&&-1===d.indexOf("radient(")&&-1===d.indexOf("oader(")?(c.removeAttribute("filter"),b=!ba(this.data,"filter")):(c.filter=d.replace(A,""),b=!0)),b||(this.xn1&&(c.filter=d=d||"alpha(opacity="+e+")"),-1===d.indexOf("pacity")?0===e&&this.xn1||(c.filter=d+" alpha(opacity="+e+")"):c.filter=d.replace(y,"opacity="+e))};Aa("opacity,alpha,autoAlpha",{defaultValue:"1",parser:function(a,b,c,d,f,g){var h=parseFloat(ba(a,"opacity",e,!1,"1")),i=a.style,j="autoAlpha"===c;return"string"==typeof b&&"="===b.charAt(1)&&(b=("-"===b.charAt(0)?-1:1)*parseFloat(b.substr(2))+h),j&&1===h&&"hidden"===ba(a,"visibility",e)&&0!==b&&(h=0),V?f=new va(i,"opacity",h,b-h,f):(f=new va(i,"opacity",100*h,100*(b-h),f),f.xn1=j?1:0,i.zoom=1,f.type=2,f.b="alpha(opacity="+f.s+")",f.e="alpha(opacity="+(f.s+f.c)+")",f.data=a,f.plugin=g,f.setRatio=Wa),j&&(f=new va(i,"visibility",0,0,f,-1,null,!1,0,0!==h?"inherit":"hidden",0===b?"hidden":"inherit"),f.xs0="inherit",d._overwriteProps.push(f.n),d._overwriteProps.push(c)),f}});var Xa=function(a,b){b&&(a.removeProperty?(("ms"===b.substr(0,2)||"webkit"===b.substr(0,6))&&(b="-"+b),a.removeProperty(b.replace(C,"-$1").toLowerCase())):a.removeAttribute(b))},Ya=function(a){if(this.t._gsClassPT=this,1===a||0===a){this.t.setAttribute("class",0===a?this.b:this.e);for(var b=this.data,c=this.t.style;b;)b.v?c[b.p]=b.v:Xa(c,b.p),b=b._next;1===a&&this.t._gsClassPT===this&&(this.t._gsClassPT=null)}else this.t.getAttribute("class")!==this.e&&this.t.setAttribute("class",this.e)};Aa("className",{parser:function(a,b,d,f,g,h,i){var j,k,l,m,n,o=a.getAttribute("class")||"",p=a.style.cssText;if(g=f._classNamePT=new va(a,d,0,0,g,2),g.setRatio=Ya,g.pr=-11,c=!0,g.b=o,k=ea(a,e),l=a._gsClassPT){for(m={},n=l.data;n;)m[n.p]=1,n=n._next;l.setRatio(1)}return a._gsClassPT=g,g.e="="!==b.charAt(1)?b:o.replace(new RegExp("(?:\\s|^)"+b.substr(2)+"(?![\\w-])"),"")+("+"===b.charAt(0)?" "+b.substr(2):""),a.setAttribute("class",g.e),j=fa(a,k,ea(a),i,m),a.setAttribute("class",o),g.data=j.firstMPT,a.style.cssText!==p&&(a.style.cssText=p),g=g.xfirst=f.parse(a,j.difs,g,h)}});var Za=function(a){if((1===a||0===a)&&this.data._totalTime===this.data._totalDuration&&"isFromStart"!==this.data.data){var b,c,d,e,f,g=this.t.style,h=i.transform.parse;if("all"===this.e)g.cssText="",e=!0;else for(b=this.e.split(" ").join("").split(","),d=b.length;--d>-1;)c=b[d],i[c]&&(i[c].parse===h?e=!0:c="transformOrigin"===c?Ga:i[c].p),Xa(g,c);e&&(Xa(g,Ea),f=this.t._gsTransform,f&&(f.svg&&(this.t.removeAttribute("data-svg-origin"),this.t.removeAttribute("transform")),delete this.t._gsTransform))}};for(Aa("clearProps",{parser:function(a,b,d,e,f){return f=new va(a,d,0,0,f,2),f.setRatio=Za,f.e=b,f.pr=-10,f.data=e._tween,c=!0,f}}),j="bezier,throwProps,physicsProps,physics2D".split(","),ya=j.length;ya--;)Ba(j[ya]);j=g.prototype,j._firstPT=j._lastParsedTransform=j._transform=null,j._onInitTween=function(a,b,h,j){if(!a.nodeType)return!1;this._target=q=a,this._tween=h,this._vars=b,r=j,k=b.autoRound,c=!1,d=b.suffixMap||g.suffixMap,e=aa(a,""),f=this._overwriteProps;var n,p,s,t,u,v,w,x,y,A=a.style;if(l&&""===A.zIndex&&(n=ba(a,"zIndex",e),("auto"===n||""===n)&&this._addLazySet(A,"zIndex",0)),"string"==typeof b&&(t=A.cssText,n=ea(a,e),A.cssText=t+";"+b,n=fa(a,n,ea(a)).difs,!V&&z.test(b)&&(n.opacity=parseFloat(RegExp.$1)),b=n,A.cssText=t),b.className?this._firstPT=p=i.className.parse(a,b.className,"className",this,null,null,b):this._firstPT=p=this.parse(a,b,null),this._transformType){for(y=3===this._transformType,Ea?m&&(l=!0,""===A.zIndex&&(w=ba(a,"zIndex",e),("auto"===w||""===w)&&this._addLazySet(A,"zIndex",0)),o&&this._addLazySet(A,"WebkitBackfaceVisibility",this._vars.WebkitBackfaceVisibility||(y?"visible":"hidden"))):A.zoom=1,s=p;s&&s._next;)s=s._next;x=new va(a,"transform",0,0,null,2),this._linkCSSP(x,null,s),x.setRatio=Ea?Va:Ua,x.data=this._transform||Ta(a,e,!0),x.tween=h,x.pr=-1,f.pop()}if(c){for(;p;){for(v=p._next,s=t;s&&s.pr>p.pr;)s=s._next;(p._prev=s?s._prev:u)?p._prev._next=p:t=p,(p._next=s)?s._prev=p:u=p,p=v}this._firstPT=t}return!0},j.parse=function(a,b,c,f){var g,h,j,l,m,n,o,p,s,t,u=a.style;for(g in b){if(n=b[g],h=i[g],"function"!=typeof n||h&&h.allowFunc||(n=n(r,q)),h)c=h.parse(a,n,g,this,c,f,b);else{if("--"===g.substr(0,2)){this._tween._propLookup[g]=this._addTween.call(this._tween,a.style,"setProperty",aa(a).getPropertyValue(g)+"",n+"",g,!1,g);continue}m=ba(a,g,e)+"",s="string"==typeof n,"color"===g||"fill"===g||"stroke"===g||-1!==g.indexOf("Color")||s&&B.test(n)?(s||(n=pa(n),n=(n.length>3?"rgba(":"rgb(")+n.join(",")+")"),c=xa(u,g,m,n,!0,"transparent",c,0,f)):s&&K.test(n)?c=xa(u,g,m,n,!0,null,c,0,f):(j=parseFloat(m),o=j||0===j?m.substr((j+"").length):"",(""===m||"auto"===m)&&("width"===g||"height"===g?(j=ia(a,g,e),o="px"):"left"===g||"top"===g?(j=da(a,g,e),o="px"):(j="opacity"!==g?0:1,o="")),t=s&&"="===n.charAt(1),t?(l=parseInt(n.charAt(0)+"1",10),n=n.substr(2),l*=parseFloat(n),p=n.replace(x,"")):(l=parseFloat(n),p=s?n.replace(x,""):""),""===p&&(p=g in d?d[g]:o),n=l||0===l?(t?l+j:l)+p:b[g],o!==p&&(""!==p||"lineHeight"===g)&&(l||0===l)&&j&&(j=ca(a,g,j,o),"%"===p?(j/=ca(a,g,100,"%")/100,b.strictUnits!==!0&&(m=j+"%")):"em"===p||"rem"===p||"vw"===p||"vh"===p?j/=ca(a,g,1,p):"px"!==p&&(l=ca(a,g,l,p),p="px"),t&&(l||0===l)&&(n=l+j+p)),t&&(l+=j),!j&&0!==j||!l&&0!==l?void 0!==u[g]&&(n||n+""!="NaN"&&null!=n)?(c=new va(u,g,l||j||0,0,c,-1,g,!1,0,m,n),c.xs0="none"!==n||"display"!==g&&-1===g.indexOf("Style")?n:m):X("invalid "+g+" tween value: "+b[g]):(c=new va(u,g,j,l-j,c,0,g,k!==!1&&("px"===p||"zIndex"===g),0,m,n),c.xs0=p))}f&&c&&!c.plugin&&(c.plugin=f)}return c},j.setRatio=function(a){var b,c,d,e=this._firstPT,f=1e-6;if(1!==a||this._tween._time!==this._tween._duration&&0!==this._tween._time)if(a||this._tween._time!==this._tween._duration&&0!==this._tween._time||this._tween._rawPrevTime===-1e-6)for(;e;){if(b=e.c*a+e.s,e.r?b=e.r(b):f>b&&b>-f&&(b=0),e.type)if(1===e.type)if(d=e.l,2===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2;else if(3===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3;else if(4===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3+e.xn3+e.xs4;else if(5===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3+e.xn3+e.xs4+e.xn4+e.xs5;else{for(c=e.xs0+b+e.xs1,d=1;d-1;)_a(a[e],b,c);else for(d=a.childNodes,e=d.length;--e>-1;)f=d[e],g=f.type,f.style&&(b.push(ea(f)),c&&c.push(f)),1!==g&&9!==g&&11!==g||!f.childNodes.length||_a(f,b,c)};return g.cascadeTo=function(a,c,d){var e,f,g,h,i=b.to(a,c,d),j=[i],k=[],l=[],m=[],n=b._internals.reservedProps;for(a=i._targets||i.target,_a(a,k,m),i.render(c,!0,!0),_a(a,l),i.render(0,!0,!0),i._enabled(!0),e=m.length;--e>-1;)if(f=fa(m[e],k[e],l[e]),f.firstMPT){f=f.difs;for(g in d)n[g]&&(f[g]=d[g]);h={};for(g in f)h[g]=k[e][g];j.push(b.fromTo(m[e],c,h,f))}return j},a.activate([g]),g},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(a){"use strict";var b=function(){return(_gsScope.GreenSockGlobals||_gsScope)[a]};"undefined"!=typeof module&&module.exports?(require("../TweenLite.min.js"),module.exports=b()):"function"==typeof define&&define.amd&&define(["TweenLite"],b)}("CSSPlugin"); \ No newline at end of file diff --git a/src/js/vendor/EasePack.min.js b/src/js/vendor/EasePack.min.js new file mode 100644 index 000000000..2461b3b88 --- /dev/null +++ b/src/js/vendor/EasePack.min.js @@ -0,0 +1,12 @@ +/*! + * VERSION: 1.16.0 + * DATE: 2018-02-15 + * UPDATES AND DOCS AT: http://greensock.com + * + * @license Copyright (c) 2008-2019, GreenSock. All rights reserved. + * This work is subject to the terms at http://greensock.com/standard-license or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + **/ +var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("easing.Back",["easing.Ease"],function(a){var b,c,d,e,f=_gsScope.GreenSockGlobals||_gsScope,g=f.com.greensock,h=2*Math.PI,i=Math.PI/2,j=g._class,k=function(b,c){var d=j("easing."+b,function(){},!0),e=d.prototype=new a;return e.constructor=d,e.getRatio=c,d},l=a.register||function(){},m=function(a,b,c,d,e){var f=j("easing."+a,{easeOut:new b,easeIn:new c,easeInOut:new d},!0);return l(f,a),f},n=function(a,b,c){this.t=a,this.v=b,c&&(this.next=c,c.prev=this,this.c=c.v-b,this.gap=c.t-a)},o=function(b,c){var d=j("easing."+b,function(a){this._p1=a||0===a?a:1.70158,this._p2=1.525*this._p1},!0),e=d.prototype=new a;return e.constructor=d,e.getRatio=c,e.config=function(a){return new d(a)},d},p=m("Back",o("BackOut",function(a){return(a-=1)*a*((this._p1+1)*a+this._p1)+1}),o("BackIn",function(a){return a*a*((this._p1+1)*a-this._p1)}),o("BackInOut",function(a){return(a*=2)<1?.5*a*a*((this._p2+1)*a-this._p2):.5*((a-=2)*a*((this._p2+1)*a+this._p2)+2)})),q=j("easing.SlowMo",function(a,b,c){b=b||0===b?b:.7,null==a?a=.7:a>1&&(a=1),this._p=1!==a?b:0,this._p1=(1-a)/2,this._p2=a,this._p3=this._p1+this._p2,this._calcEnd=c===!0},!0),r=q.prototype=new a;return r.constructor=q,r.getRatio=function(a){var b=a+(.5-a)*this._p;return athis._p3?this._calcEnd?1===a?0:1-(a=(a-this._p3)/this._p1)*a:b+(a-b)*(a=(a-this._p3)/this._p1)*a*a*a:this._calcEnd?1:b},q.ease=new q(.7,.7),r.config=q.config=function(a,b,c){return new q(a,b,c)},b=j("easing.SteppedEase",function(a,b){a=a||1,this._p1=1/a,this._p2=a+(b?0:1),this._p3=b?1:0},!0),r=b.prototype=new a,r.constructor=b,r.getRatio=function(a){return 0>a?a=0:a>=1&&(a=.999999999),((this._p2*a|0)+this._p3)*this._p1},r.config=b.config=function(a,c){return new b(a,c)},c=j("easing.ExpoScaleEase",function(a,b,c){this._p1=Math.log(b/a),this._p2=b-a,this._p3=a,this._ease=c},!0),r=c.prototype=new a,r.constructor=c,r.getRatio=function(a){return this._ease&&(a=this._ease.getRatio(a)),(this._p3*Math.exp(this._p1*a)-this._p3)/this._p2},r.config=c.config=function(a,b,d){return new c(a,b,d)},d=j("easing.RoughEase",function(b){b=b||{};for(var c,d,e,f,g,h,i=b.taper||"none",j=[],k=0,l=0|(b.points||20),m=l,o=b.randomize!==!1,p=b.clamp===!0,q=b.template instanceof a?b.template:null,r="number"==typeof b.strength?.4*b.strength:.4;--m>-1;)c=o?Math.random():1/l*m,d=q?q.getRatio(c):c,"none"===i?e=r:"out"===i?(f=1-c,e=f*f*r):"in"===i?e=c*c*r:.5>c?(f=2*c,e=f*f*.5*r):(f=2*(1-c),e=f*f*.5*r),o?d+=Math.random()*e-.5*e:m%2?d+=.5*e:d-=.5*e,p&&(d>1?d=1:0>d&&(d=0)),j[k++]={x:c,y:d};for(j.sort(function(a,b){return a.x-b.x}),h=new n(1,1,null),m=l;--m>-1;)g=j[m],h=new n(g.x,g.y,h);this._prev=new n(0,0,0!==h.t?h:h.next)},!0),r=d.prototype=new a,r.constructor=d,r.getRatio=function(a){var b=this._prev;if(a>b.t){for(;b.next&&a>=b.t;)b=b.next;b=b.prev}else for(;b.prev&&a<=b.t;)b=b.prev;return this._prev=b,b.v+(a-b.t)/b.gap*b.c},r.config=function(a){return new d(a)},d.ease=new d,m("Bounce",k("BounceOut",function(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}),k("BounceIn",function(a){return(a=1-a)<1/2.75?1-7.5625*a*a:2/2.75>a?1-(7.5625*(a-=1.5/2.75)*a+.75):2.5/2.75>a?1-(7.5625*(a-=2.25/2.75)*a+.9375):1-(7.5625*(a-=2.625/2.75)*a+.984375)}),k("BounceInOut",function(a){var b=.5>a;return a=b?1-2*a:2*a-1,a=1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375,b?.5*(1-a):.5*a+.5})),m("Circ",k("CircOut",function(a){return Math.sqrt(1-(a-=1)*a)}),k("CircIn",function(a){return-(Math.sqrt(1-a*a)-1)}),k("CircInOut",function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)})),e=function(b,c,d){var e=j("easing."+b,function(a,b){this._p1=a>=1?a:1,this._p2=(b||d)/(1>a?a:1),this._p3=this._p2/h*(Math.asin(1/this._p1)||0),this._p2=h/this._p2},!0),f=e.prototype=new a;return f.constructor=e,f.getRatio=c,f.config=function(a,b){return new e(a,b)},e},m("Elastic",e("ElasticOut",function(a){return this._p1*Math.pow(2,-10*a)*Math.sin((a-this._p3)*this._p2)+1},.3),e("ElasticIn",function(a){return-(this._p1*Math.pow(2,10*(a-=1))*Math.sin((a-this._p3)*this._p2))},.3),e("ElasticInOut",function(a){return(a*=2)<1?-.5*(this._p1*Math.pow(2,10*(a-=1))*Math.sin((a-this._p3)*this._p2)):this._p1*Math.pow(2,-10*(a-=1))*Math.sin((a-this._p3)*this._p2)*.5+1},.45)),m("Expo",k("ExpoOut",function(a){return 1-Math.pow(2,-10*a)}),k("ExpoIn",function(a){return Math.pow(2,10*(a-1))-.001}),k("ExpoInOut",function(a){return(a*=2)<1?.5*Math.pow(2,10*(a-1)):.5*(2-Math.pow(2,-10*(a-1)))})),m("Sine",k("SineOut",function(a){return Math.sin(a*i)}),k("SineIn",function(a){return-Math.cos(a*i)+1}),k("SineInOut",function(a){return-.5*(Math.cos(Math.PI*a)-1)})),j("easing.EaseLookup",{find:function(b){return a.map[b]}},!0),l(f.SlowMo,"SlowMo","ease,"),l(d,"RoughEase","ease,"),l(b,"SteppedEase","ease,"),p},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(){"use strict";var a=function(){return _gsScope.GreenSockGlobals||_gsScope};"undefined"!=typeof module&&module.exports?(require("../TweenLite.min.js"),module.exports=a()):"function"==typeof define&&define.amd&&define(["TweenLite"],a)}(); \ No newline at end of file diff --git a/src/js/vendor/TweenLite.min.js b/src/js/vendor/TweenLite.min.js new file mode 100644 index 000000000..210c3b23a --- /dev/null +++ b/src/js/vendor/TweenLite.min.js @@ -0,0 +1,12 @@ +/*! + * VERSION: 2.1.3 + * DATE: 2019-05-17 + * UPDATES AND DOCS AT: http://greensock.com + * + * @license Copyright (c) 2008-2019, GreenSock. All rights reserved. + * This work is subject to the terms at http://greensock.com/standard-license or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + */ +!function(a,b){"use strict";var c={},d=a.document,e=a.GreenSockGlobals=a.GreenSockGlobals||a,f=e[b];if(f)return"undefined"!=typeof module&&module.exports&&(module.exports=f),f;var g,h,i,j,k,l=function(a){var b,c=a.split("."),d=e;for(b=0;b-1;)(k=r[f[p]]||new s(f[p],[])).gsClass?(i[p]=k.gsClass,q--):j&&k.sc.push(this);if(0===q&&g){if(m=("com.greensock."+d).split("."),n=m.pop(),o=l(m.join("."))[n]=this.gsClass=g.apply(g,i),h)if(e[n]=c[n]=o,"undefined"!=typeof module&&module.exports)if(d===b){module.exports=c[b]=o;for(p in c)o[p]=c[p]}else c[b]&&(c[b][n]=o);else"function"==typeof define&&define.amd&&define((a.GreenSockAMDPath?a.GreenSockAMDPath+"/":"")+d.split(".").pop(),[],function(){return o});for(p=0;p-1;)for(f=i[j],e=d?u("easing."+f,null,!0):m.easing[f]||{},g=k.length;--g>-1;)h=k[g],x[f+"."+h]=x[h+f]=e[h]=a.getRatio?a:a[h]||new a};for(i=w.prototype,i._calcEnd=!1,i.getRatio=function(a){if(this._func)return this._params[0]=a,this._func.apply(null,this._params);var b=this._type,c=this._power,d=1===b?1-a:2===b?a:.5>a?2*a:2*(1-a);return 1===c?d*=d:2===c?d*=d*d:3===c?d*=d*d*d:4===c&&(d*=d*d*d*d),1===b?1-d:2===b?d:.5>a?d/2:1-d/2},g=["Linear","Quad","Cubic","Quart","Quint,Strong"],h=g.length;--h>-1;)i=g[h]+",Power"+h,y(new w(null,null,1,h),i,"easeOut",!0),y(new w(null,null,2,h),i,"easeIn"+(0===h?",easeNone":"")),y(new w(null,null,3,h),i,"easeInOut");x.linear=m.easing.Linear.easeIn,x.swing=m.easing.Quad.easeInOut;var z=u("events.EventDispatcher",function(a){this._listeners={},this._eventTarget=a||this});i=z.prototype,i.addEventListener=function(a,b,c,d,e){e=e||0;var f,g,h=this._listeners[a],i=0;for(this!==j||k||j.wake(),null==h&&(this._listeners[a]=h=[]),g=h.length;--g>-1;)f=h[g],f.c===b&&f.s===c?h.splice(g,1):0===i&&f.pr-1;)if(d[c].c===b)return void d.splice(c,1)},i.dispatchEvent=function(a){var b,c,d,e=this._listeners[a];if(e)for(b=e.length,b>1&&(e=e.slice(0)),c=this._eventTarget;--b>-1;)d=e[b],d&&(d.up?d.c.call(d.s||c,{type:a,target:c}):d.c.call(d.s||c))};var A=a.requestAnimationFrame,B=a.cancelAnimationFrame,C=Date.now||function(){return(new Date).getTime()},D=C();for(g=["ms","moz","webkit","o"],h=g.length;--h>-1&&!A;)A=a[g[h]+"RequestAnimationFrame"],B=a[g[h]+"CancelAnimationFrame"]||a[g[h]+"CancelRequestAnimationFrame"];u("Ticker",function(a,b){var c,e,f,g,h,i=this,l=C(),m=b!==!1&&A?"auto":!1,o=500,q=33,r="tick",s=function(a){var b,d,j=C()-D;j>o&&(l+=j-q),D+=j,i.time=(D-l)/1e3,b=i.time-h,(!c||b>0||a===!0)&&(i.frame++,h+=b+(b>=g?.004:g-b),d=!0),a!==!0&&(f=e(s)),d&&i.dispatchEvent(r)};z.call(i),i.time=i.frame=0,i.tick=function(){s(!0)},i.lagSmoothing=function(a,b){return arguments.length?(o=a||1/n,void(q=Math.min(b,o,0))):1/n>o},i.sleep=function(){null!=f&&(m&&B?B(f):clearTimeout(f),e=p,f=null,i===j&&(k=!1))},i.wake=function(a){null!==f?i.sleep():a?l+=-D+(D=C()):i.frame>10&&(D=C()-o+5),e=0===c?p:m&&A?A:function(a){return setTimeout(a,1e3*(h-i.time)+1|0)},i===j&&(k=!0),s(2)},i.fps=function(a){return arguments.length?(c=a,g=1/(c||60),h=this.time+g,void i.wake()):c},i.useRAF=function(a){return arguments.length?(i.sleep(),m=a,void i.fps(c)):m},i.fps(a),setTimeout(function(){"auto"===m&&i.frame<5&&"hidden"!==(d||{}).visibilityState&&i.useRAF(!1)},1500)}),i=m.Ticker.prototype=new m.events.EventDispatcher,i.constructor=m.Ticker;var E=u("core.Animation",function(a,b){if(this.vars=b=b||{},this._duration=this._totalDuration=a||0,this._delay=Number(b.delay)||0,this._timeScale=1,this._active=!!b.immediateRender,this.data=b.data,this._reversed=!!b.reversed,Z){k||j.wake();var c=this.vars.useFrames?Y:Z;c.add(this,c._time),this.vars.paused&&this.paused(!0)}});j=E.ticker=new m.Ticker,i=E.prototype,i._dirty=i._gc=i._initted=i._paused=!1,i._totalTime=i._time=0,i._rawPrevTime=-1,i._next=i._last=i._onUpdate=i._timeline=i.timeline=null,i._paused=!1;var F=function(){k&&C()-D>2e3&&("hidden"!==(d||{}).visibilityState||!j.lagSmoothing())&&j.wake();var a=setTimeout(F,2e3);a.unref&&a.unref()};F(),i.play=function(a,b){return null!=a&&this.seek(a,b),this.reversed(!1).paused(!1)},i.pause=function(a,b){return null!=a&&this.seek(a,b),this.paused(!0)},i.resume=function(a,b){return null!=a&&this.seek(a,b),this.paused(!1)},i.seek=function(a,b){return this.totalTime(Number(a),b!==!1)},i.restart=function(a,b){return this.reversed(!1).paused(!1).totalTime(a?-this._delay:0,b!==!1,!0)},i.reverse=function(a,b){return null!=a&&this.seek(a||this.totalDuration(),b),this.reversed(!0).paused(!1)},i.render=function(a,b,c){},i.invalidate=function(){return this._time=this._totalTime=0,this._initted=this._gc=!1,this._rawPrevTime=-1,(this._gc||!this.timeline)&&this._enabled(!0),this},i.isActive=function(){var a,b=this._timeline,c=this._startTime;return!b||!this._gc&&!this._paused&&b.isActive()&&(a=b.rawTime(!0))>=c&&a-1;)"{self}"===a[b]&&(c[b]=this);return c},i._callback=function(a){var b=this.vars,c=b[a],d=b[a+"Params"],e=b[a+"Scope"]||b.callbackScope||this,f=d?d.length:0;switch(f){case 0:c.call(e);break;case 1:c.call(e,d[0]);break;case 2:c.call(e,d[0],d[1]);break;default:c.apply(e,d)}},i.eventCallback=function(a,b,c,d){if("on"===(a||"").substr(0,2)){var e=this.vars;if(1===arguments.length)return e[a];null==b?delete e[a]:(e[a]=b,e[a+"Params"]=q(c)&&-1!==c.join("").indexOf("{self}")?this._swapSelfInParams(c):c,e[a+"Scope"]=d),"onUpdate"===a&&(this._onUpdate=b)}return this},i.delay=function(a){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+a-this._delay),this._delay=a,this):this._delay},i.duration=function(a){return arguments.length?(this._duration=this._totalDuration=a,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._timethis._duration?this._duration:a,b)):this._time},i.totalTime=function(a,b,c){if(k||j.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(0>a&&!c&&(a+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var d=this._totalDuration,e=this._timeline;if(a>d&&!c&&(a=d),this._startTime=(this._paused?this._pauseTime:e._time)-(this._reversed?d-a:a)/this._timeScale,e._dirty||this._uncache(!1),e._timeline)for(;e._timeline;)e._timeline._time!==(e._startTime+e._totalTime)/e._timeScale&&e.totalTime(e._totalTime,!0),e=e._timeline}this._gc&&this._enabled(!0,!1),(this._totalTime!==a||0===this._duration)&&(K.length&&_(),this.render(a,b,!1),K.length&&_())}return this},i.progress=i.totalProgress=function(a,b){var c=this.duration();return arguments.length?this.totalTime(c*a,b):c?this._time/c:this.ratio},i.startTime=function(a){return arguments.length?(a!==this._startTime&&(this._startTime=a,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,a-this._delay)),this):this._startTime},i.endTime=function(a){return this._startTime+(0!=a?this.totalDuration():this.duration())/this._timeScale},i.timeScale=function(a){if(!arguments.length)return this._timeScale;var b,c;for(a=a||n,this._timeline&&this._timeline.smoothChildTiming&&(b=this._pauseTime,c=b||0===b?b:this._timeline.totalTime(),this._startTime=c-(c-this._startTime)*this._timeScale/a),this._timeScale=a,c=this.timeline;c&&c.timeline;)c._dirty=!0,c.totalDuration(),c=c.timeline;return this},i.reversed=function(a){return arguments.length?(a!=this._reversed&&(this._reversed=a,this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},i.paused=function(a){if(!arguments.length)return this._paused;var b,c,d=this._timeline;return a!=this._paused&&d&&(k||a||j.wake(),b=d.rawTime(),c=b-this._pauseTime,!a&&d.smoothChildTiming&&(this._startTime+=c,this._uncache(!1)),this._pauseTime=a?b:null,this._paused=a,this._active=this.isActive(),!a&&0!==c&&this._initted&&this.duration()&&(b=d.smoothChildTiming?this._totalTime:(b-this._startTime)/this._timeScale,this.render(b,b===this._totalTime,!0))),this._gc&&!a&&this._enabled(!0,!1),this};var G=u("core.SimpleTimeline",function(a){E.call(this,0,a),this.autoRemoveChildren=this.smoothChildTiming=!0});i=G.prototype=new E,i.constructor=G,i.kill()._gc=!1,i._first=i._last=i._recent=null,i._sortChildren=!1,i.add=i.insert=function(a,b,c,d){var e,f;if(a._startTime=Number(b||0)+a._delay,a._paused&&this!==a._timeline&&(a._pauseTime=this.rawTime()-(a._timeline.rawTime()-a._pauseTime)),a.timeline&&a.timeline._remove(a,!0),a.timeline=a._timeline=this,a._gc&&a._enabled(!0,!0),e=this._last,this._sortChildren)for(f=a._startTime;e&&e._startTime>f;)e=e._prev;return e?(a._next=e._next,e._next=a):(a._next=this._first,this._first=a),a._next?a._next._prev=a:this._last=a,a._prev=e,this._recent=a,this._timeline&&this._uncache(!0),this},i._remove=function(a,b){return a.timeline===this&&(b||a._enabled(!1,!0),a._prev?a._prev._next=a._next:this._first===a&&(this._first=a._next),a._next?a._next._prev=a._prev:this._last===a&&(this._last=a._prev),a._next=a._prev=a.timeline=null,a===this._recent&&(this._recent=this._last),this._timeline&&this._uncache(!0)),this},i.render=function(a,b,c){var d,e=this._first;for(this._totalTime=this._time=this._rawPrevTime=a;e;)d=e._next,(e._active||a>=e._startTime&&!e._paused&&!e._gc)&&(e._reversed?e.render((e._dirty?e.totalDuration():e._totalDuration)-(a-e._startTime)*e._timeScale,b,c):e.render((a-e._startTime)*e._timeScale,b,c)),e=d},i.rawTime=function(){return k||j.wake(),this._totalTime};var H=u("TweenLite",function(b,c,d){if(E.call(this,c,d),this.render=H.prototype.render,null==b)throw"Cannot tween a null target.";this.target=b="string"!=typeof b?b:H.selector(b)||b;var e,f,g,h=b.jquery||b.length&&b!==a&&b[0]&&(b[0]===a||b[0].nodeType&&b[0].style&&!b.nodeType),i=this.vars.overwrite;if(this._overwrite=i=null==i?X[H.defaultOverwrite]:"number"==typeof i?i>>0:X[i],(h||b instanceof Array||b.push&&q(b))&&"number"!=typeof b[0])for(this._targets=g=o(b),this._propLookup=[],this._siblings=[],e=0;e1&&ca(f,this,null,1,this._siblings[e])):(f=g[e--]=H.selector(f),"string"==typeof f&&g.splice(e+1,1)):g.splice(e--,1);else this._propLookup={},this._siblings=aa(b,this,!1),1===i&&this._siblings.length>1&&ca(b,this,null,1,this._siblings);(this.vars.immediateRender||0===c&&0===this._delay&&this.vars.immediateRender!==!1)&&(this._time=-n,this.render(Math.min(0,-this._delay)))},!0),I=function(b){return b&&b.length&&b!==a&&b[0]&&(b[0]===a||b[0].nodeType&&b[0].style&&!b.nodeType)},J=function(a,b){var c,d={};for(c in a)W[c]||c in b&&"transform"!==c&&"x"!==c&&"y"!==c&&"width"!==c&&"height"!==c&&"className"!==c&&"border"!==c||!(!T[c]||T[c]&&T[c]._autoCSS)||(d[c]=a[c],delete a[c]);a.css=d};i=H.prototype=new E,i.constructor=H,i.kill()._gc=!1,i.ratio=0,i._firstPT=i._targets=i._overwrittenProps=i._startAt=null,i._notifyPluginsOfEnabled=i._lazy=!1,H.version="2.1.3",H.defaultEase=i._ease=new w(null,null,1,1),H.defaultOverwrite="auto",H.ticker=j,H.autoSleep=120,H.lagSmoothing=function(a,b){j.lagSmoothing(a,b)},H.selector=a.$||a.jQuery||function(b){var c=a.$||a.jQuery;return c?(H.selector=c,c(b)):(d||(d=a.document),d?d.querySelectorAll?d.querySelectorAll(b):d.getElementById("#"===b.charAt(0)?b.substr(1):b):b)};var K=[],L={},M=/(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,N=/[\+-]=-?[\.\d]/,O=function(a){for(var b,c=this._firstPT,d=1e-6;c;)b=c.blob?1===a&&null!=this.end?this.end:a?this.join(""):this.start:c.c*a+c.s,c.m?b=c.m.call(this._tween,b,this._target||c.t,this._tween):d>b&&b>-d&&!c.blob&&(b=0),c.f?c.fp?c.t[c.p](c.fp,b):c.t[c.p](b):c.t[c.p]=b,c=c._next},P=function(a){return(1e3*a|0)/1e3+""},Q=function(a,b,c,d){var e,f,g,h,i,j,k,l=[],m=0,n="",o=0;for(l.start=a,l.end=b,a=l[0]=a+"",b=l[1]=b+"",c&&(c(l),a=l[0],b=l[1]),l.length=0,e=a.match(M)||[],f=b.match(M)||[],d&&(d._next=null,d.blob=1,l._firstPT=l._applyPT=d),i=f.length,h=0;i>h;h++)k=f[h],j=b.substr(m,b.indexOf(k,m)-m),n+=j||!h?j:",",m+=j.length,o?o=(o+1)%5:"rgba("===j.substr(-5)&&(o=1),k===e[h]||e.length<=h?n+=k:(n&&(l.push(n),n=""),g=parseFloat(e[h]),l.push(g),l._firstPT={_next:l._firstPT,t:l,p:l.length-1,s:g,c:("="===k.charAt(1)?parseInt(k.charAt(0)+"1",10)*parseFloat(k.substr(2)):parseFloat(k)-g)||0,f:0,m:o&&4>o?Math.round:P}),m+=k.length;return n+=b.substr(m),n&&l.push(n),l.setRatio=O,N.test(b)&&(l.end=null),l},R=function(a,b,c,d,e,f,g,h,i){"function"==typeof d&&(d=d(i||0,a));var j,k=typeof a[b],l="function"!==k?"":b.indexOf("set")||"function"!=typeof a["get"+b.substr(3)]?b:"get"+b.substr(3),m="get"!==c?c:l?g?a[l](g):a[l]():a[b],n="string"==typeof d&&"="===d.charAt(1),o={t:a,p:b,s:m,f:"function"===k,pg:0,n:e||b,m:f?"function"==typeof f?f:Math.round:0,pr:0,c:n?parseInt(d.charAt(0)+"1",10)*parseFloat(d.substr(2)):parseFloat(d)-m||0};return("number"!=typeof m||"number"!=typeof d&&!n)&&(g||isNaN(m)||!n&&isNaN(d)||"boolean"==typeof m||"boolean"==typeof d?(o.fp=g,j=Q(m,n?parseFloat(o.s)+o.c+(o.s+"").replace(/[0-9\-\.]/g,""):d,h||H.defaultStringFilter,o),o={t:j,p:"setRatio",s:0,c:1,f:2,pg:0,n:e||b,pr:0,m:0}):(o.s=parseFloat(m),n||(o.c=parseFloat(d)-o.s||0))),o.c?((o._next=this._firstPT)&&(o._next._prev=o),this._firstPT=o,o):void 0},S=H._internals={isArray:q,isSelector:I,lazyTweens:K,blobDif:Q},T=H._plugins={},U=S.tweenLookup={},V=0,W=S.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1,onOverwrite:1,callbackScope:1,stringFilter:1,id:1,yoyoEase:1,stagger:1},X={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,"true":1,"false":0},Y=E._rootFramesTimeline=new G,Z=E._rootTimeline=new G,$=30,_=S.lazyRender=function(){var a,b,c=K.length;for(L={},a=0;c>a;a++)b=K[a],b&&b._lazy!==!1&&(b.render(b._lazy[0],b._lazy[1],!0),b._lazy=!1);K.length=0};Z._startTime=j.time,Y._startTime=j.frame,Z._active=Y._active=!0,setTimeout(_,1),E._updateRoot=H.render=function(){var a,b,c;if(K.length&&_(),Z.render((j.time-Z._startTime)*Z._timeScale,!1,!1),Y.render((j.frame-Y._startTime)*Y._timeScale,!1,!1),K.length&&_(),j.frame>=$){$=j.frame+(parseInt(H.autoSleep,10)||120);for(c in U){for(b=U[c].tweens,a=b.length;--a>-1;)b[a]._gc&&b.splice(a,1);0===b.length&&delete U[c]}if(c=Z._first,(!c||c._paused)&&H.autoSleep&&!Y._first&&1===j._listeners.tick.length){for(;c&&c._paused;)c=c._next;c||j.sleep()}}},j.addEventListener("tick",E._updateRoot);var aa=function(a,b,c){var d,e,f=a._gsTweenID;if(U[f||(a._gsTweenID=f="t"+V++)]||(U[f]={target:a,tweens:[]}),b&&(d=U[f].tweens,d[e=d.length]=b,c))for(;--e>-1;)d[e]===b&&d.splice(e,1);return U[f].tweens},ba=function(a,b,c,d){var e,f,g=a.vars.onOverwrite;return g&&(e=g(a,b,c,d)),g=H.onOverwrite,g&&(f=g(a,b,c,d)),e!==!1&&f!==!1},ca=function(a,b,c,d,e){var f,g,h,i;if(1===d||d>=4){for(i=e.length,f=0;i>f;f++)if((h=e[f])!==b)h._gc||h._kill(null,a,b)&&(g=!0);else if(5===d)break;return g}var j,k=b._startTime+n,l=[],m=0,o=0===b._duration;for(f=e.length;--f>-1;)(h=e[f])===b||h._gc||h._paused||(h._timeline!==b._timeline?(j=j||da(b,0,o),0===da(h,j,o)&&(l[m++]=h)):h._startTime<=k&&h._startTime+h.totalDuration()/h._timeScale>k&&((o||!h._initted)&&k-h._startTime<=2*n||(l[m++]=h)));for(f=m;--f>-1;)if(h=l[f],i=h._firstPT,2===d&&h._kill(c,a,b)&&(g=!0),2!==d||!h._firstPT&&h._initted&&i){if(2!==d&&!ba(h,b))continue;h._enabled(!1,!1)&&(g=!0)}return g},da=function(a,b,c){for(var d=a._timeline,e=d._timeScale,f=a._startTime;d._timeline;){if(f+=d._startTime,e*=d._timeScale,d._paused)return-100;d=d._timeline}return f/=e,f>b?f-b:c&&f===b||!a._initted&&2*n>f-b?n:(f+=a.totalDuration()/a._timeScale/e)>b+n?0:f-b-n};i._init=function(){var a,b,c,d,e,f,g=this.vars,h=this._overwrittenProps,i=this._duration,j=!!g.immediateRender,k=g.ease,l=this._startAt;if(g.startAt){l&&(l.render(-1,!0),l.kill()),e={};for(d in g.startAt)e[d]=g.startAt[d];if(e.data="isStart",e.overwrite=!1,e.immediateRender=!0,e.lazy=j&&g.lazy!==!1,e.startAt=e.delay=null,e.onUpdate=g.onUpdate,e.onUpdateParams=g.onUpdateParams,e.onUpdateScope=g.onUpdateScope||g.callbackScope||this,this._startAt=H.to(this.target||{},0,e),j)if(this._time>0)this._startAt=null;else if(0!==i)return}else if(g.runBackwards&&0!==i)if(l)l.render(-1,!0),l.kill(),this._startAt=null;else{0!==this._time&&(j=!1),c={};for(d in g)W[d]&&"autoCSS"!==d||(c[d]=g[d]);if(c.overwrite=0,c.data="isFromStart",c.lazy=j&&g.lazy!==!1,c.immediateRender=j,this._startAt=H.to(this.target,0,c),j){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1),this.vars.immediateRender&&(this._startAt=null)}if(this._ease=k=k?k instanceof w?k:"function"==typeof k?new w(k,g.easeParams):x[k]||H.defaultEase:H.defaultEase,g.easeParams instanceof Array&&k.config&&(this._ease=k.config.apply(k,g.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(f=this._targets.length,a=0;f>a;a++)this._initProps(this._targets[a],this._propLookup[a]={},this._siblings[a],h?h[a]:null,a)&&(b=!0);else b=this._initProps(this.target,this._propLookup,this._siblings,h,0);if(b&&H._onPluginEvent("_onInitAllProps",this),h&&(this._firstPT||"function"!=typeof this.target&&this._enabled(!1,!1)),g.runBackwards)for(c=this._firstPT;c;)c.s+=c.c,c.c=-c.c,c=c._next;this._onUpdate=g.onUpdate,this._initted=!0},i._initProps=function(b,c,d,e,f){var g,h,i,j,k,l;if(null==b)return!1;L[b._gsTweenID]&&_(),this.vars.css||b.style&&b!==a&&b.nodeType&&T.css&&this.vars.autoCSS!==!1&&J(this.vars,b);for(g in this.vars)if(l=this.vars[g],W[g])l&&(l instanceof Array||l.push&&q(l))&&-1!==l.join("").indexOf("{self}")&&(this.vars[g]=l=this._swapSelfInParams(l,this));else if(T[g]&&(j=new T[g])._onInitTween(b,this.vars[g],this,f)){for(this._firstPT=k={_next:this._firstPT,t:j,p:"setRatio",s:0,c:1,f:1,n:g,pg:1,pr:j._priority,m:0},h=j._overwriteProps.length;--h>-1;)c[j._overwriteProps[h]]=this._firstPT;(j._priority||j._onInitAllProps)&&(i=!0),(j._onDisable||j._onEnable)&&(this._notifyPluginsOfEnabled=!0),k._next&&(k._next._prev=k)}else c[g]=R.call(this,b,g,"get",l,g,0,null,this.vars.stringFilter,f);return e&&this._kill(e,b)?this._initProps(b,c,d,e,f):this._overwrite>1&&this._firstPT&&d.length>1&&ca(b,this,c,this._overwrite,d)?(this._kill(c,b),this._initProps(b,c,d,e,f)):(this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration)&&(L[b._gsTweenID]=!0),i)},i.render=function(a,b,c){var d,e,f,g,h=this,i=h._time,j=h._duration,k=h._rawPrevTime;if(a>=j-n&&a>=0)h._totalTime=h._time=j,h.ratio=h._ease._calcEnd?h._ease.getRatio(1):1,h._reversed||(d=!0,e="onComplete",c=c||h._timeline.autoRemoveChildren),0===j&&(h._initted||!h.vars.lazy||c)&&(h._startTime===h._timeline._duration&&(a=0),(0>k||0>=a&&a>=-n||k===n&&"isPause"!==h.data)&&k!==a&&(c=!0,k>n&&(e="onReverseComplete")),h._rawPrevTime=g=!b||a||k===a?a:n);else if(n>a)h._totalTime=h._time=0,h.ratio=h._ease._calcEnd?h._ease.getRatio(0):0,(0!==i||0===j&&k>0)&&(e="onReverseComplete",d=h._reversed),a>-n?a=0:0>a&&(h._active=!1,0===j&&(h._initted||!h.vars.lazy||c)&&(k>=0&&(k!==n||"isPause"!==h.data)&&(c=!0),h._rawPrevTime=g=!b||a||k===a?a:n)),(!h._initted||h._startAt&&h._startAt.progress())&&(c=!0);else if(h._totalTime=h._time=a,h._easeType){var l=a/j,m=h._easeType,o=h._easePower;(1===m||3===m&&l>=.5)&&(l=1-l),3===m&&(l*=2),1===o?l*=l:2===o?l*=l*l:3===o?l*=l*l*l:4===o&&(l*=l*l*l*l),h.ratio=1===m?1-l:2===m?l:.5>a/j?l/2:1-l/2}else h.ratio=h._ease.getRatio(a/j);if(h._time!==i||c){if(!h._initted){if(h._init(),!h._initted||h._gc)return;if(!c&&h._firstPT&&(h.vars.lazy!==!1&&h._duration||h.vars.lazy&&!h._duration))return h._time=h._totalTime=i,h._rawPrevTime=k,K.push(h),void(h._lazy=[a,b]);h._time&&!d?h.ratio=h._ease.getRatio(h._time/j):d&&h._ease._calcEnd&&(h.ratio=h._ease.getRatio(0===h._time?0:1))}for(h._lazy!==!1&&(h._lazy=!1),h._active||!h._paused&&h._time!==i&&a>=0&&(h._active=!0),0===i&&(h._startAt&&(a>=0?h._startAt.render(a,!0,c):e||(e="_dummyGS")),h.vars.onStart&&(0!==h._time||0===j)&&(b||h._callback("onStart"))),f=h._firstPT;f;)f.f?f.t[f.p](f.c*h.ratio+f.s):f.t[f.p]=f.c*h.ratio+f.s,f=f._next;h._onUpdate&&(0>a&&h._startAt&&a!==-1e-4&&h._startAt.render(a,!0,c),b||(h._time!==i||d||c)&&h._callback("onUpdate")),e&&(!h._gc||c)&&(0>a&&h._startAt&&!h._onUpdate&&a!==-1e-4&&h._startAt.render(a,!0,c),d&&(h._timeline.autoRemoveChildren&&h._enabled(!1,!1),h._active=!1),!b&&h.vars[e]&&h._callback(e),0===j&&h._rawPrevTime===n&&g!==n&&(h._rawPrevTime=0))}},i._kill=function(a,b,c){if("all"===a&&(a=null),null==a&&(null==b||b===this.target))return this._lazy=!1,this._enabled(!1,!1);b="string"!=typeof b?b||this._targets||this.target:H.selector(b)||b;var d,e,f,g,h,i,j,k,l,m=c&&this._time&&c._startTime===this._startTime&&this._timeline===c._timeline,n=this._firstPT;if((q(b)||I(b))&&"number"!=typeof b[0])for(d=b.length;--d>-1;)this._kill(a,b[d],c)&&(i=!0);else{if(this._targets){for(d=this._targets.length;--d>-1;)if(b===this._targets[d]){h=this._propLookup[d]||{},this._overwrittenProps=this._overwrittenProps||[],e=this._overwrittenProps[d]=a?this._overwrittenProps[d]||{}:"all";break}}else{if(b!==this.target)return!1;h=this._propLookup,e=this._overwrittenProps=a?this._overwrittenProps||{}:"all"}if(h){if(j=a||h,k=a!==e&&"all"!==e&&a!==h&&("object"!=typeof a||!a._tempKill),c&&(H.onOverwrite||this.vars.onOverwrite)){for(f in j)h[f]&&(l||(l=[]),l.push(f));if((l||!a)&&!ba(this,c,b,l))return!1}for(f in j)(g=h[f])&&(m&&(g.f?g.t[g.p](g.s):g.t[g.p]=g.s,i=!0),g.pg&&g.t._kill(j)&&(i=!0),g.pg&&0!==g.t._overwriteProps.length||(g._prev?g._prev._next=g._next:g===this._firstPT&&(this._firstPT=g._next),g._next&&(g._next._prev=g._prev),g._next=g._prev=null),delete h[f]),k&&(e[f]=1);!this._firstPT&&this._initted&&n&&this._enabled(!1,!1)}}return i},i.invalidate=function(){this._notifyPluginsOfEnabled&&H._onPluginEvent("_onDisable",this);var a=this._time;return this._firstPT=this._overwrittenProps=this._startAt=this._onUpdate=null,this._notifyPluginsOfEnabled=this._active=this._lazy=!1,this._propLookup=this._targets?{}:[],E.prototype.invalidate.call(this),this.vars.immediateRender&&(this._time=-n,this.render(a,!1,this.vars.lazy!==!1)),this},i._enabled=function(a,b){if(k||j.wake(),a&&this._gc){var c,d=this._targets;if(d)for(c=d.length;--c>-1;)this._siblings[c]=aa(d[c],this,!0);else this._siblings=aa(this.target,this,!0)}return E.prototype._enabled.call(this,a,b),this._notifyPluginsOfEnabled&&this._firstPT?H._onPluginEvent(a?"_onEnable":"_onDisable",this):!1},H.to=function(a,b,c){return new H(a,b,c)},H.from=function(a,b,c){return c.runBackwards=!0,c.immediateRender=0!=c.immediateRender,new H(a,b,c)},H.fromTo=function(a,b,c,d){return d.startAt=c,d.immediateRender=0!=d.immediateRender&&0!=c.immediateRender,new H(a,b,d)},H.delayedCall=function(a,b,c,d,e){return new H(b,0,{delay:a,onComplete:b,onCompleteParams:c,callbackScope:d,onReverseComplete:b,onReverseCompleteParams:c,immediateRender:!1,lazy:!1,useFrames:e,overwrite:0})},H.set=function(a,b){return new H(a,0,b)},H.getTweensOf=function(a,b){if(null==a)return[];a="string"!=typeof a?a:H.selector(a)||a;var c,d,e,f;if((q(a)||I(a))&&"number"!=typeof a[0]){for(c=a.length,d=[];--c>-1;)d=d.concat(H.getTweensOf(a[c],b));for(c=d.length;--c>-1;)for(f=d[c],e=c;--e>-1;)f===d[e]&&d.splice(c,1)}else if(a._gsTweenID)for(d=aa(a).concat(),c=d.length;--c>-1;)(d[c]._gc||b&&!d[c].isActive())&&d.splice(c,1);return d||[]},H.killTweensOf=H.killDelayedCallsTo=function(a,b,c){"object"==typeof b&&(c=b,b=!1);for(var d=H.getTweensOf(a,b),e=d.length;--e>-1;)d[e]._kill(c,a)};var ea=u("plugins.TweenPlugin",function(a,b){this._overwriteProps=(a||"").split(","),this._propName=this._overwriteProps[0],this._priority=b||0,this._super=ea.prototype},!0);if(i=ea.prototype,ea.version="1.19.0",ea.API=2,i._firstPT=null,i._addTween=R,i.setRatio=O,i._kill=function(a){var b,c=this._overwriteProps,d=this._firstPT;if(null!=a[this._propName])this._overwriteProps=[];else for(b=c.length;--b>-1;)null!=a[c[b]]&&c.splice(b,1);for(;d;)null!=a[d.n]&&(d._next&&(d._next._prev=d._prev),d._prev?(d._prev._next=d._next,d._prev=null):this._firstPT===d&&(this._firstPT=d._next)),d=d._next;return!1},i._mod=i._roundProps=function(a){for(var b,c=this._firstPT;c;)b=a[this._propName]||null!=c.n&&a[c.n.split(this._propName+"_").join("")],b&&"function"==typeof b&&(2===c.f?c.t._applyPT.m=b:c.m=b),c=c._next},H._onPluginEvent=function(a,b){var c,d,e,f,g,h=b._firstPT;if("_onInitAllProps"===a){for(;h;){for(g=h._next,d=e;d&&d.pr>h.pr;)d=d._next;(h._prev=d?d._prev:f)?h._prev._next=h:e=h,(h._next=d)?d._prev=h:f=h,h=g}h=b._firstPT=e}for(;h;)h.pg&&"function"==typeof h.t[a]&&h.t[a]()&&(c=!0),h=h._next;return c},ea.activate=function(a){for(var b=a.length;--b>-1;)a[b].API===ea.API&&(T[(new a[b])._propName]=a[b]);return!0},t.plugin=function(a){if(!(a&&a.propName&&a.init&&a.API))throw"illegal plugin definition.";var b,c=a.propName,d=a.priority||0,e=a.overwriteProps,f={init:"_onInitTween",set:"setRatio",kill:"_kill",round:"_mod",mod:"_mod",initAll:"_onInitAllProps"},g=u("plugins."+c.charAt(0).toUpperCase()+c.substr(1)+"Plugin",function(){ea.call(this,c,d),this._overwriteProps=e||[]},a.global===!0),h=g.prototype=new ea(c);h.constructor=g,g.API=a.API;for(b in f)"function"==typeof a[b]&&(h[f[b]]=a[b]);return g.version=a.version,ea.activate([g]),g},g=a._gsQueue){for(h=0;h-1;)b.to(this,a.fx.off?0:s.duration/1e3,r[d]);e.onComplete=function(){c?c():s.old&&a(this).each(s.old)},b.to(this,a.fx.off?0:s.duration/1e3,e)},s.queue!==!1?(u.queue(s.queue,q),"function"==typeof s.old&&a(u[u.length-1]).queue(s.queue,function(a){s.old.call(u),a()})):q.call(u),u},a.fn.stop=function(a,c){if(f.call(this,a,c),b){if(c)for(var d,e=b.getTweensOf(this),g=e.length;--g>-1;)d=e[g].totalTime()/e[g].totalDuration(),d>0&&1>d&&e[g].seek(e[g].totalDuration());b.killTweensOf(this)}return this},a.gsap={enabled:function(a){g=a},version:"0.1.13",legacyProps:function(a){k=j+a+","}}}(jQuery); \ No newline at end of file diff --git a/resources/sass/admin.scss b/src/sass/admin.scss similarity index 93% rename from resources/sass/admin.scss rename to src/sass/admin.scss index 9de90e1e2..b648f8048 100644 --- a/resources/sass/admin.scss +++ b/src/sass/admin.scss @@ -1,199 +1,199 @@ -@import "modules/theme"; -@import "partials/basic"; -@import "partials/button"; -@import "partials/fonts"; -@import "partials/toggle"; - -$error: #e74c3c; -$success: #2ecc71; - -.adminwrapper { - display: block; - position: relative; - overflow-y: auto; - width: 100%; - height: 100%; - background-color: $mainColor; - background-image: $adminBackground; - background-position: center center; - background-repeat: no-repeat; - background-size: cover; - background-attachment: fixed; -} - -input[type="text"], -select { - background: $boxColor; - border: 1px solid $borderColor; - border-radius: 4px; - width: 100%; - padding: 0 10px; - color: $fontColor; -} - -.slider { - -webkit-appearance: none; - height: 15px; - width: 100%; - background: $boxColor; - outline: none; -} - -.slider::-webkit-slider-thumb { - -webkit-appearance: none; - appearance: none; - width: 15px; - height: 20px; - background: $mainColor; - cursor: pointer; -} - -.slider::-moz-range-thumb { - width: 15px; - height: 20px; - background: $mainColor; - cursor: pointer; -} - -.admin-panel { - width: calc(31.25 * 1em); - padding: 30px 30px 90px; - height: auto; - margin: 50px auto; - background: $panelColor; - position: relative; - max-width: 100%; - color: $fontColor; -} - -.panel { - .panel-heading { - padding: 10px; - cursor: pointer; - border: 1px solid $borderColor; - .plus { - display: inline-block; - } - .minus { - display: none; - } - - &:hover { - background: $hoverPanelColor; - } - - } - .panel-body { - display: none; - padding: 20px; - border: 1px solid $borderColor; - } - - &.open { - .panel-heading { - .minus { - display: inline-block; - } - .plus { - display: none; - } - } - } - - &.init { - .panel-body{ - display: block; - } - } -} - -.form-row { - margin-bottom: 15px; -} - -.save-btn, -.reset-btn { - cursor: pointer; - background: $mainColor; - color: $buttonFontColor; - width: 100%; - position: absolute; - padding: 20px; - bottom: 0; - left: 0; - right: 0; - transition: background 0.7s ease; - - &:hover { - background: $hoverColor; - } - - .saving, - .success, - .error { - display: none; - } - - &.saving { - .saving { - display: inline-block; - } - - .save, - .success, - .error { - display: none; - } - } - - &.success { - background: $success; - .success { - display: inline-block; - } - - .save, - .saving, - .error { - display: none; - } - } - - &.error { - background: $error; - .error { - display: inline-block; - } - - .save, - .saving, - .success { - display: none; - } - } -} - -.reset-btn{ - background: $error; - position: absolute; - top: 50px; - right: 30px; - left: auto; - width: auto; - bottom: auto; - padding: 5px 10px; - - &:hover { - background: #c0392b; - } -} - -.back-to-pb { - color: $fontColor; - text-decoration: none; - padding: 0 3px; - - &:hover { - background-color: $hoverPanelColor; - } -} +@import "modules/theme"; +@import "partials/basic"; +@import "partials/button"; +@import "partials/fonts"; +@import "partials/toggle"; + +$error: #e74c3c; +$success: #2ecc71; + +.adminwrapper { + display: block; + position: relative; + overflow-y: auto; + width: 100%; + height: 100%; + background-color: $mainColor; + background-image: $adminBackground; + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + background-attachment: fixed; +} + +input[type="text"], +select { + background: $boxColor; + border: 1px solid $borderColor; + border-radius: 4px; + width: 100%; + padding: 0 10px; + color: $fontColor; +} + +.slider { + -webkit-appearance: none; + height: 15px; + width: 100%; + background: $boxColor; + outline: none; +} + +.slider::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: 15px; + height: 20px; + background: $mainColor; + cursor: pointer; +} + +.slider::-moz-range-thumb { + width: 15px; + height: 20px; + background: $mainColor; + cursor: pointer; +} + +.admin-panel { + width: calc(31.25 * 1em); + padding: 30px 30px 90px; + height: auto; + margin: 50px auto; + background: $panelColor; + position: relative; + max-width: 100%; + color: $fontColor; +} + +.panel { + .panel-heading { + padding: 10px; + cursor: pointer; + border: 1px solid $borderColor; + .plus { + display: inline-block; + } + .minus { + display: none; + } + + &:hover { + background: $hoverPanelColor; + } + + } + .panel-body { + display: none; + padding: 20px; + border: 1px solid $borderColor; + } + + &.open { + .panel-heading { + .minus { + display: inline-block; + } + .plus { + display: none; + } + } + } + + &.init { + .panel-body{ + display: block; + } + } +} + +.form-row { + margin-bottom: 15px; +} + +.save-btn, +.reset-btn { + cursor: pointer; + background: $mainColor; + color: $buttonFontColor; + width: 100%; + position: absolute; + padding: 20px; + bottom: 0; + left: 0; + right: 0; + transition: background 0.7s ease; + + &:hover { + background: $hoverColor; + } + + .saving, + .success, + .error { + display: none; + } + + &.saving { + .saving { + display: inline-block; + } + + .save, + .success, + .error { + display: none; + } + } + + &.success { + background: $success; + .success { + display: inline-block; + } + + .save, + .saving, + .error { + display: none; + } + } + + &.error { + background: $error; + .error { + display: inline-block; + } + + .save, + .saving, + .success { + display: none; + } + } +} + +.reset-btn{ + background: $error; + position: absolute; + top: 50px; + right: 30px; + left: auto; + width: auto; + bottom: auto; + padding: 5px 10px; + + &:hover { + background: #c0392b; + } +} + +.back-to-pb { + color: $fontColor; + text-decoration: none; + padding: 0 3px; + + &:hover { + background-color: $hoverPanelColor; + } +} diff --git a/resources/sass/chromakeying.scss b/src/sass/chromakeying.scss similarity index 95% rename from resources/sass/chromakeying.scss rename to src/sass/chromakeying.scss index 159b465b7..c31656a93 100644 --- a/resources/sass/chromakeying.scss +++ b/src/sass/chromakeying.scss @@ -1,42 +1,42 @@ -@import "modules/theme"; -@import "partials/basic"; -@import "partials/button"; -@import "partials/fonts"; -@import "partials/modal"; - -.chromawrapper { - display: block; - padding: 1em 2em 2em; - position: relative; - overflow-y: auto; - width: 100%; - height: 100%; - text-align: center; - background-color: $mainColor; - background-image: $chromaBackground; - background-position: center center; - background-repeat: no-repeat; - background-size: cover; - background-attachment: fixed; -} - -.canvasWrapper { - width: 1000px; - display: inline-block; - max-width: 100%; - background-color: green; - border:4px solid $borderColor; -} - -#mainCanvas { - display: block; - max-width: 100%; -} - -.backgroundPreview { - cursor:pointer; - max-width:120px; - max-height: 80px; - border:2px solid $borderColor; - margin:3px; -} +@import "modules/theme"; +@import "partials/basic"; +@import "partials/button"; +@import "partials/fonts"; +@import "partials/modal"; + +.chromawrapper { + display: block; + padding: 1em 2em 2em; + position: relative; + overflow-y: auto; + width: 100%; + height: 100%; + text-align: center; + background-color: $mainColor; + background-image: $chromaBackground; + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + background-attachment: fixed; +} + +.canvasWrapper { + width: 1000px; + display: inline-block; + max-width: 100%; + background-color: green; + border:4px solid $borderColor; +} + +#mainCanvas { + display: block; + max-width: 100%; +} + +.backgroundPreview { + cursor:pointer; + max-width:120px; + max-height: 80px; + border:2px solid $borderColor; + margin:3px; +} diff --git a/resources/sass/login.scss b/src/sass/login.scss similarity index 95% rename from resources/sass/login.scss rename to src/sass/login.scss index ff86c5d8e..c9204dae7 100644 --- a/resources/sass/login.scss +++ b/src/sass/login.scss @@ -1,47 +1,47 @@ -@import "modules/theme"; -@import "partials/fonts"; -@import "partials/basic"; -@import "partials/button"; - -.loginbody { - display: block; - position: relative; - overflow-y: auto; - width: 100%; - height: 100%; - background-color: $mainColor; - background-image: $adminBackground; - background-position: center center; - background-repeat: no-repeat; - background-size: cover; - background-attachment: fixed; -} - -input[type="text"], -input[type="password"] { - color: $fontColor; - background: $boxColor; - border: 1px solid $borderColor; - border-radius: 4px; - width: 100%; - padding: 0 10px; -} - -.login-panel { - color: $fontColor; - width: calc(31.25 * 1em); - padding: 30px 30px 90px; - height: auto; - margin: 50px auto; - background: $panelColor; - position: relative; - max-width: 100%; -} - -.password-toggle { - float: right; - margin-left: -25px; - margin-top: 5px; - position: relative; - z-index: 2; -} +@import "modules/theme"; +@import "partials/fonts"; +@import "partials/basic"; +@import "partials/button"; + +.loginbody { + display: block; + position: relative; + overflow-y: auto; + width: 100%; + height: 100%; + background-color: $mainColor; + background-image: $adminBackground; + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + background-attachment: fixed; +} + +input[type="text"], +input[type="password"] { + color: $fontColor; + background: $boxColor; + border: 1px solid $borderColor; + border-radius: 4px; + width: 100%; + padding: 0 10px; +} + +.login-panel { + color: $fontColor; + width: calc(31.25 * 1em); + padding: 30px 30px 90px; + height: auto; + margin: 50px auto; + background: $panelColor; + position: relative; + max-width: 100%; +} + +.password-toggle { + float: right; + margin-left: -25px; + margin-top: 5px; + position: relative; + z-index: 2; +} diff --git a/resources/sass/manual.scss b/src/sass/manual.scss similarity index 93% rename from resources/sass/manual.scss rename to src/sass/manual.scss index 22768042d..bcbcddcec 100644 --- a/resources/sass/manual.scss +++ b/src/sass/manual.scss @@ -1,117 +1,117 @@ -@import "modules/theme"; -@import "partials/basic"; -@import "partials/button"; -@import "partials/fonts"; -@import "partials/toggle"; - -$error: #e74c3c; -$success: #2ecc71; - -.manualwrapper { - display: block; - position: relative; - overflow-y: auto; - width: 100%; - height: 100%; - background-color: $mainColor; - background-image: $adminBackground; - background-position: center center; - background-repeat: no-repeat; - background-size: cover; - background-attachment: fixed; -} - -.manual-panel { - width: calc(40 * 1em); - padding: 30px 30px 90px; - height: auto; - margin: 50px auto; - background: $panelColor; - position: relative; - max-width: 100%; - color: $fontColor; -} - -.panel { - .panel-heading { - padding: 10px; - cursor: pointer; - border: 1px solid $borderColor; - .plus { - display: inline-block; - } - .minus { - display: none; - } - - &:hover { - background: $hoverPanelColor; - } - - } - .panel-body { - display: none; - padding: 20px; - border: 1px solid $borderColor; - } - - &.open { - .panel-heading { - .minus { - display: inline-block; - } - .plus { - display: none; - } - } - } - - &.init { - .panel-body{ - display: block; - } - } -} - -.form-row { - margin-bottom: 15px; -} - -.back-to-pb { - color: $fontColor; - text-decoration: none; - padding: 0 3px; - - &:hover { - background-color: $hoverPanelColor; - } -} - -.faq-btn { - padding-top: 10px; - width: 100%; -} - -.wiki-btn { - cursor: pointer; - background: $mainColor; - color: $buttonFontColor; - width: 100%; - position: absolute; - padding: 20px; - bottom: 0; - left: 0; - right: 0; - transition: background 0.7s ease; - - &:hover { - background: $hoverColor; - } -} - -code { - background-color: #f1f1f1; - color: #606060; - padding: 2px; - font-size: 0.8em; -} +@import "modules/theme"; +@import "partials/basic"; +@import "partials/button"; +@import "partials/fonts"; +@import "partials/toggle"; + +$error: #e74c3c; +$success: #2ecc71; + +.manualwrapper { + display: block; + position: relative; + overflow-y: auto; + width: 100%; + height: 100%; + background-color: $mainColor; + background-image: $adminBackground; + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + background-attachment: fixed; +} + +.manual-panel { + width: calc(40 * 1em); + padding: 30px 30px 90px; + height: auto; + margin: 50px auto; + background: $panelColor; + position: relative; + max-width: 100%; + color: $fontColor; +} + +.panel { + .panel-heading { + padding: 10px; + cursor: pointer; + border: 1px solid $borderColor; + .plus { + display: inline-block; + } + .minus { + display: none; + } + + &:hover { + background: $hoverPanelColor; + } + + } + .panel-body { + display: none; + padding: 20px; + border: 1px solid $borderColor; + } + + &.open { + .panel-heading { + .minus { + display: inline-block; + } + .plus { + display: none; + } + } + } + + &.init { + .panel-body{ + display: block; + } + } +} + +.form-row { + margin-bottom: 15px; +} + +.back-to-pb { + color: $fontColor; + text-decoration: none; + padding: 0 3px; + + &:hover { + background-color: $hoverPanelColor; + } +} + +.faq-btn { + padding-top: 10px; + width: 100%; +} + +.wiki-btn { + cursor: pointer; + background: $mainColor; + color: $buttonFontColor; + width: 100%; + position: absolute; + padding: 20px; + bottom: 0; + left: 0; + right: 0; + transition: background 0.7s ease; + + &:hover { + background: $hoverColor; + } +} + +code { + background-color: #f1f1f1; + color: #606060; + padding: 2px; + font-size: 0.8em; +} diff --git a/resources/sass/modules/_theme.scss b/src/sass/modules/_theme.scss similarity index 100% rename from resources/sass/modules/_theme.scss rename to src/sass/modules/_theme.scss diff --git a/resources/sass/partials/_basic.scss b/src/sass/partials/_basic.scss similarity index 100% rename from resources/sass/partials/_basic.scss rename to src/sass/partials/_basic.scss diff --git a/resources/sass/partials/_button.scss b/src/sass/partials/_button.scss similarity index 100% rename from resources/sass/partials/_button.scss rename to src/sass/partials/_button.scss diff --git a/resources/sass/partials/_fonts.scss b/src/sass/partials/_fonts.scss similarity index 100% rename from resources/sass/partials/_fonts.scss rename to src/sass/partials/_fonts.scss diff --git a/resources/sass/partials/_gallery.scss b/src/sass/partials/_gallery.scss similarity index 100% rename from resources/sass/partials/_gallery.scss rename to src/sass/partials/_gallery.scss diff --git a/resources/sass/partials/_modal.scss b/src/sass/partials/_modal.scss similarity index 100% rename from resources/sass/partials/_modal.scss rename to src/sass/partials/_modal.scss diff --git a/resources/sass/partials/_ribbon.scss b/src/sass/partials/_ribbon.scss similarity index 100% rename from resources/sass/partials/_ribbon.scss rename to src/sass/partials/_ribbon.scss diff --git a/resources/sass/partials/_scrollbar.scss b/src/sass/partials/_scrollbar.scss similarity index 100% rename from resources/sass/partials/_scrollbar.scss rename to src/sass/partials/_scrollbar.scss diff --git a/resources/sass/partials/_sidenav.scss b/src/sass/partials/_sidenav.scss similarity index 100% rename from resources/sass/partials/_sidenav.scss rename to src/sass/partials/_sidenav.scss diff --git a/resources/sass/partials/_toggle.scss b/src/sass/partials/_toggle.scss similarity index 100% rename from resources/sass/partials/_toggle.scss rename to src/sass/partials/_toggle.scss diff --git a/resources/sass/photoswipe-bottom.scss b/src/sass/photoswipe-bottom.scss similarity index 100% rename from resources/sass/photoswipe-bottom.scss rename to src/sass/photoswipe-bottom.scss diff --git a/resources/sass/rounded.scss b/src/sass/rounded.scss similarity index 100% rename from resources/sass/rounded.scss rename to src/sass/rounded.scss diff --git a/resources/sass/slideshow.scss b/src/sass/slideshow.scss similarity index 100% rename from resources/sass/slideshow.scss rename to src/sass/slideshow.scss diff --git a/resources/sass/style.scss b/src/sass/style.scss similarity index 93% rename from resources/sass/style.scss rename to src/sass/style.scss index d1b26f576..0f2487d2f 100644 --- a/resources/sass/style.scss +++ b/src/sass/style.scss @@ -1,442 +1,442 @@ -@import "modules/theme"; -@import "partials/fonts"; -@import "partials/basic"; -@import "partials/button"; -@import "partials/gallery"; -@import "partials/sidenav"; -@import "partials/scrollbar"; -@import "partials/modal"; -@import "partials/ribbon"; -@import "vendor/photoswipe"; - -#wrapper { - display: none; - position: relative; - overflow: hidden; - width: 100%; - height: 100%; - background-color: $mainColor; - background-image: $backgroundImage; - background-position: center center; - background-size: cover; -} - -#result { - width: 100%; - background: center center no-repeat; - background-size: contain; - z-index: 2; -} - -.resultInner { - display: flex; - position: absolute; - bottom: -64px; - left: 0; - right: 0; - justify-content: center; - transition: bottom 0.5s; - z-index: 100; - - &.show { - bottom: 0; - } - - .btn { - width: auto; - padding: 20px 0; - text-align: center; - flex-grow: 1; - max-width: 250px; - margin: initial; - } - @media (max-width: 576px) { - span { - display: none; - } - } -} - -#counter { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - backface-visibility: hidden; - font-size: 12em; - opacity: 0.2; -} - -#counter.tick { - font-size: 1em; - opacity: 1; - transition: font-size 0.75s, opacity 0.75s; -} - -.cheese { - position: absolute; - color: $cheeseColor; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - backface-visibility: hidden; - font-size: 3em; -} - -#loader { - display: none; - align-items: center; - justify-content: center; - background-size: cover; - background-position: center center; - color: $countdownColor; - z-index: 100; - text-align: center; - position: absolute; - top: 0; - left: 0; - - &:after { - content: ''; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: -1; - opacity: 1; - transition: opacity 0.5s; - } - - &.showBackgroundImage { - &:after { - opacity: 0.5; - } - } - - &.open { - display: flex; - } - - .spinner { - color: $cheeseColor; - font-size: 5em; - } -} - -.homebtn { - position: absolute; - right: 0; - top: 0; - font-size: 0.875em; - width: 130px; -} - -.qr { - display: none; - width: 300px; - position: absolute; - left: 0; - top: 0; - background: #fff; - - > * { - display: none; - } - - &.active > *{ - display: block; - } - - p { - margin: 0; - padding: 0 15px; - font-size: 1.6em; - } - - img { - width: 100%; - height: auto; - } -} - -.send-mail { - z-index: 1600; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - background-color: $panelColor; - color: $fontColor; - padding: 25px 15px 15px; - min-width: 250px; - display: none; -} - -#send-mail-close { - position: absolute; - right: 14px; - top: 14px; - font-size: 1.75em; - cursor: pointer; -} - -.mail-form-input { - padding: 15px; - margin: 12px 0; - width: 100%; -} - -input[type="email"] { - color: $fontColor; - background: $boxColor; - border: 1px solid $borderColor; - border-radius: 4px; - width: 100%; - padding: 0 10px; -} - -.spacer { - clear: both; - height: 50px; - width: 100%; -} - -.loading { - font-size: 3.125em; - text-align: center; - width: 100%; - - p { - margin: 0 0 0.2em; - } - - .btn { - font-size: 0.4em; - } -} - -.error { - p { - color: red; - } -} - -.stages { - display: none; - height: 100%; - width: 100%; -} - -hr { - display: block; - height: 0.1em; - border: 0; - border-top: 0.1em solid $startFontColor; - margin: 1em 0; - padding: 0; -} - -hr.small { - width: 50%; - display: block; - margin: auto; -} - -#start { - &.open { - display: flex; - align-items: center; - justify-content: center; - } - - .fs-button { - position: fixed; - top: 5rem; - left: 0; - } - - .gallery-button { - position: fixed; - top: 0; - left: 0; - } - - .cups-button { - position: absolute; - left: 0; - bottom: 0; - } - - .startInner { - background: rgba(0,0,0,0.5); - color: $startFontColor; - text-align: center; - padding: 3rem; - - .names { - margin-top: 2rem; - margin-bottom: 5rem; - } - - .btn { - margin-top: 3px; - width: 80%; - } - - @media (max-width: 1024px) { - padding: 1rem; - - .names { - margin-top: 1rem; - margin-bottom: 2rem; - } - - .btn { - font-size: 0.8em; - margin-top: 1px; - width: 80%; - } - - p, - h1, - h2, - h3 { - margin: 0; - padding: 0 0.9em; - } - - p { - font-size: 0.8em; - } - - h1 { - font-size: 1.6em; - } - - h2 { - font-size: 1.2em; - } - - h3 { - font-size: 0.9em; - } - } - - @media (max-width: 800px) { - .names { - margin-left: 2.5rem; - margin-right: 2.5rem; - } - } - } -} - -.sliderImages { - display: none; - position: fixed; - top: 0; - z-index: 1000000; - background: #000; -} - -.owl-carousel.owl-loaded { - display: none; -} - -.overlay { - display: none; - background-color: #000; - width: 400px; - height: 200px; - position: fixed; - z-index: 1010; - left: 50%; - top: 50%; - right: 0; - bottom: 0; -} - - -#gallery .controls a.close_opengal { - display: none; - right: 30px; - top: 30px; - position: fixed; - z-index: 10000000; - font-size: 3.125em; - text-shadow: 0 2px 0 #000; - color: #fff; -} - -#video--view { - top: 0; - left: 0; - position: fixed; - height: 100%; - width: 100%; - object-fit: cover; -} - -#video--preview { - top: 0; - left: 0; - position: fixed; - height: 100%; - width: 100%; - object-fit: cover; -} - -#ipcam--view { - background-image: none; - background-size: cover; - background-position: center center; - background-repeat: no-repeat; - top: 0; - left: 0; - position: fixed; - height: 100%; - width: 100%; - object-fit: cover; - transform: rotate($ipCamPreviewRotation); - - &.streaming { - background-image: $ipcamBackground; - } -} - -.flip-horizontal { - transform: scaleX(-1); - filter: FlipH; -} - -.chroma-control-bar { - margin-top: 12px; - text-align: center; - - @media (max-width: 576px) { - span { - display: none; - } - } -} - -.triggerPic, -.triggerCollage, -.closeGallery { - padding: 0; - margin: 0; - width: 1px; - height: 1px; -} - -#useBuzzer { - font-size: 2em; - margin-top: 1em; -} - -@media (max-width: 767px){ - .takePic { - bottom: auto; - } -} +@import "modules/theme"; +@import "partials/fonts"; +@import "partials/basic"; +@import "partials/button"; +@import "partials/gallery"; +@import "partials/sidenav"; +@import "partials/scrollbar"; +@import "partials/modal"; +@import "partials/ribbon"; +@import "vendor/photoswipe"; + +#wrapper { + display: none; + position: relative; + overflow: hidden; + width: 100%; + height: 100%; + background-color: $mainColor; + background-image: $backgroundImage; + background-position: center center; + background-size: cover; +} + +#result { + width: 100%; + background: center center no-repeat; + background-size: contain; + z-index: 2; +} + +.resultInner { + display: flex; + position: absolute; + bottom: -64px; + left: 0; + right: 0; + justify-content: center; + transition: bottom 0.5s; + z-index: 100; + + &.show { + bottom: 0; + } + + .btn { + width: auto; + padding: 20px 0; + text-align: center; + flex-grow: 1; + max-width: 250px; + margin: initial; + } + @media (max-width: 576px) { + span { + display: none; + } + } +} + +#counter { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + backface-visibility: hidden; + font-size: 12em; + opacity: 0.2; +} + +#counter.tick { + font-size: 1em; + opacity: 1; + transition: font-size 0.75s, opacity 0.75s; +} + +.cheese { + position: absolute; + color: $cheeseColor; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + backface-visibility: hidden; + font-size: 3em; +} + +#loader { + display: none; + align-items: center; + justify-content: center; + background-size: cover; + background-position: center center; + color: $countdownColor; + z-index: 100; + text-align: center; + position: absolute; + top: 0; + left: 0; + + &:after { + content: ''; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: -1; + opacity: 1; + transition: opacity 0.5s; + } + + &.showBackgroundImage { + &:after { + opacity: 0.5; + } + } + + &.open { + display: flex; + } + + .spinner { + color: $cheeseColor; + font-size: 5em; + } +} + +.homebtn { + position: absolute; + right: 0; + top: 0; + font-size: 0.875em; + width: 130px; +} + +.qr { + display: none; + width: 300px; + position: absolute; + left: 0; + top: 0; + background: #fff; + + > * { + display: none; + } + + &.active > *{ + display: block; + } + + p { + margin: 0; + padding: 0 15px; + font-size: 1.6em; + } + + img { + width: 100%; + height: auto; + } +} + +.send-mail { + z-index: 1600; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background-color: $panelColor; + color: $fontColor; + padding: 25px 15px 15px; + min-width: 250px; + display: none; +} + +#send-mail-close { + position: absolute; + right: 14px; + top: 14px; + font-size: 1.75em; + cursor: pointer; +} + +.mail-form-input { + padding: 15px; + margin: 12px 0; + width: 100%; +} + +input[type="email"] { + color: $fontColor; + background: $boxColor; + border: 1px solid $borderColor; + border-radius: 4px; + width: 100%; + padding: 0 10px; +} + +.spacer { + clear: both; + height: 50px; + width: 100%; +} + +.loading { + font-size: 3.125em; + text-align: center; + width: 100%; + + p { + margin: 0 0 0.2em; + } + + .btn { + font-size: 0.4em; + } +} + +.error { + p { + color: red; + } +} + +.stages { + display: none; + height: 100%; + width: 100%; +} + +hr { + display: block; + height: 0.1em; + border: 0; + border-top: 0.1em solid $startFontColor; + margin: 1em 0; + padding: 0; +} + +hr.small { + width: 50%; + display: block; + margin: auto; +} + +#start { + &.open { + display: flex; + align-items: center; + justify-content: center; + } + + .fs-button { + position: fixed; + top: 5rem; + left: 0; + } + + .gallery-button { + position: fixed; + top: 0; + left: 0; + } + + .cups-button { + position: absolute; + left: 0; + bottom: 0; + } + + .startInner { + background: rgba(0,0,0,0.5); + color: $startFontColor; + text-align: center; + padding: 3rem; + + .names { + margin-top: 2rem; + margin-bottom: 5rem; + } + + .btn { + margin-top: 3px; + width: 80%; + } + + @media (max-width: 1024px) { + padding: 1rem; + + .names { + margin-top: 1rem; + margin-bottom: 2rem; + } + + .btn { + font-size: 0.8em; + margin-top: 1px; + width: 80%; + } + + p, + h1, + h2, + h3 { + margin: 0; + padding: 0 0.9em; + } + + p { + font-size: 0.8em; + } + + h1 { + font-size: 1.6em; + } + + h2 { + font-size: 1.2em; + } + + h3 { + font-size: 0.9em; + } + } + + @media (max-width: 800px) { + .names { + margin-left: 2.5rem; + margin-right: 2.5rem; + } + } + } +} + +.sliderImages { + display: none; + position: fixed; + top: 0; + z-index: 1000000; + background: #000; +} + +.owl-carousel.owl-loaded { + display: none; +} + +.overlay { + display: none; + background-color: #000; + width: 400px; + height: 200px; + position: fixed; + z-index: 1010; + left: 50%; + top: 50%; + right: 0; + bottom: 0; +} + + +#gallery .controls a.close_opengal { + display: none; + right: 30px; + top: 30px; + position: fixed; + z-index: 10000000; + font-size: 3.125em; + text-shadow: 0 2px 0 #000; + color: #fff; +} + +#video--view { + top: 0; + left: 0; + position: fixed; + height: 100%; + width: 100%; + object-fit: cover; +} + +#video--preview { + top: 0; + left: 0; + position: fixed; + height: 100%; + width: 100%; + object-fit: cover; +} + +#ipcam--view { + background-image: none; + background-size: cover; + background-position: center center; + background-repeat: no-repeat; + top: 0; + left: 0; + position: fixed; + height: 100%; + width: 100%; + object-fit: cover; + transform: rotate($ipCamPreviewRotation); + + &.streaming { + background-image: $ipcamBackground; + } +} + +.flip-horizontal { + transform: scaleX(-1); + filter: FlipH; +} + +.chroma-control-bar { + margin-top: 12px; + text-align: center; + + @media (max-width: 576px) { + span { + display: none; + } + } +} + +.triggerPic, +.triggerCollage, +.closeGallery { + padding: 0; + margin: 0; + width: 1px; + height: 1px; +} + +#useBuzzer { + font-size: 2em; + margin-top: 1em; +} + +@media (max-width: 767px){ + .takePic { + bottom: auto; + } +} diff --git a/resources/sass/vendor/_photoswipe.scss b/src/sass/vendor/_photoswipe.scss similarity index 100% rename from resources/sass/vendor/_photoswipe.scss rename to src/sass/vendor/_photoswipe.scss From 38e2b9c92dc9200d21931075edec8410fed9a0b0 Mon Sep 17 00:00:00 2001 From: Andreas Remdt Date: Fri, 31 Jul 2020 19:51:29 +0200 Subject: [PATCH 03/25] Install latest version of simple-translator Install version 2.0.1 of simple translator via CDN Improve usage --- .eslintrc.json | 2 +- admin/index.php | 3 ++- chromakeying.php | 1 + gallery.php | 1 + index.php | 1 + login/index.php | 3 ++- manual/index.php | 3 ++- slideshow/index.php | 3 ++- vendor/simple-translator | 1 - 9 files changed, 12 insertions(+), 6 deletions(-) delete mode 160000 vendor/simple-translator diff --git a/.eslintrc.json b/.eslintrc.json index b10e9b2ca..8dd9e000a 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -298,7 +298,7 @@ }, "overrides": [ { - "files": ["i18n.js", "i18n-sub.js"], + "files": ["i18n.js"], "parserOptions": { "sourceType": "module" } diff --git a/admin/index.php b/admin/index.php index 10785265b..e94b86575 100644 --- a/admin/index.php +++ b/admin/index.php @@ -152,7 +152,8 @@ - + + diff --git a/chromakeying.php b/chromakeying.php index 17648b23c..a60c7d2ee 100644 --- a/chromakeying.php +++ b/chromakeying.php @@ -89,6 +89,7 @@ + diff --git a/gallery.php b/gallery.php index 8fc87897f..2d1124a76 100644 --- a/gallery.php +++ b/gallery.php @@ -89,6 +89,7 @@ + + diff --git a/login/index.php b/login/index.php index f3b3abea5..475773e65 100644 --- a/login/index.php +++ b/login/index.php @@ -99,6 +99,7 @@ - + + diff --git a/manual/index.php b/manual/index.php index 50b8c6dcc..05af6c0d8 100644 --- a/manual/index.php +++ b/manual/index.php @@ -86,7 +86,8 @@ - + + - + + diff --git a/vendor/simple-translator b/vendor/simple-translator deleted file mode 160000 index b6b623e1a..000000000 --- a/vendor/simple-translator +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b6b623e1acf23d97afd35d406347ee56b77ff91d From a61a192f5a884ca9bce264aca170c57eb1e78024 Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Fri, 31 Jul 2020 23:50:23 +0200 Subject: [PATCH 04/25] Add simple-translator as dependencie Change-Id: I78d1cd9aeffc98440d5c431dc2834c75fbff1799 --- admin/index.php | 2 +- chromakeying.php | 2 +- gallery.php | 2 +- index.php | 2 +- login/index.php | 2 +- manual/index.php | 2 +- package.json | 1 + slideshow/index.php | 2 +- yarn.lock | 1043 ++++++++++++++++++++++++++++++++++++++++++- 9 files changed, 1044 insertions(+), 14 deletions(-) diff --git a/admin/index.php b/admin/index.php index e94b86575..0224b29b3 100644 --- a/admin/index.php +++ b/admin/index.php @@ -152,7 +152,7 @@ - + diff --git a/chromakeying.php b/chromakeying.php index a60c7d2ee..809066706 100644 --- a/chromakeying.php +++ b/chromakeying.php @@ -89,7 +89,7 @@ - + diff --git a/gallery.php b/gallery.php index 2d1124a76..27c3b579b 100644 --- a/gallery.php +++ b/gallery.php @@ -89,7 +89,7 @@ - + - + diff --git a/login/index.php b/login/index.php index 475773e65..193ebe1cc 100644 --- a/login/index.php +++ b/login/index.php @@ -99,7 +99,7 @@ - + diff --git a/manual/index.php b/manual/index.php index 05af6c0d8..81c20dcee 100644 --- a/manual/index.php +++ b/manual/index.php @@ -86,7 +86,7 @@ - + - + diff --git a/yarn.lock b/yarn.lock index 75e95d818..e71ca2f94 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@andreasremdt/simple-translator@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@andreasremdt/simple-translator/-/simple-translator-2.0.1.tgz#ffeb1f57ad46ef307e6e40eaf94e5f6d8159e9f1" + integrity sha512-E8TCaZgrNzhxo/CsLdh5rSdKMhdDHizV8E83Rhp46kvGSrDbk2qHi0yKX3e/A1EVs3kgUfmDEOn7bSjhkWj8Jw== + "@babel/code-frame@^7.0.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" @@ -9,11 +14,267 @@ dependencies: "@babel/highlight" "^7.8.3" +"@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c" + integrity sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ== + dependencies: + browserslist "^4.12.0" + invariant "^2.2.4" + semver "^5.5.0" + +"@babel/core@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.0.tgz#73b9c33f1658506887f767c26dae07798b30df76" + integrity sha512-mkLq8nwaXmDtFmRkQ8ED/eA2CnVw4zr7dCztKalZXBvdK5EeNUAesrrwUqjQEzFgomJssayzB0aqlOsP1vGLqg== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.0" + "@babel/helper-module-transforms" "^7.11.0" + "@babel/helpers" "^7.10.4" + "@babel/parser" "^7.11.0" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.11.0" + "@babel/types" "^7.11.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c" + integrity sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ== + dependencies: + "@babel/types" "^7.11.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" + integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" + integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-compilation-targets@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2" + integrity sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ== + dependencies: + "@babel/compat-data" "^7.10.4" + browserslist "^4.12.0" + invariant "^2.2.4" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/helper-create-class-features-plugin@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" + integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.10.5" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + +"@babel/helper-create-regexp-features-plugin@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8" + integrity sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + regexpu-core "^4.7.0" + +"@babel/helper-define-map@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" + integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/types" "^7.10.5" + lodash "^4.17.19" + +"@babel/helper-explode-assignable-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c" + integrity sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A== + dependencies: + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-hoist-variables@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" + integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" + integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-module-imports@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" + integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" + integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-simple-access" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/template" "^7.10.4" + "@babel/types" "^7.11.0" + lodash "^4.17.19" + +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" + integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + +"@babel/helper-regex@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" + integrity sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg== + dependencies: + lodash "^4.17.19" + +"@babel/helper-remap-async-to-generator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz#fce8bea4e9690bbe923056ded21e54b4e8b68ed5" + integrity sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-wrap-function" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-replace-supers@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" + integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-simple-access@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" + integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== + dependencies: + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-skip-transparent-expression-wrappers@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729" + integrity sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q== + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + "@babel/helper-validator-identifier@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed" integrity sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw== +"@babel/helper-wrap-function@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" + integrity sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helpers@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" + integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/highlight@^7.8.3": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" @@ -23,6 +284,578 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/parser@^7.10.4", "@babel/parser@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.0.tgz#a9d7e11aead25d3b422d17b2c6502c8dddef6a5d" + integrity sha512-qvRvi4oI8xii8NllyEc4MDJjuZiNaRzyb7Y7lup1NqJV8TZHF4O27CcP+72WPn/k1zkgJ6WJfnIbk4jTsVAZHw== + +"@babel/plugin-proposal-async-generator-functions@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" + integrity sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.10.4" + "@babel/plugin-syntax-async-generators" "^7.8.0" + +"@babel/plugin-proposal-class-properties@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807" + integrity sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-dynamic-import@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e" + integrity sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + +"@babel/plugin-proposal-export-namespace-from@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54" + integrity sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db" + integrity sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-logical-assignment-operators@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz#9f80e482c03083c87125dee10026b58527ea20c8" + integrity sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a" + integrity sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06" + integrity sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af" + integrity sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.10.4" + +"@babel/plugin-proposal-optional-catch-binding@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd" + integrity sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz#de5866d0646f6afdaab8a566382fe3a221755076" + integrity sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-private-methods@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909" + integrity sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" + integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" + integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-dynamic-import@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d" + integrity sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-arrow-functions@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd" + integrity sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-async-to-generator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37" + integrity sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.10.4" + +"@babel/plugin-transform-block-scoped-functions@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8" + integrity sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-block-scoping@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.5.tgz#b81b8aafefbfe68f0f65f7ef397b9ece68a6037d" + integrity sha512-6Ycw3hjpQti0qssQcA6AMSFDHeNJ++R6dIMnpRqUjFeBBTmTDPa8zgF90OVfTvAo11mXZTlVUViY1g8ffrURLg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-classes@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7" + integrity sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-define-map" "^7.10.4" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb" + integrity sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-destructuring@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5" + integrity sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee" + integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-duplicate-keys@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47" + integrity sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-exponentiation-operator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e" + integrity sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-for-of@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9" + integrity sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7" + integrity sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-literals@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c" + integrity sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7" + integrity sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-modules-amd@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1" + integrity sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw== + dependencies: + "@babel/helper-module-transforms" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0" + integrity sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w== + dependencies: + "@babel/helper-module-transforms" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-simple-access" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85" + integrity sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw== + dependencies: + "@babel/helper-hoist-variables" "^7.10.4" + "@babel/helper-module-transforms" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e" + integrity sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA== + dependencies: + "@babel/helper-module-transforms" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6" + integrity sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + +"@babel/plugin-transform-new-target@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888" + integrity sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-object-super@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894" + integrity sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + +"@babel/plugin-transform-parameters@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a" + integrity sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-property-literals@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0" + integrity sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-regenerator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63" + integrity sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd" + integrity sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-shorthand-properties@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6" + integrity sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-spread@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc" + integrity sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" + +"@babel/plugin-transform-sticky-regex@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d" + integrity sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + +"@babel/plugin-transform-template-literals@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c" + integrity sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-typeof-symbol@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc" + integrity sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-escapes@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007" + integrity sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-regex@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8" + integrity sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/preset-env@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.0.tgz#860ee38f2ce17ad60480c2021ba9689393efb796" + integrity sha512-2u1/k7rG/gTh02dylX2kL3S0IJNF+J6bfDSp4DI2Ma8QN6Y9x9pmAax59fsCk6QUQG0yqH47yJWA+u1I1LccAg== + dependencies: + "@babel/compat-data" "^7.11.0" + "@babel/helper-compilation-targets" "^7.10.4" + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-proposal-async-generator-functions" "^7.10.4" + "@babel/plugin-proposal-class-properties" "^7.10.4" + "@babel/plugin-proposal-dynamic-import" "^7.10.4" + "@babel/plugin-proposal-export-namespace-from" "^7.10.4" + "@babel/plugin-proposal-json-strings" "^7.10.4" + "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4" + "@babel/plugin-proposal-numeric-separator" "^7.10.4" + "@babel/plugin-proposal-object-rest-spread" "^7.11.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" + "@babel/plugin-proposal-optional-chaining" "^7.11.0" + "@babel/plugin-proposal-private-methods" "^7.10.4" + "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.10.4" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.10.4" + "@babel/plugin-transform-arrow-functions" "^7.10.4" + "@babel/plugin-transform-async-to-generator" "^7.10.4" + "@babel/plugin-transform-block-scoped-functions" "^7.10.4" + "@babel/plugin-transform-block-scoping" "^7.10.4" + "@babel/plugin-transform-classes" "^7.10.4" + "@babel/plugin-transform-computed-properties" "^7.10.4" + "@babel/plugin-transform-destructuring" "^7.10.4" + "@babel/plugin-transform-dotall-regex" "^7.10.4" + "@babel/plugin-transform-duplicate-keys" "^7.10.4" + "@babel/plugin-transform-exponentiation-operator" "^7.10.4" + "@babel/plugin-transform-for-of" "^7.10.4" + "@babel/plugin-transform-function-name" "^7.10.4" + "@babel/plugin-transform-literals" "^7.10.4" + "@babel/plugin-transform-member-expression-literals" "^7.10.4" + "@babel/plugin-transform-modules-amd" "^7.10.4" + "@babel/plugin-transform-modules-commonjs" "^7.10.4" + "@babel/plugin-transform-modules-systemjs" "^7.10.4" + "@babel/plugin-transform-modules-umd" "^7.10.4" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4" + "@babel/plugin-transform-new-target" "^7.10.4" + "@babel/plugin-transform-object-super" "^7.10.4" + "@babel/plugin-transform-parameters" "^7.10.4" + "@babel/plugin-transform-property-literals" "^7.10.4" + "@babel/plugin-transform-regenerator" "^7.10.4" + "@babel/plugin-transform-reserved-words" "^7.10.4" + "@babel/plugin-transform-shorthand-properties" "^7.10.4" + "@babel/plugin-transform-spread" "^7.11.0" + "@babel/plugin-transform-sticky-regex" "^7.10.4" + "@babel/plugin-transform-template-literals" "^7.10.4" + "@babel/plugin-transform-typeof-symbol" "^7.10.4" + "@babel/plugin-transform-unicode-escapes" "^7.10.4" + "@babel/plugin-transform-unicode-regex" "^7.10.4" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.11.0" + browserslist "^4.12.0" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/preset-modules@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" + integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/runtime@^7.8.4": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.0.tgz#f10245877042a815e07f7e693faff0ae9d3a2aac" + integrity sha512-qArkXsjJq7H+T86WrIFV0Fnu/tNOkZ4cgXmjkzAu3b/58D5mFIO8JH/y77t7C9q0OdDRdh9s7Ue5GasYssxtXw== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24" + integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.0" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.11.0" + "@babel/types" "^7.11.0" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + +"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.4.4": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d" + integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" @@ -342,6 +1175,13 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + bach@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" @@ -439,6 +1279,16 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" +browserslist@^4.12.0, browserslist@^4.8.5: + version "4.13.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.13.0.tgz#42556cba011e1b0a2775b611cba6a8eca18e940d" + integrity sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ== + dependencies: + caniuse-lite "^1.0.30001093" + electron-to-chromium "^1.3.488" + escalade "^3.0.1" + node-releases "^1.1.58" + buffer-crc32@^0.2.1, buffer-crc32@^0.2.13: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -500,6 +1350,11 @@ camelcase@^3.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= +caniuse-lite@^1.0.30001093: + version "1.0.30001109" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001109.tgz#a9f3f26a0c3753b063d7acbb48dfb9c0e46f2b19" + integrity sha512-4JIXRodHzdS3HdK8nSgIqXYLExOvG+D2/EenSvcub2Kp3QEADjo2v2oUn5g0n0D+UNwG9BtwKOyGcSq2qvQXvQ== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -715,7 +1570,7 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -convert-source-map@^1.5.0: +convert-source-map@^1.5.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== @@ -735,6 +1590,14 @@ copy-props@^2.0.1: each-props "^1.3.0" is-plain-object "^2.0.1" +core-js-compat@^3.6.2: + version "3.6.5" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" + integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== + dependencies: + browserslist "^4.8.5" + semver "7.0.0" + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -803,7 +1666,7 @@ debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@^4.0.1: +debug@^4.0.1, debug@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== @@ -914,6 +1777,11 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" +electron-to-chromium@^1.3.488: + version "1.3.516" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.516.tgz#03ec071b061e462b786bf7e7ce226fd7ab7cf1f6" + integrity sha512-WDM5AAQdOrvLqSX8g3Zd5AujBXfMxf96oeZkff0U2HF5op3tjShE+on2yay3r1UD4M9I3p0iHpAS4+yV8U8A9A== + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -974,6 +1842,11 @@ es6-weak-map@^2.0.1: es6-iterator "^2.0.3" es6-symbol "^3.1.1" +escalade@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" + integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ== + escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -1390,6 +2263,11 @@ gaze@^1.0.0: dependencies: globule "^1.0.0" +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -1512,6 +2390,11 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + globals@^12.1.0: version "12.4.0" resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" @@ -1540,6 +2423,16 @@ graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== +gulp-babel@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/gulp-babel/-/gulp-babel-8.0.0.tgz#e0da96f4f2ec4a88dd3a3030f476e38ab2126d87" + integrity sha512-oomaIqDXxFkg7lbpBou/gnUkX51/Y/M2ZfSjL2hdqXTAlSWZcgZtd2o0cOH0r/eE8LWD0+Q/PsLsr2DKOoqToQ== + dependencies: + plugin-error "^1.0.1" + replace-ext "^1.0.0" + through2 "^2.0.0" + vinyl-sourcemaps-apply "^0.2.0" + gulp-cli@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.2.0.tgz#5533126eeb7fe415a7e3e84a297d334d5cf70ebc" @@ -1771,6 +2664,13 @@ interpret@^1.1.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" @@ -2000,7 +2900,7 @@ js-base64@^2.1.8: resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209" integrity sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ== -js-tokens@^4.0.0: +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== @@ -2018,6 +2918,16 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -2038,6 +2948,13 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -2106,6 +3023,18 @@ lead@^1.0.0: dependencies: flush-write-stream "^1.0.2" +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levenary@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== + dependencies: + leven "^3.1.0" + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -2169,11 +3098,18 @@ lodash.union@^4.6.0: resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= -lodash@^4.0.0, lodash@^4.17.14, lodash@^4.17.15, lodash@~4.17.12: +lodash@^4.0.0, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@~4.17.12: version "4.17.19" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -2382,6 +3318,11 @@ node-gyp@^3.8.0: tar "^2.0.0" which "1" +node-releases@^1.1.58: + version "1.1.60" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" + integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== + node-sass@^4.8.3: version "4.13.1" resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.1.tgz#9db5689696bb2eec2c32b98bfea4c7a2e992d0a3" @@ -2492,7 +3433,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.0.4: +object.assign@^4.0.4, object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== @@ -2840,6 +3781,30 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" + integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== + +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -2853,6 +3818,30 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== +regexpu-core@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" + integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + dependencies: + jsesc "~0.5.0" + remove-bom-buffer@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" @@ -2974,6 +3963,13 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.4.0: dependencies: path-parse "^1.0.6" +resolve@^1.3.2: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -3062,11 +4058,16 @@ semver-greatest-satisfied-range@^1.1.0: dependencies: sver-compat "^1.5.0" -"semver@2 || 3 || 4 || 5", semver@^5.5.0: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + semver@^6.1.2: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -3171,7 +4172,7 @@ source-map@^0.4.2: dependencies: amdefine ">=0.0.4" -source-map@^0.5.1, source-map@^0.5.6: +source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -3463,6 +4464,11 @@ to-absolute-glob@^2.0.0: is-absolute "^1.0.0" is-negated-glob "^1.0.0" +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" @@ -3589,6 +4595,29 @@ undertaker@^1.2.1: object.reduce "^1.0.0" undertaker-registry "^1.0.0" +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" From 9778e58bebf476e437aefc4608722d6ee05e2e3e Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Sat, 1 Aug 2020 09:05:51 +0200 Subject: [PATCH 05/25] eslint: changed path to src/js, run eslint --fix Change-Id: I5b290222857f98761451c9c2e6ebfbadf30f9059 --- package.json | 4 ++-- src/js/i18n.js | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 16629670a..7a195c64b 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,8 @@ "build": "gulp", "watch": "gulp watch", "test": "echo \"Error: no test specified\" && exit 1", - "eslint": "eslint resources/js/*.js", - "eslint:fix": "eslint resources/js/*.js --fix", + "eslint": "eslint src/js/*.js", + "eslint:fix": "eslint src/js/*.js --fix", "pack:build": "node scripts/pack-build.js", "build:faq": "node_modules/gh-markdown-cli/bin/mdown --input 'faq/*.md' --output manual --header faq/header.html --footer faq/footer.html" }, diff --git a/src/js/i18n.js b/src/js/i18n.js index 7f871943d..5c44e8ff8 100644 --- a/src/js/i18n.js +++ b/src/js/i18n.js @@ -1,3 +1,4 @@ +/* globals Translator */ const translator = new Translator({ persist: false, defaultLanguage: 'en', @@ -7,6 +8,12 @@ const translator = new Translator({ debug: true }); -translator.fetch(['de', 'en', 'es', 'el', 'fr']).then(() => { +translator.fetch([ + 'de', + 'en', + 'es', + 'el', + 'fr' +]).then(() => { translator.translatePageTo(); -}); \ No newline at end of file +}); From 91b9766214c4d1478473e3e808baa1411297dc4e Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Sat, 1 Aug 2020 09:19:20 +0200 Subject: [PATCH 06/25] .gitignore: ignore transpiled js files inside resources/js/ Change-Id: I06c568cb6966024816ce90986d5beed1c75ab4bc --- .gitignore | 1 + resources/js/admin.js | 104 -- resources/js/adminshortcut.js | 18 - resources/js/chromakeying.js | 209 ---- resources/js/core.js | 746 ------------- resources/js/i18n.js | 13 - resources/js/login.js | 17 - resources/js/photoinit.js | 217 ---- resources/js/slideshow.js | 14 - resources/js/theme.js | 25 - resources/js/vendor/CSSPlugin.min.js | 1232 ---------------------- resources/js/vendor/EasePack.min.js | 170 --- resources/js/vendor/TweenLite.min.js | 919 ---------------- resources/js/vendor/jquery.easing.1.3.js | 227 ---- resources/js/vendor/jquery.gsap.min.js | 135 --- 15 files changed, 1 insertion(+), 4046 deletions(-) delete mode 100644 resources/js/admin.js delete mode 100644 resources/js/adminshortcut.js delete mode 100644 resources/js/chromakeying.js delete mode 100644 resources/js/core.js delete mode 100644 resources/js/i18n.js delete mode 100644 resources/js/login.js delete mode 100644 resources/js/photoinit.js delete mode 100644 resources/js/slideshow.js delete mode 100644 resources/js/theme.js delete mode 100644 resources/js/vendor/CSSPlugin.min.js delete mode 100644 resources/js/vendor/EasePack.min.js delete mode 100644 resources/js/vendor/TweenLite.min.js delete mode 100644 resources/js/vendor/jquery.easing.1.3.js delete mode 100644 resources/js/vendor/jquery.gsap.min.js diff --git a/.gitignore b/.gitignore index 949ba4b50..cc65fa797 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ digicamcontrol/ node_modules/ package-lock.json resources/css/ +resources/js/ stats trash .sass-cache diff --git a/resources/js/admin.js b/resources/js/admin.js deleted file mode 100644 index 59e77a2a2..000000000 --- a/resources/js/admin.js +++ /dev/null @@ -1,104 +0,0 @@ -"use strict"; - -/* globals i18n */ -$(function () { - $('.panel-heading').on('click', function () { - var panel = $(this).parents('.panel'); - var others = $(this).parents('.accordion').find('.open').not(panel); - others.removeClass('open init'); - panel.toggleClass('open'); - panel.find('.panel-body').slideToggle(); - others.find('.panel-body').slideUp('fast'); - }); - $('.reset-btn').on('click', function () { - var msg = i18n('really_delete'); - var really = confirm(msg); - var data = { - 'type': 'reset' - }; - var elem = $(this); - elem.addClass('saving'); - - if (really) { - $.ajax({ - 'url': '../api/admin.php', - 'data': data, - 'dataType': 'json', - 'type': 'post', - 'success': function success(resp) { - elem.removeClass('saving'); - elem.addClass(resp); - setTimeout(function () { - elem.removeClass('error success'); - window.location.reload(); - }, 3000); - } - }); - } - }); - $('.save-btn').on('click', function (e) { - e.preventDefault(); - var elem = $(this); - elem.addClass('saving'); - var data = 'type=config&' + $('form').serialize(); - $.ajax({ - 'url': '../api/admin.php', - 'data': data, - 'dataType': 'json', - 'type': 'post', - 'success': function success(resp) { - elem.removeClass('saving'); - elem.addClass(resp); - setTimeout(function () { - elem.removeClass('error success'); - - if (resp === 'success') { - window.location.reload(); - } - }, 2000); - } - }); - }); - $('#checkVersion a').on('click', function (ev) { - ev.preventDefault(); - $(this).html(''); - $.ajax({ - url: '../api/checkVersion.php', - method: 'GET', - success: function success(data) { - var message = 'Error'; - $('#checkVersion').empty(); - console.log('data', data); - - if (!data.updateAvailable) { - message = i18n('using_latest_version'); - } else if (/^[0-9]+\.[0-9]+\.[0-9]+$/.test(data.availableVersion)) { - message = i18n('update_available'); - } else { - message = i18n('test_update_available'); - } - - var textElement = $('

'); - textElement.text(message); - textElement.append('
'); - textElement.append(i18n('current_version') + ': '); - textElement.append(data.currentVersion); - textElement.append('
'); - textElement.append(i18n('available_version') + ': '); - textElement.append(data.availableVersion); - textElement.appendTo('#checkVersion'); - } - }); - }); - $('option').mousedown(function (e) { - e.preventDefault(); - var originalScrollTop = $(this).parent().scrollTop(); - $(this).prop('selected', !$(this).prop('selected')); - var that = this; - $(this).parent().focus(); - setTimeout(function () { - $(that).parent().scrollTop(originalScrollTop); - }, 0); - return false; - }); -}); \ No newline at end of file diff --git a/resources/js/adminshortcut.js b/resources/js/adminshortcut.js deleted file mode 100644 index 7ccc124a1..000000000 --- a/resources/js/adminshortcut.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; - -/* exported adminsettings */ -var admincount = 0; - -function countreset() { - admincount = 0; -} - -function adminsettings() { - if (admincount == 3) { - window.location.href = 'admin/index.php'; - } - - console.log(admincount); - admincount++; - setTimeout(countreset, 10000); -} \ No newline at end of file diff --git a/resources/js/chromakeying.js b/resources/js/chromakeying.js deleted file mode 100644 index 5497205b3..000000000 --- a/resources/js/chromakeying.js +++ /dev/null @@ -1,209 +0,0 @@ -"use strict"; - -/* globals MarvinColorModelConverter AlphaBoundary MarvinImage */ - -/* exported setBackgroundImage */ -var mainImage; -var mainImageWidth; -var mainImageHeight; -var backgroundImage; - -function greenToTransparency(imageIn, imageOut) { - for (var y = 0; y < imageIn.getHeight(); y++) { - for (var x = 0; x < imageIn.getWidth(); x++) { - var color = imageIn.getIntColor(x, y); - var hsv = MarvinColorModelConverter.rgbToHsv([color]); - - if (hsv[0] >= 60 && hsv[0] <= 200 && hsv[1] >= 0.2 && hsv[2] >= 0.2) { - imageOut.setIntColor(x, y, 0, 127, 127, 127); - } else { - imageOut.setIntColor(x, y, color); - } - } - } -} - -function reduceGreen(image) { - for (var y = 0; y < image.getHeight(); y++) { - for (var x = 0; x < image.getWidth(); x++) { - var r = image.getIntComponent0(x, y); - var g = image.getIntComponent1(x, y); - var b = image.getIntComponent2(x, y); - var color = image.getIntColor(x, y); - var hsv = MarvinColorModelConverter.rgbToHsv([color]); - - if (hsv[0] >= 60 && hsv[0] <= 130 && hsv[1] >= 0.15 && hsv[2] >= 0.15) { - if (r * b != 0 && g * g / (r * b) > 1.5) { - image.setIntColor(x, y, 255, r * 1.4, g, b * 1.4); - } else { - image.setIntColor(x, y, 255, r * 1.2, g, b * 1.2); - } - } - } - } -} - -function alphaBoundary(imageOut, radius) { - var ab = new AlphaBoundary(); - - for (var y = 0; y < imageOut.getHeight(); y++) { - for (var x = 0; x < imageOut.getWidth(); x++) { - ab.alphaRadius(imageOut, x, y, radius); - } - } -} - -function setMainImage(imgSrc) { - var image = new MarvinImage(); - image.load(imgSrc, function () { - mainImageWidth = image.getWidth(); - mainImageHeight = image.getHeight(); - var imageOut = new MarvinImage(image.getWidth(), image.getHeight()); //1. Convert green to transparency - - greenToTransparency(image, imageOut); // 2. Reduce remaining green pixels - - reduceGreen(imageOut); // 3. Apply alpha to the boundary - - alphaBoundary(imageOut, 6); - var tmpCanvas = document.createElement('canvas'); - tmpCanvas.width = mainImageWidth; - tmpCanvas.height = mainImageHeight; - imageOut.draw(tmpCanvas); - mainImage = new Image(); - mainImage.src = tmpCanvas.toDataURL('image/png'); - - mainImage.onload = function () { - drawCanvas(); - }; - }); -} - -function setBackgroundImage(url) { - backgroundImage = new Image(); - backgroundImage.src = url; - - backgroundImage.onload = function () { - drawCanvas(); - }; -} - -function drawCanvas() { - var canvas = document.getElementById('mainCanvas'); - - if (typeof mainImage !== 'undefined' && mainImage !== null) { - canvas.width = mainImage.width; - canvas.height = mainImage.height; - } else if (typeof backgroundImage !== 'undefined' && backgroundImage !== null) { - canvas.width = backgroundImage.width; - canvas.height = backgroundImage.height; - } - - var ctx = canvas.getContext ? canvas.getContext('2d') : null; - ctx.clearRect(0, 0, canvas.width, canvas.height); - - if (typeof backgroundImage !== 'undefined' && backgroundImage !== null) { - if (typeof mainImage !== 'undefined' && mainImage !== null) { - var size = calculateAspectRatioFit(backgroundImage.width, backgroundImage.height, mainImage.width, mainImage.height); - ctx.drawImage(backgroundImage, 0, 0, size.width, size.height); - } else { - ctx.drawImage(backgroundImage, 0, 0, backgroundImage.width, backgroundImage.height); - } - } - - if (typeof mainImage !== 'undefined' && mainImage !== null) { - ctx.drawImage(mainImage, 0, 0); - } -} - -function calculateAspectRatioFit(srcWidth, srcHeight, maxWidth, maxHeight) { - var ratio = Math.max(maxWidth / srcWidth, maxHeight / srcHeight); - return { - width: srcWidth * ratio, - height: srcHeight * ratio - }; -} - -function printImage(filename, cb) { - console.log('print', filename); - $.get('api/print.php', { - filename: filename - }, function (data) { - console.log('print data', data); - - if (cb) { - cb(data); - } - }); -} - -function saveImage(cb) { - var canvas = document.getElementById('mainCanvas'); - var dataURL = canvas.toDataURL('image/png'); - $.post('api/chromakeying/save.php', { - imgData: dataURL - }, function (data) { - if (cb) { - cb(data); - } - }); -} - -function printImageHandler(ev) { - ev.preventDefault(); - $('#print_mesg').addClass('modal--show'); - setTimeout(function () { - saveImage(function (data) { - if (!data.success) { - return; - } - - printImage(data.filename, function () { - setTimeout(function () { - $('#print_mesg').removeClass('modal--show'); - $('#print-btn').blur(); - }, 5000); - }); - }); - }, 1000); -} - -function saveImageHandler(ev) { - ev.preventDefault(); - $('#save_mesg').addClass('modal--show'); - setTimeout(function () { - saveImage(function () { - setTimeout(function () { - $('#save_mesg').removeClass('modal--show'); - $('#save-btn').blur(); - }, 2000); - }); - }, 1000); -} - -function closeHandler(ev) { - ev.preventDefault(); - - if (document.referrer) { - window.location = document.referrer; - } else { - window.history.back(); - } -} - -$(document).ready(function () { - $('#save-btn').on('click', saveImageHandler); - $('#print-btn').on('click', printImageHandler); - $('#close-btn').on('click', closeHandler); - setTimeout(function () { - setMainImage($('body').attr('data-main-image')); - }, 100); // we don't want to scroll on small or horizontal devices - - var windowHeight = $(window).innerHeight(); - var bottomLine = $('.chroma-control-bar').position().top + $('.chroma-control-bar').outerHeight(true); - var diff = bottomLine - windowHeight; - - if (diff > 0) { - var canvasHeight = $('#mainCanvas').height(); - $('#mainCanvas').css('height', canvasHeight - diff + 'px'); - } -}); \ No newline at end of file diff --git a/resources/js/core.js b/resources/js/core.js deleted file mode 100644 index 3af35ea5d..000000000 --- a/resources/js/core.js +++ /dev/null @@ -1,746 +0,0 @@ -"use strict"; - -/* globals initPhotoSwipeFromDOM i18n */ -var photoBooth = function () { - // vars - var api = {}, - loader = $('#loader'), - startPage = $('#start'), - wrapper = $('#wrapper'), - timeToLive = config.time_to_live, - gallery = $('#gallery'), - resultPage = $('#result'), - webcamConstraints = { - audio: false, - video: { - width: config.videoWidth, - height: config.videoHeight, - facingMode: config.camera_mode - } - }, - videoView = $('#video--view').get(0), - videoPreview = $('#video--preview').get(0), - videoSensor = document.querySelector('#video--sensor'); - var timeOut, - takingPic = false, - nextCollageNumber = 0, - currentCollageFile = '', - imgFilter = config.default_imagefilter; - var modal = { - open: function open(selector) { - $(selector).addClass('modal--show'); - }, - close: function close(selector) { - if ($(selector).hasClass('modal--show')) { - $(selector).removeClass('modal--show'); - return true; - } - - return false; - }, - toggle: function toggle(selector) { - $(selector).toggleClass('modal--show'); - }, - empty: function empty(selector) { - modal.close(selector); - $(selector).find('.modal__body').empty(); - } - }; - - api.reloadPage = function () { - window.location.reload(); - }; // timeOut function - - - api.resetTimeOut = function () { - clearTimeout(timeOut); - timeOut = setTimeout(function () { - api.reloadPage(); - }, timeToLive); - }; // reset whole thing - - - api.reset = function () { - loader.removeClass('open'); - loader.removeClass('error'); - modal.empty('#qrCode'); - $('.qrbtn').removeClass('active').attr('style', ''); - $('.loading').text(''); - gallery.removeClass('gallery--open'); - gallery.find('.gallery__inner').hide(); - $('.spinner').hide(); - $('.send-mail').hide(); - $('#video--view').hide(); - $('#video--preview').hide(); - $('#video--sensor').hide(); - $('#ipcam--view').hide(); - api.resetMailForm(); - $('#loader').css('background', config.colors.background_countdown); - $('#loader').css('background-color', config.colors.background_countdown); - }; // init - - - api.init = function () { - api.reset(); - initPhotoSwipeFromDOM('#galimages'); - resultPage.hide(); - startPage.addClass('open'); - - if (config.previewCamBackground) { - api.startVideo('preview'); - } - }; - - api.openNav = function () { - $('#mySidenav').addClass('sidenav--open'); - }; - - api.closeNav = function () { - $('#mySidenav').removeClass('sidenav--open'); - }; - - api.toggleNav = function () { - $('#mySidenav').toggleClass('sidenav--open'); - }; - - api.startVideo = function (mode) { - if (config.previewCamBackground) { - api.stopVideo('preview'); - } - - if (!navigator.mediaDevices) { - return; - } - - var getMedia = navigator.mediaDevices.getUserMedia || navigator.mediaDevices.webkitGetUserMedia || navigator.mediaDevices.mozGetUserMedia || false; - - if (!getMedia) { - return; - } - - if (config.previewCamFlipHorizontal) { - $('#video--view').addClass('flip-horizontal'); - $('#video--preview').addClass('flip-horizontal'); - } - - getMedia.call(navigator.mediaDevices, webcamConstraints).then(function (stream) { - if (mode === 'preview') { - $('#video--preview').show(); - videoPreview.srcObject = stream; - api.stream = stream; - wrapper.css('background-image', 'none'); - wrapper.css('background-color', 'transparent'); - } else { - $('#video--view').show(); - videoView.srcObject = stream; - } - - api.stream = stream; - })["catch"](function (error) { - console.log('Could not get user media: ', error); - }); - }; - - api.stopVideo = function (mode) { - if (api.stream) { - var track = api.stream.getTracks()[0]; - track.stop(); - - if (mode === 'preview') { - $('#video--preview').hide(); - } else { - $('#video--view').hide(); - } - } - }; - - api.thrill = function (photoStyle) { - api.closeNav(); - api.reset(); - takingPic = true; - - if (config.dev) { - console.log('Taking photo:', takingPic); - } - - if (config.previewCamBackground) { - wrapper.css('background-color', config.colors.panel); - } - - if (currentCollageFile && nextCollageNumber) { - photoStyle = 'collage'; - } - - if (config.previewFromCam) { - api.startVideo('view'); - } - - if (config.previewFromIPCam) { - $('#ipcam--view').show(); - $('#ipcam--view').addClass('streaming'); - } - - loader.addClass('open'); - api.startCountdown(nextCollageNumber ? config.collage_cntdwn_time : config.cntdwn_time, $('#counter'), function () { - api.cheese(photoStyle); - }); - }; // Cheese - - - api.cheese = function (photoStyle) { - if (config.dev) { - console.log(photoStyle); - } - - $('#counter').empty(); - $('.cheese').empty(); - - if (photoStyle === 'photo') { - var cheesemsg = i18n('cheese'); - $('.cheese').text(cheesemsg); - } else { - var _cheesemsg = i18n('cheeseCollage'); - - $('.cheese').text(_cheesemsg); - $('

').text("".concat(nextCollageNumber + 1, " / ").concat(config.collage_limit)).appendTo('.cheese'); - } - - if (config.previewFromCam && config.previewCamTakesPic && !api.stream && !config.dev) { - console.log('No preview by device cam available!'); - - if (config.previewFromIPCam) { - $('#ipcam--view').removeClass('streaming'); - $('#ipcam--view').hide(); - } - - api.errorPic({ - error: 'No preview by device cam available!' - }); - } else { - setTimeout(function () { - api.takePic(photoStyle); - }, config.cheese_time); - } - }; // take Picture - - - api.takePic = function (photoStyle) { - if (config.dev) { - console.log('Take Picture:' + photoStyle); - } - - if (config.previewFromCam) { - if (config.previewCamTakesPic && !config.dev) { - videoSensor.width = videoView.videoWidth; - videoSensor.height = videoView.videoHeight; - videoSensor.getContext('2d').drawImage(videoView, 0, 0); - } - - api.stopVideo('view'); - } - - if (config.previewFromIPCam) { - $('#ipcam--view').removeClass('streaming'); - $('#ipcam--view').hide(); - } - - var data = { - filter: imgFilter, - style: photoStyle, - canvasimg: videoSensor.toDataURL('image/jpeg') - }; - - if (photoStyle === 'collage') { - data.file = currentCollageFile; - data.collageNumber = nextCollageNumber; - } - - loader.css('background', config.colors.panel); - loader.css('background-color', config.colors.panel); - jQuery.post('api/takePic.php', data).done(function (result) { - console.log('took picture', result); - $('.cheese').empty(); - - if (config.previewCamFlipHorizontal) { - $('#video--view').removeClass('flip-horizontal'); - $('#video--preview').removeClass('flip-horizontal'); - } // reset filter (selection) after picture was taken - - - imgFilter = config.default_imagefilter; - $('#mySidenav .activeSidenavBtn').removeClass('activeSidenavBtn'); - $('#' + imgFilter).addClass('activeSidenavBtn'); - - if (result.error) { - api.errorPic(result); - } else if (result.success === 'collage' && result.current + 1 < result.limit) { - currentCollageFile = result.file; - nextCollageNumber = result.current + 1; - $('.spinner').hide(); - $('.loading').empty(); - $('#video--sensor').hide(); - - if (config.continuous_collage) { - setTimeout(function () { - api.thrill('collage'); - }, 1000); - } else { - $('' + i18n('nextPhoto') + '').appendTo('.loading').click(function (ev) { - ev.preventDefault(); - api.thrill('collage'); - }); - var abortmsg = i18n('abort'); - $('.loading').append($('').text(abortmsg)); - } - } else { - currentCollageFile = ''; - nextCollageNumber = 0; - api.processPic(photoStyle, result); - } - }).fail(function (xhr, status, result) { - api.errorPic(result); - }); - }; // Show error Msg and reset - - - api.errorPic = function (data) { - setTimeout(function () { - $('.spinner').hide(); - $('.loading').empty(); - $('.cheese').empty(); - $('#video--view').hide(); - $('#video--sensor').hide(); - loader.addClass('error'); - var errormsg = i18n('error'); - takingPic = false; - - if (config.dev) { - console.log('Taking photo:', takingPic); - } - - $('.loading').append($('

').text(errormsg)); - - if (config.show_error_messages || config.dev) { - $('.loading').append($('

').text(data.error)); - } - - if (config.auto_reload_on_error) { - var reloadmsg = i18n('auto_reload'); - $('.loading').append($('

').text(reloadmsg)); - setTimeout(function () { - api.reloadPage(); - }, 5000); - } else { - var _reloadmsg = i18n('reload'); - - $('.loading').append($('').text(_reloadmsg)); - } - }, 500); - }; - - api.processPic = function (photoStyle, result) { - var tempImageUrl = config.folders.tmp + '/' + result.file; - $('.spinner').show(); - $('.loading').text(photoStyle === 'photo' ? i18n('busy') : i18n('busyCollage')); - takingPic = false; - - if (config.dev) { - console.log('Taking photo:', takingPic); - } - - if (photoStyle === 'photo' && config.image_preview_before_processing) { - var preloadImage = new Image(); - - preloadImage.onload = function () { - $('#loader').css('background-image', "url(".concat(tempImageUrl, ")")); - $('#loader').addClass('showBackgroundImage'); - }; - - preloadImage.src = tempImageUrl; - } - - $.ajax({ - method: 'POST', - url: 'api/applyEffects.php', - data: { - file: result.file, - filter: imgFilter, - isCollage: photoStyle === 'collage' - }, - success: function success(data) { - console.log('picture processed', data); - - if (data.error) { - api.errorPic(data); - } else { - api.renderPic(data.file); - } - }, - error: function error(jqXHR, textStatus) { - console.log('An error occurred', textStatus); - api.errorPic({ - error: 'Request failed: ' + textStatus - }); - } - }); - }; // Render Picture after taking - - - api.renderPic = function (filename) { - // Add QR Code Image - var qrCodeModal = $('#qrCode'); - modal.empty(qrCodeModal); - $('').on('load', function () { - var body = qrCodeModal.find('.modal__body'); - $(this).appendTo(body); - $('

').css('max-width', this.width + 'px').html(i18n('qrHelp') + '
' + config.wifi_ssid + '').appendTo(body); - }); // Add Print Link - - $(document).off('click touchstart', '.printbtn'); - $(document).on('click', '.printbtn', function (e) { - e.preventDefault(); - e.stopPropagation(); - api.printImage(filename, function () { - $('.printbtn').blur(); - }); - }); - resultPage.find('.deletebtn').off('click').on('click', function (ev) { - ev.preventDefault(); - api.deleteImage(filename, function (data) { - if (data.success) { - api.reloadPage(); - } else { - console.log('Error while deleting image'); - } - }); - }); // Add Image to gallery and slider - - api.addImage(filename); - var imageUrl = config.folders.images + '/' + filename; - var preloadImage = new Image(); - - preloadImage.onload = function () { - resultPage.css({ - 'background-image': "url(".concat(imageUrl, "?filter=").concat(imgFilter, ")") - }); - resultPage.attr('data-img', filename); - startPage.hide(); - resultPage.show(); - $('.resultInner').addClass('show'); - loader.removeClass('open'); - $('#loader').css('background-image', 'url()'); - $('#loader').removeClass('showBackgroundImage'); - api.resetTimeOut(); - }; - - preloadImage.src = imageUrl; - }; // add image to Gallery - - - api.addImage = function (imageName) { - var thumbImg = new Image(); - var bigImg = new Image(); - var thumbSize = ''; - var bigSize = ''; - var imgtoLoad = 2; - - thumbImg.onload = function () { - thumbSize = this.width + 'x' + this.height; - - if (--imgtoLoad == 0) { - allLoaded(); - } - }; - - bigImg.onload = function () { - bigSize = this.width + 'x' + this.height; - - if (--imgtoLoad == 0) { - allLoaded(); - } - }; - - bigImg.src = config.folders.images + '/' + imageName; - thumbImg.src = config.folders.thumbs + '/' + imageName; - - function allLoaded() { - var linkElement = $('
').html(thumbImg); - linkElement.attr('data-size', bigSize); - linkElement.attr('href', config.folders.images + '/' + imageName); - linkElement.attr('data-med', config.folders.thumbs + '/' + imageName); - linkElement.attr('data-med-size', thumbSize); - - if (config.newest_first) { - linkElement.prependTo($('#galimages')); - } else { - linkElement.appendTo($('#galimages')); - } - - $('#galimages').children().not('a').remove(); - } - }; // Open Gallery Overview - - - api.openGallery = function () { - if (config.scrollbar) { - gallery.addClass('scrollbar'); - } - - gallery.addClass('gallery--open'); - setTimeout(function () { - return gallery.find('.gallery__inner').show(); - }, 300); - }; - - api.resetMailForm = function () { - $('#send-mail-form').trigger('reset'); - $('#mail-form-message').html(''); - }; // Countdown Function - - - api.startCountdown = function (start, element, cb) { - var count = 0; - var current = start; - - function timerFunction() { - element.text(current); - current--; - element.removeClass('tick'); - - if (count < start) { - window.setTimeout(function () { - return element.addClass('tick'); - }, 50); - window.setTimeout(timerFunction, 1000); - } else { - cb(); - } - - count++; - } - - timerFunction(); - }; - - api.printImage = function (imageSrc, cb) { - modal.open('#print_mesg'); - setTimeout(function () { - $.ajax({ - url: 'api/print.php?filename=' + encodeURI(imageSrc) - }).done(function (data) { - if (config.dev) { - console.log(data); - } - - setTimeout(function () { - modal.close('#print_mesg'); - cb(); - }, 5000); - }); - }, 1000); - }; - - api.deleteImage = function (imageName, cb) { - $.ajax({ - url: 'api/deletePhoto.php', - method: 'POST', - data: { - file: imageName - }, - success: function success(data) { - cb(data); - } - }); - }; - - api.toggleMailDialog = function (img) { - var mail = $('.send-mail'); - - if (mail.hasClass('mail-active')) { - api.resetMailForm(); - mail.removeClass('mail-active').fadeOut('fast'); - } else { - $('#mail-form-image').val(img); - mail.addClass('mail-active').fadeIn('fast'); - } - }; //Filter - - - $('.imageFilter').on('click', function () { - api.toggleNav(); - }); - $('.sidenav > div').on('click', function () { - $('.sidenav > div').removeAttr('class'); - $(this).addClass('activeSidenavBtn'); - imgFilter = $(this).attr('id'); - var result = { - file: $('#result').attr('data-img') - }; - - if (config.dev) { - console.log('Applying filter', imgFilter, result); - } - - api.processPic(imgFilter, result); - }); // Take Picture Button - - $('.takePic, .newpic').on('click', function (e) { - e.preventDefault(); - api.thrill('photo'); - $('.newpic').blur(); - }); // Take Collage Button - - $('.takeCollage, .newcollage').on('click', function (e) { - e.preventDefault(); - api.thrill('collage'); - $('.newcollage').blur(); - }); - $('#mySidenav .closebtn').on('click', function (e) { - e.preventDefault(); - api.closeNav(); - }); // Open Gallery Button - - $('.gallery-button').on('click', function (e) { - e.preventDefault(); - api.closeNav(); - api.openGallery($(this)); - }); // Close Gallery Overview - - $('.gallery__close').on('click', function (e) { - e.preventDefault(); - gallery.find('.gallery__inner').hide(); - gallery.removeClass('gallery--open'); - }); - $('.mailbtn').on('click touchstart', function (e) { - e.preventDefault(); - e.stopPropagation(); - var img = resultPage.attr('data-img'); - api.toggleMailDialog(img); - }); - $('#send-mail-form').on('submit', function (e) { - e.preventDefault(); - var message = $('#mail-form-message'); - message.empty(); - var form = $(this); - var oldValue = form.find('.btn').html(); - form.find('.btn').html(''); - $.ajax({ - url: 'api/sendPic.php', - type: 'POST', - data: form.serialize(), - dataType: 'json', - cache: false, - success: function success(result) { - if (result.success) { - if (result.saved) { - message.fadeIn().html('' + i18n('mailSaved') + ''); - } else { - message.fadeIn().html('' + i18n('mailSent') + ''); - } - } else { - message.fadeIn().html('' + result.error + ''); - } - }, - error: function error() { - message.fadeIn('fast').html('' + i18n('mailError') + ''); - }, - complete: function complete() { - form.find('.btn').html(oldValue); - } - }); - }); - $('#send-mail-close').on('click', function () { - api.resetMailForm(); - $('.send-mail').removeClass('mail-active').fadeOut('fast'); - }); - $('#result').on('click', function () { - if (!modal.close('#qrCode')) { - $('.resultInner').toggleClass('show'); - } - }); // Show QR Code - - $('.qrbtn').on('click', function (e) { - e.preventDefault(); - e.stopPropagation(); - modal.toggle('#qrCode'); - }); - $('.homebtn').on('click', function (e) { - e.preventDefault(); - e.stopPropagation(); - api.reloadPage(); - }); - $('#cups-button').on('click', function (ev) { - ev.preventDefault(); - var url = "http://".concat(location.hostname, ":631/jobs/"); - var features = 'width=1024,height=600,left=0,top=0,screenX=0,screenY=0,resizable=NO,scrollbars=NO'; - window.open(url, 'newwin', features); - }); // Go Fullscreen - - $('#fs-button').on('click', function (e) { - e.preventDefault(); - - if (!document.fullscreenElement) { - document.body.requestFullscreen(); - } else if (document.fullscreenElement) { - document.exitFullscreen(); - } - - $('#fs-button').blur(); - }); // Fake buttons - - $('.triggerPic').on('click', function (e) { - e.preventDefault(); - api.thrill('photo'); - }); - $('.triggerCollage').on('click', function (e) { - e.preventDefault(); - api.thrill('collage'); - }); - $(document).on('keyup', function (ev) { - if (config.photo_key && parseInt(config.photo_key, 10) === ev.keyCode) { - if (!takingPic) { - $('.closeGallery').trigger('click'); - $('.triggerPic').trigger('click'); - } else if (config.dev && takingPic) { - console.log('Taking photo already in progress!'); - } - } - - if (config.collage_key && parseInt(config.collage_key, 10) === ev.keyCode) { - if (!takingPic) { - $('.closeGallery').trigger('click'); - - if (config.use_collage) { - $('.triggerCollage').trigger('click'); - } else { - if (config.dev) { - console.log('Collage key pressed. Please enable collage in your config. Triggering photo now.'); - } - - $('.triggerPic').trigger('click'); - } - } else if (config.dev && takingPic) { - console.log('Taking photo already in progress!'); - } - } - }); // clear Timeout to not reset the gallery, if you clicked anywhere - - $(document).on('click', function () { - if (!startPage.is(':visible')) { - api.resetTimeOut(); - } - }); // Disable Right-Click - - if (!config.dev) { - $(this).on('contextmenu', function (e) { - e.preventDefault(); - }); - } - - return api; -}(); // Init on domready - - -$(function () { - photoBooth.init(); -}); \ No newline at end of file diff --git a/resources/js/i18n.js b/resources/js/i18n.js deleted file mode 100644 index 338ce6486..000000000 --- a/resources/js/i18n.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; - -var translator = new Translator({ - persist: false, - defaultLanguage: 'en', - detectLanguage: false, - registerGlobally: 'i18n', - filesLocation: '/photobooth/resources/lang', - debug: true -}); -translator.fetch(['de', 'en', 'es', 'el', 'fr']).then(function () { - translator.translatePageTo(); -}); \ No newline at end of file diff --git a/resources/js/login.js b/resources/js/login.js deleted file mode 100644 index 194845bf3..000000000 --- a/resources/js/login.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; - -/* exported login */ -function showPassword() { - var x = document.getElementById('password'); - - if (x.type === 'password') { - x.type = 'text'; - } else { - x.type = 'password'; - } -} - -$('.password-toggle').on('click', function () { - showPassword(); - $('.password-toggle').toggleClass('fa-eye fa-eye-slash'); -}); \ No newline at end of file diff --git a/resources/js/photoinit.js b/resources/js/photoinit.js deleted file mode 100644 index e0292b855..000000000 --- a/resources/js/photoinit.js +++ /dev/null @@ -1,217 +0,0 @@ -"use strict"; - -/* exported initPhotoSwipeFromDOM */ - -/* global photoBooth */ -function initPhotoSwipeFromDOM(gallerySelector) { - var gallery, - ssRunning = false, - ssOnce = false; - var ssDelay = config.slideshow_pictureTime, - ssButtonClass = '.pswp__button--playpause'; - - var parseThumbnailElements = function parseThumbnailElements(container) { - return $(container).find('>a').map(function () { - var element = $(this); - var size = element.attr('data-size').split('x'); - var medSize = element.attr('data-med-size').split('x'); // create slide object - - var item = { - element: element.get(0), - src: element.attr('href'), - w: parseInt(size[0], 10), - h: parseInt(size[1], 10), - msrc: element.find('>img').attr('src'), - mediumImage: { - src: element.attr('data-med'), - w: parseInt(medSize[0], 10), - h: parseInt(medSize[1], 10) - } - }; - item.originalImage = { - src: item.src, - w: item.w, - h: item.h - }; - return item; - }).get(); - }; - - var onThumbnailClick = function onThumbnailClick(ev) { - ev.preventDefault(); - var element = $(ev.target).closest('a'); - var index = $(gallerySelector).find('>a').index(element); - openPhotoSwipe(index); - }; - - var openPhotoSwipe = function openPhotoSwipe(index) { - var pswpElement = $('.pswp').get(0); - var items = parseThumbnailElements(gallerySelector); - var options = { - index: index, - getThumbBoundsFn: function getThumbBoundsFn(thumbIndex) { - // See Options->getThumbBoundsFn section of docs for more info - var thumbnail = items[thumbIndex].element.children[0], - pageYScroll = window.pageYOffset || document.documentElement.scrollTop, - rect = thumbnail.getBoundingClientRect(); - return { - x: rect.left, - y: rect.top + pageYScroll, - w: rect.width - }; - }, - shareEl: false, - zoomEl: false, - fullscreenEl: false - }; // Pass data to PhotoSwipe and initialize it - - gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options); // Slideshow not running from the start - - setSlideshowState(ssButtonClass, false); // see: http://photoswipe.com/documentation/responsive-images.html - - var realViewportWidth, - useLargeImages = false, - firstResize = true, - imageSrcWillChange; - gallery.listen('beforeResize', function () { - var dpiRatio = window.devicePixelRatio ? window.devicePixelRatio : 1; - dpiRatio = Math.min(dpiRatio, 2.5); - realViewportWidth = gallery.viewportSize.x * dpiRatio; - - if (realViewportWidth >= 1200 || !gallery.likelyTouchDevice && realViewportWidth > 800 || screen.width > 1200) { - if (!useLargeImages) { - useLargeImages = true; - imageSrcWillChange = true; - } - } else if (useLargeImages) { - useLargeImages = false; - imageSrcWillChange = true; - } - - if (imageSrcWillChange && !firstResize) { - gallery.invalidateCurrItems(); - } - - if (firstResize) { - firstResize = false; - } - - imageSrcWillChange = false; - }); - gallery.listen('gettingData', function (_index, item) { - if (useLargeImages) { - item.src = item.originalImage.src; - item.w = item.originalImage.w; - item.h = item.originalImage.h; - } else { - item.src = item.mediumImage.src; - item.w = item.mediumImage.w; - item.h = item.mediumImage.h; - } - }); - gallery.listen('afterChange', function () { - var img = gallery.currItem.src.split('\\').pop().split('/').pop(); - $('.pswp__button--download').attr({ - href: 'api/download.php?image=' + img, - download: img - }); - - if (ssRunning && ssOnce) { - ssOnce = false; - setTimeout(gotoNextSlide, ssDelay); - } - }); - - var resetMailForm = function resetMailForm() { - $('.pswp__qr').removeClass('qr-active').fadeOut('fast'); - photoBooth.resetMailForm(); - $('.send-mail').removeClass('mail-active').fadeOut('fast'); - }; - - gallery.listen('beforeChange', resetMailForm); - gallery.listen('close', resetMailForm); - gallery.init(); - }; // QR in gallery - - - $('.pswp__button--qrcode').on('click touchstart', function (e) { - e.preventDefault(); - e.stopPropagation(); - var pswpQR = $('.pswp__qr'); - - if (pswpQR.hasClass('qr-active')) { - pswpQR.removeClass('qr-active').fadeOut('fast'); - } else { - pswpQR.empty(); - var img = gallery.currItem.src; - img = img.split('\\').pop().split('/').pop(); - $('').attr('src', 'api/qrcode.php?filename=' + img).appendTo(pswpQR); - pswpQR.addClass('qr-active').fadeIn('fast'); - } - }); // print in gallery - - $('.pswp__button--print').on('click touchstart', function (e) { - e.preventDefault(); - e.stopPropagation(); - var img = gallery.currItem.src.split('\\').pop().split('/').pop(); - photoBooth.printImage(img, function () { - gallery.close(); - }); - }); // Close Gallery while Taking a Picture or Collage - - $('.closeGallery').on('click', function (e) { - e.preventDefault(); - - if (gallery) { - if (config.dev) { - console.log('Closing Gallery'); - } - - gallery.close(); - } - }); // chroma keying print - - $('.pswp__button--print-chroma-keying').on('click touchstart', function (e) { - e.preventDefault(); - e.stopPropagation(); - var img = gallery.currItem.src.split('\\').pop().split('/').pop(); - - if (config.chroma_keying) { - location = 'chromakeying.php?filename=' + encodeURI(img); - } - }); - $('.pswp__button--mail').on('click touchstart', function (e) { - e.preventDefault(); - e.stopPropagation(); - var img = gallery.currItem.src.split('\\').pop().split('/').pop(); - photoBooth.toggleMailDialog(img); - }); - /* slideshow management */ - - $(ssButtonClass).on('click touchstart', function (e) { - e.preventDefault(); - e.stopPropagation(); // toggle slideshow on/off - - $('.pswp__button--playpause').toggleClass('fa-play fa-pause'); - setSlideshowState(this, !ssRunning); - }); - - function setSlideshowState(el, running) { - if (running) { - setTimeout(gotoNextSlide, ssDelay / 2.0); - } - - var title = running ? 'Pause Slideshow' : 'Play Slideshow'; - $(el).prop('title', title); - ssRunning = running; - } - - function gotoNextSlide() { - if (ssRunning && Boolean(gallery)) { - ssOnce = true; - gallery.next(); - } - } - - $(gallerySelector).on('click', onThumbnailClick); -} \ No newline at end of file diff --git a/resources/js/slideshow.js b/resources/js/slideshow.js deleted file mode 100644 index c2e33c126..000000000 --- a/resources/js/slideshow.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; - -$('#slideshow > div:gt(0)').hide(); -setInterval(function () { - $('#slideshow > div:first').fadeOut(1000).next().fadeIn(1000).end().appendTo('#slideshow'); -}, config.slideshow_pictureTime); -$(window).resize(function () { - $('.center').css({ - position: 'absolute', - left: ($(window).width() - $('.center').outerWidth()) / 2, - top: ($(window).height() - $('.center').outerHeight()) / 2 - }); -}); -$(window).resize(); \ No newline at end of file diff --git a/resources/js/theme.js b/resources/js/theme.js deleted file mode 100644 index c10874801..000000000 --- a/resources/js/theme.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; - -var style = document.documentElement.style; -style.setProperty('--primary-color', config.colors.primary); -style.setProperty('--secondary-color', config.colors.secondary); -style.setProperty('--font-color', config.colors.font); -style.setProperty('--button-font-color', config.colors.button_font); -style.setProperty('--start-font-color', config.colors.start_font); -style.setProperty('--countdown-color', config.colors.countdown); -style.setProperty('--background-countdown-color', config.colors.background_countdown); -style.setProperty('--cheese-color', config.colors.cheese); -style.setProperty('--panel-color', config.colors.panel); -style.setProperty('--hover-panel-color', config.colors.hover_panel); -style.setProperty('--border-color', config.colors.border); -style.setProperty('--box-color', config.colors.box); -style.setProperty('--gallery-button-color', config.colors.gallery_button); -style.setProperty('--background-default', config.background_image); -style.setProperty('--background-admin', config.background_admin); -style.setProperty('--background-chroma', config.background_chroma); -style.setProperty('--background-ipcam', config.ipCamURL); -style.setProperty('--fontSize', config.font_size); -style.setProperty('--preview-rotation', config.ipCamPreviewRotation); -$(function () { - $('#wrapper').show(); -}); \ No newline at end of file diff --git a/resources/js/vendor/CSSPlugin.min.js b/resources/js/vendor/CSSPlugin.min.js deleted file mode 100644 index 3a7533673..000000000 --- a/resources/js/vendor/CSSPlugin.min.js +++ /dev/null @@ -1,1232 +0,0 @@ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/*! - * VERSION: 2.1.3 - * DATE: 2019-05-17 - * UPDATES AND DOCS AT: http://greensock.com - * - * @license Copyright (c) 2008-2019, GreenSock. All rights reserved. - * This work is subject to the terms at http://greensock.com/standard-license or for - * Club GreenSock members, the software agreement that was issued with your membership. - * - * @author: Jack Doyle, jack@greensock.com - */ -var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : void 0 || window; - -(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function () { - "use strict"; - - _gsScope._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin", "TweenLite"], function (a, b) { - var c, - d, - e, - f, - g = function g() { - a.call(this, "css"), this._overwriteProps.length = 0, this.setRatio = g.prototype.setRatio; - }, - h = _gsScope._gsDefine.globals, - i = {}, - j = g.prototype = new a("css"); - - j.constructor = g, g.version = "2.1.3", g.API = 2, g.defaultTransformPerspective = 0, g.defaultSkewType = "compensated", g.defaultSmoothOrigin = !0, j = "px", g.suffixMap = { - top: j, - right: j, - bottom: j, - left: j, - width: j, - height: j, - fontSize: j, - padding: j, - margin: j, - perspective: j, - lineHeight: "" - }; - - var k, - l, - m, - n, - o, - p, - q, - r, - s = /(?:\-|\.|\b)(\d|\.|e\-)+/g, - t = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g, - u = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi, - v = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b),?/gi, - w = /(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g, - x = /(?:\d|\-|\+|=|#|\.)*/g, - y = /opacity *= *([^)]*)/i, - z = /opacity:([^;]*)/i, - A = /alpha\(opacity *=.+?\)/i, - B = /^(rgb|hsl)/, - C = /([A-Z])/g, - D = /-([a-z])/gi, - E = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi, - F = function F(a, b) { - return b.toUpperCase(); - }, - G = /(?:Left|Right|Width)/i, - H = /(M11|M12|M21|M22)=[\d\-\.e]+/gi, - I = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i, - J = /,(?=[^\)]*(?:\(|$))/gi, - K = /[\s,\(]/i, - L = Math.PI / 180, - M = 180 / Math.PI, - N = {}, - O = { - style: {} - }, - P = _gsScope.document || { - createElement: function createElement() { - return O; - } - }, - Q = function Q(a, b) { - var c = P.createElementNS ? P.createElementNS(b || "http://www.w3.org/1999/xhtml", a) : P.createElement(a); - return c.style ? c : P.createElement(a); - }, - R = Q("div"), - S = Q("img"), - T = g._internals = { - _specialProps: i - }, - U = (_gsScope.navigator || {}).userAgent || "", - V = function () { - var a = U.indexOf("Android"), - b = Q("a"); - return m = -1 !== U.indexOf("Safari") && -1 === U.indexOf("Chrome") && (-1 === a || parseFloat(U.substr(a + 8, 2)) > 3), o = m && parseFloat(U.substr(U.indexOf("Version/") + 8, 2)) < 6, n = -1 !== U.indexOf("Firefox"), (/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(U) || /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(U)) && (p = parseFloat(RegExp.$1)), b ? (b.style.cssText = "top:1px;opacity:.55;", /^0.55/.test(b.style.opacity)) : !1; - }(), - W = function W(a) { - return y.test("string" == typeof a ? a : (a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 : 1; - }, - X = function X(a) { - _gsScope.console && console.log(a); - }, - Y = "", - Z = "", - $ = function $(a, b) { - b = b || R; - var c, - d, - e = b.style; - if (void 0 !== e[a]) return a; - - for (a = a.charAt(0).toUpperCase() + a.substr(1), c = ["O", "Moz", "ms", "Ms", "Webkit"], d = 5; --d > -1 && void 0 === e[c[d] + a];) { - ; - } - - return d >= 0 ? (Z = 3 === d ? "ms" : c[d], Y = "-" + Z.toLowerCase() + "-", Z + a) : null; - }, - _ = "undefined" != typeof window ? window : P.defaultView || { - getComputedStyle: function getComputedStyle() {} - }, - aa = function aa(a) { - return _.getComputedStyle(a); - }, - ba = g.getStyle = function (a, b, c, d, e) { - var f; - return V || "opacity" !== b ? (!d && a.style[b] ? f = a.style[b] : (c = c || aa(a)) ? f = c[b] || c.getPropertyValue(b) || c.getPropertyValue(b.replace(C, "-$1").toLowerCase()) : a.currentStyle && (f = a.currentStyle[b]), null == e || f && "none" !== f && "auto" !== f && "auto auto" !== f ? f : e) : W(a); - }, - ca = T.convertToPixels = function (a, c, d, e, f) { - if ("px" === e || !e && "lineHeight" !== c) return d; - if ("auto" === e || !d) return 0; - var h, - i, - j, - k = G.test(c), - l = a, - m = R.style, - n = 0 > d, - o = 1 === d; - if (n && (d = -d), o && (d *= 100), "lineHeight" !== c || e) { - if ("%" === e && -1 !== c.indexOf("border")) h = d / 100 * (k ? a.clientWidth : a.clientHeight);else { - if (m.cssText = "border:0 solid red;position:" + ba(a, "position") + ";line-height:0;", "%" !== e && l.appendChild && "v" !== e.charAt(0) && "rem" !== e) m[k ? "borderLeftWidth" : "borderTopWidth"] = d + e;else { - if (l = a.parentNode || P.body, -1 !== ba(l, "display").indexOf("flex") && (m.position = "absolute"), i = l._gsCache, j = b.ticker.frame, i && k && i.time === j) return i.width * d / 100; - m[k ? "width" : "height"] = d + e; - } - l.appendChild(R), h = parseFloat(R[k ? "offsetWidth" : "offsetHeight"]), l.removeChild(R), k && "%" === e && g.cacheWidths !== !1 && (i = l._gsCache = l._gsCache || {}, i.time = j, i.width = h / d * 100), 0 !== h || f || (h = ca(a, c, d, e, !0)); - } - } else i = aa(a).lineHeight, a.style.lineHeight = d, h = parseFloat(aa(a).lineHeight), a.style.lineHeight = i; - return o && (h /= 100), n ? -h : h; - }, - da = T.calculateOffset = function (a, b, c) { - if ("absolute" !== ba(a, "position", c)) return 0; - var d = "left" === b ? "Left" : "Top", - e = ba(a, "margin" + d, c); - return a["offset" + d] - (ca(a, b, parseFloat(e), e.replace(x, "")) || 0); - }, - ea = function ea(a, b) { - var c, - d, - e, - f = {}; - if (b = b || aa(a, null)) { - if (c = b.length) for (; --c > -1;) { - e = b[c], (-1 === e.indexOf("-transform") || Fa === e) && (f[e.replace(D, F)] = b.getPropertyValue(e)); - } else for (c in b) { - (-1 === c.indexOf("Transform") || Ea === c) && (f[c] = b[c]); - } - } else if (b = a.currentStyle || a.style) for (c in b) { - "string" == typeof c && void 0 === f[c] && (f[c.replace(D, F)] = b[c]); - } - return V || (f.opacity = W(a)), d = Ta(a, b, !1), f.rotation = d.rotation, f.skewX = d.skewX, f.scaleX = d.scaleX, f.scaleY = d.scaleY, f.x = d.x, f.y = d.y, Ha && (f.z = d.z, f.rotationX = d.rotationX, f.rotationY = d.rotationY, f.scaleZ = d.scaleZ), f.filters && delete f.filters, f; - }, - fa = function fa(a, b, c, d, e) { - var f, - g, - h, - i = {}, - j = a.style; - - for (g in c) { - "cssText" !== g && "length" !== g && isNaN(g) && (b[g] !== (f = c[g]) || e && e[g]) && -1 === g.indexOf("Origin") && ("number" == typeof f || "string" == typeof f) && (i[g] = "auto" !== f || "left" !== g && "top" !== g ? "" !== f && "auto" !== f && "none" !== f || "string" != typeof b[g] || "" === b[g].replace(w, "") ? f : 0 : da(a, g), void 0 !== j[g] && (h = new ua(j, g, j[g], h))); - } - - if (d) for (g in d) { - "className" !== g && (i[g] = d[g]); - } - return { - difs: i, - firstMPT: h - }; - }, - ga = { - width: ["Left", "Right"], - height: ["Top", "Bottom"] - }, - ha = ["marginLeft", "marginRight", "marginTop", "marginBottom"], - ia = function ia(a, b, c) { - if ("svg" === (a.nodeName + "").toLowerCase()) return (c || aa(a))[b] || 0; - if (a.getCTM && Qa(a)) return a.getBBox()[b] || 0; - var d = parseFloat("width" === b ? a.offsetWidth : a.offsetHeight), - e = ga[b], - f = e.length; - - for (c = c || aa(a, null); --f > -1;) { - d -= parseFloat(ba(a, "padding" + e[f], c, !0)) || 0, d -= parseFloat(ba(a, "border" + e[f] + "Width", c, !0)) || 0; - } - - return d; - }, - ja = function ja(a, b) { - if ("contain" === a || "auto" === a || "auto auto" === a) return a + " "; - (null == a || "" === a) && (a = "0 0"); - var c, - d = a.split(" "), - e = -1 !== a.indexOf("left") ? "0%" : -1 !== a.indexOf("right") ? "100%" : d[0], - f = -1 !== a.indexOf("top") ? "0%" : -1 !== a.indexOf("bottom") ? "100%" : d[1]; - - if (d.length > 3 && !b) { - for (d = a.split(", ").join(",").split(","), a = [], c = 0; c < d.length; c++) { - a.push(ja(d[c])); - } - - return a.join(","); - } - - return null == f ? f = "center" === e ? "50%" : "0" : "center" === f && (f = "50%"), ("center" === e || isNaN(parseFloat(e)) && -1 === (e + "").indexOf("=")) && (e = "50%"), a = e + " " + f + (d.length > 2 ? " " + d[2] : ""), b && (b.oxp = -1 !== e.indexOf("%"), b.oyp = -1 !== f.indexOf("%"), b.oxr = "=" === e.charAt(1), b.oyr = "=" === f.charAt(1), b.ox = parseFloat(e.replace(w, "")), b.oy = parseFloat(f.replace(w, "")), b.v = a), b || a; - }, - ka = function ka(a, b) { - return "function" == typeof a && (a = a(r, q)), "string" == typeof a && "=" === a.charAt(1) ? parseInt(a.charAt(0) + "1", 10) * parseFloat(a.substr(2)) : parseFloat(a) - parseFloat(b) || 0; - }, - la = function la(a, b) { - "function" == typeof a && (a = a(r, q)); - var c = "string" == typeof a && "=" === a.charAt(1); - return "string" == typeof a && "v" === a.charAt(a.length - 2) && (a = (c ? a.substr(0, 2) : 0) + window["inner" + ("vh" === a.substr(-2) ? "Height" : "Width")] * (parseFloat(c ? a.substr(2) : a) / 100)), null == a ? b : c ? parseInt(a.charAt(0) + "1", 10) * parseFloat(a.substr(2)) + b : parseFloat(a) || 0; - }, - ma = function ma(a, b, c, d) { - var e, - f, - g, - h, - i, - j = 1e-6; - return "function" == typeof a && (a = a(r, q)), null == a ? h = b : "number" == typeof a ? h = a : (e = 360, f = a.split("_"), i = "=" === a.charAt(1), g = (i ? parseInt(a.charAt(0) + "1", 10) * parseFloat(f[0].substr(2)) : parseFloat(f[0])) * (-1 === a.indexOf("rad") ? 1 : M) - (i ? 0 : b), f.length && (d && (d[c] = b + g), -1 !== a.indexOf("short") && (g %= e, g !== g % (e / 2) && (g = 0 > g ? g + e : g - e)), -1 !== a.indexOf("_cw") && 0 > g ? g = (g + 9999999999 * e) % e - (g / e | 0) * e : -1 !== a.indexOf("ccw") && g > 0 && (g = (g - 9999999999 * e) % e - (g / e | 0) * e)), h = b + g), j > h && h > -j && (h = 0), h; - }, - na = { - aqua: [0, 255, 255], - lime: [0, 255, 0], - silver: [192, 192, 192], - black: [0, 0, 0], - maroon: [128, 0, 0], - teal: [0, 128, 128], - blue: [0, 0, 255], - navy: [0, 0, 128], - white: [255, 255, 255], - fuchsia: [255, 0, 255], - olive: [128, 128, 0], - yellow: [255, 255, 0], - orange: [255, 165, 0], - gray: [128, 128, 128], - purple: [128, 0, 128], - green: [0, 128, 0], - red: [255, 0, 0], - pink: [255, 192, 203], - cyan: [0, 255, 255], - transparent: [255, 255, 255, 0] - }, - oa = function oa(a, b, c) { - return a = 0 > a ? a + 1 : a > 1 ? a - 1 : a, 255 * (1 > 6 * a ? b + (c - b) * a * 6 : .5 > a ? c : 2 > 3 * a ? b + (c - b) * (2 / 3 - a) * 6 : b) + .5 | 0; - }, - pa = g.parseColor = function (a, b) { - var c, d, e, f, g, h, i, j, k, l, m; - if (a) { - if ("number" == typeof a) c = [a >> 16, a >> 8 & 255, 255 & a];else { - if ("," === a.charAt(a.length - 1) && (a = a.substr(0, a.length - 1)), na[a]) c = na[a];else if ("#" === a.charAt(0)) 4 === a.length && (d = a.charAt(1), e = a.charAt(2), f = a.charAt(3), a = "#" + d + d + e + e + f + f), a = parseInt(a.substr(1), 16), c = [a >> 16, a >> 8 & 255, 255 & a];else if ("hsl" === a.substr(0, 3)) { - if (c = m = a.match(s), b) { - if (-1 !== a.indexOf("=")) return a.match(t); - } else g = Number(c[0]) % 360 / 360, h = Number(c[1]) / 100, i = Number(c[2]) / 100, e = .5 >= i ? i * (h + 1) : i + h - i * h, d = 2 * i - e, c.length > 3 && (c[3] = Number(c[3])), c[0] = oa(g + 1 / 3, d, e), c[1] = oa(g, d, e), c[2] = oa(g - 1 / 3, d, e); - } else c = a.match(s) || na.transparent; - c[0] = Number(c[0]), c[1] = Number(c[1]), c[2] = Number(c[2]), c.length > 3 && (c[3] = Number(c[3])); - } - } else c = na.black; - return b && !m && (d = c[0] / 255, e = c[1] / 255, f = c[2] / 255, j = Math.max(d, e, f), k = Math.min(d, e, f), i = (j + k) / 2, j === k ? g = h = 0 : (l = j - k, h = i > .5 ? l / (2 - j - k) : l / (j + k), g = j === d ? (e - f) / l + (f > e ? 6 : 0) : j === e ? (f - d) / l + 2 : (d - e) / l + 4, g *= 60), c[0] = g + .5 | 0, c[1] = 100 * h + .5 | 0, c[2] = 100 * i + .5 | 0), c; - }, - qa = function qa(a, b) { - var c, - d, - e, - f = a.match(ra) || [], - g = 0, - h = ""; - if (!f.length) return a; - - for (c = 0; c < f.length; c++) { - d = f[c], e = a.substr(g, a.indexOf(d, g) - g), g += e.length + d.length, d = pa(d, b), 3 === d.length && d.push(1), h += e + (b ? "hsla(" + d[0] + "," + d[1] + "%," + d[2] + "%," + d[3] : "rgba(" + d.join(",")) + ")"; - } - - return h + a.substr(g); - }, - ra = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3}){1,2}\\b"; - - for (j in na) { - ra += "|" + j + "\\b"; - } - - ra = new RegExp(ra + ")", "gi"), g.colorStringFilter = function (a) { - var b, - c = a[0] + " " + a[1]; - ra.test(c) && (b = -1 !== c.indexOf("hsl(") || -1 !== c.indexOf("hsla("), a[0] = qa(a[0], b), a[1] = qa(a[1], b)), ra.lastIndex = 0; - }, b.defaultStringFilter || (b.defaultStringFilter = g.colorStringFilter); - - var sa = function sa(a, b, c, d) { - if (null == a) return function (a) { - return a; - }; - var e, - f = b ? (a.match(ra) || [""])[0] : "", - g = a.split(f).join("").match(u) || [], - h = a.substr(0, a.indexOf(g[0])), - i = ")" === a.charAt(a.length - 1) ? ")" : "", - j = -1 !== a.indexOf(" ") ? " " : ",", - k = g.length, - l = k > 0 ? g[0].replace(s, "") : ""; - return k ? e = b ? function (a) { - var b, m, n, o; - if ("number" == typeof a) a += l;else if (d && J.test(a)) { - for (o = a.replace(J, "|").split("|"), n = 0; n < o.length; n++) { - o[n] = e(o[n]); - } - - return o.join(","); - } - if (b = (a.match(ra) || [f])[0], m = a.split(b).join("").match(u) || [], n = m.length, k > n--) for (; ++n < k;) { - m[n] = c ? m[(n - 1) / 2 | 0] : g[n]; - } - return h + m.join(j) + j + b + i + (-1 !== a.indexOf("inset") ? " inset" : ""); - } : function (a) { - var b, f, m; - if ("number" == typeof a) a += l;else if (d && J.test(a)) { - for (f = a.replace(J, "|").split("|"), m = 0; m < f.length; m++) { - f[m] = e(f[m]); - } - - return f.join(","); - } - if (b = a.match("," === j ? u : v) || [], m = b.length, k > m--) for (; ++m < k;) { - b[m] = c ? b[(m - 1) / 2 | 0] : g[m]; - } - return (h && "none" !== a ? a.substr(0, a.indexOf(b[0])) || h : h) + b.join(j) + i; - } : function (a) { - return a; - }; - }, - ta = function ta(a) { - return a = a.split(","), function (b, c, d, e, f, g, h) { - var i, - j = (c + "").split(" "); - - for (h = {}, i = 0; 4 > i; i++) { - h[a[i]] = j[i] = j[i] || j[(i - 1) / 2 >> 0]; - } - - return e.parse(b, h, f, g); - }; - }, - ua = (T._setPluginRatio = function (a) { - this.plugin.setRatio(a); - - for (var b, c, d, e, f, g = this.data, h = g.proxy, i = g.firstMPT, j = 1e-6; i;) { - b = h[i.v], i.r ? b = i.r(b) : j > b && b > -j && (b = 0), i.t[i.p] = b, i = i._next; - } - - if (g.autoRotate && (g.autoRotate.rotation = g.mod ? g.mod.call(this._tween, h.rotation, this.t, this._tween) : h.rotation), 1 === a || 0 === a) for (i = g.firstMPT, f = 1 === a ? "e" : "b"; i;) { - if (c = i.t, c.type) { - if (1 === c.type) { - for (e = c.xs0 + c.s + c.xs1, d = 1; d < c.l; d++) { - e += c["xn" + d] + c["xs" + (d + 1)]; - } - - c[f] = e; - } - } else c[f] = c.s + c.xs0; - - i = i._next; - } - }, function (a, b, c, d, e) { - this.t = a, this.p = b, this.v = c, this.r = e, d && (d._prev = this, this._next = d); - }), - va = (T._parseToProxy = function (a, b, c, d, e, f) { - var g, - h, - i, - j, - k, - l = d, - m = {}, - n = {}, - o = c._transform, - p = N; - - for (c._transform = null, N = b, d = k = c.parse(a, b, d, e), N = p, f && (c._transform = o, l && (l._prev = null, l._prev && (l._prev._next = null))); d && d !== l;) { - if (d.type <= 1 && (h = d.p, n[h] = d.s + d.c, m[h] = d.s, f || (j = new ua(d, "s", h, j, d.r), d.c = 0), 1 === d.type)) for (g = d.l; --g > 0;) { - i = "xn" + g, h = d.p + "_" + i, n[h] = d.data[i], m[h] = d[i], f || (j = new ua(d, i, h, j, d.rxp[i])); - } - d = d._next; - } - - return { - proxy: m, - end: n, - firstMPT: j, - pt: k - }; - }, T.CSSPropTween = function (a, b, d, e, g, h, i, j, k, l, m) { - this.t = a, this.p = b, this.s = d, this.c = e, this.n = i || b, a instanceof va || f.push(this.n), this.r = j ? "function" == typeof j ? j : Math.round : j, this.type = h || 0, k && (this.pr = k, c = !0), this.b = void 0 === l ? d : l, this.e = void 0 === m ? d + e : m, g && (this._next = g, g._prev = this); - }), - wa = function wa(a, b, c, d, e, f) { - var g = new va(a, b, c, d - c, e, -1, f); - return g.b = c, g.e = g.xs0 = d, g; - }, - xa = g.parseComplex = function (a, b, c, d, e, f, h, i, j, l) { - c = c || f || "", "function" == typeof d && (d = d(r, q)), h = new va(a, b, 0, 0, h, l ? 2 : 1, null, !1, i, c, d), d += "", e && ra.test(d + c) && (d = [c, d], g.colorStringFilter(d), c = d[0], d = d[1]); - var m, - n, - o, - p, - u, - v, - w, - x, - y, - z, - A, - B, - C, - D = c.split(", ").join(",").split(" "), - E = d.split(", ").join(",").split(" "), - F = D.length, - G = k !== !1; - - for ((-1 !== d.indexOf(",") || -1 !== c.indexOf(",")) && (-1 !== (d + c).indexOf("rgb") || -1 !== (d + c).indexOf("hsl") ? (D = D.join(" ").replace(J, ", ").split(" "), E = E.join(" ").replace(J, ", ").split(" ")) : (D = D.join(" ").split(",").join(", ").split(" "), E = E.join(" ").split(",").join(", ").split(" ")), F = D.length), F !== E.length && (D = (f || "").split(" "), F = D.length), h.plugin = j, h.setRatio = l, ra.lastIndex = 0, m = 0; F > m; m++) { - if (p = D[m], u = E[m] + "", x = parseFloat(p), x || 0 === x) h.appendXtra("", x, ka(u, x), u.replace(t, ""), G && -1 !== u.indexOf("px") ? Math.round : !1, !0);else if (e && ra.test(p)) B = u.indexOf(")") + 1, B = ")" + (B ? u.substr(B) : ""), C = -1 !== u.indexOf("hsl") && V, z = u, p = pa(p, C), u = pa(u, C), y = p.length + u.length > 6, y && !V && 0 === u[3] ? (h["xs" + h.l] += h.l ? " transparent" : "transparent", h.e = h.e.split(E[m]).join("transparent")) : (V || (y = !1), C ? h.appendXtra(z.substr(0, z.indexOf("hsl")) + (y ? "hsla(" : "hsl("), p[0], ka(u[0], p[0]), ",", !1, !0).appendXtra("", p[1], ka(u[1], p[1]), "%,", !1).appendXtra("", p[2], ka(u[2], p[2]), y ? "%," : "%" + B, !1) : h.appendXtra(z.substr(0, z.indexOf("rgb")) + (y ? "rgba(" : "rgb("), p[0], u[0] - p[0], ",", Math.round, !0).appendXtra("", p[1], u[1] - p[1], ",", Math.round).appendXtra("", p[2], u[2] - p[2], y ? "," : B, Math.round), y && (p = p.length < 4 ? 1 : p[3], h.appendXtra("", p, (u.length < 4 ? 1 : u[3]) - p, B, !1))), ra.lastIndex = 0;else if (v = p.match(s)) { - if (w = u.match(t), !w || w.length !== v.length) return h; - - for (o = 0, n = 0; n < v.length; n++) { - A = v[n], z = p.indexOf(A, o), h.appendXtra(p.substr(o, z - o), Number(A), ka(w[n], A), "", G && "px" === p.substr(z + A.length, 2) ? Math.round : !1, 0 === n), o = z + A.length; - } - - h["xs" + h.l] += p.substr(o); - } else h["xs" + h.l] += h.l || h["xs" + h.l] ? " " + u : u; - } - - if (-1 !== d.indexOf("=") && h.data) { - for (B = h.xs0 + h.data.s, m = 1; m < h.l; m++) { - B += h["xs" + m] + h.data["xn" + m]; - } - - h.e = B + h["xs" + m]; - } - - return h.l || (h.type = -1, h.xs0 = h.e), h.xfirst || h; - }, - ya = 9; - - for (j = va.prototype, j.l = j.pr = 0; --ya > 0;) { - j["xn" + ya] = 0, j["xs" + ya] = ""; - } - - j.xs0 = "", j._next = j._prev = j.xfirst = j.data = j.plugin = j.setRatio = j.rxp = null, j.appendXtra = function (a, b, c, d, e, f) { - var g = this, - h = g.l; - return g["xs" + h] += f && (h || g["xs" + h]) ? " " + a : a || "", c || 0 === h || g.plugin ? (g.l++, g.type = g.setRatio ? 2 : 1, g["xs" + g.l] = d || "", h > 0 ? (g.data["xn" + h] = b + c, g.rxp["xn" + h] = e, g["xn" + h] = b, g.plugin || (g.xfirst = new va(g, "xn" + h, b, c, g.xfirst || g, 0, g.n, e, g.pr), g.xfirst.xs0 = 0), g) : (g.data = { - s: b + c - }, g.rxp = {}, g.s = b, g.c = c, g.r = e, g)) : (g["xs" + h] += b + (d || ""), g); - }; - - var za = function za(a, b) { - b = b || {}, this.p = b.prefix ? $(a) || a : a, i[a] = i[this.p] = this, this.format = b.formatter || sa(b.defaultValue, b.color, b.collapsible, b.multi), b.parser && (this.parse = b.parser), this.clrs = b.color, this.multi = b.multi, this.keyword = b.keyword, this.dflt = b.defaultValue, this.allowFunc = b.allowFunc, this.pr = b.priority || 0; - }, - Aa = T._registerComplexSpecialProp = function (a, b, c) { - "object" != _typeof(b) && (b = { - parser: c - }); - var d, - e, - f = a.split(","), - g = b.defaultValue; - - for (c = c || [g], d = 0; d < f.length; d++) { - b.prefix = 0 === d && b.prefix, b.defaultValue = c[d] || g, e = new za(f[d], b); - } - }, - Ba = T._registerPluginProp = function (a) { - if (!i[a]) { - var b = a.charAt(0).toUpperCase() + a.substr(1) + "Plugin"; - Aa(a, { - parser: function parser(a, c, d, e, f, g, j) { - var k = h.com.greensock.plugins[b]; - return k ? (k._cssRegister(), i[d].parse(a, c, d, e, f, g, j)) : (X("Error: " + b + " js file not loaded."), f); - } - }); - } - }; - - j = za.prototype, j.parseComplex = function (a, b, c, d, e, f) { - var g, - h, - i, - j, - k, - l, - m = this.keyword; - - if (this.multi && (J.test(c) || J.test(b) ? (h = b.replace(J, "|").split("|"), i = c.replace(J, "|").split("|")) : m && (h = [b], i = [c])), i) { - for (j = i.length > h.length ? i.length : h.length, g = 0; j > g; g++) { - b = h[g] = h[g] || this.dflt, c = i[g] = i[g] || this.dflt, m && (k = b.indexOf(m), l = c.indexOf(m), k !== l && (-1 === l ? h[g] = h[g].split(m).join("") : -1 === k && (h[g] += " " + m))); - } - - b = h.join(", "), c = i.join(", "); - } - - return xa(a, this.p, b, c, this.clrs, this.dflt, d, this.pr, e, f); - }, j.parse = function (a, b, c, d, f, g, h) { - return this.parseComplex(a.style, this.format(ba(a, this.p, e, !1, this.dflt)), this.format(b), f, g); - }, g.registerSpecialProp = function (a, b, c) { - Aa(a, { - parser: function parser(a, d, e, f, g, h, i) { - var j = new va(a, e, 0, 0, g, 2, e, !1, c); - return j.plugin = h, j.setRatio = b(a, d, f._tween, e), j; - }, - priority: c - }); - }, g.useSVGTransformAttr = !0; - - var Ca, - Da = "scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","), - Ea = $("transform"), - Fa = Y + "transform", - Ga = $("transformOrigin"), - Ha = null !== $("perspective"), - Ia = T.Transform = function () { - this.perspective = parseFloat(g.defaultTransformPerspective) || 0, this.force3D = g.defaultForce3D !== !1 && Ha ? g.defaultForce3D || "auto" : !1; - }, - Ja = _gsScope.SVGElement, - Ka = function Ka(a, b, c) { - var d, - e = P.createElementNS("http://www.w3.org/2000/svg", a), - f = /([a-z])([A-Z])/g; - - for (d in c) { - e.setAttributeNS(null, d.replace(f, "$1-$2").toLowerCase(), c[d]); - } - - return b.appendChild(e), e; - }, - La = P.documentElement || {}, - Ma = function () { - var a, - b, - c, - d = p || /Android/i.test(U) && !_gsScope.chrome; - return P.createElementNS && La.appendChild && !d && (a = Ka("svg", La), b = Ka("rect", a, { - width: 100, - height: 50, - x: 100 - }), c = b.getBoundingClientRect().width, b.style[Ga] = "50% 50%", b.style[Ea] = "scaleX(0.5)", d = c === b.getBoundingClientRect().width && !(n && Ha), La.removeChild(a)), d; - }(), - Na = function Na(a, b, c, d, e, f) { - var h, - i, - j, - k, - l, - m, - n, - o, - p, - q, - r, - s, - t, - u, - v = a._gsTransform, - w = Sa(a, !0); - v && (t = v.xOrigin, u = v.yOrigin), (!d || (h = d.split(" ")).length < 2) && (n = a.getBBox(), 0 === n.x && 0 === n.y && n.width + n.height === 0 && (n = { - x: parseFloat(a.hasAttribute("x") ? a.getAttribute("x") : a.hasAttribute("cx") ? a.getAttribute("cx") : 0) || 0, - y: parseFloat(a.hasAttribute("y") ? a.getAttribute("y") : a.hasAttribute("cy") ? a.getAttribute("cy") : 0) || 0, - width: 0, - height: 0 - }), b = ja(b).split(" "), h = [(-1 !== b[0].indexOf("%") ? parseFloat(b[0]) / 100 * n.width : parseFloat(b[0])) + n.x, (-1 !== b[1].indexOf("%") ? parseFloat(b[1]) / 100 * n.height : parseFloat(b[1])) + n.y]), c.xOrigin = k = parseFloat(h[0]), c.yOrigin = l = parseFloat(h[1]), d && w !== Ra && (m = w[0], n = w[1], o = w[2], p = w[3], q = w[4], r = w[5], s = m * p - n * o, s && (i = k * (p / s) + l * (-o / s) + (o * r - p * q) / s, j = k * (-n / s) + l * (m / s) - (m * r - n * q) / s, k = c.xOrigin = h[0] = i, l = c.yOrigin = h[1] = j)), v && (f && (c.xOffset = v.xOffset, c.yOffset = v.yOffset, v = c), e || e !== !1 && g.defaultSmoothOrigin !== !1 ? (i = k - t, j = l - u, v.xOffset += i * w[0] + j * w[2] - i, v.yOffset += i * w[1] + j * w[3] - j) : v.xOffset = v.yOffset = 0), f || a.setAttribute("data-svg-origin", h.join(" ")); - }, - Oa = function Oa(a) { - var b, - c = Q("svg", this.ownerSVGElement && this.ownerSVGElement.getAttribute("xmlns") || "http://www.w3.org/2000/svg"), - d = this.parentNode, - e = this.nextSibling, - f = this.style.cssText; - if (La.appendChild(c), c.appendChild(this), this.style.display = "block", a) try { - b = this.getBBox(), this._originalGetBBox = this.getBBox, this.getBBox = Oa; - } catch (g) {} else this._originalGetBBox && (b = this._originalGetBBox()); - return e ? d.insertBefore(this, e) : d.appendChild(this), La.removeChild(c), this.style.cssText = f, b; - }, - Pa = function Pa(a) { - try { - return a.getBBox(); - } catch (b) { - return Oa.call(a, !0); - } - }, - Qa = function Qa(a) { - return !(!Ja || !a.getCTM || a.parentNode && !a.ownerSVGElement || !Pa(a)); - }, - Ra = [1, 0, 0, 1, 0, 0], - Sa = function Sa(a, b) { - var c, - d, - e, - f, - g, - h, - i, - j = a._gsTransform || new Ia(), - k = 1e5, - l = a.style; - if (Ea ? d = ba(a, Fa, null, !0) : a.currentStyle && (d = a.currentStyle.filter.match(H), d = d && 4 === d.length ? [d[0].substr(4), Number(d[2].substr(4)), Number(d[1].substr(4)), d[3].substr(4), j.x || 0, j.y || 0].join(",") : ""), c = !d || "none" === d || "matrix(1, 0, 0, 1, 0, 0)" === d, Ea && c && !a.offsetParent && a !== La && (f = l.display, l.display = "block", i = a.parentNode, i && a.offsetParent || (g = 1, h = a.nextSibling, La.appendChild(a)), d = ba(a, Fa, null, !0), c = !d || "none" === d || "matrix(1, 0, 0, 1, 0, 0)" === d, f ? l.display = f : Xa(l, "display"), g && (h ? i.insertBefore(a, h) : i ? i.appendChild(a) : La.removeChild(a))), (j.svg || a.getCTM && Qa(a)) && (c && -1 !== (l[Ea] + "").indexOf("matrix") && (d = l[Ea], c = 0), e = a.getAttribute("transform"), c && e && (e = a.transform.baseVal.consolidate().matrix, d = "matrix(" + e.a + "," + e.b + "," + e.c + "," + e.d + "," + e.e + "," + e.f + ")", c = 0)), c) return Ra; - - for (e = (d || "").match(s) || [], ya = e.length; --ya > -1;) { - f = Number(e[ya]), e[ya] = (g = f - (f |= 0)) ? (g * k + (0 > g ? -.5 : .5) | 0) / k + f : f; - } - - return b && e.length > 6 ? [e[0], e[1], e[4], e[5], e[12], e[13]] : e; - }, - Ta = T.getTransform = function (a, c, d, e) { - if (a._gsTransform && d && !e) return a._gsTransform; - var f, - h, - i, - j, - k, - l, - m = d ? a._gsTransform || new Ia() : new Ia(), - n = m.scaleX < 0, - o = 2e-5, - p = 1e5, - q = Ha ? parseFloat(ba(a, Ga, c, !1, "0 0 0").split(" ")[2]) || m.zOrigin || 0 : 0, - r = parseFloat(g.defaultTransformPerspective) || 0; - - if (m.svg = !(!a.getCTM || !Qa(a)), m.svg && (Na(a, ba(a, Ga, c, !1, "50% 50%") + "", m, a.getAttribute("data-svg-origin")), Ca = g.useSVGTransformAttr || Ma), f = Sa(a), f !== Ra) { - if (16 === f.length) { - var s, - t, - u, - v, - w, - x = f[0], - y = f[1], - z = f[2], - A = f[3], - B = f[4], - C = f[5], - D = f[6], - E = f[7], - F = f[8], - G = f[9], - H = f[10], - I = f[12], - J = f[13], - K = f[14], - L = f[11], - N = Math.atan2(D, H); - m.zOrigin && (K = -m.zOrigin, I = F * K - f[12], J = G * K - f[13], K = H * K + m.zOrigin - f[14]), m.rotationX = N * M, N && (v = Math.cos(-N), w = Math.sin(-N), s = B * v + F * w, t = C * v + G * w, u = D * v + H * w, F = B * -w + F * v, G = C * -w + G * v, H = D * -w + H * v, L = E * -w + L * v, B = s, C = t, D = u), N = Math.atan2(-z, H), m.rotationY = N * M, N && (v = Math.cos(-N), w = Math.sin(-N), s = x * v - F * w, t = y * v - G * w, u = z * v - H * w, G = y * w + G * v, H = z * w + H * v, L = A * w + L * v, x = s, y = t, z = u), N = Math.atan2(y, x), m.rotation = N * M, N && (v = Math.cos(N), w = Math.sin(N), s = x * v + y * w, t = B * v + C * w, u = F * v + G * w, y = y * v - x * w, C = C * v - B * w, G = G * v - F * w, x = s, B = t, F = u), m.rotationX && Math.abs(m.rotationX) + Math.abs(m.rotation) > 359.9 && (m.rotationX = m.rotation = 0, m.rotationY = 180 - m.rotationY), N = Math.atan2(B, C), m.scaleX = (Math.sqrt(x * x + y * y + z * z) * p + .5 | 0) / p, m.scaleY = (Math.sqrt(C * C + D * D) * p + .5 | 0) / p, m.scaleZ = (Math.sqrt(F * F + G * G + H * H) * p + .5 | 0) / p, x /= m.scaleX, B /= m.scaleY, y /= m.scaleX, C /= m.scaleY, Math.abs(N) > o ? (m.skewX = N * M, B = 0, "simple" !== m.skewType && (m.scaleY *= 1 / Math.cos(N))) : m.skewX = 0, m.perspective = L ? 1 / (0 > L ? -L : L) : 0, m.x = I, m.y = J, m.z = K, m.svg && (m.x -= m.xOrigin - (m.xOrigin * x - m.yOrigin * B), m.y -= m.yOrigin - (m.yOrigin * y - m.xOrigin * C)); - } else if (!Ha || e || !f.length || m.x !== f[4] || m.y !== f[5] || !m.rotationX && !m.rotationY) { - var O = f.length >= 6, - P = O ? f[0] : 1, - Q = f[1] || 0, - R = f[2] || 0, - S = O ? f[3] : 1; - m.x = f[4] || 0, m.y = f[5] || 0, i = Math.sqrt(P * P + Q * Q), j = Math.sqrt(S * S + R * R), k = P || Q ? Math.atan2(Q, P) * M : m.rotation || 0, l = R || S ? Math.atan2(R, S) * M + k : m.skewX || 0, m.scaleX = i, m.scaleY = j, m.rotation = k, m.skewX = l, Ha && (m.rotationX = m.rotationY = m.z = 0, m.perspective = r, m.scaleZ = 1), m.svg && (m.x -= m.xOrigin - (m.xOrigin * P + m.yOrigin * R), m.y -= m.yOrigin - (m.xOrigin * Q + m.yOrigin * S)); - } - - Math.abs(m.skewX) > 90 && Math.abs(m.skewX) < 270 && (n ? (m.scaleX *= -1, m.skewX += m.rotation <= 0 ? 180 : -180, m.rotation += m.rotation <= 0 ? 180 : -180) : (m.scaleY *= -1, m.skewX += m.skewX <= 0 ? 180 : -180)), m.zOrigin = q; - - for (h in m) { - m[h] < o && m[h] > -o && (m[h] = 0); - } - } - - return d && (a._gsTransform = m, m.svg && (Ca && a.style[Ea] ? b.delayedCall(.001, function () { - Xa(a.style, Ea); - }) : !Ca && a.getAttribute("transform") && b.delayedCall(.001, function () { - a.removeAttribute("transform"); - }))), m; - }, - Ua = function Ua(a) { - var b, - c, - d = this.data, - e = -d.rotation * L, - f = e + d.skewX * L, - g = 1e5, - h = (Math.cos(e) * d.scaleX * g | 0) / g, - i = (Math.sin(e) * d.scaleX * g | 0) / g, - j = (Math.sin(f) * -d.scaleY * g | 0) / g, - k = (Math.cos(f) * d.scaleY * g | 0) / g, - l = this.t.style, - m = this.t.currentStyle; - - if (m) { - c = i, i = -j, j = -c, b = m.filter, l.filter = ""; - var n, - o, - q = this.t.offsetWidth, - r = this.t.offsetHeight, - s = "absolute" !== m.position, - t = "progid:DXImageTransform.Microsoft.Matrix(M11=" + h + ", M12=" + i + ", M21=" + j + ", M22=" + k, - u = d.x + q * d.xPercent / 100, - v = d.y + r * d.yPercent / 100; - - if (null != d.ox && (n = (d.oxp ? q * d.ox * .01 : d.ox) - q / 2, o = (d.oyp ? r * d.oy * .01 : d.oy) - r / 2, u += n - (n * h + o * i), v += o - (n * j + o * k)), s ? (n = q / 2, o = r / 2, t += ", Dx=" + (n - (n * h + o * i) + u) + ", Dy=" + (o - (n * j + o * k) + v) + ")") : t += ", sizingMethod='auto expand')", -1 !== b.indexOf("DXImageTransform.Microsoft.Matrix(") ? l.filter = b.replace(I, t) : l.filter = t + " " + b, (0 === a || 1 === a) && 1 === h && 0 === i && 0 === j && 1 === k && (s && -1 === t.indexOf("Dx=0, Dy=0") || y.test(b) && 100 !== parseFloat(RegExp.$1) || -1 === b.indexOf(b.indexOf("Alpha")) && l.removeAttribute("filter")), !s) { - var w, - z, - A, - B = 8 > p ? 1 : -1; - - for (n = d.ieOffsetX || 0, o = d.ieOffsetY || 0, d.ieOffsetX = Math.round((q - ((0 > h ? -h : h) * q + (0 > i ? -i : i) * r)) / 2 + u), d.ieOffsetY = Math.round((r - ((0 > k ? -k : k) * r + (0 > j ? -j : j) * q)) / 2 + v), ya = 0; 4 > ya; ya++) { - z = ha[ya], w = m[z], c = -1 !== w.indexOf("px") ? parseFloat(w) : ca(this.t, z, parseFloat(w), w.replace(x, "")) || 0, A = c !== d[z] ? 2 > ya ? -d.ieOffsetX : -d.ieOffsetY : 2 > ya ? n - d.ieOffsetX : o - d.ieOffsetY, l[z] = (d[z] = Math.round(c - A * (0 === ya || 2 === ya ? 1 : B))) + "px"; - } - } - } - }, - Va = T.set3DTransformRatio = T.setTransformRatio = function (a) { - var b, - c, - d, - e, - f, - g, - h, - i, - j, - k, - l, - m, - o, - p, - q, - r, - s, - t, - u, - v, - w, - x, - y, - z = this.data, - A = this.t.style, - B = z.rotation, - C = z.rotationX, - D = z.rotationY, - E = z.scaleX, - F = z.scaleY, - G = z.scaleZ, - H = z.x, - I = z.y, - J = z.z, - K = z.svg, - M = z.perspective, - N = z.force3D, - O = z.skewY, - P = z.skewX; - if (O && (P += O, B += O), ((1 === a || 0 === a) && "auto" === N && (this.tween._totalTime === this.tween._totalDuration || !this.tween._totalTime) || !N) && !J && !M && !D && !C && 1 === G || Ca && K || !Ha) return void (B || P || K ? (B *= L, x = P * L, y = 1e5, c = Math.cos(B) * E, f = Math.sin(B) * E, d = Math.sin(B - x) * -F, g = Math.cos(B - x) * F, x && "simple" === z.skewType && (b = Math.tan(x - O * L), b = Math.sqrt(1 + b * b), d *= b, g *= b, O && (b = Math.tan(O * L), b = Math.sqrt(1 + b * b), c *= b, f *= b)), K && (H += z.xOrigin - (z.xOrigin * c + z.yOrigin * d) + z.xOffset, I += z.yOrigin - (z.xOrigin * f + z.yOrigin * g) + z.yOffset, Ca && (z.xPercent || z.yPercent) && (q = this.t.getBBox(), H += .01 * z.xPercent * q.width, I += .01 * z.yPercent * q.height), q = 1e-6, q > H && H > -q && (H = 0), q > I && I > -q && (I = 0)), u = (c * y | 0) / y + "," + (f * y | 0) / y + "," + (d * y | 0) / y + "," + (g * y | 0) / y + "," + H + "," + I + ")", K && Ca ? this.t.setAttribute("transform", "matrix(" + u) : A[Ea] = (z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) matrix(" : "matrix(") + u) : A[Ea] = (z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) matrix(" : "matrix(") + E + ",0,0," + F + "," + H + "," + I + ")"); - if (n && (q = 1e-4, q > E && E > -q && (E = G = 2e-5), q > F && F > -q && (F = G = 2e-5), !M || z.z || z.rotationX || z.rotationY || (M = 0)), B || P) B *= L, r = c = Math.cos(B), s = f = Math.sin(B), P && (B -= P * L, r = Math.cos(B), s = Math.sin(B), "simple" === z.skewType && (b = Math.tan((P - O) * L), b = Math.sqrt(1 + b * b), r *= b, s *= b, z.skewY && (b = Math.tan(O * L), b = Math.sqrt(1 + b * b), c *= b, f *= b))), d = -s, g = r;else { - if (!(D || C || 1 !== G || M || K)) return void (A[Ea] = (z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) translate3d(" : "translate3d(") + H + "px," + I + "px," + J + "px)" + (1 !== E || 1 !== F ? " scale(" + E + "," + F + ")" : "")); - c = g = 1, d = f = 0; - } - k = 1, e = h = i = j = l = m = 0, o = M ? -1 / M : 0, p = z.zOrigin, q = 1e-6, v = ",", w = "0", B = D * L, B && (r = Math.cos(B), s = Math.sin(B), i = -s, l = o * -s, e = c * s, h = f * s, k = r, o *= r, c *= r, f *= r), B = C * L, B && (r = Math.cos(B), s = Math.sin(B), b = d * r + e * s, t = g * r + h * s, j = k * s, m = o * s, e = d * -s + e * r, h = g * -s + h * r, k *= r, o *= r, d = b, g = t), 1 !== G && (e *= G, h *= G, k *= G, o *= G), 1 !== F && (d *= F, g *= F, j *= F, m *= F), 1 !== E && (c *= E, f *= E, i *= E, l *= E), (p || K) && (p && (H += e * -p, I += h * -p, J += k * -p + p), K && (H += z.xOrigin - (z.xOrigin * c + z.yOrigin * d) + z.xOffset, I += z.yOrigin - (z.xOrigin * f + z.yOrigin * g) + z.yOffset), q > H && H > -q && (H = w), q > I && I > -q && (I = w), q > J && J > -q && (J = 0)), u = z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) matrix3d(" : "matrix3d(", u += (q > c && c > -q ? w : c) + v + (q > f && f > -q ? w : f) + v + (q > i && i > -q ? w : i), u += v + (q > l && l > -q ? w : l) + v + (q > d && d > -q ? w : d) + v + (q > g && g > -q ? w : g), C || D || 1 !== G ? (u += v + (q > j && j > -q ? w : j) + v + (q > m && m > -q ? w : m) + v + (q > e && e > -q ? w : e), u += v + (q > h && h > -q ? w : h) + v + (q > k && k > -q ? w : k) + v + (q > o && o > -q ? w : o) + v) : u += ",0,0,0,0,1,0,", u += H + v + I + v + J + v + (M ? 1 + -J / M : 1) + ")", A[Ea] = u; - }; - - j = Ia.prototype, j.x = j.y = j.z = j.skewX = j.skewY = j.rotation = j.rotationX = j.rotationY = j.zOrigin = j.xPercent = j.yPercent = j.xOffset = j.yOffset = 0, j.scaleX = j.scaleY = j.scaleZ = 1, Aa("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin", { - parser: function parser(a, b, c, d, f, h, i) { - if (d._lastParsedTransform === i) return f; - d._lastParsedTransform = i; - var j = i.scale && "function" == typeof i.scale ? i.scale : 0; - j && (i.scale = j(r, a)); - var k, - l, - m, - n, - o, - p, - s, - t, - u, - v = a._gsTransform, - w = a.style, - x = 1e-6, - y = Da.length, - z = i, - A = {}, - B = "transformOrigin", - C = Ta(a, e, !0, z.parseTransform), - D = z.transform && ("function" == typeof z.transform ? z.transform(r, q) : z.transform); - if (C.skewType = z.skewType || C.skewType || g.defaultSkewType, d._transform = C, "rotationZ" in z && (z.rotation = z.rotationZ), D && "string" == typeof D && Ea) l = R.style, l[Ea] = D, l.display = "block", l.position = "absolute", -1 !== D.indexOf("%") && (l.width = ba(a, "width"), l.height = ba(a, "height")), P.body.appendChild(R), k = Ta(R, null, !1), "simple" === C.skewType && (k.scaleY *= Math.cos(k.skewX * L)), C.svg && (p = C.xOrigin, s = C.yOrigin, k.x -= C.xOffset, k.y -= C.yOffset, (z.transformOrigin || z.svgOrigin) && (D = {}, Na(a, ja(z.transformOrigin), D, z.svgOrigin, z.smoothOrigin, !0), p = D.xOrigin, s = D.yOrigin, k.x -= D.xOffset - C.xOffset, k.y -= D.yOffset - C.yOffset), (p || s) && (t = Sa(R, !0), k.x -= p - (p * t[0] + s * t[2]), k.y -= s - (p * t[1] + s * t[3]))), P.body.removeChild(R), k.perspective || (k.perspective = C.perspective), null != z.xPercent && (k.xPercent = la(z.xPercent, C.xPercent)), null != z.yPercent && (k.yPercent = la(z.yPercent, C.yPercent));else if ("object" == _typeof(z)) { - if (k = { - scaleX: la(null != z.scaleX ? z.scaleX : z.scale, C.scaleX), - scaleY: la(null != z.scaleY ? z.scaleY : z.scale, C.scaleY), - scaleZ: la(z.scaleZ, C.scaleZ), - x: la(z.x, C.x), - y: la(z.y, C.y), - z: la(z.z, C.z), - xPercent: la(z.xPercent, C.xPercent), - yPercent: la(z.yPercent, C.yPercent), - perspective: la(z.transformPerspective, C.perspective) - }, o = z.directionalRotation, null != o) if ("object" == _typeof(o)) for (l in o) { - z[l] = o[l]; - } else z.rotation = o; - "string" == typeof z.x && -1 !== z.x.indexOf("%") && (k.x = 0, k.xPercent = la(z.x, C.xPercent)), "string" == typeof z.y && -1 !== z.y.indexOf("%") && (k.y = 0, k.yPercent = la(z.y, C.yPercent)), k.rotation = ma("rotation" in z ? z.rotation : "shortRotation" in z ? z.shortRotation + "_short" : C.rotation, C.rotation, "rotation", A), Ha && (k.rotationX = ma("rotationX" in z ? z.rotationX : "shortRotationX" in z ? z.shortRotationX + "_short" : C.rotationX || 0, C.rotationX, "rotationX", A), k.rotationY = ma("rotationY" in z ? z.rotationY : "shortRotationY" in z ? z.shortRotationY + "_short" : C.rotationY || 0, C.rotationY, "rotationY", A)), k.skewX = ma(z.skewX, C.skewX), k.skewY = ma(z.skewY, C.skewY); - } - - for (Ha && null != z.force3D && (C.force3D = z.force3D, n = !0), m = C.force3D || C.z || C.rotationX || C.rotationY || k.z || k.rotationX || k.rotationY || k.perspective, m || null == z.scale || (k.scaleZ = 1); --y > -1;) { - u = Da[y], D = k[u] - C[u], (D > x || -x > D || null != z[u] || null != N[u]) && (n = !0, f = new va(C, u, C[u], D, f), u in A && (f.e = A[u]), f.xs0 = 0, f.plugin = h, d._overwriteProps.push(f.n)); - } - - return D = "function" == typeof z.transformOrigin ? z.transformOrigin(r, q) : z.transformOrigin, C.svg && (D || z.svgOrigin) && (p = C.xOffset, s = C.yOffset, Na(a, ja(D), k, z.svgOrigin, z.smoothOrigin), f = wa(C, "xOrigin", (v ? C : k).xOrigin, k.xOrigin, f, B), f = wa(C, "yOrigin", (v ? C : k).yOrigin, k.yOrigin, f, B), (p !== C.xOffset || s !== C.yOffset) && (f = wa(C, "xOffset", v ? p : C.xOffset, C.xOffset, f, B), f = wa(C, "yOffset", v ? s : C.yOffset, C.yOffset, f, B)), D = "0px 0px"), (D || Ha && m && C.zOrigin) && (Ea ? (n = !0, u = Ga, D || (D = (ba(a, u, e, !1, "50% 50%") + "").split(" "), D = D[0] + " " + D[1] + " " + C.zOrigin + "px"), D += "", f = new va(w, u, 0, 0, f, -1, B), f.b = w[u], f.plugin = h, Ha ? (l = C.zOrigin, D = D.split(" "), C.zOrigin = (D.length > 2 ? parseFloat(D[2]) : l) || 0, f.xs0 = f.e = D[0] + " " + (D[1] || "50%") + " 0px", f = new va(C, "zOrigin", 0, 0, f, -1, f.n), f.b = l, f.xs0 = f.e = C.zOrigin) : f.xs0 = f.e = D) : ja(D + "", C)), n && (d._transformType = C.svg && Ca || !m && 3 !== this._transformType ? 2 : 3), j && (i.scale = j), f; - }, - allowFunc: !0, - prefix: !0 - }), Aa("boxShadow", { - defaultValue: "0px 0px 0px 0px #999", - prefix: !0, - color: !0, - multi: !0, - keyword: "inset" - }), Aa("clipPath", { - defaultValue: "inset(0%)", - prefix: !0, - multi: !0, - formatter: sa("inset(0% 0% 0% 0%)", !1, !0) - }), Aa("borderRadius", { - defaultValue: "0px", - parser: function parser(a, b, c, f, g, h) { - b = this.format(b); - var i, - j, - k, - l, - m, - n, - o, - p, - q, - r, - s, - t, - u, - v, - w, - x, - y = ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"], - z = a.style; - - for (q = parseFloat(a.offsetWidth), r = parseFloat(a.offsetHeight), i = b.split(" "), j = 0; j < y.length; j++) { - this.p.indexOf("border") && (y[j] = $(y[j])), m = l = ba(a, y[j], e, !1, "0px"), -1 !== m.indexOf(" ") && (l = m.split(" "), m = l[0], l = l[1]), n = k = i[j], o = parseFloat(m), t = m.substr((o + "").length), u = "=" === n.charAt(1), u ? (p = parseInt(n.charAt(0) + "1", 10), n = n.substr(2), p *= parseFloat(n), s = n.substr((p + "").length - (0 > p ? 1 : 0)) || "") : (p = parseFloat(n), s = n.substr((p + "").length)), "" === s && (s = d[c] || t), s !== t && (v = ca(a, "borderLeft", o, t), w = ca(a, "borderTop", o, t), "%" === s ? (m = v / q * 100 + "%", l = w / r * 100 + "%") : "em" === s ? (x = ca(a, "borderLeft", 1, "em"), m = v / x + "em", l = w / x + "em") : (m = v + "px", l = w + "px"), u && (n = parseFloat(m) + p + s, k = parseFloat(l) + p + s)), g = xa(z, y[j], m + " " + l, n + " " + k, !1, "0px", g); - } - - return g; - }, - prefix: !0, - formatter: sa("0px 0px 0px 0px", !1, !0) - }), Aa("borderBottomLeftRadius,borderBottomRightRadius,borderTopLeftRadius,borderTopRightRadius", { - defaultValue: "0px", - parser: function parser(a, b, c, d, f, g) { - return xa(a.style, c, this.format(ba(a, c, e, !1, "0px 0px")), this.format(b), !1, "0px", f); - }, - prefix: !0, - formatter: sa("0px 0px", !1, !0) - }), Aa("backgroundPosition", { - defaultValue: "0 0", - parser: function parser(a, b, c, d, f, g) { - var h, - i, - j, - k, - l, - m, - n = "background-position", - o = e || aa(a, null), - q = this.format((o ? p ? o.getPropertyValue(n + "-x") + " " + o.getPropertyValue(n + "-y") : o.getPropertyValue(n) : a.currentStyle.backgroundPositionX + " " + a.currentStyle.backgroundPositionY) || "0 0"), - r = this.format(b); - - if (-1 !== q.indexOf("%") != (-1 !== r.indexOf("%")) && r.split(",").length < 2 && (m = ba(a, "backgroundImage").replace(E, ""), m && "none" !== m)) { - for (h = q.split(" "), i = r.split(" "), S.setAttribute("src", m), j = 2; --j > -1;) { - q = h[j], k = -1 !== q.indexOf("%"), k !== (-1 !== i[j].indexOf("%")) && (l = 0 === j ? a.offsetWidth - S.width : a.offsetHeight - S.height, h[j] = k ? parseFloat(q) / 100 * l + "px" : parseFloat(q) / l * 100 + "%"); - } - - q = h.join(" "); - } - - return this.parseComplex(a.style, q, r, f, g); - }, - formatter: ja - }), Aa("backgroundSize", { - defaultValue: "0 0", - formatter: function formatter(a) { - return a += "", "co" === a.substr(0, 2) ? a : ja(-1 === a.indexOf(" ") ? a + " " + a : a); - } - }), Aa("perspective", { - defaultValue: "0px", - prefix: !0 - }), Aa("perspectiveOrigin", { - defaultValue: "50% 50%", - prefix: !0 - }), Aa("transformStyle", { - prefix: !0 - }), Aa("backfaceVisibility", { - prefix: !0 - }), Aa("userSelect", { - prefix: !0 - }), Aa("margin", { - parser: ta("marginTop,marginRight,marginBottom,marginLeft") - }), Aa("padding", { - parser: ta("paddingTop,paddingRight,paddingBottom,paddingLeft") - }), Aa("clip", { - defaultValue: "rect(0px,0px,0px,0px)", - parser: function parser(a, b, c, d, f, g) { - var h, i, j; - return 9 > p ? (i = a.currentStyle, j = 8 > p ? " " : ",", h = "rect(" + i.clipTop + j + i.clipRight + j + i.clipBottom + j + i.clipLeft + ")", b = this.format(b).split(",").join(j)) : (h = this.format(ba(a, this.p, e, !1, this.dflt)), b = this.format(b)), this.parseComplex(a.style, h, b, f, g); - } - }), Aa("textShadow", { - defaultValue: "0px 0px 0px #999", - color: !0, - multi: !0 - }), Aa("autoRound,strictUnits", { - parser: function parser(a, b, c, d, e) { - return e; - } - }), Aa("border", { - defaultValue: "0px solid #000", - parser: function parser(a, b, c, d, f, g) { - var h = ba(a, "borderTopWidth", e, !1, "0px"), - i = this.format(b).split(" "), - j = i[0].replace(x, ""); - return "px" !== j && (h = parseFloat(h) / ca(a, "borderTopWidth", 1, j) + j), this.parseComplex(a.style, this.format(h + " " + ba(a, "borderTopStyle", e, !1, "solid") + " " + ba(a, "borderTopColor", e, !1, "#000")), i.join(" "), f, g); - }, - color: !0, - formatter: function formatter(a) { - var b = a.split(" "); - return b[0] + " " + (b[1] || "solid") + " " + (a.match(ra) || ["#000"])[0]; - } - }), Aa("borderWidth", { - parser: ta("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth") - }), Aa("float,cssFloat,styleFloat", { - parser: function parser(a, b, c, d, e, f) { - var g = a.style, - h = "cssFloat" in g ? "cssFloat" : "styleFloat"; - return new va(g, h, 0, 0, e, -1, c, !1, 0, g[h], b); - } - }); - - var Wa = function Wa(a) { - var b, - c = this.t, - d = c.filter || ba(this.data, "filter") || "", - e = this.s + this.c * a | 0; - 100 === e && (-1 === d.indexOf("atrix(") && -1 === d.indexOf("radient(") && -1 === d.indexOf("oader(") ? (c.removeAttribute("filter"), b = !ba(this.data, "filter")) : (c.filter = d.replace(A, ""), b = !0)), b || (this.xn1 && (c.filter = d = d || "alpha(opacity=" + e + ")"), -1 === d.indexOf("pacity") ? 0 === e && this.xn1 || (c.filter = d + " alpha(opacity=" + e + ")") : c.filter = d.replace(y, "opacity=" + e)); - }; - - Aa("opacity,alpha,autoAlpha", { - defaultValue: "1", - parser: function parser(a, b, c, d, f, g) { - var h = parseFloat(ba(a, "opacity", e, !1, "1")), - i = a.style, - j = "autoAlpha" === c; - return "string" == typeof b && "=" === b.charAt(1) && (b = ("-" === b.charAt(0) ? -1 : 1) * parseFloat(b.substr(2)) + h), j && 1 === h && "hidden" === ba(a, "visibility", e) && 0 !== b && (h = 0), V ? f = new va(i, "opacity", h, b - h, f) : (f = new va(i, "opacity", 100 * h, 100 * (b - h), f), f.xn1 = j ? 1 : 0, i.zoom = 1, f.type = 2, f.b = "alpha(opacity=" + f.s + ")", f.e = "alpha(opacity=" + (f.s + f.c) + ")", f.data = a, f.plugin = g, f.setRatio = Wa), j && (f = new va(i, "visibility", 0, 0, f, -1, null, !1, 0, 0 !== h ? "inherit" : "hidden", 0 === b ? "hidden" : "inherit"), f.xs0 = "inherit", d._overwriteProps.push(f.n), d._overwriteProps.push(c)), f; - } - }); - - var Xa = function Xa(a, b) { - b && (a.removeProperty ? (("ms" === b.substr(0, 2) || "webkit" === b.substr(0, 6)) && (b = "-" + b), a.removeProperty(b.replace(C, "-$1").toLowerCase())) : a.removeAttribute(b)); - }, - Ya = function Ya(a) { - if (this.t._gsClassPT = this, 1 === a || 0 === a) { - this.t.setAttribute("class", 0 === a ? this.b : this.e); - - for (var b = this.data, c = this.t.style; b;) { - b.v ? c[b.p] = b.v : Xa(c, b.p), b = b._next; - } - - 1 === a && this.t._gsClassPT === this && (this.t._gsClassPT = null); - } else this.t.getAttribute("class") !== this.e && this.t.setAttribute("class", this.e); - }; - - Aa("className", { - parser: function parser(a, b, d, f, g, h, i) { - var j, - k, - l, - m, - n, - o = a.getAttribute("class") || "", - p = a.style.cssText; - - if (g = f._classNamePT = new va(a, d, 0, 0, g, 2), g.setRatio = Ya, g.pr = -11, c = !0, g.b = o, k = ea(a, e), l = a._gsClassPT) { - for (m = {}, n = l.data; n;) { - m[n.p] = 1, n = n._next; - } - - l.setRatio(1); - } - - return a._gsClassPT = g, g.e = "=" !== b.charAt(1) ? b : o.replace(new RegExp("(?:\\s|^)" + b.substr(2) + "(?![\\w-])"), "") + ("+" === b.charAt(0) ? " " + b.substr(2) : ""), a.setAttribute("class", g.e), j = fa(a, k, ea(a), i, m), a.setAttribute("class", o), g.data = j.firstMPT, a.style.cssText !== p && (a.style.cssText = p), g = g.xfirst = f.parse(a, j.difs, g, h); - } - }); - - var Za = function Za(a) { - if ((1 === a || 0 === a) && this.data._totalTime === this.data._totalDuration && "isFromStart" !== this.data.data) { - var b, - c, - d, - e, - f, - g = this.t.style, - h = i.transform.parse; - if ("all" === this.e) g.cssText = "", e = !0;else for (b = this.e.split(" ").join("").split(","), d = b.length; --d > -1;) { - c = b[d], i[c] && (i[c].parse === h ? e = !0 : c = "transformOrigin" === c ? Ga : i[c].p), Xa(g, c); - } - e && (Xa(g, Ea), f = this.t._gsTransform, f && (f.svg && (this.t.removeAttribute("data-svg-origin"), this.t.removeAttribute("transform")), delete this.t._gsTransform)); - } - }; - - for (Aa("clearProps", { - parser: function parser(a, b, d, e, f) { - return f = new va(a, d, 0, 0, f, 2), f.setRatio = Za, f.e = b, f.pr = -10, f.data = e._tween, c = !0, f; - } - }), j = "bezier,throwProps,physicsProps,physics2D".split(","), ya = j.length; ya--;) { - Ba(j[ya]); - } - - j = g.prototype, j._firstPT = j._lastParsedTransform = j._transform = null, j._onInitTween = function (a, b, h, j) { - if (!a.nodeType) return !1; - this._target = q = a, this._tween = h, this._vars = b, r = j, k = b.autoRound, c = !1, d = b.suffixMap || g.suffixMap, e = aa(a, ""), f = this._overwriteProps; - var n, - p, - s, - t, - u, - v, - w, - x, - y, - A = a.style; - - if (l && "" === A.zIndex && (n = ba(a, "zIndex", e), ("auto" === n || "" === n) && this._addLazySet(A, "zIndex", 0)), "string" == typeof b && (t = A.cssText, n = ea(a, e), A.cssText = t + ";" + b, n = fa(a, n, ea(a)).difs, !V && z.test(b) && (n.opacity = parseFloat(RegExp.$1)), b = n, A.cssText = t), b.className ? this._firstPT = p = i.className.parse(a, b.className, "className", this, null, null, b) : this._firstPT = p = this.parse(a, b, null), this._transformType) { - for (y = 3 === this._transformType, Ea ? m && (l = !0, "" === A.zIndex && (w = ba(a, "zIndex", e), ("auto" === w || "" === w) && this._addLazySet(A, "zIndex", 0)), o && this._addLazySet(A, "WebkitBackfaceVisibility", this._vars.WebkitBackfaceVisibility || (y ? "visible" : "hidden"))) : A.zoom = 1, s = p; s && s._next;) { - s = s._next; - } - - x = new va(a, "transform", 0, 0, null, 2), this._linkCSSP(x, null, s), x.setRatio = Ea ? Va : Ua, x.data = this._transform || Ta(a, e, !0), x.tween = h, x.pr = -1, f.pop(); - } - - if (c) { - for (; p;) { - for (v = p._next, s = t; s && s.pr > p.pr;) { - s = s._next; - } - - (p._prev = s ? s._prev : u) ? p._prev._next = p : t = p, (p._next = s) ? s._prev = p : u = p, p = v; - } - - this._firstPT = t; - } - - return !0; - }, j.parse = function (a, b, c, f) { - var g, - h, - j, - l, - m, - n, - o, - p, - s, - t, - u = a.style; - - for (g in b) { - if (n = b[g], h = i[g], "function" != typeof n || h && h.allowFunc || (n = n(r, q)), h) c = h.parse(a, n, g, this, c, f, b);else { - if ("--" === g.substr(0, 2)) { - this._tween._propLookup[g] = this._addTween.call(this._tween, a.style, "setProperty", aa(a).getPropertyValue(g) + "", n + "", g, !1, g); - continue; - } - - m = ba(a, g, e) + "", s = "string" == typeof n, "color" === g || "fill" === g || "stroke" === g || -1 !== g.indexOf("Color") || s && B.test(n) ? (s || (n = pa(n), n = (n.length > 3 ? "rgba(" : "rgb(") + n.join(",") + ")"), c = xa(u, g, m, n, !0, "transparent", c, 0, f)) : s && K.test(n) ? c = xa(u, g, m, n, !0, null, c, 0, f) : (j = parseFloat(m), o = j || 0 === j ? m.substr((j + "").length) : "", ("" === m || "auto" === m) && ("width" === g || "height" === g ? (j = ia(a, g, e), o = "px") : "left" === g || "top" === g ? (j = da(a, g, e), o = "px") : (j = "opacity" !== g ? 0 : 1, o = "")), t = s && "=" === n.charAt(1), t ? (l = parseInt(n.charAt(0) + "1", 10), n = n.substr(2), l *= parseFloat(n), p = n.replace(x, "")) : (l = parseFloat(n), p = s ? n.replace(x, "") : ""), "" === p && (p = g in d ? d[g] : o), n = l || 0 === l ? (t ? l + j : l) + p : b[g], o !== p && ("" !== p || "lineHeight" === g) && (l || 0 === l) && j && (j = ca(a, g, j, o), "%" === p ? (j /= ca(a, g, 100, "%") / 100, b.strictUnits !== !0 && (m = j + "%")) : "em" === p || "rem" === p || "vw" === p || "vh" === p ? j /= ca(a, g, 1, p) : "px" !== p && (l = ca(a, g, l, p), p = "px"), t && (l || 0 === l) && (n = l + j + p)), t && (l += j), !j && 0 !== j || !l && 0 !== l ? void 0 !== u[g] && (n || n + "" != "NaN" && null != n) ? (c = new va(u, g, l || j || 0, 0, c, -1, g, !1, 0, m, n), c.xs0 = "none" !== n || "display" !== g && -1 === g.indexOf("Style") ? n : m) : X("invalid " + g + " tween value: " + b[g]) : (c = new va(u, g, j, l - j, c, 0, g, k !== !1 && ("px" === p || "zIndex" === g), 0, m, n), c.xs0 = p)); - } - f && c && !c.plugin && (c.plugin = f); - } - - return c; - }, j.setRatio = function (a) { - var b, - c, - d, - e = this._firstPT, - f = 1e-6; - if (1 !== a || this._tween._time !== this._tween._duration && 0 !== this._tween._time) { - if (a || this._tween._time !== this._tween._duration && 0 !== this._tween._time || this._tween._rawPrevTime === -1e-6) for (; e;) { - if (b = e.c * a + e.s, e.r ? b = e.r(b) : f > b && b > -f && (b = 0), e.type) { - if (1 === e.type) { - if (d = e.l, 2 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2;else if (3 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2 + e.xn2 + e.xs3;else if (4 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2 + e.xn2 + e.xs3 + e.xn3 + e.xs4;else if (5 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2 + e.xn2 + e.xs3 + e.xn3 + e.xs4 + e.xn4 + e.xs5;else { - for (c = e.xs0 + b + e.xs1, d = 1; d < e.l; d++) { - c += e["xn" + d] + e["xs" + (d + 1)]; - } - - e.t[e.p] = c; - } - } else -1 === e.type ? e.t[e.p] = e.xs0 : e.setRatio && e.setRatio(a); - } else e.t[e.p] = b + e.xs0; - e = e._next; - } else for (; e;) { - 2 !== e.type ? e.t[e.p] = e.b : e.setRatio(a), e = e._next; - } - } else for (; e;) { - if (2 !== e.type) { - if (e.r && -1 !== e.type) { - if (b = e.r(e.s + e.c), e.type) { - if (1 === e.type) { - for (d = e.l, c = e.xs0 + b + e.xs1, d = 1; d < e.l; d++) { - c += e["xn" + d] + e["xs" + (d + 1)]; - } - - e.t[e.p] = c; - } - } else e.t[e.p] = b + e.xs0; - } else e.t[e.p] = e.e; - } else e.setRatio(a); - e = e._next; - } - }, j._enableTransforms = function (a) { - this._transform = this._transform || Ta(this._target, e, !0), this._transformType = this._transform.svg && Ca || !a && 3 !== this._transformType ? 2 : 3; - }; - - var $a = function $a(a) { - this.t[this.p] = this.e, this.data._linkCSSP(this, this._next, null, !0); - }; - - j._addLazySet = function (a, b, c) { - var d = this._firstPT = new va(a, b, 0, 0, this._firstPT, 2); - d.e = c, d.setRatio = $a, d.data = this; - }, j._linkCSSP = function (a, b, c, d) { - return a && (b && (b._prev = a), a._next && (a._next._prev = a._prev), a._prev ? a._prev._next = a._next : this._firstPT === a && (this._firstPT = a._next, d = !0), c ? c._next = a : d || null !== this._firstPT || (this._firstPT = a), a._next = b, a._prev = c), a; - }, j._mod = function (a) { - for (var b = this._firstPT; b;) { - "function" == typeof a[b.p] && (b.r = a[b.p]), b = b._next; - } - }, j._kill = function (b) { - var c, - d, - e, - f = b; - - if (b.autoAlpha || b.alpha) { - f = {}; - - for (d in b) { - f[d] = b[d]; - } - - f.opacity = 1, f.autoAlpha && (f.visibility = 1); - } - - for (b.className && (c = this._classNamePT) && (e = c.xfirst, e && e._prev ? this._linkCSSP(e._prev, c._next, e._prev._prev) : e === this._firstPT && (this._firstPT = c._next), c._next && this._linkCSSP(c._next, c._next._next, e._prev), this._classNamePT = null), c = this._firstPT; c;) { - c.plugin && c.plugin !== d && c.plugin._kill && (c.plugin._kill(b), d = c.plugin), c = c._next; - } - - return a.prototype._kill.call(this, f); - }; - - var _a = function _a(a, b, c) { - var d, e, f, g; - if (a.slice) for (e = a.length; --e > -1;) { - _a(a[e], b, c); - } else for (d = a.childNodes, e = d.length; --e > -1;) { - f = d[e], g = f.type, f.style && (b.push(ea(f)), c && c.push(f)), 1 !== g && 9 !== g && 11 !== g || !f.childNodes.length || _a(f, b, c); - } - }; - - return g.cascadeTo = function (a, c, d) { - var e, - f, - g, - h, - i = b.to(a, c, d), - j = [i], - k = [], - l = [], - m = [], - n = b._internals.reservedProps; - - for (a = i._targets || i.target, _a(a, k, m), i.render(c, !0, !0), _a(a, l), i.render(0, !0, !0), i._enabled(!0), e = m.length; --e > -1;) { - if (f = fa(m[e], k[e], l[e]), f.firstMPT) { - f = f.difs; - - for (g in d) { - n[g] && (f[g] = d[g]); - } - - h = {}; - - for (g in f) { - h[g] = k[e][g]; - } - - j.push(b.fromTo(m[e], c, h, f)); - } - } - - return j; - }, a.activate([g]), g; - }, !0); -}), _gsScope._gsDefine && _gsScope._gsQueue.pop()(), function (a) { - "use strict"; - - var b = function b() { - return (_gsScope.GreenSockGlobals || _gsScope)[a]; - }; - - "undefined" != typeof module && module.exports ? (require("../TweenLite.min.js"), module.exports = b()) : "function" == typeof define && define.amd && define(["TweenLite"], b); -}("CSSPlugin"); \ No newline at end of file diff --git a/resources/js/vendor/EasePack.min.js b/resources/js/vendor/EasePack.min.js deleted file mode 100644 index e6bc7556e..000000000 --- a/resources/js/vendor/EasePack.min.js +++ /dev/null @@ -1,170 +0,0 @@ -"use strict"; - -/*! - * VERSION: 1.16.0 - * DATE: 2018-02-15 - * UPDATES AND DOCS AT: http://greensock.com - * - * @license Copyright (c) 2008-2019, GreenSock. All rights reserved. - * This work is subject to the terms at http://greensock.com/standard-license or for - * Club GreenSock members, the software agreement that was issued with your membership. - * - * @author: Jack Doyle, jack@greensock.com - **/ -var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : void 0 || window; - -(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function () { - "use strict"; - - _gsScope._gsDefine("easing.Back", ["easing.Ease"], function (a) { - var b, - c, - d, - e, - f = _gsScope.GreenSockGlobals || _gsScope, - g = f.com.greensock, - h = 2 * Math.PI, - i = Math.PI / 2, - j = g._class, - k = function k(b, c) { - var d = j("easing." + b, function () {}, !0), - e = d.prototype = new a(); - return e.constructor = d, e.getRatio = c, d; - }, - l = a.register || function () {}, - m = function m(a, b, c, d, e) { - var f = j("easing." + a, { - easeOut: new b(), - easeIn: new c(), - easeInOut: new d() - }, !0); - return l(f, a), f; - }, - n = function n(a, b, c) { - this.t = a, this.v = b, c && (this.next = c, c.prev = this, this.c = c.v - b, this.gap = c.t - a); - }, - o = function o(b, c) { - var d = j("easing." + b, function (a) { - this._p1 = a || 0 === a ? a : 1.70158, this._p2 = 1.525 * this._p1; - }, !0), - e = d.prototype = new a(); - return e.constructor = d, e.getRatio = c, e.config = function (a) { - return new d(a); - }, d; - }, - p = m("Back", o("BackOut", function (a) { - return (a -= 1) * a * ((this._p1 + 1) * a + this._p1) + 1; - }), o("BackIn", function (a) { - return a * a * ((this._p1 + 1) * a - this._p1); - }), o("BackInOut", function (a) { - return (a *= 2) < 1 ? .5 * a * a * ((this._p2 + 1) * a - this._p2) : .5 * ((a -= 2) * a * ((this._p2 + 1) * a + this._p2) + 2); - })), - q = j("easing.SlowMo", function (a, b, c) { - b = b || 0 === b ? b : .7, null == a ? a = .7 : a > 1 && (a = 1), this._p = 1 !== a ? b : 0, this._p1 = (1 - a) / 2, this._p2 = a, this._p3 = this._p1 + this._p2, this._calcEnd = c === !0; - }, !0), - r = q.prototype = new a(); - - return r.constructor = q, r.getRatio = function (a) { - var b = a + (.5 - a) * this._p; - return a < this._p1 ? this._calcEnd ? 1 - (a = 1 - a / this._p1) * a : b - (a = 1 - a / this._p1) * a * a * a * b : a > this._p3 ? this._calcEnd ? 1 === a ? 0 : 1 - (a = (a - this._p3) / this._p1) * a : b + (a - b) * (a = (a - this._p3) / this._p1) * a * a * a : this._calcEnd ? 1 : b; - }, q.ease = new q(.7, .7), r.config = q.config = function (a, b, c) { - return new q(a, b, c); - }, b = j("easing.SteppedEase", function (a, b) { - a = a || 1, this._p1 = 1 / a, this._p2 = a + (b ? 0 : 1), this._p3 = b ? 1 : 0; - }, !0), r = b.prototype = new a(), r.constructor = b, r.getRatio = function (a) { - return 0 > a ? a = 0 : a >= 1 && (a = .999999999), ((this._p2 * a | 0) + this._p3) * this._p1; - }, r.config = b.config = function (a, c) { - return new b(a, c); - }, c = j("easing.ExpoScaleEase", function (a, b, c) { - this._p1 = Math.log(b / a), this._p2 = b - a, this._p3 = a, this._ease = c; - }, !0), r = c.prototype = new a(), r.constructor = c, r.getRatio = function (a) { - return this._ease && (a = this._ease.getRatio(a)), (this._p3 * Math.exp(this._p1 * a) - this._p3) / this._p2; - }, r.config = c.config = function (a, b, d) { - return new c(a, b, d); - }, d = j("easing.RoughEase", function (b) { - b = b || {}; - - for (var c, d, e, f, g, h, i = b.taper || "none", j = [], k = 0, l = 0 | (b.points || 20), m = l, o = b.randomize !== !1, p = b.clamp === !0, q = b.template instanceof a ? b.template : null, r = "number" == typeof b.strength ? .4 * b.strength : .4; --m > -1;) { - c = o ? Math.random() : 1 / l * m, d = q ? q.getRatio(c) : c, "none" === i ? e = r : "out" === i ? (f = 1 - c, e = f * f * r) : "in" === i ? e = c * c * r : .5 > c ? (f = 2 * c, e = f * f * .5 * r) : (f = 2 * (1 - c), e = f * f * .5 * r), o ? d += Math.random() * e - .5 * e : m % 2 ? d += .5 * e : d -= .5 * e, p && (d > 1 ? d = 1 : 0 > d && (d = 0)), j[k++] = { - x: c, - y: d - }; - } - - for (j.sort(function (a, b) { - return a.x - b.x; - }), h = new n(1, 1, null), m = l; --m > -1;) { - g = j[m], h = new n(g.x, g.y, h); - } - - this._prev = new n(0, 0, 0 !== h.t ? h : h.next); - }, !0), r = d.prototype = new a(), r.constructor = d, r.getRatio = function (a) { - var b = this._prev; - - if (a > b.t) { - for (; b.next && a >= b.t;) { - b = b.next; - } - - b = b.prev; - } else for (; b.prev && a <= b.t;) { - b = b.prev; - } - - return this._prev = b, b.v + (a - b.t) / b.gap * b.c; - }, r.config = function (a) { - return new d(a); - }, d.ease = new d(), m("Bounce", k("BounceOut", function (a) { - return 1 / 2.75 > a ? 7.5625 * a * a : 2 / 2.75 > a ? 7.5625 * (a -= 1.5 / 2.75) * a + .75 : 2.5 / 2.75 > a ? 7.5625 * (a -= 2.25 / 2.75) * a + .9375 : 7.5625 * (a -= 2.625 / 2.75) * a + .984375; - }), k("BounceIn", function (a) { - return (a = 1 - a) < 1 / 2.75 ? 1 - 7.5625 * a * a : 2 / 2.75 > a ? 1 - (7.5625 * (a -= 1.5 / 2.75) * a + .75) : 2.5 / 2.75 > a ? 1 - (7.5625 * (a -= 2.25 / 2.75) * a + .9375) : 1 - (7.5625 * (a -= 2.625 / 2.75) * a + .984375); - }), k("BounceInOut", function (a) { - var b = .5 > a; - return a = b ? 1 - 2 * a : 2 * a - 1, a = 1 / 2.75 > a ? 7.5625 * a * a : 2 / 2.75 > a ? 7.5625 * (a -= 1.5 / 2.75) * a + .75 : 2.5 / 2.75 > a ? 7.5625 * (a -= 2.25 / 2.75) * a + .9375 : 7.5625 * (a -= 2.625 / 2.75) * a + .984375, b ? .5 * (1 - a) : .5 * a + .5; - })), m("Circ", k("CircOut", function (a) { - return Math.sqrt(1 - (a -= 1) * a); - }), k("CircIn", function (a) { - return -(Math.sqrt(1 - a * a) - 1); - }), k("CircInOut", function (a) { - return (a *= 2) < 1 ? -.5 * (Math.sqrt(1 - a * a) - 1) : .5 * (Math.sqrt(1 - (a -= 2) * a) + 1); - })), e = function e(b, c, d) { - var e = j("easing." + b, function (a, b) { - this._p1 = a >= 1 ? a : 1, this._p2 = (b || d) / (1 > a ? a : 1), this._p3 = this._p2 / h * (Math.asin(1 / this._p1) || 0), this._p2 = h / this._p2; - }, !0), - f = e.prototype = new a(); - return f.constructor = e, f.getRatio = c, f.config = function (a, b) { - return new e(a, b); - }, e; - }, m("Elastic", e("ElasticOut", function (a) { - return this._p1 * Math.pow(2, -10 * a) * Math.sin((a - this._p3) * this._p2) + 1; - }, .3), e("ElasticIn", function (a) { - return -(this._p1 * Math.pow(2, 10 * (a -= 1)) * Math.sin((a - this._p3) * this._p2)); - }, .3), e("ElasticInOut", function (a) { - return (a *= 2) < 1 ? -.5 * (this._p1 * Math.pow(2, 10 * (a -= 1)) * Math.sin((a - this._p3) * this._p2)) : this._p1 * Math.pow(2, -10 * (a -= 1)) * Math.sin((a - this._p3) * this._p2) * .5 + 1; - }, .45)), m("Expo", k("ExpoOut", function (a) { - return 1 - Math.pow(2, -10 * a); - }), k("ExpoIn", function (a) { - return Math.pow(2, 10 * (a - 1)) - .001; - }), k("ExpoInOut", function (a) { - return (a *= 2) < 1 ? .5 * Math.pow(2, 10 * (a - 1)) : .5 * (2 - Math.pow(2, -10 * (a - 1))); - })), m("Sine", k("SineOut", function (a) { - return Math.sin(a * i); - }), k("SineIn", function (a) { - return -Math.cos(a * i) + 1; - }), k("SineInOut", function (a) { - return -.5 * (Math.cos(Math.PI * a) - 1); - })), j("easing.EaseLookup", { - find: function find(b) { - return a.map[b]; - } - }, !0), l(f.SlowMo, "SlowMo", "ease,"), l(d, "RoughEase", "ease,"), l(b, "SteppedEase", "ease,"), p; - }, !0); -}), _gsScope._gsDefine && _gsScope._gsQueue.pop()(), function () { - "use strict"; - - var a = function a() { - return _gsScope.GreenSockGlobals || _gsScope; - }; - - "undefined" != typeof module && module.exports ? (require("../TweenLite.min.js"), module.exports = a()) : "function" == typeof define && define.amd && define(["TweenLite"], a); -}(); \ No newline at end of file diff --git a/resources/js/vendor/TweenLite.min.js b/resources/js/vendor/TweenLite.min.js deleted file mode 100644 index db3e9e12c..000000000 --- a/resources/js/vendor/TweenLite.min.js +++ /dev/null @@ -1,919 +0,0 @@ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/*! - * VERSION: 2.1.3 - * DATE: 2019-05-17 - * UPDATES AND DOCS AT: http://greensock.com - * - * @license Copyright (c) 2008-2019, GreenSock. All rights reserved. - * This work is subject to the terms at http://greensock.com/standard-license or for - * Club GreenSock members, the software agreement that was issued with your membership. - * - * @author: Jack Doyle, jack@greensock.com - */ -!function (a, b) { - "use strict"; - - var c = {}, - d = a.document, - e = a.GreenSockGlobals = a.GreenSockGlobals || a, - f = e[b]; - if (f) return "undefined" != typeof module && module.exports && (module.exports = f), f; - - var g, - h, - i, - j, - k, - l = function l(a) { - var b, - c = a.split("."), - d = e; - - for (b = 0; b < c.length; b++) { - d[c[b]] = d = d[c[b]] || {}; - } - - return d; - }, - m = l("com.greensock"), - n = 1e-8, - o = function o(a) { - var b, - c = [], - d = a.length; - - for (b = 0; b !== d; c.push(a[b++])) { - ; - } - - return c; - }, - p = function p() {}, - q = function () { - var a = Object.prototype.toString, - b = a.call([]); - return function (c) { - return null != c && (c instanceof Array || "object" == _typeof(c) && !!c.push && a.call(c) === b); - }; - }(), - r = {}, - s = function s(d, f, g, h) { - this.sc = r[d] ? r[d].sc : [], r[d] = this, this.gsClass = null, this.func = g; - var i = []; - this.check = function (j) { - for (var k, m, n, o, p = f.length, q = p; --p > -1;) { - (k = r[f[p]] || new s(f[p], [])).gsClass ? (i[p] = k.gsClass, q--) : j && k.sc.push(this); - } - - if (0 === q && g) { - if (m = ("com.greensock." + d).split("."), n = m.pop(), o = l(m.join("."))[n] = this.gsClass = g.apply(g, i), h) if (e[n] = c[n] = o, "undefined" != typeof module && module.exports) { - if (d === b) { - module.exports = c[b] = o; - - for (p in c) { - o[p] = c[p]; - } - } else c[b] && (c[b][n] = o); - } else "function" == typeof define && define.amd && define((a.GreenSockAMDPath ? a.GreenSockAMDPath + "/" : "") + d.split(".").pop(), [], function () { - return o; - }); - - for (p = 0; p < this.sc.length; p++) { - this.sc[p].check(); - } - } - }, this.check(!0); - }, - t = a._gsDefine = function (a, b, c, d) { - return new s(a, b, c, d); - }, - u = m._class = function (a, b, c) { - return b = b || function () {}, t(a, [], function () { - return b; - }, c), b; - }; - - t.globals = e; - - var v = [0, 0, 1, 1], - w = u("easing.Ease", function (a, b, c, d) { - this._func = a, this._type = c || 0, this._power = d || 0, this._params = b ? v.concat(b) : v; - }, !0), - x = w.map = {}, - y = w.register = function (a, b, c, d) { - for (var e, f, g, h, i = b.split(","), j = i.length, k = (c || "easeIn,easeOut,easeInOut").split(","); --j > -1;) { - for (f = i[j], e = d ? u("easing." + f, null, !0) : m.easing[f] || {}, g = k.length; --g > -1;) { - h = k[g], x[f + "." + h] = x[h + f] = e[h] = a.getRatio ? a : a[h] || new a(); - } - } - }; - - for (i = w.prototype, i._calcEnd = !1, i.getRatio = function (a) { - if (this._func) return this._params[0] = a, this._func.apply(null, this._params); - var b = this._type, - c = this._power, - d = 1 === b ? 1 - a : 2 === b ? a : .5 > a ? 2 * a : 2 * (1 - a); - return 1 === c ? d *= d : 2 === c ? d *= d * d : 3 === c ? d *= d * d * d : 4 === c && (d *= d * d * d * d), 1 === b ? 1 - d : 2 === b ? d : .5 > a ? d / 2 : 1 - d / 2; - }, g = ["Linear", "Quad", "Cubic", "Quart", "Quint,Strong"], h = g.length; --h > -1;) { - i = g[h] + ",Power" + h, y(new w(null, null, 1, h), i, "easeOut", !0), y(new w(null, null, 2, h), i, "easeIn" + (0 === h ? ",easeNone" : "")), y(new w(null, null, 3, h), i, "easeInOut"); - } - - x.linear = m.easing.Linear.easeIn, x.swing = m.easing.Quad.easeInOut; - var z = u("events.EventDispatcher", function (a) { - this._listeners = {}, this._eventTarget = a || this; - }); - i = z.prototype, i.addEventListener = function (a, b, c, d, e) { - e = e || 0; - var f, - g, - h = this._listeners[a], - i = 0; - - for (this !== j || k || j.wake(), null == h && (this._listeners[a] = h = []), g = h.length; --g > -1;) { - f = h[g], f.c === b && f.s === c ? h.splice(g, 1) : 0 === i && f.pr < e && (i = g + 1); - } - - h.splice(i, 0, { - c: b, - s: c, - up: d, - pr: e - }); - }, i.removeEventListener = function (a, b) { - var c, - d = this._listeners[a]; - if (d) for (c = d.length; --c > -1;) { - if (d[c].c === b) return void d.splice(c, 1); - } - }, i.dispatchEvent = function (a) { - var b, - c, - d, - e = this._listeners[a]; - if (e) for (b = e.length, b > 1 && (e = e.slice(0)), c = this._eventTarget; --b > -1;) { - d = e[b], d && (d.up ? d.c.call(d.s || c, { - type: a, - target: c - }) : d.c.call(d.s || c)); - } - }; - - var A = a.requestAnimationFrame, - B = a.cancelAnimationFrame, - C = Date.now || function () { - return new Date().getTime(); - }, - D = C(); - - for (g = ["ms", "moz", "webkit", "o"], h = g.length; --h > -1 && !A;) { - A = a[g[h] + "RequestAnimationFrame"], B = a[g[h] + "CancelAnimationFrame"] || a[g[h] + "CancelRequestAnimationFrame"]; - } - - u("Ticker", function (a, b) { - var c, - e, - f, - g, - h, - i = this, - l = C(), - m = b !== !1 && A ? "auto" : !1, - o = 500, - q = 33, - r = "tick", - s = function s(a) { - var b, - d, - j = C() - D; - j > o && (l += j - q), D += j, i.time = (D - l) / 1e3, b = i.time - h, (!c || b > 0 || a === !0) && (i.frame++, h += b + (b >= g ? .004 : g - b), d = !0), a !== !0 && (f = e(s)), d && i.dispatchEvent(r); - }; - - z.call(i), i.time = i.frame = 0, i.tick = function () { - s(!0); - }, i.lagSmoothing = function (a, b) { - return arguments.length ? (o = a || 1 / n, void (q = Math.min(b, o, 0))) : 1 / n > o; - }, i.sleep = function () { - null != f && (m && B ? B(f) : clearTimeout(f), e = p, f = null, i === j && (k = !1)); - }, i.wake = function (a) { - null !== f ? i.sleep() : a ? l += -D + (D = C()) : i.frame > 10 && (D = C() - o + 5), e = 0 === c ? p : m && A ? A : function (a) { - return setTimeout(a, 1e3 * (h - i.time) + 1 | 0); - }, i === j && (k = !0), s(2); - }, i.fps = function (a) { - return arguments.length ? (c = a, g = 1 / (c || 60), h = this.time + g, void i.wake()) : c; - }, i.useRAF = function (a) { - return arguments.length ? (i.sleep(), m = a, void i.fps(c)) : m; - }, i.fps(a), setTimeout(function () { - "auto" === m && i.frame < 5 && "hidden" !== (d || {}).visibilityState && i.useRAF(!1); - }, 1500); - }), i = m.Ticker.prototype = new m.events.EventDispatcher(), i.constructor = m.Ticker; - var E = u("core.Animation", function (a, b) { - if (this.vars = b = b || {}, this._duration = this._totalDuration = a || 0, this._delay = Number(b.delay) || 0, this._timeScale = 1, this._active = !!b.immediateRender, this.data = b.data, this._reversed = !!b.reversed, Z) { - k || j.wake(); - var c = this.vars.useFrames ? Y : Z; - c.add(this, c._time), this.vars.paused && this.paused(!0); - } - }); - j = E.ticker = new m.Ticker(), i = E.prototype, i._dirty = i._gc = i._initted = i._paused = !1, i._totalTime = i._time = 0, i._rawPrevTime = -1, i._next = i._last = i._onUpdate = i._timeline = i.timeline = null, i._paused = !1; - - var F = function F() { - k && C() - D > 2e3 && ("hidden" !== (d || {}).visibilityState || !j.lagSmoothing()) && j.wake(); - var a = setTimeout(F, 2e3); - a.unref && a.unref(); - }; - - F(), i.play = function (a, b) { - return null != a && this.seek(a, b), this.reversed(!1).paused(!1); - }, i.pause = function (a, b) { - return null != a && this.seek(a, b), this.paused(!0); - }, i.resume = function (a, b) { - return null != a && this.seek(a, b), this.paused(!1); - }, i.seek = function (a, b) { - return this.totalTime(Number(a), b !== !1); - }, i.restart = function (a, b) { - return this.reversed(!1).paused(!1).totalTime(a ? -this._delay : 0, b !== !1, !0); - }, i.reverse = function (a, b) { - return null != a && this.seek(a || this.totalDuration(), b), this.reversed(!0).paused(!1); - }, i.render = function (a, b, c) {}, i.invalidate = function () { - return this._time = this._totalTime = 0, this._initted = this._gc = !1, this._rawPrevTime = -1, (this._gc || !this.timeline) && this._enabled(!0), this; - }, i.isActive = function () { - var a, - b = this._timeline, - c = this._startTime; - return !b || !this._gc && !this._paused && b.isActive() && (a = b.rawTime(!0)) >= c && a < c + this.totalDuration() / this._timeScale - n; - }, i._enabled = function (a, b) { - return k || j.wake(), this._gc = !a, this._active = this.isActive(), b !== !0 && (a && !this.timeline ? this._timeline.add(this, this._startTime - this._delay) : !a && this.timeline && this._timeline._remove(this, !0)), !1; - }, i._kill = function (a, b) { - return this._enabled(!1, !1); - }, i.kill = function (a, b) { - return this._kill(a, b), this; - }, i._uncache = function (a) { - for (var b = a ? this : this.timeline; b;) { - b._dirty = !0, b = b.timeline; - } - - return this; - }, i._swapSelfInParams = function (a) { - for (var b = a.length, c = a.concat(); --b > -1;) { - "{self}" === a[b] && (c[b] = this); - } - - return c; - }, i._callback = function (a) { - var b = this.vars, - c = b[a], - d = b[a + "Params"], - e = b[a + "Scope"] || b.callbackScope || this, - f = d ? d.length : 0; - - switch (f) { - case 0: - c.call(e); - break; - - case 1: - c.call(e, d[0]); - break; - - case 2: - c.call(e, d[0], d[1]); - break; - - default: - c.apply(e, d); - } - }, i.eventCallback = function (a, b, c, d) { - if ("on" === (a || "").substr(0, 2)) { - var e = this.vars; - if (1 === arguments.length) return e[a]; - null == b ? delete e[a] : (e[a] = b, e[a + "Params"] = q(c) && -1 !== c.join("").indexOf("{self}") ? this._swapSelfInParams(c) : c, e[a + "Scope"] = d), "onUpdate" === a && (this._onUpdate = b); - } - - return this; - }, i.delay = function (a) { - return arguments.length ? (this._timeline.smoothChildTiming && this.startTime(this._startTime + a - this._delay), this._delay = a, this) : this._delay; - }, i.duration = function (a) { - return arguments.length ? (this._duration = this._totalDuration = a, this._uncache(!0), this._timeline.smoothChildTiming && this._time > 0 && this._time < this._duration && 0 !== a && this.totalTime(this._totalTime * (a / this._duration), !0), this) : (this._dirty = !1, this._duration); - }, i.totalDuration = function (a) { - return this._dirty = !1, arguments.length ? this.duration(a) : this._totalDuration; - }, i.time = function (a, b) { - return arguments.length ? (this._dirty && this.totalDuration(), this.totalTime(a > this._duration ? this._duration : a, b)) : this._time; - }, i.totalTime = function (a, b, c) { - if (k || j.wake(), !arguments.length) return this._totalTime; - - if (this._timeline) { - if (0 > a && !c && (a += this.totalDuration()), this._timeline.smoothChildTiming) { - this._dirty && this.totalDuration(); - var d = this._totalDuration, - e = this._timeline; - if (a > d && !c && (a = d), this._startTime = (this._paused ? this._pauseTime : e._time) - (this._reversed ? d - a : a) / this._timeScale, e._dirty || this._uncache(!1), e._timeline) for (; e._timeline;) { - e._timeline._time !== (e._startTime + e._totalTime) / e._timeScale && e.totalTime(e._totalTime, !0), e = e._timeline; - } - } - - this._gc && this._enabled(!0, !1), (this._totalTime !== a || 0 === this._duration) && (K.length && _(), this.render(a, b, !1), K.length && _()); - } - - return this; - }, i.progress = i.totalProgress = function (a, b) { - var c = this.duration(); - return arguments.length ? this.totalTime(c * a, b) : c ? this._time / c : this.ratio; - }, i.startTime = function (a) { - return arguments.length ? (a !== this._startTime && (this._startTime = a, this.timeline && this.timeline._sortChildren && this.timeline.add(this, a - this._delay)), this) : this._startTime; - }, i.endTime = function (a) { - return this._startTime + (0 != a ? this.totalDuration() : this.duration()) / this._timeScale; - }, i.timeScale = function (a) { - if (!arguments.length) return this._timeScale; - var b, c; - - for (a = a || n, this._timeline && this._timeline.smoothChildTiming && (b = this._pauseTime, c = b || 0 === b ? b : this._timeline.totalTime(), this._startTime = c - (c - this._startTime) * this._timeScale / a), this._timeScale = a, c = this.timeline; c && c.timeline;) { - c._dirty = !0, c.totalDuration(), c = c.timeline; - } - - return this; - }, i.reversed = function (a) { - return arguments.length ? (a != this._reversed && (this._reversed = a, this.totalTime(this._timeline && !this._timeline.smoothChildTiming ? this.totalDuration() - this._totalTime : this._totalTime, !0)), this) : this._reversed; - }, i.paused = function (a) { - if (!arguments.length) return this._paused; - var b, - c, - d = this._timeline; - return a != this._paused && d && (k || a || j.wake(), b = d.rawTime(), c = b - this._pauseTime, !a && d.smoothChildTiming && (this._startTime += c, this._uncache(!1)), this._pauseTime = a ? b : null, this._paused = a, this._active = this.isActive(), !a && 0 !== c && this._initted && this.duration() && (b = d.smoothChildTiming ? this._totalTime : (b - this._startTime) / this._timeScale, this.render(b, b === this._totalTime, !0))), this._gc && !a && this._enabled(!0, !1), this; - }; - var G = u("core.SimpleTimeline", function (a) { - E.call(this, 0, a), this.autoRemoveChildren = this.smoothChildTiming = !0; - }); - i = G.prototype = new E(), i.constructor = G, i.kill()._gc = !1, i._first = i._last = i._recent = null, i._sortChildren = !1, i.add = i.insert = function (a, b, c, d) { - var e, f; - if (a._startTime = Number(b || 0) + a._delay, a._paused && this !== a._timeline && (a._pauseTime = this.rawTime() - (a._timeline.rawTime() - a._pauseTime)), a.timeline && a.timeline._remove(a, !0), a.timeline = a._timeline = this, a._gc && a._enabled(!0, !0), e = this._last, this._sortChildren) for (f = a._startTime; e && e._startTime > f;) { - e = e._prev; - } - return e ? (a._next = e._next, e._next = a) : (a._next = this._first, this._first = a), a._next ? a._next._prev = a : this._last = a, a._prev = e, this._recent = a, this._timeline && this._uncache(!0), this; - }, i._remove = function (a, b) { - return a.timeline === this && (b || a._enabled(!1, !0), a._prev ? a._prev._next = a._next : this._first === a && (this._first = a._next), a._next ? a._next._prev = a._prev : this._last === a && (this._last = a._prev), a._next = a._prev = a.timeline = null, a === this._recent && (this._recent = this._last), this._timeline && this._uncache(!0)), this; - }, i.render = function (a, b, c) { - var d, - e = this._first; - - for (this._totalTime = this._time = this._rawPrevTime = a; e;) { - d = e._next, (e._active || a >= e._startTime && !e._paused && !e._gc) && (e._reversed ? e.render((e._dirty ? e.totalDuration() : e._totalDuration) - (a - e._startTime) * e._timeScale, b, c) : e.render((a - e._startTime) * e._timeScale, b, c)), e = d; - } - }, i.rawTime = function () { - return k || j.wake(), this._totalTime; - }; - - var H = u("TweenLite", function (b, c, d) { - if (E.call(this, c, d), this.render = H.prototype.render, null == b) throw "Cannot tween a null target."; - this.target = b = "string" != typeof b ? b : H.selector(b) || b; - var e, - f, - g, - h = b.jquery || b.length && b !== a && b[0] && (b[0] === a || b[0].nodeType && b[0].style && !b.nodeType), - i = this.vars.overwrite; - if (this._overwrite = i = null == i ? X[H.defaultOverwrite] : "number" == typeof i ? i >> 0 : X[i], (h || b instanceof Array || b.push && q(b)) && "number" != typeof b[0]) for (this._targets = g = o(b), this._propLookup = [], this._siblings = [], e = 0; e < g.length; e++) { - f = g[e], f ? "string" != typeof f ? f.length && f !== a && f[0] && (f[0] === a || f[0].nodeType && f[0].style && !f.nodeType) ? (g.splice(e--, 1), this._targets = g = g.concat(o(f))) : (this._siblings[e] = aa(f, this, !1), 1 === i && this._siblings[e].length > 1 && ca(f, this, null, 1, this._siblings[e])) : (f = g[e--] = H.selector(f), "string" == typeof f && g.splice(e + 1, 1)) : g.splice(e--, 1); - } else this._propLookup = {}, this._siblings = aa(b, this, !1), 1 === i && this._siblings.length > 1 && ca(b, this, null, 1, this._siblings); - (this.vars.immediateRender || 0 === c && 0 === this._delay && this.vars.immediateRender !== !1) && (this._time = -n, this.render(Math.min(0, -this._delay))); - }, !0), - I = function I(b) { - return b && b.length && b !== a && b[0] && (b[0] === a || b[0].nodeType && b[0].style && !b.nodeType); - }, - J = function J(a, b) { - var c, - d = {}; - - for (c in a) { - W[c] || c in b && "transform" !== c && "x" !== c && "y" !== c && "width" !== c && "height" !== c && "className" !== c && "border" !== c || !(!T[c] || T[c] && T[c]._autoCSS) || (d[c] = a[c], delete a[c]); - } - - a.css = d; - }; - - i = H.prototype = new E(), i.constructor = H, i.kill()._gc = !1, i.ratio = 0, i._firstPT = i._targets = i._overwrittenProps = i._startAt = null, i._notifyPluginsOfEnabled = i._lazy = !1, H.version = "2.1.3", H.defaultEase = i._ease = new w(null, null, 1, 1), H.defaultOverwrite = "auto", H.ticker = j, H.autoSleep = 120, H.lagSmoothing = function (a, b) { - j.lagSmoothing(a, b); - }, H.selector = a.$ || a.jQuery || function (b) { - var c = a.$ || a.jQuery; - return c ? (H.selector = c, c(b)) : (d || (d = a.document), d ? d.querySelectorAll ? d.querySelectorAll(b) : d.getElementById("#" === b.charAt(0) ? b.substr(1) : b) : b); - }; - - var K = [], - L = {}, - M = /(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi, - N = /[\+-]=-?[\.\d]/, - O = function O(a) { - for (var b, c = this._firstPT, d = 1e-6; c;) { - b = c.blob ? 1 === a && null != this.end ? this.end : a ? this.join("") : this.start : c.c * a + c.s, c.m ? b = c.m.call(this._tween, b, this._target || c.t, this._tween) : d > b && b > -d && !c.blob && (b = 0), c.f ? c.fp ? c.t[c.p](c.fp, b) : c.t[c.p](b) : c.t[c.p] = b, c = c._next; - } - }, - P = function P(a) { - return (1e3 * a | 0) / 1e3 + ""; - }, - Q = function Q(a, b, c, d) { - var e, - f, - g, - h, - i, - j, - k, - l = [], - m = 0, - n = "", - o = 0; - - for (l.start = a, l.end = b, a = l[0] = a + "", b = l[1] = b + "", c && (c(l), a = l[0], b = l[1]), l.length = 0, e = a.match(M) || [], f = b.match(M) || [], d && (d._next = null, d.blob = 1, l._firstPT = l._applyPT = d), i = f.length, h = 0; i > h; h++) { - k = f[h], j = b.substr(m, b.indexOf(k, m) - m), n += j || !h ? j : ",", m += j.length, o ? o = (o + 1) % 5 : "rgba(" === j.substr(-5) && (o = 1), k === e[h] || e.length <= h ? n += k : (n && (l.push(n), n = ""), g = parseFloat(e[h]), l.push(g), l._firstPT = { - _next: l._firstPT, - t: l, - p: l.length - 1, - s: g, - c: ("=" === k.charAt(1) ? parseInt(k.charAt(0) + "1", 10) * parseFloat(k.substr(2)) : parseFloat(k) - g) || 0, - f: 0, - m: o && 4 > o ? Math.round : P - }), m += k.length; - } - - return n += b.substr(m), n && l.push(n), l.setRatio = O, N.test(b) && (l.end = null), l; - }, - R = function R(a, b, c, d, e, f, g, h, i) { - "function" == typeof d && (d = d(i || 0, a)); - - var j, - k = _typeof(a[b]), - l = "function" !== k ? "" : b.indexOf("set") || "function" != typeof a["get" + b.substr(3)] ? b : "get" + b.substr(3), - m = "get" !== c ? c : l ? g ? a[l](g) : a[l]() : a[b], - n = "string" == typeof d && "=" === d.charAt(1), - o = { - t: a, - p: b, - s: m, - f: "function" === k, - pg: 0, - n: e || b, - m: f ? "function" == typeof f ? f : Math.round : 0, - pr: 0, - c: n ? parseInt(d.charAt(0) + "1", 10) * parseFloat(d.substr(2)) : parseFloat(d) - m || 0 - }; - - return ("number" != typeof m || "number" != typeof d && !n) && (g || isNaN(m) || !n && isNaN(d) || "boolean" == typeof m || "boolean" == typeof d ? (o.fp = g, j = Q(m, n ? parseFloat(o.s) + o.c + (o.s + "").replace(/[0-9\-\.]/g, "") : d, h || H.defaultStringFilter, o), o = { - t: j, - p: "setRatio", - s: 0, - c: 1, - f: 2, - pg: 0, - n: e || b, - pr: 0, - m: 0 - }) : (o.s = parseFloat(m), n || (o.c = parseFloat(d) - o.s || 0))), o.c ? ((o._next = this._firstPT) && (o._next._prev = o), this._firstPT = o, o) : void 0; - }, - S = H._internals = { - isArray: q, - isSelector: I, - lazyTweens: K, - blobDif: Q - }, - T = H._plugins = {}, - U = S.tweenLookup = {}, - V = 0, - W = S.reservedProps = { - ease: 1, - delay: 1, - overwrite: 1, - onComplete: 1, - onCompleteParams: 1, - onCompleteScope: 1, - useFrames: 1, - runBackwards: 1, - startAt: 1, - onUpdate: 1, - onUpdateParams: 1, - onUpdateScope: 1, - onStart: 1, - onStartParams: 1, - onStartScope: 1, - onReverseComplete: 1, - onReverseCompleteParams: 1, - onReverseCompleteScope: 1, - onRepeat: 1, - onRepeatParams: 1, - onRepeatScope: 1, - easeParams: 1, - yoyo: 1, - immediateRender: 1, - repeat: 1, - repeatDelay: 1, - data: 1, - paused: 1, - reversed: 1, - autoCSS: 1, - lazy: 1, - onOverwrite: 1, - callbackScope: 1, - stringFilter: 1, - id: 1, - yoyoEase: 1, - stagger: 1 - }, - X = { - none: 0, - all: 1, - auto: 2, - concurrent: 3, - allOnStart: 4, - preexisting: 5, - "true": 1, - "false": 0 - }, - Y = E._rootFramesTimeline = new G(), - Z = E._rootTimeline = new G(), - $ = 30, - _ = S.lazyRender = function () { - var a, - b, - c = K.length; - - for (L = {}, a = 0; c > a; a++) { - b = K[a], b && b._lazy !== !1 && (b.render(b._lazy[0], b._lazy[1], !0), b._lazy = !1); - } - - K.length = 0; - }; - - Z._startTime = j.time, Y._startTime = j.frame, Z._active = Y._active = !0, setTimeout(_, 1), E._updateRoot = H.render = function () { - var a, b, c; - - if (K.length && _(), Z.render((j.time - Z._startTime) * Z._timeScale, !1, !1), Y.render((j.frame - Y._startTime) * Y._timeScale, !1, !1), K.length && _(), j.frame >= $) { - $ = j.frame + (parseInt(H.autoSleep, 10) || 120); - - for (c in U) { - for (b = U[c].tweens, a = b.length; --a > -1;) { - b[a]._gc && b.splice(a, 1); - } - - 0 === b.length && delete U[c]; - } - - if (c = Z._first, (!c || c._paused) && H.autoSleep && !Y._first && 1 === j._listeners.tick.length) { - for (; c && c._paused;) { - c = c._next; - } - - c || j.sleep(); - } - } - }, j.addEventListener("tick", E._updateRoot); - - var aa = function aa(a, b, c) { - var d, - e, - f = a._gsTweenID; - if (U[f || (a._gsTweenID = f = "t" + V++)] || (U[f] = { - target: a, - tweens: [] - }), b && (d = U[f].tweens, d[e = d.length] = b, c)) for (; --e > -1;) { - d[e] === b && d.splice(e, 1); - } - return U[f].tweens; - }, - ba = function ba(a, b, c, d) { - var e, - f, - g = a.vars.onOverwrite; - return g && (e = g(a, b, c, d)), g = H.onOverwrite, g && (f = g(a, b, c, d)), e !== !1 && f !== !1; - }, - ca = function ca(a, b, c, d, e) { - var f, g, h, i; - - if (1 === d || d >= 4) { - for (i = e.length, f = 0; i > f; f++) { - if ((h = e[f]) !== b) h._gc || h._kill(null, a, b) && (g = !0);else if (5 === d) break; - } - - return g; - } - - var j, - k = b._startTime + n, - l = [], - m = 0, - o = 0 === b._duration; - - for (f = e.length; --f > -1;) { - (h = e[f]) === b || h._gc || h._paused || (h._timeline !== b._timeline ? (j = j || da(b, 0, o), 0 === da(h, j, o) && (l[m++] = h)) : h._startTime <= k && h._startTime + h.totalDuration() / h._timeScale > k && ((o || !h._initted) && k - h._startTime <= 2 * n || (l[m++] = h))); - } - - for (f = m; --f > -1;) { - if (h = l[f], i = h._firstPT, 2 === d && h._kill(c, a, b) && (g = !0), 2 !== d || !h._firstPT && h._initted && i) { - if (2 !== d && !ba(h, b)) continue; - h._enabled(!1, !1) && (g = !0); - } - } - - return g; - }, - da = function da(a, b, c) { - for (var d = a._timeline, e = d._timeScale, f = a._startTime; d._timeline;) { - if (f += d._startTime, e *= d._timeScale, d._paused) return -100; - d = d._timeline; - } - - return f /= e, f > b ? f - b : c && f === b || !a._initted && 2 * n > f - b ? n : (f += a.totalDuration() / a._timeScale / e) > b + n ? 0 : f - b - n; - }; - - i._init = function () { - var a, - b, - c, - d, - e, - f, - g = this.vars, - h = this._overwrittenProps, - i = this._duration, - j = !!g.immediateRender, - k = g.ease, - l = this._startAt; - - if (g.startAt) { - l && (l.render(-1, !0), l.kill()), e = {}; - - for (d in g.startAt) { - e[d] = g.startAt[d]; - } - - if (e.data = "isStart", e.overwrite = !1, e.immediateRender = !0, e.lazy = j && g.lazy !== !1, e.startAt = e.delay = null, e.onUpdate = g.onUpdate, e.onUpdateParams = g.onUpdateParams, e.onUpdateScope = g.onUpdateScope || g.callbackScope || this, this._startAt = H.to(this.target || {}, 0, e), j) if (this._time > 0) this._startAt = null;else if (0 !== i) return; - } else if (g.runBackwards && 0 !== i) if (l) l.render(-1, !0), l.kill(), this._startAt = null;else { - 0 !== this._time && (j = !1), c = {}; - - for (d in g) { - W[d] && "autoCSS" !== d || (c[d] = g[d]); - } - - if (c.overwrite = 0, c.data = "isFromStart", c.lazy = j && g.lazy !== !1, c.immediateRender = j, this._startAt = H.to(this.target, 0, c), j) { - if (0 === this._time) return; - } else this._startAt._init(), this._startAt._enabled(!1), this.vars.immediateRender && (this._startAt = null); - } - - if (this._ease = k = k ? k instanceof w ? k : "function" == typeof k ? new w(k, g.easeParams) : x[k] || H.defaultEase : H.defaultEase, g.easeParams instanceof Array && k.config && (this._ease = k.config.apply(k, g.easeParams)), this._easeType = this._ease._type, this._easePower = this._ease._power, this._firstPT = null, this._targets) for (f = this._targets.length, a = 0; f > a; a++) { - this._initProps(this._targets[a], this._propLookup[a] = {}, this._siblings[a], h ? h[a] : null, a) && (b = !0); - } else b = this._initProps(this.target, this._propLookup, this._siblings, h, 0); - if (b && H._onPluginEvent("_onInitAllProps", this), h && (this._firstPT || "function" != typeof this.target && this._enabled(!1, !1)), g.runBackwards) for (c = this._firstPT; c;) { - c.s += c.c, c.c = -c.c, c = c._next; - } - this._onUpdate = g.onUpdate, this._initted = !0; - }, i._initProps = function (b, c, d, e, f) { - var g, h, i, j, k, l; - if (null == b) return !1; - L[b._gsTweenID] && _(), this.vars.css || b.style && b !== a && b.nodeType && T.css && this.vars.autoCSS !== !1 && J(this.vars, b); - - for (g in this.vars) { - if (l = this.vars[g], W[g]) l && (l instanceof Array || l.push && q(l)) && -1 !== l.join("").indexOf("{self}") && (this.vars[g] = l = this._swapSelfInParams(l, this));else if (T[g] && (j = new T[g]())._onInitTween(b, this.vars[g], this, f)) { - for (this._firstPT = k = { - _next: this._firstPT, - t: j, - p: "setRatio", - s: 0, - c: 1, - f: 1, - n: g, - pg: 1, - pr: j._priority, - m: 0 - }, h = j._overwriteProps.length; --h > -1;) { - c[j._overwriteProps[h]] = this._firstPT; - } - - (j._priority || j._onInitAllProps) && (i = !0), (j._onDisable || j._onEnable) && (this._notifyPluginsOfEnabled = !0), k._next && (k._next._prev = k); - } else c[g] = R.call(this, b, g, "get", l, g, 0, null, this.vars.stringFilter, f); - } - - return e && this._kill(e, b) ? this._initProps(b, c, d, e, f) : this._overwrite > 1 && this._firstPT && d.length > 1 && ca(b, this, c, this._overwrite, d) ? (this._kill(c, b), this._initProps(b, c, d, e, f)) : (this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration) && (L[b._gsTweenID] = !0), i); - }, i.render = function (a, b, c) { - var d, - e, - f, - g, - h = this, - i = h._time, - j = h._duration, - k = h._rawPrevTime; - if (a >= j - n && a >= 0) h._totalTime = h._time = j, h.ratio = h._ease._calcEnd ? h._ease.getRatio(1) : 1, h._reversed || (d = !0, e = "onComplete", c = c || h._timeline.autoRemoveChildren), 0 === j && (h._initted || !h.vars.lazy || c) && (h._startTime === h._timeline._duration && (a = 0), (0 > k || 0 >= a && a >= -n || k === n && "isPause" !== h.data) && k !== a && (c = !0, k > n && (e = "onReverseComplete")), h._rawPrevTime = g = !b || a || k === a ? a : n);else if (n > a) h._totalTime = h._time = 0, h.ratio = h._ease._calcEnd ? h._ease.getRatio(0) : 0, (0 !== i || 0 === j && k > 0) && (e = "onReverseComplete", d = h._reversed), a > -n ? a = 0 : 0 > a && (h._active = !1, 0 === j && (h._initted || !h.vars.lazy || c) && (k >= 0 && (k !== n || "isPause" !== h.data) && (c = !0), h._rawPrevTime = g = !b || a || k === a ? a : n)), (!h._initted || h._startAt && h._startAt.progress()) && (c = !0);else if (h._totalTime = h._time = a, h._easeType) { - var l = a / j, - m = h._easeType, - o = h._easePower; - (1 === m || 3 === m && l >= .5) && (l = 1 - l), 3 === m && (l *= 2), 1 === o ? l *= l : 2 === o ? l *= l * l : 3 === o ? l *= l * l * l : 4 === o && (l *= l * l * l * l), h.ratio = 1 === m ? 1 - l : 2 === m ? l : .5 > a / j ? l / 2 : 1 - l / 2; - } else h.ratio = h._ease.getRatio(a / j); - - if (h._time !== i || c) { - if (!h._initted) { - if (h._init(), !h._initted || h._gc) return; - if (!c && h._firstPT && (h.vars.lazy !== !1 && h._duration || h.vars.lazy && !h._duration)) return h._time = h._totalTime = i, h._rawPrevTime = k, K.push(h), void (h._lazy = [a, b]); - h._time && !d ? h.ratio = h._ease.getRatio(h._time / j) : d && h._ease._calcEnd && (h.ratio = h._ease.getRatio(0 === h._time ? 0 : 1)); - } - - for (h._lazy !== !1 && (h._lazy = !1), h._active || !h._paused && h._time !== i && a >= 0 && (h._active = !0), 0 === i && (h._startAt && (a >= 0 ? h._startAt.render(a, !0, c) : e || (e = "_dummyGS")), h.vars.onStart && (0 !== h._time || 0 === j) && (b || h._callback("onStart"))), f = h._firstPT; f;) { - f.f ? f.t[f.p](f.c * h.ratio + f.s) : f.t[f.p] = f.c * h.ratio + f.s, f = f._next; - } - - h._onUpdate && (0 > a && h._startAt && a !== -1e-4 && h._startAt.render(a, !0, c), b || (h._time !== i || d || c) && h._callback("onUpdate")), e && (!h._gc || c) && (0 > a && h._startAt && !h._onUpdate && a !== -1e-4 && h._startAt.render(a, !0, c), d && (h._timeline.autoRemoveChildren && h._enabled(!1, !1), h._active = !1), !b && h.vars[e] && h._callback(e), 0 === j && h._rawPrevTime === n && g !== n && (h._rawPrevTime = 0)); - } - }, i._kill = function (a, b, c) { - if ("all" === a && (a = null), null == a && (null == b || b === this.target)) return this._lazy = !1, this._enabled(!1, !1); - b = "string" != typeof b ? b || this._targets || this.target : H.selector(b) || b; - var d, - e, - f, - g, - h, - i, - j, - k, - l, - m = c && this._time && c._startTime === this._startTime && this._timeline === c._timeline, - n = this._firstPT; - if ((q(b) || I(b)) && "number" != typeof b[0]) for (d = b.length; --d > -1;) { - this._kill(a, b[d], c) && (i = !0); - } else { - if (this._targets) { - for (d = this._targets.length; --d > -1;) { - if (b === this._targets[d]) { - h = this._propLookup[d] || {}, this._overwrittenProps = this._overwrittenProps || [], e = this._overwrittenProps[d] = a ? this._overwrittenProps[d] || {} : "all"; - break; - } - } - } else { - if (b !== this.target) return !1; - h = this._propLookup, e = this._overwrittenProps = a ? this._overwrittenProps || {} : "all"; - } - - if (h) { - if (j = a || h, k = a !== e && "all" !== e && a !== h && ("object" != _typeof(a) || !a._tempKill), c && (H.onOverwrite || this.vars.onOverwrite)) { - for (f in j) { - h[f] && (l || (l = []), l.push(f)); - } - - if ((l || !a) && !ba(this, c, b, l)) return !1; - } - - for (f in j) { - (g = h[f]) && (m && (g.f ? g.t[g.p](g.s) : g.t[g.p] = g.s, i = !0), g.pg && g.t._kill(j) && (i = !0), g.pg && 0 !== g.t._overwriteProps.length || (g._prev ? g._prev._next = g._next : g === this._firstPT && (this._firstPT = g._next), g._next && (g._next._prev = g._prev), g._next = g._prev = null), delete h[f]), k && (e[f] = 1); - } - - !this._firstPT && this._initted && n && this._enabled(!1, !1); - } - } - return i; - }, i.invalidate = function () { - this._notifyPluginsOfEnabled && H._onPluginEvent("_onDisable", this); - var a = this._time; - return this._firstPT = this._overwrittenProps = this._startAt = this._onUpdate = null, this._notifyPluginsOfEnabled = this._active = this._lazy = !1, this._propLookup = this._targets ? {} : [], E.prototype.invalidate.call(this), this.vars.immediateRender && (this._time = -n, this.render(a, !1, this.vars.lazy !== !1)), this; - }, i._enabled = function (a, b) { - if (k || j.wake(), a && this._gc) { - var c, - d = this._targets; - if (d) for (c = d.length; --c > -1;) { - this._siblings[c] = aa(d[c], this, !0); - } else this._siblings = aa(this.target, this, !0); - } - - return E.prototype._enabled.call(this, a, b), this._notifyPluginsOfEnabled && this._firstPT ? H._onPluginEvent(a ? "_onEnable" : "_onDisable", this) : !1; - }, H.to = function (a, b, c) { - return new H(a, b, c); - }, H.from = function (a, b, c) { - return c.runBackwards = !0, c.immediateRender = 0 != c.immediateRender, new H(a, b, c); - }, H.fromTo = function (a, b, c, d) { - return d.startAt = c, d.immediateRender = 0 != d.immediateRender && 0 != c.immediateRender, new H(a, b, d); - }, H.delayedCall = function (a, b, c, d, e) { - return new H(b, 0, { - delay: a, - onComplete: b, - onCompleteParams: c, - callbackScope: d, - onReverseComplete: b, - onReverseCompleteParams: c, - immediateRender: !1, - lazy: !1, - useFrames: e, - overwrite: 0 - }); - }, H.set = function (a, b) { - return new H(a, 0, b); - }, H.getTweensOf = function (a, b) { - if (null == a) return []; - a = "string" != typeof a ? a : H.selector(a) || a; - var c, d, e, f; - - if ((q(a) || I(a)) && "number" != typeof a[0]) { - for (c = a.length, d = []; --c > -1;) { - d = d.concat(H.getTweensOf(a[c], b)); - } - - for (c = d.length; --c > -1;) { - for (f = d[c], e = c; --e > -1;) { - f === d[e] && d.splice(c, 1); - } - } - } else if (a._gsTweenID) for (d = aa(a).concat(), c = d.length; --c > -1;) { - (d[c]._gc || b && !d[c].isActive()) && d.splice(c, 1); - } - - return d || []; - }, H.killTweensOf = H.killDelayedCallsTo = function (a, b, c) { - "object" == _typeof(b) && (c = b, b = !1); - - for (var d = H.getTweensOf(a, b), e = d.length; --e > -1;) { - d[e]._kill(c, a); - } - }; - var ea = u("plugins.TweenPlugin", function (a, b) { - this._overwriteProps = (a || "").split(","), this._propName = this._overwriteProps[0], this._priority = b || 0, this._super = ea.prototype; - }, !0); - - if (i = ea.prototype, ea.version = "1.19.0", ea.API = 2, i._firstPT = null, i._addTween = R, i.setRatio = O, i._kill = function (a) { - var b, - c = this._overwriteProps, - d = this._firstPT; - if (null != a[this._propName]) this._overwriteProps = [];else for (b = c.length; --b > -1;) { - null != a[c[b]] && c.splice(b, 1); - } - - for (; d;) { - null != a[d.n] && (d._next && (d._next._prev = d._prev), d._prev ? (d._prev._next = d._next, d._prev = null) : this._firstPT === d && (this._firstPT = d._next)), d = d._next; - } - - return !1; - }, i._mod = i._roundProps = function (a) { - for (var b, c = this._firstPT; c;) { - b = a[this._propName] || null != c.n && a[c.n.split(this._propName + "_").join("")], b && "function" == typeof b && (2 === c.f ? c.t._applyPT.m = b : c.m = b), c = c._next; - } - }, H._onPluginEvent = function (a, b) { - var c, - d, - e, - f, - g, - h = b._firstPT; - - if ("_onInitAllProps" === a) { - for (; h;) { - for (g = h._next, d = e; d && d.pr > h.pr;) { - d = d._next; - } - - (h._prev = d ? d._prev : f) ? h._prev._next = h : e = h, (h._next = d) ? d._prev = h : f = h, h = g; - } - - h = b._firstPT = e; - } - - for (; h;) { - h.pg && "function" == typeof h.t[a] && h.t[a]() && (c = !0), h = h._next; - } - - return c; - }, ea.activate = function (a) { - for (var b = a.length; --b > -1;) { - a[b].API === ea.API && (T[new a[b]()._propName] = a[b]); - } - - return !0; - }, t.plugin = function (a) { - if (!(a && a.propName && a.init && a.API)) throw "illegal plugin definition."; - var b, - c = a.propName, - d = a.priority || 0, - e = a.overwriteProps, - f = { - init: "_onInitTween", - set: "setRatio", - kill: "_kill", - round: "_mod", - mod: "_mod", - initAll: "_onInitAllProps" - }, - g = u("plugins." + c.charAt(0).toUpperCase() + c.substr(1) + "Plugin", function () { - ea.call(this, c, d), this._overwriteProps = e || []; - }, a.global === !0), - h = g.prototype = new ea(c); - h.constructor = g, g.API = a.API; - - for (b in f) { - "function" == typeof a[b] && (h[f[b]] = a[b]); - } - - return g.version = a.version, ea.activate([g]), g; - }, g = a._gsQueue) { - for (h = 0; h < g.length; h++) { - g[h](); - } - - for (i in r) { - r[i].func || a.console.log("GSAP encountered missing dependency: " + i); - } - } - - k = !1; -}("undefined" != typeof module && module.exports && "undefined" != typeof global ? global : void 0 || window, "TweenLite"); \ No newline at end of file diff --git a/resources/js/vendor/jquery.easing.1.3.js b/resources/js/vendor/jquery.easing.1.3.js deleted file mode 100644 index aea10897a..000000000 --- a/resources/js/vendor/jquery.easing.1.3.js +++ /dev/null @@ -1,227 +0,0 @@ -"use strict"; - -/* - * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ - * - * Uses the built in easing capabilities added In jQuery 1.1 - * to offer multiple easing options - * - * TERMS OF USE - jQuery Easing - * - * Open source under the BSD License. - * - * Copyright © 2008 George McGinley Smith - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * Neither the name of the author nor the names of contributors may be used to endorse - * or promote products derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * -*/ -// t: current time, b: begInnIng value, c: change In value, d: duration -jQuery.easing['jswing'] = jQuery.easing['swing']; -jQuery.extend(jQuery.easing, { - def: 'easeOutQuad', - swing: function swing(x, t, b, c, d) { - //alert(jQuery.easing.default); - return jQuery.easing[jQuery.easing.def](x, t, b, c, d); - }, - easeInQuad: function easeInQuad(x, t, b, c, d) { - return c * (t /= d) * t + b; - }, - easeOutQuad: function easeOutQuad(x, t, b, c, d) { - return -c * (t /= d) * (t - 2) + b; - }, - easeInOutQuad: function easeInOutQuad(x, t, b, c, d) { - if ((t /= d / 2) < 1) return c / 2 * t * t + b; - return -c / 2 * (--t * (t - 2) - 1) + b; - }, - easeInCubic: function easeInCubic(x, t, b, c, d) { - return c * (t /= d) * t * t + b; - }, - easeOutCubic: function easeOutCubic(x, t, b, c, d) { - return c * ((t = t / d - 1) * t * t + 1) + b; - }, - easeInOutCubic: function easeInOutCubic(x, t, b, c, d) { - if ((t /= d / 2) < 1) return c / 2 * t * t * t + b; - return c / 2 * ((t -= 2) * t * t + 2) + b; - }, - easeInQuart: function easeInQuart(x, t, b, c, d) { - return c * (t /= d) * t * t * t + b; - }, - easeOutQuart: function easeOutQuart(x, t, b, c, d) { - return -c * ((t = t / d - 1) * t * t * t - 1) + b; - }, - easeInOutQuart: function easeInOutQuart(x, t, b, c, d) { - if ((t /= d / 2) < 1) return c / 2 * t * t * t * t + b; - return -c / 2 * ((t -= 2) * t * t * t - 2) + b; - }, - easeInQuint: function easeInQuint(x, t, b, c, d) { - return c * (t /= d) * t * t * t * t + b; - }, - easeOutQuint: function easeOutQuint(x, t, b, c, d) { - return c * ((t = t / d - 1) * t * t * t * t + 1) + b; - }, - easeInOutQuint: function easeInOutQuint(x, t, b, c, d) { - if ((t /= d / 2) < 1) return c / 2 * t * t * t * t * t + b; - return c / 2 * ((t -= 2) * t * t * t * t + 2) + b; - }, - easeInSine: function easeInSine(x, t, b, c, d) { - return -c * Math.cos(t / d * (Math.PI / 2)) + c + b; - }, - easeOutSine: function easeOutSine(x, t, b, c, d) { - return c * Math.sin(t / d * (Math.PI / 2)) + b; - }, - easeInOutSine: function easeInOutSine(x, t, b, c, d) { - return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b; - }, - easeInExpo: function easeInExpo(x, t, b, c, d) { - return t == 0 ? b : c * Math.pow(2, 10 * (t / d - 1)) + b; - }, - easeOutExpo: function easeOutExpo(x, t, b, c, d) { - return t == d ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b; - }, - easeInOutExpo: function easeInOutExpo(x, t, b, c, d) { - if (t == 0) return b; - if (t == d) return b + c; - if ((t /= d / 2) < 1) return c / 2 * Math.pow(2, 10 * (t - 1)) + b; - return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b; - }, - easeInCirc: function easeInCirc(x, t, b, c, d) { - return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b; - }, - easeOutCirc: function easeOutCirc(x, t, b, c, d) { - return c * Math.sqrt(1 - (t = t / d - 1) * t) + b; - }, - easeInOutCirc: function easeInOutCirc(x, t, b, c, d) { - if ((t /= d / 2) < 1) return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b; - return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b; - }, - easeInElastic: function easeInElastic(x, t, b, c, d) { - var s = 1.70158; - var p = 0; - var a = c; - if (t == 0) return b; - if ((t /= d) == 1) return b + c; - if (!p) p = d * .3; - - if (a < Math.abs(c)) { - a = c; - var s = p / 4; - } else var s = p / (2 * Math.PI) * Math.asin(c / a); - - return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b; - }, - easeOutElastic: function easeOutElastic(x, t, b, c, d) { - var s = 1.70158; - var p = 0; - var a = c; - if (t == 0) return b; - if ((t /= d) == 1) return b + c; - if (!p) p = d * .3; - - if (a < Math.abs(c)) { - a = c; - var s = p / 4; - } else var s = p / (2 * Math.PI) * Math.asin(c / a); - - return a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b; - }, - easeInOutElastic: function easeInOutElastic(x, t, b, c, d) { - var s = 1.70158; - var p = 0; - var a = c; - if (t == 0) return b; - if ((t /= d / 2) == 2) return b + c; - if (!p) p = d * (.3 * 1.5); - - if (a < Math.abs(c)) { - a = c; - var s = p / 4; - } else var s = p / (2 * Math.PI) * Math.asin(c / a); - - if (t < 1) return -.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b; - return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * .5 + c + b; - }, - easeInBack: function easeInBack(x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - return c * (t /= d) * t * ((s + 1) * t - s) + b; - }, - easeOutBack: function easeOutBack(x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b; - }, - easeInOutBack: function easeInOutBack(x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - if ((t /= d / 2) < 1) return c / 2 * (t * t * (((s *= 1.525) + 1) * t - s)) + b; - return c / 2 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2) + b; - }, - easeInBounce: function easeInBounce(x, t, b, c, d) { - return c - jQuery.easing.easeOutBounce(x, d - t, 0, c, d) + b; - }, - easeOutBounce: function easeOutBounce(x, t, b, c, d) { - if ((t /= d) < 1 / 2.75) { - return c * (7.5625 * t * t) + b; - } else if (t < 2 / 2.75) { - return c * (7.5625 * (t -= 1.5 / 2.75) * t + .75) + b; - } else if (t < 2.5 / 2.75) { - return c * (7.5625 * (t -= 2.25 / 2.75) * t + .9375) + b; - } else { - return c * (7.5625 * (t -= 2.625 / 2.75) * t + .984375) + b; - } - }, - easeInOutBounce: function easeInOutBounce(x, t, b, c, d) { - if (t < d / 2) return jQuery.easing.easeInBounce(x, t * 2, 0, c, d) * .5 + b; - return jQuery.easing.easeOutBounce(x, t * 2 - d, 0, c, d) * .5 + c * .5 + b; - } -}); -/* - * - * TERMS OF USE - EASING EQUATIONS - * - * Open source under the BSD License. - * - * Copyright © 2001 Robert Penner - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * Neither the name of the author nor the names of contributors may be used to endorse - * or promote products derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ \ No newline at end of file diff --git a/resources/js/vendor/jquery.gsap.min.js b/resources/js/vendor/jquery.gsap.min.js deleted file mode 100644 index feca2d19f..000000000 --- a/resources/js/vendor/jquery.gsap.min.js +++ /dev/null @@ -1,135 +0,0 @@ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/*! - * VERSION: 0.1.13 - * DATE: 2018-08-27 - * UPDATES AND DOCS AT: http://greensock.com/jquery-gsap-plugin/ - * - * Requires TweenLite version 1.8.0 or higher and CSSPlugin. - * - * @license Copyright (c) 2013-2019, GreenSock. All rights reserved. - * This work is subject to the terms at http://greensock.com/standard-license or for - * Club GreenSock members, the software agreement that was issued with your membership. - * - * @author: Jack Doyle, jack@greensock.com - */ -!function (a) { - "use strict"; - - var b, - c, - d, - e = a.fn.animate, - f = a.fn.stop, - g = !0, - h = function h(a) { - var b, - c = {}; - - for (b in a) { - c[b] = a[b]; - } - - return c; - }, - i = { - overwrite: 1, - delay: 1, - useFrames: 1, - runBackwards: 1, - easeParams: 1, - yoyo: 1, - immediateRender: 1, - repeat: 1, - repeatDelay: 1, - autoCSS: 1 - }, - j = ",scrollTop,scrollLeft,show,hide,toggle,", - k = j, - l = function l(a, b) { - for (var c in i) { - i[c] && void 0 !== a[c] && (b[c] = a[c]); - } - }, - m = function m(a) { - return function (b) { - return a.getRatio(b); - }; - }, - n = {}, - _o = function o() { - var e, - f = window.GreenSockGlobals || window; - if (b = f.TweenMax || f.TweenLite, b && (f = f.com.greensock, c = f.plugins.CSSPlugin, n = f.easing.Ease.map || {}), !b || !c) return b = null, void (!d && window.console && (window.console.log("The jquery.gsap.js plugin requires the TweenMax (or at least TweenLite and CSSPlugin) JavaScript file(s)."), d = !0)); - - if (a.easing) { - for (e in n) { - a.easing[e] = m(n[e]); - } - - _o = !1; - } - }; - - a.fn.animate = function (d, f, i, j) { - if (d = d || {}, _o && (_o(), !b || !c)) return e.call(this, d, f, i, j); - if (!g || d.skipGSAP === !0 || "object" == _typeof(f) && "function" == typeof f.step) return e.call(this, d, f, i, j); - var m, - p, - q, - r, - s = a.speed(f, i, j), - t = { - ease: n[s.easing] || (s.easing === !1 ? n.linear : n.swing) - }, - u = this, - v = "object" == _typeof(f) ? f.specialEasing : null; - - for (p in d) { - if (m = d[p], m instanceof Array && n[m[1]] && (v = v || {}, v[p] = m[1], m = m[0]), "show" === m || "hide" === m || "toggle" === m || -1 !== k.indexOf(p) && -1 !== k.indexOf("," + p + ",")) return e.call(this, d, f, i, j); - t[-1 === p.indexOf("-") ? p : a.camelCase(p)] = m; - } - - if (v) { - t = h(t), r = []; - - for (p in v) { - m = r[r.length] = {}, l(t, m), m.ease = n[v[p]] || t.ease, -1 !== p.indexOf("-") && (p = a.camelCase(p)), m[p] = t[p], delete t[p]; - } - - 0 === r.length && (r = null); - } - - return q = function q(c) { - var d, - e = h(t); - if (r) for (d = r.length; --d > -1;) { - b.to(this, a.fx.off ? 0 : s.duration / 1e3, r[d]); - } - e.onComplete = function () { - c ? c() : s.old && a(this).each(s.old); - }, b.to(this, a.fx.off ? 0 : s.duration / 1e3, e); - }, s.queue !== !1 ? (u.queue(s.queue, q), "function" == typeof s.old && a(u[u.length - 1]).queue(s.queue, function (a) { - s.old.call(u), a(); - })) : q.call(u), u; - }, a.fn.stop = function (a, c) { - if (f.call(this, a, c), b) { - if (c) for (var d, e = b.getTweensOf(this), g = e.length; --g > -1;) { - d = e[g].totalTime() / e[g].totalDuration(), d > 0 && 1 > d && e[g].seek(e[g].totalDuration()); - } - b.killTweensOf(this); - } - - return this; - }, a.gsap = { - enabled: function enabled(a) { - g = a; - }, - version: "0.1.13", - legacyProps: function legacyProps(a) { - k = j + a + ","; - } - }; -}(jQuery); \ No newline at end of file From 8cbc7b2423eef17f0ef1fba94afe7b7fd51b87c5 Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Sat, 1 Aug 2020 09:20:32 +0200 Subject: [PATCH 07/25] .gitignore: ignore vendor/simple-translator/ - this was a git submodule in the past, moved to dependencies inside package.json Change-Id: If2fc6aac0d5c2f18ebc1bcbea178e8fe47d53caf --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index cc65fa797..b0ff53b7e 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ resources/css/ resources/js/ stats trash +vendor/simple-translator/ .sass-cache /.htaccess .htpasswd From 0890c76bcd0c796be3afc981184aaed6d1545e7d Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Sat, 1 Aug 2020 10:08:42 +0200 Subject: [PATCH 08/25] gallery.php: move javascript out of php Change-Id: If5428ed5a270a59cf292f84c30a088fb7f3f019b --- gallery.php | 14 +------------- src/js/gallery.js | 11 +++++++++++ 2 files changed, 12 insertions(+), 13 deletions(-) create mode 100644 src/js/gallery.js diff --git a/gallery.php b/gallery.php index 27c3b579b..70850ac1e 100644 --- a/gallery.php +++ b/gallery.php @@ -89,20 +89,8 @@ + - \ No newline at end of file diff --git a/src/js/gallery.js b/src/js/gallery.js new file mode 100644 index 000000000..0bb7e81d5 --- /dev/null +++ b/src/js/gallery.js @@ -0,0 +1,11 @@ +/* globals photoBooth */ +$(function() { + const reloadElement = $(''); + reloadElement.append(''); + reloadElement.attr('href', '#'); + reloadElement.on('click', () => photoBooth.reloadPage()); + reloadElement.appendTo('.gallery__header'); + $('.gallery__close').hide(); + + photoBooth.openGallery(); +}); From e02c1e36ac0653c586c5497c8c0fc629fa6b0ea3 Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Sat, 1 Aug 2020 10:31:54 +0200 Subject: [PATCH 09/25] manual: move javascript out of php Change-Id: Ife824a1fe910e2bbabe7b5c708645bd513afd2f7 --- manual/index.php | 17 +---------------- src/js/manual.js | 13 +++++++++++++ 2 files changed, 14 insertions(+), 16 deletions(-) create mode 100644 src/js/manual.js diff --git a/manual/index.php b/manual/index.php index 81c20dcee..c915def52 100644 --- a/manual/index.php +++ b/manual/index.php @@ -85,25 +85,10 @@ + - - diff --git a/src/js/manual.js b/src/js/manual.js new file mode 100644 index 000000000..67427e92c --- /dev/null +++ b/src/js/manual.js @@ -0,0 +1,13 @@ +$(function() { + $('.panel-heading').on('click', function() { + const panel = $(this).parents('.panel'); + const others = $(this).parents('.accordion').find('.open').not(panel); + + others.removeClass('open init'); + + panel.toggleClass('open'); + panel.find('.panel-body').slideToggle(); + + others.find('.panel-body').slideUp('fast'); + }); +}); From c3d8ca0cedbf5af53898fd2e2b91eec5727eeb2e Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Sat, 1 Aug 2020 10:12:00 +0200 Subject: [PATCH 10/25] restore i18n-sub.js Change-Id: I71b3f22fc57550f2694501e7a3ea71f4c2745aff --- .eslintrc.json | 10 +--------- admin/index.php | 2 +- chromakeying.php | 2 +- gallery.php | 2 +- index.php | 2 +- login/index.php | 2 +- manual/index.php | 2 +- slideshow/index.php | 2 +- src/js/i18n-sub.js | 19 +++++++++++++++++++ src/js/i18n.js | 2 +- 10 files changed, 28 insertions(+), 17 deletions(-) create mode 100644 src/js/i18n-sub.js diff --git a/.eslintrc.json b/.eslintrc.json index 8dd9e000a..1e43f9192 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -295,13 +295,5 @@ "error", "never" ] - }, - "overrides": [ - { - "files": ["i18n.js"], - "parserOptions": { - "sourceType": "module" - } - } - ] + } } \ No newline at end of file diff --git a/admin/index.php b/admin/index.php index 0224b29b3..af2c88c2d 100644 --- a/admin/index.php +++ b/admin/index.php @@ -153,7 +153,7 @@ - + diff --git a/chromakeying.php b/chromakeying.php index 809066706..dc5ae42ef 100644 --- a/chromakeying.php +++ b/chromakeying.php @@ -90,6 +90,6 @@ - + diff --git a/gallery.php b/gallery.php index 70850ac1e..533a50b6c 100644 --- a/gallery.php +++ b/gallery.php @@ -91,6 +91,6 @@ - + \ No newline at end of file diff --git a/index.php b/index.php index 3f050bd0f..80d1395ac 100644 --- a/index.php +++ b/index.php @@ -244,7 +244,7 @@ - + diff --git a/login/index.php b/login/index.php index 193ebe1cc..9458668b4 100644 --- a/login/index.php +++ b/login/index.php @@ -100,6 +100,6 @@ - + diff --git a/manual/index.php b/manual/index.php index c915def52..ed8937782 100644 --- a/manual/index.php +++ b/manual/index.php @@ -88,7 +88,7 @@ - + diff --git a/slideshow/index.php b/slideshow/index.php index af06f1582..904da6711 100644 --- a/slideshow/index.php +++ b/slideshow/index.php @@ -92,6 +92,6 @@ - + diff --git a/src/js/i18n-sub.js b/src/js/i18n-sub.js new file mode 100644 index 000000000..5a6afe16d --- /dev/null +++ b/src/js/i18n-sub.js @@ -0,0 +1,19 @@ +/* globals Translator */ +const translator = new Translator({ + persist: false, + defaultLanguage: 'en', + detectLanguage: false, + registerGlobally: 'i18n', + filesLocation: '../resources/lang', + debug: true +}); + +translator.fetch([ + 'de', + 'en', + 'es', + 'el', + 'fr' +]).then(() => { + translator.translatePageTo(); +}); diff --git a/src/js/i18n.js b/src/js/i18n.js index 5c44e8ff8..cccd4abd0 100644 --- a/src/js/i18n.js +++ b/src/js/i18n.js @@ -4,7 +4,7 @@ const translator = new Translator({ defaultLanguage: 'en', detectLanguage: false, registerGlobally: 'i18n', - filesLocation: '/photobooth/resources/lang', + filesLocation: 'resources/lang', debug: true }); From 9e2e19a0eddedfcb2d342493e2aedea0066350ba Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Sat, 1 Aug 2020 10:36:55 +0200 Subject: [PATCH 11/25] pack-build: add simple-translator Change-Id: I14fb40b89f91a4bce22202f10d68d180f46b962c --- scripts/pack-build.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/pack-build.js b/scripts/pack-build.js index 07996314c..e33bd66c1 100644 --- a/scripts/pack-build.js +++ b/scripts/pack-build.js @@ -69,6 +69,8 @@ function createArchive(fileName, archive) { archive.file('phpinfo.php'); archive.file('README.md'); archive.file('update-booth.sh'); + archive.file('node_modules/@andreasremdt/simple-translator/LICENSE'); + archive.file('node_modules/@andreasremdt/simple-translator/dist/umd/translator.min.js'); archive.file('node_modules/github-markdown-css/github-markdown.css'); archive.file('node_modules/github-markdown-css/license'); archive.file('node_modules/normalize.css/LICENSE.md'); From 10a49b9f48fe858e8956e732ad02a7d4e601f485 Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Sat, 1 Aug 2020 10:51:26 +0200 Subject: [PATCH 12/25] simple-translator: language and debug depend on photobooth config Change-Id: I4a815e2b83bc231a4e196bb33cfb34753fbaa922 --- api/language.php | 6 ------ src/js/i18n-sub.js | 4 ++-- src/js/i18n.js | 4 ++-- 3 files changed, 4 insertions(+), 10 deletions(-) delete mode 100644 api/language.php diff --git a/api/language.php b/api/language.php deleted file mode 100644 index 32d2f9c8c..000000000 --- a/api/language.php +++ /dev/null @@ -1,6 +0,0 @@ - -export const LANGUAGE = ; diff --git a/src/js/i18n-sub.js b/src/js/i18n-sub.js index 5a6afe16d..8831118a1 100644 --- a/src/js/i18n-sub.js +++ b/src/js/i18n-sub.js @@ -5,7 +5,7 @@ const translator = new Translator({ detectLanguage: false, registerGlobally: 'i18n', filesLocation: '../resources/lang', - debug: true + debug: config.dev }); translator.fetch([ @@ -15,5 +15,5 @@ translator.fetch([ 'el', 'fr' ]).then(() => { - translator.translatePageTo(); + translator.translatePageTo(config.language); }); diff --git a/src/js/i18n.js b/src/js/i18n.js index cccd4abd0..52c9d094c 100644 --- a/src/js/i18n.js +++ b/src/js/i18n.js @@ -5,7 +5,7 @@ const translator = new Translator({ detectLanguage: false, registerGlobally: 'i18n', filesLocation: 'resources/lang', - debug: true + debug: config.dev }); translator.fetch([ @@ -15,5 +15,5 @@ translator.fetch([ 'el', 'fr' ]).then(() => { - translator.translatePageTo(); + translator.translatePageTo(config.language); }); From 574112c412cbc48204fbea063db406fd365c24e5 Mon Sep 17 00:00:00 2001 From: Andreas Remdt Date: Mon, 3 Aug 2020 14:56:43 +0200 Subject: [PATCH 13/25] Fix package.json deps versions Use actual version numbers for the package.json dependencies Install and use whatwg-fetch as polyfill for older browsers (Safari 9) Change-Id: I2049d49179e3f619a61fc5436313be55f60d1139 --- admin/index.php | 1 + chromakeying.php | 1 + gallery.php | 1 + index.php | 1 + login/index.php | 1 + manual/index.php | 1 + package.json | 7 ++++--- slideshow/index.php | 1 + yarn.lock | 22 +++++++++++++++------- 9 files changed, 26 insertions(+), 10 deletions(-) diff --git a/admin/index.php b/admin/index.php index af2c88c2d..beaf3ff67 100644 --- a/admin/index.php +++ b/admin/index.php @@ -148,6 +148,7 @@ + diff --git a/chromakeying.php b/chromakeying.php index dc5ae42ef..e271cc88f 100644 --- a/chromakeying.php +++ b/chromakeying.php @@ -84,6 +84,7 @@

+ diff --git a/gallery.php b/gallery.php index 533a50b6c..f715c8c61 100644 --- a/gallery.php +++ b/gallery.php @@ -76,6 +76,7 @@ + diff --git a/index.php b/index.php index 80d1395ac..2835694fd 100644 --- a/index.php +++ b/index.php @@ -230,6 +230,7 @@ endif; ?> + diff --git a/login/index.php b/login/index.php index 9458668b4..47271bec5 100644 --- a/login/index.php +++ b/login/index.php @@ -94,6 +94,7 @@ + diff --git a/manual/index.php b/manual/index.php index ed8937782..2fcfe719e 100644 --- a/manual/index.php +++ b/manual/index.php @@ -83,6 +83,7 @@ + diff --git a/package.json b/package.json index 7a195c64b..59b95ef3a 100644 --- a/package.json +++ b/package.json @@ -35,13 +35,14 @@ "@andreasremdt/simple-translator": "^2.0.1", "font-awesome": "^4.7.0", "gh-markdown-cli": "^0.2.0", - "github-markdown-css": "https://github.com/andi34/github-markdown-css", + "github-markdown-css": "^4.0.0", "gulp": "4.0.2", "gulp-sass": "4.0.2", "jquery": "^3.5.1", - "marvinj": "https://github.com/gabrielarchanjo/marvinj", + "marvinj": "^1.0.0", "normalize.css": "^8.0.1", - "photoswipe": "https://github.com/andi34/PhotoSwipe" + "photoswipe": "^4.1.3", + "whatwg-fetch": "^3.2.0" }, "devDependencies": { "@babel/core": "^7.11.0", diff --git a/slideshow/index.php b/slideshow/index.php index 904da6711..c51a34ef2 100644 --- a/slideshow/index.php +++ b/slideshow/index.php @@ -82,6 +82,7 @@ + diff --git a/yarn.lock b/yarn.lock index e71ca2f94..98b69f15a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2311,9 +2311,10 @@ git-tag-version@^1.3.1: resolved "https://registry.yarnpkg.com/github-flavored-markdown/-/github-flavored-markdown-1.0.1.tgz#93361b87a31c25790d9c81a1b798214a737eab38" integrity sha1-kzYbh6McJXkNnIGht5ghSnN+qzg= -"github-markdown-css@https://github.com/andi34/github-markdown-css": +github-markdown-css@^4.0.0: version "4.0.0" - resolved "https://github.com/andi34/github-markdown-css#1485dd78f5e744ef36e946e5ae44838e3906f9d8" + resolved "https://registry.yarnpkg.com/github-markdown-css/-/github-markdown-css-4.0.0.tgz#be9f4caf7a389228d4c368336260ffc909061f35" + integrity sha512-mH0bcIKv4XAN0mQVokfTdKo2OD5K8WJE9+lbMdM32/q0Ie5tXgVN/2o+zvToRMxSTUuiTRcLg5hzkFfOyBYreg== glob-parent@^3.1.0: version "3.1.0" @@ -3150,9 +3151,10 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -"marvinj@https://github.com/gabrielarchanjo/marvinj": - version "0.0.0" - resolved "https://github.com/gabrielarchanjo/marvinj#b758c84e6a3c13b1dd8d13d052e42a2e6331b609" +marvinj@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/marvinj/-/marvinj-1.0.0.tgz#5e1e0663f4e605a5966d3537c1a41fd22589c8b5" + integrity sha512-+afDa86Pml2BlDt2lEn+xZUZ6r4q+aQvxSmWq37M4lQ4SraBJcKlbm+wDamzXTvW7OmeK0mkWdjRB4R3PAPFjA== matchdep@^2.0.0: version "2.0.0" @@ -3625,9 +3627,10 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -"photoswipe@https://github.com/andi34/PhotoSwipe": +photoswipe@^4.1.3: version "4.1.3" - resolved "https://github.com/andi34/PhotoSwipe#59b81ae982674b92b05860e7c1549679030fd3ec" + resolved "https://registry.yarnpkg.com/photoswipe/-/photoswipe-4.1.3.tgz#59f49494eeb9ddab5888d03392926a19bc197550" + integrity sha512-89Z43IRUyw7ycTolo+AaiDn3W1EEIfox54hERmm9bI12IB9cvRfHSHez3XhAyU8XW2EAFrC+2sKMhh7SJwn0bA== pify@^2.0.0: version "2.3.0" @@ -4765,6 +4768,11 @@ vinyl@^2.0.0: remove-trailing-separator "^1.0.1" replace-ext "^1.0.0" +whatwg-fetch@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.2.0.tgz#8e134f701f0a4ab5fda82626f113e2b647fd16dc" + integrity sha512-SdGPoQMMnzVYThUbSrEvqTlkvC1Ux27NehaJ/GUHBfNrh5Mjg+1/uRyFMwVnxO2MrikMWvWAqUGgQOfVU4hT7w== + which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" From 83f539475c1d7873c09453996763fa20acfbf42a Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Mon, 3 Aug 2020 20:10:50 +0200 Subject: [PATCH 14/25] scripts (pack-build): add whatwg-fetch Change-Id: I55e1b5c72559bd2ed269f442b5df501f773ff9b9 --- scripts/pack-build.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/scripts/pack-build.js b/scripts/pack-build.js index e33bd66c1..b4a2715a0 100644 --- a/scripts/pack-build.js +++ b/scripts/pack-build.js @@ -71,17 +71,19 @@ function createArchive(fileName, archive) { archive.file('update-booth.sh'); archive.file('node_modules/@andreasremdt/simple-translator/LICENSE'); archive.file('node_modules/@andreasremdt/simple-translator/dist/umd/translator.min.js'); + archive.directory('node_modules/font-awesome/'); archive.file('node_modules/github-markdown-css/github-markdown.css'); archive.file('node_modules/github-markdown-css/license'); - archive.file('node_modules/normalize.css/LICENSE.md'); - archive.file('node_modules/normalize.css/normalize.css'); - archive.directory('node_modules/font-awesome/'); - archive.file('node_modules/photoswipe/LICENSE'); - archive.directory('node_modules/photoswipe/dist/'); archive.file('node_modules/jquery/LICENSE.txt'); archive.directory('node_modules/jquery/dist/'); archive.file('node_modules/marvinj/LICENSE'); archive.directory('node_modules/marvinj/marvinj/release/'); + archive.file('node_modules/normalize.css/LICENSE.md'); + archive.file('node_modules/normalize.css/normalize.css'); + archive.file('node_modules/photoswipe/LICENSE'); + archive.directory('node_modules/photoswipe/dist/'); + archive.file('node_modules/whatwg-fetch/LICENSE'); + archive.file('node_modules/whatwg-fetch/dist/fetch.umd.js'); output.on('close', function () { console.log(`Wrote ${archive.pointer()} bytes to ${fileName}`.verbose); From eaf8282375d70bcd67305ed1fa50952162f2ee8e Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Tue, 4 Aug 2020 10:40:47 +0200 Subject: [PATCH 15/25] .editorconfig: adjust path for *.js files --- .editorconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.editorconfig b/.editorconfig index 5a3e3e233..70cbc2fa6 100644 --- a/.editorconfig +++ b/.editorconfig @@ -3,9 +3,9 @@ # top-most EditorConfig file root = true -[resources/js/**.js] +[src/js/**.js] charset = utf-8 indent_style = space indent_size = 4 insert_final_newline = true -trim_trailing_whitespace = true \ No newline at end of file +trim_trailing_whitespace = true From f60ad70a40bf8b1a608349f630e65a37332649ff Mon Sep 17 00:00:00 2001 From: Andreas Remdt Date: Tue, 4 Aug 2020 15:00:44 +0200 Subject: [PATCH 16/25] Bump simple-translator to v2.0.2 Change-Id: Ie5dfda945328d566251bc8e33162d322ef59fb0e --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 59b95ef3a..76078e9bf 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "events" ], "dependencies": { - "@andreasremdt/simple-translator": "^2.0.1", + "@andreasremdt/simple-translator": "^2.0.2", "font-awesome": "^4.7.0", "gh-markdown-cli": "^0.2.0", "github-markdown-css": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index 98b69f15a..96a2e7465 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@andreasremdt/simple-translator@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@andreasremdt/simple-translator/-/simple-translator-2.0.1.tgz#ffeb1f57ad46ef307e6e40eaf94e5f6d8159e9f1" - integrity sha512-E8TCaZgrNzhxo/CsLdh5rSdKMhdDHizV8E83Rhp46kvGSrDbk2qHi0yKX3e/A1EVs3kgUfmDEOn7bSjhkWj8Jw== +"@andreasremdt/simple-translator@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@andreasremdt/simple-translator/-/simple-translator-2.0.2.tgz#8e9a181faec783df0caa0ddcb15fb74c924dd3a6" + integrity sha512-Qz498YQVyuFZgtj5ATfKu+TPenjKjRd6gHhasJlHwzwD47wdWbiMCa/QXSYf+/A05gTATXoehozV+Gg9MsFiXQ== "@babel/code-frame@^7.0.0": version "7.8.3" From 3c6a7bcdc5897c727abfb06d3fc1e4afa3f67ae3 Mon Sep 17 00:00:00 2001 From: Andreas Remdt Date: Tue, 4 Aug 2020 15:11:40 +0200 Subject: [PATCH 17/25] Install prettier & npm-run-all Install prettier and format all source files (JS & SCSS). Change-Id: I5cb26fc74e98e7abf24941ec6db34548b07a5386 --- .eslintrc.json | 6 +- .prettierrc | 6 + package.json | 7 +- src/js/admin.js | 42 +++--- src/js/chromakeying.js | 27 ++-- src/js/core.js | 206 ++++++++++++++++-------------- src/js/gallery.js | 2 +- src/js/i18n-sub.js | 8 +- src/js/i18n.js | 8 +- src/js/manual.js | 4 +- src/js/photoinit.js | 81 ++++++------ src/js/slideshow.js | 13 +- src/sass/admin.scss | 17 ++- src/sass/chromakeying.scss | 20 +-- src/sass/login.scss | 12 +- src/sass/manual.scss | 13 +- src/sass/modules/_theme.scss | 42 +++--- src/sass/partials/_basic.scss | 116 ++++++++--------- src/sass/partials/_button.scss | 161 ++++++++++++----------- src/sass/partials/_fonts.scss | 82 ++++++------ src/sass/partials/_gallery.scss | 164 ++++++++++++------------ src/sass/partials/_modal.scss | 60 ++++----- src/sass/partials/_ribbon.scss | 96 +++++++------- src/sass/partials/_scrollbar.scss | 12 +- src/sass/partials/_sidenav.scss | 105 ++++++++------- src/sass/partials/_toggle.scss | 10 +- src/sass/photoswipe-bottom.scss | 4 +- src/sass/rounded.scss | 6 +- src/sass/slideshow.scss | 12 +- src/sass/style.scss | 45 ++++--- src/sass/vendor/_photoswipe.scss | 48 +++---- yarn.lock | 180 +++++++++++++++++++++++++- 32 files changed, 901 insertions(+), 714 deletions(-) create mode 100644 .prettierrc diff --git a/.eslintrc.json b/.eslintrc.json index 1e43f9192..75570c244 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -20,7 +20,7 @@ "array-bracket-newline": "error", "array-bracket-spacing": "error", "array-callback-return": "error", - "array-element-newline": "error", + "array-element-newline": "off", "arrow-body-style": "error", "arrow-parens": "error", "arrow-spacing": [ @@ -88,7 +88,7 @@ "error", "consistent" ], - "function-paren-newline": "error", + "function-paren-newline": "off", "generator-star-spacing": "error", "global-require": "error", "guard-for-in": "error", @@ -289,7 +289,7 @@ ], "valid-jsdoc": "error", "vars-on-top": "off", - "wrap-regex": "error", + "wrap-regex": "off", "yield-star-spacing": "error", "yoda": [ "error", diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..c111ed47a --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "trailingComma": "none", + "singleQuote": true, + "bracketSpacing": false, + "printWidth": 120 +} \ No newline at end of file diff --git a/package.json b/package.json index 76078e9bf..558810ff5 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,9 @@ "eslint": "eslint src/js/*.js", "eslint:fix": "eslint src/js/*.js --fix", "pack:build": "node scripts/pack-build.js", + "format": "npm-run-all --parallel format:*", + "format:js": "prettier src/js/*.js --write", + "format:scss": "prettier src/sass/* --write", "build:faq": "node_modules/gh-markdown-cli/bin/mdown --input 'faq/*.md' --output manual --header faq/header.html --footer faq/footer.html" }, "author": "", @@ -41,6 +44,7 @@ "jquery": "^3.5.1", "marvinj": "^1.0.0", "normalize.css": "^8.0.1", + "npm-run-all": "^4.1.5", "photoswipe": "^4.1.3", "whatwg-fetch": "^3.2.0" }, @@ -51,6 +55,7 @@ "colors": "^1.4.0", "eslint": "^6.8.0", "git-tag-version": "^1.3.1", - "gulp-babel": "^8.0.0" + "gulp-babel": "^8.0.0", + "prettier": "^2.0.5" } } diff --git a/src/js/admin.js b/src/js/admin.js index c7e8c9dc1..4c97c24c5 100644 --- a/src/js/admin.js +++ b/src/js/admin.js @@ -1,6 +1,6 @@ /* globals i18n */ -$(function() { - $('.panel-heading').on('click', function() { +$(function () { + $('.panel-heading').on('click', function () { const panel = $(this).parents('.panel'); const others = $(this).parents('.accordion').find('.open').not(panel); @@ -12,23 +12,23 @@ $(function() { others.find('.panel-body').slideUp('fast'); }); - $('.reset-btn').on('click', function() { + $('.reset-btn').on('click', function () { const msg = i18n('really_delete'); const really = confirm(msg); - const data = {'type': 'reset'}; + const data = {type: 'reset'}; const elem = $(this); elem.addClass('saving'); if (really) { $.ajax({ - 'url': '../api/admin.php', - 'data': data, - 'dataType': 'json', - 'type': 'post', - 'success': function(resp) { + url: '../api/admin.php', + data: data, + dataType: 'json', + type: 'post', + success: function (resp) { elem.removeClass('saving'); elem.addClass(resp); - setTimeout(function() { + setTimeout(function () { elem.removeClass('error success'); window.location.reload(); @@ -38,21 +38,21 @@ $(function() { } }); - $('.save-btn').on('click', function(e) { + $('.save-btn').on('click', function (e) { e.preventDefault(); const elem = $(this); elem.addClass('saving'); const data = 'type=config&' + $('form').serialize(); $.ajax({ - 'url': '../api/admin.php', - 'data': data, - 'dataType': 'json', - 'type': 'post', - 'success': function(resp) { + url: '../api/admin.php', + data: data, + dataType: 'json', + type: 'post', + success: function (resp) { elem.removeClass('saving'); elem.addClass(resp); - setTimeout(function() { + setTimeout(function () { elem.removeClass('error success'); if (resp === 'success') { @@ -74,10 +74,10 @@ $(function() { success: (data) => { let message = 'Error'; $('#checkVersion').empty(); - console.log('data', data) + console.log('data', data); if (!data.updateAvailable) { message = i18n('using_latest_version'); - } else if ((/^\d+\.\d+\.\d+$/u).test(data.availableVersion)) { + } else if (/^\d+\.\d+\.\d+$/u.test(data.availableVersion)) { message = i18n('update_available'); } else { message = i18n('test_update_available'); @@ -95,13 +95,13 @@ $(function() { } }); }); - $('option').mousedown(function(e) { + $('option').mousedown(function (e) { e.preventDefault(); const originalScrollTop = $(this).parent().scrollTop(); $(this).prop('selected', !$(this).prop('selected')); const that = this; $(this).parent().focus(); - setTimeout(function() { + setTimeout(function () { $(that).parent().scrollTop(originalScrollTop); }, 0); diff --git a/src/js/chromakeying.js b/src/js/chromakeying.js index c072e5e96..d00a5220f 100644 --- a/src/js/chromakeying.js +++ b/src/js/chromakeying.js @@ -8,7 +8,6 @@ let backgroundImage; function greenToTransparency(imageIn, imageOut) { for (let y = 0; y < imageIn.getHeight(); y++) { for (let x = 0; x < imageIn.getWidth(); x++) { - const color = imageIn.getIntColor(x, y); const hsv = MarvinColorModelConverter.rgbToHsv([color]); @@ -31,10 +30,10 @@ function reduceGreen(image) { const hsv = MarvinColorModelConverter.rgbToHsv([color]); if (hsv[0] >= 60 && hsv[0] <= 130 && hsv[1] >= 0.15 && hsv[2] >= 0.15) { - if ((r * b) != 0 && (g * g) / (r * b) > 1.5) { - image.setIntColor(x, y, 255, (r * 1.4), g, (b * 1.4)); + if (r * b != 0 && (g * g) / (r * b) > 1.5) { + image.setIntColor(x, y, 255, r * 1.4, g, b * 1.4); } else { - image.setIntColor(x, y, 255, (r * 1.2), g, (b * 1.2)); + image.setIntColor(x, y, 255, r * 1.2, g, b * 1.2); } } } @@ -76,17 +75,16 @@ function setMainImage(imgSrc) { mainImage.src = tmpCanvas.toDataURL('image/png'); mainImage.onload = function () { drawCanvas(); - } + }; }); } - function setBackgroundImage(url) { backgroundImage = new Image(); backgroundImage.src = url; backgroundImage.onload = function () { drawCanvas(); - } + }; } function drawCanvas() { @@ -104,7 +102,12 @@ function drawCanvas() { if (typeof backgroundImage !== 'undefined' && backgroundImage !== null) { if (typeof mainImage !== 'undefined' && mainImage !== null) { - const size = calculateAspectRatioFit(backgroundImage.width, backgroundImage.height, mainImage.width, mainImage.height); + const size = calculateAspectRatioFit( + backgroundImage.width, + backgroundImage.height, + mainImage.width, + mainImage.height + ); ctx.drawImage(backgroundImage, 0, 0, size.width, size.height); } else { ctx.drawImage(backgroundImage, 0, 0, backgroundImage.width, backgroundImage.height); @@ -130,7 +133,7 @@ function printImage(filename, cb) { $.get( 'api/print.php', { - filename: filename, + filename: filename }, function (data) { console.log('print data', data); @@ -148,7 +151,7 @@ function saveImage(cb) { $.post( 'api/chromakeying/save.php', { - imgData: dataURL, + imgData: dataURL }, function (data) { if (cb) { @@ -174,7 +177,7 @@ function printImageHandler(ev) { $('#print_mesg').removeClass('modal--show'); $('#print-btn').blur(); }, 5000); - }) + }); }); }, 1000); } @@ -221,6 +224,6 @@ $(document).ready(function () { if (diff > 0) { const canvasHeight = $('#mainCanvas').height(); - $('#mainCanvas').css('height', (canvasHeight - diff) + 'px'); + $('#mainCanvas').css('height', canvasHeight - diff + 'px'); } }); diff --git a/src/js/core.js b/src/js/core.js index a8e8923ef..ae22201a2 100644 --- a/src/js/core.js +++ b/src/js/core.js @@ -14,7 +14,7 @@ const photoBooth = (function () { video: { width: config.videoWidth, height: config.videoHeight, - facingMode: config.camera_mode, + facingMode: config.camera_mode } }, videoView = $('#video--view').get(0), @@ -52,7 +52,7 @@ const photoBooth = (function () { api.reloadPage = function () { window.location.reload(); - } + }; // timeOut function api.resetTimeOut = function () { @@ -61,7 +61,7 @@ const photoBooth = (function () { timeOut = setTimeout(function () { api.reloadPage(); }, timeToLive); - } + }; // reset whole thing api.reset = function () { @@ -81,7 +81,7 @@ const photoBooth = (function () { api.resetMailForm(); $('#loader').css('background', config.colors.background_countdown); $('#loader').css('background-color', config.colors.background_countdown); - } + }; // init api.init = function () { @@ -94,22 +94,21 @@ const photoBooth = (function () { if (config.previewCamBackground) { api.startVideo('preview'); } - } + }; api.openNav = function () { $('#mySidenav').addClass('sidenav--open'); - } + }; api.closeNav = function () { $('#mySidenav').removeClass('sidenav--open'); - } + }; api.toggleNav = function () { $('#mySidenav').toggleClass('sidenav--open'); - } + }; api.startVideo = function (mode) { - if (config.previewCamBackground) { api.stopVideo('preview'); } @@ -118,7 +117,11 @@ const photoBooth = (function () { return; } - const getMedia = (navigator.mediaDevices.getUserMedia || navigator.mediaDevices.webkitGetUserMedia || navigator.mediaDevices.mozGetUserMedia || false); + const getMedia = + navigator.mediaDevices.getUserMedia || + navigator.mediaDevices.webkitGetUserMedia || + navigator.mediaDevices.mozGetUserMedia || + false; if (!getMedia) { return; @@ -129,7 +132,8 @@ const photoBooth = (function () { $('#video--preview').addClass('flip-horizontal'); } - getMedia.call(navigator.mediaDevices, webcamConstraints) + getMedia + .call(navigator.mediaDevices, webcamConstraints) .then(function (stream) { if (mode === 'preview') { $('#video--preview').show(); @@ -144,9 +148,9 @@ const photoBooth = (function () { api.stream = stream; }) .catch(function (error) { - console.log('Could not get user media: ', error) + console.log('Could not get user media: ', error); }); - } + }; api.stopVideo = function (mode) { if (api.stream) { @@ -158,7 +162,7 @@ const photoBooth = (function () { $('#video--view').hide(); } } - } + }; api.thrill = function (photoStyle) { api.closeNav(); @@ -190,7 +194,7 @@ const photoBooth = (function () { api.startCountdown(nextCollageNumber ? config.collage_cntdwn_time : config.cntdwn_time, $('#counter'), () => { api.cheese(photoStyle); }); - } + }; // Cheese api.cheese = function (photoStyle) { @@ -207,7 +211,9 @@ const photoBooth = (function () { } else { const cheesemsg = i18n('cheeseCollage'); $('.cheese').text(cheesemsg); - $('

').text(`${nextCollageNumber + 1} / ${config.collage_limit}`).appendTo('.cheese'); + $('

') + .text(`${nextCollageNumber + 1} / ${config.collage_limit}`) + .appendTo('.cheese'); } if (config.previewFromCam && config.previewCamTakesPic && !api.stream && !config.dev) { @@ -226,7 +232,7 @@ const photoBooth = (function () { api.takePic(photoStyle); }, config.cheese_time); } - } + }; // take Picture api.takePic = function (photoStyle) { @@ -251,7 +257,7 @@ const photoBooth = (function () { const data = { filter: imgFilter, style: photoStyle, - canvasimg: videoSensor.toDataURL('image/jpeg'), + canvasimg: videoSensor.toDataURL('image/jpeg') }; if (photoStyle === 'collage') { @@ -262,53 +268,57 @@ const photoBooth = (function () { loader.css('background', config.colors.panel); loader.css('background-color', config.colors.panel); - jQuery.post('api/takePic.php', data).done(function (result) { - console.log('took picture', result); - $('.cheese').empty(); - if (config.previewCamFlipHorizontal) { - $('#video--view').removeClass('flip-horizontal'); - $('#video--preview').removeClass('flip-horizontal'); - } - - // reset filter (selection) after picture was taken - imgFilter = config.default_imagefilter; - $('#mySidenav .activeSidenavBtn').removeClass('activeSidenavBtn'); - $('#' + imgFilter).addClass('activeSidenavBtn'); + jQuery + .post('api/takePic.php', data) + .done(function (result) { + console.log('took picture', result); + $('.cheese').empty(); + if (config.previewCamFlipHorizontal) { + $('#video--view').removeClass('flip-horizontal'); + $('#video--preview').removeClass('flip-horizontal'); + } - if (result.error) { - api.errorPic(result); - } else if (result.success === 'collage' && (result.current + 1) < result.limit) { - currentCollageFile = result.file; - nextCollageNumber = result.current + 1; - - $('.spinner').hide(); - $('.loading').empty(); - $('#video--sensor').hide(); - - if (config.continuous_collage) { - setTimeout(() => { - api.thrill('collage'); - }, 1000); + // reset filter (selection) after picture was taken + imgFilter = config.default_imagefilter; + $('#mySidenav .activeSidenavBtn').removeClass('activeSidenavBtn'); + $('#' + imgFilter).addClass('activeSidenavBtn'); + + if (result.error) { + api.errorPic(result); + } else if (result.success === 'collage' && result.current + 1 < result.limit) { + currentCollageFile = result.file; + nextCollageNumber = result.current + 1; + + $('.spinner').hide(); + $('.loading').empty(); + $('#video--sensor').hide(); + + if (config.continuous_collage) { + setTimeout(() => { + api.thrill('collage'); + }, 1000); + } else { + $('' + i18n('nextPhoto') + '') + .appendTo('.loading') + .click((ev) => { + ev.preventDefault(); + + api.thrill('collage'); + }); + const abortmsg = i18n('abort'); + $('.loading').append($('').text(abortmsg)); + } } else { - $('' + i18n('nextPhoto') + '').appendTo('.loading').click((ev) => { - ev.preventDefault(); + currentCollageFile = ''; + nextCollageNumber = 0; - api.thrill('collage'); - }); - const abortmsg = i18n('abort'); - $('.loading').append($('').text(abortmsg)); + api.processPic(photoStyle, result); } - } else { - currentCollageFile = ''; - nextCollageNumber = 0; - - api.processPic(photoStyle, result); - } - - }).fail(function (xhr, status, result) { - api.errorPic(result); - }); - } + }) + .fail(function (xhr, status, result) { + api.errorPic(result); + }); + }; // Show error Msg and reset api.errorPic = function (data) { @@ -339,7 +349,7 @@ const photoBooth = (function () { $('.loading').append($('').text(reloadmsg)); } }, 500); - } + }; api.processPic = function (photoStyle, result) { const tempImageUrl = config.folders.tmp + '/' + result.file; @@ -357,7 +367,7 @@ const photoBooth = (function () { preloadImage.onload = () => { $('#loader').css('background-image', `url(${tempImageUrl})`); $('#loader').addClass('showBackgroundImage'); - } + }; preloadImage.src = tempImageUrl; } @@ -367,7 +377,7 @@ const photoBooth = (function () { data: { file: result.file, filter: imgFilter, - isCollage: photoStyle === 'collage', + isCollage: photoStyle === 'collage' }, success: (data) => { console.log('picture processed', data); @@ -382,11 +392,11 @@ const photoBooth = (function () { console.log('An error occurred', textStatus); api.errorPic({ - error: 'Request failed: ' + textStatus, + error: 'Request failed: ' + textStatus }); - }, + } }); - } + }; // Render Picture after taking api.renderPic = function (filename) { @@ -397,7 +407,10 @@ const photoBooth = (function () { const body = qrCodeModal.find('.modal__body'); $(this).appendTo(body); - $('

').css('max-width', this.width + 'px').html(i18n('qrHelp') + '
' + config.wifi_ssid + '').appendTo(body); + $('

') + .css('max-width', this.width + 'px') + .html(i18n('qrHelp') + '
' + config.wifi_ssid + '') + .appendTo(body); }); // Add Print Link @@ -411,17 +424,20 @@ const photoBooth = (function () { }); }); - resultPage.find('.deletebtn').off('click').on('click', (ev) => { - ev.preventDefault(); + resultPage + .find('.deletebtn') + .off('click') + .on('click', (ev) => { + ev.preventDefault(); - api.deleteImage(filename, (data) => { - if (data.success) { - api.reloadPage(); - } else { - console.log('Error while deleting image'); - } - }) - }); + api.deleteImage(filename, (data) => { + if (data.success) { + api.reloadPage(); + } else { + console.log('Error while deleting image'); + } + }); + }); // Add Image to gallery and slider api.addImage(filename); @@ -431,7 +447,7 @@ const photoBooth = (function () { const preloadImage = new Image(); preloadImage.onload = () => { resultPage.css({ - 'background-image': `url(${imageUrl}?filter=${imgFilter})`, + 'background-image': `url(${imageUrl}?filter=${imgFilter})` }); resultPage.attr('data-img', filename); @@ -448,7 +464,7 @@ const photoBooth = (function () { }; preloadImage.src = imageUrl; - } + }; // add image to Gallery api.addImage = function (imageName) { @@ -461,13 +477,17 @@ const photoBooth = (function () { thumbImg.onload = function () { thumbSize = this.width + 'x' + this.height; - if (--imgtoLoad == 0) { allLoaded(); } - } + if (--imgtoLoad == 0) { + allLoaded(); + } + }; bigImg.onload = function () { bigSize = this.width + 'x' + this.height; - if (--imgtoLoad == 0) { allLoaded(); } - } + if (--imgtoLoad == 0) { + allLoaded(); + } + }; bigImg.src = config.folders.images + '/' + imageName; thumbImg.src = config.folders.thumbs + '/' + imageName; @@ -488,7 +508,7 @@ const photoBooth = (function () { $('#galimages').children().not('a').remove(); } - } + }; // Open Gallery Overview api.openGallery = function () { @@ -499,7 +519,7 @@ const photoBooth = (function () { gallery.addClass('gallery--open'); setTimeout(() => gallery.find('.gallery__inner').show(), 300); - } + }; api.resetMailForm = function () { $('#send-mail-form').trigger('reset'); @@ -526,17 +546,17 @@ const photoBooth = (function () { count++; } timerFunction(); - } + }; api.printImage = function (imageSrc, cb) { modal.open('#print_mesg'); setTimeout(function () { $.ajax({ - url: 'api/print.php?filename=' + encodeURI(imageSrc), + url: 'api/print.php?filename=' + encodeURI(imageSrc) }).done(function (data) { if (config.dev) { - console.log(data) + console.log(data); } setTimeout(function () { @@ -545,20 +565,20 @@ const photoBooth = (function () { }, 5000); }); }, 1000); - } + }; api.deleteImage = function (imageName, cb) { $.ajax({ url: 'api/deletePhoto.php', method: 'POST', data: { - file: imageName, + file: imageName }, success: (data) => { cb(data); } }); - } + }; api.toggleMailDialog = function (img) { const mail = $('.send-mail'); @@ -571,7 +591,7 @@ const photoBooth = (function () { mail.addClass('mail-active').fadeIn('fast'); } - } + }; //Filter $('.imageFilter').on('click', function () { diff --git a/src/js/gallery.js b/src/js/gallery.js index 0bb7e81d5..5a56410e6 100644 --- a/src/js/gallery.js +++ b/src/js/gallery.js @@ -1,5 +1,5 @@ /* globals photoBooth */ -$(function() { +$(function () { const reloadElement = $('
'); reloadElement.append(''); reloadElement.attr('href', '#'); diff --git a/src/js/i18n-sub.js b/src/js/i18n-sub.js index 8831118a1..b2ff6a451 100644 --- a/src/js/i18n-sub.js +++ b/src/js/i18n-sub.js @@ -8,12 +8,6 @@ const translator = new Translator({ debug: config.dev }); -translator.fetch([ - 'de', - 'en', - 'es', - 'el', - 'fr' -]).then(() => { +translator.fetch(['de', 'en', 'es', 'el', 'fr']).then(() => { translator.translatePageTo(config.language); }); diff --git a/src/js/i18n.js b/src/js/i18n.js index 52c9d094c..e1fda9380 100644 --- a/src/js/i18n.js +++ b/src/js/i18n.js @@ -8,12 +8,6 @@ const translator = new Translator({ debug: config.dev }); -translator.fetch([ - 'de', - 'en', - 'es', - 'el', - 'fr' -]).then(() => { +translator.fetch(['de', 'en', 'es', 'el', 'fr']).then(() => { translator.translatePageTo(config.language); }); diff --git a/src/js/manual.js b/src/js/manual.js index 67427e92c..7a208e310 100644 --- a/src/js/manual.js +++ b/src/js/manual.js @@ -1,5 +1,5 @@ -$(function() { - $('.panel-heading').on('click', function() { +$(function () { + $('.panel-heading').on('click', function () { const panel = $(this).parents('.panel'); const others = $(this).parents('.accordion').find('.open').not(panel); diff --git a/src/js/photoinit.js b/src/js/photoinit.js index c5b8dc91c..7f4ce2dbc 100644 --- a/src/js/photoinit.js +++ b/src/js/photoinit.js @@ -1,7 +1,6 @@ /* exported initPhotoSwipeFromDOM */ /* global photoBooth */ -function initPhotoSwipeFromDOM (gallerySelector) { - +function initPhotoSwipeFromDOM(gallerySelector) { let gallery, ssRunning = false, ssOnce = false; @@ -10,34 +9,37 @@ function initPhotoSwipeFromDOM (gallerySelector) { ssButtonClass = '.pswp__button--playpause'; const parseThumbnailElements = function (container) { - return $(container).find('>a').map(function () { - const element = $(this); - - const size = element.attr('data-size').split('x'); - const medSize = element.attr('data-med-size').split('x'); - - // create slide object - const item = { - element: element.get(0), - src: element.attr('href'), - w: parseInt(size[0], 10), - h: parseInt(size[1], 10), - msrc: element.find('>img').attr('src'), - mediumImage: { - src: element.attr('data-med'), - w: parseInt(medSize[0], 10), - h: parseInt(medSize[1], 10) - } - }; + return $(container) + .find('>a') + .map(function () { + const element = $(this); + + const size = element.attr('data-size').split('x'); + const medSize = element.attr('data-med-size').split('x'); + + // create slide object + const item = { + element: element.get(0), + src: element.attr('href'), + w: parseInt(size[0], 10), + h: parseInt(size[1], 10), + msrc: element.find('>img').attr('src'), + mediumImage: { + src: element.attr('data-med'), + w: parseInt(medSize[0], 10), + h: parseInt(medSize[1], 10) + } + }; - item.originalImage = { - src: item.src, - w: item.w, - h: item.h - }; + item.originalImage = { + src: item.src, + w: item.w, + h: item.h + }; - return item; - }).get(); + return item; + }) + .get(); }; const onThumbnailClick = function (ev) { @@ -71,7 +73,7 @@ function initPhotoSwipeFromDOM (gallerySelector) { shareEl: false, zoomEl: false, - fullscreenEl: false, + fullscreenEl: false }; // Pass data to PhotoSwipe and initialize it @@ -87,18 +89,19 @@ function initPhotoSwipeFromDOM (gallerySelector) { imageSrcWillChange; gallery.listen('beforeResize', function () { - let dpiRatio = window.devicePixelRatio ? window.devicePixelRatio : 1; dpiRatio = Math.min(dpiRatio, 2.5); realViewportWidth = gallery.viewportSize.x * dpiRatio; - - if (realViewportWidth >= 1200 || (!gallery.likelyTouchDevice && realViewportWidth > 800) || screen.width > 1200) { + if ( + realViewportWidth >= 1200 || + (!gallery.likelyTouchDevice && realViewportWidth > 800) || + screen.width > 1200 + ) { if (!useLargeImages) { useLargeImages = true; imageSrcWillChange = true; } - } else if (useLargeImages) { useLargeImages = false; imageSrcWillChange = true; @@ -113,7 +116,6 @@ function initPhotoSwipeFromDOM (gallerySelector) { } imageSrcWillChange = false; - }); gallery.listen('gettingData', function (_index, item) { @@ -128,12 +130,12 @@ function initPhotoSwipeFromDOM (gallerySelector) { } }); - gallery.listen('afterChange', function() { + gallery.listen('afterChange', function () { const img = gallery.currItem.src.split('\\').pop().split('/').pop(); $('.pswp__button--download').attr({ href: 'api/download.php?image=' + img, - download: img, + download: img }); if (ssRunning && ssOnce) { @@ -170,7 +172,9 @@ function initPhotoSwipeFromDOM (gallerySelector) { let img = gallery.currItem.src; img = img.split('\\').pop().split('/').pop(); - $('').attr('src', 'api/qrcode.php?filename=' + img).appendTo(pswpQR); + $('') + .attr('src', 'api/qrcode.php?filename=' + img) + .appendTo(pswpQR); pswpQR.addClass('qr-active').fadeIn('fast'); } @@ -222,7 +226,7 @@ function initPhotoSwipeFromDOM (gallerySelector) { }); /* slideshow management */ - $(ssButtonClass).on('click touchstart', function(e) { + $(ssButtonClass).on('click touchstart', function (e) { e.preventDefault(); e.stopPropagation(); // toggle slideshow on/off @@ -248,4 +252,3 @@ function initPhotoSwipeFromDOM (gallerySelector) { $(gallerySelector).on('click', onThumbnailClick); } - diff --git a/src/js/slideshow.js b/src/js/slideshow.js index e6dbb625a..2f7b0cec8 100644 --- a/src/js/slideshow.js +++ b/src/js/slideshow.js @@ -1,19 +1,14 @@ $('#slideshow > div:gt(0)').hide(); -setInterval(function() { - $('#slideshow > div:first') - .fadeOut(1000) - .next() - .fadeIn(1000) - .end() - .appendTo('#slideshow'); +setInterval(function () { + $('#slideshow > div:first').fadeOut(1000).next().fadeIn(1000).end().appendTo('#slideshow'); }, config.slideshow_pictureTime); -$(window).resize(function() { +$(window).resize(function () { $('.center').css({ position: 'absolute', left: ($(window).width() - $('.center').outerWidth()) / 2, - top: ($(window).height() - $('.center').outerHeight()) / 2, + top: ($(window).height() - $('.center').outerHeight()) / 2 }); }); diff --git a/src/sass/admin.scss b/src/sass/admin.scss index b648f8048..559694ab8 100644 --- a/src/sass/admin.scss +++ b/src/sass/admin.scss @@ -1,8 +1,8 @@ -@import "modules/theme"; -@import "partials/basic"; -@import "partials/button"; -@import "partials/fonts"; -@import "partials/toggle"; +@import 'modules/theme'; +@import 'partials/basic'; +@import 'partials/button'; +@import 'partials/fonts'; +@import 'partials/toggle'; $error: #e74c3c; $success: #2ecc71; @@ -21,7 +21,7 @@ $success: #2ecc71; background-attachment: fixed; } -input[type="text"], +input[type='text'], select { background: $boxColor; border: 1px solid $borderColor; @@ -81,7 +81,6 @@ select { &:hover { background: $hoverPanelColor; } - } .panel-body { display: none; @@ -101,7 +100,7 @@ select { } &.init { - .panel-body{ + .panel-body { display: block; } } @@ -173,7 +172,7 @@ select { } } -.reset-btn{ +.reset-btn { background: $error; position: absolute; top: 50px; diff --git a/src/sass/chromakeying.scss b/src/sass/chromakeying.scss index c31656a93..b562196ea 100644 --- a/src/sass/chromakeying.scss +++ b/src/sass/chromakeying.scss @@ -1,8 +1,8 @@ -@import "modules/theme"; -@import "partials/basic"; -@import "partials/button"; -@import "partials/fonts"; -@import "partials/modal"; +@import 'modules/theme'; +@import 'partials/basic'; +@import 'partials/button'; +@import 'partials/fonts'; +@import 'partials/modal'; .chromawrapper { display: block; @@ -25,7 +25,7 @@ display: inline-block; max-width: 100%; background-color: green; - border:4px solid $borderColor; + border: 4px solid $borderColor; } #mainCanvas { @@ -34,9 +34,9 @@ } .backgroundPreview { - cursor:pointer; - max-width:120px; + cursor: pointer; + max-width: 120px; max-height: 80px; - border:2px solid $borderColor; - margin:3px; + border: 2px solid $borderColor; + margin: 3px; } diff --git a/src/sass/login.scss b/src/sass/login.scss index c9204dae7..af1a45e88 100644 --- a/src/sass/login.scss +++ b/src/sass/login.scss @@ -1,7 +1,7 @@ -@import "modules/theme"; -@import "partials/fonts"; -@import "partials/basic"; -@import "partials/button"; +@import 'modules/theme'; +@import 'partials/fonts'; +@import 'partials/basic'; +@import 'partials/button'; .loginbody { display: block; @@ -17,8 +17,8 @@ background-attachment: fixed; } -input[type="text"], -input[type="password"] { +input[type='text'], +input[type='password'] { color: $fontColor; background: $boxColor; border: 1px solid $borderColor; diff --git a/src/sass/manual.scss b/src/sass/manual.scss index bcbcddcec..4514d77e8 100644 --- a/src/sass/manual.scss +++ b/src/sass/manual.scss @@ -1,8 +1,8 @@ -@import "modules/theme"; -@import "partials/basic"; -@import "partials/button"; -@import "partials/fonts"; -@import "partials/toggle"; +@import 'modules/theme'; +@import 'partials/basic'; +@import 'partials/button'; +@import 'partials/fonts'; +@import 'partials/toggle'; $error: #e74c3c; $success: #2ecc71; @@ -47,7 +47,6 @@ $success: #2ecc71; &:hover { background: $hoverPanelColor; } - } .panel-body { display: none; @@ -67,7 +66,7 @@ $success: #2ecc71; } &.init { - .panel-body{ + .panel-body { display: block; } } diff --git a/src/sass/modules/_theme.scss b/src/sass/modules/_theme.scss index 50a253321..10cccc209 100644 --- a/src/sass/modules/_theme.scss +++ b/src/sass/modules/_theme.scss @@ -1,24 +1,24 @@ :root { - // default values are specified in lib/config.php - --primary-color: transparent; - --secondary-color: transparent; - --font-color: transparent; - --button-font-color: transparent; - --start-font-color: transparent; - --countdown-color: transparent; - --background-countdown-color: transparent; - --cheese-color: transparent; - --panel-color: transparent; - --hover-panel-color: transparent; - --border-color: transparent; - --box-color: transparent; - --gallery-button-color: transparent; - --background-default: none; - --background-admin: none; - --background-chroma: none; - --background-ipcam: none; - --fontSize: 16px; - --preview-rotation: 0deg; + // default values are specified in lib/config.php + --primary-color: transparent; + --secondary-color: transparent; + --font-color: transparent; + --button-font-color: transparent; + --start-font-color: transparent; + --countdown-color: transparent; + --background-countdown-color: transparent; + --cheese-color: transparent; + --panel-color: transparent; + --hover-panel-color: transparent; + --border-color: transparent; + --box-color: transparent; + --gallery-button-color: transparent; + --background-default: none; + --background-admin: none; + --background-chroma: none; + --background-ipcam: none; + --fontSize: 16px; + --preview-rotation: 0deg; } $mainColor: var(--primary-color); @@ -39,4 +39,4 @@ $adminBackground: var(--background-admin); $chromaBackground: var(--background-chroma); $ipcamBackground: var(--background-ipcam); $fontSize: var(--fontSize); -$ipCamPreviewRotation: var(--preview-rotation); \ No newline at end of file +$ipCamPreviewRotation: var(--preview-rotation); diff --git a/src/sass/partials/_basic.scss b/src/sass/partials/_basic.scss index dbfb85265..baf3a894c 100644 --- a/src/sass/partials/_basic.scss +++ b/src/sass/partials/_basic.scss @@ -1,67 +1,69 @@ * { - -ms-content-zooming: none; - box-sizing: border-box; - } + -ms-content-zooming: none; + box-sizing: border-box; +} - html, body { - font-size: $fontSize; - width: 100%; - height: 100%; - } +html, +body { + font-size: $fontSize; + width: 100%; + height: 100%; +} - h1,h2 { - font-weight: 300; - } +h1, +h2 { + font-weight: 300; +} - h1 { - font-size: 3rem; - margin: 33px 0; - } +h1 { + font-size: 3rem; + margin: 33px 0; +} - h3 { - font-weight: normal; - } +h3 { + font-weight: normal; +} - .deselect ::selection { - background: transparent; - color: inherit; - } - .deselect ::-moz-selection { - background: transparent; - color: inherit; - } - .deselect { - -ms-user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - } +.deselect ::selection { + background: transparent; + color: inherit; +} +.deselect ::-moz-selection { + background: transparent; + color: inherit; +} +.deselect { + -ms-user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} - body { - padding:0; - margin:0; - font-family: 'Dosis', sans-serif; - font-weight: 300; - color: #2b2127; - font-size: 1em; - line-height: 1.5; - -webkit-perspective: 1000; - -moz-perspective: 1000; - -ms-perspective: 1000; - perspective: 1000; - overflow: hidden; - } +body { + padding: 0; + margin: 0; + font-family: 'Dosis', sans-serif; + font-weight: 300; + color: #2b2127; + font-size: 1em; + line-height: 1.5; + -webkit-perspective: 1000; + -moz-perspective: 1000; + -ms-perspective: 1000; + perspective: 1000; + overflow: hidden; +} - p.text-muted { - font-size: 0.8em; - opacity: 0.7; - } +p.text-muted { + font-size: 0.8em; + opacity: 0.7; +} - .accordion { - a, - a:active, - a:focus { - color:$fontColor; - text-shadow: 0 0 5px black; - } +.accordion { + a, + a:active, + a:focus { + color: $fontColor; + text-shadow: 0 0 5px black; } +} diff --git a/src/sass/partials/_button.scss b/src/sass/partials/_button.scss index 3a1fa23be..56a25c98f 100644 --- a/src/sass/partials/_button.scss +++ b/src/sass/partials/_button.scss @@ -1,99 +1,98 @@ .btn { - padding: 20px 40px; - border: 0 none; - background: $mainColor; - display: inline-block; - color: $buttonFontColor; - text-decoration: none; - margin: auto; - width: 200px; - text-align: center; - font-size: 1em; - - &--small { - padding: 12px 40px; - } - - &--tiny { - padding: 3px 6px; - } - - &--flex { - width: auto; - } - - &--login { - padding: 12px 18px; - width: 50%; - } - - &:active, - &:focus, - &:hover { - background: $hoverColor; - } + padding: 20px 40px; + border: 0 none; + background: $mainColor; + display: inline-block; + color: $buttonFontColor; + text-decoration: none; + margin: auto; + width: 200px; + text-align: center; + font-size: 1em; + + &--small { + padding: 12px 40px; + } + + &--tiny { + padding: 3px 6px; + } + + &--flex { + width: auto; + } + + &--login { + padding: 12px 18px; + width: 50%; + } + + &:active, + &:focus, + &:hover { + background: $hoverColor; + } } .btn.save-btn, .btn.install-btn { - position: absolute; - bottom: 0; - left: 0; - right: 0; - width: 100%; - -webkit-transition: background-color 0.2s linear; - -moz-transition: background-color 0.2s linear; - -o-transition: background-color 0.2s linear; - -ms-transition: background-color 0.2s linear; - transition: background-color 0.2s linear; - - i { - display: none; + position: absolute; + bottom: 0; + left: 0; + right: 0; + width: 100%; + -webkit-transition: background-color 0.2s linear; + -moz-transition: background-color 0.2s linear; + -o-transition: background-color 0.2s linear; + -ms-transition: background-color 0.2s linear; + transition: background-color 0.2s linear; + + i { + display: none; + } + + &:active, + &:focus { + outline: none; + } + + span { + display: none; + + &.sv { + display: inline; } + } - &:active, - &:focus { - outline: none; - } - - span { - display: none; + &.error span.sv, + &.success span.sv, + &.saving span.sv { + display: none; + } - &.sv { - display: inline; - } - } - - &.error span.sv, - &.success span.sv, - &.saving span.sv { - display: none; - } - - &.saving i { - display: inline-block; - ; - } + &.saving i { + display: inline-block; + } - &.error { - background-color: #d93939 !important; + &.error { + background-color: #d93939 !important; - span.er { - display: inline; - } + span.er { + display: inline; } + } - &.success { - background-color: #81d939 !important; + &.success { + background-color: #81d939 !important; - span.su { - display: inline; - } + span.su { + display: inline; } + } } @media screen and (max-width: 1024px) { - .takePic { - padding: 10px 10px; - } + .takePic { + padding: 10px 10px; + } } diff --git a/src/sass/partials/_fonts.scss b/src/sass/partials/_fonts.scss index 07532fa27..330dad34d 100644 --- a/src/sass/partials/_fonts.scss +++ b/src/sass/partials/_fonts.scss @@ -1,42 +1,42 @@ @font-face { - font-family: 'Dosis'; - font-style: normal; - font-weight: 200; - src: local('Dosis ExtraLight'), local('Dosis-ExtraLight'), url(../fonts/dosis/ExtraLight.woff) format('woff'); - } - @font-face { - font-family: 'Dosis'; - font-style: normal; - font-weight: 300; - src: local('Dosis Light'), local('Dosis-Light'), url(../fonts/dosis/Light.woff) format('woff'); - } - @font-face { - font-family: 'Dosis'; - font-style: normal; - font-weight: 400; - src: local('Dosis Regular'), local('Dosis-Regular'), url(../fonts/dosis/Regular.woff) format('woff'); - } - @font-face { - font-family: 'Dosis'; - font-style: normal; - font-weight: 500; - src: local('Dosis Medium'), local('Dosis-Medium'), url(../fonts/dosis/Medium.woff) format('woff'); - } - @font-face { - font-family: 'Dosis'; - font-style: normal; - font-weight: 600; - src: local('Dosis SemiBold'), local('Dosis-SemiBold'), url(../fonts/dosis/SemiBold.woff) format('woff'); - } - @font-face { - font-family: 'Dosis'; - font-style: normal; - font-weight: 700; - src: local('Dosis Bold'), local('Dosis-Bold'), url(../fonts/dosis/Bold.woff) format('woff'); - } - @font-face { - font-family: 'Dosis'; - font-style: normal; - font-weight: 800; - src: local('Dosis ExtraBold'), local('Dosis-ExtraBold'), url(../fonts/dosis/ExtraBold.woff) format('woff'); - } + font-family: 'Dosis'; + font-style: normal; + font-weight: 200; + src: local('Dosis ExtraLight'), local('Dosis-ExtraLight'), url(../fonts/dosis/ExtraLight.woff) format('woff'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 300; + src: local('Dosis Light'), local('Dosis-Light'), url(../fonts/dosis/Light.woff) format('woff'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 400; + src: local('Dosis Regular'), local('Dosis-Regular'), url(../fonts/dosis/Regular.woff) format('woff'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 500; + src: local('Dosis Medium'), local('Dosis-Medium'), url(../fonts/dosis/Medium.woff) format('woff'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 600; + src: local('Dosis SemiBold'), local('Dosis-SemiBold'), url(../fonts/dosis/SemiBold.woff) format('woff'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 700; + src: local('Dosis Bold'), local('Dosis-Bold'), url(../fonts/dosis/Bold.woff) format('woff'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 800; + src: local('Dosis ExtraBold'), local('Dosis-ExtraBold'), url(../fonts/dosis/ExtraBold.woff) format('woff'); +} diff --git a/src/sass/partials/_gallery.scss b/src/sass/partials/_gallery.scss index f9c0217f5..928d06f9c 100644 --- a/src/sass/partials/_gallery.scss +++ b/src/sass/partials/_gallery.scss @@ -1,100 +1,100 @@ .gallery { - position: fixed; - width: 0px; - height: 0px; - left: 0; - top: 0; - background: $mainColor; - overflow: hidden; - color: $fontColor; - transition: width 0.3s, height 0.3s; - z-index: 1000; + position: fixed; + width: 0px; + height: 0px; + left: 0; + top: 0; + background: $mainColor; + overflow: hidden; + color: $fontColor; + transition: width 0.3s, height 0.3s; + z-index: 1000; - h1 { - margin-top: 10px; - margin-left: 30px; - } + h1 { + margin-top: 10px; + margin-left: 30px; + } - &--open { - width: 100%; - height: 100%; - padding: 0; - } + &--open { + width: 100%; + height: 100%; + padding: 0; + } - &__inner { - position: relative; - display: flex; - height: 100%; - flex-direction: column; - } + &__inner { + position: relative; + display: flex; + height: 100%; + flex-direction: column; + } - &__header { - height: 100px; - width: 100%; - background: $mainColor; + &__header { + height: 100px; + width: 100%; + background: $mainColor; - > a { - position: absolute; - right: 30px; - top: 24px; - color: $galleryButtonColor; - font-size: 1.875em; - width: 50px; - height: 50px; - background: $hoverColor; - text-align: center; - line-height: 50px; - } + > a { + position: absolute; + right: 30px; + top: 24px; + color: $galleryButtonColor; + font-size: 1.875em; + width: 50px; + height: 50px; + background: $hoverColor; + text-align: center; + line-height: 50px; } + } - &__body { - display: flex; - flex-wrap: wrap; - overflow-y: auto; - justify-content: center; - - a { - display: block; - width: 33.333333333333%; - padding: 3px; - max-width: 500px; - text-decoration: none; - } + &__body { + display: flex; + flex-wrap: wrap; + overflow-y: auto; + justify-content: center; - img { - max-width: 100%; - list-style: none; - border: 1px solid $borderColor; - display: block; - } + a { + display: block; + width: 33.333333333333%; + padding: 3px; + max-width: 500px; + text-decoration: none; + } - figure { - margin: 0; - } + img { + max-width: 100%; + list-style: none; + border: 1px solid $borderColor; + display: block; } - figcaption { - background-color: $hoverColor; - text-align: center; - color: $fontColor; + figure { + margin: 0; } + } + + figcaption { + background-color: $hoverColor; + text-align: center; + color: $fontColor; + } } -@media (max-width: 800px){ - .pswp__button--arrow--left:before, - .pswp__button--arrow--right:before { - top: 50%; - position: fixed; - } - .pswp__button--arrow--left:before { - left: 5%; - } - .pswp__button--arrow--right:before { - right: 5%; - } +@media (max-width: 800px) { + .pswp__button--arrow--left:before, + .pswp__button--arrow--right:before { + top: 50%; + position: fixed; + } + .pswp__button--arrow--left:before { + left: 5%; + } + .pswp__button--arrow--right:before { + right: 5%; + } } .gallery-button { - position: relative; - z-index: 100; -} \ No newline at end of file + position: relative; + z-index: 100; +} diff --git a/src/sass/partials/_modal.scss b/src/sass/partials/_modal.scss index af63937b4..0804b185b 100644 --- a/src/sass/partials/_modal.scss +++ b/src/sass/partials/_modal.scss @@ -1,38 +1,38 @@ .modal { - display: none; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - background-color: rgba(0,0,0,0.5); - z-index: 9999; - justify-content: center; - align-items: center; + display: none; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba(0, 0, 0, 0.5); + z-index: 9999; + justify-content: center; + align-items: center; - &--show { - display: flex; - } + &--show { + display: flex; + } - &__body { - color: #ffffff; - font-size: 2em; - text-align: center; - max-width: 100%; - padding: 6px; + &__body { + color: #ffffff; + font-size: 2em; + text-align: center; + max-width: 100%; + padding: 6px; - * { - max-width: 100%; - } + * { + max-width: 100%; + } - #qrCode & { - background-color: #ffffff; - color: #252525; + #qrCode & { + background-color: #ffffff; + color: #252525; - p { - margin: 0; - font-size: 0.7em; - } - } + p { + margin: 0; + font-size: 0.7em; + } } + } } diff --git a/src/sass/partials/_ribbon.scss b/src/sass/partials/_ribbon.scss index 7ec047131..bcb438de1 100644 --- a/src/sass/partials/_ribbon.scss +++ b/src/sass/partials/_ribbon.scss @@ -1,53 +1,53 @@ .github-fork-ribbon { - width: 12.1em; - height: 12.1em; - position: absolute; - overflow: hidden; - top: 0; - right: 0; - z-index: 100; - pointer-events: none; - font-size: 0.8em; - text-decoration: none; - text-indent: -999999px; + width: 12.1em; + height: 12.1em; + position: absolute; + overflow: hidden; + top: 0; + right: 0; + z-index: 100; + pointer-events: none; + font-size: 0.8em; + text-decoration: none; + text-indent: -999999px; - &:before, - &:after { - position: absolute; - display: block; - width: 15.38em; - height: 1.54em; - top: 3.23em; - right: -3.23em; - transform: rotate(45deg); - } + &:before, + &:after { + position: absolute; + display: block; + width: 15.38em; + height: 1.54em; + top: 3.23em; + right: -3.23em; + transform: rotate(45deg); + } - &:hover:before { - background-color: $hoverColor; - } + &:hover:before { + background-color: $hoverColor; + } - &:before { - content: ""; - padding: .38em 0; - background-color: $mainColor; - box-shadow: 0 0.15em 0.23em 0 rgba(0, 0, 0, 0.5); - pointer-events: auto; - background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)); - } + &:before { + content: ''; + padding: 0.38em 0; + background-color: $mainColor; + box-shadow: 0 0.15em 0.23em 0 rgba(0, 0, 0, 0.5); + pointer-events: auto; + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)); + } - &:after { - content: attr(data-ribbon); - color: $buttonFontColor; - font: 700 1em "Helvetica Neue", Helvetica, Arial, sans-serif; - line-height: 1.54em; - text-decoration: none; - text-shadow: 0 -0.08em rgba(0, 0, 0, 0.5); - text-align: center; - text-indent: 0; - padding: .15em 0; - margin: .15em 0; - border-width: .08em 0; - border-style: dotted; - border-color: rgba(255, 255, 255, 0.7); - } -} \ No newline at end of file + &:after { + content: attr(data-ribbon); + color: $buttonFontColor; + font: 700 1em 'Helvetica Neue', Helvetica, Arial, sans-serif; + line-height: 1.54em; + text-decoration: none; + text-shadow: 0 -0.08em rgba(0, 0, 0, 0.5); + text-align: center; + text-indent: 0; + padding: 0.15em 0; + margin: 0.15em 0; + border-width: 0.08em 0; + border-style: dotted; + border-color: rgba(255, 255, 255, 0.7); + } +} diff --git a/src/sass/partials/_scrollbar.scss b/src/sass/partials/_scrollbar.scss index acfcfe973..2fbda617d 100644 --- a/src/sass/partials/_scrollbar.scss +++ b/src/sass/partials/_scrollbar.scss @@ -1,16 +1,16 @@ ::-webkit-scrollbar { - width: 6px; + width: 6px; } /* Track */ ::-webkit-scrollbar-track { - -webkit-border-radius: 0px; - border-radius: 0px; - background-color: transparent; + -webkit-border-radius: 0px; + border-radius: 0px; + background-color: transparent; } /* Handle */ ::-webkit-scrollbar-thumb { - -webkit-border-radius: 0px; - background: $hoverColor; + -webkit-border-radius: 0px; + background: $hoverColor; } diff --git a/src/sass/partials/_sidenav.scss b/src/sass/partials/_sidenav.scss index 534c263f6..712f9954f 100644 --- a/src/sass/partials/_sidenav.scss +++ b/src/sass/partials/_sidenav.scss @@ -1,60 +1,59 @@ .sidenav { - width: 100%; - position: fixed; - z-index: 1005; - top: 0; - bottom: 0; - right: -100%; - background: rgba(0, 0, 0, 0.5); - overflow-x: hidden; - overflow-y: auto; - padding: 60px 30px; - transition: right 0.5s; - - @media (min-width: 576px) { - width: 250px; - right: -250px; - } - - &--open { - right: 0; + width: 100%; + position: fixed; + z-index: 1005; + top: 0; + bottom: 0; + right: -100%; + background: rgba(0, 0, 0, 0.5); + overflow-x: hidden; + overflow-y: auto; + padding: 60px 30px; + transition: right 0.5s; + + @media (min-width: 576px) { + width: 250px; + right: -250px; + } + + &--open { + right: 0; + } + + a { + text-transform: uppercase; + margin-bottom: 3px; + background-color: $mainColor; + + &:hover { + background-color: $hoverColor; } + } - a { - text-transform: uppercase; - margin-bottom: 3px; - background-color: $mainColor; - - &:hover { - background-color: $hoverColor; - } - } - - .btn { - width: 100%; - } + .btn { + width: 100%; + } - .closebtn { - position: absolute; - right: 30px; - top: 0; - color: $fontColor; - font-size: 1.875em; - width: 50px; - height: 50px; - background: $mainColor; - text-align: center; - line-height: 50px; - - &:hover { - background: $hoverColor; - } + .closebtn { + position: absolute; + right: 30px; + top: 0; + color: $fontColor; + font-size: 1.875em; + width: 50px; + height: 50px; + background: $mainColor; + text-align: center; + line-height: 50px; + + &:hover { + background: $hoverColor; } + } - .activeSidenavBtn { - a { - background-color: $hoverColor; - } + .activeSidenavBtn { + a { + background-color: $hoverColor; } - -} \ No newline at end of file + } +} diff --git a/src/sass/partials/_toggle.scss b/src/sass/partials/_toggle.scss index 6bc471b02..3ac306433 100644 --- a/src/sass/partials/_toggle.scss +++ b/src/sass/partials/_toggle.scss @@ -19,20 +19,20 @@ $checked: #2ecc71; right: 0; bottom: 0; background-color: $boxColor; - -webkit-transition: .4s; - transition: .4s; + -webkit-transition: 0.4s; + transition: 0.4s; } .toggle:before { position: absolute; - content: ""; + content: ''; height: 1.3em; width: 1.3em; left: 0.2em; bottom: 0.1em; background-color: $mainColor; - -webkit-transition: .4s; - transition: .4s; + -webkit-transition: 0.4s; + transition: 0.4s; } input:checked + .toggle { diff --git a/src/sass/photoswipe-bottom.scss b/src/sass/photoswipe-bottom.scss index b6d4121db..c8fe1a7c7 100644 --- a/src/sass/photoswipe-bottom.scss +++ b/src/sass/photoswipe-bottom.scss @@ -1,4 +1,4 @@ -@import "modules/theme"; +@import 'modules/theme'; .pswp__button--qrcode, .pswp__button--print, @@ -6,7 +6,7 @@ .pswp__button--download, .pswp__button--mail, .pswp__button--playpause { - left: 40%; + left: 40%; } .pswp__button--close { diff --git a/src/sass/rounded.scss b/src/sass/rounded.scss index 091e29b42..bf8a7afc3 100644 --- a/src/sass/rounded.scss +++ b/src/sass/rounded.scss @@ -1,4 +1,4 @@ -@import "modules/theme"; +@import 'modules/theme'; #start { .startInner { @@ -45,8 +45,8 @@ .gallery-button, .fs-button { - margin-top: 5px; - margin-left: 5px; + margin-top: 5px; + margin-left: 5px; } .admin-panel, diff --git a/src/sass/slideshow.scss b/src/sass/slideshow.scss index 9a8ee01ae..e28c25185 100644 --- a/src/sass/slideshow.scss +++ b/src/sass/slideshow.scss @@ -1,7 +1,7 @@ -@import "modules/theme"; -@import "partials/fonts"; -@import "partials/basic"; -@import "partials/button"; +@import 'modules/theme'; +@import 'partials/fonts'; +@import 'partials/basic'; +@import 'partials/button'; .images { h1 { @@ -24,7 +24,7 @@ #slideshow { img { - border:2px solid $borderColor; + border: 2px solid $borderColor; max-width: 80vw; max-height: 80%; width: auto; @@ -37,7 +37,7 @@ color: $fontColor; text-align: center; background-color: $hoverColor; - border:2px solid $borderColor; + border: 2px solid $borderColor; } } diff --git a/src/sass/style.scss b/src/sass/style.scss index 0f2487d2f..1561d5dfc 100644 --- a/src/sass/style.scss +++ b/src/sass/style.scss @@ -1,13 +1,13 @@ -@import "modules/theme"; -@import "partials/fonts"; -@import "partials/basic"; -@import "partials/button"; -@import "partials/gallery"; -@import "partials/sidenav"; -@import "partials/scrollbar"; -@import "partials/modal"; -@import "partials/ribbon"; -@import "vendor/photoswipe"; +@import 'modules/theme'; +@import 'partials/fonts'; +@import 'partials/basic'; +@import 'partials/button'; +@import 'partials/gallery'; +@import 'partials/sidenav'; +@import 'partials/scrollbar'; +@import 'partials/modal'; +@import 'partials/ribbon'; +@import 'vendor/photoswipe'; #wrapper { display: none; @@ -33,7 +33,7 @@ position: absolute; bottom: -64px; left: 0; - right: 0; + right: 0; justify-content: center; transition: bottom 0.5s; z-index: 100; @@ -42,7 +42,7 @@ bottom: 0; } - .btn { + .btn { width: auto; padding: 20px 0; text-align: center; @@ -141,12 +141,12 @@ background: #fff; > * { - display: none; + display: none; } - &.active > *{ - display: block; - } + &.active > * { + display: block; + } p { margin: 0; @@ -187,7 +187,7 @@ width: 100%; } -input[type="email"] { +input[type='email'] { color: $fontColor; background: $boxColor; border: 1px solid $borderColor; @@ -269,7 +269,7 @@ hr.small { } .startInner { - background: rgba(0,0,0,0.5); + background: rgba(0, 0, 0, 0.5); color: $startFontColor; text-align: center; padding: 3rem; @@ -357,7 +357,6 @@ hr.small { bottom: 0; } - #gallery .controls a.close_opengal { display: none; right: 30px; @@ -435,8 +434,8 @@ hr.small { margin-top: 1em; } -@media (max-width: 767px){ - .takePic { - bottom: auto; - } +@media (max-width: 767px) { + .takePic { + bottom: auto; + } } diff --git a/src/sass/vendor/_photoswipe.scss b/src/sass/vendor/_photoswipe.scss index d2b587172..bcb076fca 100644 --- a/src/sass/vendor/_photoswipe.scss +++ b/src/sass/vendor/_photoswipe.scss @@ -5,34 +5,34 @@ .pswp__button--download, .pswp__button--mail, .pswp__button--playpause { - color: $galleryButtonColor; - background: transparent !important; - font-size: 1.625em; - text-align: center; - width: calc(4.375 * 1em); - height: calc(4.375 * 1em); - line-height: calc(4.375 * 1em); + color: $galleryButtonColor; + background: transparent !important; + font-size: 1.625em; + text-align: center; + width: calc(4.375 * 1em); + height: calc(4.375 * 1em); + line-height: calc(4.375 * 1em); - &:hover { - opacity: 1; - } + &:hover { + opacity: 1; + } - >i { - position: relative; - z-index: -1; - } + > i { + position: relative; + z-index: -1; + } } .pswp__qr { - width: calc(18.75 * 1em); - position: absolute; - left: 50%; - top: 50%; - z-index: 10000; - transform: translate(-50%, -50%); - max-width: 100%; + width: calc(18.75 * 1em); + position: absolute; + left: 50%; + top: 50%; + z-index: 10000; + transform: translate(-50%, -50%); + max-width: 100%; - img { - width: 100%; - } + img { + width: 100%; + } } diff --git a/yarn.lock b/yarn.lock index 96a2e7465..10de52d16 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1371,7 +1371,7 @@ chalk@^1.1.1: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0: +chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1700,7 +1700,7 @@ default-resolution@^2.0.0: resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= -define-properties@^1.1.2: +define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -1799,13 +1799,39 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -error-ex@^1.2.0: +error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" +es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: + version "1.17.6" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" + integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.0" + is-regex "^1.1.0" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50: version "0.10.53" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" @@ -2519,7 +2545,7 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.0: +has-symbols@^1.0.0, has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== @@ -2560,6 +2586,13 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -2716,6 +2749,11 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-callable@^1.1.4, is-callable@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" + integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -2730,6 +2768,11 @@ is-data-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" @@ -2830,6 +2873,13 @@ is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= +is-regex@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== + dependencies: + has-symbols "^1.0.1" + is-relative@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" @@ -2837,6 +2887,13 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + dependencies: + has-symbols "^1.0.1" + is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -2929,6 +2986,11 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -3069,6 +3131,16 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + lodash.clonedeep@^4.3.2: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -3166,6 +3238,11 @@ matchdep@^2.0.0: resolve "^1.4.0" stack-trace "0.0.10" +memorystream@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" + integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= + meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -3389,6 +3466,21 @@ now-and-later@^2.0.0: dependencies: once "^1.3.2" +npm-run-all@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" + integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== + dependencies: + ansi-styles "^3.2.1" + chalk "^2.4.1" + cross-spawn "^6.0.5" + memorystream "^0.3.1" + minimatch "^3.0.4" + pidtree "^0.3.0" + read-pkg "^3.0.0" + shell-quote "^1.6.1" + string.prototype.padend "^3.0.0" + "npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" @@ -3423,7 +3515,12 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-keys@^1.0.11, object-keys@^1.0.12: +object-inspect@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" + integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -3559,6 +3656,14 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + parse-node-version@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" @@ -3622,6 +3727,13 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -3632,11 +3744,21 @@ photoswipe@^4.1.3: resolved "https://registry.yarnpkg.com/photoswipe/-/photoswipe-4.1.3.tgz#59f49494eeb9ddab5888d03392926a19bc197550" integrity sha512-89Z43IRUyw7ycTolo+AaiDn3W1EEIfox54hERmm9bI12IB9cvRfHSHez3XhAyU8XW2EAFrC+2sKMhh7SJwn0bA== +pidtree@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" + integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== + pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -3669,6 +3791,11 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +prettier@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" + integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== + pretty-hrtime@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" @@ -3738,6 +3865,15 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -4108,6 +4244,11 @@ shebang-regex@^1.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= +shell-quote@^1.6.1: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" @@ -4303,6 +4444,30 @@ string-width@^4.1.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string.prototype.padend@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz#dc08f57a8010dc5c153550318f67e13adbb72ac3" + integrity sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +string.prototype.trimend@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimstart@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -4352,6 +4517,11 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" From 10191a6a706289df4600d210e6a15f5754154301 Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Tue, 4 Aug 2020 16:11:18 +0200 Subject: [PATCH 18/25] yarn (pack:build): run all needed steps before creating a package Change-Id: I117a1e2b8bf9800a9567ec6d478e5745376defab --- .npmrc | 1 + package.json | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..5fca0d518 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +scripts-prepend-node-path=true diff --git a/package.json b/package.json index 558810ff5..d4ec9f62e 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,8 @@ "test": "echo \"Error: no test specified\" && exit 1", "eslint": "eslint src/js/*.js", "eslint:fix": "eslint src/js/*.js --fix", - "pack:build": "node scripts/pack-build.js", + "pack:build": "npm run eslint && npm run build && npm run format && npm run build:faq && npm run pack:zip", + "pack:zip": "node scripts/pack-build.js", "format": "npm-run-all --parallel format:*", "format:js": "prettier src/js/*.js --write", "format:scss": "prettier src/sass/* --write", From 4185e949c6aafdd230bb1701d131bb9450a80026 Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Tue, 4 Aug 2020 16:30:19 +0200 Subject: [PATCH 19/25] yarn.lock: recreate Change-Id: I4012782a152d27a1018b2f04c5d8cdcb0fc716cb --- yarn.lock | 473 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 273 insertions(+), 200 deletions(-) diff --git a/yarn.lock b/yarn.lock index 10de52d16..a5d747af9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,14 +7,7 @@ resolved "https://registry.yarnpkg.com/@andreasremdt/simple-translator/-/simple-translator-2.0.2.tgz#8e9a181faec783df0caa0ddcb15fb74c924dd3a6" integrity sha512-Qz498YQVyuFZgtj5ATfKu+TPenjKjRd6gHhasJlHwzwD47wdWbiMCa/QXSYf+/A05gTATXoehozV+Gg9MsFiXQ== -"@babel/code-frame@^7.0.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" - integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== - dependencies: - "@babel/highlight" "^7.8.3" - -"@babel/code-frame@^7.10.4": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== @@ -242,11 +235,6 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== -"@babel/helper-validator-identifier@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed" - integrity sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw== - "@babel/helper-wrap-function@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" @@ -275,15 +263,6 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/highlight@^7.8.3": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" - integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== - dependencies: - "@babel/helper-validator-identifier" "^7.9.0" - chalk "^2.0.0" - js-tokens "^4.0.0" - "@babel/parser@^7.10.4", "@babel/parser@^7.11.0": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.0.tgz#a9d7e11aead25d3b422d17b2c6502c8dddef6a5d" @@ -872,14 +851,14 @@ acorn-jsx@^5.2.0: integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== acorn@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" - integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== + version "7.4.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" + integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: - version "6.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" - integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3: + version "6.12.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" + integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -1171,9 +1150,9 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" - integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== + version "1.10.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" + integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA== babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" @@ -1305,9 +1284,9 @@ buffer-from@^1.0.0: integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== buffer@^5.1.0, buffer@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.5.0.tgz#9c3caa3d623c33dd1c7ef584b89b88bf9c9bc1ce" - integrity sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww== + version "5.6.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" + integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -1350,10 +1329,15 @@ camelcase@^3.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + caniuse-lite@^1.0.30001093: - version "1.0.30001109" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001109.tgz#a9f3f26a0c3753b063d7acbb48dfb9c0e46f2b19" - integrity sha512-4JIXRodHzdS3HdK8nSgIqXYLExOvG+D2/EenSvcub2Kp3QEADjo2v2oUn5g0n0D+UNwG9BtwKOyGcSq2qvQXvQ== + version "1.0.30001110" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001110.tgz#9003e3c7f5a43ea6f1193d4d5acba0bfb152c71a" + integrity sha512-KqJWeat4rhSHF0ito4yz9q/JuZHkvn71SsBnxge4azjPDbowIjOUnS8i1xpKGxZxU6BFiPqO2hSV2eiCpFQVRw== caseless@~0.12.0: version "0.12.0" @@ -1380,10 +1364,10 @@ chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== +chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -1429,10 +1413,10 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== cliui@^3.2.0: version "3.2.0" @@ -1443,6 +1427,15 @@ cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + clone-buffer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" @@ -1531,9 +1524,9 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: delayed-stream "~1.0.0" "commander@>= 0.4.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + version "6.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.0.0.tgz#2b270da94f8fb9014455312f829a1129dbf8887e" + integrity sha512-s7EA+hDtTYNhuXkTlhqew4txMZVdszBmKWSPEMxGr8ru8JXR7bLUFIAtPhcSuFdJQ0ILMxnJi8GkQL0yvDy/YA== component-emitter@^1.2.1: version "1.3.0" @@ -1673,7 +1666,7 @@ debug@^4.0.1, debug@^4.1.0: dependencies: ms "^2.1.1" -decamelize@^1.1.1, decamelize@^1.1.2: +decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -1778,9 +1771,9 @@ ecc-jsbn@~0.1.1: safer-buffer "^2.1.0" electron-to-chromium@^1.3.488: - version "1.3.516" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.516.tgz#03ec071b061e462b786bf7e7ce226fd7ab7cf1f6" - integrity sha512-WDM5AAQdOrvLqSX8g3Zd5AujBXfMxf96oeZkff0U2HF5op3tjShE+on2yay3r1UD4M9I3p0iHpAS4+yV8U8A9A== + version "1.3.518" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.518.tgz#c54ee9cf1a7bafd6e482a1a6cceac86448d941e8" + integrity sha512-IspiwXYDKZMxo+qc3Vof4WtwbG9BMDbJfati8PYj7uS4DJmJ67pwjCKZxlTBSAuCZSMcbRnj2Xz2H14uiKT7bQ== emoji-regex@^7.0.1: version "7.0.3" @@ -1879,9 +1872,9 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= eslint-scope@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" - integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== + version "5.1.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" + integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" @@ -1894,9 +1887,9 @@ eslint-utils@^1.4.3: eslint-visitor-keys "^1.1.0" eslint-visitor-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" - integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint@^6.8.0: version "6.8.0" @@ -1956,11 +1949,11 @@ esprima@^4.0.0: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.2.0.tgz#a010a519c0288f2530b3404124bfb5f02e9797fe" - integrity sha512-weltsSqdeWIX9G2qQZz7KlTRJdkkOCTPgLYJUz1Hacf48R4YOwGPHO3+ORfWedqJKbq5WQmsgK90n+pFLIKt/Q== + version "1.3.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" + integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== dependencies: - estraverse "^5.0.0" + estraverse "^5.1.0" esrecurse@^4.1.0: version "4.2.1" @@ -1974,10 +1967,10 @@ estraverse@^4.1.0, estraverse@^4.1.1: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.0.0.tgz#ac81750b482c11cca26e4b07e83ed8f75fbcdc22" - integrity sha512-j3acdrMzqrxmJTNj5dbr1YbjacrYgAxVMeF0gK16E3j494mOe7xygM/ZLIguEQ0ETwAg2hlJCtHRGav+y0Ny5A== +estraverse@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" + integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== esutils@^2.0.2: version "2.0.3" @@ -2075,9 +2068,9 @@ fancy-log@^1.3.2: time-stamp "^1.0.0" fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -2126,6 +2119,13 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + findup-sync@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" @@ -2241,9 +2241,9 @@ fs.realpath@^1.0.0: integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.7: - version "1.2.12" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.12.tgz#db7e0d8ec3b0b45724fd4d83d43554a8f1f0de5c" - integrity sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q== + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== dependencies: bindings "^1.5.0" nan "^2.12.1" @@ -2299,6 +2299,11 @@ get-caller-file@^1.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -2374,15 +2379,16 @@ glob-stream@^6.1.0: unique-stream "^2.0.2" glob-watcher@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.3.tgz#88a8abf1c4d131eb93928994bc4a593c2e5dd626" - integrity sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg== + version "5.0.5" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.5.tgz#aa6bce648332924d9a8489be41e3e5c52d4186dc" + integrity sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw== dependencies: anymatch "^2.0.0" async-done "^1.2.0" chokidar "^2.0.0" is-negated-glob "^1.0.0" just-debounce "^1.0.0" + normalize-path "^3.0.0" object.defaults "^1.1.0" "glob@>= 3.0.0", glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: @@ -2430,12 +2436,12 @@ globals@^12.1.0: type-fest "^0.8.1" globule@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9" - integrity sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g== + version "1.3.2" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" + integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA== dependencies: glob "~7.1.1" - lodash "~4.17.12" + lodash "~4.17.10" minimatch "~3.0.2" glogg@^1.0.0: @@ -2446,9 +2452,9 @@ glogg@^1.0.0: sparkles "^1.0.0" graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== gulp-babel@^8.0.0: version "8.0.0" @@ -2461,9 +2467,9 @@ gulp-babel@^8.0.0: vinyl-sourcemaps-apply "^0.2.0" gulp-cli@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.2.0.tgz#5533126eeb7fe415a7e3e84a297d334d5cf70ebc" - integrity sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.3.0.tgz#ec0d380e29e52aa45e47977f0d32e18fd161122f" + integrity sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A== dependencies: ansi-colors "^1.0.1" archy "^1.0.0" @@ -2473,7 +2479,7 @@ gulp-cli@^2.2.0: copy-props "^2.0.1" fancy-log "^1.3.2" gulplog "^1.0.0" - interpret "^1.1.0" + interpret "^1.4.0" isobject "^3.0.1" liftoff "^3.1.0" matchdep "^2.0.0" @@ -2481,7 +2487,7 @@ gulp-cli@^2.2.0: pretty-hrtime "^1.0.0" replace-homedir "^1.0.0" semver-greatest-satisfied-range "^1.1.0" - v8flags "^3.0.1" + v8flags "^3.2.0" yargs "^7.1.0" gulp-sass@4.0.2: @@ -2521,11 +2527,11 @@ har-schema@^2.0.0: integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: - ajv "^6.5.5" + ajv "^6.12.3" har-schema "^2.0.0" has-ansi@^2.0.0: @@ -2675,28 +2681,28 @@ ini@^1.3.4: integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== inquirer@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" - integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg== + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== dependencies: ansi-escapes "^4.2.1" - chalk "^3.0.0" + chalk "^4.1.0" cli-cursor "^3.1.0" - cli-width "^2.0.0" + cli-width "^3.0.0" external-editor "^3.0.3" figures "^3.0.0" - lodash "^4.17.15" + lodash "^4.17.19" mute-stream "0.0.8" run-async "^2.4.0" - rxjs "^6.5.3" + rxjs "^6.6.0" string-width "^4.1.0" strip-ansi "^6.0.0" through "^2.3.6" -interpret@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== +interpret@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" @@ -2868,11 +2874,6 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - is-regex@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" @@ -2954,9 +2955,9 @@ jquery@^3.5.1: integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg== js-base64@^2.1.8: - version "2.5.2" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209" - integrity sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ== + version "2.6.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -2964,9 +2965,9 @@ js-base64@^2.1.8: integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -3141,6 +3142,14 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + lodash.clonedeep@^4.3.2: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -3171,7 +3180,7 @@ lodash.union@^4.6.0: resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= -lodash@^4.0.0, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@~4.17.12: +lodash@^4.0.0, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@~4.17.10: version "4.17.19" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== @@ -3278,17 +3287,17 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -mime-db@1.43.0: - version "1.43.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" - integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== +mime-db@1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" + integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.26" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" - integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== + version "2.1.27" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" + integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== dependencies: - mime-db "1.43.0" + mime-db "1.44.0" mimic-fn@^2.1.0: version "2.1.0" @@ -3343,9 +3352,9 @@ mute-stream@0.0.8: integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nan@^2.12.1, nan@^2.13.2: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + version "2.14.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" + integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== nanomatch@^1.2.9: version "1.2.13" @@ -3403,9 +3412,9 @@ node-releases@^1.1.58: integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== node-sass@^4.8.3: - version "4.13.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.1.tgz#9db5689696bb2eec2c32b98bfea4c7a2e992d0a3" - integrity sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw== + version "4.14.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" + integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g== dependencies: async-foreach "^0.1.3" chalk "^1.1.1" @@ -3421,7 +3430,7 @@ node-sass@^4.8.3: node-gyp "^3.8.0" npmlog "^4.0.0" request "^2.88.0" - sass-graph "^2.2.4" + sass-graph "2.2.5" stdout-stream "^1.4.0" "true-case-path" "^1.0.2" @@ -3583,9 +3592,9 @@ once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: wrappy "1" onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + version "5.1.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.1.tgz#5c8016847b0d67fcedb7eef254751cfcdc7e9418" + integrity sha512-ZpZpjcJeugQfWsfyQlshVoowIIQ1qBGSVll4rfDq6JJVO//fesjoX808hXWfBjY+ROZgpKDI5TRSRBSoJiZ8eg== dependencies: mimic-fn "^2.1.0" @@ -3633,6 +3642,25 @@ osenv@0: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -3691,6 +3719,11 @@ path-exists@^2.0.0: dependencies: pinkie-promise "^2.0.0" +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -4021,9 +4054,9 @@ repeating@^2.0.0: is-finite "^1.0.0" replace-ext@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= + version "1.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== replace-homedir@^1.0.0: version "1.0.0" @@ -4070,6 +4103,11 @@ require-main-filename@^1.0.1: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" @@ -4095,14 +4133,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.4.0: - version "1.15.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" - integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.3.2: +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -4137,23 +4168,21 @@ rimraf@2.6.3: glob "^7.1.3" run-async@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.0.tgz#e59054a5b86876cfae07f431d18cbaddc594f1e8" - integrity sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg== - dependencies: - is-promise "^2.1.0" + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== -rxjs@^6.5.3: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== +rxjs@^6.6.0: + version "6.6.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.2.tgz#8096a7ac03f2cc4fe5860ef6e572810d9e01c0d2" + integrity sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg== dependencies: tslib "^1.9.0" safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" @@ -4172,15 +4201,15 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-graph@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" - integrity sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k= +sass-graph@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" + integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== dependencies: glob "^7.0.0" lodash "^4.0.0" scss-tokenizer "^0.2.3" - yargs "^7.0.0" + yargs "^13.3.2" scss-tokenizer@^0.2.3: version "0.2.3" @@ -4327,22 +4356,22 @@ sparkles@^1.0.0: integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" @@ -4426,7 +4455,7 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^3.0.0: +string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== @@ -4496,7 +4525,7 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.1.0, strip-ansi@^5.2.0: +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== @@ -4530,9 +4559,9 @@ strip-indent@^1.0.1: get-stdin "^4.0.1" strip-json-comments@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== supports-color@^2.0.0: version "2.0.0" @@ -4572,9 +4601,9 @@ table@^5.2.3: string-width "^3.0.0" tar-stream@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.2.tgz#6d5ef1a7e5783a95ff70b69b97455a5968dc1325" - integrity sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q== + version "2.1.3" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.3.tgz#1e2022559221b7866161660f118255e20fa79e41" + integrity sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA== dependencies: bl "^4.0.1" end-of-stream "^1.4.1" @@ -4695,9 +4724,9 @@ trim-newlines@^1.0.0: glob "^7.1.2" tslib@^1.9.0: - version "1.11.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" - integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== + version "1.13.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" + integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== tunnel-agent@^0.6.0: version "0.6.0" @@ -4850,14 +4879,14 @@ uuid@^3.3.2: integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== v8-compile-cache@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" - integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" + integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== -v8flags@^3.0.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" - integrity sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w== +v8flags@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== dependencies: homedir-polyfill "^1.0.1" @@ -4939,15 +4968,20 @@ vinyl@^2.0.0: replace-ext "^1.0.0" whatwg-fetch@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.2.0.tgz#8e134f701f0a4ab5fda82626f113e2b647fd16dc" - integrity sha512-SdGPoQMMnzVYThUbSrEvqTlkvC1Ux27NehaJ/GUHBfNrh5Mjg+1/uRyFMwVnxO2MrikMWvWAqUGgQOfVU4hT7w== + version "3.3.1" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.3.1.tgz#6c1acf37dec176b0fd6bc9a74b616bec2f612935" + integrity sha512-faXTmGDcLuEPBpJwb5LQfyxvubKiE+RlbmmweFGKjvIPFj4uHTTfdtTIkdTRhC6OSH9S9eyYbx8kZ0UEaQqYTA== which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + which@1, which@^1.2.14, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -4975,6 +5009,15 @@ wrap-ansi@^2.0.0: string-width "^1.0.1" strip-ansi "^3.0.1" +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -5002,22 +5045,52 @@ y18n@^3.2.1: resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yargs-parser@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" - integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo= +yargs-parser@5.0.0-security.0: + version "5.0.0-security.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0-security.0.tgz#4ff7271d25f90ac15643b86076a2ab499ec9ee24" + integrity sha512-T69y4Ps64LNesYxeYGYPvfoMTt/7y1XtfpIslUeK4um+9Hu7hlGoRtaDLvdXb7+/tfq4opVa2HRY5xGip022rQ== dependencies: camelcase "^3.0.0" + object.assign "^4.1.0" -yargs@^7.0.0, yargs@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" - integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yargs@^7.1.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.1.tgz#67f0ef52e228d4ee0d6311acede8850f53464df6" + integrity sha512-huO4Fr1f9PmiJJdll5kwoS2e4GqzGSsMT3PPMpOwoVkOK8ckqAewMTZyA6LXVQWflleb/Z8oPBEvNsMft0XE+g== dependencies: camelcase "^3.0.0" cliui "^3.2.0" @@ -5031,7 +5104,7 @@ yargs@^7.0.0, yargs@^7.1.0: string-width "^1.0.2" which-module "^1.0.0" y18n "^3.2.1" - yargs-parser "^5.0.0" + yargs-parser "5.0.0-security.0" zip-stream@^2.1.2: version "2.1.3" From 62ad8c31ed1ea6e3db0a09bc7e009e350db86ae7 Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Tue, 4 Aug 2020 16:37:08 +0200 Subject: [PATCH 20/25] chore (build): format all files before gulp task runs - also always generate the faq Change-Id: I92896ed2f8fbe43518967068b864f83f453ba55c --- package.json | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index d4ec9f62e..4f5748061 100644 --- a/package.json +++ b/package.json @@ -3,17 +3,18 @@ "version": "2.4.0-alpha", "description": "A Photobooth webinterface for Raspberry Pi and Windows", "scripts": { - "build": "gulp", - "watch": "gulp watch", - "test": "echo \"Error: no test specified\" && exit 1", + "build": "npm run format && npm run build:faq && npm run build:gulp", + "build:faq": "mdown --input 'faq/*.md' --output manual --header faq/header.html --footer faq/footer.html", + "build:gulp": "gulp", "eslint": "eslint src/js/*.js", "eslint:fix": "eslint src/js/*.js --fix", - "pack:build": "npm run eslint && npm run build && npm run format && npm run build:faq && npm run pack:zip", - "pack:zip": "node scripts/pack-build.js", "format": "npm-run-all --parallel format:*", "format:js": "prettier src/js/*.js --write", "format:scss": "prettier src/sass/* --write", - "build:faq": "node_modules/gh-markdown-cli/bin/mdown --input 'faq/*.md' --output manual --header faq/header.html --footer faq/footer.html" + "pack:build": "npm run eslint && npm run build && npm run pack:zip", + "pack:zip": "node scripts/pack-build.js", + "test": "echo \"Error: no test specified\" && exit 1", + "watch": "gulp watch" }, "author": "", "license": "MIT", From 8c84f429a7def00a318846f1fe24ac7cc2c36200 Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Wed, 5 Aug 2020 05:58:07 +0200 Subject: [PATCH 21/25] whatwg-fetch: fix path for admin, login, manual and slideshow Change-Id: Ie28d401b2f783354f087f9316f9caf735546e436 --- admin/index.php | 2 +- login/index.php | 2 +- manual/index.php | 2 +- slideshow/index.php | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/admin/index.php b/admin/index.php index beaf3ff67..eab32dc1a 100644 --- a/admin/index.php +++ b/admin/index.php @@ -148,7 +148,7 @@ - + diff --git a/login/index.php b/login/index.php index 47271bec5..4c6dc9b2c 100644 --- a/login/index.php +++ b/login/index.php @@ -94,7 +94,7 @@ - + diff --git a/manual/index.php b/manual/index.php index 2fcfe719e..51f49074f 100644 --- a/manual/index.php +++ b/manual/index.php @@ -83,7 +83,7 @@ - + diff --git a/slideshow/index.php b/slideshow/index.php index c51a34ef2..2052666cf 100644 --- a/slideshow/index.php +++ b/slideshow/index.php @@ -82,7 +82,7 @@ - + From bdf7adc0351110e1828716d76c61d75bbba05c0d Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Wed, 5 Aug 2020 06:51:53 +0200 Subject: [PATCH 22/25] docs (README): Safari 9 is supported now --- README.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/README.md b/README.md index f2437e6fb..2b00b4b81 100644 --- a/README.md +++ b/README.md @@ -10,12 +10,6 @@ This is my personal Photobooth fork with some extras on top (more information ca ![Lint](https://github.com/andi34/photobooth/workflows/Lint/badge.svg?branch=stable2) ![gulp-sass](https://github.com/andi34/photobooth/workflows/gulp-sass/badge.svg?branch=stable2) -**Please note:** - -Safari Browser on iOS 9 in not compatible with es6, which means Photobooth won't work. Supported browser can be found inside the [Wiki](https://github.com/andi34/photobooth/wiki#browser-support). -If you like to use an old iPad anyway, please take a look [here (andi34/photobooth#47)](https://github.com/andi34/photobooth/issues/47). -If I find enough time I'll post some updates from time to time - ## :heart_eyes: Features - Works on Windows and Linux. @@ -61,6 +55,7 @@ If I find enough time I'll post some updates from time to time ## Extras on my personal fork ### General changes: + - javascript transpiled to es5 to support older browsers (e.g. Safari 9) - install-raspbian: use Apache2 webserver by default again - added Slideshow option to Gallery - standalone slideshow via [localhost/slideshow](http://localhost/slideshow) From adf6e040191ee2dd4ccdb133bdadaf02afd58e5c Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Wed, 5 Aug 2020 20:00:11 +0200 Subject: [PATCH 23/25] PhotoSwipe: switch back to own fork, add as git submodule Change-Id: I9c3c9a2a78899b91b416d581af584307ce676478 --- .gitmodules | 3 +++ gallery.php | 8 ++++---- index.php | 8 ++++---- login/index.php | 2 -- package.json | 1 - scripts/pack-build.js | 2 -- update-booth.sh | 9 +++++++-- vendor/PhotoSwipe | 1 + 8 files changed, 19 insertions(+), 15 deletions(-) create mode 160000 vendor/PhotoSwipe diff --git a/.gitmodules b/.gitmodules index 38eeac3c6..a2ecc612d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,3 +8,6 @@ [submodule "vendor/rpihotspot"] path = vendor/rpihotspot url = https://github.com/andi34/rpihotspot +[submodule "vendor/PhotoSwipe"] + path = vendor/PhotoSwipe + url = https://github.com/andi34/PhotoSwipe diff --git a/gallery.php b/gallery.php index f715c8c61..d21c638df 100644 --- a/gallery.php +++ b/gallery.php @@ -30,8 +30,8 @@ - - + + @@ -85,8 +85,8 @@ - - + + diff --git a/index.php b/index.php index 2835694fd..212e9ca73 100644 --- a/index.php +++ b/index.php @@ -32,8 +32,8 @@ - - + + @@ -239,8 +239,8 @@ - - + + diff --git a/login/index.php b/login/index.php index 4c6dc9b2c..9fa23fee2 100644 --- a/login/index.php +++ b/login/index.php @@ -45,8 +45,6 @@ - - diff --git a/package.json b/package.json index 4f5748061..dd73ecc8d 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,6 @@ "marvinj": "^1.0.0", "normalize.css": "^8.0.1", "npm-run-all": "^4.1.5", - "photoswipe": "^4.1.3", "whatwg-fetch": "^3.2.0" }, "devDependencies": { diff --git a/scripts/pack-build.js b/scripts/pack-build.js index b4a2715a0..9984cf0eb 100644 --- a/scripts/pack-build.js +++ b/scripts/pack-build.js @@ -80,8 +80,6 @@ function createArchive(fileName, archive) { archive.directory('node_modules/marvinj/marvinj/release/'); archive.file('node_modules/normalize.css/LICENSE.md'); archive.file('node_modules/normalize.css/normalize.css'); - archive.file('node_modules/photoswipe/LICENSE'); - archive.directory('node_modules/photoswipe/dist/'); archive.file('node_modules/whatwg-fetch/LICENSE'); archive.file('node_modules/whatwg-fetch/dist/fetch.umd.js'); diff --git a/update-booth.sh b/update-booth.sh index 579083bf7..578e7f8ee 100644 --- a/update-booth.sh +++ b/update-booth.sh @@ -87,7 +87,7 @@ apt dist-upgrade -y info "[Info] Checking for webserver..." for server in "${WEBSERVER[@]}"; do if [ $(dpkg-query -W -f='${Status}' ${server} 2>/dev/null | grep -c "ok installed") -eq 1 ]; then - info "[Webserver] ${server} installed" + info "[Webserver] ${server} used." if [[ ${server} == "nginx" || ${server} == "lighttpd" ]]; then info "[NOTE] You're using ${server} as your Webserver." info "[NOTE] For a no-hassle-setup Apache2 Webserver is recommend!" @@ -121,9 +121,14 @@ chown -R www-data:www-data ${booth_source} for file in "${OLDFILES[@]}"; do if [ -f "${booth_source}/${file}" ]; then - info "[Info] Deleting unused file: ${booth_source}/${file}" + info "[Info] Deleting unused file: ${booth_source}/${file}" rm "${booth_source}/${file}" fi done +if [ -d "${booth_source}/node_modules/photoswipe" ]; then + info "[Info] Deleting unused module: ${booth_source}/node_modules/photoswipe" + rm -rf ${booth_source}/node_modules/photoswipe +fi + info "[Info] Updated Photobooth" diff --git a/vendor/PhotoSwipe b/vendor/PhotoSwipe new file mode 160000 index 000000000..8f6394ec7 --- /dev/null +++ b/vendor/PhotoSwipe @@ -0,0 +1 @@ +Subproject commit 8f6394ec7c6cdebb851a42c398eaa721ae239c21 From f33649cbf80c3959628a71106f6accc3d38d8333 Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Wed, 5 Aug 2020 20:38:31 +0200 Subject: [PATCH 24/25] update-booth.sh: remove old simple-translator if exist Change-Id: I8568b5fe1b800a27b094d91e12c0ba7c94800eb0 --- update-booth.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/update-booth.sh b/update-booth.sh index 578e7f8ee..f553632a3 100644 --- a/update-booth.sh +++ b/update-booth.sh @@ -62,6 +62,11 @@ OLDFILES=( 'resources/lang/gr.js' ) +OLDPATH=( + 'node_modules/photoswipe' + 'vendor/simple-translator' +) + WEBSERVER=( 'libapache2-mod-php' 'nginx' @@ -126,9 +131,11 @@ for file in "${OLDFILES[@]}"; do fi done -if [ -d "${booth_source}/node_modules/photoswipe" ]; then - info "[Info] Deleting unused module: ${booth_source}/node_modules/photoswipe" - rm -rf ${booth_source}/node_modules/photoswipe -fi +for path in "${OLDPATH[@]}"; do + if [ -d "${booth_source}/${path}" ]; then + info "[Info] Deleting deprecated directory: ${booth_source}/${path}" + rm -rf "${booth_source}/${path}" + fi +done info "[Info] Updated Photobooth" From f7051a1a54590713cd14c7eeac5388c77a32508d Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Wed, 5 Aug 2020 22:06:57 +0200 Subject: [PATCH 25/25] workflows (gulp-sass): adjust after latest changes Change-Id: I01471ddf5038edde2eb0ca2ceb134d504f3d9621 --- .github/workflows/gulp_sass.yml | 2 +- package.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/gulp_sass.yml b/.github/workflows/gulp_sass.yml index 7c9a32e4c..91c6b4852 100644 --- a/.github/workflows/gulp_sass.yml +++ b/.github/workflows/gulp_sass.yml @@ -23,4 +23,4 @@ jobs: - name: Install modules run: yarn install - name: Running gulp-sass - run: yarn build + run: yarn build:sass diff --git a/package.json b/package.json index dd73ecc8d..8ef9e506d 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "build": "npm run format && npm run build:faq && npm run build:gulp", "build:faq": "mdown --input 'faq/*.md' --output manual --header faq/header.html --footer faq/footer.html", "build:gulp": "gulp", + "build:sass": "gulp sass", "eslint": "eslint src/js/*.js", "eslint:fix": "eslint src/js/*.js --fix", "format": "npm-run-all --parallel format:*",