diff --git a/package.json b/package.json index 2354d3f0..50b481ab 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,7 @@ "description": "Developing UI5 Apps purely in ABAP.", "scripts": { "syfixes": "find . -type f -name '*.abap' -exec sed -i -e 's/ RAISE EXCEPTION TYPE cx_sy_itab_line_not_found/ ASSERT 1 = 0/g' {} + ", - "delete_mapster": "rm ./src/01/05/z2ui5_cl_cc_imagemapster.clas.abap && rm ./src/01/05/z2ui5_cl_cc_imagemapster.clas.xml", - "downport": "rm -rf downport && cp -r src downport && abaplint --fix ./ci/abaplint-downport.jsonc && npm run syfixes && npm run delete_mapster", + "downport": "rm -rf downport && cp -r src downport && abaplint --fix ./ci/abaplint-downport.jsonc && npm run syfixes", "unit": "echo RUNNING && node output/index.mjs", "transpile": "rm -rf output && abap_transpile test/abap_transpile.json", "test": "npm run downport && npm run transpile && npm run unit", diff --git a/src/01/05/package.devc.xml b/src/01/05/package.devc.xml deleted file mode 100644 index acb66dde..00000000 --- a/src/01/05/package.devc.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - abap2UI5 - cc addons - - - - diff --git a/src/01/05/z2ui5_cl_cc_animatecss.clas.abap b/src/01/05/z2ui5_cl_cc_animatecss.clas.abap deleted file mode 100644 index c7181e51..00000000 --- a/src/01/05/z2ui5_cl_cc_animatecss.clas.abap +++ /dev/null @@ -1,4100 +0,0 @@ -CLASS z2ui5_cl_cc_animatecss DEFINITION - PUBLIC - FINAL - CREATE PUBLIC . - - PUBLIC SECTION. - - CLASS-METHODS load_css - RETURNING - VALUE(result) TYPE string . - PROTECTED SECTION. - PRIVATE SECTION. - - -ENDCLASS. - - - -CLASS Z2UI5_CL_CC_ANIMATECSS IMPLEMENTATION. - - - METHOD load_css. - result = `` && |\n| && - `@charset "UTF-8";` && |\n| && - `:root {` && |\n| && - ` --animate-duration: 1s;` && |\n| && - ` --animate-delay: 1s;` && |\n| && - ` --animate-repeat: 1;` && |\n| && - `}` && |\n| && - `.animate__animated {` && |\n| && - ` -webkit-animation-duration: 1s;` && |\n| && - ` animation-duration: 1s;` && |\n| && - ` -webkit-animation-duration: var(--animate-duration);` && |\n| && - ` animation-duration: var(--animate-duration);` && |\n| && - ` -webkit-animation-fill-mode: both;` && |\n| && - ` animation-fill-mode: both;` && |\n| && - `}` && |\n| && - `.animate__animated.animate__infinite {` && |\n| && - ` -webkit-animation-iteration-count: infinite;` && |\n| && - ` animation-iteration-count: infinite;` && |\n| && - `}` && |\n| && - `.animate__animated.animate__repeat-1 {` && |\n| && - ` -webkit-animation-iteration-count: 1;` && |\n| && - ` animation-iteration-count: 1;` && |\n| && - ` -webkit-animation-iteration-count: var(--animate-repeat);` && |\n| && - ` animation-iteration-count: var(--animate-repeat);` && |\n| && - `}` && |\n| && - `.animate__animated.animate__repeat-2 {` && |\n| && - ` -webkit-animation-iteration-count: calc(1 * 2);` && |\n| && - ` animation-iteration-count: calc(1 * 2);` && |\n| && - ` -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);` && |\n| && - ` animation-iteration-count: calc(var(--animate-repeat) * 2);` && |\n| && - `}` && |\n| && - `.animate__animated.animate__repeat-3 {` && |\n| && - ` -webkit-animation-iteration-count: calc(1 * 3);` && |\n| && - ` animation-iteration-count: calc(1 * 3);` && |\n| && - ` -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);` && |\n| && - ` animation-iteration-count: calc(var(--animate-repeat) * 3);` && |\n| && - `}` && |\n| && - `.animate__animated.animate__delay-1s {` && |\n| && - ` -webkit-animation-delay: 1s;` && |\n| && - ` animation-delay: 1s;` && |\n| && - ` -webkit-animation-delay: var(--animate-delay);` && |\n| && - ` animation-delay: var(--animate-delay);` && |\n| && - `}` && |\n| && - `.animate__animated.animate__delay-2s {` && |\n| && - ` -webkit-animation-delay: calc(1s * 2);` && |\n| && - ` animation-delay: calc(1s * 2);` && |\n| && - ` -webkit-animation-delay: calc(var(--animate-delay) * 2);` && |\n| && - ` animation-delay: calc(var(--animate-delay) * 2);` && |\n| && - `}` && |\n| && - `.animate__animated.animate__delay-3s {` && |\n| && - ` -webkit-animation-delay: calc(1s * 3);` && |\n| && - ` animation-delay: calc(1s * 3);` && |\n| && - ` -webkit-animation-delay: calc(var(--animate-delay) * 3);` && |\n| && - ` animation-delay: calc(var(--animate-delay) * 3);` && |\n| && - `}` && |\n| && - `.animate__animated.animate__delay-4s {` && |\n| && - ` -webkit-animation-delay: calc(1s * 4);` && |\n| && - ` animation-delay: calc(1s * 4);` && |\n| && - ` -webkit-animation-delay: calc(var(--animate-delay) * 4);` && |\n| && - ` animation-delay: calc(var(--animate-delay) * 4);` && |\n| && - `}` && |\n| && - `.animate__animated.animate__delay-5s {` && |\n| && - ` -webkit-animation-delay: calc(1s * 5);` && |\n| && - ` animation-delay: calc(1s * 5);` && |\n| && - ` -webkit-animation-delay: calc(var(--animate-delay) * 5);` && |\n| && - ` animation-delay: calc(var(--animate-delay) * 5);` && |\n| && - `}` && |\n| && - `.animate__animated.animate__faster {` && |\n| && - ` -webkit-animation-duration: calc(1s / 2);` && |\n| && - ` animation-duration: calc(1s / 2);` && |\n| && - ` -webkit-animation-duration: calc(var(--animate-duration) / 2);` && |\n| && - ` animation-duration: calc(var(--animate-duration) / 2);` && |\n| && - `}` && |\n| && - `.animate__animated.animate__fast {` && |\n| && - ` -webkit-animation-duration: calc(1s * 0.8);` && |\n| && - ` animation-duration: calc(1s * 0.8);` && |\n| && - ` -webkit-animation-duration: calc(var(--animate-duration) * 0.8);` && |\n| && - ` animation-duration: calc(var(--animate-duration) * 0.8);` && |\n| && - `}` && |\n| && - `.animate__animated.animate__slow {` && |\n| && - ` -webkit-animation-duration: calc(1s * 2);` && |\n| && - ` animation-duration: calc(1s * 2);` && |\n| && - ` -webkit-animation-duration: calc(var(--animate-duration) * 2);` && |\n| && - ` animation-duration: calc(var(--animate-duration) * 2);` && |\n| && - `}` && |\n| && - `.animate__animated.animate__slower {` && |\n| && - ` -webkit-animation-duration: calc(1s * 3);` && |\n| && - ` animation-duration: calc(1s * 3);` && |\n| && - ` -webkit-animation-duration: calc(var(--animate-duration) * 3);` && |\n| && - ` animation-duration: calc(var(--animate-duration) * 3);` && |\n| && - `}` && |\n| && - `@media print, (prefers-reduced-motion: reduce) {` && |\n| && - ` .animate__animated {` && |\n| && - ` -webkit-animation-duration: 1ms !important;` && |\n| && - ` animation-duration: 1ms !important;` && |\n| && - ` -webkit-transition-duration: 1ms !important;` && |\n| && - ` transition-duration: 1ms !important;` && |\n| && - ` -webkit-animation-iteration-count: 1 !important;` && |\n| && - ` animation-iteration-count: 1 !important;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` .animate__animated[class*='Out'] {` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `/* Attention seekers */` && |\n| && - `@-webkit-keyframes bounce {` && |\n| && - ` from,` && |\n| && - ` 20%,` && |\n| && - ` 53%,` && |\n| && - ` to {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40%,` && |\n| && - ` 43% {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);` && |\n| && - ` animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);` && |\n| && - ` -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);` && |\n| && - ` transform: translate3d(0, -30px, 0) scaleY(1.1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 70% {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);` && |\n| && - ` animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);` && |\n| && - ` -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);` && |\n| && - ` transform: translate3d(0, -15px, 0) scaleY(1.05);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);` && |\n| && - ` transform: translate3d(0, 0, 0) scaleY(0.95);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);` && |\n| && - ` transform: translate3d(0, -4px, 0) scaleY(1.02);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes bounce {` && |\n| && - ` from,` && |\n| && - ` 20%,` && |\n| && - ` 53%,` && |\n| && - ` to {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40%,` && |\n| && - ` 43% {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);` && |\n| && - ` animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);` && |\n| && - ` -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);` && |\n| && - ` transform: translate3d(0, -30px, 0) scaleY(1.1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 70% {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);` && |\n| && - ` animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);` && |\n| && - ` -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);` && |\n| && - ` transform: translate3d(0, -15px, 0) scaleY(1.05);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);` && |\n| && - ` transform: translate3d(0, 0, 0) scaleY(0.95);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);` && |\n| && - ` transform: translate3d(0, -4px, 0) scaleY(1.02);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__bounce {` && |\n| && - ` -webkit-animation-name: bounce;` && |\n| && - ` animation-name: bounce;` && |\n| && - ` -webkit-transform-origin: center bottom;` && |\n| && - ` transform-origin: center bottom;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes flash {` && |\n| && - ` from,` && |\n| && - ` 50%,` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 25%,` && |\n| && - ` 75% {` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes flash {` && |\n| && - ` from,` && |\n| && - ` 50%,` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 25%,` && |\n| && - ` 75% {` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__flash {` && |\n| && - ` -webkit-animation-name: flash;` && |\n| && - ` animation-name: flash;` && |\n| && - `}` && |\n| && - `/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */` && |\n| && - `@-webkit-keyframes pulse {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` -webkit-transform: scale3d(1.05, 1.05, 1.05);` && |\n| && - ` transform: scale3d(1.05, 1.05, 1.05);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes pulse {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` -webkit-transform: scale3d(1.05, 1.05, 1.05);` && |\n| && - ` transform: scale3d(1.05, 1.05, 1.05);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__pulse {` && |\n| && - ` -webkit-animation-name: pulse;` && |\n| && - ` animation-name: pulse;` && |\n| && - ` -webkit-animation-timing-function: ease-in-out;` && |\n| && - ` animation-timing-function: ease-in-out;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes rubberBand {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 30% {` && |\n| && - ` -webkit-transform: scale3d(1.25, 0.75, 1);` && |\n| && - ` transform: scale3d(1.25, 0.75, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40% {` && |\n| && - ` -webkit-transform: scale3d(0.75, 1.25, 1);` && |\n| && - ` transform: scale3d(0.75, 1.25, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` -webkit-transform: scale3d(1.15, 0.85, 1);` && |\n| && - ` transform: scale3d(1.15, 0.85, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 65% {` && |\n| && - ` -webkit-transform: scale3d(0.95, 1.05, 1);` && |\n| && - ` transform: scale3d(0.95, 1.05, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 75% {` && |\n| && - ` -webkit-transform: scale3d(1.05, 0.95, 1);` && |\n| && - ` transform: scale3d(1.05, 0.95, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes rubberBand {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 30% {` && |\n| && - ` -webkit-transform: scale3d(1.25, 0.75, 1);` && |\n| && - ` transform: scale3d(1.25, 0.75, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40% {` && |\n| && - ` -webkit-transform: scale3d(0.75, 1.25, 1);` && |\n| && - ` transform: scale3d(0.75, 1.25, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` -webkit-transform: scale3d(1.15, 0.85, 1);` && |\n| && - ` transform: scale3d(1.15, 0.85, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 65% {` && |\n| && - ` -webkit-transform: scale3d(0.95, 1.05, 1);` && |\n| && - ` transform: scale3d(0.95, 1.05, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 75% {` && |\n| && - ` -webkit-transform: scale3d(1.05, 0.95, 1);` && |\n| && - ` transform: scale3d(1.05, 0.95, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rubberBand {` && |\n| && - ` -webkit-animation-name: rubberBand;` && |\n| && - ` animation-name: rubberBand;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes shakeX {` && |\n| && - ` from,` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 10%,` && |\n| && - ` 30%,` && |\n| && - ` 50%,` && |\n| && - ` 70%,` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(-10px, 0, 0);` && |\n| && - ` transform: translate3d(-10px, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20%,` && |\n| && - ` 40%,` && |\n| && - ` 60%,` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: translate3d(10px, 0, 0);` && |\n| && - ` transform: translate3d(10px, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes shakeX {` && |\n| && - ` from,` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 10%,` && |\n| && - ` 30%,` && |\n| && - ` 50%,` && |\n| && - ` 70%,` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(-10px, 0, 0);` && |\n| && - ` transform: translate3d(-10px, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20%,` && |\n| && - ` 40%,` && |\n| && - ` 60%,` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: translate3d(10px, 0, 0);` && |\n| && - ` transform: translate3d(10px, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__shakeX {` && |\n| && - ` -webkit-animation-name: shakeX;` && |\n| && - ` animation-name: shakeX;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes shakeY {` && |\n| && - ` from,` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 10%,` && |\n| && - ` 30%,` && |\n| && - ` 50%,` && |\n| && - ` 70%,` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(0, -10px, 0);` && |\n| && - ` transform: translate3d(0, -10px, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20%,` && |\n| && - ` 40%,` && |\n| && - ` 60%,` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: translate3d(0, 10px, 0);` && |\n| && - ` transform: translate3d(0, 10px, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes shakeY {` && |\n| && - ` from,` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 10%,` && |\n| && - ` 30%,` && |\n| && - ` 50%,` && |\n| && - ` 70%,` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(0, -10px, 0);` && |\n| && - ` transform: translate3d(0, -10px, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20%,` && |\n| && - ` 40%,` && |\n| && - ` 60%,` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: translate3d(0, 10px, 0);` && |\n| && - ` transform: translate3d(0, 10px, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__shakeY {` && |\n| && - ` -webkit-animation-name: shakeY;` && |\n| && - ` animation-name: shakeY;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes headShake {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: translateX(0);` && |\n| && - ` transform: translateX(0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 6.5% {` && |\n| && - ` -webkit-transform: translateX(-6px) rotateY(-9deg);` && |\n| && - ` transform: translateX(-6px) rotateY(-9deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 18.5% {` && |\n| && - ` -webkit-transform: translateX(5px) rotateY(7deg);` && |\n| && - ` transform: translateX(5px) rotateY(7deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 31.5% {` && |\n| && - ` -webkit-transform: translateX(-3px) rotateY(-5deg);` && |\n| && - ` transform: translateX(-3px) rotateY(-5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 43.5% {` && |\n| && - ` -webkit-transform: translateX(2px) rotateY(3deg);` && |\n| && - ` transform: translateX(2px) rotateY(3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` -webkit-transform: translateX(0);` && |\n| && - ` transform: translateX(0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes headShake {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: translateX(0);` && |\n| && - ` transform: translateX(0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 6.5% {` && |\n| && - ` -webkit-transform: translateX(-6px) rotateY(-9deg);` && |\n| && - ` transform: translateX(-6px) rotateY(-9deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 18.5% {` && |\n| && - ` -webkit-transform: translateX(5px) rotateY(7deg);` && |\n| && - ` transform: translateX(5px) rotateY(7deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 31.5% {` && |\n| && - ` -webkit-transform: translateX(-3px) rotateY(-5deg);` && |\n| && - ` transform: translateX(-3px) rotateY(-5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 43.5% {` && |\n| && - ` -webkit-transform: translateX(2px) rotateY(3deg);` && |\n| && - ` transform: translateX(2px) rotateY(3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` -webkit-transform: translateX(0);` && |\n| && - ` transform: translateX(0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__headShake {` && |\n| && - ` -webkit-animation-timing-function: ease-in-out;` && |\n| && - ` animation-timing-function: ease-in-out;` && |\n| && - ` -webkit-animation-name: headShake;` && |\n| && - ` animation-name: headShake;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes swing {` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 15deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 15deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40% {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -10deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -10deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 5deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -5deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 0deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 0deg);` && |\n| && - ` }` && |\n| && - `}` && |\n|. - result = result && - `@keyframes swing {` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 15deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 15deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40% {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -10deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -10deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 5deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -5deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 0deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 0deg);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__swing {` && |\n| && - ` -webkit-transform-origin: top center;` && |\n| && - ` transform-origin: top center;` && |\n| && - ` -webkit-animation-name: swing;` && |\n| && - ` animation-name: swing;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes tada {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 10%,` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);` && |\n| && - ` transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 30%,` && |\n| && - ` 50%,` && |\n| && - ` 70%,` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);` && |\n| && - ` transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40%,` && |\n| && - ` 60%,` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);` && |\n| && - ` transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes tada {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 10%,` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);` && |\n| && - ` transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 30%,` && |\n| && - ` 50%,` && |\n| && - ` 70%,` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);` && |\n| && - ` transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40%,` && |\n| && - ` 60%,` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);` && |\n| && - ` transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__tada {` && |\n| && - ` -webkit-animation-name: tada;` && |\n| && - ` animation-name: tada;` && |\n| && - `}` && |\n| && - `/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */` && |\n| && - `@-webkit-keyframes wobble {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 15% {` && |\n| && - ` -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);` && |\n| && - ` transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 30% {` && |\n| && - ` -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);` && |\n| && - ` transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 45% {` && |\n| && - ` -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);` && |\n| && - ` transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);` && |\n| && - ` transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 75% {` && |\n| && - ` -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);` && |\n| && - ` transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes wobble {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 15% {` && |\n| && - ` -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);` && |\n| && - ` transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 30% {` && |\n| && - ` -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);` && |\n| && - ` transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 45% {` && |\n| && - ` -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);` && |\n| && - ` transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);` && |\n| && - ` transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 75% {` && |\n| && - ` -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);` && |\n| && - ` transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__wobble {` && |\n| && - ` -webkit-animation-name: wobble;` && |\n| && - ` animation-name: wobble;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes jello {` && |\n| && - ` from,` && |\n| && - ` 11.1%,` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 22.2% {` && |\n| && - ` -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);` && |\n| && - ` transform: skewX(-12.5deg) skewY(-12.5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 33.3% {` && |\n| && - ` -webkit-transform: skewX(6.25deg) skewY(6.25deg);` && |\n| && - ` transform: skewX(6.25deg) skewY(6.25deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 44.4% {` && |\n| && - ` -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);` && |\n| && - ` transform: skewX(-3.125deg) skewY(-3.125deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 55.5% {` && |\n| && - ` -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);` && |\n| && - ` transform: skewX(1.5625deg) skewY(1.5625deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 66.6% {` && |\n| && - ` -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);` && |\n| && - ` transform: skewX(-0.78125deg) skewY(-0.78125deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 77.7% {` && |\n| && - ` -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);` && |\n| && - ` transform: skewX(0.390625deg) skewY(0.390625deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 88.8% {` && |\n| && - ` -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);` && |\n| && - ` transform: skewX(-0.1953125deg) skewY(-0.1953125deg);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes jello {` && |\n| && - ` from,` && |\n| && - ` 11.1%,` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 22.2% {` && |\n| && - ` -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);` && |\n| && - ` transform: skewX(-12.5deg) skewY(-12.5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 33.3% {` && |\n| && - ` -webkit-transform: skewX(6.25deg) skewY(6.25deg);` && |\n| && - ` transform: skewX(6.25deg) skewY(6.25deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 44.4% {` && |\n| && - ` -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);` && |\n| && - ` transform: skewX(-3.125deg) skewY(-3.125deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 55.5% {` && |\n| && - ` -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);` && |\n| && - ` transform: skewX(1.5625deg) skewY(1.5625deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 66.6% {` && |\n| && - ` -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);` && |\n| && - ` transform: skewX(-0.78125deg) skewY(-0.78125deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 77.7% {` && |\n| && - ` -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);` && |\n| && - ` transform: skewX(0.390625deg) skewY(0.390625deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 88.8% {` && |\n| && - ` -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);` && |\n| && - ` transform: skewX(-0.1953125deg) skewY(-0.1953125deg);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__jello {` && |\n| && - ` -webkit-animation-name: jello;` && |\n| && - ` animation-name: jello;` && |\n| && - ` -webkit-transform-origin: center;` && |\n| && - ` transform-origin: center;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes heartBeat {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 14% {` && |\n| && - ` -webkit-transform: scale(1.3);` && |\n| && - ` transform: scale(1.3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 28% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 42% {` && |\n| && - ` -webkit-transform: scale(1.3);` && |\n| && - ` transform: scale(1.3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 70% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes heartBeat {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 14% {` && |\n| && - ` -webkit-transform: scale(1.3);` && |\n| && - ` transform: scale(1.3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 28% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 42% {` && |\n| && - ` -webkit-transform: scale(1.3);` && |\n| && - ` transform: scale(1.3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 70% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__heartBeat {` && |\n| && - ` -webkit-animation-name: heartBeat;` && |\n| && - ` animation-name: heartBeat;` && |\n| && - ` -webkit-animation-duration: calc(1s * 1.3);` && |\n| && - ` animation-duration: calc(1s * 1.3);` && |\n| && - ` -webkit-animation-duration: calc(var(--animate-duration) * 1.3);` && |\n| && - ` animation-duration: calc(var(--animate-duration) * 1.3);` && |\n| && - ` -webkit-animation-timing-function: ease-in-out;` && |\n| && - ` animation-timing-function: ease-in-out;` && |\n| && - `}` && |\n| && - `/* Back entrances */` && |\n| && - `@-webkit-keyframes backInDown {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: translateY(-1200px) scale(0.7);` && |\n| && - ` transform: translateY(-1200px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: translateY(0px) scale(0.7);` && |\n| && - ` transform: translateY(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes backInDown {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: translateY(-1200px) scale(0.7);` && |\n| && - ` transform: translateY(-1200px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: translateY(0px) scale(0.7);` && |\n| && - ` transform: translateY(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__backInDown {` && |\n| && - ` -webkit-animation-name: backInDown;` && |\n| && - ` animation-name: backInDown;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes backInLeft {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: translateX(-2000px) scale(0.7);` && |\n| && - ` transform: translateX(-2000px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: translateX(0px) scale(0.7);` && |\n| && - ` transform: translateX(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes backInLeft {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: translateX(-2000px) scale(0.7);` && |\n| && - ` transform: translateX(-2000px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: translateX(0px) scale(0.7);` && |\n| && - ` transform: translateX(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__backInLeft {` && |\n| && - ` -webkit-animation-name: backInLeft;` && |\n| && - ` animation-name: backInLeft;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes backInRight {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: translateX(2000px) scale(0.7);` && |\n| && - ` transform: translateX(2000px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: translateX(0px) scale(0.7);` && |\n| && - ` transform: translateX(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n|. - result = result && - `@keyframes backInRight {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: translateX(2000px) scale(0.7);` && |\n| && - ` transform: translateX(2000px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: translateX(0px) scale(0.7);` && |\n| && - ` transform: translateX(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__backInRight {` && |\n| && - ` -webkit-animation-name: backInRight;` && |\n| && - ` animation-name: backInRight;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes backInUp {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: translateY(1200px) scale(0.7);` && |\n| && - ` transform: translateY(1200px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: translateY(0px) scale(0.7);` && |\n| && - ` transform: translateY(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes backInUp {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: translateY(1200px) scale(0.7);` && |\n| && - ` transform: translateY(1200px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: translateY(0px) scale(0.7);` && |\n| && - ` transform: translateY(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__backInUp {` && |\n| && - ` -webkit-animation-name: backInUp;` && |\n| && - ` animation-name: backInUp;` && |\n| && - `}` && |\n| && - `/* Back exits */` && |\n| && - `@-webkit-keyframes backOutDown {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: translateY(0px) scale(0.7);` && |\n| && - ` transform: translateY(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: translateY(700px) scale(0.7);` && |\n| && - ` transform: translateY(700px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes backOutDown {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: translateY(0px) scale(0.7);` && |\n| && - ` transform: translateY(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: translateY(700px) scale(0.7);` && |\n| && - ` transform: translateY(700px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__backOutDown {` && |\n| && - ` -webkit-animation-name: backOutDown;` && |\n| && - ` animation-name: backOutDown;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes backOutLeft {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: translateX(0px) scale(0.7);` && |\n| && - ` transform: translateX(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: translateX(-2000px) scale(0.7);` && |\n| && - ` transform: translateX(-2000px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes backOutLeft {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: translateX(0px) scale(0.7);` && |\n| && - ` transform: translateX(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: translateX(-2000px) scale(0.7);` && |\n| && - ` transform: translateX(-2000px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__backOutLeft {` && |\n| && - ` -webkit-animation-name: backOutLeft;` && |\n| && - ` animation-name: backOutLeft;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes backOutRight {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: translateX(0px) scale(0.7);` && |\n| && - ` transform: translateX(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: translateX(2000px) scale(0.7);` && |\n| && - ` transform: translateX(2000px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes backOutRight {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: translateX(0px) scale(0.7);` && |\n| && - ` transform: translateX(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: translateX(2000px) scale(0.7);` && |\n| && - ` transform: translateX(2000px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__backOutRight {` && |\n| && - ` -webkit-animation-name: backOutRight;` && |\n| && - ` animation-name: backOutRight;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes backOutUp {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: translateY(0px) scale(0.7);` && |\n| && - ` transform: translateY(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: translateY(-700px) scale(0.7);` && |\n| && - ` transform: translateY(-700px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes backOutUp {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: translateY(0px) scale(0.7);` && |\n| && - ` transform: translateY(0px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 100% {` && |\n| && - ` -webkit-transform: translateY(-700px) scale(0.7);` && |\n| && - ` transform: translateY(-700px) scale(0.7);` && |\n| && - ` opacity: 0.7;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__backOutUp {` && |\n| && - ` -webkit-animation-name: backOutUp;` && |\n| && - ` animation-name: backOutUp;` && |\n| && - `}` && |\n| && - `/* Bouncing entrances */` && |\n| && - `@-webkit-keyframes bounceIn {` && |\n| && - ` from,` && |\n| && - ` 20%,` && |\n| && - ` 40%,` && |\n| && - ` 60%,` && |\n| && - ` 80%,` && |\n| && - ` to {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 0% {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: scale3d(1.1, 1.1, 1.1);` && |\n| && - ` transform: scale3d(1.1, 1.1, 1.1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40% {` && |\n| && - ` -webkit-transform: scale3d(0.9, 0.9, 0.9);` && |\n| && - ` transform: scale3d(0.9, 0.9, 0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(1.03, 1.03, 1.03);` && |\n| && - ` transform: scale3d(1.03, 1.03, 1.03);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: scale3d(0.97, 0.97, 0.97);` && |\n| && - ` transform: scale3d(0.97, 0.97, 0.97);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes bounceIn {` && |\n| && - ` from,` && |\n| && - ` 20%,` && |\n| && - ` 40%,` && |\n| && - ` 60%,` && |\n| && - ` 80%,` && |\n| && - ` to {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 0% {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: scale3d(1.1, 1.1, 1.1);` && |\n| && - ` transform: scale3d(1.1, 1.1, 1.1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40% {` && |\n| && - ` -webkit-transform: scale3d(0.9, 0.9, 0.9);` && |\n| && - ` transform: scale3d(0.9, 0.9, 0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(1.03, 1.03, 1.03);` && |\n| && - ` transform: scale3d(1.03, 1.03, 1.03);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: scale3d(0.97, 0.97, 0.97);` && |\n| && - ` transform: scale3d(0.97, 0.97, 0.97);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(1, 1, 1);` && |\n| && - ` transform: scale3d(1, 1, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__bounceIn {` && |\n| && - ` -webkit-animation-duration: calc(1s * 0.75);` && |\n| && - ` animation-duration: calc(1s * 0.75);` && |\n| && - ` -webkit-animation-duration: calc(var(--animate-duration) * 0.75);` && |\n| && - ` animation-duration: calc(var(--animate-duration) * 0.75);` && |\n| && - ` -webkit-animation-name: bounceIn;` && |\n| && - ` animation-name: bounceIn;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes bounceInDown {` && |\n| && - ` from,` && |\n| && - ` 60%,` && |\n| && - ` 75%,` && |\n| && - ` 90%,` && |\n| && - ` to {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 0% {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);` && |\n| && - ` transform: translate3d(0, -3000px, 0) scaleY(3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);` && |\n| && - ` transform: translate3d(0, 25px, 0) scaleY(0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 75% {` && |\n| && - ` -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);` && |\n| && - ` transform: translate3d(0, -10px, 0) scaleY(0.95);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);` && |\n| && - ` transform: translate3d(0, 5px, 0) scaleY(0.985);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes bounceInDown {` && |\n| && - ` from,` && |\n| && - ` 60%,` && |\n| && - ` 75%,` && |\n| && - ` 90%,` && |\n| && - ` to {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 0% {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);` && |\n| && - ` transform: translate3d(0, -3000px, 0) scaleY(3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);` && |\n| && - ` transform: translate3d(0, 25px, 0) scaleY(0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 75% {` && |\n| && - ` -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);` && |\n| && - ` transform: translate3d(0, -10px, 0) scaleY(0.95);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);` && |\n| && - ` transform: translate3d(0, 5px, 0) scaleY(0.985);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__bounceInDown {` && |\n| && - ` -webkit-animation-name: bounceInDown;` && |\n| && - ` animation-name: bounceInDown;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes bounceInLeft {` && |\n| && - ` from,` && |\n| && - ` 60%,` && |\n| && - ` 75%,` && |\n| && - ` 90%,` && |\n| && - ` to {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 0% {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);` && |\n| && - ` transform: translate3d(-3000px, 0, 0) scaleX(3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(25px, 0, 0) scaleX(1);` && |\n| && - ` transform: translate3d(25px, 0, 0) scaleX(1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 75% {` && |\n| && - ` -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);` && |\n| && - ` transform: translate3d(-10px, 0, 0) scaleX(0.98);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);` && |\n| && - ` transform: translate3d(5px, 0, 0) scaleX(0.995);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes bounceInLeft {` && |\n| && - ` from,` && |\n| && - ` 60%,` && |\n| && - ` 75%,` && |\n| && - ` 90%,` && |\n| && - ` to {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 0% {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);` && |\n| && - ` transform: translate3d(-3000px, 0, 0) scaleX(3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(25px, 0, 0) scaleX(1);` && |\n| && - ` transform: translate3d(25px, 0, 0) scaleX(1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 75% {` && |\n| && - ` -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);` && |\n| && - ` transform: translate3d(-10px, 0, 0) scaleX(0.98);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);` && |\n| && - ` transform: translate3d(5px, 0, 0) scaleX(0.995);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__bounceInLeft {` && |\n| && - ` -webkit-animation-name: bounceInLeft;` && |\n| && - ` animation-name: bounceInLeft;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes bounceInRight {` && |\n| && - ` from,` && |\n| && - ` 60%,` && |\n| && - ` 75%,` && |\n| && - ` 90%,` && |\n| && - ` to {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);` && |\n| && - ` transform: translate3d(3000px, 0, 0) scaleX(3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);` && |\n| && - ` transform: translate3d(-25px, 0, 0) scaleX(1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 75% {` && |\n| && - ` -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);` && |\n| && - ` transform: translate3d(10px, 0, 0) scaleX(0.98);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);` && |\n| && - ` transform: translate3d(-5px, 0, 0) scaleX(0.995);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n|. - result = result && - `@keyframes bounceInRight {` && |\n| && - ` from,` && |\n| && - ` 60%,` && |\n| && - ` 75%,` && |\n| && - ` 90%,` && |\n| && - ` to {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);` && |\n| && - ` transform: translate3d(3000px, 0, 0) scaleX(3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);` && |\n| && - ` transform: translate3d(-25px, 0, 0) scaleX(1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 75% {` && |\n| && - ` -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);` && |\n| && - ` transform: translate3d(10px, 0, 0) scaleX(0.98);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);` && |\n| && - ` transform: translate3d(-5px, 0, 0) scaleX(0.995);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__bounceInRight {` && |\n| && - ` -webkit-animation-name: bounceInRight;` && |\n| && - ` animation-name: bounceInRight;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes bounceInUp {` && |\n| && - ` from,` && |\n| && - ` 60%,` && |\n| && - ` 75%,` && |\n| && - ` 90%,` && |\n| && - ` to {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);` && |\n| && - ` transform: translate3d(0, 3000px, 0) scaleY(5);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);` && |\n| && - ` transform: translate3d(0, -20px, 0) scaleY(0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 75% {` && |\n| && - ` -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);` && |\n| && - ` transform: translate3d(0, 10px, 0) scaleY(0.95);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);` && |\n| && - ` transform: translate3d(0, -5px, 0) scaleY(0.985);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes bounceInUp {` && |\n| && - ` from,` && |\n| && - ` 60%,` && |\n| && - ` 75%,` && |\n| && - ` 90%,` && |\n| && - ` to {` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);` && |\n| && - ` transform: translate3d(0, 3000px, 0) scaleY(5);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);` && |\n| && - ` transform: translate3d(0, -20px, 0) scaleY(0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 75% {` && |\n| && - ` -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);` && |\n| && - ` transform: translate3d(0, 10px, 0) scaleY(0.95);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 90% {` && |\n| && - ` -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);` && |\n| && - ` transform: translate3d(0, -5px, 0) scaleY(0.985);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__bounceInUp {` && |\n| && - ` -webkit-animation-name: bounceInUp;` && |\n| && - ` animation-name: bounceInUp;` && |\n| && - `}` && |\n| && - `/* Bouncing exits */` && |\n| && - `@-webkit-keyframes bounceOut {` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: scale3d(0.9, 0.9, 0.9);` && |\n| && - ` transform: scale3d(0.9, 0.9, 0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50%,` && |\n| && - ` 55% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(1.1, 1.1, 1.1);` && |\n| && - ` transform: scale3d(1.1, 1.1, 1.1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes bounceOut {` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: scale3d(0.9, 0.9, 0.9);` && |\n| && - ` transform: scale3d(0.9, 0.9, 0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50%,` && |\n| && - ` 55% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(1.1, 1.1, 1.1);` && |\n| && - ` transform: scale3d(1.1, 1.1, 1.1);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__bounceOut {` && |\n| && - ` -webkit-animation-duration: calc(1s * 0.75);` && |\n| && - ` animation-duration: calc(1s * 0.75);` && |\n| && - ` -webkit-animation-duration: calc(var(--animate-duration) * 0.75);` && |\n| && - ` animation-duration: calc(var(--animate-duration) * 0.75);` && |\n| && - ` -webkit-animation-name: bounceOut;` && |\n| && - ` animation-name: bounceOut;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes bounceOutDown {` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);` && |\n| && - ` transform: translate3d(0, 10px, 0) scaleY(0.985);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40%,` && |\n| && - ` 45% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);` && |\n| && - ` transform: translate3d(0, -20px, 0) scaleY(0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);` && |\n| && - ` transform: translate3d(0, 2000px, 0) scaleY(3);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes bounceOutDown {` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);` && |\n| && - ` transform: translate3d(0, 10px, 0) scaleY(0.985);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40%,` && |\n| && - ` 45% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);` && |\n| && - ` transform: translate3d(0, -20px, 0) scaleY(0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);` && |\n| && - ` transform: translate3d(0, 2000px, 0) scaleY(3);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__bounceOutDown {` && |\n| && - ` -webkit-animation-name: bounceOutDown;` && |\n| && - ` animation-name: bounceOutDown;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes bounceOutLeft {` && |\n| && - ` 20% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);` && |\n| && - ` transform: translate3d(20px, 0, 0) scaleX(0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);` && |\n| && - ` transform: translate3d(-2000px, 0, 0) scaleX(2);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes bounceOutLeft {` && |\n| && - ` 20% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);` && |\n| && - ` transform: translate3d(20px, 0, 0) scaleX(0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);` && |\n| && - ` transform: translate3d(-2000px, 0, 0) scaleX(2);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__bounceOutLeft {` && |\n| && - ` -webkit-animation-name: bounceOutLeft;` && |\n| && - ` animation-name: bounceOutLeft;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes bounceOutRight {` && |\n| && - ` 20% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);` && |\n| && - ` transform: translate3d(-20px, 0, 0) scaleX(0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);` && |\n| && - ` transform: translate3d(2000px, 0, 0) scaleX(2);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes bounceOutRight {` && |\n| && - ` 20% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);` && |\n| && - ` transform: translate3d(-20px, 0, 0) scaleX(0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);` && |\n| && - ` transform: translate3d(2000px, 0, 0) scaleX(2);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__bounceOutRight {` && |\n| && - ` -webkit-animation-name: bounceOutRight;` && |\n| && - ` animation-name: bounceOutRight;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes bounceOutUp {` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);` && |\n| && - ` transform: translate3d(0, -10px, 0) scaleY(0.985);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40%,` && |\n| && - ` 45% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);` && |\n| && - ` transform: translate3d(0, 20px, 0) scaleY(0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);` && |\n| && - ` transform: translate3d(0, -2000px, 0) scaleY(3);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes bounceOutUp {` && |\n| && - ` 20% {` && |\n| && - ` -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);` && |\n| && - ` transform: translate3d(0, -10px, 0) scaleY(0.985);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40%,` && |\n| && - ` 45% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);` && |\n| && - ` transform: translate3d(0, 20px, 0) scaleY(0.9);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);` && |\n| && - ` transform: translate3d(0, -2000px, 0) scaleY(3);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__bounceOutUp {` && |\n| && - ` -webkit-animation-name: bounceOutUp;` && |\n| && - ` animation-name: bounceOutUp;` && |\n| && - `}` && |\n| && - `/* Fading entrances */` && |\n| && - `@-webkit-keyframes fadeIn {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeIn {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeIn {` && |\n| && - ` -webkit-animation-name: fadeIn;` && |\n| && - ` animation-name: fadeIn;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeInDown {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, -100%, 0);` && |\n| && - ` transform: translate3d(0, -100%, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeInDown {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, -100%, 0);` && |\n| && - ` transform: translate3d(0, -100%, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeInDown {` && |\n| && - ` -webkit-animation-name: fadeInDown;` && |\n| && - ` animation-name: fadeInDown;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeInDownBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, -2000px, 0);` && |\n| && - ` transform: translate3d(0, -2000px, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeInDownBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, -2000px, 0);` && |\n| && - ` transform: translate3d(0, -2000px, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeInDownBig {` && |\n| && - ` -webkit-animation-name: fadeInDownBig;` && |\n| && - ` animation-name: fadeInDownBig;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeInLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0);` && |\n| && - ` transform: translate3d(-100%, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeInLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0);` && |\n| && - ` transform: translate3d(-100%, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeInLeft {` && |\n| && - ` -webkit-animation-name: fadeInLeft;` && |\n| && - ` animation-name: fadeInLeft;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeInLeftBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-2000px, 0, 0);` && |\n| && - ` transform: translate3d(-2000px, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeInLeftBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-2000px, 0, 0);` && |\n| && - ` transform: translate3d(-2000px, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeInLeftBig {` && |\n| && - ` -webkit-animation-name: fadeInLeftBig;` && |\n| && - ` animation-name: fadeInLeftBig;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeInRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0);` && |\n| && - ` transform: translate3d(100%, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeInRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0);` && |\n| && - ` transform: translate3d(100%, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeInRight {` && |\n| && - ` -webkit-animation-name: fadeInRight;` && |\n| && - ` animation-name: fadeInRight;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeInRightBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(2000px, 0, 0);` && |\n| && - ` transform: translate3d(2000px, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n|. - result = result && - `@keyframes fadeInRightBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(2000px, 0, 0);` && |\n| && - ` transform: translate3d(2000px, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeInRightBig {` && |\n| && - ` -webkit-animation-name: fadeInRightBig;` && |\n| && - ` animation-name: fadeInRightBig;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeInUp {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, 100%, 0);` && |\n| && - ` transform: translate3d(0, 100%, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeInUp {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, 100%, 0);` && |\n| && - ` transform: translate3d(0, 100%, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeInUp {` && |\n| && - ` -webkit-animation-name: fadeInUp;` && |\n| && - ` animation-name: fadeInUp;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeInUpBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, 2000px, 0);` && |\n| && - ` transform: translate3d(0, 2000px, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeInUpBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, 2000px, 0);` && |\n| && - ` transform: translate3d(0, 2000px, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeInUpBig {` && |\n| && - ` -webkit-animation-name: fadeInUpBig;` && |\n| && - ` animation-name: fadeInUpBig;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeInTopLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, -100%, 0);` && |\n| && - ` transform: translate3d(-100%, -100%, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeInTopLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, -100%, 0);` && |\n| && - ` transform: translate3d(-100%, -100%, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeInTopLeft {` && |\n| && - ` -webkit-animation-name: fadeInTopLeft;` && |\n| && - ` animation-name: fadeInTopLeft;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeInTopRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, -100%, 0);` && |\n| && - ` transform: translate3d(100%, -100%, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeInTopRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, -100%, 0);` && |\n| && - ` transform: translate3d(100%, -100%, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeInTopRight {` && |\n| && - ` -webkit-animation-name: fadeInTopRight;` && |\n| && - ` animation-name: fadeInTopRight;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeInBottomLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, 100%, 0);` && |\n| && - ` transform: translate3d(-100%, 100%, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeInBottomLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, 100%, 0);` && |\n| && - ` transform: translate3d(-100%, 100%, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeInBottomLeft {` && |\n| && - ` -webkit-animation-name: fadeInBottomLeft;` && |\n| && - ` animation-name: fadeInBottomLeft;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeInBottomRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, 100%, 0);` && |\n| && - ` transform: translate3d(100%, 100%, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeInBottomRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, 100%, 0);` && |\n| && - ` transform: translate3d(100%, 100%, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeInBottomRight {` && |\n| && - ` -webkit-animation-name: fadeInBottomRight;` && |\n| && - ` animation-name: fadeInBottomRight;` && |\n| && - `}` && |\n|. - result = result && - `/* Fading exits */` && |\n| && - `@-webkit-keyframes fadeOut {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeOut {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOut {` && |\n| && - ` -webkit-animation-name: fadeOut;` && |\n| && - ` animation-name: fadeOut;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeOutDown {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, 100%, 0);` && |\n| && - ` transform: translate3d(0, 100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeOutDown {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, 100%, 0);` && |\n| && - ` transform: translate3d(0, 100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOutDown {` && |\n| && - ` -webkit-animation-name: fadeOutDown;` && |\n| && - ` animation-name: fadeOutDown;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeOutDownBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, 2000px, 0);` && |\n| && - ` transform: translate3d(0, 2000px, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeOutDownBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, 2000px, 0);` && |\n| && - ` transform: translate3d(0, 2000px, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOutDownBig {` && |\n| && - ` -webkit-animation-name: fadeOutDownBig;` && |\n| && - ` animation-name: fadeOutDownBig;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeOutLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0);` && |\n| && - ` transform: translate3d(-100%, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeOutLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0);` && |\n| && - ` transform: translate3d(-100%, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOutLeft {` && |\n| && - ` -webkit-animation-name: fadeOutLeft;` && |\n| && - ` animation-name: fadeOutLeft;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeOutLeftBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-2000px, 0, 0);` && |\n| && - ` transform: translate3d(-2000px, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeOutLeftBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-2000px, 0, 0);` && |\n| && - ` transform: translate3d(-2000px, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOutLeftBig {` && |\n| && - ` -webkit-animation-name: fadeOutLeftBig;` && |\n| && - ` animation-name: fadeOutLeftBig;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeOutRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0);` && |\n| && - ` transform: translate3d(100%, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeOutRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0);` && |\n| && - ` transform: translate3d(100%, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOutRight {` && |\n| && - ` -webkit-animation-name: fadeOutRight;` && |\n| && - ` animation-name: fadeOutRight;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeOutRightBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(2000px, 0, 0);` && |\n| && - ` transform: translate3d(2000px, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeOutRightBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(2000px, 0, 0);` && |\n| && - ` transform: translate3d(2000px, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOutRightBig {` && |\n| && - ` -webkit-animation-name: fadeOutRightBig;` && |\n| && - ` animation-name: fadeOutRightBig;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeOutUp {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, -100%, 0);` && |\n| && - ` transform: translate3d(0, -100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeOutUp {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, -100%, 0);` && |\n| && - ` transform: translate3d(0, -100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOutUp {` && |\n| && - ` -webkit-animation-name: fadeOutUp;` && |\n| && - ` animation-name: fadeOutUp;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeOutUpBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, -2000px, 0);` && |\n| && - ` transform: translate3d(0, -2000px, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeOutUpBig {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(0, -2000px, 0);` && |\n| && - ` transform: translate3d(0, -2000px, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOutUpBig {` && |\n| && - ` -webkit-animation-name: fadeOutUpBig;` && |\n| && - ` animation-name: fadeOutUpBig;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeOutTopLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, -100%, 0);` && |\n| && - ` transform: translate3d(-100%, -100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeOutTopLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, -100%, 0);` && |\n| && - ` transform: translate3d(-100%, -100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOutTopLeft {` && |\n| && - ` -webkit-animation-name: fadeOutTopLeft;` && |\n| && - ` animation-name: fadeOutTopLeft;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeOutTopRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, -100%, 0);` && |\n| && - ` transform: translate3d(100%, -100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeOutTopRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, -100%, 0);` && |\n| && - ` transform: translate3d(100%, -100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOutTopRight {` && |\n| && - ` -webkit-animation-name: fadeOutTopRight;` && |\n| && - ` animation-name: fadeOutTopRight;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeOutBottomRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, 100%, 0);` && |\n| && - ` transform: translate3d(100%, 100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n|. - result = result && - `@keyframes fadeOutBottomRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, 100%, 0);` && |\n| && - ` transform: translate3d(100%, 100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOutBottomRight {` && |\n| && - ` -webkit-animation-name: fadeOutBottomRight;` && |\n| && - ` animation-name: fadeOutBottomRight;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes fadeOutBottomLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, 100%, 0);` && |\n| && - ` transform: translate3d(-100%, 100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes fadeOutBottomLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, 100%, 0);` && |\n| && - ` transform: translate3d(-100%, 100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__fadeOutBottomLeft {` && |\n| && - ` -webkit-animation-name: fadeOutBottomLeft;` && |\n| && - ` animation-name: fadeOutBottomLeft;` && |\n| && - `}` && |\n| && - `/* Flippers */` && |\n| && - `@-webkit-keyframes flip {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);` && |\n| && - ` transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);` && |\n| && - ` -webkit-animation-timing-function: ease-out;` && |\n| && - ` animation-timing-function: ease-out;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40% {` && |\n| && - ` -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)` && |\n| && - ` rotate3d(0, 1, 0, -190deg);` && |\n| && - ` transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)` && |\n| && - ` rotate3d(0, 1, 0, -190deg);` && |\n| && - ` -webkit-animation-timing-function: ease-out;` && |\n| && - ` animation-timing-function: ease-out;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)` && |\n| && - ` rotate3d(0, 1, 0, -170deg);` && |\n| && - ` transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)` && |\n| && - ` rotate3d(0, 1, 0, -170deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)` && |\n| && - ` rotate3d(0, 1, 0, 0deg);` && |\n| && - ` transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)` && |\n| && - ` rotate3d(0, 1, 0, 0deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);` && |\n| && - ` transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes flip {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);` && |\n| && - ` transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);` && |\n| && - ` -webkit-animation-timing-function: ease-out;` && |\n| && - ` animation-timing-function: ease-out;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40% {` && |\n| && - ` -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)` && |\n| && - ` rotate3d(0, 1, 0, -190deg);` && |\n| && - ` transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)` && |\n| && - ` rotate3d(0, 1, 0, -190deg);` && |\n| && - ` -webkit-animation-timing-function: ease-out;` && |\n| && - ` animation-timing-function: ease-out;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)` && |\n| && - ` rotate3d(0, 1, 0, -170deg);` && |\n| && - ` transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)` && |\n| && - ` rotate3d(0, 1, 0, -170deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)` && |\n| && - ` rotate3d(0, 1, 0, 0deg);` && |\n| && - ` transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)` && |\n| && - ` rotate3d(0, 1, 0, 0deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);` && |\n| && - ` transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__animated.animate__flip {` && |\n| && - ` -webkit-backface-visibility: visible;` && |\n| && - ` backface-visibility: visible;` && |\n| && - ` -webkit-animation-name: flip;` && |\n| && - ` animation-name: flip;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes flipInX {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);` && |\n| && - ` transform: perspective(400px) rotate3d(1, 0, 0, 90deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);` && |\n| && - ` transform: perspective(400px) rotate3d(1, 0, 0, -20deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);` && |\n| && - ` transform: perspective(400px) rotate3d(1, 0, 0, 10deg);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);` && |\n| && - ` transform: perspective(400px) rotate3d(1, 0, 0, -5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: perspective(400px);` && |\n| && - ` transform: perspective(400px);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes flipInX {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);` && |\n| && - ` transform: perspective(400px) rotate3d(1, 0, 0, 90deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);` && |\n| && - ` transform: perspective(400px) rotate3d(1, 0, 0, -20deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);` && |\n| && - ` transform: perspective(400px) rotate3d(1, 0, 0, 10deg);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);` && |\n| && - ` transform: perspective(400px) rotate3d(1, 0, 0, -5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: perspective(400px);` && |\n| && - ` transform: perspective(400px);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__flipInX {` && |\n| && - ` -webkit-backface-visibility: visible !important;` && |\n| && - ` backface-visibility: visible !important;` && |\n| && - ` -webkit-animation-name: flipInX;` && |\n| && - ` animation-name: flipInX;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes flipInY {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);` && |\n| && - ` transform: perspective(400px) rotate3d(0, 1, 0, 90deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);` && |\n| && - ` transform: perspective(400px) rotate3d(0, 1, 0, -20deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);` && |\n| && - ` transform: perspective(400px) rotate3d(0, 1, 0, 10deg);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);` && |\n| && - ` transform: perspective(400px) rotate3d(0, 1, 0, -5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: perspective(400px);` && |\n| && - ` transform: perspective(400px);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes flipInY {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);` && |\n| && - ` transform: perspective(400px) rotate3d(0, 1, 0, 90deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);` && |\n| && - ` transform: perspective(400px) rotate3d(0, 1, 0, -20deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);` && |\n| && - ` transform: perspective(400px) rotate3d(0, 1, 0, 10deg);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);` && |\n| && - ` transform: perspective(400px) rotate3d(0, 1, 0, -5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: perspective(400px);` && |\n| && - ` transform: perspective(400px);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__flipInY {` && |\n| && - ` -webkit-backface-visibility: visible !important;` && |\n| && - ` backface-visibility: visible !important;` && |\n| && - ` -webkit-animation-name: flipInY;` && |\n| && - ` animation-name: flipInY;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes flipOutX {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: perspective(400px);` && |\n| && - ` transform: perspective(400px);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 30% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);` && |\n| && - ` transform: perspective(400px) rotate3d(1, 0, 0, -20deg);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);` && |\n| && - ` transform: perspective(400px) rotate3d(1, 0, 0, 90deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes flipOutX {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: perspective(400px);` && |\n| && - ` transform: perspective(400px);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 30% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);` && |\n| && - ` transform: perspective(400px) rotate3d(1, 0, 0, -20deg);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);` && |\n| && - ` transform: perspective(400px) rotate3d(1, 0, 0, 90deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__flipOutX {` && |\n| && - ` -webkit-animation-duration: calc(1s * 0.75);` && |\n| && - ` animation-duration: calc(1s * 0.75);` && |\n| && - ` -webkit-animation-duration: calc(var(--animate-duration) * 0.75);` && |\n| && - ` animation-duration: calc(var(--animate-duration) * 0.75);` && |\n| && - ` -webkit-animation-name: flipOutX;` && |\n| && - ` animation-name: flipOutX;` && |\n| && - ` -webkit-backface-visibility: visible !important;` && |\n| && - ` backface-visibility: visible !important;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes flipOutY {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: perspective(400px);` && |\n| && - ` transform: perspective(400px);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 30% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);` && |\n| && - ` transform: perspective(400px) rotate3d(0, 1, 0, -15deg);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);` && |\n| && - ` transform: perspective(400px) rotate3d(0, 1, 0, 90deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes flipOutY {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: perspective(400px);` && |\n| && - ` transform: perspective(400px);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 30% {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);` && |\n| && - ` transform: perspective(400px) rotate3d(0, 1, 0, -15deg);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);` && |\n| && - ` transform: perspective(400px) rotate3d(0, 1, 0, 90deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__flipOutY {` && |\n| && - ` -webkit-animation-duration: calc(1s * 0.75);` && |\n| && - ` animation-duration: calc(1s * 0.75);` && |\n| && - ` -webkit-animation-duration: calc(var(--animate-duration) * 0.75);` && |\n| && - ` animation-duration: calc(var(--animate-duration) * 0.75);` && |\n| && - ` -webkit-backface-visibility: visible !important;` && |\n| && - ` backface-visibility: visible !important;` && |\n| && - ` -webkit-animation-name: flipOutY;` && |\n| && - ` animation-name: flipOutY;` && |\n| && - `}` && |\n| && - `/* Lightspeed */` && |\n| && - `@-webkit-keyframes lightSpeedInRight {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);` && |\n| && - ` transform: translate3d(100%, 0, 0) skewX(-30deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: skewX(20deg);` && |\n| && - ` transform: skewX(20deg);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: skewX(-5deg);` && |\n| && - ` transform: skewX(-5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes lightSpeedInRight {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);` && |\n| && - ` transform: translate3d(100%, 0, 0) skewX(-30deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: skewX(20deg);` && |\n| && - ` transform: skewX(20deg);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: skewX(-5deg);` && |\n| && - ` transform: skewX(-5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__lightSpeedInRight {` && |\n| && - ` -webkit-animation-name: lightSpeedInRight;` && |\n| && - ` animation-name: lightSpeedInRight;` && |\n| && - ` -webkit-animation-timing-function: ease-out;` && |\n| && - ` animation-timing-function: ease-out;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes lightSpeedInLeft {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);` && |\n| && - ` transform: translate3d(-100%, 0, 0) skewX(30deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: skewX(-20deg);` && |\n| && - ` transform: skewX(-20deg);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: skewX(5deg);` && |\n| && - ` transform: skewX(5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes lightSpeedInLeft {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);` && |\n| && - ` transform: translate3d(-100%, 0, 0) skewX(30deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: skewX(-20deg);` && |\n| && - ` transform: skewX(-20deg);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: skewX(5deg);` && |\n| && - ` transform: skewX(5deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__lightSpeedInLeft {` && |\n| && - ` -webkit-animation-name: lightSpeedInLeft;` && |\n| && - ` animation-name: lightSpeedInLeft;` && |\n| && - ` -webkit-animation-timing-function: ease-out;` && |\n| && - ` animation-timing-function: ease-out;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes lightSpeedOutRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);` && |\n| && - ` transform: translate3d(100%, 0, 0) skewX(30deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes lightSpeedOutRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);` && |\n| && - ` transform: translate3d(100%, 0, 0) skewX(30deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__lightSpeedOutRight {` && |\n| && - ` -webkit-animation-name: lightSpeedOutRight;` && |\n| && - ` animation-name: lightSpeedOutRight;` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - `}` && |\n|. - result = result && - `@-webkit-keyframes lightSpeedOutLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);` && |\n| && - ` transform: translate3d(-100%, 0, 0) skewX(-30deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes lightSpeedOutLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);` && |\n| && - ` transform: translate3d(-100%, 0, 0) skewX(-30deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__lightSpeedOutLeft {` && |\n| && - ` -webkit-animation-name: lightSpeedOutLeft;` && |\n| && - ` animation-name: lightSpeedOutLeft;` && |\n| && - ` -webkit-animation-timing-function: ease-in;` && |\n| && - ` animation-timing-function: ease-in;` && |\n| && - `}` && |\n| && - `/* Rotating entrances */` && |\n| && - `@-webkit-keyframes rotateIn {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -200deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -200deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes rotateIn {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -200deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -200deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rotateIn {` && |\n| && - ` -webkit-animation-name: rotateIn;` && |\n| && - ` animation-name: rotateIn;` && |\n| && - ` -webkit-transform-origin: center;` && |\n| && - ` transform-origin: center;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes rotateInDownLeft {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -45deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -45deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes rotateInDownLeft {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -45deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -45deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rotateInDownLeft {` && |\n| && - ` -webkit-animation-name: rotateInDownLeft;` && |\n| && - ` animation-name: rotateInDownLeft;` && |\n| && - ` -webkit-transform-origin: left bottom;` && |\n| && - ` transform-origin: left bottom;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes rotateInDownRight {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 45deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 45deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes rotateInDownRight {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 45deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 45deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rotateInDownRight {` && |\n| && - ` -webkit-animation-name: rotateInDownRight;` && |\n| && - ` animation-name: rotateInDownRight;` && |\n| && - ` -webkit-transform-origin: right bottom;` && |\n| && - ` transform-origin: right bottom;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes rotateInUpLeft {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 45deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 45deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes rotateInUpLeft {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 45deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 45deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rotateInUpLeft {` && |\n| && - ` -webkit-animation-name: rotateInUpLeft;` && |\n| && - ` animation-name: rotateInUpLeft;` && |\n| && - ` -webkit-transform-origin: left bottom;` && |\n| && - ` transform-origin: left bottom;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes rotateInUpRight {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -90deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -90deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes rotateInUpRight {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -90deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -90deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rotateInUpRight {` && |\n| && - ` -webkit-animation-name: rotateInUpRight;` && |\n| && - ` animation-name: rotateInUpRight;` && |\n| && - ` -webkit-transform-origin: right bottom;` && |\n| && - ` transform-origin: right bottom;` && |\n| && - `}` && |\n| && - `/* Rotating exits */` && |\n| && - `@-webkit-keyframes rotateOut {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 200deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 200deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes rotateOut {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 200deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 200deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rotateOut {` && |\n| && - ` -webkit-animation-name: rotateOut;` && |\n| && - ` animation-name: rotateOut;` && |\n| && - ` -webkit-transform-origin: center;` && |\n| && - ` transform-origin: center;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes rotateOutDownLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 45deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 45deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes rotateOutDownLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 45deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 45deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rotateOutDownLeft {` && |\n| && - ` -webkit-animation-name: rotateOutDownLeft;` && |\n| && - ` animation-name: rotateOutDownLeft;` && |\n| && - ` -webkit-transform-origin: left bottom;` && |\n| && - ` transform-origin: left bottom;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes rotateOutDownRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -45deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -45deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes rotateOutDownRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -45deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -45deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rotateOutDownRight {` && |\n| && - ` -webkit-animation-name: rotateOutDownRight;` && |\n| && - ` animation-name: rotateOutDownRight;` && |\n| && - ` -webkit-transform-origin: right bottom;` && |\n| && - ` transform-origin: right bottom;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes rotateOutUpLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -45deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -45deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes rotateOutUpLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, -45deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, -45deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rotateOutUpLeft {` && |\n| && - ` -webkit-animation-name: rotateOutUpLeft;` && |\n| && - ` animation-name: rotateOutUpLeft;` && |\n| && - ` -webkit-transform-origin: left bottom;` && |\n| && - ` transform-origin: left bottom;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes rotateOutUpRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 90deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 90deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes rotateOutUpRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 90deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 90deg);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rotateOutUpRight {` && |\n| && - ` -webkit-animation-name: rotateOutUpRight;` && |\n| && - ` animation-name: rotateOutUpRight;` && |\n| && - ` -webkit-transform-origin: right bottom;` && |\n| && - ` transform-origin: right bottom;` && |\n| && - `}` && |\n| && - `/* Specials */` && |\n| && - `@-webkit-keyframes hinge {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-animation-timing-function: ease-in-out;` && |\n| && - ` animation-timing-function: ease-in-out;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20%,` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 80deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 80deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in-out;` && |\n| && - ` animation-timing-function: ease-in-out;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40%,` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 60deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 60deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in-out;` && |\n| && - ` animation-timing-function: ease-in-out;` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 700px, 0);` && |\n| && - ` transform: translate3d(0, 700px, 0);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes hinge {` && |\n| && - ` 0% {` && |\n| && - ` -webkit-animation-timing-function: ease-in-out;` && |\n| && - ` animation-timing-function: ease-in-out;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 20%,` && |\n| && - ` 60% {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 80deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 80deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in-out;` && |\n| && - ` animation-timing-function: ease-in-out;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 40%,` && |\n| && - ` 80% {` && |\n| && - ` -webkit-transform: rotate3d(0, 0, 1, 60deg);` && |\n| && - ` transform: rotate3d(0, 0, 1, 60deg);` && |\n| && - ` -webkit-animation-timing-function: ease-in-out;` && |\n| && - ` animation-timing-function: ease-in-out;` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 700px, 0);` && |\n| && - ` transform: translate3d(0, 700px, 0);` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__hinge {` && |\n| && - ` -webkit-animation-duration: calc(1s * 2);` && |\n| && - ` animation-duration: calc(1s * 2);` && |\n| && - ` -webkit-animation-duration: calc(var(--animate-duration) * 2);` && |\n| && - ` animation-duration: calc(var(--animate-duration) * 2);` && |\n| && - ` -webkit-animation-name: hinge;` && |\n| && - ` animation-name: hinge;` && |\n| && - ` -webkit-transform-origin: top left;` && |\n| && - ` transform-origin: top left;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes jackInTheBox {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale(0.1) rotate(30deg);` && |\n| && - ` transform: scale(0.1) rotate(30deg);` && |\n| && - ` -webkit-transform-origin: center bottom;` && |\n| && - ` transform-origin: center bottom;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` -webkit-transform: rotate(-10deg);` && |\n| && - ` transform: rotate(-10deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 70% {` && |\n| && - ` -webkit-transform: rotate(3deg);` && |\n| && - ` transform: rotate(3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes jackInTheBox {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale(0.1) rotate(30deg);` && |\n| && - ` transform: scale(0.1) rotate(30deg);` && |\n| && - ` -webkit-transform-origin: center bottom;` && |\n| && - ` transform-origin: center bottom;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` -webkit-transform: rotate(-10deg);` && |\n| && - ` transform: rotate(-10deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 70% {` && |\n| && - ` -webkit-transform: rotate(3deg);` && |\n| && - ` transform: rotate(3deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale(1);` && |\n| && - ` transform: scale(1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__jackInTheBox {` && |\n| && - ` -webkit-animation-name: jackInTheBox;` && |\n| && - ` animation-name: jackInTheBox;` && |\n| && - `}` && |\n| && - `/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */` && |\n| && - `@-webkit-keyframes rollIn {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);` && |\n| && - ` transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes rollIn {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);` && |\n| && - ` transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rollIn {` && |\n| && - ` -webkit-animation-name: rollIn;` && |\n| && - ` animation-name: rollIn;` && |\n| && - `}` && |\n| && - `/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */` && |\n| && - `@-webkit-keyframes rollOut {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);` && |\n| && - ` transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);` && |\n| && - ` }` && |\n| && - `}` && |\n|. - result = result && - `@keyframes rollOut {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);` && |\n| && - ` transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__rollOut {` && |\n| && - ` -webkit-animation-name: rollOut;` && |\n| && - ` animation-name: rollOut;` && |\n| && - `}` && |\n| && - `/* Zooming entrances */` && |\n| && - `@-webkit-keyframes zoomIn {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes zoomIn {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__zoomIn {` && |\n| && - ` -webkit-animation-name: zoomIn;` && |\n| && - ` animation-name: zoomIn;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes zoomInDown {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);` && |\n| && - ` transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes zoomInDown {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);` && |\n| && - ` transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__zoomInDown {` && |\n| && - ` -webkit-animation-name: zoomInDown;` && |\n| && - ` animation-name: zoomInDown;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes zoomInLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);` && |\n| && - ` transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes zoomInLeft {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);` && |\n| && - ` transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__zoomInLeft {` && |\n| && - ` -webkit-animation-name: zoomInLeft;` && |\n| && - ` animation-name: zoomInLeft;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes zoomInRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);` && |\n| && - ` transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes zoomInRight {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);` && |\n| && - ` transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__zoomInRight {` && |\n| && - ` -webkit-animation-name: zoomInRight;` && |\n| && - ` animation-name: zoomInRight;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes zoomInUp {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);` && |\n| && - ` transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes zoomInUp {` && |\n| && - ` from {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);` && |\n| && - ` transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 60% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__zoomInUp {` && |\n| && - ` -webkit-animation-name: zoomInUp;` && |\n| && - ` animation-name: zoomInUp;` && |\n| && - `}` && |\n| && - `/* Zooming exits */` && |\n| && - `@-webkit-keyframes zoomOut {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes zoomOut {` && |\n| && - ` from {` && |\n| && - ` opacity: 1;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` 50% {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` transform: scale3d(0.3, 0.3, 0.3);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__zoomOut {` && |\n| && - ` -webkit-animation-name: zoomOut;` && |\n| && - ` animation-name: zoomOut;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes zoomOutDown {` && |\n| && - ` 40% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);` && |\n| && - ` transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes zoomOutDown {` && |\n| && - ` 40% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);` && |\n| && - ` transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__zoomOutDown {` && |\n| && - ` -webkit-animation-name: zoomOutDown;` && |\n| && - ` animation-name: zoomOutDown;` && |\n| && - ` -webkit-transform-origin: center bottom;` && |\n| && - ` transform-origin: center bottom;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes zoomOutLeft {` && |\n| && - ` 40% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);` && |\n| && - ` transform: scale(0.1) translate3d(-2000px, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes zoomOutLeft {` && |\n| && - ` 40% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);` && |\n| && - ` transform: scale(0.1) translate3d(-2000px, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__zoomOutLeft {` && |\n| && - ` -webkit-animation-name: zoomOutLeft;` && |\n| && - ` animation-name: zoomOutLeft;` && |\n| && - ` -webkit-transform-origin: left center;` && |\n| && - ` transform-origin: left center;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes zoomOutRight {` && |\n| && - ` 40% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);` && |\n| && - ` transform: scale(0.1) translate3d(2000px, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes zoomOutRight {` && |\n| && - ` 40% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);` && |\n| && - ` transform: scale(0.1) translate3d(2000px, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__zoomOutRight {` && |\n| && - ` -webkit-animation-name: zoomOutRight;` && |\n| && - ` animation-name: zoomOutRight;` && |\n| && - ` -webkit-transform-origin: right center;` && |\n| && - ` transform-origin: right center;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes zoomOutUp {` && |\n| && - ` 40% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);` && |\n| && - ` transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes zoomOutUp {` && |\n| && - ` 40% {` && |\n| && - ` opacity: 1;` && |\n| && - ` -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);` && |\n| && - ` transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` opacity: 0;` && |\n| && - ` -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);` && |\n| && - ` transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);` && |\n| && - ` -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__zoomOutUp {` && |\n| && - ` -webkit-animation-name: zoomOutUp;` && |\n| && - ` animation-name: zoomOutUp;` && |\n| && - ` -webkit-transform-origin: center bottom;` && |\n| && - ` transform-origin: center bottom;` && |\n| && - `}` && |\n| && - `/* Sliding entrances */` && |\n| && - `@-webkit-keyframes slideInDown {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, -100%, 0);` && |\n| && - ` transform: translate3d(0, -100%, 0);` && |\n| && - ` visibility: visible;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes slideInDown {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, -100%, 0);` && |\n| && - ` transform: translate3d(0, -100%, 0);` && |\n| && - ` visibility: visible;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__slideInDown {` && |\n| && - ` -webkit-animation-name: slideInDown;` && |\n| && - ` animation-name: slideInDown;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes slideInLeft {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0);` && |\n| && - ` transform: translate3d(-100%, 0, 0);` && |\n| && - ` visibility: visible;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes slideInLeft {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0);` && |\n| && - ` transform: translate3d(-100%, 0, 0);` && |\n| && - ` visibility: visible;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__slideInLeft {` && |\n| && - ` -webkit-animation-name: slideInLeft;` && |\n| && - ` animation-name: slideInLeft;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes slideInRight {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0);` && |\n| && - ` transform: translate3d(100%, 0, 0);` && |\n| && - ` visibility: visible;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes slideInRight {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0);` && |\n| && - ` transform: translate3d(100%, 0, 0);` && |\n| && - ` visibility: visible;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__slideInRight {` && |\n| && - ` -webkit-animation-name: slideInRight;` && |\n| && - ` animation-name: slideInRight;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes slideInUp {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, 100%, 0);` && |\n| && - ` transform: translate3d(0, 100%, 0);` && |\n| && - ` visibility: visible;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes slideInUp {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, 100%, 0);` && |\n| && - ` transform: translate3d(0, 100%, 0);` && |\n| && - ` visibility: visible;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__slideInUp {` && |\n| && - ` -webkit-animation-name: slideInUp;` && |\n| && - ` animation-name: slideInUp;` && |\n| && - `}` && |\n| && - `/* Sliding exits */` && |\n| && - `@-webkit-keyframes slideOutDown {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` visibility: hidden;` && |\n| && - ` -webkit-transform: translate3d(0, 100%, 0);` && |\n| && - ` transform: translate3d(0, 100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n|. - result = result && - `@keyframes slideOutDown {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` visibility: hidden;` && |\n| && - ` -webkit-transform: translate3d(0, 100%, 0);` && |\n| && - ` transform: translate3d(0, 100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__slideOutDown {` && |\n| && - ` -webkit-animation-name: slideOutDown;` && |\n| && - ` animation-name: slideOutDown;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes slideOutLeft {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` visibility: hidden;` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0);` && |\n| && - ` transform: translate3d(-100%, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes slideOutLeft {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` visibility: hidden;` && |\n| && - ` -webkit-transform: translate3d(-100%, 0, 0);` && |\n| && - ` transform: translate3d(-100%, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__slideOutLeft {` && |\n| && - ` -webkit-animation-name: slideOutLeft;` && |\n| && - ` animation-name: slideOutLeft;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes slideOutRight {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` visibility: hidden;` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0);` && |\n| && - ` transform: translate3d(100%, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes slideOutRight {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` visibility: hidden;` && |\n| && - ` -webkit-transform: translate3d(100%, 0, 0);` && |\n| && - ` transform: translate3d(100%, 0, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__slideOutRight {` && |\n| && - ` -webkit-animation-name: slideOutRight;` && |\n| && - ` animation-name: slideOutRight;` && |\n| && - `}` && |\n| && - `@-webkit-keyframes slideOutUp {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` visibility: hidden;` && |\n| && - ` -webkit-transform: translate3d(0, -100%, 0);` && |\n| && - ` transform: translate3d(0, -100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `@keyframes slideOutUp {` && |\n| && - ` from {` && |\n| && - ` -webkit-transform: translate3d(0, 0, 0);` && |\n| && - ` transform: translate3d(0, 0, 0);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` to {` && |\n| && - ` visibility: hidden;` && |\n| && - ` -webkit-transform: translate3d(0, -100%, 0);` && |\n| && - ` transform: translate3d(0, -100%, 0);` && |\n| && - ` }` && |\n| && - `}` && |\n| && - `.animate__slideOutUp {` && |\n| && - ` -webkit-animation-name: slideOutUp;` && |\n| && - ` animation-name: slideOutUp;` && |\n| && - `}`. - ENDMETHOD. -ENDCLASS. diff --git a/src/01/05/z2ui5_cl_cc_animatecss.clas.xml b/src/01/05/z2ui5_cl_cc_animatecss.clas.xml deleted file mode 100644 index f7b72be4..00000000 --- a/src/01/05/z2ui5_cl_cc_animatecss.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_CC_ANIMATECSS - E - animate css - 1 - X - X - X - - - - diff --git a/src/01/05/z2ui5_cl_cc_bwipjs.clas.abap b/src/01/05/z2ui5_cl_cc_bwipjs.clas.abap deleted file mode 100644 index 7c06286e..00000000 --- a/src/01/05/z2ui5_cl_cc_bwipjs.clas.abap +++ /dev/null @@ -1,170 +0,0 @@ -CLASS z2ui5_cl_cc_bwipjs DEFINITION - PUBLIC - FINAL - CREATE PUBLIC . - - PUBLIC SECTION. - - TYPES: - BEGIN OF ty_s_barcode, - sym TYPE string, - desc TYPE string, - text TYPE string, - opts TYPE string, - END OF ty_s_barcode. - TYPES ty_t_barcode TYPE STANDARD TABLE OF ty_s_barcode WITH EMPTY KEY. - - CONSTANTS cv_src TYPE string VALUE `https://cdnjs.cloudflare.com/ajax/libs/bwip-js/4.1.1/bwip-js-min.js` ##NEEDED. - - CLASS-METHODS get_t_barcode_types - RETURNING - VALUE(result) TYPE ty_t_barcode. - - CLASS-METHODS get_js_lib_local - RETURNING VALUE(result) TYPE string. - - CLASS-METHODS get_js - RETURNING - VALUE(r_js) TYPE string. - - PROTECTED SECTION. - PRIVATE SECTION. -ENDCLASS. - - - -CLASS Z2UI5_CL_CC_BWIPJS IMPLEMENTATION. - - - METHOD get_js. - - r_js = ` sap.ui.define("z2ui5/bwipjs", [` && |\n| && - ` "sap/ui/core/Control",` && |\n| && - ` ], function (Control) {` && |\n| && - ` "use strict";` && |\n| && - |\n| && - ` return Control.extend("z2ui5.bwipjs", {` && |\n| && - |\n| && - ` metadata: {` && |\n| && - ` properties: {` && |\n| && - ` bcid: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` text: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` scale: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` height: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` includetext: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` textalign: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - |\n| && - |\n| && - ` aggregations: {` && |\n| && - ` },` && |\n| && - ` events: {` && |\n| && - ` "upload": {` && |\n| && - ` allowPreventDefault: true,` && |\n| && - ` parameters: {}` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - ` renderer: null` && |\n| && - ` },` && |\n| && - |\n| && - ` init() {` && |\n| && - |\n| && - |\n| && - ` },` && - ` onAfterRendering() { ` && - ` if(window.bwipjs == undefined) { const loadScript = (FILE_URL, async = true, type = "text/javascript") => {` && |\n| && - ` return new Promise((resolve, reject) => {` && |\n| && - ` try {` && |\n| && - ` const scriptEle = document.createElement("script");` && |\n| && - ` scriptEle.type = type;` && |\n| && - ` scriptEle.async = async;` && |\n| && - ` scriptEle.src =FILE_URL;` && |\n| && - ` scriptEle.addEventListener("load", (ev) => {` && |\n| && - ` resolve({ status: true });` && |\n| && - ` });` && |\n| && - ` scriptEle.addEventListener("error", (ev) => {` && |\n| && - ` reject({` && |\n| && - ` status: false,` && |\n| && - ` message: ``Failed to load the script ${FILE_URL}``` && |\n| && - ` });` && |\n| && - ` });` && |\n| && - ` document.body.appendChild(scriptEle);` && |\n| && - ` } catch (error) {` && |\n| && - ` reject(error);` && |\n| && - ` }` && |\n| && - ` });` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` this.BusyDialog = new sap.m.BusyDialog( { title : "Loading bwip-js", text : "... now loading the data from a far away server" });` && |\n| && - ` this.BusyDialog.open();` && |\n| && - ` loadScript("https://cdnjs.cloudflare.com/ajax/libs/bwip-js/4.1.1/bwip-js-min.js")` && |\n| && - ` .then( data => {` && |\n| && - ` this.BusyDialog.close();` && |\n| && - ` let canvas = bwipjs.toCanvas('mycanvas', {` && |\n| && - ` bcid: this.getProperty("bcid"), // Barcode type` && |\n| && - ` text: this.getProperty("text"), // Text to encode` && |\n| && - ` scale: this.getProperty("scale"), // 3x scaling factor` && |\n| && - ` height: this.getProperty("height"), // Bar height, in millimeters` && |\n| && - ` includetext: true, // Show human-readable text` && |\n| && - ` textxalign: 'center', // Always good to set this` && |\n| && - ` })` && |\n| && - ` .catch( err => {` && |\n| && - ` new sap.m.MessageBox.error('Error on load bwip-js library: ' + err);` && |\n| && - ` this.BusyDialog.close();` && |\n| && - ` }); } ) } else {` && |\n| && - ` let canvas = bwipjs.toCanvas('mycanvas', {` && |\n| && - ` bcid: this.getProperty("bcid"), // Barcode type` && |\n| && - ` text: this.getProperty("text"), // Text to encode` && |\n| && - ` scale: this.getProperty("scale"), // 3x scaling factor` && |\n| && - ` height: this.getProperty("height"), // Bar height, in millimeters` && |\n| && - ` includetext: true, // Show human-readable text` && |\n| && - ` textxalign: 'center', // Always good to set this` && |\n| && - ` }); }` && |\n| && - ` },` && |\n| && - ` renderer: function (oRm, oControl) {` && |\n| && - ` oRm.write( "<canvas id='mycanvas' />");` && |\n| && |\n| && - ` // The return value is the canvas element` && |\n| && - ` }` && |\n| && - ` });` && |\n| && - ` });`. - - ENDMETHOD. - - - METHOD get_js_lib_local. - - result = ``. - - ENDMETHOD. - - - METHOD get_t_barcode_types. - - result = VALUE #( - ( sym = 'ean5' desc = 'EAN-5' text = '90200' opts = 'includetext guardwhitespace' ) - ( sym = 'ean2' desc = 'EAN-2' text = '05' opts = 'includetext guardwhitespace' ) - ( sym = 'ean13' desc = 'EAN-13' text = '9520123456788' opts = 'includetext guardwhitespace' ) - ( sym = 'upca' desc = 'UPC-A' text = '012345000058' opts = 'includetext' ) - ( sym = 'isbn' desc = 'ISBN' text = '978-1-56581-231-4 90000' opts = 'includetext guardwhitespace' ) - ( sym = 'qrcode' desc = 'QR Code' text = 'http://goo.gl/0bis' opts = 'eclevel=M' ) ). - - ENDMETHOD. -ENDCLASS. diff --git a/src/01/05/z2ui5_cl_cc_bwipjs.clas.xml b/src/01/05/z2ui5_cl_cc_bwipjs.clas.xml deleted file mode 100644 index 5e6d8e25..00000000 --- a/src/01/05/z2ui5_cl_cc_bwipjs.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_CC_BWIPJS - E - bwip-js - barcode writer in pure javascript - 1 - X - X - X - - - - diff --git a/src/01/05/z2ui5_cl_cc_camera_pic.clas.abap b/src/01/05/z2ui5_cl_cc_camera_pic.clas.abap deleted file mode 100644 index 4be617fc..00000000 --- a/src/01/05/z2ui5_cl_cc_camera_pic.clas.abap +++ /dev/null @@ -1,128 +0,0 @@ -CLASS z2ui5_cl_cc_camera_pic DEFINITION - PUBLIC - FINAL - CREATE PUBLIC . - - PUBLIC SECTION. - - CLASS-METHODS get_js - RETURNING - VALUE(r_js) TYPE string. - - PROTECTED SECTION. - PRIVATE SECTION. -ENDCLASS. - - - -CLASS Z2UI5_CL_CC_CAMERA_PIC IMPLEMENTATION. - - - METHOD get_js. - - r_js = ` sap.ui.define("z2ui5/CameraPicture" , [` && |\n| && - ` "sap/ui/core/Control"` && |\n| && - `], function (Control) {` && |\n| && - ` "use strict";` && |\n| && - ` return Control.extend("z2ui5.CameraPicture", {` && |\n| && - ` metadata: {` && |\n| && - ` properties: {` && |\n| && - ` id: { type: "string" },` && |\n| && - ` value: { type: "string" },` && |\n| && - ` press: { type: "string" },` && |\n| && - ` autoplay: { type: "boolean", defaultValue: true }` && |\n| && - ` },` && |\n| && - ` events: {` && |\n| && - ` "OnPhoto": {` && |\n| && - ` allowPreventDefault: true,` && |\n| && - ` parameters: {` && |\n| && - ` "photo": {` && |\n| && - ` type: "string"` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - ` },` && |\n| && - |\n| && - ` capture: function (oEvent) {` && |\n| && - |\n| && - ` var video = document.querySelector("#zvideo");` && |\n| && - ` var canvas = document.getElementById('zcanvas');` && |\n| && - ` var resultb64 = "";` && |\n| && - ` canvas.width = 200;` && |\n| && - ` canvas.height = 200;` && |\n| && - ` canvas.getContext('2d').drawImage(video, 0, 0, 200, 200);` && |\n| && - ` resultb64 = canvas.toDataURL();` && |\n| && - ` this.setProperty("value", resultb64);` && |\n| && - ` this.fireOnPhoto({` && |\n| && - ` "photo": resultb64` && |\n| && - ` });` && |\n| && - ` },` && |\n| && - |\n| && - ` onPicture: function (oEvent) {` && |\n| && - |\n| && - ` if (!this._oScanDialog) {` && |\n| && - ` this._oScanDialog = new sap.m.Dialog({` && |\n| && - ` title: "Device Photo Function",` && |\n| && - ` contentWidth: "640px",` && |\n| && - ` contentHeight: "480px",` && |\n| && - ` horizontalScrolling: false,` && |\n| && - ` verticalScrolling: false,` && |\n| && - ` stretchOnPhone: true,` && |\n| && - ` content: [` && |\n| && - ` new sap.ui.core.HTML({` && |\n| && - ` id: this.getId() + 'PictureContainer',` && |\n| && - ` content: '<video width="600px" height="400px" autoplay="true" id="zvideo">'` && |\n| && - ` }),` && |\n| && - ` new sap.m.Button({` && |\n| && - ` text: "Capture",` && |\n| && - ` press: function (oEvent) {` && |\n| && - ` this.capture();` && |\n| && - ` this._oScanDialog.close();` && |\n| && - ` }.bind(this)` && |\n| && - ` }),` && |\n| && - ` new sap.ui.core.HTML({` && |\n| && - ` content: '<canvas hidden id="zcanvas" style="overflow:auto"></canvas>'` && |\n| && - ` }),` && |\n| && - ` ],` && |\n| && - ` endButton: new sap.m.Button({` && |\n| && - ` text: "Cancel",` && |\n| && - ` press: function (oEvent) {` && |\n| && - ` this._oScanDialog.close();` && |\n| && - ` }.bind(this)` && |\n| && - ` }),` && |\n| && - ` });` && |\n| && - ` }` && |\n| && - |\n| && - ` this._oScanDialog.open();` && |\n| && - |\n| && - ` setTimeout(function () {` && |\n| && - ` var video = document.querySelector('#zvideo');` && |\n| && - ` if (navigator.mediaDevices.getUserMedia) {` && |\n| && - ` navigator.mediaDevices.getUserMedia({video: { facingMode: { exact: "environment" } } })` && |\n| && - ` .then(function (stream) {` && |\n| && - ` video.srcObject = stream;` && |\n| && - ` })` && |\n| && - ` .catch(function (error) {` && |\n| && - ` console.log("Something went wrong!");` && |\n| && - ` });` && |\n| && - ` }` && |\n| && - ` }.bind(this), 300);` && |\n| && - |\n| && - ` },` && |\n| && - |\n| && - ` renderer: function (oRM, oControl) {` && |\n| && - |\n| && - ` var oButton = new sap.m.Button({` && |\n| && - ` icon: "sap-icon://camera",` && |\n| && - ` text: "Camera",` && |\n| && - ` press: oControl.onPicture.bind(oControl),` && |\n| && - ` });` && |\n| && - ` oRM.renderControl(oButton);` && |\n| && - |\n| && - ` },` && |\n| && - ` });` && |\n| && - `});`. - - ENDMETHOD. -ENDCLASS. diff --git a/src/01/05/z2ui5_cl_cc_camera_pic.clas.xml b/src/01/05/z2ui5_cl_cc_camera_pic.clas.xml deleted file mode 100644 index 7bd8cedd..00000000 --- a/src/01/05/z2ui5_cl_cc_camera_pic.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_CC_CAMERA_PIC - E - device capability - camera picture - 1 - X - X - X - - - - diff --git a/src/01/05/z2ui5_cl_cc_chartjs.clas.abap b/src/01/05/z2ui5_cl_cc_chartjs.clas.abap deleted file mode 100644 index 6c83ed23..00000000 --- a/src/01/05/z2ui5_cl_cc_chartjs.clas.abap +++ /dev/null @@ -1,867 +0,0 @@ -CLASS z2ui5_cl_cc_chartjs DEFINITION - PUBLIC - FINAL - CREATE PUBLIC . - - PUBLIC SECTION. - - INTERFACES z2ui5_if_ajson_filter. - INTERFACES if_serializable_object. - - " Data - TYPES: - BEGIN OF ty_x_y_r_data, - x TYPE string, - y TYPE string, - r TYPE string, - END OF ty_x_y_r_data. - - TYPES ty_x_y_r_data_t TYPE STANDARD TABLE OF ty_x_y_r_data WITH EMPTY KEY. - TYPES ty_bg_color TYPE STANDARD TABLE OF string WITH EMPTY KEY. - - TYPES: - BEGIN OF ty_padding, - bottom TYPE string, - top TYPE string, - left TYPE string, - right TYPE string, - END OF ty_padding . - - TYPES: - BEGIN OF ty_font, - size TYPE i, - family TYPE string, - weight TYPE string, - style TYPE string, - line_height TYPE string, - END OF ty_font . - - TYPES: - BEGIN OF ty_datalabels_lbl, - color TYPE string, - font TYPE ty_font, - END OF ty_datalabels_lbl . - - TYPES: - BEGIN OF ty_datalabels_labels, - title TYPE ty_datalabels_lbl, - value TYPE ty_datalabels_lbl, - END OF ty_datalabels_labels . - - TYPES: - BEGIN OF ty_datalabels, - align TYPE string, - anchor TYPE string, - background_color TYPE string, - border_color TYPE string, - border_radius TYPE i, - border_width TYPE i, - clamp TYPE abap_bool, - clip TYPE abap_bool, - color TYPE string, - display TYPE abap_bool, - font TYPE ty_font, - formatter TYPE string, - labels TYPE ty_datalabels_labels, - listeners TYPE string, - offset TYPE i, - opacity TYPE i, - padding TYPE ty_padding, - rotation TYPE i, - text_align TYPE string, - text_stroke_color TYPE string, - text_stroke_width TYPE i, - text_shadow_blur TYPE i, - text_shadow_color TYPE string, - END OF ty_datalabels . - - TYPES: - BEGIN OF ty_data_venn, - sets TYPE string_table, - value TYPE string, - values TYPE string_table, - END OF ty_data_venn . - - TYPES ty_data_venn_t TYPE STANDARD TABLE OF ty_data_venn WITH EMPTY KEY. - - TYPES: - BEGIN OF ty_dataset, - label TYPE string, - type TYPE string, - data TYPE string_table, - data_venn TYPE ty_data_venn_t, - data_radial TYPE ty_x_y_r_data_t, - border_width TYPE i, - border_color TYPE string, - border_radius TYPE i, - border_skipped TYPE abap_bool, - show_line TYPE abap_bool, - background_color_t TYPE ty_bg_color, - background_color TYPE string, - hover_offset TYPE i, - order TYPE i, - fill TYPE string, - hidden TYPE abap_bool, - point_style TYPE string, - point_border_color TYPE string, - point_radius TYPE i, - point_hover_radius TYPE i, - rtl TYPE abap_bool, - datalabels TYPE ty_datalabels, - tension TYPE string, - END OF ty_dataset. - - TYPES ty_datasets TYPE STANDARD TABLE OF ty_dataset WITH EMPTY KEY. - - TYPES: - BEGIN OF ty_data, - labels TYPE string_table, - datasets TYPE ty_datasets, - END OF ty_data . - - " Options - TYPES: - BEGIN OF ty_custom_canvas_bg_color, - color TYPE string, - END OF ty_custom_canvas_bg_color. - - TYPES: - BEGIN OF ty_autocolors_plugin, - enabled TYPE abap_bool, - mode TYPE string, - offset TYPE i, - repeat TYPE i, - END OF ty_autocolors_plugin . - - TYPES: - BEGIN OF ty_title, - text TYPE string, - display TYPE abap_bool, - align TYPE string, - color TYPE string, - full_size TYPE abap_bool, - position TYPE string, - font TYPE ty_font, - padding TYPE ty_padding, - END OF ty_title . - - TYPES: - BEGIN OF ty_labels, - box_width TYPE i, - box_height TYPE i, - color TYPE abap_bool, - font TYPE ty_font, - padding TYPE i, - generate_labels TYPE string, - filter TYPE string, - sort TYPE string, - point_style TYPE string, - text_align TYPE string, - use_point_style TYPE abap_bool, - point_style_width TYPE i, - use_border_radius TYPE abap_bool, - border_radius TYPE i, - END OF ty_labels . - - TYPES: - BEGIN OF ty_legend, - position TYPE string, - align TYPE string, - display TYPE abap_bool, - max_height TYPE i, - max_width TYPE i, - full_size TYPE i, - on_click TYPE string, - on_hover TYPE string, - on_leave TYPE string, - reverse TYPE abap_bool, - labels TYPE ty_labels, - rtl TYPE abap_bool, - text_direction TYPE string, - title TYPE ty_title, - END OF ty_legend . - - TYPES: - BEGIN OF ty_subtitle, - text TYPE string, - display TYPE abap_bool, - color TYPE string, - font TYPE ty_font, - padding TYPE ty_padding, - END OF ty_subtitle . - - TYPES: - BEGIN OF ty_callback, - label TYPE string, - footer TYPE string, - before_title TYPE string, - after_title TYPE string, - title TYPE string, - before_body TYPE string, - before_label TYPE string, - label_color TYPE string, - label_text_color TYPE string, - label_point_style TYPE string, - after_label TYPE string, - after_body TYPE string, - before_footer TYPE string, - after_footer TYPE string, - END OF ty_callback . - - TYPES: - BEGIN OF ty_tooltip, - callbacks TYPE ty_callback, - mode TYPE string, - intersect TYPE abap_bool, - use_point_style TYPE abap_bool, - enabled TYPE abap_bool, - display_colors TYPE abap_bool, - rtl TYPE abap_bool, - external TYPE string, - position TYPE string, - item_sort TYPE string, - filter TYPE string, - background_color TYPE string, - title_color TYPE string, - title_align TYPE string, - border_color TYPE string, - text_direction TYPE string, - x_align TYPE string, - y_align TYPE string, - title_font TYPE ty_font, - body_font TYPE ty_font, - footer_font TYPE ty_font, - border_width TYPE i, - box_width TYPE i, - box_height TYPE i, - box_padding TYPE i, - title_spacing TYPE i, - title_margin_bottom TYPE i, - body_spacing TYPE i, - footer_spacing TYPE i, - footer_margin_top TYPE i, - caret_padding TYPE i, - caret_size TYPE i, - corner_radius TYPE i, - body_color TYPE string, - multikey_background TYPE string, - body_align TYPE string, - footer_color TYPE string, - footer_align TYPE string, - padding TYPE ty_padding, - END OF ty_tooltip . - - TYPES: - BEGIN OF ty_filler, - propagate TYPE abap_bool, - END OF ty_filler . - - TYPES: - BEGIN OF ty_deferred, - delay TYPE i, - x_offset TYPE string, - y_offset TYPE string, - END OF ty_deferred. - - TYPES: - BEGIN OF ty_label, - background_color TYPE string, - content TYPE string, - display TYPE abap_bool, - font TYPE ty_font, - x_value TYPE string, - y_value TYPE string, - END OF ty_label. - - TYPES: - BEGIN OF ty_annotations, - type TYPE string, - border_color TYPE string, - border_width TYPE string, - background_shadow_color TYPE string, - background_color TYPE string, - click TYPE string, - enter TYPE string, - leave TYPE string, - scaleid TYPE string, - value TYPE string, - draw_time TYPE string, - x_max TYPE string, - x_min TYPE string, - x_scaleid TYPE string, - y_scaleid TYPE string, - y_max TYPE string, - y_min TYPE string, - label TYPE ty_label, - sides TYPE string, - radius TYPE string, - font TYPE ty_font, - x_value TYPE string, - y_value TYPE string, - rotation TYPE string, - shadow_blur TYPE string, - shadow_offset_x TYPE string, - shadow_offset_y TYPE string, - END OF ty_annotations. - - TYPES: - BEGIN OF ty_shapes, - shape1 TYPE ty_annotations, - shape2 TYPE ty_annotations, - shape3 TYPE ty_annotations, - shape4 TYPE ty_annotations, - shape5 TYPE ty_annotations, - END OF ty_shapes. - - TYPES: - BEGIN OF ty_annotation, - annotations TYPE ty_shapes, - END OF ty_annotation. - - TYPES: - BEGIN OF ty_plugins, - deferred TYPE ty_deferred, - datalabels TYPE ty_datalabels, - autocolors TYPE ty_autocolors_plugin, - custom_canvas_background_color TYPE ty_custom_canvas_bg_color, - legend TYPE ty_legend, - title TYPE ty_title, - tooltip TYPE ty_tooltip, - filler TYPE ty_filler, - subtitle TYPE ty_subtitle, - annotation TYPE ty_annotation, - END OF ty_plugins . - - TYPES: - BEGIN OF ty_point_label, - display TYPE abap_bool, - center_point_labels TYPE abap_bool, - font TYPE ty_font, - backdrop_color TYPE string, - backdrop_padding TYPE ty_padding, - border_radius TYPE i, - callback TYPE string, - padding TYPE i, - END OF ty_point_label . - - TYPES: - BEGIN OF ty_ticks, - step_size TYPE i, - count TYPE i, - color TYPE string, - align TYPE string, - cross_align TYPE string, - sample_size TYPE i, - auto_skip TYPE abap_bool, - include_bounds TYPE abap_bool, - mirror TYPE abap_bool, - auto_skip_padding TYPE i, - label_offset TYPE i, - max_rotation TYPE i, - min_rotation TYPE i, - padding TYPE i, - max_ticks_limit TYPE i, - backdrop_color TYPE string, - backdrop_padding TYPE ty_padding, - callback TYPE string, - display TYPE abap_bool, - show_label_backdrop TYPE abap_bool, - text_stroke_color TYPE string, - font TYPE ty_font, - text_stroke_width TYPE i, - z TYPE i, - precision TYPE i, - END OF ty_ticks . - - TYPES: - BEGIN OF ty_border, - color TYPE string, - display TYPE abap_bool, - width TYPE i, - dash TYPE i, - dash_offset TYPE i, - z TYPE i, - END OF ty_border . - - TYPES: - BEGIN OF ty_grid, - color TYPE string, - border_color TYPE string, - tick_color TYPE string, - border_dash TYPE string, - border_dash_offset TYPE p LENGTH 3 DECIMALS 2, - circular TYPE abap_bool, - line_width TYPE i, - draw_on_chart_area TYPE abap_bool, - draw_ticks TYPE abap_bool, - offset TYPE abap_bool, - tick_border_dash TYPE i, - tick_border_dash_offset TYPE i, - tick_length TYPE i, - tick_width TYPE i, - z TYPE i, - END OF ty_grid . - - TYPES: - BEGIN OF ty_angle_lines, - color TYPE string, - border_color TYPE string, - display TYPE abap_bool, - line_width TYPE i, - border_dash TYPE i, - border_dash_offset TYPE i, - END OF ty_angle_lines . - - TYPES: - BEGIN OF ty_scale, - begin_at_zero TYPE abap_bool, - min TYPE string, - max TYPE string, - point_labels TYPE ty_point_label, - stacked TYPE abap_bool, - reverse TYPE abap_bool, - align_to_pixels TYPE abap_bool, - clip TYPE abap_bool, - bounds TYPE string, - background_color TYPE string, - type TYPE string, - title TYPE ty_title, - weight TYPE i, - suggested_min TYPE i, - suggested_max TYPE i, - stack_weight TYPE i, - stack TYPE string, - position TYPE string, - ticks TYPE ty_ticks, - border TYPE ty_border, - grid TYPE ty_grid, - offset TYPE abap_bool, - axis TYPE string, - labels TYPE string_table, - angle_lines TYPE ty_angle_lines, - start_angle TYPE i, - END OF ty_scale . - - TYPES: - BEGIN OF ty_scales, - y TYPE ty_scale, - x TYPE ty_scale, - r TYPE ty_scale, - END OF ty_scales . - - TYPES: - BEGIN OF ty_interaction, - mode TYPE string, - intersect TYPE abap_bool, - include_invisible TYPE abap_bool, - axis TYPE string, - END OF ty_interaction . - - TYPES: - BEGIN OF ty_tension, - duration TYPE i, - easing TYPE string, - from TYPE i, - to TYPE i, - loop TYPE abap_bool, - END OF ty_tension . - - TYPES: - BEGIN OF ty_animations, - tension TYPE ty_tension, - END OF ty_animations . - - TYPES: - BEGIN OF ty_hover, - mode TYPE string, - intersec TYPE abap_bool, - END OF ty_hover . - - TYPES: - BEGIN OF ty_layout, - auto_padding TYPE abap_bool, - padding TYPE ty_padding, - END OF ty_layout . - - TYPES: - BEGIN OF ty_point, - radius TYPE i, - rotation TYPE i, - border_width TYPE i, - hit_radius TYPE i, - hover_radius TYPE i, - hover_border_width TYPE i, - point_style TYPE string, - background_color TYPE string, - border_color TYPE string, - END OF ty_point . - - TYPES: - BEGIN OF ty_line, - tension TYPE i, - border_cap_style TYPE string, - border_width TYPE i, - fill TYPE string, - border_dash TYPE i, - border_dash_offset TYPE i, - border_join_style TYPE string, - cubic_interpolation_mode TYPE string, - cap_bezier_points TYPE abap_bool, - stepped TYPE abap_bool, - background_color TYPE string, - border_color TYPE string, - END OF ty_line . - - TYPES: - BEGIN OF ty_bar, - border_width TYPE i, - background_color TYPE string, - border_color TYPE string, - border_skipped TYPE string, - border_radius TYPE i, - inflate_amount TYPE i, - point_style TYPE string, - END OF ty_bar. - - TYPES: - BEGIN OF ty_arc, - border_width TYPE i, - background_color TYPE string, - border_color TYPE string, - border_align TYPE string, - border_dash TYPE i, - border_dash_offset TYPE i, - border_join_style TYPE string, - circular TYPE abap_bool, - angle TYPE i, - END OF ty_arc. - - TYPES: - BEGIN OF ty_elements, - point TYPE ty_point, - line TYPE ty_line, - bar TYPE ty_bar, - arc TYPE ty_arc, - END OF ty_elements . - - TYPES: - BEGIN OF ty_options, - scales TYPE ty_scales, - responsive TYPE abap_bool, - plugins TYPE ty_plugins, - hover TYPE ty_hover, - interaction TYPE ty_interaction, - animations TYPE ty_animations, - layout TYPE ty_layout, - elements TYPE ty_elements, - index_axis TYPE string, - events TYPE string_table, - END OF ty_options . - - "ChartJS Configuration - TYPES: - BEGIN OF ty_chart ##NEEDED, - type TYPE string, - data TYPE ty_data, - options TYPE ty_options, - END OF ty_chart. - - CLASS-METHODS get_chartjs_local - RETURNING - VALUE(result) TYPE string . - CLASS-METHODS get_chartjs_url - RETURNING - VALUE(result) TYPE string . - CLASS-METHODS get_js_datalabels - RETURNING - VALUE(result) TYPE string . - CLASS-METHODS get_js_autocolors - RETURNING - VALUE(result) TYPE string . - CLASS-METHODS get_js_deferred - RETURNING - VALUE(result) TYPE string . - CLASS-METHODS get_js_venn - RETURNING - VALUE(result) TYPE string . - CLASS-METHODS get_js_wordcloud - RETURNING - VALUE(result) TYPE string . - CLASS-METHODS get_js_annotation - RETURNING - VALUE(result) TYPE string . - CLASS-METHODS load_js - IMPORTING - datalabels TYPE abap_bool DEFAULT abap_false - autocolors TYPE abap_bool DEFAULT abap_false - deferred TYPE abap_bool DEFAULT abap_false - venn TYPE abap_bool DEFAULT abap_false - wordcloud TYPE abap_bool DEFAULT abap_false - annotation TYPE abap_bool DEFAULT abap_false - RETURNING - VALUE(result) TYPE string . - CLASS-METHODS load_cc - RETURNING - VALUE(result) TYPE string . - - PROTECTED SECTION. - PRIVATE SECTION. - - -ENDCLASS. - - - -CLASS Z2UI5_CL_CC_CHARTJS IMPLEMENTATION. - - - METHOD get_chartjs_local. - result = ``. - ENDMETHOD. - - - METHOD get_chartjs_url. - result = `https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.js`. - ENDMETHOD. - - - METHOD get_js_annotation. - result = `https://cdn.jsdelivr.net/npm/chartjs-plugin-annotation@3.0.1/dist/chartjs-plugin-annotation.min.js`. - ENDMETHOD. - - - METHOD get_js_autocolors. - "chartjs-plugin-datalabels must be loaded after the Chart.js library! - result = `https://cdn.jsdelivr.net/npm/chartjs-plugin-autocolors`. - ENDMETHOD. - - - METHOD get_js_datalabels. - "chartjs-plugin-datalabels must be loaded after the Chart.js library! - result = `https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2`. - ENDMETHOD. - - - METHOD get_js_deferred. - "chartjs-plugin-datalabels must be loaded after the Chart.js library! - result = `https://cdn.jsdelivr.net/npm/chartjs-plugin-deferred@2.0.0/dist/chartjs-plugin-deferred.min.js`. - ENDMETHOD. - - - METHOD get_js_venn. - result = `https://cdn.jsdelivr.net/npm/chartjs-chart-venn@4.2.7/build/index.umd.min.js`. - ENDMETHOD. - - - METHOD get_js_wordcloud. - result = `https://cdn.jsdelivr.net/npm/chartjs-chart-wordcloud@4.3.2/build/index.umd.min.js`. - ENDMETHOD. - - - METHOD load_cc. - - - result = `debugger;` && |\n| && - `sap.ui.define("z2ui5/chartjs", [` && |\n| && - ` "sap/ui/core/Control",` && |\n| && - `], function (Control) {` && |\n| && - ` "use strict";` && |\n| && - |\n| && - ` return Control.extend("z2ui5.chartjs", {` && |\n| && - ` metadata: {` && |\n| && - ` properties: {` && |\n| && - ` config: { ` && |\n| && - ` type: "Array" ` && |\n| && - ` },` && |\n| && - ` canvas_id: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` width: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` height: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` style: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` view: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - ` init() {` && |\n| && - ` },` && |\n| && - |\n| && - ` setConfig: function(oConfig) { ` && |\n| && - ` var canvas_id = this.getProperty("canvas_id");` && |\n| && - ` var cVar = canvas_id+'_chartjs'; ` && |\n| && -* ` var cType = oConfig.type;` && |\n| && -* ` if(cType == 'venn') {` && |\n| && -* ` var tConfig = JSON.stringify(oConfig);` && |\n| && -* ` tConfig = tConfig.replace("dataVenn","data");` && |\n| && -* ` oConfig = JSON.parse(tConfig);` && |\n| && -* ` } else {` && |\n| && -* ` this.setProperty("config", oConfig );` && |\n| && -* ` };` && |\n| && - ` var tConfig = JSON.stringify(oConfig);` && |\n| && - ` tConfig = tConfig.replace("dataVenn","data");` && |\n| && - ` tConfig = tConfig.replace("scaleid","scaleID");` && |\n| && - ` tConfig = tConfig.replaceAll("xScaleid","xScaleID");` && |\n| && - ` tConfig = tConfig.replaceAll("yScaleid","yScaleID");` && |\n| && - ` tConfig = tConfig.replaceAll("dataRadial","data");` && |\n| && - ` oConfig = JSON.parse(tConfig);` && |\n| && - ` this.setProperty("config", oConfig, true );` && |\n| && - ` if(oConfig){ fixJsonLibs(oConfig); };` && |\n| && - ` if(window[cVar]?.data) { window[cVar].data = oConfig.data; }` && |\n| && - ` if(window[cVar]?.options) { window[cVar].options = oConfig.options; }` && |\n| && - ` if(window[cVar]?.config._config.type) { window[cVar].config._config.type = oConfig.type; }` && |\n| && - ` if(window[cVar]){ window[cVar].update(); }` && |\n| && - ` },` && |\n| && - |\n| && - ` renderer(oRm, oControl) {` && |\n| && - ` var canvas_id = oControl.getProperty("canvas_id");` && |\n| && - ` var width = oControl.getProperty("width");` && |\n| && - ` var height = oControl.getProperty("height");` && |\n| && - ` var style = oControl.getProperty("style");` && |\n| && - ` oRm.write( "<canvas id='" + canvas_id + "' width='" + width + "' height='" + height + "' style = '" + style + "' />");` && |\n| && - |\n| && - ` var Model = oControl.getProperty("config");` && |\n| && - ` if(!Model ) { return; };` && |\n| && - ` var cVar = canvas_id+'_chartjs'; ` && |\n| && - ` setTimeout( (oControl) => { ` && |\n| && - |\n| && - ` var ctx = document.getElementById(canvas_id); ` && |\n| && - ` sap.z2ui5.autocolors = {}; try { sap.z2ui5.autocolors = window['chartjs-plugin-autocolors']; } catch (err){};` && |\n| && - ` sap.z2ui5.ChartDeferred = {}; try { sap.z2ui5.ChartDeferred = window['chartjs-plugin-deferred']; } catch (err){};` && |\n| && - ` window[cVar] = new Chart( ctx, Model );` && |\n| && - ` ` && |\n| && - ` }, 150 , oControl );` && |\n| && - ` },` && |\n| && - |\n| && - ` });` && |\n| && - `});`. - ENDMETHOD. - - - METHOD load_js. - - DATA lv_libs TYPE string VALUE ` `. - - result = `` && |\n| && - `var libs = ["` && get_chartjs_url( ) && `"];` && |\n|. - - IF datalabels = abap_true. - result = result && `libs.push("` && get_js_datalabels( ) && `");` && |\n|. - IF lv_libs = ` `. - lv_libs = lv_libs && `ChartDataLabels`. - ELSE. - lv_libs = lv_libs && `,` && `ChartDataLabels`. - ENDIF. - ENDIF. - IF autocolors = abap_true. - result = result && `libs.push("` && get_js_autocolors( ) && `");` && |\n|. - IF lv_libs = ` `. - lv_libs = lv_libs && `sap.z2ui5.autocolors `. - ELSE. - lv_libs = lv_libs && `,` && `sap.z2ui5.autocolors `. - ENDIF. - ENDIF. - IF deferred = abap_true. - result = result && `libs.push("` && get_js_deferred( ) && `");` && |\n|. - IF lv_libs = ` `. - lv_libs = lv_libs && `sap.z2ui5.ChartDeferred`. - ELSE. - lv_libs = lv_libs && `,` && `sap.z2ui5.ChartDeferred`. - ENDIF. - ENDIF. - IF annotation = abap_true. - result = result && `libs.push("` && get_js_annotation( ) && `");` && |\n|. - ENDIF. - IF venn = abap_true. - result = result && `libs.push("` && get_js_venn( ) && `");` && |\n|. - ENDIF. - IF wordcloud = abap_true. - result = result && `libs.push("` && get_js_wordcloud( ) && `");` && |\n|. - ENDIF. - - - result = result && `` && |\n| && - `var fixJsonLibs = function(data){` && |\n| && - ` if (!data.hasOwnProperty("plugins")) {` && |\n| && - ` data["plugins"] = [` && lv_libs && `];` && |\n| && - ` return;` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Object.keys(data).forEach(function(key) {` && |\n| && - ` if(key=="plugins") {` && |\n| && - ` data[key] = [` && lv_libs && `];` && |\n| && - ` };` && |\n| && - `})};` && |\n| && - `var loadLibs = function(){` && |\n| && - ` if(libs.length > 0){` && |\n| && - ` var nextLib = libs.shift();` && |\n| && - ` var headTag = document.getElementsByTagName('head')[0];` && |\n| && - `` && |\n| && - ` var scriptTag = document.createElement('script');` && |\n| && - ` scriptTag.src = nextLib;` && |\n| && - `` && |\n| && - ` scriptTag.onload = function(e){` && |\n| && - ` loadLibs();` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` headTag.appendChild(scriptTag);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` else return;` && |\n| && - `` && |\n| && - `};` && |\n| && - `loadLibs();`. - - ENDMETHOD. - - - METHOD z2ui5_if_ajson_filter~keep_node. - - rv_keep = abap_true. - - CASE iv_visit. - - WHEN z2ui5_if_ajson_filter=>visit_type-open. - - IF is_node-children = 0. - rv_keep = abap_false. - ENDIF. - - WHEN z2ui5_if_ajson_filter=>visit_type-value. - - CASE is_node-type. - WHEN z2ui5_if_ajson_types=>node_type-boolean. - IF is_node-value = `false`. - rv_keep = abap_false. - ENDIF. - WHEN z2ui5_if_ajson_types=>node_type-number. - IF is_node-value = `0` OR is_node-value = `0.00`. - rv_keep = abap_false. - ENDIF. - WHEN z2ui5_if_ajson_types=>node_type-string. - IF is_node-value = ``. - rv_keep = abap_false. - ENDIF. - ENDCASE. - - WHEN z2ui5_if_ajson_filter=>visit_type-close. - - IF is_node-children = 0. - rv_keep = abap_false. - ENDIF. - - ENDCASE. - - ENDMETHOD. -ENDCLASS. diff --git a/src/01/05/z2ui5_cl_cc_chartjs.clas.xml b/src/01/05/z2ui5_cl_cc_chartjs.clas.xml deleted file mode 100644 index 811e3c2a..00000000 --- a/src/01/05/z2ui5_cl_cc_chartjs.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_CC_CHARTJS - E - CHARTJS - 1 - X - X - X - - - - diff --git a/src/01/05/z2ui5_cl_cc_demo_out.clas.abap b/src/01/05/z2ui5_cl_cc_demo_out.clas.abap deleted file mode 100644 index a8feb092..00000000 --- a/src/01/05/z2ui5_cl_cc_demo_out.clas.abap +++ /dev/null @@ -1,85 +0,0 @@ -CLASS z2ui5_cl_cc_demo_out DEFINITION - PUBLIC - FINAL - CREATE PUBLIC . - - PUBLIC SECTION. - - CLASS-METHODS get_style - RETURNING - VALUE(result) TYPE string. - - PROTECTED SECTION. - PRIVATE SECTION. -ENDCLASS. - - - -CLASS z2ui5_cl_cc_demo_out IMPLEMENTATION. - - METHOD get_style. - - result = `body {` && |\n| && - ` font-family: Arial;` && |\n| && - ` font-size: 90%;` && |\n| && - `}` && |\n| && - `table {` && |\n| && - ` font-family: Arial;` && |\n| && - ` font-size: 90%;` && |\n| && - `}` && |\n| && - `caption {` && |\n| && - ` font-family: Arial;` && |\n| && - ` font-size: 90%;` && |\n| && - ` font-weight:bold;` && |\n| && - ` text-align:left;` && |\n| && - `}` && |\n| && - `span.heading1 {` && |\n| && - ` font-size: 150%;` && |\n| && - ` color:#000080;` && |\n| && - ` font-weight:bold;` && |\n| && - `}` && |\n| && - `span.heading2 {` && |\n| && - ` font-size: 135%;` && |\n| && - ` color:#000080;` && |\n| && - ` font-weight:bold;` && |\n| && - `}` && |\n| && - `span.heading3 {` && |\n| && - ` font-size: 120%;` && |\n| && - ` color:#000080;` && |\n| && - ` font-weight:bold;` && |\n| && - `}` && |\n| && - `span.heading4 {` && |\n| && - ` font-size: 105%;` && |\n| && - ` color:#000080;` && |\n| && - ` font-weight:bold;` && |\n| && - `}` && |\n| && - `span.normal {` && |\n| && - ` font-size: 100%;` && |\n| && - ` color:#000000;` && |\n| && - ` font-weight:normal;` && |\n| && - `}` && |\n| && - `span.nonprop {` && |\n| && - ` font-family: Courier New;` && |\n| && - ` font-size: 100%;` && |\n| && - ` color:#000000;` && |\n| && - ` font-weight:400;` && |\n| && - `}` && |\n| && - `span.nowrap {` && |\n| && - ` white-space:nowrap;` && |\n| && - `}` && |\n| && - `span.nprpnwrp {` && |\n| && - ` font-family: Courier New;` && |\n| && - ` font-size: 100%;` && |\n| && - ` color:#000000;` && |\n| && - ` font-weight:400;` && |\n| && - ` white-space:nowrap;` && |\n| && - `}` && |\n| && - `tr.header {` && |\n| && - ` background-color:#D3D3D3;` && |\n| && - `}` && |\n| && - `tr.body {` && |\n| && - ` background-color:#EFEFEF;` && |\n| && - `}` && |\n| && - ``. - ENDMETHOD. -ENDCLASS. diff --git a/src/01/05/z2ui5_cl_cc_demo_out.clas.xml b/src/01/05/z2ui5_cl_cc_demo_out.clas.xml deleted file mode 100644 index 0b3fd67b..00000000 --- a/src/01/05/z2ui5_cl_cc_demo_out.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_CC_DEMO_OUT - E - cc for cl_demo_ouput - 1 - X - X - X - - - - diff --git a/src/01/05/z2ui5_cl_cc_driver_js.clas.abap b/src/01/05/z2ui5_cl_cc_driver_js.clas.abap deleted file mode 100644 index 32c26c28..00000000 --- a/src/01/05/z2ui5_cl_cc_driver_js.clas.abap +++ /dev/null @@ -1,538 +0,0 @@ - CLASS z2ui5_cl_cc_driver_js DEFINITION - PUBLIC - FINAL - CREATE PUBLIC. - - PUBLIC SECTION. - INTERFACES z2ui5_if_ajson_filter. - CONSTANTS: - BEGIN OF buttons ##NEEDED, - all TYPE string VALUE `['next','previous','close']`, - next TYPE string VALUE `['next']`, - previous TYPE string VALUE `['previous']`, - close TYPE string VALUE `['close']`, - next_previous TYPE string VALUE `['next','previous']`, - next_close TYPE string VALUE `['next','close']`, - previous_close TYPE string VALUE `['previous','close']`, - END OF buttons. - - CONSTANTS: - BEGIN OF side ##NEEDED, - top TYPE string VALUE `top`, - right TYPE string VALUE `right`, - bottom TYPE string VALUE `bottom`, - left TYPE string VALUE `left`, - end TYPE string VALUE `end`, - END OF side. - - CONSTANTS: - BEGIN OF align ##NEEDED, - start TYPE string VALUE `start`, - center TYPE string VALUE `center`, - end TYPE string VALUE `end`, - END OF align. - - TYPES: - BEGIN OF ty_config_steps_popover, - title TYPE string, - description TYPE string, - side TYPE string, - align TYPE string, - show_buttons TYPE string, - disable_buttons TYPE string, - next_btn_text TYPE string, - prev_btn_text TYPE string, - done_btn_text TYPE string, - show_progress TYPE abap_bool, - progress_text TYPE string, - popover_class TYPE string, - " onPopoverRender?: (popover: PopoverDOM, options: { config: Config; state: State }) => void; - on_popover_render TYPE string, - " onPrevClick?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_next_click TYPE string, - " onPrevClick?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_prev_click TYPE string, - " onCloseClick?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_close_click TYPE string, - END OF ty_config_steps_popover. - - TYPES: - BEGIN OF ty_config_steps, - element TYPE string, - elementview TYPE string, - popover TYPE ty_config_steps_popover, - " onDeselected?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_deselected TYPE string, - " onHighlightStarted?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_highlight_started TYPE string, - " onHighlighted?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_highlighted TYPE string, - END OF ty_config_steps. - - TYPES ty_config_steps_tt TYPE STANDARD TABLE OF ty_config_steps WITH EMPTY KEY. - - TYPES: - BEGIN OF ty_config, - steps TYPE ty_config_steps_tt, - animate TYPE abap_bool, - overlay_color TYPE string, - smooth_scroll TYPE abap_bool, - allow_close TYPE abap_bool, - overlay_opacity TYPE i, - stage_padding TYPE i, - stage_radius TYPE i, - allow_keyboard_control TYPE abap_bool, - disable_active_interaction TYPE abap_bool, - popover_class TYPE string, - popover_offset TYPE i, - show_buttons TYPE string, - disable_buttons TYPE string, - show_progress TYPE abap_bool, - progress_text TYPE string, - next_btn_text TYPE string, - prev_btn_text TYPE string, - done_btn_text TYPE string, - " onPopoverRender?: (popover: PopoverDOM, options: { config: Config; state: State }) => void; - on_popover_render TYPE string, - " onHighlightStarted?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_highlight_started TYPE string, - " onHighlighted?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_highlighted TYPE string, - " onDeselected?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_deselected TYPE string, - " onDestroyStarted?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_destroy_started TYPE string, - " onDestroyed?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_destroyed TYPE string, - " onNextClick?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_next_click TYPE string, - " onPrevClick?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_prev_click TYPE string, - " onCloseClick?: (element?: Element, step: DriveStep, options: { config: Config; state: State }) => void;; - on_close_click TYPE string, - END OF ty_config. - - CLASS-METHODS get_css_local - RETURNING - VALUE(result) TYPE string. - - CLASS-METHODS get_js_local - RETURNING - VALUE(result) TYPE string. - - CLASS-METHODS get_js_cc - RETURNING - VALUE(result) TYPE string. - - CLASS-METHODS get_js_config - IMPORTING - i_steps_config TYPE ty_config - i_highlight_config TYPE ty_config_steps - i_highlight_driver_config TYPE ty_config - RETURNING - VALUE(r_drive_js) TYPE string. - - PROTECTED SECTION. - PRIVATE SECTION. - - -ENDCLASS. - - - -CLASS Z2UI5_CL_CC_DRIVER_JS IMPLEMENTATION. - - - METHOD get_css_local. - result = `` && |\n| && - `.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}` && - `@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}` && - `.driver-fade .driver-popover{animation:animate-fade-in .2s}` && - `.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}` && - `.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}` && - `.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}` && - `.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}` && - `.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}` && - `.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}` && - `.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;` && - ` cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}` && - `.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}` && - `.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,` && - `.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}` && - `.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}` && - `.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}` && - `.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}` && - `.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}` && - `.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}` && - `.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}` && - `.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}` && - `.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}` && - `.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}` && - `.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}` && - `.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}`. - ENDMETHOD. - - - METHOD get_js_cc. - - result = `sap.z2ui5.DriverJS = { };` && - `sap.z2ui5.DriverJS.drive = function() {` && |\n| && - ` if( driver !== undefined ) { if( config !== undefined ) {` && |\n| && - ` driverObj = driver(config);` && |\n| && - ` driverObj.drive();` && |\n| && - ` } };` && |\n| && - ` };` && |\n| && - ` sap.z2ui5.DriverJS.highlight = function() {` && |\n| && - ` if( driver !== undefined ) { if ( highlight_driver_config !== undefined ) { if (highlight_config !== undefined ) {` && |\n| && - ` driverObj = driver(highlight_driver_config);` && |\n| && - ` driverObj.highlight(highlight_config);` && |\n| && - ` } }};` && |\n| && - ` };`. - - ENDMETHOD. - - - METHOD get_js_config. - - DATA(ls_config) = i_steps_config. - DATA(ls_highlight_config) = i_highlight_config. - DATA(ls_highlight_driver_config) = i_highlight_driver_config. - - "load driver object from window object - r_drive_js = `var driver = window.driver.js.driver;` && |\n| && - `var driverObj = new Object();` && |\n|. - - "handle tour - IF i_steps_config IS NOT INITIAL. - - LOOP AT ls_config-steps ASSIGNING FIELD-SYMBOL(). - IF -popover-title IS NOT INITIAL. - -popover-title = escape( val = -popover-title format = cl_abap_format=>e_html_js_html ). - ENDIF. - IF -popover-description IS NOT INITIAL. - -popover-description = escape( val = -popover-description format = cl_abap_format=>e_html_js_html ). - ENDIF. - ENDLOOP. - - "needed for transpilation to js - DATA(lv_config_json) = ``. -* lv_config_json = /ui2/cl_json=>serialize( -* data = ls_config -* compress = abap_true -* pretty_name = 'X' ). - TRY. - DATA(li_ajson) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty( ) ). - li_ajson->set( iv_path = `/` iv_val = ls_config ). -* li_ajson = li_ajson->filter( z2ui5_cl_ajson_filter_lib=>create_empty_filter( ) ). - li_ajson = li_ajson->filter( NEW z2ui5_cl_cc_driver_js( ) ). - li_ajson = li_ajson->map( z2ui5_cl_ajson_mapping=>create_to_camel_case( ) ). - li_ajson = li_ajson->map( z2ui5_cl_ajson_mapping=>create_lower_case( ) ). - lv_config_json = li_ajson->stringify( ). - - CATCH cx_root. - ENDTRY. - r_drive_js = r_drive_js && `var config = ` && lv_config_json && `;` && |\n| && - `var iLength = config.steps.length;` && |\n| && - `for (var i = 0; i < iLength; i++) {` && |\n| && - ` switch ( config.steps[i].elementview ) {` && |\n| && - ` case 'NEST':` && |\n| && - ` config.steps[i].element = '#' + sap.z2ui5.oViewNest.createId( config.steps[i].element );` && |\n| && - ` case 'NEST2':` && |\n| && - ` config.steps[i].element = '#' + sap.z2ui5.oViewNest2.createId( config.steps[i].element );` && |\n| && - ` case 'POPUP':` && |\n| && - ` config.steps[i].element = '#' + sap.z2ui5.oViewPopup.createId( config.steps[i].element );` && |\n| && - ` case 'POPOVER':` && |\n| && - ` config.steps[i].element = '#' + sap.z2ui5.oViewPopover.createId( config.steps[i].element );` && |\n| && - ` // MAIN view is default` && |\n| && - ` default:` && |\n| && - ` config.steps[i].element = '#' + sap.z2ui5.oView.createId( config.steps[i].element );` && |\n| && - ` };` && |\n| && - `};`. - - r_drive_js = r_drive_js && |\n| && - `for (var key of Object.keys(config)) {` && |\n| && - ` if( key.startsWith('on') ) {` && |\n| && - ` config[key] = new Function( config[key] );` && |\n| && - ` };` && |\n| && - `};` && |\n|. - - r_drive_js = r_drive_js && |\n| && - `for (key of Object.keys(config.steps)) {` && |\n| && - ` if( key.startsWith('on') ) {` && |\n| && - ` config.steps[key] = new Function( config.steps[key] );` && |\n| && - ` };` && |\n| && - `};` && |\n|. - - r_drive_js = r_drive_js && |\n| && - `for (var j = 0; j < config.steps.length; j++) {` && |\n| && - ` for (key of Object.keys(config.steps[j].popover)) {` && |\n| && - ` if( key.startsWith('on') ) {` && |\n| && - ` config.steps[j].popover[key] = new Function( config.steps[kj].popover[key] );` && |\n| && - ` };` && |\n| && - ` };` && |\n| && - `};` && |\n|. - - - ENDIF. - - "handle highlight - IF i_highlight_config IS NOT INITIAL AND i_highlight_driver_config IS NOT INITIAL. - - DATA(lv_highlight_driver_config_jn) = ``. -* lv_highlight_driver_config_jn = /ui2/cl_json=>serialize( -* data = ls_highlight_driver_config -* compress = abap_true -* pretty_name = 'X' ). - TRY. - li_ajson = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty( ) ). - li_ajson->set( iv_path = `/` iv_val = ls_highlight_driver_config ). -* li_ajson = li_ajson->filter( z2ui5_cl_ajson_filter_lib=>create_empty_filter( ) ). - li_ajson = li_ajson->filter( NEW z2ui5_cl_cc_driver_js( ) ). - li_ajson = li_ajson->map( z2ui5_cl_ajson_mapping=>create_to_camel_case( ) ). - li_ajson = li_ajson->map( z2ui5_cl_ajson_mapping=>create_lower_case( ) ). - lv_highlight_driver_config_jn = li_ajson->stringify( ). - CATCH cx_root. - ENDTRY. - r_drive_js = r_drive_js && |\n| && - `var highlight_driver_config = ` && lv_highlight_driver_config_jn && `;` && |\n|. - - - IF ls_highlight_config-popover-title IS NOT INITIAL. - ls_highlight_config-popover-title = escape( val = ls_highlight_config-popover-title format = cl_abap_format=>e_html_js_html ). - ENDIF. - - IF ls_highlight_config-popover-description IS NOT INITIAL. - ls_highlight_config-popover-description = escape( val = ls_highlight_config-popover-description format = cl_abap_format=>e_html_js_html ). - ENDIF. - - DATA(lv_highlight_config_json) = ``. -* lv_highlight_config_json = /ui2/cl_json=>serialize( -* data = ls_highlight_config -* compress = abap_true -* pretty_name = 'X' ). - TRY. - li_ajson = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty( ) ). - li_ajson->set( iv_path = `/` iv_val = ls_highlight_config ). -* li_ajson = li_ajson->filter( z2ui5_cl_ajson_filter_lib=>create_empty_filter( ) ). - li_ajson = li_ajson->filter( NEW z2ui5_cl_cc_driver_js( ) ). - li_ajson = li_ajson->map( z2ui5_cl_ajson_mapping=>create_to_camel_case( ) ). - li_ajson = li_ajson->map( z2ui5_cl_ajson_mapping=>create_lower_case( ) ). - lv_highlight_config_json = li_ajson->stringify( ). - CATCH cx_root. - ENDTRY. - r_drive_js = r_drive_js && |\n| && - `var highlight_config = ` && lv_highlight_config_json && `;` && |\n| && - `switch ( highlight_config.elementview ) {` && |\n| && - ` case 'NEST':` && |\n| && - ` highlight_config.element = '#' + sap.z2ui5.oViewNest.createId( highlight_config.element );` && |\n| && - ` case 'NEST2':` && |\n| && - ` highlight_config.element = '#' + sap.z2ui5.oViewNest2.createId( highlight_config.element );` && |\n| && - ` case 'POPUP':` && |\n| && - ` highlight_config.element = '#' + sap.z2ui5.oViewPopup.createId( highlight_config.element );` && |\n| && - ` case 'POPOVER':` && |\n| && - ` highlight_config.element = '#' + sap.z2ui5.oViewPopover.createId( highlight_config.element );` && |\n| && - ` // MAIN view is default` && |\n| && - ` default:` && |\n| && - ` highlight_config.element = '#' + sap.z2ui5.oView.createId( highlight_config.element );` && |\n| && - `};`. - - r_drive_js = r_drive_js && |\n| && - `for (var key1 of Object.keys(highlight_config)) {` && |\n| && - ` if( key1.startsWith('on') ) {` && |\n| && - ` highlight_config[key1] = new Function( highlight_config[key1] );` && |\n| && - ` };` && |\n| && - `};` && |\n|. - - r_drive_js = r_drive_js && |\n| && - `for (var key1 of Object.keys(highlight_config.popover)) {` && |\n| && - ` if( key1.startsWith('on') ) {` && |\n| && - ` highlight_config.popover[key1] = new Function( highlight_config.popover[key1] );` && |\n| && - ` };` && |\n| && - `};` && |\n|. - - r_drive_js = r_drive_js && |\n| && - `for (key1 of Object.keys(highlight_driver_config)) {` && |\n| && - ` if( key.startsWith('on') ) {` && |\n| && - ` highlight_driver_config[key] = new Function( highlight_driver_config[key] );` && |\n| && - ` };` && |\n| && - `};`. - - ENDIF. - - ENDMETHOD. - - - METHOD get_js_local. - result = `` && |\n| && -`this.driver=this.driver||{};this.driver.js=function(D){"use strict";let F={};function z(e={}){F={animate:!0,allowClose:!0,overlayOpacity:.7,smoothScroll:!1,disableActiveInteraction:!1,showProgress:!1,stagePadding:10,stageRadius:5,` && -`popoverOffset:10,showButtons:["next","previous","close"],disableButtons:[],overlayColor:"#000",...e}}function a(e){return e?F[e]:F}function W(e,o,t,i){return(e/=i/2)<1?t/2*e*e+o:-t/2*(--e*(e-2)-1)+o}` && -`function q(` && -`e){const o='a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not(` && -`[disabled])';return e.flatMap(t=>{const i=t.matches(o),p=Array.from(t.querySelectorAll(o));return[...i?[t]:[],...p]}).filter(t=>getComputedStyle(t).pointerEvents!=="none"&&ae(t))}function V(e){if(!e||se(e))return;` && -`const o=a(` && -`"smoothScroll");e.scrollIntoView({behavior:!o||re(e)?"auto":"smooth",inline:"center",block:"center"})}function re(e){if(!e||!e.parentElement)return;const o=e.parentElement;return ` && -`o.scrollHeight>o.clientHeight}function se(e){const o=e.getBoundingClientRect();return o.top>=0&&o.left>=0&&o.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&o.right<=(` && -`window.innerWidth||document.documentElement.clientWidth)}function ae(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)}let N={};function b(e,o){N[e]=o}function l(e){return e?N[e]:N}function K(){N={}}let E={};function O(e,o)` && -`{E[e]=o}function _(e){var o;(o=E[e])==null||o.call(E)}function ce(){E={}}function le(e,o,t,i){let p=l("__activeStagePosition");const n=p||t.getBoundingClientRect(),f=i.getBoundingClientRect(),w=W(e,n.x,f.x-n.x,o),r=W(e,n.y,f.y-n.y,o),v=W(e,` && -`n.width,f.width-n.width,o),s=W(e,n.height,f.height-n.height,o);p={x:w,y:r,width:v,height:s},Y(p),b("__activeStagePosition",p)}function X(e){if(!e)return;const o=e.getBoundingClientRect(),t={x:o.x,y:o.y,width:o.width,height:o.height};b(` && -`"__activeStagePosition",t),Y(t)}function de(){const e=l("__activeStagePosition"),o=l("__overlaySvg");if(!e)return;if(!o){console.warn("No stage svg found.");return}const t=window.innerWidth,` && -'i=window.innerHeight;o.setAttribute("viewBox",`0 0 ${t} ${i}`)}function pe(e){const o=ue(e);document.body.appendChild(o),G(o,t=>{t.target.tagName==="path"&&_("overlayClick")}),b("__overlaySvg",o)' && -`}function Y(e){const o=l("__overlaySvg");if(!o){pe(e);return}const t=o.firstElementChild;if((t==null?void 0:t.tagName)!=="path")throw new Error("no path element found in stage svg");t.setAttribute("d",j(e))` && -`}function ue(e){const o=window.innerWidth,t=window.innerHeight,i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.classList.add("driver-overlay","driver-overlay-animated"),i.setAttribute(` && -'"viewBox",`0 0 ${o} ${t}`),i.setAttribute("xmlSpace","preserve"),i.setAttribute("xmlnsXlink","http://www.w3.org/1999/xlink"),i.setAttribute("version","1.1"),i.setAttribute(' && -`"preserveAspectRatio","xMinYMin slice"),i.style.fillRule="evenodd",i.style.clipRule="evenodd",i.style.strokeLinejoin="round",i.style.strokeMiterlimit="2",i.style.zIndex="10000",` && -`i.style.position="fixed",i.style.top="0",i.style.left="0",i.style.width="100%",i.style.height="100%";const p=document.createElementNS("http://www.w3.org/2000/svg","path");return ` && -'p.setAttribute("d",j(e)),p.style.fill=a("overlayColor")||"rgb(0,0,0)",p.style.opacity=`${a("overlayOpacity")}`,p.style.pointerEvents="auto",p.style.cursor="auto",i.appendChild(p),i}' && -`function j(e)` && -'{const o=window.innerWidth,t=window.innerHeight,i=a("stagePadding")||0,p=a("stageRadius")||0,n=e.width+i*2,f=e.height+i*2,w=Math.min(p,n/2,f/2),r=Math.floor(Math.max(w,0)),v=e.x-i+r,s=e.y-i,c=n-r*2,d=f-r*2;return`M${o},0L0,0L0,' && -'${t}L${o},${t}L${o},0ZM${v},${s} h${c} a${r},${r} 0 0 1 ${r},${r} v${d} a${r},${r} 0 0 1 -${r},${r} h-${c} a${r},${r} 0 0 1 -${r},-${r} v-${d} a${r},${r} 0 0 1 ${r},-${r} z`}function ve(){const e=l("__overlaySvg");e&&e.remove()' && -`}function fe(){const e=document.getElementById("driver-dummy-element");if(e)return e;let o=document.createElement("div");return o.id="driver-dummy-element",o.style.width="0",o.style.height="0",` && -`o.style.pointerEvents="none",o.style.opacity="0",o.style.position="fixed",o.style.top="50%",o.style.left="50%",document.body.appendChild(o),o}function Q(e){const{element:o}=e;let t=typeof ` && -`o=="string"?document.querySelector(o):o;t||(t=fe()),ge(t,e)}function he(){const e=l("__activeElement"),o=l("__activeStep");e&&(X(e),de(),oe(e,o))}function ge(e,o){const i=Date.now(),p=l("__activeStep"),` && -`n=l(` && -`"__activeElement")||e,f=!n||n===e,w=e.id==="driver-dummy-element",r=n.id==="driver-dummy-element",v=a("animate"),s=o.onHighlightStarted||a("onHighlightStarted"),c=(o==null?void 0:o.onHighlighted)||a(` && -`"onHighlighted"),d=(p==null?void 0:p.onDeselected)||a("onDeselected"),m=a(),g=l();!f&&d&&d(r?void 0:n,p,{config:m,state:g}),s&&s(w?void 0:e,o,{config:m,state:g});const u=!f&&v;let h=!1;xe(),b(` && -`"previousStep",p),b("previousElement",n),b("activeStep",o),b("activeElement",e);const P=()=>{if(l("__transitionCallback")!==P)return;const x=Date.now()-i,` && -`y=400-x<=400/2;o.popover&&y&&!h&&u&&(J(e,o),h=!0),a("animate")&&x<400?le(x,400,n,e):(X(e),c&&c(w?void 0:e,o,{config:a(),state:l()}),b("__transitionCallback",void 0),b(` && -`"__previousStep",p),b("__previousElement",n),b("__activeStep",o),b("__activeElement",e)),window.requestAnimationFrame(P)};b("__transitionCallback",P),window.requestAnimationFrame(P),V(e),` && -`!u&&o.popover&&J(e,o),n.classList.remove("driver-active-element","driver-no-interaction"),n.removeAttribute("aria-haspopup"),n.removeAttribute("aria-expanded"),n.removeAttribute(` && -`"aria-controls"),a("disableActiveInteraction")&&e.classList.add("driver-no-interaction"),e.classList.add("driver-active-element"),e.setAttribute("aria-haspopup","dialog"),` && -`e.setAttribute(` && -`"aria-expanded","true"),e.setAttribute("aria-controls","driver-popover-content")}function we(){var e;(e=document.getElementById("driver-dummy-element"))==null||e.remove(),document.querySelectorAll(` && -`".driver-active-element").forEach(o=>{o.classList.remove("driver-active-element","driver-no-interaction"),o.removeAttribute("aria-haspopup"),o.removeAttribute("aria-expanded"),o.removeAttribute(` && -`"aria-controls")})}function A(){const e=l("__resizeTimeout");e&&window.cancelAnimationFrame(e),b("__resizeTimeout",window.requestAnimationFrame(he))}function me(e){var r;if(!l("isInitialized")||!(` && -`e.key==="Tab"||e.keyCode===9))return;const i=l("__activeElement"),p=(r=l("popover"))==null?void 0:r.wrapper,n=q([...p?[p]:[],...i?[i]:[]]),f=n[0],w=n[n.length-1];if(e.preventDefault(),e.shiftKey){const v=n[n.indexOf(` && -`document.activeElement)-1]||w;v==null||v.focus()}else{const v=n[n.indexOf(document.activeElement)+1]||f;v==null||v.focus()}}function Z(e){var t;((t=a("allowKeyboardControl"))==null||t)&&(e.key==="Escape"?_(` && -`"escapePress"):e.key==="ArrowRight"?_("arrowRightPress"):e.key==="ArrowLeft"&&_("arrowLeftPress"))}function G(e,o,t){const i=(n,f)=>{const w=n.target;e.contains(w)&&((!t||t(w))` && -`&&(n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation()),f==null||f(n))};document.addEventListener("pointerdown",i,!0),document.addEventListener("mousedown",i,!0),document.addEventListener("` && -`pointerup",` && -`i,!0),document.addEventListener("mouseup",i,!0),document.addEventListener("click",n=>{i(n,o)},!0)}function ye(){window.addEventListener("keyup",Z,!1),window.addEventListener("keydown",me,!1),` && -`window.addEventListener("resize",A),window.addEventListener("scroll",A)}function be(){window.removeEventListener("keyup",Z),window.removeEventListener("resize",A),window.removeEventListener("scroll",` && -`A)` && -`}function xe(){const e=l("popover");e&&(e.wrapper.style.display="none")}function J(e,o){var C,y;let t=l("popover");t&&document.body.removeChild(t.wrapper),t=Pe(),document.body.appendChild(t.wrapper)` && -`;const{title:i,description:p,showButtons:n,disableButtons:f,showProgress:w,nextBtnText:r=a("nextBtnText")||"Next &rarr;",prevBtnText:v=a("prevBtnText")||"&larr; Previous",progressText:s=a(` && -`"progressText")||"{current} of {total}"}=o.popover||{};t.nextButton.innerHTML=r,t.previousButton.innerHTML=v,t.progress.innerHTML=s,i?(t.title.innerHTML=i,t.title.style.display="block")` && -`:t.title.style.display="none",p?(t.description.innerHTML=p,t.description.style.display="block"):t.description.style.display="none";const c=n||a("showButtons"),` && -`d=w||a("showProgress")||!1,m=(c==null?void ` && -`0:c.includes("next"))||(c==null?void 0:c.includes("previous"))||d;t.closeButton.style.display=c.includes("close")?"block":"none",m?(t.footer.style.display="flex",` && -`t.progress.style.display=d?"block":"none",t.nextButton.style.display=c.includes("next")?"block":"none"` && -`,t.previousButton.style.display=c.includes("previous")?"block":"none")` && -`:t.footer.style.display="none";const g=f||a("disableButtons")||[];g!=null&&g.includes("next")&&(t.nextButton.disabled=!0,t.nextButton.classList.add("driver-popover-btn-disabled")),` && -`g!=null&&g.includes("previous")&&(t.previousButton.disabled=!0,t.previousButton.classList.add("driver-popover-btn-disabled")),g!=null&&g.includes("close")&&(t.closeButton.disabled=!0,` && -`t.closeButton.classList.add("driver-popover-btn-disabled"));const u=t.wrapper;u.style.display="block",u.style.left="",u.style.top="",u.style.bottom="",u.style.right="",` && -`u.id="driver-popover-content",u.setAttribute("role","dialog"),u.setAttribute("aria-labelledby","driver-popover-title"),u.setAttribute("aria-describedby"` && -`,"driver-popover-description")` && -';const h=t.arrow;h.className="driver-popover-arrow";const P=((C=o.popover)==null?void 0:C.popoverClass)||a("popoverClass")||"";u.className=`driver-popover ${P}`.trim(),G(t.wrapper,k=>{var M,R,I;const T=k.target,H=((' && -`M=o.popover)==null?void 0:M.onNextClick)||a("onNextClick"),$=((R=o.popover)==null?void 0:R.onPrevClick)||a("onPrevClick"),B=((I=o.popover)==null?void 0:I.onCloseClick)||a("onCloseClick");if(T.classList.contains(` && -`"driver-popover-next-btn"))return H?H(e,o,{config:a(),state:l()}):_("nextClick");if(T.classList.contains("driver-popover-prev-btn"))return $?$(e,o,{config:a(),state:l()}):_("prevClick");if(T.classList.contains(` && -`"driver-popover-close-btn"))return B?B(e,o,{config:a(),state:l()}):_("closeClick")},k=>!(t!=null&&t.description.contains(k))&&!(t!=null&&t.title.contains(k))&&typeof ` && -`k.className=="string"&&k.className.includes("driver-popover")),b("popover",t);const S=((y=o.popover)==null?void 0:y.onPopoverRender)||a("onPopoverRender");S&&` && -`S(t,{config:a(),state:l()}),oe(e,o),V(u)` && -`;const L=e.classList.contains("driver-dummy-element"),x=q([u,...L?[]:[e]]);x.length>0&&x[0].focus()}function U(){const e=l("popover");if(!(e!=null&&e.wrapper))return;const o=e.wrapper.getBoundingClientRect(),` && -`t=a(` && -`"stagePadding")||0,i=a("popoverOffset")||0;return{width:o.width+t+i,height:o.height+t+i,realWidth:o.width,realHeight:o.height}}function ee(e,o){const{elementDimensions:t,popoverDimensions:i,popoverPadding:p,` && -`popoverArrowDimensions:n}=o;return e==="start"?Math.max(Math.min(t.top-p,window.innerHeight-i.realHeight-n.width),n.width):e==="end"?Math.max(Math.min(t.top-(i==null?void 0:i.realHeight)+t.height+p,window.innerHeight-(i==null?void` -&& -`0:i.realHeight)-n.width),n.width):e==="center"?Math.max(Math.min(t.top+t.height/2-(i==null?void 0:i.realHeight)/2,window.innerHeight-(i==null?void 0:i.realHeight)-n.width),n.width):0}function te(e,o){const{elementDimensions:t,` && -`popoverDimensions:i,popoverPadding:p,popoverArrowDimensions:n}=o;return e==="start"?Math.max(Math.min(t.left-p,window.innerWidth-i.realWidth-n.width),n.width):e==="end"` && -`?Math.max(Math.min(t.left-(i==null?void 0:i.realWidth)+t.width+p,` && -`window.innerWidth-(i==null?void 0:i.realWidth)-n.width),n.width):e==="center"?Math.max(Math.min(t.left+t.width/2-(i==null?void 0:i.realWidth)/2,window.innerWidth-(i==null?void 0:i.realWidth)-n.width),n.width):0}function oe(e,o){const t=l(` && -`"popover");if(!t)return;const{align:i="start",side:p="left"}=(o==null?void 0:o.popover)||{},n=i,f=e.id==="driver-dummy-element"?"over":p,w=a("stagePadding")||0,r=U(),` && -`v=t.arrow.getBoundingClientRect(),s=e.getBoundingClientRect(),c=s.top-r.height;let d=c>=0;const m=window.innerHeight-(s.bottom+r.height);let g=m>=0;const u=s.left-r.width;let h=u>=0;const P=window.innerWidth-(s.right+r.width);let ` && -`S=P>=0;const L=!d&&!g&&!h&&!S;let x=f;if(f==="top"&&d?S=h=g=!1:f==="bottom"&&g?S=h=d=!1:f==="left"&&h?S=d=g=!1:f==="right"&&S&&(h=d=g=!1),` && -'f==="over"){const C=window.innerWidth/2-r.realWidth/2,y=window.innerHeight/2-r.realHeight/2;t.wrapper.style.left=`${C}px`,t.wrapper.style.right="auto",t.wrapper.style.top=`${y}px`,t.wrapper.style.bottom="auto"}else if(L)' && -'{const C=window.innerWidth/2-(r==null?void 0:r.realWidth)/2,y=10;t.wrapper.style.left=`${C}px`,t.wrapper.style.right="auto",t.wrapper.style.bottom=`${y}px`,t.wrapper.style.top="auto"' && -`}else if(h){const C=Math.min(u,window.innerWidth-(` && -'r==null?void 0:r.realWidth)-v.width),y=ee(n,{elementDimensions:s,popoverDimensions:r,popoverPadding:w,popoverArrowDimensions:v});t.wrapper.style.left=`${C}px`,t.wrapper.style.top=`${y}px`,t.wrapper.style.bottom="auto",' && -`t.wrapper.style.right="auto",x="left"}else if(S){const C=Math.min(P,window.innerWidth-(r==null?void 0:r.realWidth)-v.width),y=ee(n,{elementDimensions:s,popoverDimensions:r,popoverPadding:w,popoverArrowDimensions:v})` && -';t.wrapper.style.right=`${C}px`,t.wrapper.style.top=`${y}px`,t.wrapper.style.bottom="auto",t.wrapper.style.left="auto",x="right"}else if(d){const C=Math.min(c,window.innerHeight-r.realHeight-v.width);let y=te(n,' && -'{elementDimensions:s,popoverDimensions:r,popoverPadding:w,popoverArrowDimensions:v});t.wrapper.style.top=`${C}px`,t.wrapper.style.left=`${y}px`,t.wrapper.style.bottom="auto",t.wrapper.style.right="auto",x="top"' && -`}else if(g)` && -'{const C=Math.min(m,window.innerHeight-(r==null?void 0:r.realHeight)-v.width);let y=te(n,{elementDimensions:s,popoverDimensions:r,popoverPadding:w,popoverArrowDimensions:v});t.wrapper.style.left=`${y}px`,t.wrapper.style.bottom=`${C}px`,' && -`t.wrapper.style.top="auto",t.wrapper.style.right="auto",x="bottom"}L?t.arrow.classList.add("driver-popover-arrow-none"):Ce(n,x,e)}function Ce(e,o,t){const i=l("popover");if(!i)return;const ` && -`p=t.getBoundingClientRect(),n=U(),f=i.arrow,w=n.width,r=window.innerWidth,v=p.width,s=p.left,c=n.height,d=window.innerHeight,m=p.top,g=p.height;f.className="driver-popover-arrow";let u=o,h=e;o==="top"?(s+v<=0?(u="` && -`right",` && -`h="end"):s+v-w<=0&&(u="top",h="start"),s>=r?(u="left",h="end"):s+w>=r&&(u="top",h="end")):o==="bottom"?(s+v<=0?(u="right",` && -`h="start"):s+v-w<=0&&(u="bottom",h="start"),s>=r?(u="left",h="start"):s+w>=r&&(u="bottom",h="end")):o==="left"?(m+g<=0?(u="bottom",` && -`h="end"):m+g-c<=0&&(u="left",h="start"),m>=d?(u="top",h="end"):m+c>=d&&(u="left",h="end")):o==="right"&&(m+g<=0?(u="bottom",` && -'h="start"):m+g-c<=0&&(u="right",h="start"),m>=d?(u="top",h="start"):m+c>=d&&(u="right",h="end")),u?(f.classList.add(`driver-popover-arrow-side-${u}`),' && -'f.classList.add(`driver-popover-arrow-align-${h}`)):f.classList.add("driver-popover-arrow-none")}function Pe(){const e=document.createElement("div");e.classList.add("driver-popover");const o=document.createElement(' && -`"div");o.classList.add("driver-popover-arrow");const t=document.createElement("header");t.id="driver-popover-title",t.classList.add("driver-popover-title"),t.style.display="none",` && -`t.innerText="Popover Title";const i=document.createElement("div");i.id="driver-popover-description",i.classList.add("driver-popover-description"),i.style.display="none",i.innerText="Popover ` && -`description is here";const p=document.createElement("button");p.type="button",p.classList.add("driver-popover-close-btn"),p.setAttribute("aria-label","Close"),` && -`p.innerHTML="&times;";const n=document.createElement("footer");n.classList.add("driver-popover-footer");const f=document.createElement("span");f.classList.add("driver-popover-progress-text"),` && -`f.innerText="";const w=document.createElement("span");w.classList.add("driver-popover-navigation-btns");const r=document.createElement("button");r.type="button",r.classList.add(` && -`"driver-popover-prev-btn"),r.innerHTML="&larr; Previous";const v=document.createElement("button");return v.type="button",v.classList.add("driver-popover-next-btn"),v.innerHTML="Next ` && -`&rarr;",w.appendChild(r),w.appendChild(v),n.appendChild(f),n.appendChild(w),e.appendChild(p),e.appendChild(o),e.appendChild(t),e.appendChild(i),e.appendChild(n),{wrapper:e,arrow:o,title:t,description:i,footer:n,previousButton:r,nextButton:v,` && -`closeButton:p,footerButtons:w,progress:f}}function Se(){var o;const e=l("popover");e&&((o=e.wrapper.parentElement)==null||o.removeChild(e.wrapper))}const Le="";function ke(e={}){z(e);function o(){a("allowClose")` && -`&&v()}function t(){const s=l("activeIndex"),c=a("steps")||[];if(typeof s=="undefined")return;const d=s+1;c[d]?r(d):v()}function i(){const s=l("activeIndex"),c=a("steps")||[];if(typeof ` && -`s=="undefined")return;const d=s-1;c[d]?r(d):v()}function p(s){(a("steps")||[])[s]?r(s):v()}function n(){var h;if(l("__transitionCallback"))return;const c=l("activeIndex"),d=l("__activeStep"),m=l(` && -`"__activeElement");if(typeof c=="undefined"||typeof d=="undefined"||typeof l("activeIndex")=="undefined")return;const u=((h=d.popover)==null?void 0:h.onPrevClick)||a("onPrevClick");` && -`if(u)return ` && -`u(m,d,{config:a(),state:l()});i()}function f(){var u;if(l("__transitionCallback"))return;const c=l("activeIndex"),d=l("__activeStep"),m=l("__activeElement");if(typeof c=="undefined"||typeof ` && -`d=="undefined")return;const g=((u=d.popover)==null?void 0:u.onNextClick)||a("onNextClick");if(g)return g(m,d,{config:a(),state:l()});t()}function w(){l("isInitialized")||(b("isInitialized",!0),` && -`document.body.classList.add("driver-active",a("animate")?"driver-fade":"driver-simple"),ye(),O("overlayClick",o),O("escapePress",o),O("arrowLeftPress",n),` && -`O("arrowRightPress",` && -`f))}function r(s=0){var H,$,B,M,R,I,ie,ne;const c=a("steps");if(!c){console.error("No steps to drive through"),v();return}if(!c[s]){v();return}b("__activeOnDestroyed",document.activeElement),b("activeIndex",s)` && -`;const d=c[s],m=c[s+1],g=c[s-1],u=((H=d.popover)==null?void 0:H.doneBtnText)||a("doneBtnText")||"Done",h=a("allowClose"),P=typeof(($=d.popover)==null?void 0:$.showProgress)!="undefined"` && -`?(B=d.popover)==null?void ` && -'0:B.showProgress:a("showProgress"),L=(((M=d.popover)==null?void 0:M.progressText)||a("progressText")||"{{current}} of {{total}}").replace("{{current}}",`${s+1}`).replace("' && -'{{total}}",`${c.length}`),x=((' && -`R=d.popover)==null?void 0:R.showButtons)||a("showButtons"),C=["next","previous",...h?["close"]:[]].filter(_e=>!(x!=null&&x.length)||x.includes(_e)),y=((I=d.popover)==null?void 0:I.onNextClick)||a(` && -`"onNextClick"),k=((ie=d.popover)==null?void 0:ie.onPrevClick)||a("onPrevClick"),T=((ne=d.popover)==null?void 0:ne.onCloseClick)||a("onCloseClick");Q({...d,popover:{showButtons:C,nextBtnText:m?void 0:u,` && -`disableButtons:[...g?[]:["previous"]],showProgress:P,progressText:L,onNextClick:y||(()=>{m?r(s+1):v()}),onPrevClick:k||(()=>{r(s-1)}),onCloseClick:T||(()=>{v()}),...(d==null?void 0:d.popover)||{}}})}function v(s=!0){const c=l(` && -`"__activeElement"),d=l("__activeStep"),m=l("__activeOnDestroyed"),g=a("onDestroyStarted");if(s&&g){const P=!c||(c==null?void 0:c.id)==="driver-dummy-element";g(P?void 0:c,d,` && -`{config:a(),state:l()})` && -`;return}const u=(d==null?void 0:d.onDeselected)||a("onDeselected"),h=a("onDestroyed");if(document.body.classList.remove("driver-active","driver-fade","driver-simple"),be(),Se(),we(),ve(),ce(),K(),` && -`c&&d){const P=c.id==="driver-dummy-element";u&&u(P?void 0:c,d,{config:a(),state:l()}),h&&h(P?void 0:c,d,{config:a(),state:l()})}m&&m.focus()}return{isActive:()=>l("isInitialized")||!1,refresh:A,` && -`drive:(s=0)=>{w(),r(s)},setConfig:z,setSteps:s=>{K(),z({...a(),steps:s})},getConfig:a,getState:l,getActiveIndex:()=>l("activeIndex"),isFirstStep:()=>l("activeIndex")===0,isLastStep:()=>{` && -`const s=a("steps")||[],` && -`c=l("activeIndex");return c!==void 0&&c===s.length-1},getActiveStep:()=>l("activeStep"),getActiveElement:()=>l("activeElement"),getPreviousElement:()=>l("previousElement"),` && -`getPreviousStep:()=>l(` && -`"previousStep"),moveNext:t,movePrevious:i,moveTo:p,hasNextStep:()=>{const s=a("steps")||[],c=l("activeIndex");return c!==void 0&&s[c+1]},hasPreviousStep:()=>{const s=a("steps")||[],c=l(` && -`"activeIndex");return c!==void 0&&s[c-1]},highlight:s=>{w(),Q({...s,popover:s.popover?{showButtons:[],showProgress:!1,progressText:"",...s.popover}:void 0})},destroy:()=>{v(!1)}}}return ` && -`D.driver=ke,Object.defineProperty(` && -`D,Symbol.toStringTag,{value:"Module"}),D}({});`. - - ENDMETHOD. - - - METHOD z2ui5_if_ajson_filter~keep_node. - - rv_keep = abap_true. - - CASE iv_visit. - - WHEN z2ui5_if_ajson_filter=>visit_type-open. - - IF is_node-children = 0. - rv_keep = abap_false. - ENDIF. - - WHEN z2ui5_if_ajson_filter=>visit_type-value. - - CASE is_node-type. - WHEN z2ui5_if_ajson_types=>node_type-boolean. - IF is_node-value = `false`. - rv_keep = abap_false. - ENDIF. - WHEN z2ui5_if_ajson_types=>node_type-number. - IF is_node-value = `0` OR is_node-value = `0.00`. - rv_keep = abap_false. - ENDIF. - WHEN z2ui5_if_ajson_types=>node_type-string. - IF is_node-value = ``. - rv_keep = abap_false. - ENDIF. - ENDCASE. - - WHEN z2ui5_if_ajson_filter=>visit_type-close. - - IF is_node-children = 0. - rv_keep = abap_false. - ENDIF. - - ENDCASE. - - ENDMETHOD. -ENDCLASS. diff --git a/src/01/05/z2ui5_cl_cc_driver_js.clas.xml b/src/01/05/z2ui5_cl_cc_driver_js.clas.xml deleted file mode 100644 index f4e822ea..00000000 --- a/src/01/05/z2ui5_cl_cc_driver_js.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_CC_DRIVER_JS - E - driverjs - product tours, highlights, contextual help & more - 1 - X - X - X - - - - diff --git a/src/01/05/z2ui5_cl_cc_font_awesome.clas.abap b/src/01/05/z2ui5_cl_cc_font_awesome.clas.abap deleted file mode 100644 index dc3121e3..00000000 --- a/src/01/05/z2ui5_cl_cc_font_awesome.clas.abap +++ /dev/null @@ -1,104 +0,0 @@ -CLASS z2ui5_cl_cc_font_awesome DEFINITION - PUBLIC - FINAL - CREATE PUBLIC . - - PUBLIC SECTION. - - CLASS-METHODS get_js_icon - IMPORTING - !i_font_uri TYPE clike - RETURNING - VALUE(r_js) TYPE string . - - PROTECTED SECTION. - PRIVATE SECTION. -ENDCLASS. - - - -CLASS z2ui5_cl_cc_font_awesome IMPLEMENTATION. - - METHOD get_js_icon. - - r_js = `` && |\n| && -* `const metadataURI = "` && metadata_uri && `";` && |\n| && -* `const oFontMetadata = ` && lcl_metadata=>get_fonts_metadata( ) && |\n| && -* `const oFontBrandsMetadata = ` && lcl_metadata=>get_brands_fonts_metadata( ) && |\n| && - `const oFonts = [{` && |\n| && - ` fontFamily: 'fa-regular-400',` && |\n| && - ` collectionName: 'fa-regular'` && |\n| && -* ` metadata: ` && lcl_metadata=>get_fonts_metadata( ) && |\n| && -* ` metadata: oFontMetadata,` && |\n| && -* ` fontURI: "` && font_uri && `"` && |\n| && -* ` lazy: true` && |\n| && - ` }, {` && |\n| && - ` fontFamily: 'fa-duotone-900',` && |\n| && - ` collectionName: 'fa-duotone'` && |\n| && -* ` metadata: ` && lcl_metadata=>get_fonts_metadata( ) && |\n| && -* ` metadata: oFontMetadata` && |\n| && -* ` fontURI: "` && font_uri && `"` && |\n| && -* ` lazy: true` && |\n| && - ` }, {` && |\n| && - ` fontFamily: 'fa-light-300',` && |\n| && - ` collectionName: 'fa-light'` && |\n| && -* ` metadata: ` && lcl_metadata=>get_fonts_metadata( ) && |\n| && -* ` metadata: oFontMetadata` && |\n| && -* ` fontURI: "` && font_uri && `"` && |\n| && -* ` lazy: true` && |\n| && - ` }, {` && |\n| && - ` fontFamily: 'fa-solid-900',` && |\n| && - ` collectionName: 'fa-solid'` && |\n| && -* ` metadata: ` && lcl_metadata=>get_fonts_metadata( ) && |\n| && -* ` metadata: oFontMetadata` && |\n| && -* ` fontURI: "` && font_uri && `"` && |\n| && -* ` lazy: true` && |\n| && - ` }, {` && |\n| && - ` fontFamily: 'fa-thin-100',` && |\n| && - ` collectionName: 'fa-thin'` && |\n| && -* ` metadata: ` && lcl_metadata=>get_fonts_metadata( ) && |\n| && -* ` metadata: oFontMetadata` && |\n| && -* ` fontURI: "` && font_uri && `"` && |\n| && -* ` lazy: true` && |\n| && - ` }, {` && |\n| && - ` fontFamily: 'fa-brands-400',` && |\n| && - ` collectionName: 'fa-brands'` && |\n| && -* ` metadata: ` && lcl_metadata=>get_brands_fonts_metadata( ) && |\n| && -* ` metadata: oFontBrandsMetadata,` && |\n| && -* ` fontURI: "` && font_uri && `"` && |\n| && -* ` lazy: true` && |\n| && - ` }, {` && |\n| && - ` fontFamily: 'fa-sharp-solid-900',` && |\n| && - ` collectionName: 'fa-sharp-solid'` && |\n| && -* ` metadata: ` && lcl_metadata=>get_fonts_metadata( ) && |\n| && -* ` metadata: oFontMetadata` && |\n| && -* ` fontURI: "` && font_uri && `"` && |\n| && -* ` lazy: true` && |\n| && - ` }, {` && |\n| && - ` fontFamily: 'fa-sharp-regular-400',` && |\n| && - ` collectionName: 'fa-sharp-regular'` && |\n| && -* ` metadata: ` && lcl_metadata=>get_fonts_metadata( ) && |\n| && -* ` metadata: oFontMetadata` && |\n| && -* ` fontURI: "` && font_uri && `"` && |\n| && -* ` lazy: true` && |\n| && - ` }, {` && |\n| && - ` fontFamily: 'fa-sharp-light-300',` && |\n| && - ` collectionName: 'fa-sharp-light'` && |\n| && -* ` metadata: ` && lcl_metadata=>get_fonts_metadata( ) && |\n| && -* ` metadata: oFontMetadata` && |\n| && -* ` fontURI: "` && font_uri && `"` && |\n| && -* ` lazy: true` && |\n| && - `}]` && |\n| && -* `oFonts.forEach(oFont => {` && |\n| && -* ` sap.ui.core.IconPool.registerFont(oFont);` && |\n| && -* `});`. - `oFonts.forEach(function(font) {` && |\n| && - ` sap.ui.core.IconPool.registerFont(jQuery.extend({}, font, {` && |\n| && - ` fontURI: "` && i_font_uri && `",` && |\n| && - ` lazy: true` && |\n| && - ` }))` && |\n| && - `})`. - - ENDMETHOD. - -ENDCLASS. diff --git a/src/01/05/z2ui5_cl_cc_font_awesome.clas.xml b/src/01/05/z2ui5_cl_cc_font_awesome.clas.xml deleted file mode 100644 index e89f342a..00000000 --- a/src/01/05/z2ui5_cl_cc_font_awesome.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_CC_FONT_AWESOME - E - font awsome icons library - 1 - X - X - X - - - - diff --git a/src/01/05/z2ui5_cl_cc_imagemapster.clas.abap b/src/01/05/z2ui5_cl_cc_imagemapster.clas.abap deleted file mode 100644 index 1e4f46f9..00000000 --- a/src/01/05/z2ui5_cl_cc_imagemapster.clas.abap +++ /dev/null @@ -1,3446 +0,0 @@ -CLASS z2ui5_cl_cc_imagemapster DEFINITION - PUBLIC - FINAL - CREATE PUBLIC . - - PUBLIC SECTION. - INTERFACES z2ui5_if_ajson_filter. - - TYPES: - BEGIN OF ty_render_select_highlight, - fill TYPE abap_bool, - fill_color TYPE string, - fill_opacity(3) TYPE p DECIMALS 2, - stroke TYPE abap_bool, - stroke_color TYPE string, - stroke_opacity(3) TYPE p DECIMALS 2, - stroke_width(3) TYPE p DECIMALS 2, - fade TYPE abap_bool, - fade_duration TYPE i, - END OF ty_render_select_highlight. - - TYPES: - BEGIN OF ty_c, - map_key TYPE string, - map_value TYPE string, - click_navigate TYPE abap_bool, - list_key TYPE string, - list_selected_attribute TYPE string, - list_selected_class TYPE string, -* areas TYPE STANDARD TABLE OF ty_c, - single_select TYPE abap_bool, - wrap_class TYPE string, - wrap_css TYPE string, - mouseout_delay TYPE i, - sort_list TYPE abap_bool, - config_timeout TYPE i, - scale_map TYPE abap_bool, - bound_list TYPE string, - fade TYPE abap_bool, - fade_duration TYPE i, - highliight TYPE abap_bool, - static_state TYPE abap_bool, - selected TYPE abap_bool, - is_selectable TYPE abap_bool, - is_deselectable TYPE abap_bool, - alt_image TYPE string, - alt_image_opacity(3) TYPE p DECIMALS 2, - fill TYPE abap_bool, - fill_color TYPE string, - fill_color_mask TYPE string, - fill_opacity(3) TYPE p DECIMALS 2, - stroke TYPE abap_bool, - stroke_color TYPE string, - stroke_opacity(3) TYPE p DECIMALS 2, - stroke_width(3) TYPE p DECIMALS 2, - render_highlight TYPE ty_render_select_highlight, - render_select TYPE ty_render_select_highlight, - END OF ty_c. - - CLASS-METHODS get_js_local - RETURNING - VALUE(result) TYPE string . - - CLASS-METHODS set_js_config - IMPORTING - !is_config TYPE ty_c OPTIONAL - !auto_resize TYPE abap_bool DEFAULT abap_false - PREFERRED PARAMETER is_config - RETURNING - VALUE(imagemapster_config) TYPE string . - - CLASS-METHODS load_editor_html - RETURNING - VALUE(result) TYPE string . - - CLASS-METHODS load_editor_js - RETURNING - VALUE(result) TYPE string . - - CLASS-METHODS load_editor_css - RETURNING - VALUE(result) TYPE string . - - CLASS-METHODS load_editor - IMPORTING - base64_data_uri TYPE string - filename TYPE string - RETURNING - VALUE(result) TYPE string . - - PROTECTED SECTION. - PRIVATE SECTION. - - -ENDCLASS. - - - -CLASS Z2UI5_CL_CC_IMAGEMAPSTER IMPLEMENTATION. - - - METHOD get_js_local. - result = `` && |\n| && -`!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof win` && -`dow?require("jquery"):require("jquery")(e)),a(t),t}:a(jQuery)}(function(jQuery){!function(a){"use strict";a.event&&a.event.special&&function(){var i,e=!1;try{var t=Object.defineProperty({},"passive&q` && -`uot;,{get:function(){return e=!0}});window.addEventListener("testPassive.mapster",function(){},t),window.removeEventListener("testPassive.mapster",function(){},t)}catch(e){}e&&(i=function(e,t,a){if(!e.includes("noPrev` && -`entDefault"))return console.warn("non-passive events - listener not added"),!1;window.addEventListener(t,a,{passive:!0})},a.event.special.touchstart={setup:function(e,t,a){return i(t,"touchstart",a)}},a.event.special.touchend` && -`={setup:function(e,t,a){return i(t,"touchend",a)}})}()}(jQuery),function($){"use strict";var mapster_version="1.5.4",Aa,Ba,Ca;$.fn.mapster=function(e){var t=$.mapster.impl;return $.mapster.utils.isFunction(t[e])?t[e].app` && -`ly(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof e&&e?void $.error("Method "+e+" does not exist on jQuery.mapster"):t.bind.apply(this,arguments)},$.mapster={version:mapster_version,render_default` && -`s:{isSelectable:!0,isDeselectable:!0,fade:!1,fadeDuration:150,fill:!0,fillColor:"000000",fillColorMask:"FFFFFF",fillOpacity:.7,highlight:!0,stroke:!1,strokeColor:"ff0000",strokeOpacity:1,strokeWidth:1,includeKeys:"&` && -`quot;,altImage:null,altImageId:null,altImages:{}},defaults:{clickNavigate:!1,navigateMode:"location",wrapClass:null,wrapCss:null,onGetList:null,sortList:!1,listenToList:!1,mapKey:"",mapValue:"",singleSelect:!1,listKey:&q` && -`uot;value",listSelectedAttribute:"selected",listSelectedClass:null,onClick:null,onMouseover:null,onMouseout:null,mouseoutDelay:0,onStateChange:null,boundList:null,onConfigured:null,configTimeout:3e4,noHrefIsMask:!0,scaleMap:!0,enableAu` && -`toResizeSupport:!1,autoResize:!1,autoResizeDelay:0,autoResizeDuration:0,onAutoResize:null,safeLoad:!1,areas:[]},shared_defaults:{render_highlight:{fade:!0},render_select:{fade:!1},staticState:null,selected:null},area_defaults:{includeKeys:""` && -`;,isMask:!1},canvas_style:{position:"absolute",left:0,top:0,padding:0,border:0},hasCanvas:null,map_cache:[],hooks:{},addHook:function(e,t){this.hooks[e]=(this.hooks[e]||[]).push(t)},callHooks:function(e,a){$.each(this.hooks[e]||[],function(` && -`e,t){t.apply(a)})},utils:{when:{all:function(e){return Promise.all(e)},defer:function(){return new function(){this.promise=new Promise(function(e,t){this.resolve=e,this.reject=t}.bind(this)),this.then=this.promise.then.bind(this.promise),this.catch=t` && -`his.promise.catch.bind(this.promise)}}},defer:function(){return this.when.defer()},subclass:function(a,i){function e(){var e=this,t=Array.prototype.slice.call(arguments,0);e.base=a.prototype,e.base.init=function(){a.prototype.constructor.apply(e,t)},` && -`i.apply(e,t)}return(e.prototype=new a).constructor=e},asArray:function(e){return e.constructor===Array?e:this.split(e)},split:function(e,t){for(var a,i=e.split(","),n=0;n<i.length;n++)""===(a=i[n]?i[n].trim():"")?i.sp` && -`lice(n,1):i[n]=t?t(a):a;return i},updateProps:function(e,t){var i=e||{},e=$.isEmptyObject(i)?t:e,n=[];return $.each(e,function(e){n.push(e)}),$.each(Array.prototype.slice.call(arguments,1),function(e,a){$.each(a||{},function(e){var t;(!n||0<=$.inA` && -`rray(e,n))&&(t=a[e],$.isPlainObject(t)?i[e]=$.extend(i[e]||{},t):t&&t.constructor===Array?i[e]=t.slice(0):void 0!==t&&(i[e]=a[e]))})}),i},isElement:function(e){return"object"==typeof HTMLElement?e instanceof HTMLElem` && -`ent:e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName},indexOf:function(e,t){if(Array.prototype.indexOf)return Array.prototype.indexOf.call(e,t);for(var a=0;a<e.length;a++)if(e[a]===t)re` && -`turn a;return-1},indexOfProp:function(e,a,i){var n=e.constructor===Array?-1:null;return $.each(e,function(e,t){if(t&&(a?t[a]:t)===i)return n=e,!1}),n},boolOrDefault:function(e,t){return this.isBool(e)?e:t||!1},isBool:function(e){return"b` && -`oolean"==typeof e},isUndef:function(e){return void 0===e},isFunction:function(e){return"function"==typeof e},ifFunction:function(e,t,a){this.isFunction(e)&&e.call(t,a)},size:function(e,t){var a=$.mapster.utils;return{width:t?e.` && -`width||e.naturalWidth:a.imgWidth(e,!0),height:t?e.height||e.naturalHeight:a.imgHeight(e,!0),complete:function(){return!!this.height&&!!this.width}}},setOpacity:function(e,a){$.mapster.hasCanvas()?e.style.opacity=a:$(e).each(function(e,t){void` && -` 0!==t.opacity?t.opacity=a:$(t).css("opacity",a)})},fader:(Aa={},Ba=0,Ca=function(e,t,a,i){var n,o,s=i/15,r=$.mapster.utils;if("number"==typeof e){if(!(o=Aa[e]))return}else(n=r.indexOfProp(Aa,null,e))&&delete Aa[n],Aa[++Ba` && -`]=o=e,e=Ba;t=(a=a||1)-.01<t+a/s?a:t+a/s,r.setOpacity(o,t),t<a&&setTimeout(function(){Ca(e,t,a,i)},15)},Ca),getShape:function(e){return(e.shape||"rect").toLowerCase()},hasAttribute:function(e,t){t=$(e).attr(t);return void 0!==t` && -`&&!1!==t}},getBoundList:function(a,e){if(!a.boundList)return null;var i,n,o=$(),s=$.mapster.utils.split(e);return a.boundList.each(function(e,t){for(i=0;i<s.length;i++)n=s[i],$(t).is("["+a.listKey+'="'+n+'"]` && -`')&&(o=o.add(t))}),o},getMapDataIndex:function(e){var t,a;switch(e.tagName&&e.tagName.toLowerCase()){case"area":a=$(e).parent().attr("name"),t=$("img[usemap='#"+a+"']")[0];break;case` && -`"img":t=e}return t?this.utils.indexOfProp(this.map_cache,"image",t):-1},getMapData:function(e){e=this.getMapDataIndex(e.length?e[0]:e);if(0<=e)return 0<=e?this.map_cache[e]:null},queueCommand:function(e,t,a,i){return!!e&` && -`&(!(e.complete&&!e.currentAction)&&(e.commands.push({that:t,command:a,args:i}),!0))},unload:function(){return this.impl.unload(),this.utils=null,this.impl=null,$.fn.mapster=null,$.mapster=null,$("*").off(".mapster&q` && -`uot;)}};var m=$.mapster,u=m.utils,ap=Array.prototype;$.each(["width","height"],function(e,a){var i=a.substr(0,1).toUpperCase()+a.substr(1);u["img"+i]=function(e,t){return(t?$(e)[a]():0)||e[a]||e["natural"+i]||e` && -`["client"+i]||e["offset"+i]}}),m.Method=function(e,t,a,i){var n=this;n.name=i.name,n.output=e,n.input=e,n.first=i.first||!1,n.args=i.args?ap.slice.call(i.args,0):[],n.key=i.key,n.func_map=t,n.func_area=a,n.name=i.name,n.allowAsync` && -`=i.allowAsync||!1},m.Method.prototype={constructor:m.Method,go:function(){for(var e,t,a,i=this.input,n=[],o=this,s=i.length,r=0;r<s;r++)if(e=$.mapster.getMapData(i[r]))if(o.allowAsync||!m.queueCommand(e,o.input,o.name,o.args)){if((t=e.getData(&quo` && -`t;AREA"===i[r].nodeName?i[r]:this.key))?$.inArray(t,n)<0&&n.push(t):a=this.func_map.apply(e,o.args),this.first||void 0!==a)break}else this.first&&(a="");return $(n).each(function(e,t){a=o.func_area.apply(t,o.args)}),` && -`void 0!==a?a:this.output}},$.mapster.impl=function(){var me={},addMap=function(e){return m.map_cache.push(e)-1},removeMap=function(e){m.map_cache.splice(e.index,1);for(var t=m.map_cache.length-1;t>=e.index;t--)m.map_cache[t].index--};function hasV` && -`ml(){var e=$("<div />").appendTo("body");e.html('<v:shape id="vml_flag1" adj="1" />');var t=e[0].firstChild;t.style.behavior="url(#default#VML)";t=!t||"object"==typeof t.` && -`adj;return e.remove(),t}function namespaces(){return"object"==typeof document.namespaces?document.namespaces:null}function hasCanvas(){var e=namespaces();return(!e||!e.g_vml_)&&!!$("<canvas />")[0].getContext}functio` && -`n merge_areas(a,e){var i,n=a.options.areas;e&&$.each(e,function(e,t){t&&t.key&&(0<=(i=u.indexOfProp(n,"key",t.key))?$.extend(n[i],t):n.push(t),(i=a.getDataForKey(t.key))&&$.extend(i.options,t))})}function ` && -`merge_options(e,t){var a=u.updateProps({},t);delete a.areas,u.updateProps(e.options,a),merge_areas(e,t.areas),u.updateProps(e.area_options,e.options)}return me.get=function(e){var t=m.getMapData(this);if(!t||!t.complete)throw"Can't access da` && -`ta until binding complete.";return new m.Method(this,function(){return this.getSelected()},function(){return this.isSelected()},{name:"get",args:arguments,key:e,first:!0,allowAsync:!0,defaultReturn:""}).go()},me.data=function` && -`(e){return new m.Method(this,null,function(){return this},{name:"data",args:arguments,key:e}).go()},me.highlight=function(t){return new m.Method(this,function(){if(!1!==t){var e=this.highlightId;return 0<=e?this.data[e].key:null}this.ens` && -`ureNoHighlight()},function(){this.highlight()},{name:"highlight",args:arguments,key:t,first:!0}).go()},me.keys=function(e,i){var n=[],a=m.getMapData(this);if(!a||!a.complete)throw"Can't access data until binding complete.";fun` && -`ction o(e){var t,a=[];i?(t=e.areas(),$.each(t,function(e,t){a=a.concat(t.keys)})):a.push(e.key),$.each(a,function(e,t){$.inArray(t,n)<0&&n.push(t)})}return a&&a.complete?("string"==typeof e?i?o(a.getDataForKey(e)):n=[a.ge` && -`tKeysForGroup(e)]:(i=e,this.each(function(e,t){"AREA"===t.nodeName&&o(a.getDataForArea(t))})),n.join(",")):""},me.select=function(){me.set.call(this,!0)},me.deselect=function(){me.set.call(this,!1)},me.set=functi` && -`on(i,n,e){var o,s,r,c,l=e;function h(e){e&&$.inArray(e,c)<0&&(c.push(e),r+=(""===r?"":",")+e.key)}function p(e){$.each(c,function(e,t){!function(e){if(e){switch(i){case!0:e.select(l);break;case!1:e.des` && -`elect(!0);break;default:e.toggle(l)}}}(t)}),i||e.removeSelectionFinish()}return this.filter("img,area").each(function(e,t){var a;(s=m.getMapData(t))!==o&&(o&&p(o),c=[],r=""),s&&(a="","IMG&quo` && -`t;===t.nodeName.toUpperCase()?m.queueCommand(s,$(t),"set",[i,n,l])||(n instanceof Array?n.length&&(a=n.join(",")):a=n,a&&$.each(u.split(a),function(e,t){h(s.getDataForKey(t.toString())),o=s})):(l=n,m.queueCommand(s` && -`,$(t),"set",[i,l])||(h(s.getDataForArea(t)),o=s)))}),s&&p(s),this},me.unbind=function(e){return new m.Method(this,function(){this.clearEvents(),this.clearMapData(e),removeMap(this)},null,{name:"unbind",args:arguments}).go(` && -`)},me.rebind=function(t){return new m.Method(this,function(){var e=this;e.complete=!1,e.configureOptions(t),e.bindImages().then(function(){e.buildDataset(!0),e.complete=!0,e.onConfigured()})},null,{name:"rebind",args:arguments}).go()},me.ge` && -`t_options=function(e,t){var a=u.isBool(e)?e:t;return new m.Method(this,function(){var e=$.extend({},this.options);return a&&(e.render_select=u.updateProps({},m.render_defaults,e,e.render_select),e.render_highlight=u.updateProps({},m.render_de` && -`faults,e,e.render_highlight)),e},function(){return a?this.effectiveOptions():this.options},{name:"get_options",args:arguments,first:!0,allowAsync:!0,key:e}).go()},me.set_options=function(e){return new m.Method(this,function(){merge_options(` && -`this,e)},null,{name:"set_options",args:arguments}).go()},me.unload=function(){for(var e=m.map_cache.length-1;0<=e;e--)m.map_cache[e]&&me.unbind.call($(m.map_cache[e].image));me.graphics=null},me.snapshot=function(){return new m.M` && -`ethod(this,function(){$.each(this.data,function(e,t){t.selected=!1}),this.base_canvas=this.graphics.createVisibleCanvas(this),$(this.image).before(this.base_canvas)},null,{name:"snapshot"}).go()},me.state=function(){var a,i=null;return $(th` && -`is).each(function(e,t){if("IMG"===t.nodeName)return(a=m.getMapData(t))&&(i=a.state()),!1}),i},me.bind=function(o){return this.each(function(e,t){var a,i=$(t),n=m.getMapData(t);if(n){if(me.unbind.apply(i),!n.complete)return!0;n=null}` && -`if(t=(a=this.getAttribute("usemap"))&&$('map[name="'+a.substr(1)+'"]'),!(i.is("img")&&a&&0<t.length))return!0;i.css("border",0),n||((n=new m.MapData(this,o)).index=add` && -`Map(n),n.map=t,n.bindImages().then(function(){n.initialize()}))})},me.init=function(e){var a,t;m.hasCanvas=function(){return u.isBool(m.hasCanvas.value)||(m.hasCanvas.value=u.isBool(e)?e:hasCanvas()),m.hasCanvas.value},m.hasVml=function(){var e;retur` && -`n u.isBool(m.hasVml.value)||((e=namespaces())&&!e.v&&(e.add("v","urn:schemas-microsoft-com:vml"),a=document.createStyleSheet(),t=["shape","rect","oval","circ","fill"` && -`;,"stroke","imagedata","group","textbox"],$.each(t,function(e,t){a.addRule("v\\:"+t,"behavior: url(#default#VML); antialias:true")})),m.hasVml.value=hasVml()),m.hasVml.value},$.extend(m.defa` && -`ults,m.render_defaults,m.shared_defaults),$.extend(m.area_defaults,m.render_defaults,m.shared_defaults)},me.test=function(obj){return eval(obj)},me}(),$.mapster.impl.init()}(jQuery),function(h){"use strict";var i,n,o,r=h.mapster,c=r.utils;f` && -`unction l(e,t,a){var i=e,n=i.map_data,o=a.isMask;h.each(t.areas(),function(e,t){a.isMask=o||t.nohref&&n.options.noHrefIsMask,i.addShape(t,a)}),a.isMask=o}function a(e){return Math.max(0,Math.min(parseInt(e,16),255))}function u(e,t){return&quo` && -`t;rgba("+a(e.substr(0,2))+","+a(e.substr(2,2))+","+a(e.substr(4,2))+","+t+")"}function s(){}r.Graphics=function(e){var t=this;t.active=!1,t.canvas=null,t.width=0,t.height=0,t.shapes=[],t.masks=[],t.map_dat` && -`a=e},i=r.Graphics.prototype={constructor:r.Graphics,begin:function(e,t){var a=h(e);this.elementName=t,this.canvas=e,this.width=a.width(),this.height=a.height(),this.shapes=[],this.masks=[],this.active=!0},addShape:function(e,t){(t.isMask?this.masks:t` && -`his.shapes).push({mapArea:e,options:t})},createVisibleCanvas:function(e){return h(this.createCanvasFor(e)).addClass("mapster_el").css(r.canvas_style)[0]},addShapeGroup:function(e,a,t){var i,n=this,o=this.map_data,s=e.effectiveRenderOptions(` && -`a);t&&h.extend(s,t),t="select"===a?(i="static_"+e.areaId.toString(),o.base_canvas):o.overlay_canvas,n.begin(t,i),s.includeKeys&&(i=c.split(s.includeKeys),h.each(i,function(e,t){t=o.getDataForKey(t.toString());l(n,t` && -`,t.effectiveRenderOptions(a))})),l(n,e,s),n.render(),s.fade&&c.fader(r.hasCanvas()?t:h(t).find("._fill").not(".mapster_mask"),0,r.hasCanvas()?1:s.fillOpacity,s.fadeDuration)}},n={renderShape:function(e,t,a){var i,n=t.coord` && -`s(null,a);switch(t.shape){case"rect":case"rectangle":e.rect(n[0],n[1],n[2]-n[0],n[3]-n[1]);break;case"poly":case"polygon":for(e.moveTo(n[0],n[1]),i=2;i<t.length;i+=2)e.lineTo(n[i],n[i+1]);e.lineTo(n[0],n[1])` && -`;break;case"circ":case"circle":e.arc(n[0],n[1],n[2],0,2*Math.PI,!1)}},addAltImage:function(e,t,a,i){e.beginPath(),this.renderShape(e,a),e.closePath(),e.clip(),e.globalAlpha=i.altImageOpacity||i.fillOpacity,e.drawImage(t,0,0,a.owne` && -`r.scaleInfo.width,a.owner.scaleInfo.height)},render:function(){var e,a,i=this,n=i.map_data,t=i.masks.length,o=i.createCanvasFor(n),s=o.getContext("2d"),r=i.canvas.getContext("2d");return t&&(e=i.createCanvasFor(n),(a=e.get` && -`Context("2d")).clearRect(0,0,e.width,e.height),h.each(i.masks,function(e,t){a.save(),a.beginPath(),i.renderShape(a,t.mapArea),a.closePath(),a.clip(),a.lineWidth=0,a.fillStyle="#000",a.fill(),a.restore()})),h.each(i.shapes,function` && -`(e,t){s.save(),t.options.fill&&(t.options.altImageId?i.addAltImage(s,n.images[t.options.altImageId],t.mapArea,t.options):(s.beginPath(),i.renderShape(s,t.mapArea),s.closePath(),s.fillStyle=u(t.options.fillColor,t.options.fillOpacity),s.fill()` && -`)),s.restore()}),h.each(i.shapes.concat(i.masks),function(e,t){var a=1===t.options.strokeWidth?.5:0;t.options.stroke&&(s.save(),s.strokeStyle=u(t.options.strokeColor,t.options.strokeOpacity),s.lineWidth=t.options.strokeWidth,s.beginPath(),i.r` && -`enderShape(s,t.mapArea,a),s.closePath(),s.stroke(),s.restore())}),t?(a.globalCompositeOperation="source-out",a.drawImage(o,0,0),r.drawImage(e,0,0)):r.drawImage(o,0,0),i.active=!1,i.canvas},createCanvasFor:function(e){return h('<canva` && -`s width="'+e.scaleInfo.width+'" height="'+e.scaleInfo.height+'"></canvas>')[0]},clearHighlight:function(){var e=this.map_data.overlay_canvas;e.getContext("2d").clearRect(0,0,e.width,e.height)` && -`},refreshSelections:function(){var e=this.map_data,t=e.base_canvas;e.base_canvas=this.createVisibleCanvas(e),h(e.base_canvas).hide(),h(t).before(e.base_canvas),e.redrawSelections(),h(e.base_canvas).show(),h(t).remove()}},o={renderShape:function(e,t,a` && -`){var i,n=this,o=e.coords(),s=n.elementName?'name="'+n.elementName+'" ':"",r=a?'class="'+a+'" ':"",c='<v:fill color="#'+t.fillColor+'" class="_fill&` && -`quot; opacity="'+(t.fill?t.fillOpacity:0)+'" /><v:stroke class="_fill" opacity="'+t.strokeOpacity+'"/>',l=t.stroke?" strokeweight="+t.strokeWidth+' stroked="t" strokec` && -`olor="#'+t.strokeColor+'"':' stroked="f"',u=t.fill?' filled="t"':' filled="f"';switch(e.shape){case"rect":case"rectangle":i="<v:rect "+r+s+u+` && -`l+' style="zoom:1;margin:0;padding:0;display:block;position:absolute;left:'+o[0]+"px;top:"+o[1]+"px;width:"+(o[2]-o[0])+"px;height:"+(o[3]-o[1])+'px;">'+c+"</v:rect>";break;ca` && -`se"poly":case"polygon":i="<v:shape "+r+s+u+l+' coordorigin="0,0" coordsize="'+n.width+","+n.height+'" path="m '+o[0]+","+o[1]+" l "+o.slice(2).joi` && -`n(",")+' x e" style="zoom:1;margin:0;padding:0;display:block;position:absolute;top:0px;left:0px;width:'+n.width+"px;height:"+n.height+'px;">'+c+"</v:shape>";break;case"circ&qu` && -`ot;:case"circle":i="<v:oval "+r+s+u+l+' style="zoom:1;margin:0;padding:0;display:block;position:absolute;left:'+(o[0]-o[2])+"px;top:"+(o[1]-o[2])+"px;width:"+2*o[2]+"px;height:"+2*o[2]` && -`+'px;">'+c+"</v:oval>"}return e=h(i),h(n.canvas).append(e),e},render:function(){var a,i=this;return h.each(this.shapes,function(e,t){i.renderShape(t.mapArea,t.options)}),this.masks.length&&h.each(this.masks,fun` && -`ction(e,t){a=c.updateProps({},t.options,{fillOpacity:1,fillColor:t.options.fillColorMask}),i.renderShape(t.mapArea,a,"mapster_mask")}),this.active=!1,this.canvas},createCanvasFor:function(e){var t=e.scaleInfo.width,e=e.scaleInfo.height;retu` && -`rn h('<var width="'+t+'" height="'+e+'" style="zoom:1;overflow:hidden;display:block;width:'+t+"px;height:"+e+'px;"></var>')[0]},clearHighlight:function(){h(this.map_d` && -`ata.overlay_canvas).children().remove()},removeSelections:function(e){(0<=e?h(this.map_data.base_canvas).find('[name="static_'+e.toString()+'"]'):h(this.map_data.base_canvas).children()).remove()}},h.each(["renderSha` && -`pe","addAltImage","render","createCanvasFor","clearHighlight","removeSelections","refreshSelections"],function(e,t){var a;i[t]=(a=t,function(){return i[a]=(r.hasCanvas()?n:o)[a]||s,i[a]` && -`.apply(this,arguments)})})}(jQuery),function(o){"use strict";var e=o.mapster,n=e.utils,t=[];e.MapImages=function(e){this.owner=e,this.clear()},e.MapImages.prototype={constructor:e.MapImages,slice:function(){return t.slice.apply(this,argumen` && -`ts)},splice:function(){return t.slice.apply(this.status,arguments),t.slice.apply(this,arguments)},complete:function(){return o.inArray(!1,this.status)<0},_add:function(e){e=t.push.call(this,e)-1;return this.status[e]=!1,e},indexOf:function(e){retu` && -`rn n.indexOf(this,e)},clear:function(){var a=this;a.ids&&0<a.ids.length&&o.each(a.ids,function(e,t){delete a[t]}),a.ids=[],a.length=0,a.status=[],a.splice(0)},add:function(e,t){var a,i,n=this;if(e){if("string"==typeof e){` && -`if("object"==typeof(e=n[i=e]))return n.indexOf(e);e=o("<img />").addClass("mapster_el").hide(),a=n._add(e[0]),e.on("load.mapster",function(e){n.imageLoaded.call(n,e)}).on("error.mapster",functio` && -`n(e){n.imageLoadError.call(n,e)}),e.attr("src",i)}else a=n._add(o(e)[0]);if(t){if(this[t])throw t+" is already used or is not available as an altImage alias.";n.ids.push(t),n[t]=n[a]}return a}},bind:function(){var t=this,a=t.owner` && -`.options.configTimeout/200,i=function(){for(var e=t.length;0<e--&&t.isLoaded(e););t.complete()?t.resolve():0<a--?t.imgTimeout=window.setTimeout(function(){i.call(t,!0)},50):t.imageLoadError.call(t)},e=t.deferred=n.defer();return i(),e},` && -`resolve:function(){var e=this.deferred;e&&(this.deferred=null,e.resolve())},imageLoaded:function(e){e=this.indexOf(e.target);0<=e&&(this.status[e]=!0,o.inArray(!1,this.status)<0&&this.resolve())},imageLoadError:function(` && -`e){throw clearTimeout(this.imgTimeout),this.triesLeft=0,e?"The image "+e.target.src+" failed to load.":"The images never seemed to finish loading. You may just need to increase the configTimeout if images could take a long ti` && -`me to load."},isLoaded:function(e){var t,a=this.status;return!!a[e]||(void 0!==(t=this[e]).complete?a[e]=t.complete:a[e]=!!n.imgWidth(t),a[e])}}}(jQuery),function(y){"use strict";var w=y.mapster,d=w.utils;function a(e){var t=e.options,` && -`a=e.images;w.hasCanvas()&&(y.each(t.altImages||{},function(e,t){a.add(t,e)}),y.each([t].concat(t.areas),function(e,t){y.each([t=t,t.render_highlight,t.render_select],function(e,t){t&&t.altImage&&(t.altImageId=a.add(t.altImage)` && -`)})})),e.area_options=d.updateProps({},w.area_defaults,t)}function b(e){return!!e&&"#"!==e}function f(e){w.hasCanvas()||this.blur(),e.preventDefault()}function i(t,e){var a=t.getDataForArea(this),i=t.options;t.currentAreaId<0||!a` && -`||t.getDataForArea(e.relatedTarget)!==a&&(t.currentAreaId=-1,a.area=null,function e(t,a,i,n){return n=n||d.when.defer(),t.activeAreaEvent&&(window.clearTimeout(t.activeAreaEvent),t.activeAreaEvent=0),a<0?n.resolve({completeAction:!` && -`1}):i.owner.currentAction||a?t.activeAreaEvent=window.setTimeout(function(){e(t,0,i,n)},a||100):(a=i.areaId,t.currentAreaId!==a&&0<=t.highlightId&&n.resolve({completeAction:!0})),n}(t,i.mouseoutDelay,a).then(function(e){e.completeA` && -`ction&&t.clearEffects()}),d.isFunction(i.onMouseout)&&i.onMouseout.call(this,{e:e,options:i,key:a.key,selected:a.isSelected()}))}w.MapData=function(e,t){var a=this;a.image=e,a.images=new w.MapImages(a),a.graphics=new w.Graphics(a),a.i` && -`mgCssText=e.style.cssText||null,e=a,y.extend(e,{complete:!1,map:null,base_canvas:null,overlay_canvas:null,commands:[],data:[],mapAreas:[],_xref:{},highlightId:-1,currentAreaId:-1,_tooltip_events:[],scaleInfo:null,index:-1,activeAreaEvent:null,autoRes` && -`izeTimer:null}),a.configureOptions(t),a.mouseover=function(e){!function(e,t){var a=e.getAllDataForArea(this),i=a.length?a[0]:null;!i||i.isNotRendered()||i.owner.currentAction||e.currentAreaId!==i.areaId&&(e.highlightId!==i.areaId&&(e.` && -`clearEffects(),i.highlight(),e.options.showToolTip&&y.each(a,function(e,t){t.effectiveOptions().toolTip&&t.showToolTip()})),e.currentAreaId=i.areaId,d.isFunction(e.options.onMouseover)&&e.options.onMouseover.call(this,{e:t,opt` && -`ions:i.effectiveOptions(),key:i.key,selected:i.isSelected()}))}.call(this,a,e)},a.mouseout=function(e){i.call(this,a,e)},a.click=function(e){!function(a,i){var n,o,s,r,e,c=this,t=a.getDataForArea(this),l=a.options;function u(e,t,a){return"open&q` && -`uot;!==e?void(window.location.href=t):void window.open(t,a||"_self")}function h(e,t,a){if("open"!==t)return{href:a};t=y(e.area).attr("href"),a=b(t);return{href:a?t:e.href,target:a?y(e.area).attr("target"):e.hre` && -`fTarget}}function p(e){var t;if(s=e.isSelectable()&&(e.isDeselectable()||!e.isSelected()),o=s?!e.isSelected():e.isSelected(),n=w.getBoundList(l,e.key),d.isFunction(l.onClick)&&(r=l.onClick.call(c,{e:i,listTarget:n,key:e.key,selected:o` && -`}),d.isBool(r))){if(!r)return;if(b((t=h(e,l.navigateMode,y(e.area).attr("href"))).href))return void u(l.navigateMode,t.href,t.target)}s&&e.toggle()}f.call(this,i),e=h(t,l.navigateMode,t.href),l.clickNavigate&&b(e.href)?u(l.n` && -`avigateMode,e.href,e.target):t&&!t.owner.currentAction&&(l=a.options,p(t),(t=t.effectiveOptions()).includeKeys&&(t=d.split(t.includeKeys),y.each(t,function(e,t){t=a.getDataForKey(t.toString());t.options.isMask||p(t)})))}.call(` && -`this,a,e)},a.clearEffects=function(e){!function(e){var t=e.options;e.ensureNoHighlight(),t.toolTipClose&&0<=y.inArray("area-mouseout",t.toolTipClose)&&e.activeToolTip&&e.clearToolTip()}.call(this,a,e)},a.mousedown` && -`=function(e){f.call(this,e)}},w.MapData.prototype={constructor:w.MapData,configureOptions:function(e){this.options=d.updateProps({},w.defaults,e)},bindImages:function(){var e=this,t=e.images;return 2<t.length?t.splice(2):0===t.length&&(t.a` && -`dd(e.image),t.add(e.image.src)),a(e),e.images.bind()},isActive:function(){return!this.complete||this.currentAction},state:function(){return{complete:this.complete,resizing:"resizing"===this.currentAction,zoomed:this.zoomed,zoomedArea:this.z` && -`oomedArea,scaleInfo:this.scaleInfo}},wrapId:function(){return"mapster_wrap_"+this.index},instanceEventNamespace:function(){return".mapster."+this.wrapId()},_idFromKey:function(e){return"string"==typeof e&&Object.` && -`prototype.hasOwnProperty.call(this._xref,e)?this._xref[e]:-1},getSelected:function(){var a="";return y.each(this.data,function(e,t){t.isSelected()&&(a+=(a?",":"")+this.key)}),a},getAllDataForArea:function(e,t){va` && -`r a,i,n,o=y(e).filter("area").attr(this.options.mapKey);if(o)for(n=[],o=d.split(o),a=0;a<(t||o.length);a++)(i=this.data[this._idFromKey(o[a])])&&(i.area=e.length?e[0]:e,n.push(i));return n},getDataForArea:function(e){e=this.getAl` && -`lDataForArea(e,1);return e&&e[0]||null},getDataForKey:function(e){return this.data[this._idFromKey(e)]},getKeysForGroup:function(e){e=this.getDataForKey(e);return e?e.isPrimary?e.key:this.getPrimaryKeysForMapAreas(e.areas()).join(","` && -`;):""},getPrimaryKeysForMapAreas:function(e){var a=[];return y.each(e,function(e,t){y.inArray(t.keys[0],a)<0&&a.push(t.keys[0])}),a},getData:function(e){return"string"==typeof e?this.getDataForKey(e):e&&e.mapste` && -`r||d.isElement(e)?this.getDataForArea(e):null},ensureNoHighlight:function(){0<=this.highlightId&&(this.graphics.clearHighlight(),this.data[this.highlightId].changeState("highlight",!1),this.setHighlightId(-1))},setHighlightId:fun` && -`ction(e){this.highlightId=e},clearSelections:function(){y.each(this.data,function(e,t){t.selected&&t.deselect(!0)}),this.removeSelectionFinish()},setAreaOptions:function(e){for(var t,a,i=(e=e||[]).length-1;0<=i;i--)(t=e[i])&&(a=thi` && -`s.getDataForKey(t.key))&&(d.updateProps(a.options,t),d.isBool(t.selected)&&(a.selected=t.selected))},drawSelections:function(e){for(var t=d.asArray(e),a=t.length-1;0<=a;a--)this.data[t[a]].drawSelection()},redrawSelections:function` && -`(){y.each(this.data,function(e,t){t.isSelectedOrStatic()&&t.drawSelection()})},setBoundListProperties:function(a,e,i){e.each(function(e,t){a.listSelectedClass&&(i?y(t).addClass(a.listSelectedClass):y(t).removeClass(a.listSelectedClass` && -`)),a.listSelectedAttribute&&y(t).prop(a.listSelectedAttribute,i)})},clearBoundListProperties:function(e){e.boundList&&this.setBoundListProperties(e,e.boundList,!1)},refreshBoundList:function(e){this.clearBoundListProperties(e),this.se` && -`tBoundListProperties(e,w.getBoundList(e,this.getSelected()),!0)},setBoundList:function(e){var a,t=this.data.slice(0);e.sortList&&(a="desc"===e.sortList?function(e,t){return e===t?0:t<e?-1:1}:function(e,t){return e===t?0:e<t?-1` && -`:1},t.sort(function(e,t){return e=e.value,t=t.value,a(e,t)})),this.options.boundList=e.onGetList.call(this.image,t)},initialize:function(){var e,t,a,i,n,o,s,r,c=this,l=c.options;if(!c.complete){for((o=(s=y(c.image)).parent().attr("id"))&` && -`;&12<=o.length&&"mapster_wrap"===o.substring(0,12)?(i=s.parent()).attr("id",c.wrapId()):(i=y('<div id="'+c.wrapId()+'"></div>'),l.wrapClass&&(!0===l.wrapClass?i.addClass` && -`(s[0].className):i.addClass(l.wrapClass))),c.wrapper=i,c.scaleInfo=r=d.scaleMap(c.images[0],c.images[1],l.scaleMap),c.base_canvas=t=c.graphics.createVisibleCanvas(c),c.overlay_canvas=a=c.graphics.createVisibleCanvas(c),e=y(c.images[1]).addClass("` && -`;mapster_el "+c.images[0].className).attr({id:null,usemap:null}),(o=d.size(c.images[0])).complete&&e.css({width:o.width,height:o.height}),c.buildDataset(),r=y.extend({display:"block",position:"relative",padding:0},!0=` && -`==l.enableAutoResizeSupport?{}:{width:r.width,height:r.height}),l.wrapCss&&y.extend(r,l.wrapCss),s.parent()[0]!==c.wrapper[0]&&s.before(c.wrapper),i.css(r),y(c.images.slice(2)).hide(),n=1;n<c.images.length;n++)i.append(c.images[n])` && -`;i.append(t).append(a).append(s.css(w.canvas_style)),d.setOpacity(c.images[0],0),y(c.images[1]).show(),d.setOpacity(c.images[1],1),c.complete=!0,c.processCommandQueue(),!0===l.enableAutoResizeSupport&&c.configureAutoResize(),c.onConfigured()}` && -`},onConfigured:function(){var e=y(this.image),t=this.options;t.onConfigured&&"function"==typeof t.onConfigured&&t.onConfigured.call(e,!0)},buildDataset:function(e){var t,a,i,n,o,s,r,c,l,u,h,p,d,f,m=this,g=m.options;function ` && -`v(e,t){t=new w.AreaData(m,e,t);return t.areaId=m._xref[e]=m.data.push(t)-1,t.areaId}for(m._xref={},m.data=[],e||(m.mapAreas=[]),(f=!g.mapKey)&&(g.mapKey="data-mapster-key"),t=w.hasVml()?"area":f?"area[coords]":&q` && -`uot;area["+g.mapKey+"]",a=y(m.map).find(t).off(".mapster"),u=0;u<a.length;u++)if(n=0,d=a[u],o=y(d),d.coords){for(f?(s=String(u),o.attr("data-mapster-key",s)):s=d.getAttribute(g.mapKey),e?((r=m.mapAreas[o.data(&qu` && -`ot;mapster")-1]).configure(s),r.areaDataXref=[]):(r=new w.MapArea(m,d,s),m.mapAreas.push(r)),i=(l=r.keys).length-1;0<=i;i--)c=l[i],g.mapValue&&(h=o.attr(g.mapValue)),f?(n=v(m.data.length,h),(p=m.data[n]).key=c=n.toString()):0<=(n=m` && -`._xref[c])?(p=m.data[n],h&&!m.data[n].value&&(p.value=h)):(n=v(c,h),(p=m.data[n]).isPrimary=0===i),r.areaDataXref.push(n),p.areasXref.push(u);b(d=o.attr("href"))&&!p.href&&(p.href=d,p.hrefTarget=o.attr("` && -`target")),r.nohref||o.on("click.mapster",m.click).on("mouseover.mapster touchstart.mapster.noPreventDefault",m.mouseover).on("mouseout.mapster touchend.mapster.noPreventDefault",m.mouseout).on("mousedown.mapste` && -`r",m.mousedown),o.data("mapster",u+1)}m.setAreaOptions(g.areas),g.onGetList&&m.setBoundList(g),g.boundList&&0<g.boundList.length&&m.refreshBoundList(g),e?(m.graphics.removeSelections(),m.graphics.refreshSelec` && -`tions()):m.redrawSelections()},processCommandQueue:function(){for(var e;!this.currentAction&&this.commands.length;)e=this.commands[0],this.commands.splice(0,1),w.impl[e.command].apply(e.that,e.args)},clearEvents:function(){y(this.map).find(&q` && -`uot;area").off(".mapster"),y(this.images).off(".mapster"),y(window).off(this.instanceEventNamespace()),y(window.document).off(this.instanceEventNamespace())},_clearCanvases:function(e){e||y(this.base_canvas).remove(),y(this.o` && -`verlay_canvas).remove()},clearMapData:function(e){this._clearCanvases(e),y.each(this.data,function(e,t){t.reset()}),this.data=null,e||(this.image.style.cssText=this.imgCssText,y(this.wrapper).before(this.image).remove()),this.images.clear(),this.auto` && -`ResizeTimer&&clearTimeout(this.autoResizeTimer),this.autoResizeTimer=null,this.image=null,d.ifFunction(this.clearToolTip,this)},removeSelectionFinish:function(){var e=this.graphics;e.refreshSelections(),e.clearHighlight()}}}(jQuery),function(` && -`o){"use strict";var a=o.mapster,n=a.utils;function s(e){e=o(e);return n.hasAttribute(e,"nohref")||!n.hasAttribute(e,"href")}a.AreaData=function(e,t,a){o.extend(this,{owner:e,key:t||"",isPrimary:!0,areaId:-1,hre` && -`f:"",hrefTarget:null,value:a||"",options:{},selected:null,staticStateOverridden:!1,areasXref:[],area:null,optsCache:null})},a.AreaData.prototype={constuctor:a.AreaData,select:function(e){var t=this,a=t.owner,i=(n=!o.isEmptyObject(` && -`e))?o.extend(t.effectiveRenderOptions("select"),e,{altImageId:a.images.add(e.altImage)}):null,e=n&&!(t.optsCache===i),n=t.isSelectedOrStatic();a.options.singleSelect&&(a.clearSelections(),n=t.isSelectedOrStatic()),e&&` && -`;(t.optsCache=i),i=t.updateSelected(!0),n&&e?(a.graphics.removeSelections(t.areaId),a.graphics.refreshSelections()):n||t.drawSelection(),i&&t.changeState("select",!0)},deselect:function(e){var t=this,a=t.updateSelected(!1);t` && -`.optsCache=null,t.owner.graphics.removeSelections(t.areaId),e||t.owner.removeSelectionFinish(),a&&t.changeState("select",!1)},toggle:function(e){return this.isSelected()?this.deselect():this.select(e),this.isSelected()},updateSelect` && -`ed:function(e){var t=this.selected;return this.selected=e,this.staticStateOverridden=!!n.isBool(this.effectiveOptions().staticState),t!==e},areas:function(){for(var e=[],t=0;t<this.areasXref.length;t++)e.push(this.owner.mapAreas[this.areasXref[t]]` && -`);return e},coords:function(a){var i=[];return o.each(this.areas(),function(e,t){i=i.concat(t.coords(a))}),i},reset:function(){o.each(this.areas(),function(e,t){t.reset()}),this.areasXref=[],this.options=null},isSelectedOrStatic:function(){var e=this` && -`.effectiveOptions();return!n.isBool(e.staticState)||this.staticStateOverridden?this.isSelected():e.staticState},isSelected:function(){return n.isBool(this.selected)?this.selected:!!n.isBool(this.owner.area_options.selected)&&this.owner.area_o` && -`ptions.selected},isSelectable:function(){return!n.isBool(this.effectiveOptions().staticState)&&(!n.isBool(this.owner.options.staticState)&&n.boolOrDefault(this.effectiveOptions().isSelectable,!0))},isDeselectable:function(){return!n.i` && -`sBool(this.effectiveOptions().staticState)&&(!n.isBool(this.owner.options.staticState)&&n.boolOrDefault(this.effectiveOptions().isDeselectable,!0))},isNotRendered:function(){return s(this.area)||this.effectiveOptions().isMask},effecti` && -`veOptions:function(e){e=n.updateProps({},this.owner.area_options,this.options,e||{},{id:this.areaId});return e.selected=this.isSelected(),e},effectiveRenderOptions:function(e,t){var a=this.optsCache;return a&&"highlight"!==e||(t=thi` && -`s.effectiveOptions(t),a=n.updateProps({},t,t["render_"+e]),"highlight"!==e&&(this.optsCache=a)),o.extend({},a)},changeState:function(e,t){n.isFunction(this.owner.options.onStateChange)&&this.owner.options.onStateCh` && -`ange.call(this.owner.image,{key:this.key,state:e,selected:t}),"select"===e&&this.owner.options.boundList&&this.owner.setBoundListProperties(this.owner.options,a.getBoundList(this.owner.options,this.key),t)},highlight:functio` && -`n(e){var t=this.owner;t.ensureNoHighlight(),this.effectiveOptions().highlight&&t.graphics.addShapeGroup(this,"highlight",e),t.setHighlightId(this.areaId),this.changeState("highlight",!0)},drawSelection:function(){this.owne` && -`r.graphics.addShapeGroup(this,"select")}},a.MapArea=function(e,t,a){var i;e&&((i=this).owner=e,i.area=t,i.areaDataXref=[],i.originalCoords=[],o.each(n.split(t.coords),function(e,t){i.originalCoords.push(parseFloat(t))}),i.length=i.o` && -`riginalCoords.length,i.shape=n.getShape(t),i.nohref=s(t),i.configure(a))},a.MapArea.prototype={constructor:a.MapArea,configure:function(e){this.keys=n.split(e)},reset:function(){this.area=null},coords:function(t){return o.map(this.originalCoords,func` && -`tion(e){return t?e:e+t})}}}(jQuery),function(x){"use strict";var M=x.mapster.utils;M.areaCorners=function(e,t,a,i,n){var o,s,r,c,l,u,h,p,d,f,m,g,v,y,w,b,k,A,S,C,_=0,T=0,I=[];for(e=e.length?e:[e],o=(a=x(a||document.body)).offset(),w=o.left,b` && -`=o.top,t&&(_=(o=x(t).offset()).left,T=o.top),y=0;y<e.length;y++)if("AREA"===(C=e[y]).nodeName){switch(k=M.split(C.coords,parseInt),M.getShape(C)){case"circle":case"circ":for(m=k[0],g=k[1],A=k[2],I=[],y=0;y<` && -`360;y+=20)S=y*Math.PI/180,I.push(m+A*Math.cos(S),g+A*Math.sin(S));break;case"rectangle":case"rect":I.push(k[0],k[1],k[2],k[1],k[2],k[3],k[0],k[3]);break;default:I=I.concat(k)}for(y=0;y<I.length;y+=2)I[y]=parseInt(I[y],10)+_,I[y` && -`+1]=parseInt(I[y+1],10)+T}else o=(C=x(C)).position(),I.push(o.left,o.top,o.left+C.width(),o.top,o.left+C.width(),o.top+C.height(),o.left,o.top+C.height());for(r=c=h=d=999999,l=u=p=f=-1,y=I.length-2;0<=y;y-=2)m=I[y],g=I[y+1],m<r&&(r=m,f=` && -`g),l<m&&(l=m,d=g),g<c&&(c=g,p=m),u<g&&(u=g,h=m);return i&&n&&(s=!1,x.each([[p-i,c-n],[h,c-n],[r-i,f-n],[r-i,d],[l,f-n],[l,d],[p-i,u],[h,u]],function(e,t){if(!s&&t[0]>w&&t[1]>b)ret` && -`urn v=t,!(s=!0)}),s||(v=[l,u])),v}}(jQuery),function(d){"use strict";var f=d.mapster,m=f.utils,e=f.MapArea.prototype;f.utils.getScaleInfo=function(e,t){var a;return t?.98<(a=e.width/t.width||e.height/t.height)&&a<1.02&&` && -`;(a=1):(a=1,t=e),{scale:1!==a,scalePct:a,realWidth:t.width,realHeight:t.height,width:e.width,height:e.height,ratio:e.width/e.height}},f.utils.scaleMap=function(e,t,a){e=m.size(e),t=m.size(t,!0);if(!t.complete())throw"Another script, such as an e` && -`xtension, appears to be interfering with image loading. Please let us know about this.";return e.complete()||(e=t),this.getScaleInfo(e,a?t:null)},f.MapData.prototype.resize=function(t,a,i,n){var o,s,r,c,e,l=this;function u(e,t,a){f.hasCanvas()?(` && -`e.width=t,e.height=a):(d(e).width(t),d(e).height(a))}function h(){var e;u(l.overlay_canvas,t,a),0<=c&&((e=l.data[c]).tempOptions={fade:!1},l.getDataForKey(e.key).highlight(),e.tempOptions=null),u(l.base_canvas,t,a),l.redrawSelections(),l.c` && -`urrentAction="",m.isFunction(n)&&n(),l.processCommandQueue()}function p(){d(l.image).css(r),l.scaleInfo=m.getScaleInfo({width:t,height:a},{width:l.scaleInfo.realWidth,height:l.scaleInfo.realHeight}),d.each(l.data,function(e,t){d.eac` && -`h(t.areas(),function(e,t){t.resize()})})}n=n||i,l.scaleInfo.width===t&&l.scaleInfo.height===a||(c=l.highlightId,t||(e=a/l.scaleInfo.realHeight,t=Math.round(l.scaleInfo.realWidth*e)),a||(e=t/l.scaleInfo.realWidth,a=Math.round(l.scaleInfo.realH` && -`eight*e)),r={width:String(t)+"px",height:String(a)+"px"},f.hasCanvas()||d(l.base_canvas).children().remove(),e=d(l.wrapper).find(".mapster_el"),!0!==l.options.enableAutoResizeSupport&&(e=e.add(l.wrapper)),i?(s=[]` && -`,l.currentAction="resizing",e.filter(":visible").each(function(e,t){o=m.defer(),s.push(o),d(t).animate(r,{duration:i,complete:o.resolve,easing:"linear"})}),e.filter(":hidden").css(r),o=m.defer(),s.push(o),m.whe` && -`n.all(s).then(h),p(),o.resolve()):(e.css(r),p(),h()))},f.MapData.prototype.autoResize=function(e,t){this.resize(d(this.wrapper).width(),null,e,t)},f.MapData.prototype.configureAutoResize=function(){var e=this,t=e.instanceEventNamespace();function a()` && -`{!0===e.options.autoResize&&e.autoResize(e.options.autoResizeDuration,e.options.onAutoResize)}d(e.image).on("load"+t,a),d(window).on("focus"+t,a),d(window).on("resize"+t,function(){e.autoResizeTimer&&clea` && -`rTimeout(e.autoResizeTimer),e.autoResizeTimer=setTimeout(a,e.options.autoResizeDelay)}),d(window).on("readystatechange"+t,a),d(window.document).on("fullscreenchange"+t,a),a()},f.MapArea=m.subclass(f.MapArea,function(){this.base.in` && -`it(),this.owner.scaleInfo.scale&&this.resize()}),e.coords=function(e,t){var a,i=[],n=e||this.owner.scaleInfo.scalePct,o=t||0;if(1===n&&0===t)return this.originalCoords;for(a=0;a<this.length;a++)i.push(Math.round(this.originalCoords` && -`[a]*n)+o);return i},e.resize=function(){this.area.coords=this.coords().join(",")},e.reset=function(){this.area.coords=this.coords(1).join(",")},f.impl.resize=function(t,a,i,n){return new f.Method(this,function(){var e=!t&&` && -`!a;if(!(this.options.enableAutoResizeSupport&&this.options.autoResize&&e))return!e&&void this.resize(t,a,i,n);this.autoResize(i,n)},null,{name:"resize",args:arguments}).go()}}(jQuery),function(c){"use strict&quo` && -`t;;var e=c.mapster,l=e.utils;function u(e,t,a){var i;return t?(i="string"==typeof t?c(t):c(t).clone()).append(e):i=c(e),i.css(c.extend(a||{},{display:"block",position:"absolute"})).hide(),c("body").append(i),i.` && -`attr("data-opacity",i.css("opacity")).css("opacity",0),i.show()}function h(e,t,a,i,n,o){var s=".mapster.tooltip",a=a+s;return 0<=c.inArray(t,e)&&(i.off(a).on(a,function(e){n&&!n.call(this,e)|` && -`|(i.off(s),o&&o.call(this))}),1)}function p(e,t,a,i,n){var o,s={};return n=n||{},t?(o=l.areaCorners(t,a,i,e.outerWidth(!0),e.outerHeight(!0)),s.left=o[0],s.top=o[1]):(s.left=n.left,s.top=n.top),s.left+=n.offsetx||0,s.top+=n.offsety||0,s.css=n` && -`.css,s.fadeDuration=n.fadeDuration,a=e,o={left:(i=s).left+"px",top:i.top+"px"},n=a.attr("data-opacity")||0,s=a.css("z-index"),0!==parseInt(s,10)&&"auto"!==s||(o["z-index"]=9999),a.cs` && -`s(o).addClass("mapster_tooltip"),i.fadeDuration&&0<i.fadeDuration?l.fader(a[0],0,n,i.fadeDuration):l.setOpacity(a[0],n),e}function d(e){return e?"string"==typeof e||e.jquery||l.isFunction(e)?e:e.content:null}function f(` && -`e){return e?"string"==typeof e||e.jquery||l.isFunction(e)?{content:e}:e:{}}c.extend(e.defaults,{toolTipContainer:'<div style="border: 2px solid black; background: #EEEEEE; width:160px; padding:4px; margin: 4px; -moz-box-shadow: ` && -`3px 3px 5px #535353; -webkit-box-shadow: 3px 3px 5px #535353; box-shadow: 3px 3px 5px #535353; -moz-border-radius: 6px 6px 6px 6px; -webkit-border-radius: 6px; border-radius: 6px 6px 6px 6px; opacity: 0.9;"></div>',showToolTip:!1,to` && -`olTip:null,toolTipFade:!0,toolTipClose:["area-mouseout","image-mouseout","generic-mouseout"],onShowToolTip:null,onHideToolTip:null}),c.extend(e.area_defaults,{toolTip:null,toolTipClose:null}),e.MapData.prototype.clearToo` && -`lTip=function(){this.activeToolTip&&(this.activeToolTip.stop().remove(),this.activeToolTip=null,this.activeToolTipID=null,l.ifFunction(this.options.onHideToolTip,this))},e.AreaData.prototype.showToolTip=function(e,t){var a,i,n,o=this,s=o.owne` && -`r,r=o.effectiveOptions();if(t=t?c.extend({},t):{},e=e||r.toolTip,a=t.closeEvents||r.toolTipClose||s.options.toolTipClose||"tooltip-click",n=void 0!==t.template?t.template:s.options.toolTipContainer,t.closeEvents="string"==typeof a` && -`?a=l.split(a):a,t.fadeDuration=t.fadeDuration||(s.options.toolTipFade?s.options.fadeDuration||r.fadeDuration:0),i=o.area||c.map(o.areas(),function(e){return e.area}),s.activeToolTipID!==o.areaId){s.clearToolTip();var e=l.isFunction(e)?e({key:this.key` && -`,target:i}):e;if(e)return s.activeToolTip=e=u(e,n,t.css),s.activeToolTipID=o.areaId,n=function(){s.clearToolTip()},h(a,"area-click","click",c(s.map),null,n),h(a,"tooltip-click","click",e,null,n),h(a,"image` && -`-mouseout","mouseout",c(s.image),function(e){return e.relatedTarget&&"AREA"!==e.relatedTarget.nodeName&&e.relatedTarget!==o.area},n),h(a,"image-click","click",c(s.image),null,n),p(e,i,s.ima` && -`ge,t.container,t),l.ifFunction(s.options.onShowToolTip,o.area,{toolTip:e,options:{},areaOptions:r,key:o.key,selected:o.isSelected()}),e}},e.impl.tooltip=function(s,r){return new e.Method(this,function(){var e,t,a,i,n,o=this;s?(n=(e=c(s))&&0&l` && -`t;e.length?e[0]:null,o.activeToolTipID!==n&&(o.clearToolTip(),n&&(a=d(r),(i=l.isFunction(a)?a({key:this.key,target:e}):a)&&(t=(r=f(r)).closeEvents||o.options.toolTipClose||"tooltip-click",r.closeEvents="string&q` && -`uot;==typeof t?t=l.split(t):t,r.fadeDuration=r.fadeDuration||(o.options.toolTipFade?o.options.fadeDuration:0),a=function(){o.clearToolTip()},o.activeToolTip=i=u(i,r.template||o.options.toolTipContainer,r.css),o.activeToolTipID=n,h(t,"tooltip-cli` && -`ck","click",i,null,a),h(t,"generic-mouseout","mouseout",e,null,a),h(t,"generic-click","click",e,null,a),o.activeToolTip=i=p(i,e,o.image,r.container,r))))):o.clearToolTip()},function(){c.isPlainOb` && -`ject(s)&&!r&&(r=s),this.showToolTip(d(r),f(r))},{name:"tooltip",args:arguments,key:s}).go()}}(jQuery)});`. - ENDMETHOD. - - - METHOD load_editor. - result = `` && |\n| && - `loadJsEditor("` && base64_data_uri && `","` && filename && `");`. - ENDMETHOD. - - - METHOD load_editor_css. - result = `` && |\n| && - `html, body, div, span, applet, object, h1, h2, h3, h4, h5, h6, p, a, em, img, strong, ol, ul, li, dl, dd, dt, form, label, input, article, aside, canvas, details, embed, figure, figcaption, footer, header, menu, nav, section, time, mark {` && |\n| && - ` margin: 0;` && |\n| && - ` padding: 0;` && |\n| && - ` border: 0;` && |\n| && - ` outline: 0;` && |\n| && - ` font-style: inherit;` && |\n| && - ` font-size: 100%;` && |\n| && - ` font-family: inherit;` && |\n| && - ` vertical-align: baseline;` && |\n| && - ` background: transparent;` && |\n| && - `}` && |\n| && - `:focus {` && |\n| && - ` outline: 0;` && |\n| && - `}` && |\n| && - `ul, ol {` && |\n| && - ` list-style: none;` && |\n| && - `}` && |\n| && - `html {` && |\n| && - ` height: 100%;` && |\n| && - `}` && |\n| && - `body {` && |\n| && - ` padding: 0;` && |\n| && - ` margin: 0;` && |\n| && - ` font-family: Arial, Tahoma, sans-serif;` && |\n| && - ` font-size: 14px;` && |\n| && - ` color: #000;` && |\n| && - ` height: 100%;` && |\n| && - ` min-height: 100%;` && |\n| && - ` background: #FFF url(data:image/gif;base64,R0lGODlhCgAKAIABANzc3P///yH+EUNyZWF0ZWQgd2l0aCBHSU1QACwAAAAACgAKAAACEYQdmYcaDNxjEspKndVZbc8UADs=);` && |\n| && - ` line-height: 1;` && |\n| && - ` overflow-y: scroll;` && |\n| && - `}` && |\n| && - `img {` && |\n| && - ` border: 0;` && |\n| && - `}` && |\n| && - `a:link, a:visited {` && |\n| && - ` outline: none;` && |\n| && - ` text-decoration: none;` && |\n| && - ` color: #000;` && |\n| && - `}` && |\n| && - `.clear {` && |\n| && - ` clear: both;` && |\n| && - `}` && |\n| && - `.clearfix:after {` && |\n| && - ` content: ".";` && |\n| && - ` display: block;` && |\n| && - ` clear: both;` && |\n| && - ` visibility: hidden;` && |\n| && - ` line-height: 0;` && |\n| && - ` height: 0;` && |\n| && - `}` && |\n| && - `#noscript {` && |\n| && - ` text-align: center;` && |\n| && - ` display: block;` && |\n| && - ` font-size: 20px;` && |\n| && - ` padding: 5px 0;` && |\n| && - ` background: #F00;` && |\n| && - `}` && |\n| && - `#header {` && |\n| && - ` background: #000;` && |\n| && - ` padding: 5px 0;` && |\n| && - ` position: fixed;` && |\n| && - ` z-index: 1001;` && |\n| && - ` width: 100%;` && |\n| && - ` box-shadow: rgba(0,0,0,0.2) 0 0 2px 2px;` && |\n| && - `}` && |\n| && - `#logo {` && |\n| && - ` margin-right: 10px;` && |\n| && - ` margin-left: 10px;` && |\n| && - ` margin-top: -4px;` && |\n| && - ` margin-bottom: -4px;` && |\n| && - ` display: inline-block;` && |\n| && - ` vertical-align: top;` && |\n| && - `}` && |\n| && - `#logo a:link, #logo a:visited {` && |\n| && - ` color: #32c832;` && |\n| && - `}` && |\n| && - `#logo a:hover {` && |\n| && - ` color: #FFF;` && |\n| && - `}` && |\n| && - `#logo img {` && |\n| && - ` display: block;` && |\n| && - `}` && |\n| && - `#nav, #nav ul {` && |\n| && - ` display: inline;` && |\n| && - ` vertical-align: middle;` && |\n| && - `}` && |\n| && - `#nav li {` && |\n| && - ` margin-right: 5px;` && |\n| && - ` display: inline;` && |\n| && - `}` && |\n| && - `#nav a:link, #nav a:visited {` && |\n| && - ` border: 1px solid #FFF;` && |\n| && - ` border-radius: 3px;` && |\n| && - ` font-size: 10px;` && |\n| && - ` padding: 5px 10px;` && |\n| && - ` display: inline-block;` && |\n| && - ` color: #FFF;` && |\n| && - `}` && |\n| && - `#nav a:hover, #nav a:active {` && |\n| && - ` border: 1px solid #32c832;` && |\n| && - ` color: #32c832;` && |\n| && - `}` && |\n| && - `#nav a:active, #nav .selected a {` && |\n| && - ` background: #FFF;` && |\n| && - ` color: #000;` && |\n| && - ` box-shadow: 0 0 1px #222 inset;` && |\n| && - ` border: 1px solid #FFF;` && |\n| && - `}` && |\n| && - `#coords {` && |\n| && - ` position: absolute;` && |\n| && - ` top: 10px;` && |\n| && - ` right: 15px;` && |\n| && - ` color: #FFF;` && |\n| && - ` font-size: 11px;` && |\n| && - `}` && |\n| && - `#debug {` && |\n| && - ` color: #EEE;` && |\n| && - ` position: absolute;` && |\n| && - ` top: 10px;` && |\n| && - ` right: 100px;` && |\n| && - ` z-index: 1001;` && |\n| && - ` font-size: 11px;` && |\n| && - `}` && |\n| && - `#wrapper {` && |\n| && - ` position: relative;` && |\n| && - `}` && |\n| && - `#image_wrapper {` && |\n| && - ` padding: 45px 0 10px;` && |\n| && - `}` && |\n| && - `#image {` && |\n| && - ` position: relative;` && |\n| && - ` overflow: hidden;` && |\n| && - ` display: block;` && |\n| && - ` margin: 0 auto;` && |\n| && - ` border-radius: 3px;` && |\n| && - ` box-shadow: rgba(0,0,0,0.2) 0 0 2px 2px;` && |\n| && - ` display: none;` && |\n| && - `}` && |\n| && - `.draw#image {` && |\n| && - ` cursor: crosshair;` && |\n| && - `}` && |\n| && - `#image map {` && |\n| && - ` position: absolute;` && |\n| && - ` top: 0;` && |\n| && - ` left: 0;` && |\n| && - ` width: 100%;` && |\n| && - ` height: 100%;` && |\n| && - ` display: block;` && |\n| && - `}` && |\n| && - `#img {` && |\n| && - ` position: relative;` && |\n| && - ` z-index: 1;` && |\n| && - `}` && |\n| && - `#code {` && |\n| && - ` background: rgba(0,0,0,0.9);` && |\n| && - ` color: #FFF;` && |\n| && - ` font-family: monospace;` && |\n| && - ` font-size: 11px;` && |\n| && - ` line-height: 1.3;` && |\n| && - ` width: 600px;` && |\n| && - ` position: fixed;` && |\n| && - ` left: 3%;` && |\n| && - ` width: 94%;` && |\n| && - ` bottom: 10px;` && |\n| && - ` z-index: 1000;` && |\n| && - ` box-shadow: rgba(0,0,0,0.2) 0 0 2px 2px;` && |\n| && - ` display: none;` && |\n| && - ` border-radius: 3px;` && |\n| && - `}` && |\n| && - `#code_content {` && |\n| && - ` padding: 10px;` && |\n| && - `}` && |\n| && - `.close_button {` && |\n| && - ` width: 10px;` && |\n| && - ` height: 10px;` && |\n| && - ` display: block;` && |\n| && - ` background: #FFF url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACbgAAAm4Bt/774AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABKSURBVAiZfc2xCYBAFATR90WwiSvUzDOyCcuzCaM1UMHIg` && - `c1mmcKOI0mHqupoIw4sVTW5mbFKAhvybEti8EN/zc+zj2hYP/ET7QIK9BpShkyrPwAAAABJRU5ErkJggg==) 50% 50% no-repeat;` && |\n| && - ` position: absolute;` && |\n| && - ` top: 10px;` && |\n| && - ` right: 10px;` && |\n| && - ` box-shadow: 0 0 1px #222 inset;` && |\n| && - ` border-radius: 1px;` && |\n| && - ` cursor: pointer;` && |\n| && - `}` && |\n| && - `#about {` && |\n| && - ` position: absolute;` && |\n| && - ` top: 10px;` && |\n| && - ` left: 0;` && |\n| && - ` width: 100%;` && |\n| && - ` font-family: 'News Cycle';` && |\n| && - ` font-size: 24px;` && |\n| && - ` background: transparent;` && |\n| && - ` padding: 2px 10px 5px;` && |\n| && - ` -o-box-sizing: border-box;` && |\n| && - ` -moz-box-sizing: border-box;` && |\n| && - ` -webkit-box-sizing: border-box;` && |\n| && - ` box-sizing: border-box;` && |\n| && - ` color: #000;` && |\n| && - `}` && |\n| && - `#get_image_wrapper {` && |\n| && - ` padding: 35px 0;` && |\n| && - ` position: relative;` && |\n| && - ` z-index: 1002;` && |\n| && - ` display: none;` && |\n| && - `}` && |\n| && - `#get_image {` && |\n| && - ` width: 200px;` && |\n| && - ` margin: 0 auto;` && |\n| && - ` font-size: 16px;` && |\n| && - ` text-align: center;` && |\n| && - ` background: #FFF;` && |\n| && - ` padding: 20px 30px;` && |\n| && - ` border-radius: 5px;` && |\n| && - ` box-shadow: rgba(0,0,0,0.2) 0 0 2px 2px;` && |\n| && - ` position: relative;` && |\n| && - `}` && |\n| && - `#get_image .close_button {` && |\n| && - ` background: #000 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACbgAAAm4Bt/774AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABKSURBVAiZdc2xDYAwAAPBA0ViiQxKR6hgCMZjCSpTEAkavnxL7yH` && - `JgRPNQ0MtXS6Y+jBjlUSSLS9bEqMfSm/O2D+pq6Bi/ZxfqDfkbiIp0Zzd1AAAAABJRU5ErkJggg==) 50% 50% no-repeat;` && |\n| && - ` box-shadow: 0 0 1px #EEE inset;` && |\n| && - ` border-radius: 2px;` && |\n| && - `}` && |\n| && - `#logo_get_image {` && |\n| && - ` margin-bottom: 20px;` && |\n| && - `}` && |\n| && - `#loading {` && |\n| && - ` position: absolute;` && |\n| && - ` top: 0;` && |\n| && - ` left: 0;` && |\n| && - ` width: 100%;` && |\n| && - ` height: 100%;` && |\n| && - ` text-align: center;` && |\n| && - ` font-size: 20px;` && |\n| && - ` background: rgba(255,255,255,0.95) url(data:image/gif;base64,R0lGODlhIwAjAPUAAP///zLIMuL24tn02fH68czwzPL78vr9+tLy0tz13Of458/xz/f899fz1+z57N/138Xvxer46pfil7LqsjvKO33bfZ3knZPhk4rfijLIMoDcgGPVY7jruKrnqm3XbVXRVbzsvL3svaXmpXDYcHfad6jnqEj` && - `NSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIwAjAAAG/0CAcEgsGo/IpFExcCifSgGkUDBAr8QDlZrAegnbAsJr` && - `NDwUByJ4OyYqIBCr0lCYIhhD+nZALEguFyJpSQlhBYMACFQQEUMIgBKRD0oKhl1ChVR4AAQXkZ8ETwuGcg5UbQATnpEXEFAMhg1CWgUCQg+rgBNYDA1bEKGJBU4HFqwSh2QKowULmAVCBZAgTmSzD3WNB40GfxMKWAcGBJtDvZdCAhOTQ9sNCwPBQwJbCwgCBIhJEQgdGB4bAnpIBoCeISoLElQzAkEDwA0fAkrcUELIg` && - `IO/IIArcgADxIkgMQhZY2hBgwfyOD7g8A/kBxLQhBgYgMDkAwf6cgIbEiGEBZcNIzSISKnEwTs3FChw0AeAqRIGFzU2RZCmQoYMG5xZY4ANoZA3ThJcvYphIRRTYaoNgGALwIWxGShofeJgyhZZTU/JhHuVXRJaYTahLbCpA98P5Y4YXNQWQKZhsyjwjYlkcQG8QhRxmTdZyQHNfgHo0TskwYerGqCIS8wpzFyZVJxiGS` && - `3G2hVmbG1DWUNVNxQmRH0LLxIEACH5BAkKAAAALAAAAAAjACMAAAb/QIBwSCwaj8ikUTFwKJ9KAaRQMECvxAOVmsB6CdsCwms0PBQHIng7JjIEgrTSUJgiGEP6dkBU1MVPCWEFcgAIVBARQxFTWwRKfmFdQoJUeABag4VIC4NWAA5UbQADYRACUAyDDUKZD0JriHxXDA1bEI+GBU4AnVsKZAAKvguUBUIKjQ+XwQcPdYo` && - `H0VQDzE8HBgTWALWTQgYDuXkCZ9sCWwsIAgSbSARSExYS8xavQueDVAsJvEYN8RcCzhsoAYKQUvkQQQBmZELACwQHXpgAK+GCBg/EGYmwAKDAgCK8gUNw8YGDTe0QfAJgoEGIDhY6hNiWxEGDNngIbBhBKJibnlILAQgw4cTChw0YvHlh8EyfkAsZOoDaQHWDiJVQQoXJ9SEDCSETjm74QGLWEweNqLASliGDCTwHPFSl` && - `yjBJpjCXJrTNMAuC2LEa2hXBhwiVkBF7pWIiMXeD2SOEC6xlaWKvh0WNHxs5cKiAPSEF9rotpEADVQtQsG0LIZqCtVqayYTea0KwTyIGKOzVcPsJiLZEeys5cMEDB+HIkQQBACH5BAkKAAAALAAAAAAjACMAAAb/QIBwSCwaj8ikUTFwKJ9KAaRQMECvxAOVmsB6CdsCwms0PBQHIng7JjIEgrTSUJgiGEP6dkBU1MVPC` && - `WEFcgAIVBARQxFTWwRKfmFdQoJUeABag4VIC4NWAA5UbQADYRACUAyDDUKZD0JriHxXDA1bEI+GBU4AnVsKZAARvguUBUIKjQ+XwQcPdYoH0VQDn1AHBgTMQrWTQgYDuUPYBAabAAJbCwgCBOdHBwQKDb4FC+Lpg1QLCbxGDqX0bUFFSiAiCMCMlGokcFasMAsaCLBmhEGEAfXYiAOHIOIDB4UYJBwSZ5yDB/QaPHgHb8` && - `IHClbSGLBgwVswIQs2ZMiAARQJoyshLlyYMNLLABI7M1DA4zIEAAMSJFyQAGHbkw5Jd04QouGDBSEFpkq1oAiKiKwZPsDasIFEmgMWxE4VhyQB2gxtILDdQLCBWKkdnmhAq2GIhL1OhYj4K6GoEQxZTVxiMILtBwlDCMSN2lhJBAo7K4gbsLdtIQIdoiZW4gACKyI5947YdECBYzKk97q9qYSy5RK8nxRgS4JucCMHOlw` && - `4drz5kSAAIfkECQoAAAAsAAAAACMAIwAABv9AgHBILBqPyKRRMXAon0oBpFAwQK/EA5WawHoJ2wLCazQ8FAcieDsmMgSCtNJQmCIYQ/p2QFTUxU8JYQVyAAhUEBFDEVNbBEp+YV1CglR4AFqDhUgLg1YADlRtAANhEAJQDIMNQpkPQmuIfFcMDVsQj4YFTgCdWwpkABG+C5QFQgqND5fBBwJ1igfRVAOfUFIhCdaYA5NC` && - `BgO5QwcGBAabBxoZ6xQmGCGoTwcECg2+BQviGOv8/BQeJbYNcVBqUJh4HvopXIfhSMFGBmdxWLjOBAkOm9wwucdGHIQNJih8IDEhwaUDvPJkcfDAXoMHGQEwOJARQoUReNJoQSAuGCWdDBs+dABgQESaB1O0+VQgYYNTD2kWYGCViUocLyGcOv1wDECHCyGQQVwgEEmID1o3aBDCQMIFo0I4EnqiIK3TeAkuSJDAywFEQ` && - `EpEpP0gYggIvRdYCTkUpiyREmiDapBzQARiDuM8KSFAwqkFa0z3Sig8pJZVKAYQxBvyQLQEC2UcYwm9l7TPJAcsIIZw+0nrt8x6I4HAwZvw40WCAAAh+QQJCgAAACwAAAAAIwAjAAAG/0CAcEgsGo/IpFExcCifSgGkUDBAr8QDlZrAegnbAsJrhGgsESJ4OyYyBILDs5CpUwZDQxg/VBSmbUkkdYROQghUEGlCEVNbBE` && - `oWhHUeQwlbDEJaYQVySQQUkxkQjFSBA2EQAlAIoh+aVA9Ca4l8UA0mkxOHBYYLYQpkBpJ2mZdCCo4PmWRCAoMZEgAHaZsDVlcRDQsKzEILHyNEBgOQWQYEBp6aIhvuHiQiCIYA2EYHBArbWwvmAB0f3Al8dyGENyIOUHEKswoAhoEDP0jcZUSho4V8CkAM6OFMJyQMmPzihMBfAwwkRpyB0C1PEXvTHDzY1uDBuiEHbgpJ` && - `UMLCOpAtJZsViTDhAoYC0xDIeTAlAUwsDkBIuCDBJ4BkTjZRieOlwVQJU7sAGKAK2cUFT5EguEB1agdYYoaM3KLTCAGweC8YcoBJiIOLcZVAaDuV1M4t9BCFSUtkMNgLHdYpLiB2GifGQxiIABtinR42bhpshfKG3qwwC4wYwHzlsymhUEaWha1kjVLaT5j4w827SBAAIfkECQoAAAAsAAAAACMAIwAABv9AgHBILBqPyG` && - `TxgBlNlFBlJUMtRK9EAYWa8WC/IW7GdPgWGxYOgRjmUspDhkAATw42n81IMCyIN3UKBRAFCFASG4kfHmsABiZcFkMRhAWWjUggeYkbGEMeXA1CB5alBXVHBiOceA9CHVQUDEIDphB8UAmsGxq0VL0ABLYDWA8VnB9WjxlPAAumCmYHEx6JI2Wga5SWD7NmQhEWeBwACSIApAUDBlgEAg8OqA8aF0QGA5ijBgQGqAAhFiRI` && - `sCACwgN2QrwZOeBuwDNLCzBBuCBQ4IWLaRr4E+LAoamPuCZUHCnhIgYrRmoN+liKWLmSFTF2COEKCQMFHj8iwKRgggieCzPx1fGHcJSDBw0WNHiwEQmBpERI7fxWhEEtCNEOICjzgFCCol8YPCi1QIgCCA7QmaLzxcHHtAAG3DJbqcACsEkc1C0gSm2hIQ9LNY3K0ptbS4b3GlIiwBaucqXgAkDwEW+RxqX6CqFsKcGQdK` && - `UsR+VcU4gBU4sTNrD0OMkBAwqFCCNrxIBoLKdLpaaa5OFc3kpmbwUOBWc+4siJBAEAIfkECQoAAAAsAAAAACMAIwAABv9AgHBILBqPyGTx0LlAlFCl6LPZDKJYYsRT3Vyy4EV3QzqAi4LQgkEUd0fm4QKDUUAVksvF4hg2xhhEEhmEJgZKIBcSeRZsAAwkVR8cQyKElyBKC4qLF5RCF1QbD0IDl5ekSQcWnHl2ACFVJI4b` && - `pxkaURF5nR1CChsfIkIcthtxUBFNihcJj5EFjxSnGI5YBwuse2YXG4cXlyMNZ0MGIRIY4gohAAKEH0/WBgTVQg4dmUMQGxPHAAfyBvqxK0BwAQIBBI4JHPJPQYMFBAssIDBEQMSLEhP0OeJgAEaMAkp9jAgBwqsiHgtAGFngCgACIxc0eEARCQMFAyBiRFATgIGeAQhkPnDQT+Ahhg4ePJy5EImDh0QOFOA5rggDjyb9IT` && - `DzYGWCo2cYPIi4wBeEPlIjCmjqFOPGARBCAlCwsiBYJQ7qEhTnjyACORjZMvzoyEHEwnqnQrFIUi6ABBE3AkCA8a4RxnuJUCbYTEjaiJaXbE4lxMDFv0MYNCDoWJUBei8vli1iIDQY0xFRV9VEMO5uKDCnCv7ta0BP4siLBAEAIfkECQoAAAAsAAAAACMAIwAABv9AgHBILBqPyKQRwkkon8rQRSJRQK9Eg2V64WC/DypV9` && - `DUaHooDMSwWqYcJkcjxNBQgBQRjqBBfJkQTGxsfJHtJCQWKim8HIlwLQxwfg4ORSQqLik5CHFMSEUIKlZWhSguaBQZCDRcXbkIYpB8lUAypDUIErhBCCJSDHxhvTwwNixAEAI4XTgcjpBPEVwqoeUIgF2oTwBICZUMHD3ehBLkRgxgDWAcGBIdDxpysGAXEBwIQIQV0RAKLCxAIIDANST5ZFDIopBDizb9UihYk6GekwwaF` && - `GDNmwCBkAERkEKwUOXBRo0YPuj4uaPBA2ZEDBSSU1GgCxBADAxCsfOBgWsGXVULwdajwgcKHCqagOGhwKWgeoOEOFEzCwGPIZQjUPMCTAN4XBuMiioJAB+aib18cpOo3AAJaBXgiQlXiIK6iXMsUIRhibdHUkRAPqVUk2O41JQ8VuYWziCKCVHONJC6A19eieWYXRR75uMCDLJr2xjtWAK2Sdl4BENDU9ObmL3YWiQb3xNpi` && - `2k9W5/mLu4iCAS57C0cSBAA7AAAAAAAAAAAA) 50% 50% no-repeat;` && |\n| && - ` z-index: 3;` && |\n| && - ` border-radius: 5px;` && |\n| && - ` line-height: 3;` && |\n| && - `}` && |\n| && - `#get_image b {` && |\n| && - ` display: block;` && |\n| && - ` font-size: 25px;` && |\n| && - ` margin: 10px 0;` && |\n| && - `}` && |\n| && - `#get_image label {` && |\n| && - ` display: block;` && |\n| && - ` margin-bottom: 5px;` && |\n| && - `}` && |\n| && - `#button {` && |\n| && - ` margin-top: 20px;` && |\n| && - ` font-size: 21px;` && |\n| && - `}` && |\n| && - `#dropzone {` && |\n| && - ` border: 2px dashed #999;` && |\n| && - ` width: 200px;` && |\n| && - ` height: 200px;` && |\n| && - ` background: #FAFAFA url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAAiCAYAAADCp/A1AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAApjAAAKYwGDMomsAAAAB3RJTUUH3AkYCxg3B2a5QgAAAKtJREFUWMPt17sNgDAMRdE8tsj+w2UM6CiQEv9jIvm1COl0uUZbbIxxt03rvWP27Wo` && - `HrJCFLGQhC1nIQr7DzohQI3fXjqaOkJFl0nxDVj9K+hKZocsNYGQXOafQ8YfTgTohcMKNA+rnHdAVkIWMhlJANjIKygGKkN5QLlCM9IJKgCqkFSoFqpFaqAZoQkqhWqAZyYVagC5ICmoFuiFnUA+gK/IL9QKGLOJlegBB2VeWydvIHgAAAABJRU5ErkJggg==) 50% 50% no-repeat;` && |\n| && - ` overflow: hidden;` && |\n| && - ` text-align: center;` && |\n| && - ` line-height: 200px;` && |\n| && - ` position: relative;` && |\n| && - `}` && |\n| && - `.error#dropzone {` && |\n| && - ` border: 2px dashed #F00;` && |\n| && - `}` && |\n| && - `.clear_button {` && |\n| && - ` display: block;` && |\n| && - ` height: 16px;` && |\n| && - ` width: 16px;` && |\n| && - ` position: absolute;` && |\n| && - ` top: 6px;` && |\n| && - ` right: 6px;` && |\n| && - ` line-height: 1 !important;` && |\n| && - ` overflow: hidden;` && |\n| && - ` cursor: pointer;` && |\n| && - ` text-indent: -9999px;` && |\n| && - ` background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAD1QAAA9UBZ3cOpgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAG4SURBVDiNrZOxattQFIa/c5UMtsBbIbMRQZ7iyFC/QjEesqoPY` && - `PAUsnQoaAp472RI92jJEGjaNwjFpY68RWQIXQoudocKVEPj29shuo6Fm9JCv/Gi7+ic/54rxhjWaX5o7jo/nedAC6EFgGEMjLXSp5Onk5v178UWEESCUXAIDIAKv2cBvLxqX70y3ItijEEQ2R/tXwjSeUQsYTDvknbSNRijAIJRcChIp+E2iOoRXtXbkLyqR1SPaLgNBOkU3SJ7o71dxzgToBLVIw6eHJAtM/ppnzRPAfBdn` && - `6E/pLZV43x2zvHtMcBCi26qIrAKQDyNyZYZta0aQ3+I7/olOVtmxNPYNlVxcEIJ3gdvELr2dF3IdQ6A67gbXRVhXKjVVRWkeUo/7ZPrHNdxcR2XXOebMoDQUn+T+p9QxZKssCPYP9tObCYlDGMFDwW8qlcKrHfdo3fdKwVbumLFR6WVPuV+wwh3wpVsZ7aZ2CLhTmj1hUbHzvT19OvJ55MceDb7MUOJYvBpwM33h5Wf3825` && - `/HbJttrm7MsZ87s5wIuknbz9P6tsMCZpJ13gyI7zCAvgyMqw9hot//qcfwEDGehh48P3mQAAAABJRU5ErkJggg==);` && |\n| && - ` z-index: 2;` && |\n| && - `}` && |\n| && - `#dropzone img {` && |\n| && - ` max-width: 100%;` && |\n| && - ` max-height: 100%;` && |\n| && - ` vertical-align: middle;` && |\n| && - `}` && |\n| && - `#url_wrapper {` && |\n| && - ` position: relative;` && |\n| && - ` display: block;` && |\n| && - `}` && |\n| && - `#url {` && |\n| && - ` border: 2px solid #999;` && |\n| && - ` border-radius: 3px;` && |\n| && - ` background: #FFF;` && |\n| && - ` padding: 2px 25px 2px 5px;` && |\n| && - ` width: 100%;` && |\n| && - ` box-shadow: 1px 1px 3px rgba(0,0,0,0.2) inset;` && |\n| && - ` -webkit-box-sizing: border-box;` && |\n| && - ` -moz-box-sizing: border-box;` && |\n| && - ` box-sizing: border-box;` && |\n| && - `}` && |\n| && - `.error#url {` && |\n| && - ` border: 2px solid #F00;` && |\n| && - `}` && |\n| && - `#edit_details {` && |\n| && - ` position: absolute;` && |\n| && - ` top: 100px;` && |\n| && - ` left: 100px;` && |\n| && - ` background: rgba(0,0,0,0.9);` && |\n| && - ` border-radius: 5px;` && |\n| && - ` padding: 10px;` && |\n| && - ` box-shadow: rgba(0,0,0,0.2) 0 0 2px 1px;` && |\n| && - ` display: none;` && |\n| && - ` z-index: 1000;` && |\n| && - ` color: #FFF;` && |\n| && - ` font-size: 0px;` && |\n| && - `}` && |\n| && - `#edit_details h5 {` && |\n| && - ` margin-bottom: 10px;` && |\n| && - ` font-size: 14px;` && |\n| && - ` cursor: move;` && |\n| && - `}` && |\n| && - `.changed#edit_details h5, p.changed label {` && |\n| && - ` color: #32c832;` && |\n| && - `}` && |\n| && - `#edit_details p {` && |\n| && - ` margin-bottom: 10px;` && |\n| && - `}` && |\n| && - `#edit_details label {` && |\n| && - ` font-size: 11px;` && |\n| && - ` display: block;` && |\n| && - ` margin-bottom: 2px;` && |\n| && - `}` && |\n| && - `#edit_details input[type=text] {` && |\n| && - ` background: #FFF;` && |\n| && - ` font-size: 12px;` && |\n| && - ` font-family: sans-serif;` && |\n| && - ` padding: 2px 5px;` && |\n| && - ` width: 120px;` && |\n| && - ` border-radius: 5px;` && |\n| && - ` box-shadow: rgba(0,0,0,0.5) 0 1px 2px inset;` && |\n| && - `}` && |\n| && - `.changed#edit_details button {` && |\n| && - ` box-shadow: rgba(50,200,50,1) 0 0 1px 2px;` && |\n| && - `}` && |\n| && - `#help {` && |\n| && - ` display: none;` && |\n| && - ` width: 400px;` && |\n| && - ` border-radius: 3px;` && |\n| && - ` background: #FFF;` && |\n| && - ` position: absolute;` && |\n| && - ` top: 35px;` && |\n| && - ` left: 50%;` && |\n| && - ` margin-left: -200px;` && |\n| && - ` z-index: 1003;` && |\n| && - ` box-shadow: rgba(0,0,0,0.2) 0 0 2px 2px;` && |\n| && - `}` && |\n| && - `#help .txt {` && |\n| && - ` padding: 20px 20px 5px;` && |\n| && - ` line-height: 1.4;` && |\n| && - `}` && |\n| && - `.txt p {` && |\n| && - ` margin-bottom: 3px;` && |\n| && - `}` && |\n| && - `#help section {` && |\n| && - ` margin-bottom: 20px;` && |\n| && - `}` && |\n| && - `#help .close_button {` && |\n| && - ` background: #000 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACbgAAAm4Bt/774AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABKSURBVAiZdc2xDYAwAAPBA0ViiQxKR6hgCMZjCSpTEAkavnxL` && - `7yHJgRPNQ0MtXS6Y+jBjlUSSLS9bEqMfSm/O2D+pq6Bi/ZxfqDfkbiIp0Zzd1AAAAABJRU5ErkJggg==) 50% 50% no-repeat;` && |\n| && - ` box-shadow: 0 0 1px #EEE inset;` && |\n| && - ` border-radius: 2px;` && |\n| && - `}` && |\n| && - `#help h2 {` && |\n| && - ` margin-bottom: 5px;` && |\n| && - `}` && |\n| && - `#help footer {` && |\n| && - ` color: #999;` && |\n| && - ` font-size: 10px;` && |\n| && - ` padding: 0 20px 20px;` && |\n| && - ` line-height: 1.3;` && |\n| && - `}` && |\n| && - `#help footer a {` && |\n| && - ` color: #777;` && |\n| && - ` text-decoration: underline;` && |\n| && - `}` && |\n| && - `.key {` && |\n| && - ` background: #F5F5F5;` && |\n| && - ` color: #555;` && |\n| && - ` text-shadow: 0 0 1px #EEE;` && |\n| && - ` padding: 1px 5px;` && |\n| && - ` border: 1px solid #CCC;` && |\n| && - ` border-radius: 3px;` && |\n| && - ` display: inline-block;` && |\n| && - ` min-width: 16px;` && |\n| && - ` text-align: center;` && |\n| && - ` font-size: 11px;` && |\n| && - ` box-shadow: 1px 1px 0 rgba(255,255,255,1) inset, -1px -1px 0 rgba(0,0,0,0.08) inset;` && |\n| && - ` overflow: hidden;` && |\n| && - ` cursor: default;` && |\n| && - ` vertical-align: middle;` && |\n| && - `}` && |\n| && - `.key:active {` && |\n| && - ` padding: 2px 5px 0;` && |\n| && - ` box-shadow: 1px 1px 0 rgba(0,0,0,0.08) inset, -1px -1px 0 rgba(255,255,255,1) inset;` && |\n| && - `}` && |\n| && - `#overlay {` && |\n| && - ` position: fixed;` && |\n| && - ` top: 0;` && |\n| && - ` left: 0;` && |\n| && - ` width: 100%;` && |\n| && - ` height: 100%;` && |\n| && - ` z-index: 1002;` && |\n| && - ` background: #000;` && |\n| && - ` opacity: 0.5;` && |\n| && - ` display: none;` && |\n| && - `}` && |\n| && - `#from_html_wrapper {` && |\n| && - ` display: none;` && |\n| && - ` width: 500px;` && |\n| && - ` border-radius: 5px;` && |\n| && - ` background: rgba(0,0,0,0.9);` && |\n| && - ` position: absolute;` && |\n| && - ` top: 35px;` && |\n| && - ` left: 50%;` && |\n| && - ` margin-left: -250px;` && |\n| && - ` z-index: 1002;` && |\n| && - ` color: #FFF;` && |\n| && - `}` && |\n| && - `#from_html_wrapper .close_button {` && |\n| && - ` background: #000 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACbgAAAm4Bt/774AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABKSURBVAiZdc2xDYAwAAPBA0ViiQxKR6hgCMZjCSpTEAkavnxL7yHJgR` && - `PNQ0MtXS6Y+jBjlUSSLS9bEqMfSm/O2D+pq6Bi/ZxfqDfkbiIp0Zzd1AAAAABJRU5ErkJggg==) 50% 50% no-repeat;` && |\n| && - ` box-shadow: 0 0 1px #EEE inset;` && |\n| && - ` border-radius: 2px;` && |\n| && - `}` && |\n| && - `#from_html_form {` && |\n| && - ` padding: 20px;` && |\n| && - `}` && |\n| && - `#from_html_form h5 {` && |\n| && - ` margin-bottom: 15px;` && |\n| && - `}` && |\n| && - `#from_html_form label {` && |\n| && - ` display: block;` && |\n| && - ` font-size: 12px;` && |\n| && - `}` && |\n| && - `#from_html_form textarea {` && |\n| && - ` border: 0px;` && |\n| && - ` border-radius: 3px;` && |\n| && - ` background: #FFF;` && |\n| && - ` padding: 2px 5px;` && |\n| && - ` margin-bottom: 5px;` && |\n| && - ` width: 100%;` && |\n| && - ` height: 100px;` && |\n| && - ` box-shadow: 1px 1px 3px rgba(0,0,0,0.2) inset;` && |\n| && - ` -webkit-box-sizing: border-box;` && |\n| && - ` -moz-box-sizing: border-box;` && |\n| && - ` box-sizing: border-box; ` && |\n| && - ` font-family: monospace;` && |\n| && - ` font-size: 11px;` && |\n| && - ` line-height: 1.3;` && |\n| && - `}` && |\n| && - `` && |\n| && - `/* CSS for SVG-elements */` && |\n| && - `` && |\n| && - `#svg {` && |\n| && - ` position: absolute;` && |\n| && - ` top: 0;` && |\n| && - ` left: 0;` && |\n| && - ` z-index: 2;` && |\n| && - ` display: inline-block;` && |\n| && - `}` && |\n| && - `#svg rect {` && |\n| && - ` stroke-width: 3px;` && |\n| && - ` stroke: #F00;` && |\n| && - ` fill: rgba(255,255,255,0.3);` && |\n| && - `}` && |\n| && - `#svg rect.with_href {` && |\n| && - ` fill: rgba(0,0,0,0.3);` && |\n| && - `}` && |\n| && - `.edit > #svg rect:hover {` && |\n| && - ` fill: rgba(50,200,50,0.3);` && |\n| && - `}` && |\n| && - `#svg rect.active {` && |\n| && - ` fill: rgba(0,0,0,0.5);` && |\n| && - `}` && |\n| && - `#svg circle {` && |\n| && - ` stroke-width: 3px;` && |\n| && - ` stroke: #0F0;` && |\n| && - ` fill: rgba(255,255,255,0.3);` && |\n| && - `}` && |\n| && - `#svg circle.with_href {` && |\n| && - ` fill: rgba(0,0,0,0.3);` && |\n| && - `}` && |\n| && - `.edit > #svg circle:hover {` && |\n| && - ` fill: rgba(50,200,50,0.3);` && |\n| && - `}` && |\n| && - `#svg polyline, #svg polygon {` && |\n| && - ` stroke-width: 3px;` && |\n| && - ` stroke: #00F;` && |\n| && - ` fill: rgba(255,255,255,0.3);` && |\n| && - `}` && |\n| && - `#svg polygon.with_href {` && |\n| && - ` fill: rgba(0,0,0,0.3);` && |\n| && - `}` && |\n| && - `.edit > #svg polygon:hover {` && |\n| && - ` fill: rgba(50,200,50,0.3);` && |\n| && - `}` && |\n| && - `#svg .selected {` && |\n| && - ` fill: rgba(50,200,50,0.5) !important;` && |\n| && - `}` && |\n| && - `#svg rect.helper {` && |\n| && - ` fill: #FFF;` && |\n| && - ` stroke: #000;` && |\n| && - ` stroke-width: 2px;` && |\n| && - `}` && |\n| && - `#svg rect.helper:hover {` && |\n| && - ` fill: #F00; ` && |\n| && - `}` && |\n| && - `.edit > #svg rect, .edit > #svg circle, .edit > #svg polygon {` && |\n| && - ` cursor: move;` && |\n| && - `}` && |\n| && - `.edit > #svg .pointer {` && |\n| && - ` cursor: pointer;` && |\n| && - `}` && |\n| && - `.edit > #svg .e-resize {` && |\n| && - ` cursor: e-resize;` && |\n| && - `}` && |\n| && - `.edit > #svg .ne-resize {` && |\n| && - ` cursor: ne-resize;` && |\n| && - `}` && |\n| && - `.edit > #svg .nw-resize {` && |\n| && - ` cursor: nw-resize;` && |\n| && - `}` && |\n| && - `.edit > #svg .n-resize {` && |\n| && - ` cursor: n-resize;` && |\n| && - `}` && |\n| && - `.edit > #svg .se-resize {` && |\n| && - ` cursor: se-resize;` && |\n| && - `}` && |\n| && - `.edit > #svg .sw-resize {` && |\n| && - ` cursor: sw-resize;` && |\n| && - `}` && |\n| && - `.edit > #svg .s-resize {` && |\n| && - ` cursor: s-resize;` && |\n| && - `}` && |\n| && - `.edit > #svg .w-resize {` && |\n| && - ` cursor: w-resize;` && |\n| && - `}`. - ENDMETHOD. - - - METHOD load_editor_html. - result = `` && |\n| && - `
` && |\n| && - ` ` && |\n| && - `
` && |\n| && - `
` && |\n| && - ` #` && |\n| && - ` ` && |\n| && - `
` && |\n| && - `
` && |\n| && - `
` && |\n| && - `` && |\n| && - `` && |\n| && - `
` && |\n| && - ` ` && |\n| && - `
` && |\n| && - `
` && |\n| && - `` && |\n| && - `` && |\n| && - `
` && |\n| && - `
Attributes
` && |\n| && - ` ` && |\n| && - `

` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - `

` && |\n| && - `

` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - `

` && |\n| && - `

` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - `

` && |\n| && - ` ` && |\n| && - `
` && |\n| && - `` && |\n| && - `` && |\n| && - `
` && |\n| && - `
` && |\n| && - `
Loading areas
` && |\n| && - ` ` && |\n| && - `

` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - `

` && |\n| && - ` ` && |\n| && - `
` && |\n| && - `
` && |\n| && - ` ` && |\n| && - `` && |\n| && - `
` && |\n| && - `
` && |\n| && - ` ` && |\n| && - `
Loading
` && |\n| && - `
` && |\n| && - ` ` && |\n| && - `
` && |\n| && - ` x ` && |\n| && - ` preview` && |\n| && - `
` && |\n| && - ` or` && |\n| && - `
` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - ` x` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - `
` && |\n| && - `
` && |\n| && - `` && |\n| && - `` && |\n| && - `
` && |\n| && - `
` && |\n| && - ` ` && |\n| && - `
` && |\n| && - `
` && |\n| && - `

Main

` && |\n| && - `

F5 — reload the page and display the form for loading image again

` && |\n| && - `

S — save map params in localStorage

` && |\n| && - `
` && |\n| && - `
` && |\n| && - `

Drawing mode (rectangle / circle / polygon)

` && |\n| && - `

ENTER — stop polygon drawing (or click on first helper)

` && |\n| && - `

ESC — cancel drawing of a new area

` && |\n| && - `

SHIFT — square drawing in case of a rectangle and right angle drawing in case of a polygon

` && |\n| && - `
` && |\n| && - `
` && |\n| && - `

Editing mode

` && |\n| && - `

DELETE — remove a selected area

` && |\n| && - `

ESC — cancel editing of a selected area

` && |\n| && - `

SHIFT — edit and save proportions for rectangle

` && |\n| && - `

I — edit attributes of a selected area (or dblclick on an area)

` && |\n| && - `

CTRL + C — a copy of the selected area

` && |\n| && - `

— move a selected area up

` && |\n| && - `

— move a selected area down

` && |\n| && - `

— move a selected area to the left

` && |\n| && - `

— move a selected area to the right

` && |\n| && - `
` && |\n| && - `
` && |\n| && - `
`. - - ENDMETHOD. - - - METHOD load_editor_js. - result = `` && |\n| && - `loadJsEditor = function(base64_image, filename) {` && |\n| && - ` var summerHtmlImageMapCreator = (function() {` && |\n| && - ` 'use strict';` && |\n| && - ` ` && |\n| && - ` var utils = {` && |\n| && - ` getOffset : function(node) {` && |\n| && - ` var boxCoords = node.getBoundingClientRect();` && |\n| && - ` ` && |\n| && - ` return {` && |\n| && - ` x : Math.round(boxCoords.left + window.pageXOffset),` && |\n| && - ` y : Math.round(boxCoords.top + window.pageYOffset)` && |\n| && - ` };` && |\n| && - ` },` && |\n| && - ` ` && |\n| && - ` getRightCoords : function(x, y) {` && |\n| && - ` return {` && |\n| && - ` x : x - app.getOffset('x'),` && |\n| && - ` y : y - app.getOffset('y')` && |\n| && - ` };` && |\n| && - ` },` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * TODO: will use same method of app.js` && |\n| && - ` * @deprecated` && |\n| && - ` */` && |\n| && - ` id : function (str) {` && |\n| && - ` return document.getElementById(str);` && |\n| && - ` },` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * TODO: will use same method of app.js` && |\n| && - ` * @deprecated` && |\n| && - ` */` && |\n| && - ` hide : function(node) {` && |\n| && - ` node.style.display = 'none';` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * TODO: will use same method of app.js` && |\n| && - ` * @deprecated` && |\n| && - ` */` && |\n| && - ` show : function(node) {` && |\n| && - ` node.style.display = 'block';` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * Escape < and > (for code output)` && |\n| && - ` *` && |\n| && - ` * @param str {string} - a string with < and >` && |\n| && - ` * @returns {string} - a string with escaped < and >` && |\n| && - ` */` && |\n| && - ` encode : function(str) {` && |\n| && - ` return str.replace(/</g, '&lt;').replace(/>/g, '&gt;');` && |\n| && - ` },` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * TODO: will use same method of app.js` && |\n| && - ` * @deprecated` && |\n| && - ` */` && |\n| && - ` foreach : function(arr, func) {` && |\n| && - ` for(var i = 0, count = arr.length; i < count; i++) {` && |\n| && - ` func(arr[i], i);` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * TODO: will use same method of app.js` && |\n| && - ` * @deprecated` && |\n| && - ` */` && |\n| && - ` foreachReverse : function(arr, func) {` && |\n| && - ` for(var i = arr.length - 1; i >= 0; i--) {` && |\n| && - ` func(arr[i], i);` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - ` ` && |\n| && - ` debug : (function() {` && |\n| && - ` var output = document.getElementById('debug');` && |\n| && - ` ` && |\n| && - ` return function() {` && |\n| && - ` output.innerHTML = [].join.call(arguments, ' ');` && |\n| && - ` };` && |\n| && - ` })(),` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * TODO: will use same method of app.js` && |\n| && - ` * @deprecated` && |\n| && - ` */` && |\n| && - ` stopEvent : function(e) {` && |\n| && - ` e.stopPropagation();` && |\n| && - ` e.preventDefault();` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` ` && |\n| && - ` extend : function(obj, options) {` && |\n| && - ` var target = {};` && |\n| && - `` && |\n| && - ` for (var name in obj) {` && |\n| && - ` if(obj.hasOwnProperty(name)) {` && |\n| && - ` target[name] = options[name] ? options[name] : obj[name];` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` return target;` && |\n| && - ` },` && |\n| && - ` ` && |\n| && - ` inherits : (function() {` && |\n| && - ` var F = function() {};` && |\n| && - ` ` && |\n| && - ` return function(Child, Parent) {` && |\n| && - ` F.prototype = Parent.prototype;` && |\n| && - ` Child.prototype = new F();` && |\n| && - ` Child.prototype.constructor = Child;` && |\n| && - ` };` && |\n| && - ` })()` && |\n| && - ` };` && |\n| && - `` && |\n| && - `` && |\n| && - ` var app = (function() {` && |\n| && - ` var domElements = {` && |\n| && - ` wrapper : utils.id('wrapper'),` && |\n| && - ` svg : utils.id('svg'),` && |\n| && - ` img : utils.id('img'),` && |\n| && - ` container : utils.id('image'),` && |\n| && - ` map : null` && |\n| && - ` },` && |\n| && - ` state = {` && |\n| && - ` offset : {` && |\n| && - ` x : 0,` && |\n| && - ` y : 0` && |\n| && - ` },` && |\n| && - ` appMode : null, // drawing || editing || preview` && |\n| && - ` currentType : null,` && |\n| && - ` editType : null,` && |\n| && - ` newArea : null,` && |\n| && - ` selectedArea : null,` && |\n| && - ` areas : [],` && |\n| && - ` events : [],` && |\n| && - ` isDraw : false,` && |\n| && - ` image : {` && |\n| && - ` src : null,` && |\n| && - ` filename : null,` && |\n| && - ` width: 0,` && |\n| && - ` height: 0` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - ` KEYS = {` && |\n| && - ` F1 : 112,` && |\n| && - ` ESC : 27,` && |\n| && - ` TOP : 38,` && |\n| && - ` BOTTOM : 40,` && |\n| && - ` LEFT : 37,` && |\n| && - ` RIGHT : 39,` && |\n| && - ` DELETE : 46,` && |\n| && - ` I : 73,` && |\n| && - ` S : 83,` && |\n| && - ` C : 67` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` function recalcOffsetValues() {` && |\n| && - ` state.offset = utils.getOffset(domElements.container);` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` /* Get offset value */` && |\n| && - ` window.addEventListener('resize', recalcOffsetValues, false);` && |\n| && - `` && |\n| && - ` /* Disable selection */` && |\n| && - ` domElements.container.addEventListener('mousedown', function(e) { e.preventDefault(); }, false);` && |\n| && - `` && |\n| && - ` /* Disable image dragging */` && |\n| && - ` domElements.img.addEventListener('dragstart', function(e){` && |\n| && - ` e.preventDefault();` && |\n| && - ` }, false);` && |\n| && - `` && |\n| && - ` /* Display cursor coordinates info */` && |\n| && - ` var cursor_position_info = (function() {` && |\n| && - ` var coords_info = utils.id('coords');` && |\n| && - ` ` && |\n| && - ` return {` && |\n| && - ` set : function(coords) {` && |\n| && - ` coords_info.innerHTML = 'x: ' + coords.x + ', ' + 'y: ' + coords.y;` && |\n| && - ` },` && |\n| && - ` empty : function() {` && |\n| && - ` coords_info.innerHTML = '';` && |\n| && - ` }` && |\n| && - ` };` && |\n| && - ` })();` && |\n| && - ` ` && |\n| && - ` domElements.container.addEventListener('mousemove', function(e){` && |\n| && - ` cursor_position_info.set(utils.getRightCoords(e.pageX, e.pageY));` && |\n| && - ` }, false);` && |\n| && - `` && |\n| && - ` domElements.container.addEventListener('mouseleave', function(){` && |\n| && - ` cursor_position_info.empty();` && |\n| && - ` }, false);` && |\n| && - `` && |\n| && - ` /* Add mousedown event for svg */` && |\n| && - ` function onSvgMousedown(e) {` && |\n| && - ` if (state.appMode === 'editing') {` && |\n| && - ` if (e.target.parentNode.tagName === 'g') {` && |\n| && - ` info.unload();` && |\n| && - ` state.selectedArea = e.target.parentNode.obj;` && |\n| && - ` ` && |\n| && - ` app.deselectAll();` && |\n| && - ` state.selectedArea.select();` && |\n| && - ` state.selectedArea.editingStartPoint = {` && |\n| && - ` x : e.pageX,` && |\n| && - ` y : e.pageY` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` if (e.target.classList.contains('helper')) {` && |\n| && - ` var helper = e.target;` && |\n| && - ` state.editType = helper.action;` && |\n| && - ` ` && |\n| && - ` if (helper.n >= 0) { // if typeof selected_area == polygon` && |\n| && - ` state.selectedArea.selected_point = helper.n;` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` app.addEvent(app.domElements.container,` && |\n| && - ` 'mousemove',` && |\n| && - ` state.selectedArea.onProcessEditing.bind(state.selectedArea))` && |\n| && - ` .addEvent(app.domElements.container,` && |\n| && - ` 'mouseup',` && |\n| && - ` state.selectedArea.onStopEditing.bind(state.selectedArea));` && |\n| && - ` } else if (e.target.tagName === 'rect' || e.target.tagName === 'circle' || e.target.tagName === 'polygon') {` && |\n| && - ` state.editType = 'move';` && |\n| && - ` ` && |\n| && - ` app.addEvent(app.domElements.container,` && |\n| && - ` 'mousemove',` && |\n| && - ` state.selectedArea.onProcessEditing.bind(state.selectedArea))` && |\n| && - ` .addEvent(app.domElements.container,` && |\n| && - ` 'mouseup',` && |\n| && - ` state.selectedArea.onStopEditing.bind(state.selectedArea));` && |\n| && - ` }` && |\n| && - ` } else {` && |\n| && - ` app.deselectAll();` && |\n| && - ` info.unload();` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` ` && |\n|. - result = result && ` domElements.container.addEventListener('mousedown', onSvgMousedown, false);` && |\n| && - ` ` && |\n| && - ` /* Add click event for svg */` && |\n| && - ` function onSvgClick(e) {` && |\n| && - ` if (state.appMode === 'drawing' && !state.isDraw && state.currentType) {` && |\n| && - ` code.hide();` && |\n| && - ` app.setIsDraw(true);` && |\n| && - ` ` && |\n| && - ` state.newArea = Area.CONSTRUCTORS[state.currentType].createAndStartDrawing(` && |\n| && - ` utils.getRightCoords(e.pageX, e.pageY)` && |\n| && - ` );` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` domElements.container.addEventListener('click', onSvgClick, false);` && |\n| && - ` ` && |\n| && - ` /* Add dblclick event for svg */` && |\n| && - ` function onAreaDblClick(e) {` && |\n| && - ` if (state.appMode === 'editing') {` && |\n| && - ` if (e.target.tagName === 'rect' || e.target.tagName === 'circle' || e.target.tagName === 'polygon') {` && |\n| && - ` state.selectedArea = e.target.parentNode.obj;` && |\n| && - ` info.load(state.selectedArea, e.pageX, e.pageY);` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` domElements.container.addEventListener('dblclick', onAreaDblClick, false);` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - ` /* Add keydown event for document */` && |\n| && - ` function onDocumentKeyDown(e) {` && |\n| && - ` var ctrlDown = e.ctrlKey || e.metaKey; // PC || Mac` && |\n| && - ` ` && |\n| && - ` switch (e.keyCode) {` && |\n| && - ` case KEYS.F1:` && |\n| && - ` help.show();` && |\n| && - ` e.preventDefault();` && |\n| && - ` ` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case KEYS.ESC:` && |\n| && - ` help.hide();` && |\n| && - ` if (state.isDraw) {` && |\n| && - ` state.isDraw = false;` && |\n| && - ` state.newArea.remove();` && |\n| && - ` state.areas.pop();` && |\n| && - ` app.removeAllEvents();` && |\n| && - ` } else if (state.appMode === 'editing') {` && |\n| && - ` state.selectedArea.redraw();` && |\n| && - ` app.removeAllEvents();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case KEYS.TOP:` && |\n| && - ` if (state.appMode === 'editing' && state.selectedArea) {` && |\n| && - ` state.selectedArea.move(0, -1);` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case KEYS.BOTTOM:` && |\n| && - ` if (state.appMode === 'editing' && state.selectedArea) {` && |\n| && - ` state.selectedArea.move(0, 1);` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case KEYS.LEFT: ` && |\n| && - ` if (state.appMode === 'editing' && state.selectedArea) {` && |\n| && - ` state.selectedArea.move(-1, 0);` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case KEYS.RIGHT:` && |\n| && - ` if (state.appMode === 'editing' && state.selectedArea) {` && |\n| && - ` state.selectedArea.move(1, 0);` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case KEYS.DELETE:` && |\n| && - ` if (state.appMode === 'editing' && state.selectedArea) {` && |\n| && - ` app.removeObject(state.selectedArea);` && |\n| && - ` state.selectedArea = null;` && |\n| && - ` info.unload();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case KEYS.I:` && |\n| && - ` if (state.appMode === 'editing' && state.selectedArea) {` && |\n| && - ` var coordsForAttributesForm = state.selectedArea.getCoordsForDisplayingInfo();` && |\n| && - ` ` && |\n| && - ` info.load(` && |\n| && - ` state.selectedArea, ` && |\n| && - ` coordsForAttributesForm.x + app.getOffset('x'), ` && |\n| && - ` coordsForAttributesForm.y + app.getOffset('y')` && |\n| && - ` );` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case KEYS.S:` && |\n| && - ` if (ctrlDown) {` && |\n| && - ` app.saveInLocalStorage();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case KEYS.C:` && |\n| && - ` if (state.appMode === 'editing' && state.selectedArea && ctrlDown) {` && |\n| && - ` state.selectedArea = Area.copy(state.selectedArea);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` break;` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` document.addEventListener('keydown', onDocumentKeyDown, false);` && |\n| && - ` ` && |\n| && - ` // Will moved from the main module` && |\n| && - ` var areasIO = {` && |\n| && - ` toJSON : function() {` && |\n| && - ` var obj = {` && |\n| && - ` areas : [],` && |\n| && - ` img : state.image.src` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` utils.foreach(state.areas, function(x) {` && |\n| && - ` obj.areas.push(x.toJSON());` && |\n| && - ` });` && |\n| && - ` ` && |\n| && - ` return JSON.stringify(obj);` && |\n| && - ` },` && |\n| && - ` fromJSON : function(str) {` && |\n| && - ` var obj = JSON.parse(str);` && |\n| && - ` ` && |\n| && - ` app.loadImage(obj.img);` && |\n| && - ` ` && |\n| && - ` utils.foreach(obj.areas, function(areaParams) {` && |\n| && - ` Area.fromJSON(areaParams);` && |\n| && - ` }); ` && |\n| && - ` }` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` var localStorageWrapper = (function() {` && |\n| && - ` var KEY_NAME = 'AmihaiAtias';` && |\n| && - ` ` && |\n| && - ` return {` && |\n| && - ` save : function() {` && |\n| && - ` var result = areasIO.toJSON();` && |\n| && - ` window.localStorage.setItem(KEY_NAME, result);` && |\n| && - ` console.info('Editor ' + result + ' saved');` && |\n| && - ` ` && |\n| && - ` alert('Saved');` && |\n| && - ` },` && |\n| && - ` restore : function() {` && |\n| && - ` areasIO.fromJSON(window.localStorage.getItem(KEY_NAME));` && |\n| && - ` }` && |\n| && - ` };` && |\n| && - ` })();` && |\n| && - ` ` && |\n| && - ` return {` && |\n| && - ` domElements : domElements,` && |\n| && - ` saveInLocalStorage : localStorageWrapper.save,` && |\n| && - ` loadFromLocalStorage : localStorageWrapper.restore,` && |\n| && - ` hide : function() {` && |\n| && - ` utils.hide(domElements.container);` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` show : function() {` && |\n| && - ` utils.show(domElements.container);` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` recalcOffsetValues: function() {` && |\n| && - ` recalcOffsetValues();` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` setDimensions : function(width, height) {` && |\n| && - ` domElements.svg.setAttribute('width', width);` && |\n| && - ` domElements.svg.setAttribute('height', height);` && |\n| && - ` domElements.container.style.width = width + 'px';` && |\n| && - ` domElements.container.style.height = height + 'px';` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` loadImage : function(url) {` && |\n| && - ` //get_image.showLoadIndicator();` && |\n| && - ` domElements.img.src = url;` && |\n| && - ` state.image.src = url;` && |\n| && - ` ` && |\n| && - ` domElements.img.onload = function() {` && |\n| && - ` //get_image.hideLoadIndicator().hide();` && |\n| && - ` app.show()` && |\n| && - ` .setDimensions(domElements.img.width, domElements.img.height)` && |\n| && - ` .recalcOffsetValues();` && |\n| && - ` };` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` preview : (function() {` && |\n| && - ` domElements.img.setAttribute('usemap', '#map');` && |\n| && - ` domElements.map = document.createElement('map');` && |\n| && - ` domElements.map.setAttribute('name', 'map');` && |\n| && - ` domElements.container.appendChild(domElements.map);` && |\n| && - ` ` && |\n| && - ` return function() {` && |\n| && - ` info.unload();` && |\n| && - ` app.setShape(null);` && |\n| && - ` utils.hide(domElements.svg);` && |\n| && - ` domElements.map.innerHTML = app.getHTMLCode();` && |\n| && - ` code.print();` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` })(),` && |\n| && - ` hidePreview : function() {` && |\n| && - ` utils.show(domElements.svg);` && |\n| && - ` domElements.map.innerHTML = '';` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` addNodeToSvg : function(node) {` && |\n| && - ` domElements.svg.appendChild(node);` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` removeNodeFromSvg : function(node) {` && |\n| && - ` domElements.svg.removeChild(node);` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` getOffset : function(arg) {` && |\n| && - ` switch(arg) {` && |\n| && - ` case 'x':` && |\n| && - ` case 'y':` && |\n| && - ` return state.offset[arg];` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - ` clear : function(){` && |\n| && - ` //remove all areas` && |\n| && - ` state.areas.length = 0;` && |\n| && - ` while(domElements.svg.childNodes[0]) {` && |\n| && - ` domElements.svg.removeChild(domElements.svg.childNodes[0]);` && |\n| && - ` }` && |\n| && - ` code.hide();` && |\n| && - ` info.unload();` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` removeObject : function(obj) {` && |\n| && - ` utils.foreach(state.areas, function(x, i) {` && |\n| && - ` if(x === obj) {` && |\n| && - ` state.areas.splice(i, 1);` && |\n| && - ` }` && |\n| && - ` });` && |\n| && - ` obj.remove();` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` deselectAll : function() {` && |\n| && - ` utils.foreach(state.areas, function(x) {` && |\n| && - ` x.deselect();` && |\n| && - ` });` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` getIsDraw : function() {` && |\n| && - ` return state.isDraw;` && |\n| && - ` },` && |\n| && - ` setIsDraw : function(arg) {` && |\n| && - ` state.isDraw = arg;` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` setMode : function(arg) {` && |\n| && - ` state.appMode = arg;` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` getMode : function() {` && |\n| && - ` return state.appMode;` && |\n| && - ` },` && |\n| && - ` setShape : function(arg) {` && |\n| && - ` state.currentType = arg;` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` getShape : function() {` && |\n| && - ` return state.currentType;` && |\n| && - ` },` && |\n| && - ` addObject : function(object) {` && |\n| && - ` state.areas.push(object);` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` getNewArea : function() {` && |\n| && - ` return state.newArea;` && |\n| && - ` },` && |\n| && - ` resetNewArea : function() {` && |\n| && - ` state.newArea = null;` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` getSelectedArea : function() {` && |\n| && - ` return state.selectedArea;` && |\n| && - ` },` && |\n| && - ` setSelectedArea : function(obj) {` && |\n| && - ` state.selectedArea = obj;` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` getEditType : function() {` && |\n| && - ` return state.editType;` && |\n| && - ` },` && |\n| && - ` setFilename : function(str) {` && |\n| && - ` state.image.filename = str;` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` setEditClass : function() {` && |\n| && - ` domElements.container.classList.remove('draw');` && |\n| && - ` domElements.container.classList.add('edit');` && |\n| && - `` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` setDrawClass : function() {` && |\n| && - ` domElements.container.classList.remove('edit');` && |\n| && - ` domElements.container.classList.add('draw');` && |\n| && - `` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` setDefaultClass : function() {` && |\n| && - ` domElements.container.classList.remove('edit');` && |\n| && - ` domElements.container.classList.remove('draw');` && |\n| && - `` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` addEvent : function(target, eventType, func) {` && |\n| && - ` state.events.push(new AppEvent(target, eventType, func));` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` removeAllEvents : function() {` && |\n| && - ` utils.foreach(state.events, function(x) {` && |\n| && - ` x.remove();` && |\n| && - ` });` && |\n| && - ` state.events.length = 0;` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` getHTMLCode : function(arg) {` && |\n| && - ` var html_code = '';` && |\n| && - ` if (arg) {` && |\n| && - ` if (!state.areas.length) {` && |\n| && - ` return '0 objects';` && |\n| && - ` }` && |\n| && - ` html_code += utils.encode('<img src="' + state.image.filename + '" alt="" usemap="#map" />') +` && |\n| && - ` '<br />' + utils.encode('<map name="map">') + '<br />';` && |\n| && - ` utils.foreachReverse(state.areas, function(x) {` && |\n| && - ` html_code += '&nbsp;&nbsp;&nbsp;&nbsp;' + utils.encode(x.toHTMLMapElementString()) + '<br />';` && |\n| && - ` });` && |\n| && - ` html_code += utils.encode('</map>');` && |\n| && - ` } else {` && |\n| && - ` utils.foreachReverse(state.areas, function(x) {` && |\n| && - ` html_code += x.toHTMLMapElementString();` && |\n| && - ` });` && |\n| && - ` }` && |\n| && - ` return html_code;` && |\n| && - ` }` && |\n| && - ` };` && |\n| && - ` })();` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * The constructor for dom events (for simple deleting of event)` && |\n| && - ` * ` && |\n| && - ` * @constructor` && |\n| && - ` * @param {DOMElement} target - DOM-element` && |\n| && - ` * @param {String} eventType - e.g. 'click' or 'mousemove'` && |\n| && - ` * @param {Function} func - handler for this event` && |\n| && - ` */` && |\n| && - ` function AppEvent(target, eventType, func) {` && |\n| && - ` this.target = target;` && |\n| && - ` this.eventType = eventType;` && |\n| && - ` this.func = func;` && |\n| && - ` ` && |\n| && - ` target.addEventListener(eventType, func, false);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * Remove this event listener from target` && |\n| && - ` */` && |\n| && - ` AppEvent.prototype.remove = function() {` && |\n| && - ` this.target.removeEventListener(this.eventType, this.func, false);` && |\n| && - ` };` && |\n| && - `` && |\n|. - result = result && - ` function Helper(node, x, y, action) {` && |\n| && - ` this._el = document.createElementNS(Area.SVG_NS, 'rect');` && |\n| && - ` ` && |\n| && - ` this._el.classList.add(Helper.CLASS_NAME);` && |\n| && - ` this._el.setAttribute('height', Helper.SIZE);` && |\n| && - ` this._el.setAttribute('width', Helper.SIZE);` && |\n| && - ` this._el.setAttribute('x', x + Helper.OFFSET);` && |\n| && - ` this._el.setAttribute('y', y + Helper.OFFSET);` && |\n| && - ` ` && |\n| && - ` node.appendChild(this._el);` && |\n| && - ` ` && |\n| && - ` this._el.action = action; // TODO: move 'action' from dom el to data-attr` && |\n| && - ` this._el.classList.add(Helper.ACTIONS_TO_CURSORS[action]);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` Helper.SIZE = 5;` && |\n| && - ` Helper.OFFSET = -Math.ceil(Helper.SIZE / 2);` && |\n| && - ` Helper.CLASS_NAME = 'helper';` && |\n| && - ` Helper.ACTIONS_TO_CURSORS = {` && |\n| && - ` 'move' : 'move',` && |\n| && - ` 'editLeft' : 'e-resize',` && |\n| && - ` 'editRight' : 'w-resize',` && |\n| && - ` 'editTop' : 'n-resize',` && |\n| && - ` 'editBottom' : 's-resize',` && |\n| && - ` 'editTopLeft' : 'nw-resize',` && |\n| && - ` 'editTopRight' : 'ne-resize',` && |\n| && - ` 'editBottomLeft' : 'sw-resize',` && |\n| && - ` 'editBottomRight' : 'se-resize',` && |\n| && - ` 'movePoint' : 'pointer'` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Helper.prototype.setCoords = function(x, y) {` && |\n| && - ` this._el.setAttribute('x', x + Helper.OFFSET);` && |\n| && - ` this._el.setAttribute('y', y + Helper.OFFSET);` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Helper.prototype.setId = function(id) {` && |\n| && - ` // TODO: move n-field from DOM-element to data-attribute` && |\n| && - ` this._el.n = id;` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` function Area(type, coords, attributes) {` && |\n| && - ` if (this.constructor === Area) {` && |\n| && - ` throw new Error('This is abstract class');` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` this._type = type;` && |\n| && - ` ` && |\n| && - ` this._attributes = {` && |\n| && - ` href : '',` && |\n| && - ` alt : '',` && |\n| && - ` title : '' ` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` if (attributes) {` && |\n| && - ` this.setInfoAttributes(attributes);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` this._coords = coords;` && |\n| && - ` ` && |\n| && - ` // the g-element, it contains this area and helpers elements` && |\n| && - ` this._groupEl = document.createElementNS(Area.SVG_NS, 'g');` && |\n| && - ` app.addNodeToSvg(this._groupEl);` && |\n| && - ` ` && |\n| && - ` // TODO: remove this field from DOM-element` && |\n| && - ` // Link to parent object` && |\n| && - ` this._groupEl.obj = this;` && |\n| && - ` ` && |\n| && - ` // svg-dom-element of area` && |\n| && - ` this._el = null; ` && |\n| && - ` ` && |\n| && - ` // Object with all helpers of area` && |\n| && - ` this._helpers = {};` && |\n| && - ` ` && |\n| && - ` // Add this new area to list of all areas ` && |\n| && - ` app.addObject(this);` && |\n| && - ` }` && |\n| && - ` Area.SVG_NS = 'http://www.w3.org/2000/svg'; // TODO: move to main editor constructor` && |\n| && - ` Area.CLASS_NAMES = {` && |\n| && - ` SELECTED : 'selected',` && |\n| && - ` WITH_HREF : 'with_href'` && |\n| && - ` };` && |\n| && - ` Area.CONSTRUCTORS = {` && |\n| && - ` rectangle : Rectangle,` && |\n| && - ` circle : Circle,` && |\n| && - ` polygon : Polygon` && |\n| && - ` };` && |\n| && - ` Area.REGEXP = {` && |\n| && - ` AREA : /<area(?=.*? shape="(rect|circle|poly)")(?=.*? coords="([\d ,]+?)")[\s\S]*?>/gmi,` && |\n| && - ` HREF : / href="([\S\s]+?)"/,` && |\n| && - ` ALT : / alt="([\S\s]+?)"/,` && |\n| && - ` TITLE : / title="([\S\s]+?)"/,` && |\n| && - ` DELIMETER : / ?, ?/` && |\n| && - ` };` && |\n| && - ` Area.HTML_NAMES_TO_AREA_NAMES = {` && |\n| && - ` rect : 'rectangle',` && |\n| && - ` circle : 'circle',` && |\n| && - ` poly : 'polygon'` && |\n| && - ` };` && |\n| && - ` Area.ATTRIBUTES_NAMES = ['HREF', 'ALT', 'TITLE'];` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * This method should be implemented for child-classes ` && |\n| && - ` * ` && |\n| && - ` * @throws {AbstractMethodCall}` && |\n| && - ` */` && |\n| && - ` Area.prototype.ABSTRACT_METHOD = function() {` && |\n| && - ` throw new Error('This is abstract method');` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * All these methods are abstract ` && |\n| && - ` * ` && |\n| && - ` * @throws {AbstractMethodCall}` && |\n| && - ` */` && |\n| && - ` Area.prototype.setSVGCoords =` && |\n| && - ` Area.prototype.setCoords = ` && |\n| && - ` Area.prototype.dynamicDraw = ` && |\n| && - ` Area.prototype.onProcessDrawing = ` && |\n| && - ` Area.prototype.onStopDrawing = ` && |\n| && - ` Area.prototype.edit = ` && |\n| && - ` Area.prototype.dynamicEdit = ` && |\n| && - ` Area.prototype.onProcessEditing = ` && |\n| && - ` Area.prototype.onStopEditing = ` && |\n| && - ` Area.prototype.toString = ` && |\n| && - ` Area.prototype.toHTMLMapElementString =` && |\n| && - ` Area.prototype.getCoordsForDisplayingInfo = ` && |\n| && - ` Area.prototype.ABSTRACT_METHOD;` && |\n| && - ` ` && |\n| && - ` Area.prototype.redraw = function(coords) {` && |\n| && - ` this.setSVGCoords(coords ? coords : this._coords);` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * Remove this area from DOM-tree` && |\n| && - ` */` && |\n| && - ` Area.prototype.remove = function() {` && |\n| && - ` app.removeNodeFromSvg(this._groupEl);` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` /**` && |\n| && - ` * Move this area by dx, dy ` && |\n| && - ` * ` && |\n| && - ` * @returns {Area} - this area` && |\n| && - ` */` && |\n| && - ` Area.prototype.move = function(dx, dy) {` && |\n| && - ` this.setCoords(this.edit('move', dx, dy)).redraw();` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Area.prototype.select = function() {` && |\n| && - ` this._el.classList.add(Area.CLASS_NAMES.SELECTED);` && |\n| && - ` console.info(this.toString() + ' is selected now');` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Area.prototype.deselect = function() {` && |\n| && - ` this._el.classList.remove(Area.CLASS_NAMES.SELECTED);` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Area.prototype.setStyleOfElementWithHref = function() {` && |\n| && - ` this._el.classList.add(Area.CLASS_NAMES.WITH_HREF);` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Area.prototype.unsetStyleOfElementWithHref = function() {` && |\n| && - ` this._el.classList.remove(Area.CLASS_NAMES.WITH_HREF);` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Area.prototype.setInfoAttributes = function(attributes) {` && |\n| && - ` this._attributes.href = attributes.href;` && |\n| && - ` this._attributes.alt = attributes.alt;` && |\n| && - ` this._attributes.title = attributes.title;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Area.prototype.toJSON = function() {` && |\n| && - ` return {` && |\n| && - ` type : this._type,` && |\n| && - ` coords : this._coords,` && |\n| && - ` attributes : this._attributes` && |\n| && - ` };` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * Returns new area object created with params from json-object` && |\n| && - ` * ` && |\n| && - ` * @static` && |\n| && - ` * @param params {Object} - params of area, incl. type, coords and attributes` && |\n| && - ` * @returns {Rectangle|Circle|Polygon}` && |\n| && - ` */` && |\n| && - ` Area.fromJSON = function(params) {` && |\n| && - ` var AreaConstructor = Area.CONSTRUCTORS[params.type];` && |\n| && - ` ` && |\n| && - ` if (!AreaConstructor) {` && |\n| && - ` throw new Error('This area type is not valid');` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` if (!AreaConstructor.testCoords(params.coords)) {` && |\n| && - ` throw new Error('This coords is not valid for ' + params.type);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` app.setIsDraw(true);` && |\n| && - ` ` && |\n| && - ` var area = new AreaConstructor(params.coords, params.attributes);` && |\n| && - ` ` && |\n| && - ` app.setIsDraw(false)` && |\n| && - ` .resetNewArea();` && |\n| && - ` ` && |\n| && - ` return area;` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Area.createAreasFromHTMLOfMap = function(htmlStr) {` && |\n| && - ` if (!htmlStr) {` && |\n| && - ` return false;` && |\n| && - ` } ` && |\n| && - `` && |\n| && - ` while (true) {` && |\n| && - ` var findedResult = Area.REGEXP.AREA.exec(htmlStr); // <area shape="$1" coords="$2" ... />` && |\n| && - ` if (!findedResult) {` && |\n| && - ` break;` && |\n| && - ` } ` && |\n| && - `` && |\n| && - ` var htmlAreaFinded = findedResult[0], // <area shape="..." coords="..." ... />` && |\n| && - ` type = findedResult[1], // $1` && |\n| && - ` coords = findedResult[2].split(Area.REGEXP.DELIMETER), // $2` && |\n| && - ` attributes = {}; ` && |\n| && - ` ` && |\n| && - ` Area.ATTRIBUTES_NAMES.forEach(function(item, i) {` && |\n| && - ` var result = Area.REGEXP[item].exec(htmlAreaFinded);` && |\n| && - `` && |\n| && - ` if (result) {` && |\n| && - ` attributes[name] = result[1];` && |\n| && - ` } ` && |\n| && - ` });` && |\n| && - ` ` && |\n| && - ` coords = coords.map(function(item) {` && |\n| && - ` return Number(item);` && |\n| && - ` });` && |\n| && - `` && |\n| && - ` type = Area.HTML_NAMES_TO_AREA_NAMES[type];` && |\n| && - `` && |\n| && - ` Area.fromJSON({` && |\n| && - ` type : type,` && |\n| && - ` coords : Area.CONSTRUCTORS[type].getCoordsFromHTMLArray(coords),` && |\n| && - ` attributes : attributes` && |\n| && - ` });` && |\n| && - `` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` return Boolean(htmlAreaFinded);` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` /**` && |\n| && - ` * Returns copy of original area, selected and moved by (10,10) from it` && |\n| && - ` * ` && |\n| && - ` * @param originalArea {Area}` && |\n| && - ` * @returns {Area} - a copy of original area` && |\n| && - ` */` && |\n| && - ` Area.copy = function(originalArea) {` && |\n| && - ` return Area.fromJSON(originalArea.toJSON()).move(10, 10).select();` && |\n| && - ` };` && |\n| && - `` && |\n| && - `` && |\n| && - ` function Rectangle(coords, attributes) {` && |\n| && - ` Area.call(this, 'rectangle', coords, attributes);` && |\n| && - ` ` && |\n| && - ` this._coords = {` && |\n| && - ` x : coords.x || 0, ` && |\n| && - ` y : coords.y || 0,` && |\n| && - ` width : coords.width || 0, ` && |\n| && - ` height : coords.height || 0` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` this._el = document.createElementNS(Area.SVG_NS, 'rect');` && |\n| && - ` this._groupEl.appendChild(this._el);` && |\n| && - ` ` && |\n| && - ` var x = coords.x - this._coords.width / 2,` && |\n| && - ` y = coords.y - this._coords.height / 2;` && |\n| && - ` ` && |\n| && - ` this._helpers = {` && |\n| && - ` center : new Helper(this._groupEl, x, y, 'move'),` && |\n| && - ` top : new Helper(this._groupEl, x, y, 'editTop'),` && |\n| && - ` bottom : new Helper(this._groupEl, x, y, 'editBottom'),` && |\n| && - ` left : new Helper(this._groupEl, x, y, 'editLeft'),` && |\n| && - ` right : new Helper(this._groupEl, x, y, 'editRight'),` && |\n| && - ` topLeft : new Helper(this._groupEl, x, y, 'editTopLeft'),` && |\n| && - ` topRight : new Helper(this._groupEl, x, y, 'editTopRight'),` && |\n| && - ` bottomLeft : new Helper(this._groupEl, x, y, 'editBottomLeft'),` && |\n| && - ` bottomRight : new Helper(this._groupEl, x, y, 'editBottomRight')` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` this.redraw();` && |\n| && - ` }` && |\n| && - ` utils.inherits(Rectangle, Area);` && |\n| && - ` ` && |\n| && - ` Rectangle.prototype.setSVGCoords = function(coords) {` && |\n| && - ` this._el.setAttribute('x', coords.x);` && |\n| && - ` this._el.setAttribute('y', coords.y);` && |\n| && - ` this._el.setAttribute('width', coords.width);` && |\n| && - ` this._el.setAttribute('height', coords.height);` && |\n| && - ` ` && |\n| && - ` var top = coords.y,` && |\n| && - ` center_y = coords.y + coords.height / 2,` && |\n| && - ` bottom = coords.y + coords.height,` && |\n| && - ` left = coords.x,` && |\n| && - ` center_x = coords.x + coords.width / 2,` && |\n| && - ` right = coords.x + coords.width;` && |\n| && - ` ` && |\n| && - ` this._helpers.center.setCoords(center_x, center_y);` && |\n| && - ` this._helpers.top.setCoords(center_x, top);` && |\n| && - ` this._helpers.bottom.setCoords(center_x, bottom);` && |\n| && - ` this._helpers.left.setCoords(left, center_y);` && |\n| && - ` this._helpers.right.setCoords(right, center_y);` && |\n| && - ` this._helpers.topLeft.setCoords(left, top);` && |\n| && - ` this._helpers.topRight.setCoords(right, top);` && |\n| && - ` this._helpers.bottomLeft.setCoords(left, bottom);` && |\n| && - ` this._helpers.bottomRight.setCoords(right, bottom);` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.prototype.setCoords = function(coords) {` && |\n| && - ` this._coords.x = coords.x;` && |\n| && - ` this._coords.y = coords.y;` && |\n| && - ` this._coords.width = coords.width;` && |\n| && - ` this._coords.height = coords.height;` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.prototype.dynamicDraw = function(x, y, isSquare) {` && |\n| && - ` var newCoords = {` && |\n| && - ` x : this._coords.x,` && |\n| && - ` y : this._coords.y,` && |\n| && - ` width : x - this._coords.x,` && |\n| && - ` height: y - this._coords.y` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` if (isSquare) {` && |\n| && - ` newCoords = Rectangle.getSquareCoords(newCoords);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` newCoords = Rectangle.getNormalizedCoords(newCoords);` && |\n| && - ` ` && |\n| && - ` this.redraw(newCoords);` && |\n| && - ` ` && |\n| && - ` return newCoords;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.prototype.onProcessDrawing = function(e) {` && |\n| && - ` var coords = utils.getRightCoords(e.pageX, e.pageY);` && |\n| && - ` ` && |\n| && - ` this.dynamicDraw(coords.x, coords.y, e.shiftKey);` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.prototype.onStopDrawing = function(e) {` && |\n| && - ` var coords = utils.getRightCoords(e.pageX, e.pageY);` && |\n| && - ` ` && |\n| && - ` this.setCoords(this.dynamicDraw(coords.x, coords.y, e.shiftKey)).deselect();` && |\n| && - ` ` && |\n| && - ` app.removeAllEvents()` && |\n| && - ` .setIsDraw(false)` && |\n| && - ` .resetNewArea();` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.prototype.edit = function(editingType, dx, dy) {` && |\n| && - ` var tempParams = Object.create(this._coords);` && |\n| && - ` ` && |\n| && - ` switch (editingType) {` && |\n| && - ` case 'move':` && |\n| && - ` tempParams.x += dx;` && |\n| && - ` tempParams.y += dy;` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'editLeft':` && |\n| && - ` tempParams.x += dx; ` && |\n| && - ` tempParams.width -= dx;` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'editRight':` && |\n| && - ` tempParams.width += dx;` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'editTop':` && |\n| && - ` tempParams.y += dy;` && |\n| && - ` tempParams.height -= dy;` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'editBottom':` && |\n| && - ` tempParams.height += dy;` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'editTopLeft':` && |\n| && - ` tempParams.x += dx;` && |\n| && - ` tempParams.y += dy;` && |\n| && - ` tempParams.width -= dx;` && |\n| && - ` tempParams.height -= dy;` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'editTopRight':` && |\n| && - ` tempParams.y += dy;` && |\n| && - ` tempParams.width += dx;` && |\n| && - ` tempParams.height -= dy;` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'editBottomLeft':` && |\n| && - ` tempParams.x += dx;` && |\n| && - ` tempParams.width -= dx;` && |\n| && - ` tempParams.height += dy;` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'editBottomRight':` && |\n| && - ` tempParams.width += dx;` && |\n| && - ` tempParams.height += dy;` && |\n| && - ` break;` && |\n| && - ` }` && |\n| && - `` && |\n|. - result = result && - ` return tempParams;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.prototype.dynamicEdit = function(coords, saveProportions) {` && |\n| && - ` coords = Rectangle.getNormalizedCoords(coords);` && |\n| && - ` ` && |\n| && - ` if (saveProportions) {` && |\n| && - ` coords = Rectangle.getSavedProportionsCoords(coords);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` this.redraw(coords);` && |\n| && - ` ` && |\n| && - ` return coords;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.prototype.onProcessEditing = function(e) {` && |\n| && - ` return this.dynamicEdit(` && |\n| && - ` this.edit(` && |\n| && - ` app.getEditType(),` && |\n| && - ` e.pageX - this.editingStartPoint.x,` && |\n| && - ` e.pageY - this.editingStartPoint.y` && |\n| && - ` ),` && |\n| && - ` e.shiftKey` && |\n| && - ` );` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.prototype.onStopEditing = function(e) {` && |\n| && - ` this.setCoords(this.onProcessEditing(e));` && |\n| && - ` app.removeAllEvents();` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Rectangle.prototype.toString = function() {` && |\n| && - ` return 'Rectangle {x: '+ this._coords.x + ` && |\n| && - ` ', y: ' + this._coords.y + ` && |\n| && - ` ', width: ' + this._coords.width + ` && |\n| && - ` ', height: ' + this._coords.height + '}';` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` Rectangle.prototype.toHTMLMapElementString = function() {` && |\n| && - ` var x2 = this._coords.x + this._coords.width,` && |\n| && - ` y2 = this._coords.y + this._coords.height;` && |\n| && - ` ` && |\n| && - ` return '<area shape="rect" coords="' // TODO: use template engine` && |\n| && - ` + this._coords.x + ', '` && |\n| && - ` + this._coords.y + ', '` && |\n| && - ` + x2 + ', '` && |\n| && - ` + y2` && |\n| && - ` + '"'` && |\n| && - ` + (this._attributes.href ? ' href="' + this._attributes.href + '"' : '')` && |\n| && - ` + (this._attributes.alt ? ' alt="' + this._attributes.alt + '"' : '')` && |\n| && - ` + (this._attributes.title ? ' title="' + this._attributes.title + '"' : '')` && |\n| && - ` + ' />';` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Rectangle.prototype.getCoordsForDisplayingInfo = function() {` && |\n| && - ` return {` && |\n| && - ` x : this._coords.x,` && |\n| && - ` y : this._coords.y` && |\n| && - ` };` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.testCoords = function(coords) {` && |\n| && - ` return coords.x && coords.y && coords.width && coords.height;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.testHTMLCoords = function(coords) {` && |\n| && - ` return coords.length === 4;` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Rectangle.getCoordsFromHTMLArray = function(htmlCoordsArray) {` && |\n| && - ` if (!Rectangle.testHTMLCoords(htmlCoordsArray)) { ` && |\n| && - ` throw new Error('This html-coordinates is not valid for rectangle');` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` return {` && |\n| && - ` x : htmlCoordsArray[0],` && |\n| && - ` y : htmlCoordsArray[1],` && |\n| && - ` width : htmlCoordsArray[2] - htmlCoordsArray[0],` && |\n| && - ` height : htmlCoordsArray[3] - htmlCoordsArray[1]` && |\n| && - ` };` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Rectangle.getNormalizedCoords = function(coords) {` && |\n| && - ` if (coords.width < 0) {` && |\n| && - ` coords.x += coords.width;` && |\n| && - ` coords.width = Math.abs(coords.width);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` if (coords.height < 0) {` && |\n| && - ` coords.y += coords.height;` && |\n| && - ` coords.height = Math.abs(coords.height);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` return coords;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.getSquareCoords = function(coords) {` && |\n| && - ` var width = Math.abs(coords.width),` && |\n| && - ` height = Math.abs(coords.height);` && |\n| && - ` ` && |\n| && - ` if (width > height) {` && |\n| && - ` coords.width = coords.width > 0 ? height : -height;` && |\n| && - ` } else {` && |\n| && - ` coords.height = coords.height > 0 ? width : -width;` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` return coords;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.getSavedProportionsCoords = function(coords, originalCoords) {` && |\n| && - ` var originalProportions = coords.width / coords.height,` && |\n| && - ` currentProportions = originalCoords.width / originalCoords.height;` && |\n| && - ` ` && |\n| && - ` if (currentProportions > originalProportions) {` && |\n| && - ` coords.width = Math.round(coords.height * originalProportions);` && |\n| && - ` } else {` && |\n| && - ` coords.height = Math.round(coords.width / originalProportions);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` return coords;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Rectangle.createAndStartDrawing = function(firstPointCoords) {` && |\n| && - ` var newArea = new Rectangle({` && |\n| && - ` x : firstPointCoords.x,` && |\n| && - ` y : firstPointCoords.y,` && |\n| && - ` width: 0,` && |\n| && - ` height: 0` && |\n| && - ` });` && |\n| && - ` ` && |\n| && - ` app.addEvent(app.domElements.container, 'mousemove', newArea.onProcessDrawing.bind(newArea))` && |\n| && - ` .addEvent(app.domElements.container, 'click', newArea.onStopDrawing.bind(newArea));` && |\n| && - ` ` && |\n| && - ` return newArea;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - `` && |\n| && - ` function Circle(coords, attributes) {` && |\n| && - ` Area.call(this, 'circle', coords, attributes);` && |\n| && - ` ` && |\n| && - ` this._coords = {` && |\n| && - ` cx : coords.cx || 0,` && |\n| && - ` cy : coords.cy || 0,` && |\n| && - ` radius : coords.radius || 0 ` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` this._el = document.createElementNS(Area.SVG_NS, 'circle');` && |\n| && - ` this._groupEl.appendChild(this._el);` && |\n| && - ` ` && |\n| && - ` this.helpers = {` && |\n| && - ` center : new Helper(this._groupEl, coords.cx, coords.cy, 'move'),` && |\n| && - ` top : new Helper(this._groupEl, coords.cx, coords.cy, 'editTop'),` && |\n| && - ` bottom : new Helper(this._groupEl, coords.cx, coords.cy, 'editBottom'),` && |\n| && - ` left : new Helper(this._groupEl, coords.cx, coords.cy, 'editLeft'),` && |\n| && - ` right : new Helper(this._groupEl, coords.cx, coords.cy, 'editRight')` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` this.redraw();` && |\n| && - ` }` && |\n| && - ` utils.inherits(Circle, Area);` && |\n| && - ` ` && |\n| && - ` Circle.prototype.setSVGCoords = function(coords) {` && |\n| && - ` this._el.setAttribute('cx', coords.cx);` && |\n| && - ` this._el.setAttribute('cy', coords.cy);` && |\n| && - ` this._el.setAttribute('r', coords.radius);` && |\n| && - ` ` && |\n| && - ` this.helpers.center.setCoords(coords.cx, coords.cy);` && |\n| && - ` this.helpers.top.setCoords(coords.cx, coords.cy - coords.radius);` && |\n| && - ` this.helpers.right.setCoords(coords.cx + coords.radius, coords.cy);` && |\n| && - ` this.helpers.bottom.setCoords(coords.cx, coords.cy + coords.radius);` && |\n| && - ` this.helpers.left.setCoords(coords.cx - coords.radius, coords.cy);` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Circle.prototype.setCoords = function(coords) {` && |\n| && - ` this._coords.cx = coords.cx;` && |\n| && - ` this._coords.cy = coords.cy;` && |\n| && - ` this._coords.radius = coords.radius;` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Circle.prototype.dynamicDraw = function(x, y) {` && |\n| && - ` var radius = Math.round(` && |\n| && - ` Math.sqrt(` && |\n| && - ` Math.pow(this._coords.cx - x, 2) +` && |\n| && - ` Math.pow(this._coords.cy - y, 2)` && |\n| && - ` )` && |\n| && - ` ),` && |\n| && - ` newCoords = {` && |\n| && - ` cx : this._coords.cx,` && |\n| && - ` cy : this._coords.cy,` && |\n| && - ` radius : radius` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` this.redraw(newCoords);` && |\n| && - ` ` && |\n| && - ` return newCoords;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Circle.prototype.onProcessDrawing = function(e) {` && |\n| && - ` var coords = utils.getRightCoords(e.pageX, e.pageY);` && |\n| && - ` ` && |\n| && - ` this.dynamicDraw(coords.x, coords.y);` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Circle.prototype.onStopDrawing = function(e) {` && |\n| && - ` var coords = utils.getRightCoords(e.pageX, e.pageY);` && |\n| && - ` ` && |\n| && - ` this.setCoords(this.dynamicDraw(coords.x, coords.y)).deselect();` && |\n| && - ` ` && |\n| && - ` app.removeAllEvents()` && |\n| && - ` .setIsDraw(false)` && |\n| && - ` .resetNewArea();` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Circle.prototype.edit = function(editingType, dx, dy) {` && |\n| && - ` var tempParams = Object.create(this._coords);` && |\n| && - ` ` && |\n| && - ` switch (editingType) {` && |\n| && - ` case 'move':` && |\n| && - ` tempParams.cx += dx;` && |\n| && - ` tempParams.cy += dy;` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'editTop':` && |\n| && - ` tempParams.radius -= dy;` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'editBottom':` && |\n| && - ` tempParams.radius += dy;` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'editLeft':` && |\n| && - ` tempParams.radius -= dx;` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'editRight':` && |\n| && - ` tempParams.radius += dx;` && |\n| && - ` break;` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` return tempParams;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Circle.prototype.dynamicEdit = function(tempCoords) {` && |\n| && - ` if (tempCoords.radius < 0) {` && |\n| && - ` tempCoords.radius = Math.abs(tempCoords.radius);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` this.setSVGCoords(tempCoords);` && |\n| && - ` ` && |\n| && - ` return tempCoords;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Circle.prototype.onProcessEditing = function(e) {` && |\n| && - ` var editType = app.getEditType();` && |\n| && - ` ` && |\n| && - ` return this.dynamicEdit(` && |\n| && - ` this.edit(editType, e.pageX - this.editingStartPoint.x, e.pageY - this.editingStartPoint.y)` && |\n| && - ` );` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Circle.prototype.onStopEditing = function(e) {` && |\n| && - ` var editType = app.getEditType();` && |\n| && - ` ` && |\n| && - ` this.setCoords(this.onProcessEditing(e));` && |\n| && - ` ` && |\n| && - ` app.removeAllEvents();` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * Returns string-representation of circle` && |\n| && - ` * ` && |\n| && - ` * @returns {string}` && |\n| && - ` */` && |\n| && - ` Circle.prototype.toString = function() {` && |\n| && - ` return 'Circle {cx: '+ this._coords.cx +` && |\n| && - ` ', cy: ' + this._coords.cy +` && |\n| && - ` ', radius: ' + this._coords.radius + '}';` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` Circle.prototype.toHTMLMapElementString = function() {` && |\n| && - ` return '<area shape="circle" coords="'` && |\n| && - ` + this._coords.cx + ', '` && |\n| && - ` + this._coords.cy + ', '` && |\n| && - ` + this._coords.radius` && |\n| && - ` + '"'` && |\n| && - ` + (this._attributes.href ? ' href="' + this._attributes.href + '"' : '')` && |\n| && - ` + (this._attributes.alt ? ' alt="' + this._attributes.alt + '"' : '')` && |\n| && - ` + (this._attributes.title ? ' title="' + this._attributes.title + '"' : '')` && |\n| && - ` + ' />';` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` /**` && |\n| && - ` * Returns coords for area attributes form` && |\n| && - ` * ` && |\n| && - ` * @returns {Object} - coordinates of point` && |\n| && - ` */` && |\n| && - ` Circle.prototype.getCoordsForDisplayingInfo = function() {` && |\n| && - ` return {` && |\n| && - ` x : this._coords.cx,` && |\n| && - ` y : this._coords.cy` && |\n| && - ` };` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Circle.testCoords = function(coords) {` && |\n| && - ` return coords.cx && coords.cy && coords.radius;` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Circle.testHTMLCoords = function(coords) {` && |\n| && - ` return coords.length === 3;` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Circle.getCoordsFromHTMLArray = function(htmlCoordsArray) {` && |\n| && - ` if (!Circle.testHTMLCoords(htmlCoordsArray)) { ` && |\n| && - ` throw new Error('This html-coordinates is not valid for circle');` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` return {` && |\n| && - ` cx : htmlCoordsArray[0],` && |\n| && - ` cy : htmlCoordsArray[1],` && |\n| && - ` radius : htmlCoordsArray[2]` && |\n| && - ` };` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Circle.createAndStartDrawing = function(firstPointCoords) {` && |\n| && - ` var newArea = new Circle({` && |\n| && - ` cx : firstPointCoords.x,` && |\n| && - ` cy : firstPointCoords.y,` && |\n| && - ` radius : 0` && |\n| && - ` });` && |\n| && - ` ` && |\n| && - ` app.addEvent(app.domElements.container, 'mousemove', newArea.onProcessDrawing.bind(newArea))` && |\n| && - ` .addEvent(app.domElements.container, 'click', newArea.onStopDrawing.bind(newArea));` && |\n| && - ` ` && |\n| && - ` return newArea;` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` function Polygon(coords, attributes) {` && |\n| && - ` Area.call(this, 'polygon', coords, attributes);` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * @namespace` && |\n| && - ` * @property {Array} points - Array with coordinates of polygon points` && |\n| && - ` */` && |\n| && - ` this._coords = {` && |\n| && - ` points : coords.points || [{x: 0, y: 0}],` && |\n| && - ` isOpened : coords.isOpened || false` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` this._el = document.createElementNS(` && |\n| && - ` Area.SVG_NS, ` && |\n| && - ` this._coords.isOpened ? 'polyline' : 'polygon'` && |\n| && - ` );` && |\n| && - ` this._groupEl.appendChild(this._el);` && |\n| && - `` && |\n| && - ` this._helpers = { ` && |\n| && - ` points : []` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` for (var i = 0, c = this._coords.points.length; i < c; i++) {` && |\n| && - ` this._helpers.points.push(` && |\n| && - ` (new Helper(` && |\n| && - ` this._groupEl, ` && |\n| && - ` this._coords.points[i].x, ` && |\n| && - ` this._coords.points[i].y, ` && |\n| && - ` 'movePoint')` && |\n| && - ` ).setId(i)` && |\n| && - ` );` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` this._selectedPoint = -1;` && |\n| && - ` ` && |\n| && - ` this.redraw();` && |\n| && - ` }` && |\n| && - ` utils.inherits(Polygon, Area);` && |\n| && - ` ` && |\n| && - ` Polygon.prototype.close = function() {` && |\n| && - ` var polyline = this._el;` && |\n| && - ` this._el = document.createElementNS(Area.SVG_NS, 'polygon');` && |\n| && - ` this._groupEl.replaceChild(this._el, polyline);` && |\n| && - `` && |\n| && - ` this._coords.isOpened = false;` && |\n| && - ` this.redraw().deselect();` && |\n| && - ` };` && |\n| && - ` ` && |\n|. - - result = result && - ` Polygon.prototype.setSVGCoords = function(coords) {` && |\n| && - ` var polygonPointsAttrValue = coords.points.reduce(function(previousValue, currentItem) {` && |\n| && - ` return previousValue + currentItem.x + ' ' + currentItem.y + ' ';` && |\n| && - ` }, '');` && |\n| && - ` ` && |\n| && - ` this._el.setAttribute('points', polygonPointsAttrValue);` && |\n| && - ` utils.foreach(this._helpers.points, function(helper, i) {` && |\n| && - ` helper.setCoords(coords.points[i].x, coords.points[i].y);` && |\n| && - ` });` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Polygon.prototype.setCoords = function(coords) {` && |\n| && - ` this._coords.points = coords.points;` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Polygon.prototype.addPoint = function(x, y) {` && |\n| && - ` if (!this._coords.isOpened) {` && |\n| && - ` throw new Error('This polygon is closed!');` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` var helper = new Helper(this._groupEl, x, y, 'movePoint');` && |\n| && - ` helper.setId(this._helpers.points.length);` && |\n| && - `` && |\n| && - ` this._helpers.points.push(helper);` && |\n| && - ` this._coords.points.push({` && |\n| && - ` x : x, ` && |\n| && - ` y : y` && |\n| && - ` });` && |\n| && - ` this.redraw();` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Polygon.prototype.dynamicDraw = function(x, y, isRightAngle) {` && |\n| && - ` var temp_coords = {` && |\n| && - ` points: [].concat(this._coords.points)` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` if (isRightAngle) {` && |\n| && - ` var rightPointCoords = Polygon.getRightAngleLineLastPointCoords(` && |\n| && - ` this._coords, {x: x, y: y}` && |\n| && - ` );` && |\n| && - ` x = rightPointCoords.x;` && |\n| && - ` y = rightPointCoords.y;` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` temp_coords.points.push({x : x, y : y});` && |\n| && - ` ` && |\n| && - ` this.redraw(temp_coords);` && |\n| && - ` ` && |\n| && - ` return temp_coords;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Polygon.prototype.onProcessDrawing = function(e) {` && |\n| && - ` var coords = utils.getRightCoords(e.pageX, e.pageY);` && |\n| && - ` ` && |\n| && - ` this.dynamicDraw(coords.x, coords.y, e.shiftKey);` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Polygon.prototype.onAddPointDrawing = function(e) {` && |\n| && - ` var newPointCoords = utils.getRightCoords(e.pageX, e.pageY);` && |\n| && - `` && |\n| && - ` if (e.shiftKey) {` && |\n| && - ` newPointCoords = Polygon.getRightAngleLineLastPointCoords(this._coords, newPointCoords);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` this.addPoint(newPointCoords.x, newPointCoords.y);` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Polygon.prototype.onStopDrawing = function(e) {` && |\n| && - ` if (e.type == 'click' || (e.type == 'keydown' && e.keyCode == 13)) {` && |\n| && - ` if (Polygon.testCoords(this._coords)) {` && |\n| && - ` this.close();` && |\n| && - ` ` && |\n| && - ` app.removeAllEvents()` && |\n| && - ` .setIsDraw(false)` && |\n| && - ` .resetNewArea();` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` e.stopPropagation();` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Polygon.prototype.edit = function(editingType, dx, dy) {` && |\n| && - ` var tempParams = Object.create(this._coords);` && |\n| && - ` ` && |\n| && - ` switch (editingType) {` && |\n| && - ` case 'move':` && |\n| && - ` for (var i = 0, c = tempParams.points.length; i < c; i++) {` && |\n| && - ` tempParams.points[i].x += dx;` && |\n| && - ` tempParams.points[i].y += dy;` && |\n| && - ` }` && |\n| && - ` break;` && |\n| && - ` ` && |\n| && - ` case 'movePoint':` && |\n| && - ` tempParams.points[this.selected_point].x += dx;` && |\n| && - ` tempParams.points[this.selected_point].y += dy;` && |\n| && - ` break;` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` return tempParams;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Polygon.prototype.onProcessEditing = function(e) {` && |\n| && - ` var editType = app.getEditType();` && |\n| && - ` ` && |\n| && - ` this.redraw(` && |\n| && - ` this.edit(` && |\n| && - ` editType, ` && |\n| && - ` e.pageX - this.editingStartPoint.x, ` && |\n| && - ` e.pageY - this.editingStartPoint.y` && |\n| && - ` )` && |\n| && - ` );` && |\n| && - `` && |\n| && - ` this.editingStartPoint.x = e.pageX;` && |\n| && - ` this.editingStartPoint.y = e.pageY;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Polygon.prototype.onStopEditing = function(e) {` && |\n| && - ` var editType = app.getEditType();` && |\n| && - ` ` && |\n| && - ` this.setCoords(` && |\n| && - ` this.edit(` && |\n| && - ` editType, ` && |\n| && - ` e.pageX - this.editingStartPoint.x, ` && |\n| && - ` e.pageY - this.editingStartPoint.y` && |\n| && - ` )` && |\n| && - ` ).redraw();` && |\n| && - ` ` && |\n| && - ` app.removeAllEvents();` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` /**` && |\n| && - ` * Returns string-representation of polygon` && |\n| && - ` * ` && |\n| && - ` * @returns {string}` && |\n| && - ` */` && |\n| && - ` Polygon.prototype.toString = function() {` && |\n| && - ` return 'Polygon {points: ['+ ` && |\n| && - ` this._coords.points.map(function(item) {` && |\n| && - ` return '[' + item.x + ', ' + item.y + ']'` && |\n| && - ` }).join(', ') + ']}';` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` Polygon.prototype.toHTMLMapElementString = function() {` && |\n| && - ` var str = this._coords.points.map(function(item) {` && |\n| && - ` return item.x + ', ' + item.y;` && |\n| && - ` }).join(', ');` && |\n| && - ` ` && |\n| && - ` return '<area shape="poly" coords="'` && |\n| && - ` + str` && |\n| && - ` + '"'` && |\n| && - ` + (this._attributes.href ? ' href="' + this._attributes.href + '"' : '')` && |\n| && - ` + (this._attributes.alt ? ' alt="' + this._attributes.alt + '"' : '')` && |\n| && - ` + (this._attributes.title ? ' title="' + this._attributes.title + '"' : '')` && |\n| && - ` + ' />';` && |\n| && - ` };` && |\n|. - result = result && |\n| && - ` Polygon.prototype.getCoordsForDisplayingInfo = function() {` && |\n| && - ` return {` && |\n| && - ` x : this._coords.points[0].x,` && |\n| && - ` y : this._coords.points[0].y` && |\n| && - ` };` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Polygon.testCoords = function(coords) {` && |\n| && - ` return coords.points.length >= 3;` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Polygon.testHTMLCoords = function(coords) {` && |\n| && - ` return coords.length >= 6 && coords.length % 2 === 0;` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Polygon.getCoordsFromHTMLArray = function(htmlCoordsArray) {` && |\n| && - ` if (!Polygon.testHTMLCoords(htmlCoordsArray)) { ` && |\n| && - ` throw new Error('This html-coordinates is not valid for polygon');` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` var points = [];` && |\n| && - ` for (var i = 0, c = htmlCoordsArray.length/2; i < c; i++) {` && |\n| && - ` points.push({` && |\n| && - ` x : htmlCoordsArray[2*i],` && |\n| && - ` y : htmlCoordsArray[2*i + 1]` && |\n| && - ` });` && |\n| && - ` }` && |\n| && - `` && |\n| && - ` return {` && |\n| && - ` points : points` && |\n| && - ` };` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` Polygon.getRightAngleLineLastPointCoords = function(originalCoords, newPointCoords) {` && |\n| && - ` var TANGENS = {` && |\n| && - ` DEG_22 : 0.414,` && |\n| && - ` DEG_67 : 2.414` && |\n| && - ` },` && |\n| && - ` lastPointIndex = originalCoords.points.length - 1,` && |\n| && - ` lastPoint = originalCoords.points[lastPointIndex],` && |\n| && - ` dx = newPointCoords.x - lastPoint.x,` && |\n| && - ` dy = -(newPointCoords.y - lastPoint.y),` && |\n| && - ` tan = dy / dx,` && |\n| && - ` x = newPointCoords.x,` && |\n| && - ` y = newPointCoords.y;` && |\n| && - ` ` && |\n| && - ` if (dx > 0 && dy > 0) {` && |\n| && - ` if (tan > TANGENS.DEG_67) {` && |\n| && - ` x = lastPoint.x;` && |\n| && - ` } else if (tan < TANGENS.DEG_22) {` && |\n| && - ` y = lastPoint.y;` && |\n| && - ` } else {` && |\n| && - ` Math.abs(dx) > Math.abs(dy) ? ` && |\n| && - ` (x = lastPoint.x + dy) : (y = lastPoint.y - dx);` && |\n| && - ` }` && |\n| && - ` } else if (dx < 0 && dy > 0) {` && |\n| && - ` if (tan < -TANGENS.DEG_67) {` && |\n| && - ` x = lastPoint.x;` && |\n| && - ` } else if (tan > -TANGENS.DEG_22) {` && |\n| && - ` y = lastPoint.y;` && |\n| && - ` } else {` && |\n| && - ` Math.abs(dx) > Math.abs(dy) ?` && |\n| && - ` (x = lastPoint.x - dy) : (y = lastPoint.y + dx);` && |\n| && - ` }` && |\n| && - ` } else if (dx < 0 && dy < 0) {` && |\n| && - ` if (tan > TANGENS.DEG_67) {` && |\n| && - ` x = lastPoint.x;` && |\n| && - ` } else if (tan < TANGENS.DEG_22) {` && |\n| && - ` y = lastPoint.y;` && |\n| && - ` } else {` && |\n| && - ` Math.abs(dx) > Math.abs(dy) ? ` && |\n| && - ` (x = lastPoint.x + dy) : (y = lastPoint.y - dx);` && |\n| && - ` }` && |\n| && - ` } else if (dx > 0 && dy < 0) {` && |\n| && - ` if (tan < -TANGENS.DEG_67) {` && |\n| && - ` x = lastPoint.x;` && |\n| && - ` } else if (tan > -TANGENS.DEG_22) {` && |\n| && - ` y = lastPoint.y;` && |\n| && - ` } else {` && |\n| && - ` Math.abs(dx) > Math.abs(dy) ? ` && |\n| && - ` (x = lastPoint.x - dy) : (y = lastPoint.y + dx);` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` return {` && |\n| && - ` x : x,` && |\n| && - ` y : y` && |\n| && - ` };` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` Polygon.createAndStartDrawing = function(firstPointCoords) {` && |\n| && - ` var newArea = new Polygon({` && |\n| && - ` points : [firstPointCoords],` && |\n| && - ` isOpened : true` && |\n| && - ` });` && |\n| && - ` ` && |\n| && - ` app.addEvent(app.domElements.container, 'mousemove', newArea.onProcessDrawing.bind(newArea))` && |\n| && - ` .addEvent(app.domElements.container, 'click', newArea.onAddPointDrawing.bind(newArea))` && |\n| && - ` .addEvent(document, 'keydown', newArea.onStopDrawing.bind(newArea))` && |\n| && - ` .addEvent(newArea._helpers.points[0]._el, 'click', newArea.onStopDrawing.bind(newArea));` && |\n| && - ` ` && |\n| && - ` return newArea;` && |\n| && - ` };` && |\n| && - `` && |\n| && - ` /* TODO: this modules will use app.js */` && |\n| && - ` /* Help block */` && |\n| && - ` var help = (function() {` && |\n| && - ` var block = utils.id('help'),` && |\n| && - ` overlay = utils.id('overlay'),` && |\n| && - ` close_button = block.querySelector('.close_button');` && |\n| && - ` ` && |\n| && - ` function hide() {` && |\n| && - ` utils.hide(block);` && |\n| && - ` utils.hide(overlay);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function show() {` && |\n| && - ` utils.show(block);` && |\n| && - ` utils.show(overlay);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` overlay.addEventListener('click', hide, false);` && |\n| && - ` ` && |\n| && - ` close_button.addEventListener('click', hide, false);` && |\n| && - ` ` && |\n| && - ` return {` && |\n| && - ` show : show,` && |\n| && - ` hide : hide` && |\n| && - ` };` && |\n| && - ` })();` && |\n| && - `` && |\n| && - ` /* For html code of created map */` && |\n| && - ` var code = (function(){` && |\n| && - ` var block = utils.id('code'),` && |\n| && - ` content = utils.id('code_content'),` && |\n| && - ` close_button = block.querySelector('.close_button');` && |\n| && - ` ` && |\n| && - ` close_button.addEventListener('click', function(e) {` && |\n| && - ` utils.hide(block);` && |\n| && - ` e.preventDefault();` && |\n| && - ` }, false);` && |\n| && - ` ` && |\n| && - ` return {` && |\n| && - ` print: function() {` && |\n| && - ` content.innerHTML = app.getHTMLCode(true);` && |\n| && - ` utils.show(block);` && |\n| && - ` },` && |\n| && - ` hide: function() {` && |\n| && - ` utils.hide(block);` && |\n| && - ` }` && |\n| && - ` };` && |\n| && - ` })();` && |\n| && - ` ` && |\n| && - `` && |\n| && - ` /* Edit selected area info */` && |\n| && - ` var info = (function() {` && |\n| && - ` var form = utils.id('edit_details'),` && |\n| && - ` header = form.querySelector('h5'),` && |\n| && - ` href_attr = utils.id('href_attr'),` && |\n| && - ` alt_attr = utils.id('alt_attr'),` && |\n| && - ` title_attr = utils.id('title_attr'),` && |\n| && - ` save_button = utils.id('save_details'),` && |\n| && - ` close_button = form.querySelector('.close_button'),` && |\n| && - ` sections = form.querySelectorAll('p'),` && |\n| && - ` obj,` && |\n| && - ` x,` && |\n| && - ` y,` && |\n| && - ` temp_x,` && |\n| && - ` temp_y;` && |\n| && - ` ` && |\n| && - ` function changedReset() {` && |\n| && - ` form.classList.remove('changed');` && |\n| && - ` utils.foreach(sections, function(x) {` && |\n| && - ` x.classList.remove('changed');` && |\n| && - ` });` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function save(e) {` && |\n| && - ` obj.setInfoAttributes({` && |\n| && - ` href : href_attr.value,` && |\n| && - ` alt : alt_attr.value,` && |\n| && - ` title : title_attr.value,` && |\n| && - ` });` && |\n| && - ` ` && |\n| && - ` obj[obj.href ? 'setStyleOfElementWithHref' : 'unsetStyleOfElementWithHref']();` && |\n| && - ` ` && |\n| && - ` changedReset();` && |\n| && - ` unload();` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function unload() {` && |\n| && - ` obj = null;` && |\n| && - ` changedReset();` && |\n| && - ` utils.hide(form);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function setCoords(x, y) {` && |\n| && - ` form.style.left = (x + 5) + 'px';` && |\n| && - ` form.style.top = (y + 5) + 'px';` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function moveEditBlock(e) {` && |\n| && - ` setCoords(x + e.pageX - temp_x, y + e.pageY - temp_y);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function stopMoveEditBlock(e) {` && |\n| && - ` x = x + e.pageX - temp_x;` && |\n| && - ` y = y + e.pageY - temp_y;` && |\n| && - ` setCoords(x, y);` && |\n| && - ` ` && |\n| && - ` app.removeAllEvents();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function change() {` && |\n| && - ` form.classList.add('changed');` && |\n| && - ` this.parentNode.classList.add('changed');` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` save_button.addEventListener('click', save, false);` && |\n| && - ` ` && |\n| && - ` href_attr.addEventListener('keydown', function(e) { e.stopPropagation(); }, false);` && |\n| && - ` alt_attr.addEventListener('keydown', function(e) { e.stopPropagation(); }, false);` && |\n| && - ` title_attr.addEventListener('keydown', function(e) { e.stopPropagation(); }, false);` && |\n| && - ` ` && |\n| && - ` href_attr.addEventListener('change', change, false);` && |\n| && - ` alt_attr.addEventListener('change', change, false);` && |\n| && - ` title_attr.addEventListener('change', change, false);` && |\n| && - ` ` && |\n| && - ` close_button.addEventListener('click', unload, false);` && |\n| && - ` ` && |\n| && - ` header.addEventListener('mousedown', function(e) {` && |\n| && - ` temp_x = e.pageX,` && |\n| && - ` temp_y = e.pageY;` && |\n| && - ` ` && |\n| && - ` app.addEvent(document, 'mousemove', moveEditBlock);` && |\n| && - ` app.addEvent(header, 'mouseup', stopMoveEditBlock);` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }, false);` && |\n| && - ` ` && |\n| && - ` return {` && |\n| && - ` load : function(object, new_x, new_y) {` && |\n| && - ` obj = object;` && |\n| && - ` href_attr.value = object.href ? object.href : '';` && |\n| && - ` alt_attr.value = object.alt ? object.alt : '';` && |\n| && - ` title_attr.value = object.title ? object.title : '';` && |\n| && - ` utils.show(form);` && |\n| && - ` if (new_x && new_y) {` && |\n| && - ` x = new_x;` && |\n| && - ` y = new_y;` && |\n| && - ` setCoords(x, y);` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - ` unload : unload` && |\n| && - ` };` && |\n| && - ` })();` && |\n| && - `` && |\n| && - `` && |\n| && - ` /* Load areas from html code */` && |\n| && - ` var from_html_form = (function() {` && |\n| && - ` var form = utils.id('from_html_wrapper'),` && |\n| && - ` code_input = utils.id('code_input'),` && |\n| && - ` load_button = utils.id('load_code_button'),` && |\n| && - ` close_button = form.querySelector('.close_button');` && |\n| && - ` ` && |\n| && - ` function load(e) {` && |\n| && - ` if (Area.createAreasFromHTMLOfMap(code_input.value)) {` && |\n| && - ` hide();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function hide() {` && |\n| && - ` utils.hide(form);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` load_button.addEventListener('click', load, false);` && |\n| && - ` ` && |\n| && - ` close_button.addEventListener('click', hide, false);` && |\n| && - ` ` && |\n| && - ` return {` && |\n| && - ` show : function() {` && |\n| && - ` code_input.value = '';` && |\n| && - ` utils.show(form);` && |\n| && - ` },` && |\n| && - ` hide : hide` && |\n| && - ` };` && |\n| && - ` })();` && |\n| && - `` && |\n| && - `` && |\n| && - ` /* Get image form */` && |\n| && - ` var get_image = (function() {` && |\n| && - ` var block = utils.id('get_image_wrapper'),` && |\n| && - ` close_button = block.querySelector('.close_button'),` && |\n| && - ` loading_indicator = utils.id('loading'),` && |\n| && - ` button = utils.id('button'),` && |\n| && - ` filename = null,` && |\n| && - ` last_changed = null;` && |\n| && - ` ` && |\n| && - ` // Drag'n'drop - the first way to loading an image` && |\n| && - ` var drag_n_drop = (function() {` && |\n| && - ` var dropzone = utils.id('dropzone'),` && |\n| && - ` dropzone_clear_button = dropzone.querySelector('.clear_button'),` && |\n| && - ` sm_img = utils.id('sm_img');` && |\n| && - ` ` && |\n| && - ` function testFile(type) {` && |\n| && - ` switch (type) {` && |\n| && - ` case 'image/jpeg':` && |\n| && - ` case 'image/jpg':` && |\n| && - ` case 'image/bmp':` && |\n| && - ` case 'image/gif':` && |\n| && - ` case 'image/png':` && |\n| && - ` return true;` && |\n| && - ` }` && |\n| && - ` return false;` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` dropzone.addEventListener('dragover', function(e){` && |\n| && - ` utils.stopEvent(e);` && |\n| && - ` }, false);` && |\n| && - ` ` && |\n| && - ` dropzone.addEventListener('dragleave', function(e){` && |\n| && - ` utils.stopEvent(e);` && |\n| && - ` }, false);` && |\n| && - ` ` && |\n| && - ` dropzone.addEventListener('drop', function(e){` && |\n| && - ` utils.stopEvent(e);` && |\n| && - ` ` && |\n| && - ` var reader = new FileReader(),` && |\n| && - ` file = e.dataTransfer.files[0];` && |\n| && - ` ` && |\n| && - ` if (testFile(file.type)) {` && |\n| && - ` dropzone.classList.remove('error');` && |\n| && - ` ` && |\n| && - ` reader.readAsDataURL(file);` && |\n| && - ` ` && |\n| && - ` reader.onload = function(e) {` && |\n| && - ` sm_img.src = e.target.result;` && |\n| && - ` sm_img.style.display = 'inline-block';` && |\n| && - ` filename = file.name;` && |\n| && - ` utils.show(dropzone_clear_button);` && |\n| && - ` last_changed = drag_n_drop;` && |\n| && - ` };` && |\n| && - ` } else {` && |\n| && - ` clearDropzone();` && |\n| && - ` dropzone.classList.add('error');` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` }, false);` && |\n| && - ` ` && |\n| && - ` function clearDropzone() {` && |\n| && - ` sm_img.src = '';` && |\n| && - ` ` && |\n| && - ` utils.hide(sm_img)` && |\n| && - ` .hide(dropzone_clear_button);` && |\n| && - ` ` && |\n| && - ` dropzone.classList.remove('error');` && |\n| && - ` ` && |\n| && - ` last_changed = url_input;` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` dropzone_clear_button.addEventListener('click', clearDropzone, false);` && |\n| && - ` ` && |\n| && - ` return {` && |\n| && - ` clear : clearDropzone,` && |\n| && - ` init : function() {` && |\n| && - ` dropzone.draggable = true;` && |\n| && - ` this.clear();` && |\n| && - ` utils.hide(sm_img)` && |\n| && - ` .hide(dropzone_clear_button);` && |\n| && - ` },` && |\n| && - ` test : function() {` && |\n| && - ` return Boolean(sm_img.src);` && |\n| && - ` },` && |\n| && - ` getImage : function() {` && |\n| && - ` return sm_img.src;` && |\n| && - ` }` && |\n| && - ` };` && |\n| && - ` })();` && |\n| && - ` ` && |\n| && - ` /* Set a url - the second way to loading an image */` && |\n| && - ` var url_input = (function() {` && |\n| && - ` var url = utils.id('url'),` && |\n| && - ` url_clear_button = url.parentNode.querySelector('.clear_button');` && |\n| && - ` ` && |\n| && - ` function testUrl(str) {` && |\n| && - ` var url_str = str.trim(),` && |\n| && - ` temp_array = url_str.split('.'),` && |\n| && - ` ext;` && |\n| && - ` ` && |\n| && - ` if(temp_array.length > 1) {` && |\n| && - ` ext = temp_array[temp_array.length-1].toLowerCase();` && |\n| && - ` switch (ext) {` && |\n| && - ` case 'jpg':` && |\n| && - ` case 'jpeg':` && |\n| && - ` case 'bmp':` && |\n| && - ` case 'gif':` && |\n| && - ` case 'png':` && |\n| && - ` return true;` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` return false;` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function onUrlChange() {` && |\n| && - ` setTimeout(function(){` && |\n| && - ` if(url.value.length) {` && |\n| && - ` utils.show(url_clear_button);` && |\n| && - ` last_changed = url_input;` && |\n| && - ` } else {` && |\n| && - ` utils.hide(url_clear_button);` && |\n| && - ` last_changed = drag_n_drop;` && |\n| && - ` }` && |\n| && - ` }, 0);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` url.addEventListener('keypress', onUrlChange, false);` && |\n| && - ` url.addEventListener('change', onUrlChange, false);` && |\n| && - ` url.addEventListener('paste', onUrlChange, false);` && |\n| && - ` ` && |\n| && - ` function clearUrl() {` && |\n| && - ` url.value = '';` && |\n| && - ` utils.hide(url_clear_button);` && |\n| && - ` url.classList.remove('error');` && |\n| && - ` last_changed = url_input;` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` url_clear_button.addEventListener('click', clearUrl, false);` && |\n| && - ` ` && |\n| && - ` return {` && |\n| && - ` clear : clearUrl,` && |\n| && - ` init : function() {` && |\n| && - ` this.clear();` && |\n| && - ` utils.hide(url_clear_button);` && |\n| && - ` },` && |\n| && - ` test : function() {` && |\n| && - ` if(testUrl(url.value)) {` && |\n| && - ` url.classList.remove('error');` && |\n| && - ` return true;` && |\n| && - ` } else {` && |\n| && - ` url.classList.add('error');` && |\n| && - ` }` && |\n| && - ` return false;` && |\n| && - ` },` && |\n| && - ` getImage : function() {` && |\n| && - ` var tmp_arr = url.value.split('/');` && |\n| && - ` filename = tmp_arr[tmp_arr.length - 1];` && |\n| && - ` ` && |\n| && - ` return url.value.trim();` && |\n| && - ` }` && |\n| && - ` };` && |\n|. - - result = result && - ` })();` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - ` /* Block init */` && |\n| && - ` function init() {` && |\n| && - ` utils.hide(loading_indicator);` && |\n| && - ` drag_n_drop.init();` && |\n| && - ` url_input.init();` && |\n| && - ` var b64_image = base64_image` && |\n| && - ` app.loadImage(b64_image).setFilename(filename);` && |\n| && - ` }` && |\n| && - ` init();` && |\n| && - ` ` && |\n| && - ` /* Block clear */` && |\n| && - ` function clear() {` && |\n| && - ` drag_n_drop.clear();` && |\n| && - ` url_input.clear();` && |\n| && - ` last_changed = null;` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` /* Selected image loading */` && |\n| && - ` function onButtonClick(e) {` && |\n| && - ` if (last_changed === url_input && url_input.test()) {` && |\n| && - ` app.loadImage(url_input.getImage()).setFilename(filename);` && |\n| && - ` } else if (last_changed === drag_n_drop && drag_n_drop.test()) {` && |\n| && - ` app.loadImage(drag_n_drop.getImage()).setFilename(filename);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` button.addEventListener('click', onButtonClick, false);` && |\n| && - ` ` && |\n| && - ` close_button.addEventListener('click', hide, false);` && |\n| && - ` ` && |\n| && - ` function show() {` && |\n| && - ` clear();` && |\n| && - ` utils.show(block);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function hide() {` && |\n| && - ` utils.hide(block);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` /* Returned object */` && |\n| && - ` return {` && |\n| && - ` show : function() {` && |\n| && - ` app.hide();` && |\n| && - ` show();` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` hide : function() {` && |\n| && - ` app.show();` && |\n| && - ` hide();` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` showLoadIndicator : function() {` && |\n| && - ` utils.show(loading_indicator);` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` },` && |\n| && - ` hideLoadIndicator : function() {` && |\n| && - ` utils.hide(loading_indicator);` && |\n| && - ` ` && |\n| && - ` return this;` && |\n| && - ` }` && |\n| && - ` };` && |\n| && - ` })();` && |\n| && - ` // get_image.show();` && |\n| && - ` ` && |\n| && - `` && |\n| && - ` /* Buttons and actions */` && |\n| && - ` var buttons = (function() {` && |\n| && - ` var all = utils.id('nav').getElementsByTagName('li'),` && |\n| && - ` save = utils.id('save'),` && |\n| && - ` load = utils.id('load'),` && |\n| && - ` rectangle = utils.id('rectangle'),` && |\n| && - ` circle = utils.id('circle'),` && |\n| && - ` polygon = utils.id('polygon'),` && |\n| && - ` edit = utils.id('edit'),` && |\n| && - ` clear = utils.id('clear'),` && |\n| && - ` from_html = utils.id('from_html'),` && |\n| && - ` to_html = utils.id('to_html'),` && |\n| && - ` preview = utils.id('preview'),` && |\n| && - ` new_image = utils.id('new_image'),` && |\n| && - ` show_help = utils.id('show_help');` && |\n| && - ` ` && |\n| && - ` function deselectAll() {` && |\n| && - ` utils.foreach(all, function(x) {` && |\n| && - ` x.classList.remove(Area.CLASS_NAMES.SELECTED);` && |\n| && - ` });` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function selectOne(button) {` && |\n| && - ` deselectAll();` && |\n| && - ` button.classList.add(Area.CLASS_NAMES.SELECTED);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function onSaveButtonClick(e) {` && |\n| && - ` // Save in localStorage` && |\n| && - ` app.saveInLocalStorage();` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function onLoadButtonClick(e) {` && |\n| && - ` // Load from localStorage` && |\n| && - ` app.clear()` && |\n| && - ` .loadFromLocalStorage();` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function onShapeButtonClick(e) {` && |\n| && - ` // shape = rect || circle || polygon` && |\n| && - ` app.setMode('drawing')` && |\n| && - ` .setDrawClass()` && |\n| && - ` .setShape(this.id)` && |\n| && - ` .deselectAll()` && |\n| && - ` .hidePreview();` && |\n| && - ` info.unload();` && |\n| && - ` selectOne(this);` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function onClearButtonClick(e) {` && |\n| && - ` // Clear all` && |\n| && - ` if (confirm('Clear all?')) {` && |\n| && - ` app.setMode(null)` && |\n| && - ` .setDefaultClass()` && |\n| && - ` .setShape(null)` && |\n| && - ` .clear()` && |\n| && - ` .hidePreview();` && |\n| && - ` deselectAll();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function onFromHtmlButtonClick(e) {` && |\n| && - ` // Load areas from html` && |\n| && - ` from_html_form.show();` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function onToHtmlButtonClick(e) {` && |\n| && - ` // Generate html code only` && |\n| && - ` info.unload();` && |\n| && - ` code.print();` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function onPreviewButtonClick(e) {` && |\n| && - ` if (app.getMode() === 'preview') {` && |\n| && - ` app.setMode(null)` && |\n| && - ` .hidePreview();` && |\n| && - ` deselectAll();` && |\n| && - ` } else {` && |\n| && - ` app.deselectAll()` && |\n| && - ` .setMode('preview')` && |\n| && - ` .setDefaultClass()` && |\n| && - ` .preview();` && |\n| && - ` selectOne(this);` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function onEditButtonClick(e) {` && |\n| && - ` if (app.getMode() === 'editing') {` && |\n| && - ` app.setMode(null)` && |\n| && - ` .setDefaultClass()` && |\n| && - ` .deselectAll();` && |\n| && - ` deselectAll();` && |\n| && - ` utils.show(domElements.svg);` && |\n| && - ` } else {` && |\n| && - ` app.setShape(null)` && |\n| && - ` .setMode('editing')` && |\n| && - ` .setEditClass();` && |\n| && - ` selectOne(this);` && |\n| && - ` }` && |\n| && - ` app.hidePreview();` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function onNewImageButtonClick(e) {` && |\n| && - ` // New image - clear all and back to loading image screen` && |\n| && - ` if(confirm('Discard all changes?')) {` && |\n| && - ` app.setMode(null)` && |\n| && - ` .setDefaultClass()` && |\n| && - ` .setShape(null)` && |\n| && - ` .setIsDraw(false)` && |\n| && - ` .clear()` && |\n| && - ` .hide()` && |\n| && - ` .hidePreview();` && |\n| && - ` deselectAll();` && |\n| && - ` get_image.show();` && |\n| && - ` } ` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` function onShowHelpButtonClick(e) {` && |\n| && - ` help.show();` && |\n| && - ` ` && |\n| && - ` e.preventDefault();` && |\n| && - ` }` && |\n| && - ` ` && |\n| && - ` save.addEventListener('click', onSaveButtonClick, false);` && |\n| && - ` load.addEventListener('click', onLoadButtonClick, false);` && |\n| && - ` rectangle.addEventListener('click', onShapeButtonClick, false);` && |\n| && - ` circle.addEventListener('click', onShapeButtonClick, false);` && |\n| && - ` polygon.addEventListener('click', onShapeButtonClick, false);` && |\n| && - ` clear.addEventListener('click', onClearButtonClick, false);` && |\n| && - ` from_html.addEventListener('click', onFromHtmlButtonClick, false);` && |\n| && - ` to_html.addEventListener('click', onToHtmlButtonClick, false);` && |\n| && - ` preview.addEventListener('click', onPreviewButtonClick, false);` && |\n| && - ` edit.addEventListener('click', onEditButtonClick, false);` && |\n| && - ` new_image.addEventListener('click', onNewImageButtonClick, false);` && |\n| && - ` show_help.addEventListener('click', onShowHelpButtonClick, false);` && |\n| && - ` })();` && |\n| && - `` && |\n| && - ` })();` && |\n| && - `}`. - ENDMETHOD. - - - METHOD set_js_config. - - IF is_config IS NOT INITIAL. - DATA(json_config) = ``. -* json_config = /ui2/cl_json=>serialize( -* data = is_config -* compress = abap_true -* pretty_name = 'X' -* ). - - TRY. - DATA(li_ajson) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty( ) ). - li_ajson->set( iv_path = `/` iv_val = is_config ). - li_ajson = li_ajson->filter( NEW z2ui5_cl_cc_imagemapster( ) ). -* li_ajson = li_ajson->filter( z2ui5_cl_ajson_filter_lib=>create_empty_filter( ) ). - li_ajson = li_ajson->map( z2ui5_cl_ajson_mapping=>create_to_camel_case( ) ). -* li_ajson = li_ajson->map( z2ui5_cl_ajson_mapping=>create_lower_case( ) ). - json_config = li_ajson->stringify( ). - CATCH cx_root. - ENDTRY. - ENDIF. - - FIND 'renderHighlight' IN json_config. - IF sy-subrc = 0. - REPLACE 'renderHighlight' IN json_config WITH 'render_highlight'. - ENDIF. - - FIND 'renderSelect' IN json_config. - IF sy-subrc = 0. - REPLACE 'renderSelect' IN json_config WITH 'render_select'. - ENDIF. - - imagemapster_config = `` && - ` var resizeTime = 100;` && - ` var resizeDelay = 100; ` && - `` && - `$("img[usemap]").mapster(` && - json_config && - `);` && - `` && - ` function resize(maxWidth, maxHeight) {` && - ` var image = $("img"),` && - ` imgWidth = image.width(),` && - ` imgHeight = image.height(),` && - ` newWidth = 0,` && - ` newHeight = 0;` && - `` && - ` if (imgWidth / maxWidth > imgHeight / maxHeight) {` && - ` newWidth = maxWidth;` && - ` } else {` && - ` newHeight = maxHeight;` && - ` }` && - ` image.mapster("resize", newWidth, newHeight, resizeTime);` && - ` }` && - `` && - ` function onWindowResize(w = 0, h = 0) {` && - `` && - ` var curWidth = $(window).width(),` && - ` curHeight = $(window).height(),` && - ` checking = false;` && - ` if (checking) {` && - ` return;` && - ` }` && - ` checking = true;` && - ` window.setTimeout(function () {` && - ` var newWidth = $(window).width(),` && - ` newHeight = $(window).height();` && - ` if (newWidth === curWidth &&` && - ` newHeight === curHeight) {` && - ` resize(newWidth-w, newHeight-h);` && - ` }` && - ` checking = false;` && - ` }, resizeDelay);` && - ` }`. - - IF auto_resize = abap_true. - - imagemapster_config = imagemapster_config && - `` && - ` $(window).bind("resize", onWindowResize);`. - ENDIF. - - ENDMETHOD. - - - METHOD z2ui5_if_ajson_filter~keep_node. - - rv_keep = abap_true. - - CASE iv_visit. - - WHEN z2ui5_if_ajson_filter=>visit_type-open. - - IF is_node-children = 0. - rv_keep = abap_false. - ENDIF. - - WHEN z2ui5_if_ajson_filter=>visit_type-value. - - CASE is_node-type. - WHEN z2ui5_if_ajson_types=>node_type-boolean. - IF is_node-name = `is_selectable` - OR is_node-name = `is_deselectable` - OR is_node-name = `is_mask` - OR is_node-name = `selected` - OR is_node-name = `show_tool_tip:` - OR is_node-name = `static_state` - OR is_node-name = `fade` - OR is_node-name = `scale_map:` - OR is_node-name = `no_href_is_mask:` - OR is_node-name = `sort_list` - OR is_node-name = `single_select` - OR is_node-name = `click_navigate` - OR is_node-name = `highlight`. - RETURN. - ENDIF. - IF is_node-value = `false`. - rv_keep = abap_false. - ENDIF. - WHEN z2ui5_if_ajson_types=>node_type-number. - IF is_node-value = `0` OR is_node-value = `0.00`. - rv_keep = abap_false. - ENDIF. - WHEN z2ui5_if_ajson_types=>node_type-string. - IF is_node-value = ``. - rv_keep = abap_false. - ENDIF. - ENDCASE. - - WHEN z2ui5_if_ajson_filter=>visit_type-close. - - IF is_node-children = 0. - rv_keep = abap_false. - ENDIF. - - ENDCASE. - - ENDMETHOD. -ENDCLASS. diff --git a/src/01/05/z2ui5_cl_cc_imagemapster.clas.xml b/src/01/05/z2ui5_cl_cc_imagemapster.clas.xml deleted file mode 100644 index 31d34d17..00000000 --- a/src/01/05/z2ui5_cl_cc_imagemapster.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_CC_IMAGEMAPSTER - E - imagemapster - 1 - X - X - X - - - - diff --git a/src/01/05/z2ui5_cl_cc_message_m.clas.abap b/src/01/05/z2ui5_cl_cc_message_m.clas.abap deleted file mode 100644 index 0aba07d5..00000000 --- a/src/01/05/z2ui5_cl_cc_message_m.clas.abap +++ /dev/null @@ -1,111 +0,0 @@ -class Z2UI5_CL_CC_MESSAGE_M definition - public - final - create public . - -public section. - - types: - BEGIN OF ty_s_item, - message TYPE string, - description TYPE string, - type TYPE string, - target TYPE string, - additionaltext TYPE string, - date TYPE string, - descriptionurl TYPE string, - persistent TYPE string, - END OF ty_s_item . - - types ty_t_items TYPE STANDARD TABLE OF ty_s_item WITH EMPTY KEY ##NEEDED. - - class-methods GET_JS - returning - value(RESULT) type STRING . - PROTECTED SECTION. - PRIVATE SECTION. -ENDCLASS. - - - -CLASS Z2UI5_CL_CC_MESSAGE_M IMPLEMENTATION. - - - METHOD GET_JS. - - result = `` && |\n| && - `sap.ui.define("z2ui5/MessageManager", [` && |\n| && - ` "sap/ui/core/Control",` && |\n| && - `], function (Control) {` && |\n| && - ` "use strict";` && |\n| && - |\n| && - ` return Control.extend("z2ui5.MessageManager", {` && |\n| && - ` metadata: {` && |\n| && - ` properties: {` && |\n| && - ` items: { type: "Array" }` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - ` init() {` && |\n| && - ` if (!sap.z2ui5.oMessageManager){` && |\n| && - ` sap.z2ui5.oMessageManager = {};` && |\n| && - ` sap.z2ui5.oMessageManager = new sap.ui.core.message.MessageManager();` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - |\n| && - ` Messaging2Model( ){` && |\n| && - ` var oData = sap.z2ui5.oMessageManager.getMessageModel().getData();` && |\n| && - ` var Model = [];` && |\n| && - ` oData.forEach(element => {` && |\n| && - ` Model.push( { ` && |\n| && - ` MESSAGE : element.message , ` && |\n| && - ` DESCRIPTION : element.description , ` && |\n| && - ` TYPE : element.type, ` && |\n| && - ` TARGET : element.aTargets[0] , ` && |\n| && - ` ADDITIONALTEXT : element.additionalText , ` && |\n| && - ` DATE : element.date , ` && |\n| && - ` DESCRIPTIONURL : element.descriptionUrl, ` && |\n| && - ` PERSISTENT : element.persistent } );` && |\n| && - ` });` && |\n| && - ` this.setProperty("items", Model, true );` && |\n| && - ` },` && |\n| && - |\n| && - ` Model2Messaging( ){` && |\n| && -* ` debugger;` && |\n| && - ` var Model = this.getProperty("items");` && |\n| && - ` if(!Model) { return; }` && |\n| && - |\n| && - ` Model.forEach(element => {` && |\n| && - ` var target = element.TARGET.split("--")[1];` && |\n| && - ` if ( target == undefined ) { target = element.TARGET }` && |\n| && - ` var oMessage = new sap.ui.core.message.Message({` && |\n| && - ` message: element.MESSAGE,` && |\n| && - ` description: element.DESCRIPTION,` && |\n| && - ` type: element.TYPE,` && |\n| && - ` target : sap.z2ui5.oView.getId( 'testINPUT' ) + '--' + target,` && |\n| && - ` additionalText : element.ADDITIONALTEXT , ` && |\n| && - ` date : element.DATE , ` && |\n| && - ` descriptionUrl : element.DESCRIPTIONURL, ` && |\n| && - ` persistent : element.PERSISTENT,` && |\n| && - ` processor : this.oMessageProcessor` && |\n| && - ` });` && |\n| && - ` sap.z2ui5.oMessageManager.addMessages(oMessage) ;` && |\n| && - ` });` && |\n| && - ` },` && |\n| && - |\n| && - ` renderer(oRm, oControl) {` && |\n| && - ` if(oControl.isInitialized) { return; }` && |\n| && - ` debugger;` && |\n| && - ` var resBinding = new sap.ui.model.ListBinding(sap.z2ui5.oMessageManager.getMessageModel(), "/" );` && |\n| && - ` resBinding.attachChange(oControl.Messaging2Model.bind(oControl));` && |\n| && - ` sap.z2ui5.oMessageManager.registerObject(sap.z2ui5.oView, true);` && |\n| && - ` oControl.isInitialized = true;` && |\n| && -* ` setTimeout( (oControl) => { ` && |\n| && -* ` ` && |\n| && -* ` ` && |\n| && -* ` }, 50 , oControl );` && |\n| && - ` }` && |\n| && - ` });` && |\n| && - `});`. - - ENDMETHOD. -ENDCLASS. diff --git a/src/01/05/z2ui5_cl_cc_message_m.clas.xml b/src/01/05/z2ui5_cl_cc_message_m.clas.xml deleted file mode 100644 index 99b1601d..00000000 --- a/src/01/05/z2ui5_cl_cc_message_m.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_CC_MESSAGE_M - E - UI5 Message Manager Control - 1 - X - X - X - - - - diff --git a/src/01/05/z2ui5_cl_cc_messaging.clas.abap b/src/01/05/z2ui5_cl_cc_messaging.clas.abap deleted file mode 100644 index c872b82d..00000000 --- a/src/01/05/z2ui5_cl_cc_messaging.clas.abap +++ /dev/null @@ -1,116 +0,0 @@ -CLASS z2ui5_cl_cc_messaging DEFINITION - PUBLIC - FINAL - CREATE PUBLIC . - - PUBLIC SECTION. - - TYPES: - BEGIN OF ty_s_item, - message TYPE string, - description TYPE string, - type TYPE string, - target TYPE string, - additionaltext TYPE string, - date TYPE string, - descriptionurl TYPE string, - persistent TYPE string, - END OF ty_s_item . - TYPES ty_t_items TYPE STANDARD TABLE OF ty_s_item WITH EMPTY KEY ##NEEDED. - - CLASS-METHODS get_js - RETURNING - VALUE(result) TYPE string . - PROTECTED SECTION. - PRIVATE SECTION. -ENDCLASS. - - - -CLASS Z2UI5_CL_CC_MESSAGING IMPLEMENTATION. - - - METHOD get_js. - - result = `try { ` && |\n| && - `sap.ui.define("z2ui5/Messaging",[` && |\n| && - ` "sap/ui/core/Control",` && |\n| && - ` "sap/ui/core/Messaging",` && |\n| && - `], (Control, Messaging) => {` && |\n| && - ` "use strict";` && |\n| && - |\n| && - ` return Control.extend("z2ui5.Messaging", {` && |\n| && - ` metadata: {` && |\n| && - ` properties: {` && |\n| && - ` items: { type: "Array" }` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - ` init() {` && |\n| && - ` if (!sap.z2ui5.oMessaging){` && |\n| && - ` sap.z2ui5.oMessaging = {};` && |\n| && - ` sap.z2ui5.oMessaging.oMessageProcessor = new sap.ui.core.message.ControlMessageProcessor();` && |\n| && - ` sap.z2ui5.oMessaging.oMessageManager = sap.ui.getCore().getMessageManager();` && |\n| && - ` sap.z2ui5.oMessaging.oMessageManager = Messaging;` && |\n| && - ` sap.z2ui5.oMessaging.oMessageManager.registerMessageProcessor(sap.z2ui5.oMessaging.oMessageProcessor);` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - |\n| && - ` onModelChange(oEvent) {` && |\n| && - ` this.Messaging2Model();` && |\n| && - ` },` && |\n| && - |\n| && - ` Messaging2Model( ){` && |\n| && - ` var oData = Messaging.getMessageModel().getData();` && |\n| && - ` var Model = [];` && |\n| && - ` oData.forEach(element => {` && |\n| && - ` Model.push( { ` && |\n| && - ` MESSAGE : element.message , ` && |\n| && - ` DESCRIPTION : element.description , ` && |\n| && - ` TYPE : element.type, ` && |\n| && - ` TARGET : element.aTargets[0] , ` && |\n| && - ` ADDITIONALTEXT : element.additionalText , ` && |\n| && - ` DATE : element.date , ` && |\n| && - ` DESCRIPTIONURL : element.descriptionUrl, ` && |\n| && - ` PERSISTENT : element.persistent } );` && |\n| && - ` });` && |\n| && - ` this.setProperty("items", Model, true );` && |\n| && - ` },` && |\n| && - |\n| && - ` Model2Messaging( ){` && |\n| && - ` var Model = this.getProperty("items");` && |\n| && - ` if(!Model) { return; }` && |\n| && - |\n| && - ` Model.forEach(element => {` && |\n| && - ` var target = element.TARGET.split("--")[1];` && |\n| && - ` if ( target == undefined ) { target = element.TARGET }` && |\n| && - ` var oMessage = new sap.ui.core.message.Message({` && |\n| && - ` message: element.MESSAGE,` && |\n| && - ` description: element.DESCRIPTION,` && |\n| && - ` type: element.TYPE,` && |\n| && - ` target : sap.z2ui5.oView.getId( 'testINPUT' ) + '--' + target,` && |\n| && - ` additionalText : element.ADDITIONALTEXT , ` && |\n| && - ` date : element.DATE , ` && |\n| && - ` descriptionUrl : element.DESCRIPTIONURL, ` && |\n| && - ` persistent : element.PERSISTENT,` && |\n| && - ` processor : this.oMessageProcessor` && |\n| && - ` });` && |\n| && - ` Messaging.addMessages(oMessage) ;` && |\n| && - ` });` && |\n| && - ` var resBinding = new sap.ui.model.ListBinding(Messaging.getMessageModel(), "/" );` && |\n| && - ` resBinding.attachChange(this.onModelChange.bind(this));` && |\n| && - ` },` && |\n| && - |\n| && - ` renderer(oRm, oControl) {` && |\n| && - ` if(oControl.isInitialized) { return; }` && |\n| && - ` oControl.Model2Messaging();` && |\n| && - ` Messaging.registerObject(sap.z2ui5.oView, true);` && |\n| && - ` oControl.isInitialized = true;` && |\n| && - ` setTimeout( (oControl) => { ` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - ` }, 50 , oControl );` && |\n| && - ` }` && |\n| && - ` });` && |\n| && - `}); } catch (e) { debugger; }`. - ENDMETHOD. -ENDCLASS. diff --git a/src/01/05/z2ui5_cl_cc_messaging.clas.xml b/src/01/05/z2ui5_cl_cc_messaging.clas.xml deleted file mode 100644 index d7c4753e..00000000 --- a/src/01/05/z2ui5_cl_cc_messaging.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_CC_MESSAGING - E - UI5 Messaging Control - 1 - X - X - X - - - - diff --git a/src/01/05/z2ui5_cl_cc_spreadsheet.clas.abap b/src/01/05/z2ui5_cl_cc_spreadsheet.clas.abap deleted file mode 100644 index 0c59be61..00000000 --- a/src/01/05/z2ui5_cl_cc_spreadsheet.clas.abap +++ /dev/null @@ -1,167 +0,0 @@ -CLASS z2ui5_cl_cc_spreadsheet DEFINITION - PUBLIC - FINAL - CREATE PUBLIC . - - PUBLIC SECTION. - INTERFACES z2ui5_if_ajson_filter. - CLASS-METHODS get_js - IMPORTING - !i_columnconfig TYPE clike OPTIONAL - RETURNING - VALUE(r_js) TYPE string . - PROTECTED SECTION. - PRIVATE SECTION. -ENDCLASS. - - - -CLASS Z2UI5_CL_CC_SPREADSHEET IMPLEMENTATION. - - - METHOD get_js. - DATA lv_column_config TYPE string. - lv_column_config = i_columnconfig. - IF lv_column_config IS INITIAL. - lv_column_config = `''`. - ENDIF. - - r_js = ` sap.ui.define("z2ui5/ExportSpreadsheet" , [` && |\n| && - ` "sap/ui/core/Control",` && |\n| && - ` "sap/m/Button",` && |\n| && -* ` "sap/ui/export/Spreadsheet"` && |\n| && -* ` ], function (Control, Button, Spreadsheet) {` && |\n| && - ` ], function (Control, Button) {` && |\n| && - ` "use strict";` && |\n| && - |\n| && - ` return Control.extend("z2ui5.ExportSpreadsheet", {` && |\n| && - |\n| && - ` metadata: {` && |\n| && - ` properties: {` && |\n| && - ` tableId: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` type: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` icon: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` tooltip: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` },` && |\n| && - ` columnconfig: { ` && |\n| && - ` type: "Array" ` && |\n| && - ` },` && |\n| && - ` text: {` && |\n| && - ` type: "string",` && |\n| && - ` defaultValue: ""` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - |\n| && - |\n| && - ` aggregations: {` && |\n| && - ` },` && |\n| && - ` events: { },` && |\n| && - ` renderer: null` && |\n| && - ` },` && |\n| && - |\n| && - ` setColumnconfig: function(oConfig) { ` && |\n| && -* ` oConfig = JSON.parse(oConfig);` && |\n| && - ` this.setProperty("columnconfig", oConfig, true );` && |\n| && - ` },` && |\n| && - |\n| && - ` renderer: function (oRm, oControl) {` && |\n| && - ` var checkVersion = sap.ui.getVersionInfo().gav.includes('com.sap.ui5') ? true : false;` && |\n| && - |\n| && - ` oControl.oExportButton = new Button({` && |\n| && - ` text: oControl.getProperty("text"),` && |\n| && - ` icon: oControl.getProperty("icon"), ` && |\n| && - ` type: oControl.getProperty("type"), ` && |\n| && - ` enabled: checkVersion,` && |\n| && - ` tooltip: !checkVersion ? 'Not Available on OpenUI5 SDK' : oControl.getProperty("tooltip") , ` && |\n| && - ` press: function (oEvent) { ` && |\n| && - |\n| && - ` var aCols = oControl.getProperty("columnconfig");` && |\n| && - ` if( !aCols ) { aCols = ` && lv_column_config && `; }` && |\n| && - |\n| && - ` var oBinding, oSettings, oSheet, vTableId, vViewPrefix,vPrefixTableId;` && |\n| && - ` vTableId = oControl.getProperty("tableId")` && |\n| && - ` vPrefixTableId = sap.z2ui5.oView.createId( vTableId );` && |\n| && - ` var oTable;` && |\n| && - ` if (!oTable) { oTable = sap.z2ui5.oView.byId(vTableId); };` && |\n| && - ` if (!oTable) { oTable = sap.z2ui5.oViewNest.byId(vTableId); };` && |\n| && - ` if (!oTable) { oTable = sap.z2ui5.oViewNest2.byId(vTableId); };` && |\n| && - ` if (!oTable) { oTable = sap.z2ui5.oViewPopup.Fragment.byId('popupId',vTableId); };` && |\n| && - ` if (!oTable) { oTable = sap.z2ui5.oViewPopover.byId(vTableId); };` && |\n| && - ` oBinding = oTable.getBinding("rows");` && |\n| && - ` if (oBinding == null) {` && |\n| && - ` oBinding = oTable.getBinding("items");` && |\n| && - ` };` && |\n| && - ` oSettings = {` && |\n| && - ` workbook: { columns: aCols },` && |\n| && - ` dataSource: oBinding` && |\n| && - ` };` && |\n| && -* ` oSheet = new Spreadsheet(oSettings);` && |\n| && - ` sap.ui.require(["sap/ui/export/Spreadsheet"], function(Spreadsheet) {` && |\n| && - ` oSheet = new Spreadsheet(oSettings);` && |\n| && - ` oSheet.build()` && |\n| && - ` .then(function() {` && |\n| && - ` }).finally(function() {` && |\n| && - ` oSheet.destroy();` && |\n| && - ` });` && |\n| && - ` });` && |\n| && - ` }.bind(oControl)` && |\n| && - ` });` && |\n| && - |\n| && - ` oRm.renderControl(oControl.oExportButton);` && |\n| && - ` }` && |\n| && - ` });` && |\n| && - ` });`. - - ENDMETHOD. - - - METHOD z2ui5_if_ajson_filter~keep_node. - - rv_keep = abap_true. - - CASE iv_visit. - - WHEN z2ui5_if_ajson_filter=>visit_type-open. - - IF is_node-children = 0. - rv_keep = abap_false. - ENDIF. - - WHEN z2ui5_if_ajson_filter=>visit_type-value. - - CASE is_node-type. - WHEN z2ui5_if_ajson_types=>node_type-boolean. - IF is_node-value = `false`. - rv_keep = abap_false. - ENDIF. - WHEN z2ui5_if_ajson_types=>node_type-number. - IF is_node-value = `0` OR is_node-value = `0.00`. - rv_keep = abap_false. - ENDIF. - WHEN z2ui5_if_ajson_types=>node_type-string. - IF is_node-value = ``. - rv_keep = abap_false. - ENDIF. - ENDCASE. - - WHEN z2ui5_if_ajson_filter=>visit_type-close. - - IF is_node-children = 0. - rv_keep = abap_false. - ENDIF. - - ENDCASE. - - ENDMETHOD. -ENDCLASS. diff --git a/src/01/05/z2ui5_cl_cc_spreadsheet.clas.xml b/src/01/05/z2ui5_cl_cc_spreadsheet.clas.xml deleted file mode 100644 index d31accd5..00000000 --- a/src/01/05/z2ui5_cl_cc_spreadsheet.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_CC_SPREADSHEET - E - UI5 Spreadheet Control - 1 - X - X - X - - - - diff --git a/src/01/05/z2ui5_cl_cc_validator.clas.abap b/src/01/05/z2ui5_cl_cc_validator.clas.abap deleted file mode 100644 index cf8b6b2b..00000000 --- a/src/01/05/z2ui5_cl_cc_validator.clas.abap +++ /dev/null @@ -1,272 +0,0 @@ -class Z2UI5_CL_CC_VALIDATOR definition - public - final - create public . - -public section. - - types: - BEGIN OF ty_constraints, - type TYPE string, - format TYPE string, - min_length TYPE int4, - max_length TYPE int4, - minimum TYPE int4, - maximum TYPE int4, - END OF ty_constraints . - types: - BEGIN OF ty_type, - email TYPE ty_constraints, - number TYPE ty_constraints, - date TYPE ty_constraints, - END OF ty_type . - types: - BEGIN OF ty_validation_schema, - properties TYPE ty_type, - END OF ty_validation_schema . - - class-methods GET_JS - importing - !IS_VALIDATION type TY_VALIDATION_SCHEMA - !IV_VIEW type STRING - returning - value(RESULT) type STRING . - class-methods LOAD_AJV - returning - value(RESULT) type STRING . - class-methods VALIDATE_FIELDS - returning - value(RESULT) type STRING . - PROTECTED SECTION. - PRIVATE SECTION. -ENDCLASS. - - - -CLASS Z2UI5_CL_CC_VALIDATOR IMPLEMENTATION. - - - METHOD GET_JS. - - DATA(lv_schema_json) = ``. - -* TRY. -* DATA(li_ajson) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty( ) ). -* li_ajson->set( iv_path = `/` iv_val = is_validation ). -* li_ajson = li_ajson->map( z2ui5_cl_ajson_mapping=>create_to_camel_case( ) ). -* li_ajson = li_ajson->map( z2ui5_cl_ajson_mapping=>create_lower_case( ) ). -* lv_schema_json = li_ajson->stringify( ). -* -* CATCH cx_root. -* ENDTRY. - - lv_schema_json = /ui2/cl_json=>serialize( - data = is_validation - compress = abap_true -* name = - pretty_name = 'X' -* type_descr = -* assoc_arrays = -* ts_as_iso8601 = -* expand_includes = -* assoc_arrays_opt = -* numc_as_string = -* name_mappings = -* conversion_exits = - ). - - - CASE iv_view. - WHEN 'MAIN'. - DATA(lv_view) = `sap.z2ui5.oView`. - WHEN 'NEST'. - lv_view = `sap.z2ui5.oViewNest`. - WHEN 'NEST2'. - lv_view = `sap.z2ui5.oViewNest2`. - WHEN 'POPUP'. - lv_view = `sap.z2ui5.oViewPopup.Fragment`. - WHEN 'POPOVER'. - lv_view = `sap.z2ui5.oViewPopover.Fragment`. - ENDCASE. - - - result = result && |\n| && `debugger;if (!z2ui5.Validator) { sap.ui.define("z2ui5/Validator" , ["sap/ui/base/Object","sap/ui/core/library","sap/ui/core/Control"], ` && |\n| && - ` (UI5Object,coreLibrary,UI5Control)=>{` && |\n| && - ` "use strict";` && |\n| && - ` const VALID_UI5_CONTROL_PROPERTIES = ['dateValue', 'selectedKey', 'selected', 'value'];` && |\n| && - ` const DEFAULT_AJV_OPTIONS = {` && |\n| && - ` $data: true,` && |\n| && - ` allErrors: true,` && |\n| && - ` coerceTypes: true,` && |\n| && - ` errorDataPath: 'property'` && |\n| && - ` };` && |\n| && - ` const Validator = UI5Object.extend('z2ui5.Validator', {` && |\n| && - ` constructor: function(view, schema, opt) {` && |\n| && - ` var schema = ` && lv_schema_json && `;` && |\n| && - ` var view = ` && lv_view && `;` && |\n| && - ` if (!view || !schema) { ` && |\n| && - ` throw new Error('Missing parameters!');` && |\n| && - ` }` && |\n| && - ` UI5Object.apply(this, arguments);` && |\n| && - ` ` && |\n| && - ` const ajv = new Ajv(opt || DEFAULT_AJV_OPTIONS);` && |\n| && - ` this._validate = ajv.compile(schema);` && |\n| && - ` this._view = view;` && |\n| && - ` this._errors = null;` && |\n| && - ` this._payload = null;` && |\n| && - ` this._validProperties = [];` && |\n| && - ` this.addValidProperties(VALID_UI5_CONTROL_PROPERTIES);` && |\n| && - ` }` && |\n| && - ` });` && |\n| && - ` Validator.prototype.destroy = function() {` && |\n| && - ` this._validate = null;` && |\n| && - ` this._view = null;` && |\n| && - ` this._errors = null;` && |\n| && - ` this._payload = null;` && |\n| && - ` this._validProperties = null;` && |\n| && - ` };` && |\n| && - ` Validator.prototype.validate = function() {` && |\n| && - ` const controls = this._getControls();` && |\n| && - ` this._payload = this._getPayloadToValidate(controls);` && |\n| && - ` this._clearControlStatus(controls);` && |\n| && - ` const isValid = this._validate(this._payload);` && |\n| && - ` if (isValid) {` && |\n| && - ` this._errors = null;` && |\n| && - ` } else {` && |\n| && - ` this._errors = this._processValidationErrors(this._validate.errors);` && |\n| && - ` }` && |\n| && - ` return isValid;` && |\n| && - ` };` && |\n| && - ` Validator.prototype.getErrors = function() {` && |\n| && - ` return this._errors;` && |\n| && - ` };` && |\n| && - ` Validator.prototype.getPayloadUsedInValidation = function() {` && |\n| && - ` return this._payload;` && |\n| && - ` };` && |\n| && - ` Validator.prototype.getValidProperties = function() {` && |\n| && - ` return this._validProperties.map(function _getValidProperties(validProperty) {` && |\n| && - ` return validProperty;` && |\n| && - ` });` && |\n| && - ` };` && |\n| && - ` Validator.prototype.addValidProperties = function(validProperties) {` && |\n| && - ` const that = this;` && |\n| && - ` validProperties.forEach(function _addValidProperty(property) {` && |\n| && - ` that._validProperties.push(property);` && |\n| && - ` });` && |\n| && - ` };` && |\n| && - ` Validator.prototype._getControls = function() {` && |\n| && - ` const that = this;` && |\n| && - ` if (this._validate.schema && this._validate.schema.properties) {` && |\n| && - ` return Object.keys(this._validate.schema.properties)` && |\n| && - ` .map(function _mapSchemaProperties(key) {` && |\n| && - ` const control = that._view.byId(key);` && |\n| && - ` return (control instanceof UI5Control) ? control : null;` && |\n| && - ` })` && |\n| && - ` .filter(function _filterSchemaProperties(control) {` && |\n| && - ` return (control);` && |\n| && - ` });` && |\n| && - ` } else {` && |\n| && - ` return [];` && |\n| && - ` }` && |\n| && - ` };` && |\n| && - ` Validator.prototype._getPayloadToValidate = function(controls) {` && |\n| && - ` const that = this;` && |\n| && - ` const payload = {};` && |\n| && - ` controls.forEach(function _setPayloadProperty(control) {` && |\n| && - ` const viewIdIndex = control.getId().lastIndexOf('-') + 1;` && |\n| && - ` const controlId = control.getId().substring(viewIdIndex);` && |\n| && - ` payload[controlId] = that._getControlValue(control);` && |\n| && - ` });` && |\n| && - ` return payload;` && |\n| && - ` };` && |\n| && - ` Validator.prototype._getControlValue = function(control) {` && |\n| && - ` let value = '';` && |\n| && - ` const controlProperties = Object.keys(control.mProperties);` && |\n| && - ` this._validProperties.forEach(function _filterControlProperties(validProperty) {` && |\n| && - ` if (!value) {` && |\n| && - ` const isValidProperty = controlProperties.find(function _findValidProperty(controlProperty) {` && |\n| && - ` return (controlProperty === validProperty);` && |\n| && - ` });` && |\n| && - ` if (isValidProperty) {` && |\n| && - ` const getPropertyMethod = ['get', validProperty.substring(0, 1).toUpperCase(), validProperty.substring(1)].join('');` && |\n| && - ` if (control[getPropertyMethod]) {` && |\n| && - ` value = control[getPropertyMethod]();` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` });` && |\n| && - ` return value;` && |\n| && - ` };` && |\n| && - ` Validator.prototype._clearControlStatus = function(controls) {` && |\n| && - ` controls.forEach(function _setValueState(control) {` && |\n| && - ` if (control && control.setValueState) {` && |\n| && - ` control.setValueState(coreLibrary.ValueState.None);` && |\n| && - ` }` && |\n| && - ` if (control && control.setValueStateText) {` && |\n| && - ` control.setValueStateText();` && |\n| && - ` }` && |\n| && - ` });` && |\n| && - ` };` && |\n| && - ` Validator.prototype._setControlErrorStatus = function(control, message) {` && |\n| && - ` if (control && control.setValueState) {` && |\n| && - ` control.setValueState(coreLibrary.ValueState.Error);` && |\n| && - ` }` && |\n| && - ` if (control && control.setValueStateText) {` && |\n| && - ` control.setValueStateText(message);` && |\n| && - ` }` && |\n| && - ` };` && |\n| && - ` Validator.prototype._processValidationErrors = function(errors) {` && |\n| && - ` const that = this;` && |\n| && - ` const errorMessageObjects = [];` && |\n| && - ` errors.forEach(function _mapErrors(err) {` && |\n| && - ` const controlId = err.dataPath.substring(1);` && |\n| && - ` const control = that._view.byId(controlId);` && |\n| && - ` if (control) {` && |\n| && - ` that._setControlErrorStatus(control, err.message);` && |\n| && - ` // errorMessageObjects.push(that._createErrorMessageObject(control, err.message, ''));` && |\n| && - ` }` && |\n| && - ` });` && |\n| && - ` return errorMessageObjects;` && |\n| && - ` };` && |\n| && - ` ` && |\n| && - ` return Validator;` && |\n| && - ` ` && |\n| && - ` }); }`. - - -* result = result && |\n| && `try { var _validator = new z2ui5.Validator)(); } catch(v_err) {};`. - result = result && |\n| && `var _validator = new z2ui5.Validator();`. - - result = result && |\n| && `sap.z2ui5._validate = () => {` && |\n| && - ` if (_validator.validate()) {` && |\n| && - ` console.log('OK');` && |\n| && - ` } else {` && |\n| && - ` console.log(_validator.getErrors());` && |\n| && - ` };` && |\n| && - `};`. - - ENDMETHOD. - - - METHOD LOAD_AJV. - - result = `var headTag = document.getElementsByTagName('head')[0];` && |\n| && - `var loadLibs = function(){` && |\n| && - ` var scriptTag = document.createElement('script');` && |\n| && - ` scriptTag.src = 'https://cdn.jsdelivr.net/npm/ajv@6.12.6/dist/ajv.min.js';` && |\n| && - `` && |\n| && -* ` scriptTag.onload = function(e){` && |\n| && -* ` var ajvv = new Ajv(); ` && |\n| && -* ` };` && |\n| && - `` && |\n| && - ` headTag.appendChild(scriptTag);` && |\n| && - `}` && |\n| && - `loadLibs();`. - - ENDMETHOD. - - - METHOD VALIDATE_FIELDS. - result = `sap.z2ui5._validate()`. - ENDMETHOD. -ENDCLASS. diff --git a/src/01/05/z2ui5_cl_cc_validator.clas.xml b/src/01/05/z2ui5_cl_cc_validator.clas.xml deleted file mode 100644 index f0c43f10..00000000 --- a/src/01/05/z2ui5_cl_cc_validator.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_CC_VALIDATOR - E - cc - fields validator - 1 - X - X - X - - - - diff --git a/src/02/01/z2ui5_cl_xml_view_cc.clas.abap b/src/02/01/z2ui5_cl_xml_view_cc.clas.abap index d38b2047..c0910b84 100644 --- a/src/02/01/z2ui5_cl_xml_view_cc.clas.abap +++ b/src/02/01/z2ui5_cl_xml_view_cc.clas.abap @@ -294,7 +294,8 @@ CLASS z2ui5_cl_xml_view_cc IMPLEMENTATION. mo_view->_generic( ns = `html` name = `style` ). - CALL METHOD ('Z2UI5_CL_CC_DEMO_OUT')=>('GET_STYLE') + data(lv_class) = 'Z2UI5_CL_CC_DEMO_OUT'. + CALL METHOD (lv_class)=>('GET_STYLE') RECEIVING result = lv_style. result = mo_view->_cc_plain_xml( lv_style )->html( val ).