diff --git a/acf.php b/acf.php index a945f50..38d611c 100644 --- a/acf.php +++ b/acf.php @@ -3,7 +3,7 @@ Plugin Name: Advanced Custom Fields PRO Plugin URI: https://www.advancedcustomfields.com Description: Customize WordPress with powerful, professional and intuitive fields. -Version: 5.10.2 +Version: 5.11.4 Author: Delicious Brains Author URI: https://www.advancedcustomfields.com Text Domain: acf @@ -19,7 +19,7 @@ if ( ! class_exists( 'ACF' ) ) : class ACF { /** @var string The plugin version number. */ - var $version = '5.10.2'; + var $version = '5.11.4'; /** @var array The plugin settings array. */ var $settings = array(); @@ -97,6 +97,9 @@ if ( ! class_exists( 'ACF' ) ) : 'select2_version' => 4, 'row_index_offset' => 1, 'remove_wp_meta_box' => true, + 'rest_api_enabled' => true, + 'rest_api_format' => 'light', + 'rest_api_embed_links' => true, ); // Include utility functions. @@ -142,6 +145,7 @@ if ( ! class_exists( 'ACF' ) ) : acf_include( 'includes/updates.php' ); acf_include( 'includes/upgrades.php' ); acf_include( 'includes/validation.php' ); + acf_include( 'includes/rest-api.php' ); // Include ajax. acf_include( 'includes/ajax/class-acf-ajax.php' ); diff --git a/assets/build/css/acf-dark.css b/assets/build/css/acf-dark.css index 2154f93..5c19ae2 100644 --- a/assets/build/css/acf-dark.css +++ b/assets/build/css/acf-dark.css @@ -1,3 +1,6 @@ +/*!***************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-dark.scss ***! + \***************************************************************************************************************************************************************************************************************/ /*-------------------------------------------------------------------------------------------- * * Dark mode @@ -313,4 +316,6 @@ border-color: #191f25; color: #fff; background: transparent; -} \ No newline at end of file +} + +/*# sourceMappingURL=acf-dark.css.map*/ \ No newline at end of file diff --git a/assets/build/css/acf-dark.css.js b/assets/build/css/acf-dark.css.js new file mode 100644 index 0000000..104e9ad --- /dev/null +++ b/assets/build/css/acf-dark.css.js @@ -0,0 +1,6 @@ +/******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ +/******/ +/******/ })() +; \ No newline at end of file diff --git a/assets/build/css/acf-dark.css.map b/assets/build/css/acf-dark.css.map new file mode 100644 index 0000000..a0e21de --- /dev/null +++ b/assets/build/css/acf-dark.css.map @@ -0,0 +1 @@ +{"version":3,"file":"acf-dark.css","mappings":"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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_dark.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/acf-dark.scss"],"sourcesContent":["/*--------------------------------------------------------------------------------------------\n*\n* Dark mode\n* \n* WordPress plugin: https://en-au.wordpress.org/plugins/dark-mode/\n* Github Documentation: https://github.com/danieltj27/Dark-Mode/wiki/Help:-Plugin-Compatibility-Guide\n*\n*--------------------------------------------------------------------------------------------*/\n\n// Dark Mode Colours.\n$white: #ffffff;\n$black: #000000;\n$blue: #0073aa;\n$medium-blue: #00a0d2;\n$clear: transparent;\n\n$accent-red: #dc3232;\n$accent-orange: #f56e28;\n$accent-yellow: #ffb900;\n$accent-green: #46b450;\n$accent-blue: $blue;\n$accent-purple: #826eb4;\n\n$base-grey: #23282d;\n$light-grey: #bbc8d4;\n$heavy-grey: #37444c;\n$dark-grey: #32373c;\n$ultra-grey: #191f25;\n$dark-silver: #50626f;\n$base-blue: #2e74aa;\n$light-blue: #4092d2;\n$dark-blue: #2c5f88;\n$ultra-blue: #1f3f58;\n$bright-blue: #30ceff;\n\n$editor-lavender: #c678dd;\n$editor-sunglo: #e06c75;\n$editor-olivine: #98c379;\n\n// Custom variables.\n$body_text: \t\t\t#bbc8d4;\n$body_background: \t\t#23282d;\n$body_background2: \t\t#191f25;\n$postbox_background: \t#32373c;\n$postbox_border: \t\t#191f25;\n$postbox_divider: \t\t#23282d;\n$input_background: \t\t#50626f;\n$input_text: \t\t\t#fff;\n$input_border: \t\t\t#191f25;\n\n// Mixins.\n@mixin dark-text() {\n\tcolor: $body_text;\n}\n@mixin dark-heading() {\n\tcolor: $body_text;\n}\n@mixin dark-border() {\n\tborder-color: $postbox_border;\n}\n@mixin dark-background() {\n\tbackground: $body_background;\n}\n@mixin darker-background() {\n\tbackground: darken($body_background, 5%);\n}\n@mixin dark-postbox() {\n\tbackground-color: $postbox_background;\n\tborder-color: $postbox_border;\n\tcolor: $body_text;\n}\n@mixin dark-postbox-block() {\n\tbackground-color: #2d3136;\n\tborder-color: $postbox_divider;\n}\n@mixin dark-divider() {\n\tborder-color: $postbox_divider;\n}\n@mixin dark-input() {\n\tbackground-color: $input_background;\n\tborder-color: $input_border;\n\tcolor: $input_text;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Global\n*\n*---------------------------------------------------------------------------------------------*/\n\n// acf-box\n.acf-box {\n\t@include dark-postbox();\n\t\t\t\n\t.title,\n\t.footer {\n\t\t@include dark-divider();\n\t}\n\t\n\th2 {\n\t\t@include dark-heading();\n\t}\n\t\n\ttable, tbody, tr {\n\t\tbackground: transparent !important;\n\t}\n}\n\n// thead\n.acf-thead {\n\t@include dark-heading();\n\t@include dark-border();\n}\n.acf-tfoot {\n\t@include dark-postbox-block();\n}\n\n// table clear\n.acf-table.-clear,\n.acf-table.-clear tr {\n\tbackground: transparent !important;\n}\n\n// loading overlay\n.acf-loading-overlay {\n\tbackground: rgba(0,0,0,0.5);\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Fields\n*\n*---------------------------------------------------------------------------------------------*/\n\n// fields\n.acf-fields {\n\t\n\t// field\n\t> .acf-field {\n\t\t@include dark-divider();\n\t}\n}\n\n// fields (left)\n.acf-fields.-left {\n\t\n\t> .acf-field {\n\t\t&:before {\n\t\t\tbackground: rgba(0,0,0,0.1);\n\t\t\t@include dark-divider();\n\t\t}\n\t}\n}\n\n// fields (border)\n.acf-fields.-border {\n\t@include dark-postbox();\n}\n\n// width\n.acf-field[data-width] + .acf-field[data-width] {\n\t@include dark-divider();\n}\n\n// text\n.acf-input-prepend, \n.acf-input-append {\n\t@include dark-postbox();\n}\n\n// tab\n.acf-tab-wrap {\n\t\n}\n\n.acf-fields > .acf-tab-wrap {\n\t@include dark-postbox();\n\t\n\t.acf-tab-group {\n\t\t@include dark-postbox-block();\n\t\t\n\t\tli {\n\t\t\ta {\n\t\t\t\t@include dark-postbox-block();\n\t\t\t\t\n\t\t\t\t&:hover {\n\t\t\t\t\t@include dark-postbox-block();\n\t\t\t\t\t@include dark-text();\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t&.active a {\n\t\t\t\t@include dark-postbox();\n\t\t\t}\n\t\t}\n\t}\n}\n\n.acf-fields.-sidebar {\n\t&:before {\n\t\t@include dark-postbox-block();\n\t}\n}\n\n.acf-fields.-sidebar.-left {\n\t&:before {\n\t\t@include dark-postbox-block();\n\t\tbackground: $body_background;\n\t}\n\t> .acf-tab-wrap.-left {\n\t\t.acf-tab-group li a {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t\t\n\t\t.acf-tab-group li.active a {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\n}\n\n// file\n.acf-file-uploader {\n\t\n\t.show-if-value {\n\t\t@include dark-postbox();\n\t\t\n\t\t.file-icon {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\n}\n\n// acf-oembed\n.acf-oembed {\n\t@include dark-postbox-block();\n\t\n\t.title {\n\t\t@include dark-input();\n\t}\n}\n\n// gallery\n.acf-gallery {\n\t@include dark-postbox-block();\n\t\n\t.acf-gallery-main {\n\t\t@include dark-background();\n\t}\n\t\n\t.acf-gallery-attachment {\n\t\t.margin {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\t\n\t\t\n\t.acf-gallery-side {\n\t\t@include dark-postbox-block();\n\t\t\n\t\t.acf-gallery-side-info {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\n\t\n\t.acf-gallery-toolbar {\n\t\t@include dark-postbox-block();\n\t}\n}\n\n// button group\n.acf-button-group {\n\t\n\tlabel:not(.selected) {\n\t\t@include dark-postbox-block();\n\t}\n}\n\n// switch\n.acf-switch:not(.-on) {\n\t@include dark-postbox-block();\n\t.acf-switch-slider {\n\t\t@include dark-input();\n\t}\n}\n\n// link\n.acf-link .link-wrap {\n\t@include dark-postbox-block();\n}\n\n// relationship\n.acf-relationship {\n\t.filters {\n\t\t@include dark-postbox();\n\t}\n\t.selection {\n\t\t@include dark-postbox-block();\n\t\t.choices,\n\t\t.choices-list,\n\t\t.values {\n\t\t\t@include dark-postbox-block();\t\n\t\t}\n\t}\n}\n\n// checkbox\n.acf-taxonomy-field .categorychecklist-holder {\n\t@include dark-postbox-block();\n}\n\n// google map\n.acf-google-map {\n\t@include dark-postbox-block();\n\t\n\t.title {\n\t\t@include dark-input();\n\t}\n}\n\n// accordion\n.acf-accordion {\n\t@include dark-postbox();\n}\n.acf-field.acf-accordion .acf-accordion-content > .acf-fields {\n\t@include dark-border();\n}\n\n// flexible content\n.acf-flexible-content {\n\t.layout {\n\t\t@include dark-postbox();\n\t\t\n\t\t.acf-fc-layout-handle {\n\t\t\t@include dark-postbox-block();\n\t\t\t\n\t\t\t.acf-fc-layout-order {\n\t\t\t\t@include dark-postbox();\n\t\t\t}\n\t\t}\n\t}\n}\n\n// repeater\n#wpbody .acf-table {\n\t@include dark-postbox-block();\n\t\n\t> tbody,\n\t> thead {\n\t\t> tr {\n\t\t\tbackground: transparent;\n\t\t\t\n\t\t\t> td,\n\t\t\t> th {\n\t\t\t\t@include dark-border();\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Select\n.acf-field select {\n\toptgroup, optgroup:nth-child(2n) {\n\t\tbackground: $input_background;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field Group\n*\n*---------------------------------------------------------------------------------------------*/\n\n// fields\n#acf-field-group-fields {\n\t\n\t// field list\n\t.acf-field-list-wrap {\n\t\t@include dark-postbox();\n\t}\n\t\n\t.acf-field-list {\n\t\t.no-fields-message {\n\t\t\t@include dark-postbox();\n\t\t}\n\t}\n\t\n\t// field\n\t.acf-field-object {\n\t\t@include dark-postbox();\n\t\t@include dark-divider();\n\t\t\n\t\t\n\t\ttable, tbody, tr, td, th {\n\t\t\tbackground: transparent;\n\t\t\t@include dark-divider();\n\t\t}\n\t\t\n\t\t.acf-field {\n\t\t\t.acf-label {\n\t\t\t\t@include dark-postbox-block();\n\t\t\t}\n\t\t}\n\t\t\n\t\t// sortable\n\t\t&.ui-sortable-helper {\n\t\t\t@include dark-border();\n\t\t\tbox-shadow: none;\n\t\t}\n\t\t\n\t\t&.ui-sortable-placeholder {\n\t\t\t@include dark-postbox-block();\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n\t\n\t.acf-field-object + .acf-field-object-tab::before,\n\t.acf-field-object + .acf-field-object-accordion::before {\n\t\t@include dark-postbox-block();\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin: Tools\n*\n*---------------------------------------------------------------------------------------------*/\n\n// tools\n.acf-meta-box-wrap {\n\t\n\t.acf-fields {\n\t\t@include dark-input();\n\t\tbackground: transparent;\n\t}\n}","/*--------------------------------------------------------------------------------------------\n*\n* Dark mode\n* \n* WordPress plugin: https://en-au.wordpress.org/plugins/dark-mode/\n* Github Documentation: https://github.com/danieltj27/Dark-Mode/wiki/Help:-Plugin-Compatibility-Guide\n*\n*--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n* Global\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-box {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-box .title,\n.acf-box .footer {\n border-color: #23282d;\n}\n.acf-box h2 {\n color: #bbc8d4;\n}\n.acf-box table, .acf-box tbody, .acf-box tr {\n background: transparent !important;\n}\n\n.acf-thead {\n color: #bbc8d4;\n border-color: #191f25;\n}\n\n.acf-tfoot {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-table.-clear,\n.acf-table.-clear tr {\n background: transparent !important;\n}\n\n.acf-loading-overlay {\n background: rgba(0, 0, 0, 0.5);\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Fields\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-fields > .acf-field {\n border-color: #23282d;\n}\n\n.acf-fields.-left > .acf-field:before {\n background: rgba(0, 0, 0, 0.1);\n border-color: #23282d;\n}\n\n.acf-fields.-border {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n.acf-field[data-width] + .acf-field[data-width] {\n border-color: #23282d;\n}\n\n.acf-input-prepend,\n.acf-input-append {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n.acf-fields > .acf-tab-wrap {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li a {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li a:hover {\n background-color: #2d3136;\n border-color: #23282d;\n color: #bbc8d4;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li.active a {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n.acf-fields.-sidebar:before {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-fields.-sidebar.-left:before {\n background-color: #2d3136;\n border-color: #23282d;\n background: #23282d;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li a {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li.active a {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-file-uploader .show-if-value {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-file-uploader .show-if-value .file-icon {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-oembed {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-oembed .title {\n background-color: #50626f;\n border-color: #191f25;\n color: #fff;\n}\n\n.acf-gallery {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-gallery .acf-gallery-main {\n background: #23282d;\n}\n.acf-gallery .acf-gallery-attachment .margin {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-gallery .acf-gallery-side {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-gallery .acf-gallery-side .acf-gallery-side-info {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-gallery .acf-gallery-toolbar {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-button-group label:not(.selected) {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-switch:not(.-on) {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-switch:not(.-on) .acf-switch-slider {\n background-color: #50626f;\n border-color: #191f25;\n color: #fff;\n}\n\n.acf-link .link-wrap {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-relationship .filters {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-relationship .selection {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-relationship .selection .choices,\n.acf-relationship .selection .choices-list,\n.acf-relationship .selection .values {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-taxonomy-field .categorychecklist-holder {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-google-map {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-google-map .title {\n background-color: #50626f;\n border-color: #191f25;\n color: #fff;\n}\n\n.acf-accordion {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n.acf-field.acf-accordion .acf-accordion-content > .acf-fields {\n border-color: #191f25;\n}\n\n.acf-flexible-content .layout {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-flexible-content .layout .acf-fc-layout-handle {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-flexible-content .layout .acf-fc-layout-handle .acf-fc-layout-order {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n#wpbody .acf-table {\n background-color: #2d3136;\n border-color: #23282d;\n}\n#wpbody .acf-table > tbody > tr,\n#wpbody .acf-table > thead > tr {\n background: transparent;\n}\n#wpbody .acf-table > tbody > tr > td,\n#wpbody .acf-table > tbody > tr > th,\n#wpbody .acf-table > thead > tr > td,\n#wpbody .acf-table > thead > tr > th {\n border-color: #191f25;\n}\n\n.acf-field select optgroup, .acf-field select optgroup:nth-child(2n) {\n background: #50626f;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field Group\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-field-group-fields .acf-field-list-wrap {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n#acf-field-group-fields .acf-field-list .no-fields-message {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n#acf-field-group-fields .acf-field-object {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n border-color: #23282d;\n}\n#acf-field-group-fields .acf-field-object table, #acf-field-group-fields .acf-field-object tbody, #acf-field-group-fields .acf-field-object tr, #acf-field-group-fields .acf-field-object td, #acf-field-group-fields .acf-field-object th {\n background: transparent;\n border-color: #23282d;\n}\n#acf-field-group-fields .acf-field-object .acf-field .acf-label {\n background-color: #2d3136;\n border-color: #23282d;\n}\n#acf-field-group-fields .acf-field-object.ui-sortable-helper {\n border-color: #191f25;\n box-shadow: none;\n}\n#acf-field-group-fields .acf-field-object.ui-sortable-placeholder {\n background-color: #2d3136;\n border-color: #23282d;\n box-shadow: none;\n}\n#acf-field-group-fields .acf-field-object + .acf-field-object-tab::before,\n#acf-field-group-fields .acf-field-object + .acf-field-object-accordion::before {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin: Tools\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-meta-box-wrap .acf-fields {\n background-color: #50626f;\n border-color: #191f25;\n color: #fff;\n background: transparent;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/assets/build/css/acf-dark.min.css b/assets/build/css/acf-dark.min.css index cbe89a0..158e690 100644 --- a/assets/build/css/acf-dark.min.css +++ b/assets/build/css/acf-dark.min.css @@ -1 +1 @@ -.acf-box{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-box .footer,.acf-box .title{border-color:#23282d}.acf-box h2{color:#bbc8d4}.acf-box table,.acf-box tbody,.acf-box tr{background:0 0!important}.acf-thead{color:#bbc8d4;border-color:#191f25}.acf-tfoot{background-color:#2d3136;border-color:#23282d}.acf-table.-clear,.acf-table.-clear tr{background:0 0!important}.acf-loading-overlay{background:rgba(0,0,0,.5)}.acf-fields>.acf-field{border-color:#23282d}.acf-fields.-left>.acf-field:before{background:rgba(0,0,0,.1);border-color:#23282d}.acf-fields.-border{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-field[data-width]+.acf-field[data-width]{border-color:#23282d}.acf-input-append,.acf-input-prepend{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-fields>.acf-tab-wrap{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-fields>.acf-tab-wrap .acf-tab-group{background-color:#2d3136;border-color:#23282d}.acf-fields>.acf-tab-wrap .acf-tab-group li a{background-color:#2d3136;border-color:#23282d}.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background-color:#2d3136;border-color:#23282d;color:#bbc8d4}.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-fields.-sidebar:before{background-color:#2d3136;border-color:#23282d}.acf-fields.-sidebar.-left:before{background-color:#2d3136;border-color:#23282d;background:#23282d}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li a{background-color:#2d3136;border-color:#23282d}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li.active a{background-color:#2d3136;border-color:#23282d}.acf-file-uploader .show-if-value{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-file-uploader .show-if-value .file-icon{background-color:#2d3136;border-color:#23282d}.acf-oembed{background-color:#2d3136;border-color:#23282d}.acf-oembed .title{background-color:#50626f;border-color:#191f25;color:#fff}.acf-gallery{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-main{background:#23282d}.acf-gallery .acf-gallery-attachment .margin{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-side{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-side .acf-gallery-side-info{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-toolbar{background-color:#2d3136;border-color:#23282d}.acf-button-group label:not(.selected){background-color:#2d3136;border-color:#23282d}.acf-switch:not(.-on){background-color:#2d3136;border-color:#23282d}.acf-switch:not(.-on) .acf-switch-slider{background-color:#50626f;border-color:#191f25;color:#fff}.acf-link .link-wrap{background-color:#2d3136;border-color:#23282d}.acf-relationship .filters{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-relationship .selection{background-color:#2d3136;border-color:#23282d}.acf-relationship .selection .choices,.acf-relationship .selection .choices-list,.acf-relationship .selection .values{background-color:#2d3136;border-color:#23282d}.acf-taxonomy-field .categorychecklist-holder{background-color:#2d3136;border-color:#23282d}.acf-google-map{background-color:#2d3136;border-color:#23282d}.acf-google-map .title{background-color:#50626f;border-color:#191f25;color:#fff}.acf-accordion{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-field.acf-accordion .acf-accordion-content>.acf-fields{border-color:#191f25}.acf-flexible-content .layout{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-flexible-content .layout .acf-fc-layout-handle{background-color:#2d3136;border-color:#23282d}.acf-flexible-content .layout .acf-fc-layout-handle .acf-fc-layout-order{background-color:#32373c;border-color:#191f25;color:#bbc8d4}#wpbody .acf-table{background-color:#2d3136;border-color:#23282d}#wpbody .acf-table>tbody>tr,#wpbody .acf-table>thead>tr{background:0 0}#wpbody .acf-table>tbody>tr>td,#wpbody .acf-table>tbody>tr>th,#wpbody .acf-table>thead>tr>td,#wpbody .acf-table>thead>tr>th{border-color:#191f25}.acf-field select optgroup,.acf-field select optgroup:nth-child(2n){background:#50626f}#acf-field-group-fields .acf-field-list-wrap{background-color:#32373c;border-color:#191f25;color:#bbc8d4}#acf-field-group-fields .acf-field-list .no-fields-message{background-color:#32373c;border-color:#191f25;color:#bbc8d4}#acf-field-group-fields .acf-field-object{background-color:#32373c;border-color:#191f25;color:#bbc8d4;border-color:#23282d}#acf-field-group-fields .acf-field-object table,#acf-field-group-fields .acf-field-object tbody,#acf-field-group-fields .acf-field-object td,#acf-field-group-fields .acf-field-object th,#acf-field-group-fields .acf-field-object tr{background:0 0;border-color:#23282d}#acf-field-group-fields .acf-field-object .acf-field .acf-label{background-color:#2d3136;border-color:#23282d}#acf-field-group-fields .acf-field-object.ui-sortable-helper{border-color:#191f25;box-shadow:none}#acf-field-group-fields .acf-field-object.ui-sortable-placeholder{background-color:#2d3136;border-color:#23282d;box-shadow:none}#acf-field-group-fields .acf-field-object+.acf-field-object-accordion::before,#acf-field-group-fields .acf-field-object+.acf-field-object-tab::before{background-color:#2d3136;border-color:#23282d}.acf-meta-box-wrap .acf-fields{background-color:#50626f;border-color:#191f25;color:#fff;background:0 0} \ No newline at end of file +.acf-box{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-box .title,.acf-box .footer{border-color:#23282d}.acf-box h2{color:#bbc8d4}.acf-box table,.acf-box tbody,.acf-box tr{background:transparent !important}.acf-thead{color:#bbc8d4;border-color:#191f25}.acf-tfoot{background-color:#2d3136;border-color:#23282d}.acf-table.-clear,.acf-table.-clear tr{background:transparent !important}.acf-loading-overlay{background:rgba(0,0,0,.5)}.acf-fields>.acf-field{border-color:#23282d}.acf-fields.-left>.acf-field:before{background:rgba(0,0,0,.1);border-color:#23282d}.acf-fields.-border{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-field[data-width]+.acf-field[data-width]{border-color:#23282d}.acf-input-prepend,.acf-input-append{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-fields>.acf-tab-wrap{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-fields>.acf-tab-wrap .acf-tab-group{background-color:#2d3136;border-color:#23282d}.acf-fields>.acf-tab-wrap .acf-tab-group li a{background-color:#2d3136;border-color:#23282d}.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background-color:#2d3136;border-color:#23282d;color:#bbc8d4}.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-fields.-sidebar:before{background-color:#2d3136;border-color:#23282d}.acf-fields.-sidebar.-left:before{background-color:#2d3136;border-color:#23282d;background:#23282d}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li a{background-color:#2d3136;border-color:#23282d}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li.active a{background-color:#2d3136;border-color:#23282d}.acf-file-uploader .show-if-value{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-file-uploader .show-if-value .file-icon{background-color:#2d3136;border-color:#23282d}.acf-oembed{background-color:#2d3136;border-color:#23282d}.acf-oembed .title{background-color:#50626f;border-color:#191f25;color:#fff}.acf-gallery{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-main{background:#23282d}.acf-gallery .acf-gallery-attachment .margin{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-side{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-side .acf-gallery-side-info{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-toolbar{background-color:#2d3136;border-color:#23282d}.acf-button-group label:not(.selected){background-color:#2d3136;border-color:#23282d}.acf-switch:not(.-on){background-color:#2d3136;border-color:#23282d}.acf-switch:not(.-on) .acf-switch-slider{background-color:#50626f;border-color:#191f25;color:#fff}.acf-link .link-wrap{background-color:#2d3136;border-color:#23282d}.acf-relationship .filters{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-relationship .selection{background-color:#2d3136;border-color:#23282d}.acf-relationship .selection .choices,.acf-relationship .selection .choices-list,.acf-relationship .selection .values{background-color:#2d3136;border-color:#23282d}.acf-taxonomy-field .categorychecklist-holder{background-color:#2d3136;border-color:#23282d}.acf-google-map{background-color:#2d3136;border-color:#23282d}.acf-google-map .title{background-color:#50626f;border-color:#191f25;color:#fff}.acf-accordion{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-field.acf-accordion .acf-accordion-content>.acf-fields{border-color:#191f25}.acf-flexible-content .layout{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-flexible-content .layout .acf-fc-layout-handle{background-color:#2d3136;border-color:#23282d}.acf-flexible-content .layout .acf-fc-layout-handle .acf-fc-layout-order{background-color:#32373c;border-color:#191f25;color:#bbc8d4}#wpbody .acf-table{background-color:#2d3136;border-color:#23282d}#wpbody .acf-table>tbody>tr,#wpbody .acf-table>thead>tr{background:transparent}#wpbody .acf-table>tbody>tr>td,#wpbody .acf-table>tbody>tr>th,#wpbody .acf-table>thead>tr>td,#wpbody .acf-table>thead>tr>th{border-color:#191f25}.acf-field select optgroup,.acf-field select optgroup:nth-child(2n){background:#50626f}#acf-field-group-fields .acf-field-list-wrap{background-color:#32373c;border-color:#191f25;color:#bbc8d4}#acf-field-group-fields .acf-field-list .no-fields-message{background-color:#32373c;border-color:#191f25;color:#bbc8d4}#acf-field-group-fields .acf-field-object{background-color:#32373c;border-color:#191f25;color:#bbc8d4;border-color:#23282d}#acf-field-group-fields .acf-field-object table,#acf-field-group-fields .acf-field-object tbody,#acf-field-group-fields .acf-field-object tr,#acf-field-group-fields .acf-field-object td,#acf-field-group-fields .acf-field-object th{background:transparent;border-color:#23282d}#acf-field-group-fields .acf-field-object .acf-field .acf-label{background-color:#2d3136;border-color:#23282d}#acf-field-group-fields .acf-field-object.ui-sortable-helper{border-color:#191f25;box-shadow:none}#acf-field-group-fields .acf-field-object.ui-sortable-placeholder{background-color:#2d3136;border-color:#23282d;box-shadow:none}#acf-field-group-fields .acf-field-object+.acf-field-object-tab::before,#acf-field-group-fields .acf-field-object+.acf-field-object-accordion::before{background-color:#2d3136;border-color:#23282d}.acf-meta-box-wrap .acf-fields{background-color:#50626f;border-color:#191f25;color:#fff;background:transparent} diff --git a/assets/build/css/acf-field-group.css b/assets/build/css/acf-field-group.css index 7ba8696..baf8516 100644 --- a/assets/build/css/acf-field-group.css +++ b/assets/build/css/acf-field-group.css @@ -1,3 +1,6 @@ +/*!**********************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-field-group.scss ***! + \**********************************************************************************************************************************************************************************************************************/ /*-------------------------------------------------------------------------------------------- * * Vars @@ -478,4 +481,6 @@ td.acf-input { background: transparent !important; padding-bottom: 0 !important; } -} \ No newline at end of file +} + +/*# sourceMappingURL=acf-field-group.css.map*/ \ No newline at end of file diff --git a/assets/build/css/acf-field-group.css.js b/assets/build/css/acf-field-group.css.js new file mode 100644 index 0000000..104e9ad --- /dev/null +++ b/assets/build/css/acf-field-group.css.js @@ -0,0 +1,6 @@ +/******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ +/******/ +/******/ })() +; \ No newline at end of file diff --git a/assets/build/css/acf-field-group.css.map b/assets/build/css/acf-field-group.css.map new file mode 100644 index 0000000..4ee3dfa --- /dev/null +++ b/assets/build/css/acf-field-group.css.map @@ -0,0 +1 @@ +{"version":3,"file":"acf-field-group.css","mappings":"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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_variables.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_mixins.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_field-group.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/acf-field-group.scss"],"sourcesContent":["/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* colors */\n$acf_blue: #2a9bd9;\n$acf_notice: #2a9bd9;\n$acf_error: #d94f4f;\n$acf_success: #49ad52;\n$acf_warning: #fd8d3b;\n\n/* acf-field */\n$field_padding: 15px 12px;\n$field_padding_x: 12px;\n$field_padding_y: 15px;\n$fp: 15px 12px;\n$fy: 15px;\n$fx: 12px;\n\n/* responsive */\n$md: 880px;\n$sm: 640px;\n\n// Admin.\n$wp-card-border: #ccd0d4;\t\t\t// Card border.\n$wp-card-border-1: #d5d9dd;\t\t\t// Card inner border 1: Structural (darker).\n$wp-card-border-2: #eeeeee;\t\t\t// Card inner border 2: Fields (lighter).\n$wp-input-border: #7e8993;\t\t\t// Input border.\n\n// Admin 3.8\n$wp38-card-border: #E5E5E5;\t\t\t// Card border.\n$wp38-card-border-1: #dfdfdf;\t\t// Card inner border 1: Structural (darker).\n$wp38-card-border-2: #eeeeee;\t\t// Card inner border 2: Fields (lighter).\n$wp38-input-border: #dddddd;\t\t// Input border.","/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n@mixin clearfix() {\n\t&:after {\n\t\tdisplay: block;\n\t\tclear: both;\n\t\tcontent: \"\";\n\t}\n}\n\n@mixin border-box() {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n}\n\n@mixin centered() {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n@mixin animate( $properties: 'all' ) {\n\t-webkit-transition: $properties 0.3s ease; // Safari 3.2+, Chrome\n -moz-transition: $properties 0.3s ease; \t// Firefox 4-15\n -o-transition: $properties 0.3s ease; \t\t// Opera 10.5–12.00\n transition: $properties 0.3s ease; \t\t// Firefox 16+, Opera 12.50+\n}\n\n@mixin rtl() {\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t\t@content;\n\t}\n}\n\n@mixin wp-admin( $version: '3-8' ) {\n\t.acf-admin-#{$version} & {\n\t\t@content;\n\t}\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tField Group\n*\n*--------------------------------------------------------------------------------------------*/\n\n// Reset postbox inner padding.\n#acf-field-group-fields > .inside,\n#acf-field-group-locations > .inside,\n#acf-field-group-options > .inside {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n// Hide metabox order buttons added in WP 5.5.\n.postbox {\n\t.handle-order-higher,\n\t.handle-order-lower {\n\t\tdisplay: none;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox: Publish\n*\n*---------------------------------------------------------------------------------------------*/\n#minor-publishing-actions,\n#misc-publishing-actions #visibility,\n#misc-publishing-actions .edit-timestamp {\n\tdisplay: none;\n}\n\n#minor-publishing {\n\tborder-bottom: 0 none;\n}\n\n#misc-pub-section {\n\tborder-bottom: 0 none;\n}\n\n#misc-publishing-actions .misc-pub-section {\n\tborder-bottom-color: #F5F5F5;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox: Fields\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-field-group-fields {\n\tborder: 0 none;\n box-shadow: none;\n \n\t// Hide metabox header.\n\t> .postbox-header,\n > .handlediv,\n\t> .hndle {\n\t\tdisplay: none;\n\t}\n\t\n\t/* links */\n\ta {\n\t\ttext-decoration: none;\n\t\t\n\t\t&:active,\n\t\t&:focus {\n\t\t\toutline: none;\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n\t\n\t\n\t/* table header */\n\t.li-field-order { width: 20%; }\n\t.li-field-label { width: 30%; }\n\t.li-field-name { width: 25%; }\n\t.li-field-type { width: 25%; }\n\t.li-field-key { display: none; }\n\t\n\t\n\t/* show keys */\n\t&.show-field-keys {\n\t\t\n\t\t.li-field-label,\n\t\t.li-field-name,\n\t\t.li-field-type,\n\t\t.li-field-key { width: 20%; }\n\t\t.li-field-key { display: block; }\n\t}\n\t\n\t\n\t/* fields */\n\t.acf-field-list-wrap {\n\t\tborder: $wp-card-border solid 1px;\n\t}\n\t\n\t.acf-field-list {\n\t\tbackground: #f5f5f5;\n\t\tmargin-top: -1px;\n\t\t\n\t\t/* no fields */\n\t\t.no-fields-message {\n\t\t\tpadding: 15px 15px;\n\t\t\tbackground: #fff;\n\t\t\tdisplay: none;\n\t\t}\n\t\t\n\t\t/* empty */\n\t\t&.-empty {\n\t\t\t.no-fields-message {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\t.acf-field-list-wrap {\n\t\t\tborder-color: $wp38-card-border-1;\n\t\t}\n\t}\n}\n\n\n/* field object */\n.acf-field-object {\n\tborder-top: $wp38-card-border-2 solid 1px;\n\tbackground: #fff;\n\t\n\t/* sortable */\n\t&.ui-sortable-helper {\n\t\tborder-top-color: #fff;\n\t\tbox-shadow: 0 0 0 1px #DFDFDF, 0 1px 4px rgba(0,0,0,0.1);\n\t}\n\t\n\t&.ui-sortable-placeholder {\n\t\tbox-shadow: 0 -1px 0 0 #DFDFDF;\n\t\tvisibility: visible !important;\n\t\tbackground: #F9F9F9;\n\t\tborder-top-color: transparent;\n\t\tmin-height: 54px;\n\t\t\n\t\t// hide tab field separator\n\t\t&:after, &:before {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\t\n\t\n\t/* meta */\n\t> .meta {\n\t\tdisplay: none;\n\t}\n\t\n\t\n\t/* handle */\n\t> .handle {\n\t\t\n\t\ta {\n\t\t\t-webkit-transition: none;\n\t\t\t-moz-transition: none;\n\t\t\t-o-transition: none; \t\n\t\t\ttransition: none;\n\t\t}\n\t\t\n\t\tli {\n\t\t\tpadding-top: 10px;\n\t\t\tpadding-bottom: 10px;\n\t\t\tword-wrap: break-word;\n\t\t}\n\t\t\n\t\t.acf-icon {\n\t\t\tmargin: 1px 0 0;\n\t\t\tcursor: move;\n\t\t\tbackground: transparent;\n\t\t\tfloat: left;\n\t\t\t\n\t\t\theight: 28px;\n\t\t line-height: 26px;\n\t\t width: 28px;\n\t\t font-size: 13px;\n\t\t color: #444;\n\t\t position: relative;\n\t\t z-index: 1;\n\t\t}\n\t\t\n\t\tstrong {\n\t\t\tdisplay: block;\n\t\t\tpadding-bottom: 6px;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 14px;\n\t\t\tmin-height: 14px;\n\t\t}\n\t\t\n\t\t.row-options {\n\t\t\tvisibility: hidden;\n\t\t\t\n\t\t\ta {\n\t\t\t\tmargin-right: 4px;\n\t\t\t}\n\t\t\t\n\t\t\ta.delete-field {\n\t\t\t\tcolor: #a00;\n\t\t\t\t\n\t\t\t\t&:hover { color: #f00; }\n\t\t\t}\n\t\t}\n\n\t}\n\t\n\t/* open */\n\t&.open {\n\t\t\n\t\t+ .acf-field-object {\n\t\t\tborder-top-color: #E1E1E1;\n\t\t}\n\t\t\n\t\t> .handle {\n\t\t\tbackground: $acf_blue;\n\t\t\tborder: darken($acf_blue, 2%) solid 1px;\n\t\t\ttext-shadow: #268FBB 0 1px 0;\n\t\t\tcolor: #fff;\n\t\t\tposition: relative;\n\t\t\tmargin: -1px -1px 0 -1px;\n\t\t\t\n\t\t\ta {\n\t\t\t\tcolor: #fff !important;\n\t\t\t\t\n\t\t\t\t&:hover {\n\t\t\t\t\ttext-decoration: underline !important;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t.acf-icon {\n\t\t\t\tborder-color: #fff;\n\t\t\t\tcolor: #fff;\n\t\t\t}\n\t\t\t\n\t\t\t.acf-required {\n\t\t\t\tcolor: #fff;\n\t\t\t}\n\t\t}\n\t}\n\t\n\n/*\n\t// debug\n\t&[data-save=\"meta\"] {\n\t\t> .handle {\n\t\t\tborder-left: #ffb700 solid 5px !important;\n\t\t}\n\t}\n\t\n\t&[data-save=\"settings\"] {\n\t\t> .handle {\n\t\t\tborder-left: #0ec563 solid 5px !important;\n\t\t}\n\t}\n*/\n\t\n\t\n\t/* hover */\n\t&:hover, &.-hover {\n\t\t\n\t\t> .handle {\n\t\t\t\n\t\t\t.row-options {\n\t\t\t\tvisibility: visible;\n\t\t\t}\n\t\t\t\t\n\t\t}\n\t}\n\t\n\t\n\t/* settings */\n\t> .settings {\n\t\tdisplay: none;\n\t\twidth: 100%;\n\t\t\n\t\t> .acf-table {\n\t\t\tborder: none;\n\t\t}\n\t}\n\t\n\t\n\t/* conditional logic */\n\t.rule-groups {\n\t\tmargin-top: 20px;\n\t}\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox: Locations\n*\n*---------------------------------------------------------------------------------------------*/\n\n.rule-groups {\n\t\n\th4 {\n\t\tmargin: 3px 0;\n\t}\n\t\n\t.rule-group {\n\t\tmargin: 0 0 5px;\n\t\t\n\t\th4 {\n\t\t\tmargin: 0 0 3px;\n\t\t}\n\t\t\n\t\ttd.param {\n\t\t\twidth: 35%;\n\t\t}\n\t\t\n\t\ttd.operator {\n\t\t\twidth: 20%;\n\t\t}\n\t\t\n\t\ttd.add {\n\t\t\twidth: 40px;\n\t\t}\n\t\t\n\t\ttd.remove {\n\t\t\twidth: 28px;\n\t\t\tvertical-align: middle;\n\t\t\t\n\t\t\ta {\n\t\t\t\tvisibility: hidden;\n\t\t\t}\n\t\t}\n\t\t\n\t\ttr:hover td.remove a {\n\t\t\tvisibility: visible;\n\t\t}\n\t\t\n\t\t// empty select\n\t\tselect:empty {\n\t\t\tbackground: #f8f8f8;\n\t\t}\n\t}\n\n\n\t&:not(.rule-groups-multiple) {\n\t\t.rule-group {\n\t\t\t&:first-child tr:first-child td.remove a {\n\t\t\t\t/* Don't allow user to delete the only rule group */\n\t\t\t\tvisibility: hidden !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tOptions\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n#acf-field-group-options tr[data-name=\"hide_on_screen\"] li {\n\tfloat: left;\n\twidth: 33%;\n}\n\n@media (max-width: 1100px) {\n\t\n\t#acf-field-group-options tr[data-name=\"hide_on_screen\"] li {\n\t\twidth: 50%;\n\t}\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tConditional Logic\n*\t\n*---------------------------------------------------------------------------------------------*/\n\ntable.conditional-logic-rules {\n\tbackground: transparent;\n\tborder: 0 none;\n\tborder-radius: 0;\n}\n\ntable.conditional-logic-rules tbody td {\n\tbackground: transparent;\n\tborder: 0 none !important;\n\tpadding: 5px 2px !important;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Tab\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-object-tab {\n\t\n\t// hide setting\n\t.acf-field-setting-name,\n\t.acf-field-setting-instructions,\n\t.acf-field-setting-required,\n\t.acf-field-setting-warning,\n\t.acf-field-setting-wrapper {\n\t\tdisplay: none;\n\t}\n\t\n\t// hide name\n\t.li-field-name {\n\t\tvisibility: hidden;\n\t}\n\t\n\t// add spacer\n\t.acf-field-object + & {\n\t\t\n\t\t&:before {\n\t\t\tdisplay: block;\n\t\t\tcontent: \"\";\n\t\t\theight: 5px;\n\t\t\twidth: 100%;\n\t\t\tbackground: #f5f5f5;\n\t\t\tborder-top: #e1e1e1 solid 1px;\n\t\t\tborder-bottom: #e1e1e1 solid 1px;\n\t\t\tmargin-top: -1px;\n\t\t\t\n\t\t\t// WP Admin 3.8\n\t\t\t@include wp-admin('3-8') {\n\t\t\t\tborder-color: $wp38-card-border;\n\t\t\t}\n\t\t}\n\t}\n\t\n\tp:first-child {\n\t\tmargin: 0.5em 0;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Accordion\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-object-accordion {\n\t@extend .acf-field-object-tab;\n\t\n\t// show settings\n\t.acf-field-setting-instructions {\n\t\tdisplay: table-row;\n\t}\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Message\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-object-message tr[data-name=\"name\"],\n.acf-field-object-message tr[data-name=\"instructions\"],\n.acf-field-object-message tr[data-name=\"required\"] {\n\tdisplay: none !important;\n}\n\n.acf-field-object-message .li-field-name {\n\tvisibility: hidden;\n}\n\n.acf-field-object-message textarea {\n\theight: 175px !important;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Separator\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-object-separator tr[data-name=\"name\"],\n.acf-field-object-separator tr[data-name=\"instructions\"],\n.acf-field-object-separator tr[data-name=\"required\"] {\n\tdisplay: none !important;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Date Picker\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-object-date-picker,\n.acf-field-object-time-picker,\n.acf-field-object-date-time-picker {\n\t\n\t.acf-radio-list {\n\t\t\n\t\tli {\n\t\t\tline-height: 25px;\n\t\t}\n\t\t\n\t\tspan {\n\t\t\tdisplay: inline-block;\n\t\t\tmin-width: 10em;\n\t\t}\n\t\t\n\t\tinput[type=\"text\"] {\n\t\t\twidth: 100px;\n\t\t}\n\t}\n\n}\n\n.acf-field-object-date-time-picker {\n\t\n\t.acf-radio-list {\n\t\t\n\t\tspan {\n\t\t\tmin-width: 15em;\n\t\t}\n\t\t\n\t\tinput[type=\"text\"] {\n\t\t\twidth: 200px;\n\t\t}\n\t}\n\t\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSlug\n*\n*--------------------------------------------------------------------------------------------*/\n\n#slugdiv {\n\t\n\t.inside {\n\t\tpadding: 12px;\n\t\tmargin: 0;\n\t}\n\t\n\tinput[type=\"text\"] {\n\t\twidth: 100%;\n\t\theight: 28px;\n\t\tfont-size: 14px;\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRTL\n*\n*--------------------------------------------------------------------------------------------*/\n\nhtml[dir=\"rtl\"] .acf-field-object.open > .handle {\n\tmargin: -1px -1px 0;\n}\n\nhtml[dir=\"rtl\"] .acf-field-object.open > .handle .acf-icon {\n\tfloat: right;\n}\n\nhtml[dir=\"rtl\"] .acf-field-object.open > .handle .li-field-order {\n padding-left: 0 !important;\n padding-right: 15px !important;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Device\n*\n*---------------------------------------------------------------------------------------------*/\n\n@media only screen and (max-width: 850px) {\n\t\n\ttr.acf-field,\n\ttd.acf-label,\n\ttd.acf-input {\n\t\tdisplay: block !important;\n\t\twidth: auto !important;\n\t\tborder: 0 none !important;\n\t}\n\t\n\ttr.acf-field {\n\t\tborder-top: #ededed solid 1px !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\ttd.acf-label {\n\t\tbackground: transparent !important;\n\t\tpadding-bottom: 0 !important;\n\n\t}\n\t\n}\n\n","/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n/* colors */\n/* acf-field */\n/* responsive */\n/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n/*--------------------------------------------------------------------------------------------\n*\n*\tField Group\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-field-group-fields > .inside,\n#acf-field-group-locations > .inside,\n#acf-field-group-options > .inside {\n padding: 0;\n margin: 0;\n}\n\n.postbox .handle-order-higher,\n.postbox .handle-order-lower {\n display: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox: Publish\n*\n*---------------------------------------------------------------------------------------------*/\n#minor-publishing-actions,\n#misc-publishing-actions #visibility,\n#misc-publishing-actions .edit-timestamp {\n display: none;\n}\n\n#minor-publishing {\n border-bottom: 0 none;\n}\n\n#misc-pub-section {\n border-bottom: 0 none;\n}\n\n#misc-publishing-actions .misc-pub-section {\n border-bottom-color: #F5F5F5;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox: Fields\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-field-group-fields {\n border: 0 none;\n box-shadow: none;\n /* links */\n /* table header */\n /* show keys */\n /* fields */\n}\n#acf-field-group-fields > .postbox-header,\n#acf-field-group-fields > .handlediv,\n#acf-field-group-fields > .hndle {\n display: none;\n}\n#acf-field-group-fields a {\n text-decoration: none;\n}\n#acf-field-group-fields a:active, #acf-field-group-fields a:focus {\n outline: none;\n box-shadow: none;\n}\n#acf-field-group-fields .li-field-order {\n width: 20%;\n}\n#acf-field-group-fields .li-field-label {\n width: 30%;\n}\n#acf-field-group-fields .li-field-name {\n width: 25%;\n}\n#acf-field-group-fields .li-field-type {\n width: 25%;\n}\n#acf-field-group-fields .li-field-key {\n display: none;\n}\n#acf-field-group-fields.show-field-keys .li-field-label,\n#acf-field-group-fields.show-field-keys .li-field-name,\n#acf-field-group-fields.show-field-keys .li-field-type,\n#acf-field-group-fields.show-field-keys .li-field-key {\n width: 20%;\n}\n#acf-field-group-fields.show-field-keys .li-field-key {\n display: block;\n}\n#acf-field-group-fields .acf-field-list-wrap {\n border: #ccd0d4 solid 1px;\n}\n#acf-field-group-fields .acf-field-list {\n background: #f5f5f5;\n margin-top: -1px;\n /* no fields */\n /* empty */\n}\n#acf-field-group-fields .acf-field-list .no-fields-message {\n padding: 15px 15px;\n background: #fff;\n display: none;\n}\n#acf-field-group-fields .acf-field-list.-empty .no-fields-message {\n display: block;\n}\n.acf-admin-3-8 #acf-field-group-fields .acf-field-list-wrap {\n border-color: #dfdfdf;\n}\n\n/* field object */\n.acf-field-object {\n border-top: #eeeeee solid 1px;\n background: #fff;\n /* sortable */\n /* meta */\n /* handle */\n /* open */\n /*\n \t// debug\n \t&[data-save=\"meta\"] {\n \t\t> .handle {\n \t\t\tborder-left: #ffb700 solid 5px !important;\n \t\t}\n \t}\n\n \t&[data-save=\"settings\"] {\n \t\t> .handle {\n \t\t\tborder-left: #0ec563 solid 5px !important;\n \t\t}\n \t}\n */\n /* hover */\n /* settings */\n /* conditional logic */\n}\n.acf-field-object.ui-sortable-helper {\n border-top-color: #fff;\n box-shadow: 0 0 0 1px #DFDFDF, 0 1px 4px rgba(0, 0, 0, 0.1);\n}\n.acf-field-object.ui-sortable-placeholder {\n box-shadow: 0 -1px 0 0 #DFDFDF;\n visibility: visible !important;\n background: #F9F9F9;\n border-top-color: transparent;\n min-height: 54px;\n}\n.acf-field-object.ui-sortable-placeholder:after, .acf-field-object.ui-sortable-placeholder:before {\n visibility: hidden;\n}\n.acf-field-object > .meta {\n display: none;\n}\n.acf-field-object > .handle a {\n -webkit-transition: none;\n -moz-transition: none;\n -o-transition: none;\n transition: none;\n}\n.acf-field-object > .handle li {\n padding-top: 10px;\n padding-bottom: 10px;\n word-wrap: break-word;\n}\n.acf-field-object > .handle .acf-icon {\n margin: 1px 0 0;\n cursor: move;\n background: transparent;\n float: left;\n height: 28px;\n line-height: 26px;\n width: 28px;\n font-size: 13px;\n color: #444;\n position: relative;\n z-index: 1;\n}\n.acf-field-object > .handle strong {\n display: block;\n padding-bottom: 6px;\n font-size: 14px;\n line-height: 14px;\n min-height: 14px;\n}\n.acf-field-object > .handle .row-options {\n visibility: hidden;\n}\n.acf-field-object > .handle .row-options a {\n margin-right: 4px;\n}\n.acf-field-object > .handle .row-options a.delete-field {\n color: #a00;\n}\n.acf-field-object > .handle .row-options a.delete-field:hover {\n color: #f00;\n}\n.acf-field-object.open + .acf-field-object {\n border-top-color: #E1E1E1;\n}\n.acf-field-object.open > .handle {\n background: #2a9bd9;\n border: #2696d3 solid 1px;\n text-shadow: #268FBB 0 1px 0;\n color: #fff;\n position: relative;\n margin: -1px -1px 0 -1px;\n}\n.acf-field-object.open > .handle a {\n color: #fff !important;\n}\n.acf-field-object.open > .handle a:hover {\n text-decoration: underline !important;\n}\n.acf-field-object.open > .handle .acf-icon {\n border-color: #fff;\n color: #fff;\n}\n.acf-field-object.open > .handle .acf-required {\n color: #fff;\n}\n.acf-field-object:hover > .handle .row-options, .acf-field-object.-hover > .handle .row-options {\n visibility: visible;\n}\n.acf-field-object > .settings {\n display: none;\n width: 100%;\n}\n.acf-field-object > .settings > .acf-table {\n border: none;\n}\n.acf-field-object .rule-groups {\n margin-top: 20px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox: Locations\n*\n*---------------------------------------------------------------------------------------------*/\n.rule-groups h4 {\n margin: 3px 0;\n}\n.rule-groups .rule-group {\n margin: 0 0 5px;\n}\n.rule-groups .rule-group h4 {\n margin: 0 0 3px;\n}\n.rule-groups .rule-group td.param {\n width: 35%;\n}\n.rule-groups .rule-group td.operator {\n width: 20%;\n}\n.rule-groups .rule-group td.add {\n width: 40px;\n}\n.rule-groups .rule-group td.remove {\n width: 28px;\n vertical-align: middle;\n}\n.rule-groups .rule-group td.remove a {\n visibility: hidden;\n}\n.rule-groups .rule-group tr:hover td.remove a {\n visibility: visible;\n}\n.rule-groups .rule-group select:empty {\n background: #f8f8f8;\n}\n.rule-groups:not(.rule-groups-multiple) .rule-group:first-child tr:first-child td.remove a {\n /* Don't allow user to delete the only rule group */\n visibility: hidden !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tOptions\n*\t\n*---------------------------------------------------------------------------------------------*/\n#acf-field-group-options tr[data-name=hide_on_screen] li {\n float: left;\n width: 33%;\n}\n\n@media (max-width: 1100px) {\n #acf-field-group-options tr[data-name=hide_on_screen] li {\n width: 50%;\n }\n}\n/*---------------------------------------------------------------------------------------------\n*\n*\tConditional Logic\n*\t\n*---------------------------------------------------------------------------------------------*/\ntable.conditional-logic-rules {\n background: transparent;\n border: 0 none;\n border-radius: 0;\n}\n\ntable.conditional-logic-rules tbody td {\n background: transparent;\n border: 0 none !important;\n padding: 5px 2px !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Tab\n*\t\n*---------------------------------------------------------------------------------------------*/\n.acf-field-object-tab .acf-field-setting-name, .acf-field-object-accordion .acf-field-setting-name,\n.acf-field-object-tab .acf-field-setting-instructions,\n.acf-field-object-accordion .acf-field-setting-instructions,\n.acf-field-object-tab .acf-field-setting-required,\n.acf-field-object-accordion .acf-field-setting-required,\n.acf-field-object-tab .acf-field-setting-warning,\n.acf-field-object-accordion .acf-field-setting-warning,\n.acf-field-object-tab .acf-field-setting-wrapper,\n.acf-field-object-accordion .acf-field-setting-wrapper {\n display: none;\n}\n.acf-field-object-tab .li-field-name, .acf-field-object-accordion .li-field-name {\n visibility: hidden;\n}\n.acf-field-object + .acf-field-object-tab:before, .acf-field-object + .acf-field-object-accordion:before {\n display: block;\n content: \"\";\n height: 5px;\n width: 100%;\n background: #f5f5f5;\n border-top: #e1e1e1 solid 1px;\n border-bottom: #e1e1e1 solid 1px;\n margin-top: -1px;\n}\n.acf-admin-3-8 .acf-field-object + .acf-field-object-tab:before, .acf-admin-3-8 .acf-field-object + .acf-field-object-accordion:before {\n border-color: #E5E5E5;\n}\n.acf-field-object-tab p:first-child, .acf-field-object-accordion p:first-child {\n margin: 0.5em 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Accordion\n*\t\n*---------------------------------------------------------------------------------------------*/\n.acf-field-object-accordion .acf-field-setting-instructions {\n display: table-row;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Message\n*\t\n*---------------------------------------------------------------------------------------------*/\n.acf-field-object-message tr[data-name=name],\n.acf-field-object-message tr[data-name=instructions],\n.acf-field-object-message tr[data-name=required] {\n display: none !important;\n}\n\n.acf-field-object-message .li-field-name {\n visibility: hidden;\n}\n\n.acf-field-object-message textarea {\n height: 175px !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Separator\n*\t\n*---------------------------------------------------------------------------------------------*/\n.acf-field-object-separator tr[data-name=name],\n.acf-field-object-separator tr[data-name=instructions],\n.acf-field-object-separator tr[data-name=required] {\n display: none !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Date Picker\n*\t\n*---------------------------------------------------------------------------------------------*/\n.acf-field-object-date-picker .acf-radio-list li,\n.acf-field-object-time-picker .acf-radio-list li,\n.acf-field-object-date-time-picker .acf-radio-list li {\n line-height: 25px;\n}\n.acf-field-object-date-picker .acf-radio-list span,\n.acf-field-object-time-picker .acf-radio-list span,\n.acf-field-object-date-time-picker .acf-radio-list span {\n display: inline-block;\n min-width: 10em;\n}\n.acf-field-object-date-picker .acf-radio-list input[type=text],\n.acf-field-object-time-picker .acf-radio-list input[type=text],\n.acf-field-object-date-time-picker .acf-radio-list input[type=text] {\n width: 100px;\n}\n\n.acf-field-object-date-time-picker .acf-radio-list span {\n min-width: 15em;\n}\n.acf-field-object-date-time-picker .acf-radio-list input[type=text] {\n width: 200px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSlug\n*\n*--------------------------------------------------------------------------------------------*/\n#slugdiv .inside {\n padding: 12px;\n margin: 0;\n}\n#slugdiv input[type=text] {\n width: 100%;\n height: 28px;\n font-size: 14px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRTL\n*\n*--------------------------------------------------------------------------------------------*/\nhtml[dir=rtl] .acf-field-object.open > .handle {\n margin: -1px -1px 0;\n}\n\nhtml[dir=rtl] .acf-field-object.open > .handle .acf-icon {\n float: right;\n}\n\nhtml[dir=rtl] .acf-field-object.open > .handle .li-field-order {\n padding-left: 0 !important;\n padding-right: 15px !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Device\n*\n*---------------------------------------------------------------------------------------------*/\n@media only screen and (max-width: 850px) {\n tr.acf-field,\ntd.acf-label,\ntd.acf-input {\n display: block !important;\n width: auto !important;\n border: 0 none !important;\n }\n\n tr.acf-field {\n border-top: #ededed solid 1px !important;\n margin-bottom: 0 !important;\n }\n\n td.acf-label {\n background: transparent !important;\n padding-bottom: 0 !important;\n }\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/assets/build/css/acf-field-group.min.css b/assets/build/css/acf-field-group.min.css index 292cee4..1e5e8d5 100644 --- a/assets/build/css/acf-field-group.min.css +++ b/assets/build/css/acf-field-group.min.css @@ -1 +1 @@ -#acf-field-group-fields>.inside,#acf-field-group-locations>.inside,#acf-field-group-options>.inside{padding:0;margin:0}.postbox .handle-order-higher,.postbox .handle-order-lower{display:none}#minor-publishing-actions,#misc-publishing-actions #visibility,#misc-publishing-actions .edit-timestamp{display:none}#minor-publishing{border-bottom:0 none}#misc-pub-section{border-bottom:0 none}#misc-publishing-actions .misc-pub-section{border-bottom-color:#f5f5f5}#acf-field-group-fields{border:0 none;box-shadow:none}#acf-field-group-fields>.handlediv,#acf-field-group-fields>.hndle,#acf-field-group-fields>.postbox-header{display:none}#acf-field-group-fields a{text-decoration:none}#acf-field-group-fields a:active,#acf-field-group-fields a:focus{outline:0;box-shadow:none}#acf-field-group-fields .li-field-order{width:20%}#acf-field-group-fields .li-field-label{width:30%}#acf-field-group-fields .li-field-name{width:25%}#acf-field-group-fields .li-field-type{width:25%}#acf-field-group-fields .li-field-key{display:none}#acf-field-group-fields.show-field-keys .li-field-key,#acf-field-group-fields.show-field-keys .li-field-label,#acf-field-group-fields.show-field-keys .li-field-name,#acf-field-group-fields.show-field-keys .li-field-type{width:20%}#acf-field-group-fields.show-field-keys .li-field-key{display:block}#acf-field-group-fields .acf-field-list-wrap{border:#ccd0d4 solid 1px}#acf-field-group-fields .acf-field-list{background:#f5f5f5;margin-top:-1px}#acf-field-group-fields .acf-field-list .no-fields-message{padding:15px 15px;background:#fff;display:none}#acf-field-group-fields .acf-field-list.-empty .no-fields-message{display:block}.acf-admin-3-8 #acf-field-group-fields .acf-field-list-wrap{border-color:#dfdfdf}.acf-field-object{border-top:#eee solid 1px;background:#fff}.acf-field-object.ui-sortable-helper{border-top-color:#fff;box-shadow:0 0 0 1px #dfdfdf,0 1px 4px rgba(0,0,0,.1)}.acf-field-object.ui-sortable-placeholder{box-shadow:0 -1px 0 0 #dfdfdf;visibility:visible!important;background:#f9f9f9;border-top-color:transparent;min-height:54px}.acf-field-object.ui-sortable-placeholder:after,.acf-field-object.ui-sortable-placeholder:before{visibility:hidden}.acf-field-object>.meta{display:none}.acf-field-object>.handle a{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.acf-field-object>.handle li{padding-top:10px;padding-bottom:10px;word-wrap:break-word}.acf-field-object>.handle .acf-icon{margin:1px 0 0;cursor:move;background:0 0;float:left;height:28px;line-height:26px;width:28px;font-size:13px;color:#444;position:relative;z-index:1}.acf-field-object>.handle strong{display:block;padding-bottom:6px;font-size:14px;line-height:14px;min-height:14px}.acf-field-object>.handle .row-options{visibility:hidden}.acf-field-object>.handle .row-options a{margin-right:4px}.acf-field-object>.handle .row-options a.delete-field{color:#a00}.acf-field-object>.handle .row-options a.delete-field:hover{color:red}.acf-field-object.open+.acf-field-object{border-top-color:#e1e1e1}.acf-field-object.open>.handle{background:#2a9bd9;border:#2696d3 solid 1px;text-shadow:#268fbb 0 1px 0;color:#fff;position:relative;margin:-1px -1px 0 -1px}.acf-field-object.open>.handle a{color:#fff!important}.acf-field-object.open>.handle a:hover{text-decoration:underline!important}.acf-field-object.open>.handle .acf-icon{border-color:#fff;color:#fff}.acf-field-object.open>.handle .acf-required{color:#fff}.acf-field-object.-hover>.handle .row-options,.acf-field-object:hover>.handle .row-options{visibility:visible}.acf-field-object>.settings{display:none;width:100%}.acf-field-object>.settings>.acf-table{border:none}.acf-field-object .rule-groups{margin-top:20px}.rule-groups h4{margin:3px 0}.rule-groups .rule-group{margin:0 0 5px}.rule-groups .rule-group h4{margin:0 0 3px}.rule-groups .rule-group td.param{width:35%}.rule-groups .rule-group td.operator{width:20%}.rule-groups .rule-group td.add{width:40px}.rule-groups .rule-group td.remove{width:28px;vertical-align:middle}.rule-groups .rule-group td.remove a{visibility:hidden}.rule-groups .rule-group tr:hover td.remove a{visibility:visible}.rule-groups .rule-group select:empty{background:#f8f8f8}.rule-groups:not(.rule-groups-multiple) .rule-group:first-child tr:first-child td.remove a{visibility:hidden!important}#acf-field-group-options tr[data-name=hide_on_screen] li{float:left;width:33%}@media (max-width:1100px){#acf-field-group-options tr[data-name=hide_on_screen] li{width:50%}}table.conditional-logic-rules{background:0 0;border:0 none;border-radius:0}table.conditional-logic-rules tbody td{background:0 0;border:0 none!important;padding:5px 2px!important}.acf-field-object-accordion .acf-field-setting-instructions,.acf-field-object-accordion .acf-field-setting-name,.acf-field-object-accordion .acf-field-setting-required,.acf-field-object-accordion .acf-field-setting-warning,.acf-field-object-accordion .acf-field-setting-wrapper,.acf-field-object-tab .acf-field-setting-instructions,.acf-field-object-tab .acf-field-setting-name,.acf-field-object-tab .acf-field-setting-required,.acf-field-object-tab .acf-field-setting-warning,.acf-field-object-tab .acf-field-setting-wrapper{display:none}.acf-field-object-accordion .li-field-name,.acf-field-object-tab .li-field-name{visibility:hidden}.acf-field-object+.acf-field-object-accordion:before,.acf-field-object+.acf-field-object-tab:before{display:block;content:"";height:5px;width:100%;background:#f5f5f5;border-top:#e1e1e1 solid 1px;border-bottom:#e1e1e1 solid 1px;margin-top:-1px}.acf-admin-3-8 .acf-field-object+.acf-field-object-accordion:before,.acf-admin-3-8 .acf-field-object+.acf-field-object-tab:before{border-color:#e5e5e5}.acf-field-object-accordion p:first-child,.acf-field-object-tab p:first-child{margin:.5em 0}.acf-field-object-accordion .acf-field-setting-instructions{display:table-row}.acf-field-object-message tr[data-name=instructions],.acf-field-object-message tr[data-name=name],.acf-field-object-message tr[data-name=required]{display:none!important}.acf-field-object-message .li-field-name{visibility:hidden}.acf-field-object-message textarea{height:175px!important}.acf-field-object-separator tr[data-name=instructions],.acf-field-object-separator tr[data-name=name],.acf-field-object-separator tr[data-name=required]{display:none!important}.acf-field-object-date-picker .acf-radio-list li,.acf-field-object-date-time-picker .acf-radio-list li,.acf-field-object-time-picker .acf-radio-list li{line-height:25px}.acf-field-object-date-picker .acf-radio-list span,.acf-field-object-date-time-picker .acf-radio-list span,.acf-field-object-time-picker .acf-radio-list span{display:inline-block;min-width:10em}.acf-field-object-date-picker .acf-radio-list input[type=text],.acf-field-object-date-time-picker .acf-radio-list input[type=text],.acf-field-object-time-picker .acf-radio-list input[type=text]{width:100px}.acf-field-object-date-time-picker .acf-radio-list span{min-width:15em}.acf-field-object-date-time-picker .acf-radio-list input[type=text]{width:200px}#slugdiv .inside{padding:12px;margin:0}#slugdiv input[type=text]{width:100%;height:28px;font-size:14px}html[dir=rtl] .acf-field-object.open>.handle{margin:-1px -1px 0}html[dir=rtl] .acf-field-object.open>.handle .acf-icon{float:right}html[dir=rtl] .acf-field-object.open>.handle .li-field-order{padding-left:0!important;padding-right:15px!important}@media only screen and (max-width:850px){td.acf-input,td.acf-label,tr.acf-field{display:block!important;width:auto!important;border:0 none!important}tr.acf-field{border-top:#ededed solid 1px!important;margin-bottom:0!important}td.acf-label{background:0 0!important;padding-bottom:0!important}} \ No newline at end of file +#acf-field-group-fields>.inside,#acf-field-group-locations>.inside,#acf-field-group-options>.inside{padding:0;margin:0}.postbox .handle-order-higher,.postbox .handle-order-lower{display:none}#minor-publishing-actions,#misc-publishing-actions #visibility,#misc-publishing-actions .edit-timestamp{display:none}#minor-publishing{border-bottom:0 none}#misc-pub-section{border-bottom:0 none}#misc-publishing-actions .misc-pub-section{border-bottom-color:#f5f5f5}#acf-field-group-fields{border:0 none;box-shadow:none}#acf-field-group-fields>.postbox-header,#acf-field-group-fields>.handlediv,#acf-field-group-fields>.hndle{display:none}#acf-field-group-fields a{text-decoration:none}#acf-field-group-fields a:active,#acf-field-group-fields a:focus{outline:none;box-shadow:none}#acf-field-group-fields .li-field-order{width:20%}#acf-field-group-fields .li-field-label{width:30%}#acf-field-group-fields .li-field-name{width:25%}#acf-field-group-fields .li-field-type{width:25%}#acf-field-group-fields .li-field-key{display:none}#acf-field-group-fields.show-field-keys .li-field-label,#acf-field-group-fields.show-field-keys .li-field-name,#acf-field-group-fields.show-field-keys .li-field-type,#acf-field-group-fields.show-field-keys .li-field-key{width:20%}#acf-field-group-fields.show-field-keys .li-field-key{display:block}#acf-field-group-fields .acf-field-list-wrap{border:#ccd0d4 solid 1px}#acf-field-group-fields .acf-field-list{background:#f5f5f5;margin-top:-1px}#acf-field-group-fields .acf-field-list .no-fields-message{padding:15px 15px;background:#fff;display:none}#acf-field-group-fields .acf-field-list.-empty .no-fields-message{display:block}.acf-admin-3-8 #acf-field-group-fields .acf-field-list-wrap{border-color:#dfdfdf}.acf-field-object{border-top:#eee solid 1px;background:#fff}.acf-field-object.ui-sortable-helper{border-top-color:#fff;box-shadow:0 0 0 1px #dfdfdf,0 1px 4px rgba(0,0,0,.1)}.acf-field-object.ui-sortable-placeholder{box-shadow:0 -1px 0 0 #dfdfdf;visibility:visible !important;background:#f9f9f9;border-top-color:transparent;min-height:54px}.acf-field-object.ui-sortable-placeholder:after,.acf-field-object.ui-sortable-placeholder:before{visibility:hidden}.acf-field-object>.meta{display:none}.acf-field-object>.handle a{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.acf-field-object>.handle li{padding-top:10px;padding-bottom:10px;word-wrap:break-word}.acf-field-object>.handle .acf-icon{margin:1px 0 0;cursor:move;background:transparent;float:left;height:28px;line-height:26px;width:28px;font-size:13px;color:#444;position:relative;z-index:1}.acf-field-object>.handle strong{display:block;padding-bottom:6px;font-size:14px;line-height:14px;min-height:14px}.acf-field-object>.handle .row-options{visibility:hidden}.acf-field-object>.handle .row-options a{margin-right:4px}.acf-field-object>.handle .row-options a.delete-field{color:#a00}.acf-field-object>.handle .row-options a.delete-field:hover{color:red}.acf-field-object.open+.acf-field-object{border-top-color:#e1e1e1}.acf-field-object.open>.handle{background:#2a9bd9;border:#2696d3 solid 1px;text-shadow:#268fbb 0 1px 0;color:#fff;position:relative;margin:-1px -1px 0 -1px}.acf-field-object.open>.handle a{color:#fff !important}.acf-field-object.open>.handle a:hover{text-decoration:underline !important}.acf-field-object.open>.handle .acf-icon{border-color:#fff;color:#fff}.acf-field-object.open>.handle .acf-required{color:#fff}.acf-field-object:hover>.handle .row-options,.acf-field-object.-hover>.handle .row-options{visibility:visible}.acf-field-object>.settings{display:none;width:100%}.acf-field-object>.settings>.acf-table{border:none}.acf-field-object .rule-groups{margin-top:20px}.rule-groups h4{margin:3px 0}.rule-groups .rule-group{margin:0 0 5px}.rule-groups .rule-group h4{margin:0 0 3px}.rule-groups .rule-group td.param{width:35%}.rule-groups .rule-group td.operator{width:20%}.rule-groups .rule-group td.add{width:40px}.rule-groups .rule-group td.remove{width:28px;vertical-align:middle}.rule-groups .rule-group td.remove a{visibility:hidden}.rule-groups .rule-group tr:hover td.remove a{visibility:visible}.rule-groups .rule-group select:empty{background:#f8f8f8}.rule-groups:not(.rule-groups-multiple) .rule-group:first-child tr:first-child td.remove a{visibility:hidden !important}#acf-field-group-options tr[data-name=hide_on_screen] li{float:left;width:33%}@media(max-width: 1100px){#acf-field-group-options tr[data-name=hide_on_screen] li{width:50%}}table.conditional-logic-rules{background:transparent;border:0 none;border-radius:0}table.conditional-logic-rules tbody td{background:transparent;border:0 none !important;padding:5px 2px !important}.acf-field-object-tab .acf-field-setting-name,.acf-field-object-accordion .acf-field-setting-name,.acf-field-object-tab .acf-field-setting-instructions,.acf-field-object-accordion .acf-field-setting-instructions,.acf-field-object-tab .acf-field-setting-required,.acf-field-object-accordion .acf-field-setting-required,.acf-field-object-tab .acf-field-setting-warning,.acf-field-object-accordion .acf-field-setting-warning,.acf-field-object-tab .acf-field-setting-wrapper,.acf-field-object-accordion .acf-field-setting-wrapper{display:none}.acf-field-object-tab .li-field-name,.acf-field-object-accordion .li-field-name{visibility:hidden}.acf-field-object+.acf-field-object-tab:before,.acf-field-object+.acf-field-object-accordion:before{display:block;content:"";height:5px;width:100%;background:#f5f5f5;border-top:#e1e1e1 solid 1px;border-bottom:#e1e1e1 solid 1px;margin-top:-1px}.acf-admin-3-8 .acf-field-object+.acf-field-object-tab:before,.acf-admin-3-8 .acf-field-object+.acf-field-object-accordion:before{border-color:#e5e5e5}.acf-field-object-tab p:first-child,.acf-field-object-accordion p:first-child{margin:.5em 0}.acf-field-object-accordion .acf-field-setting-instructions{display:table-row}.acf-field-object-message tr[data-name=name],.acf-field-object-message tr[data-name=instructions],.acf-field-object-message tr[data-name=required]{display:none !important}.acf-field-object-message .li-field-name{visibility:hidden}.acf-field-object-message textarea{height:175px !important}.acf-field-object-separator tr[data-name=name],.acf-field-object-separator tr[data-name=instructions],.acf-field-object-separator tr[data-name=required]{display:none !important}.acf-field-object-date-picker .acf-radio-list li,.acf-field-object-time-picker .acf-radio-list li,.acf-field-object-date-time-picker .acf-radio-list li{line-height:25px}.acf-field-object-date-picker .acf-radio-list span,.acf-field-object-time-picker .acf-radio-list span,.acf-field-object-date-time-picker .acf-radio-list span{display:inline-block;min-width:10em}.acf-field-object-date-picker .acf-radio-list input[type=text],.acf-field-object-time-picker .acf-radio-list input[type=text],.acf-field-object-date-time-picker .acf-radio-list input[type=text]{width:100px}.acf-field-object-date-time-picker .acf-radio-list span{min-width:15em}.acf-field-object-date-time-picker .acf-radio-list input[type=text]{width:200px}#slugdiv .inside{padding:12px;margin:0}#slugdiv input[type=text]{width:100%;height:28px;font-size:14px}html[dir=rtl] .acf-field-object.open>.handle{margin:-1px -1px 0}html[dir=rtl] .acf-field-object.open>.handle .acf-icon{float:right}html[dir=rtl] .acf-field-object.open>.handle .li-field-order{padding-left:0 !important;padding-right:15px !important}@media only screen and (max-width: 850px){tr.acf-field,td.acf-label,td.acf-input{display:block !important;width:auto !important;border:0 none !important}tr.acf-field{border-top:#ededed solid 1px !important;margin-bottom:0 !important}td.acf-label{background:transparent !important;padding-bottom:0 !important}} diff --git a/assets/build/css/acf-global.css b/assets/build/css/acf-global.css index 7232d99..76db6fb 100644 --- a/assets/build/css/acf-global.css +++ b/assets/build/css/acf-global.css @@ -1,4 +1,6 @@ -@charset "UTF-8"; +/*!*****************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-global.scss ***! + \*****************************************************************************************************************************************************************************************************************/ /*-------------------------------------------------------------------------------------------- * * Vars @@ -336,89 +338,89 @@ } .acf-icon.-plus:before { - content: ""; + content: "\f543"; } .acf-icon.-minus:before { - content: ""; + content: "\f460"; } .acf-icon.-cancel:before { - content: ""; + content: "\f335"; } .acf-icon.-pencil:before { - content: ""; + content: "\f464"; } .acf-icon.-location:before { - content: ""; + content: "\f230"; } .acf-icon.-up:before { - content: ""; + content: "\f343"; margin-top: -0.1em; } .acf-icon.-down:before { - content: ""; + content: "\f347"; margin-top: 0.1em; } .acf-icon.-left:before { - content: ""; + content: "\f341"; margin-left: -0.1em; } .acf-icon.-right:before { - content: ""; + content: "\f345"; margin-left: 0.1em; } .acf-icon.-sync:before { - content: ""; + content: "\f463"; } .acf-icon.-globe:before { - content: ""; + content: "\f319"; margin-top: 0.1em; margin-left: 0.1em; } .acf-icon.-picture:before { - content: ""; + content: "\f128"; } .acf-icon.-check:before { - content: ""; + content: "\f147"; margin-left: -0.1em; } .acf-icon.-dot-3:before { - content: ""; + content: "\f533"; margin-top: -0.1em; } .acf-icon.-arrow-combo:before { - content: ""; + content: "\f156"; } .acf-icon.-arrow-up:before { - content: ""; + content: "\f142"; margin-left: -0.1em; } .acf-icon.-arrow-down:before { - content: ""; + content: "\f140"; margin-left: -0.1em; } .acf-icon.-search:before { - content: ""; + content: "\f179"; } .acf-icon.-link-ext:before { - content: ""; + content: "\f504"; } .acf-icon.-duplicate { @@ -443,12 +445,12 @@ } .acf-icon.-collapse:before { - content: ""; + content: "\f142"; margin-left: -0.1em; } .-collapsed .acf-icon.-collapse:before { - content: ""; + content: "\f140"; margin-left: -0.1em; } @@ -1659,4 +1661,6 @@ html[dir=rtl] .acf-table > tbody > tr > td.order + td { background-image: url(../../images/spinner@2x.gif); background-size: 20px 20px; } -} \ No newline at end of file +} + +/*# sourceMappingURL=acf-global.css.map*/ \ No newline at end of file diff --git a/assets/build/css/acf-global.css.js b/assets/build/css/acf-global.css.js new file mode 100644 index 0000000..104e9ad --- /dev/null +++ b/assets/build/css/acf-global.css.js @@ -0,0 +1,6 @@ +/******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ +/******/ +/******/ })() +; \ No newline at end of file diff --git a/assets/build/css/acf-global.css.map b/assets/build/css/acf-global.css.map new file mode 100644 index 0000000..08093fd --- /dev/null +++ b/assets/build/css/acf-global.css.map @@ -0,0 +1 @@ +{"version":3,"file":"acf-global.css","mappings":";;;AAAA;;;;8FAAA;AAMA;AAOA;AAQA;ACrBA;;;;8FAAA;ACCA;;;;8FAAA;AAMA;AACA;EAAU;EAAY;EAAW;EAAkB;EAAgB;ACiBnE;;ADhBA;EAAe;EAAa;EAAgB;EAAW;ACuBvD;;ADtBA;EAAsB;AC0BtB;;ADvBA;AACA;;;EAGI;EACA;EACA;AC0BJ;;ADxBA;;;EAGI;AC2BJ;;ADvBA;AACA;EAAU;EAAY;EAAW;EAAkB;EAAgB;AC+BnE;;AD9BA;EAAe;EAAgB;EAAW;EAAY;ACqCtD;;ADlCA;AACA;EACC;ACqCD;;ADnCA;EACC;ACsCD;ADrCC;EAAI;ACwCL;;ADrCA;AACA;EAAU;ACyCV;;ADxCA;EAAU;AC4CV;;AD3CA;EAAU;AC+CV;;AD5CA;AACA;EAAU;ACgDV;;AD/CA;EAAU;ACmDV;;ADlDA;EAAU;ACsDV;;ADnDA;AACA;;EAEC;EACA;EACA;EACA;EACA;ACsDD;;ADlDA;AACA;EACC;ACqDD;;ADlDA;EACC;ACqDD;;ADjDA;AACA;EACC;ACoDD;;ADhDA;AACA;EACC;ACmDD;;AD/CA;AACA;EACC;EACA;EACA;EACA;EAEA;EACA;ACiDD;;AD9CA;EACC;EACA;EACA;EACA;EAEA;EACA;ACgDD;;AD5CA;AACA;EAAiB;ACgDjB;;AD/CA;EAAiB;ACmDjB;;ADjDA;EAA4B;ACqD5B;;ADpDA;EAA4B;ACwD5B;;ADtDA;AACA;EACC;EACA;EACA;EACA;ACyDD;;ADrDA;;;;+FAAA;AAMA;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EAUA;AC4CJ;ADrDI;EACC;EACA;EACA;EACA;EACA;ACuDL;ADlDI;EACC;ACoDL;ADlDK;EACF;EACA;EACA;EACA;EACA;ACoDH;ADhDI;EACC;ACkDL;ADhDK;EACF;EACA;EACA;EACA;EACA;ACkDH;AD9CI;EACA;ACgDJ;AD9CI;EACD;EACA;EACA;EACA;EACA;ACgDH;AD5CI;EACA;AC8CJ;AD5CI;EACD;EACA;EACA;EACA;EACA;AC8CH;AD1CI;EACF;AC4CF;;ADtCA;AACA;EACC;ACyCD;ADvCC;EACC;EACA;ACyCF;ADvCE;EACC;ACyCH;ADtCE;EACC;ACwCH;;ADnCA;EACC;EACA;EACA;EACA;EACA;EACA;ACsCD;;ADnCA;EACC;EACA;ACsCD;;ADlCA;;;;+FAAA;AAKA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACqCD;ADnCC;ED7OA;EACA;EACA;EACA;AEmRD;;ADnCA;;;;8FAAA;AAKA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACsCD;ADpCC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACsCF;;ADjCA;EACC;ACoCD;;ADlCA;EACC;ACqCD;;ADnCA;EACC;ACsCD;;ADpCA;EACC;ACuCD;;ADrCA;EACC;ACwCD;;ADtCA;EACC;EAGA;ACuCD;;ADrCA;EACC;EAGA;ACsCD;;ADpCA;EACC;EAGA;ACqCD;;ADnCA;EACC;EAGA;ACoCD;;ADlCA;EACC;ACqCD;;ADnCA;EACC;EAGA;EACA;ACoCD;;ADlCA;EACC;ACqCD;;ADnCA;EACC;EAGA;ACoCD;;ADlCA;EACC;EAGA;ACmCD;;ADjCA;EACC;ACoCD;;ADlCA;EACC;EAGA;ACmCD;;ADjCA;EACC;EAGA;ACkCD;;ADhCA;EACC;ACmCD;;ADjCA;EACC;ACoCD;;ADhCA;EACC;ACmCD;ADlCC;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACmCF;ADjCC;EACC;EACA;ACmCF;ADjCC;EACC;ACmCF;;AD7BA;EACC;EAGA;AC8BD;;AD5BA;EACC;EAGA;AC6BD;;ADzBA;EACC;EACA;EACA;AC4BD;;ADxBA;EACC;EACA;EACA;EACA;EACA;EACA;AC2BD;ADxBC;EACC;EACA;EACA;AC0BF;ADxBC;EAEC;EACA;EACA;ACyBF;ADrBC;EAEC;EACA;ACsBF;;ADjBA;EACC;EACA;EACA;ACoBD;;ADhBA;EACC;EACA;EACA;ACmBD;;ADfA;EACC;EACA;EACA;ACkBD;;ADfC;EACC;EACA;ACkBF;ADhBC;EAEC;ACiBF;;ADZA;EACC;EACA;EACA;ACeD;ADbC;EACC;EACA;ACeF;ADbC;EAEC;ACcF;;ADTA;;EAEC;EACA;EACA;EACA;ACYD;ADPE;;;EAEC;ACUH;;ADLA;;;;8FAAA;AAKA;EACI;EACA;EACA;EACA;EAEA;EA6CH;ACrCD;ADPI;EACF;EACG;EACA;ACSL;ADPE;EACC;EACG;EACA;EACA;ACSN;ADJC;EACI;ACML;ADHC;EACC;EACG;EACA;EACA;EACA;ACKL;ADFC;EACC;ACIF;ADDC;EACC;ACGF;ADAC;EACC;ACEF;ADEE;EACC;ACAH;ADKC;EACI;EACA;EACA;EACA;ACHL;ADKK;EACC;ACHN;AFniBC;EC4iBC,qBFrjBiB;AG+iBnB;ADOE;;EAEC,qBFxjBgB;AGmjBnB;;ADUA;;;;8FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA,mBFjmBY;EEkmBZ;ACRD;ADUC;EACC;EACA;EACA;EACA;EACA;ACRF;ADWC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;ACTF;ADUE;EACC;ACRH;ADaC;EACC;ACXF;ADeC;EACC,mBF/nBU;EEgoBV;ACbF;ADiBC;EACC,mBFpoBY;EEqoBZ;ACfF;ADmBC;EACC,mBFzoBY;EE0oBZ;ACjBF;;ADsBA;;;;8FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACG;EACA;EACA;EAEA;EAqBA;EAmBA;EAuBA;ACjFJ;ADsBK;;;EACF;EACA;EACA;EACA;EACG;EACA;AClBN;ADqBE;;EACC;EACA;AClBH;AD6BG;EACI,qBF5qBY;EE6qBf;AC3BJ;AD6BI;EACC;AC3BL;ADuCK;EACF;ACrCH;ADuCG;EACC,qBF/rBe;EEgsBf;ACrCJ;ADuCI;EACC;ACrCL;ADyCG;EACC;ACvCJ;AD+CI;EACC;AC7CL;ADkDM;;;EACC;EACH;AC9CJ;;ADqDA;AACA;EACC;EACA;EACA;EACA;EAEA;EACA;ACnDD;;ADuDA;AACA;EACC;EACA;EACA;EACA;EAEA;EACA;ACrDD;;ADwDA;;;;+FAAA;AAMA;;;EAGC;EACA;EACA;ACtDD;ADwDC;;;EACC;EACA;EACA;EACA;ACpDF;;ADwDA;EACC;EACA;ACrDD;ADuDC;EACC;EACA;EACA;ACrDF;AFhtBC;EC0wBC,qBFlxBmB;AG2tBrB;;AD2DA;EACC;EACA;ACxDD;;AD2DA;;;;8FAAA;AAQC;EACC;AC3DF;AD8DC;EACC;AC5DF;AD+DC;EACC;AC7DF;AD+DE;EACC;AC7DH;;ADoEA;;;;8FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AClED;ADqEC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;ACnEF;ADsEC;EACC;EACA;EACA;EACA;ACpEF;ADwEC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACtEF;AFzxBC;EACC;AE2xBF;ADuEE;EACC;EACA;ACrEH;ADwEG;EACC;EACA;EACA;ACtEJ;ADyEI;EACC;EACA;ACvEL;AD4EE;EACC;EAGA;EACA;AC5EH;ADgFE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC9EH;ADgFG;EDt5BF;EACA;EACA;EACA;AEy0BD;;ADoFA;EACC;EACA;ACjFD;ADoFC;EACC;EACA;AClFF;ADoFE;EACC;AClFH;ADuFC;EACC;ACrFF;;ADyFA;;;;8FAAA;AAMA;EACC;EACA;EACA;EACA;ACvFD;AFr3BC;EACC;EACA;EACA;AEu3BF;ADqFC;EACC;EACA;EACA;ACnFF;ADsFC;EACC;EACA;EACA;ACpFF;ADuFC;EACC;EACA;EACA;EACA;ACrFF;ADwFC;EACC;EACA;ACtFF;ADyFC;EACC;EACA;ACvFF;AD0FC;EACC;ACxFF;AD4FC;EAEC;;IAEC;IACA;IACA;IACA;EC3FD;AACF;;ADgGA;;;;8FAAA;AAQC;EACC;EACA;AChGF;ADmGC;EACC;EACA;ACjGF;ADoGC;EACI;EACA;EACA;EACA;EACA;AClGL;ADqGC;EACI;ACnGL;ADqGK;EACC;ACnGN;ADuGC;EACC;EACA;ACrGF;ADuGE;EACC;ACrGH;ADyGC;EACC;EACA;EACA;ACvGF;ADyGE;EACC;EACA;EACA;EACA;ACvGH;ADyGG;EAND;IAOE;ECtGF;AACF;ADwGG;EAVD;IAWE;ECrGF;AACF;ADwGE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACtGH;ADyGE;EACC;ACvGH;;AD4GA;;;;8FAAA;AAMA;EACC;EACA;AC1GD;AD4GC;EACC;EAEA;EACA;EACA;AC3GF;;ADiHA;AACA;EAA8B;AC7G9B;;AD8GA;EAA8B;AC1G9B;;AD2GA;EAA8B;ACvG9B;;AD0GA;AACA;EAEC;IACC;IACA;IACA;ECxGA;ED0GA;IACC;IACA;ECxGD;AACF;ADgHA;;;;8FAAA;AAMA;EACC;EACA;EAEA;EAUA;ACzHD;ADgHC;EACC;EACA;EACA;EACA;EACA;AC9GF;ADoHE;EACC;EACA;AClHH;;ADwHA;AAEC;EAAK;EAAc;ACpHpB;;ADwHA;;;;8FAAA;AAMA;EAA0B;ACrH1B;;ADsHA;EAA0B;AClH1B;;ADoHA;EACC;ACjHD;;ADoHA;EACI;ACjHJ;;ADoHA;EACC;EACA;ACjHD;;ADqHA;EACC;EACA;EACA;AClHD;;ADqHA;EACC;EACA;EACA;AClHD;;ADqHA;;EAEC;AClHD;;ADqHA;EACC;AClHD;;ADsHA;;;;+FAAA;AAMA;EAEC;EACA;EACA;EACA;EACA;ACrHD;AFpmCC;EACC;EACA;EACA;AEsmCF;ADkHC;;EDntCA;EACA;EACA;ECotCC;AC9GF;ADiHC;EACC;EACA;AC/GF;ADkHC;EACC;EACA;EACA;AChHF;ADkHE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,mBF9tCgB;AG8mCnB;ADsHE;EACC,mBF/tCkB;AG2mCrB;;ADyHA;AACA;EAEC;IACC;ECvHA;EDyHA;;IAEC;IACA;IACA;IACA;ECvHD;ED0HA;IACC;ECxHD;ED0HC;IACC;ECxHF;AACF;AD8HA;;;;+FAAA;AAMA;EACC;EACA;EACA;EAoBA;EAUA;EAOA;AC/JD;AD4HC;EACC;EACA;EACA;EACA;EACA;AC1HF;AD4HE;EACC;AC1HH;AD8HC;EACC;EACA;EACA;AC5HF;ADkIE;EACC;AChIH;ADuIC;EACC;EACA;ACrIF;AD0IC;EACC;ACxIF;AD0IE;EACC;EACA;ACxIH;AD2IE;EACC;ACzIH;AFpqCC;ECmzCC,qBF3zCmB;AG+qCrB;;ADiJA;;;;+FAAA;AAQC;EACC;ACjJF;;ADqJA;EACC;EA6BA;AC9KD;ADmJC;EDn2CA;EACA;EACA;AEmtCD;ADiJE;EACC;AC/IH;ADkJE;EACC;EACA;EACA;EACA;EAGA;EACA;EACA;AClJH;ADqJE;;;EAGC;ACnJH;ADyJC;EACC;EACA;EACA;ACvJF;;AD4JA;AACA;EACC;EACA;ACzJD;AD2JC;EACC;EACA;EACA;EACA;ACzJF;AD2JE;EACC;ACzJH;AD4JE;EACC;EACA;EACA;AC1JH;;ADgKA;AACA;EAEC;IACC;IACA;EC9JA;EDgKA;IACC;IACA;IACA;EC9JD;AACF;ADmKA;AACA;EA0BC;AC1LD;ADkKC;EACC;AChKF;ADmKC;EACC;ACjKF;ADoKC;EACC;EACA;AClKF;ADqKC;EACC;EACA;EACA;EAEA;EACA;EACA;EACA;ACpKF;ADyKE;EACC;ACvKH;;AD4KA;;;;+FAAA;AAKA;EACC;EACA;EACA;ACzKD;AD2KC;EACC;EACA;EACA;EACA;EACA;ACzKF;AD2KE;EACC;EACA;ACzKH;AD6KC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AC3KF;AD6KE;EACC;EACA;AC3KH;AD6KE;EACC;AC3KH;AD6KE;EACC;AC3KH;AD+KC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC7KF;AD+KE;EACC;EACA;AC7KH;ADgLE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC9KH;ADmLC;EACC;EACA;ACjLF;ADqLC;EACC;IACC;ECnLD;AACF;;ADuLA;;;;+FAAA;AAQC;EACC;ACvLF;AD2LC;EACC;ACzLF;ADgME;EACC;AC9LH;ADkME;EACC;AChMH;ADoME;EACC;IAAoB;ECjMrB;AACF;ADoMG;EACC;EACA;EACA;EACA;AClMJ;AD0MC;EACC;ACxMF;;AD2MA;EACC;EACA;ACxMD;AD0MC;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACzMF;AD2MC;EACC;EACA;EACA;EACA;EACA;EACA;ACzMF;;AD+MA;EACC;AC5MD;AD6MC;EACC;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACG;EACA;EACA;AC9ML;ADgNI;EACC;EACA;EACA;EACA;EAEA;EACH;EACA;EAEG;EACA;AChNL;ADoNE;EACC;AClNH;;AD0NC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACvNF;ADyNE;EACC;EACA;ACvNH;AD0NE;;EAEC;EACA;ACxNH;AD4NC;EACC;EACA;EACA;EACA;EACA;EACA;AC1NF;AD6NC;EACC;AC3NF;AD6NE;EACC;AC3NH;AD8NE;EACC;EACA;AC5NH;ADgOE;EACC;AC9NH;ADiOE;EACC;AC/NH;ADoOC;EACC;IACC;EClOD;EDoOA;IACC;EClOD;AACF;;ADsOA;;;;+FAAA;AAKA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACnOD;ADqOC;;;EAGC;EACA;EACA;EACA;ACnOF;ADsOC;EACC;EACA;EACA;ACpOF;ADsOE;EACC;EACA;EACA;ACpOH;ADsOE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACpOH;ADqOG;EACC;ACnOJ;ADwOC;EACC;EACA;EACA;EACA;EACA;ACtOF;ADyOC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;ACvOF;ADyOE;EACC;EACA;ACvOH;AD2OC;EACC;EACA;EACA;EACA;ACzOF;AD2OE;EACC;ACzOH;AD8OC;EAjFD;IAkFE;IACA;IACA;IACA;EC3OA;AACF;;AD8OA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC3OD;;AD+OA;;;;+FAAA;AAMA;EAQC;;IAEC;IACA;ECpPA;AACF,C","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_variables.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_mixins.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_global.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/acf-global.scss"],"sourcesContent":["/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* colors */\n$acf_blue: #2a9bd9;\n$acf_notice: #2a9bd9;\n$acf_error: #d94f4f;\n$acf_success: #49ad52;\n$acf_warning: #fd8d3b;\n\n/* acf-field */\n$field_padding: 15px 12px;\n$field_padding_x: 12px;\n$field_padding_y: 15px;\n$fp: 15px 12px;\n$fy: 15px;\n$fx: 12px;\n\n/* responsive */\n$md: 880px;\n$sm: 640px;\n\n// Admin.\n$wp-card-border: #ccd0d4;\t\t\t// Card border.\n$wp-card-border-1: #d5d9dd;\t\t\t// Card inner border 1: Structural (darker).\n$wp-card-border-2: #eeeeee;\t\t\t// Card inner border 2: Fields (lighter).\n$wp-input-border: #7e8993;\t\t\t// Input border.\n\n// Admin 3.8\n$wp38-card-border: #E5E5E5;\t\t\t// Card border.\n$wp38-card-border-1: #dfdfdf;\t\t// Card inner border 1: Structural (darker).\n$wp38-card-border-2: #eeeeee;\t\t// Card inner border 2: Fields (lighter).\n$wp38-input-border: #dddddd;\t\t// Input border.","/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n@mixin clearfix() {\n\t&:after {\n\t\tdisplay: block;\n\t\tclear: both;\n\t\tcontent: \"\";\n\t}\n}\n\n@mixin border-box() {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n}\n\n@mixin centered() {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n@mixin animate( $properties: 'all' ) {\n\t-webkit-transition: $properties 0.3s ease; // Safari 3.2+, Chrome\n -moz-transition: $properties 0.3s ease; \t// Firefox 4-15\n -o-transition: $properties 0.3s ease; \t\t// Opera 10.5–12.00\n transition: $properties 0.3s ease; \t\t// Firefox 16+, Opera 12.50+\n}\n\n@mixin rtl() {\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t\t@content;\n\t}\n}\n\n@mixin wp-admin( $version: '3-8' ) {\n\t.acf-admin-#{$version} & {\n\t\t@content;\n\t}\n}","@use \"sass:math\";\n/*--------------------------------------------------------------------------------------------\n*\n* Global\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* Horizontal List */\n.acf-hl { padding: 0; margin: 0; list-style: none; display: block; position: relative; }\n.acf-hl > li { float: left; display: block; margin: 0; padding: 0; }\n.acf-hl > li.acf-fr { float: right; }\n\n\n/* Horizontal List: Clearfix */\n.acf-hl:before, .acf-hl:after,\n.acf-bl:before, .acf-bl:after,\n.acf-cf:before, .acf-cf:after {\n content: \"\";\n display: block;\n line-height: 0;\n}\n.acf-hl:after,\n.acf-bl:after,\n.acf-cf:after {\n clear: both;\n}\n\n\n/* Block List */\n.acf-bl { padding: 0; margin: 0; list-style: none; display: block; position: relative; }\n.acf-bl > li { display: block; margin: 0; padding: 0; float: none; }\n\n\n/* Visibility */\n.acf-hidden { \n\tdisplay: none !important;\n}\n.acf-empty {\n\tdisplay: table-cell !important;\n\t* { display: none !important; }\n}\n\n/* Float */\n.acf-fl { float: left; }\n.acf-fr { float: right; }\n.acf-fn { float: none; }\n\n\n/* Align */\n.acf-al { text-align: left; }\n.acf-ar { text-align: right; }\n.acf-ac { text-align: center; }\n\n\n/* loading */\n.acf-loading,\n.acf-spinner {\n\tdisplay: inline-block;\n\theight: 20px;\n\twidth: 20px;\n\tvertical-align: text-top;\n\tbackground: transparent url(../../images/spinner.gif) no-repeat 50% 50%;\n}\n\n\n/* spinner */\n.acf-spinner {\n\tdisplay: none;\n}\n\n.acf-spinner.is-active {\n\tdisplay: inline-block;\n}\n\n\n/* WP < 4.2 */\n.spinner.is-active {\n\tdisplay: inline-block;\n}\n\n\n/* required */\n.acf-required {\n\tcolor: #f00;\n}\n\n\n/* show on hover */\n.acf-soh .acf-soh-target {\n\t-webkit-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n\t-moz-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n\t-o-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s; \t\n\ttransition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s; \n\t\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.acf-soh:hover .acf-soh-target {\n\t-webkit-transition-delay:0s;\n\t-moz-transition-delay:0s;\n\t-o-transition-delay:0s;\n\ttransition-delay:0s;\n\t\n\tvisibility: visible;\n\topacity: 1;\n}\n\n\n/* show if value */\n.show-if-value { display: none; }\n.hide-if-value { display: block; }\n\n.has-value .show-if-value { display: block; }\n.has-value .hide-if-value { display: none; }\n\n/* select2 WP animation fix */\n.select2-search-choice-close {\n\t-webkit-transition: none;\n\t-moz-transition: none;\n\t-o-transition: none; \t\n\ttransition: none;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* tooltip\n*\n*---------------------------------------------------------------------------------------------*/\n\n/* tooltip */\n.acf-tooltip {\n background: #2F353E;\n border-radius: 5px;\n color: #fff;\n padding: 5px 10px;\n position: absolute;\n font-size: 12px;\n line-height: 1.4em;\n z-index: 900000;\n \n \n /* tip */\n &:before {\n\t border: solid;\n\t border-color: transparent;\n\t border-width: 6px;\n\t content: \"\";\n\t position: absolute;\n\t}\n \n \n /* positions */\n &.top {\n\t margin-top: -8px;\n\t \n\t &:before {\n\t\t\ttop: 100%;\n\t\t\tleft: 50%;\n\t\t\tmargin-left: -6px;\n\t\t\tborder-top-color: #2F353E;\n\t\t\tborder-bottom-width: 0;\n\t\t}\n }\n \n &.right {\n\t margin-left: 8px;\n\t \n\t &:before {\n\t\t\ttop: 50%;\n\t\t\tmargin-top: -6px;\n\t\t\tright: 100%;\n\t\t\tborder-right-color: #2F353E;\n\t\t\tborder-left-width: 0;\n\t\t}\n }\n \n &.bottom {\n\t margin-top: 8px;\n\t \n\t &:before {\n\t\t\tbottom: 100%;\n\t\t\tleft: 50%;\n\t\t\tmargin-left: -6px;\n\t\t\tborder-bottom-color: #2F353E;\n\t\t\tborder-top-width: 0;\n\t\t}\n }\n \n &.left {\n\t margin-left: -8px;\n\t \n\t &:before {\n\t\t\ttop: 50%;\n\t\t\tmargin-top: -6px;\n\t\t\tleft: 100%;\n\t\t\tborder-left-color: #2F353E;\n\t\t\tborder-right-width: 0;\n\t\t}\n }\n \n .acf-overlay {\n\t\tz-index: -1;\n\t}\n \n}\n\n\n/* confirm */\n.acf-tooltip.-confirm {\n\tz-index: 900001; // +1 higher than .acf-tooltip\n\t\n\ta {\n\t\ttext-decoration: none;\n\t\tcolor: #9ea3a8;\n\t\t\n\t\t&:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t\t\n\t\t&[data-event=\"confirm\"] {\n\t\t\tcolor: #F55E4F;\n\t\t}\n\t}\n}\n\n.acf-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tcursor: default;\n}\n\n.acf-tooltip-target {\n\tposition: relative;\n\tz-index: 900002; // +1 higher than .acf-tooltip\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* loading\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-loading-overlay {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tcursor: default;\n\tz-index: 99;\n\tbackground: rgba(249, 249, 249, 0.5);\n\t\n\ti {\n\t\t@include centered();\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-icon\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-icon {\n\tdisplay: inline-block;\n\theight: 28px;\n\twidth: 28px;\n\tborder: transparent solid 1px;\n\tborder-radius: 100%;\n\tfont-size: 20px;\n\tline-height: 21px;\n\ttext-align: center;\n\ttext-decoration: none;\n\tvertical-align: top;\n\tbox-sizing: border-box;\n\n\t&:before {\n\t\tfont-family: dashicons;\n\t\tdisplay: inline-block;\n\t\tline-height: 1;\n\t\tfont-weight: 400;\n\t\tfont-style: normal;\n\t\tspeak: none;\n\t\ttext-decoration: inherit;\n\t\ttext-transform: none;\n\t\ttext-rendering: auto;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\twidth: 1em;\n\t\theight: 1em;\n\t\tvertical-align: middle;\n\t\ttext-align: center;\n\t}\n}\n\n// Icon types.\n.acf-icon.-plus:before { \n\tcontent: \"\\f543\";\n}\n.acf-icon.-minus:before { \n\tcontent: \"\\f460\";\n}\n.acf-icon.-cancel:before { \n\tcontent: \"\\f335\";\n}\n.acf-icon.-pencil:before { \n\tcontent: \"\\f464\";\n}\n.acf-icon.-location:before { \n\tcontent: \"\\f230\";\n}\n.acf-icon.-up:before { \n\tcontent: \"\\f343\";\n\n\t// Fix position relative to font-size.\n\tmargin-top: math.div(-2em, 20);\n}\n.acf-icon.-down:before { \n\tcontent: \"\\f347\";\n\n\t// Fix position relative to font-size.\n\tmargin-top: math.div(2em, 20);\n}\n.acf-icon.-left:before { \n\tcontent: \"\\f341\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.acf-icon.-right:before { \n\tcontent: \"\\f345\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(2em, 20);\n}\n.acf-icon.-sync:before { \n\tcontent: \"\\f463\";\n}\n.acf-icon.-globe:before { \n\tcontent: \"\\f319\";\n\n\t// Fix position relative to font-size.\n\tmargin-top: math.div(2em, 20);\n\tmargin-left: math.div(2em, 20);\n}\n.acf-icon.-picture:before { \n\tcontent: \"\\f128\";\n}\n.acf-icon.-check:before { \n\tcontent: \"\\f147\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.acf-icon.-dot-3:before { \n\tcontent: \"\\f533\";\n\n\t// Fix position relative to font-size.\n\tmargin-top: math.div(-2em, 20);\n}\n.acf-icon.-arrow-combo:before { \n\tcontent: \"\\f156\";\n}\n.acf-icon.-arrow-up:before { \n\tcontent: \"\\f142\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.acf-icon.-arrow-down:before { \n\tcontent: \"\\f140\";\n\t\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.acf-icon.-search:before { \n\tcontent: \"\\f179\";\n}\n.acf-icon.-link-ext:before { \n\tcontent: \"\\f504\";\n}\n\n// Duplicate is a custom icon made from pseudo elements.\n.acf-icon.-duplicate {\n\tposition: relative;\n\t&:before,\n\t&:after {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tbox-sizing: border-box;\n\t\twidth: 46%;\n\t\theight: 46%;\n\t\tposition: absolute;\n\t\ttop: 33%;\n\t\tleft: 23%;\n\t}\n\t&:before { \n\t\tmargin: -1px 0 0 1px;\n\t\tbox-shadow: 2px -2px 0px 0px currentColor;\n\t}\n\t&:after {\n\t\tborder: solid 2px currentColor;\n\t}\n}\n\n\n// Collapse icon toggles automatically.\n.acf-icon.-collapse:before {\n\tcontent: \"\\f142\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.-collapsed .acf-icon.-collapse:before {\n\tcontent: \"\\f140\";\n\t\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n\n// displays with grey border.\nspan.acf-icon {\n\tcolor: #555d66;\n\tborder-color: #b5bcc2;\n\tbackground-color: #fff;\t\n}\n\n// also displays with grey border.\na.acf-icon {\n\tcolor: #555d66;\n\tborder-color: #b5bcc2;\n\tbackground-color: #fff;\n\tposition: relative;\n\ttransition: none;\n\tcursor: pointer;\n\t\n\t// State \"hover\".\n\t&:hover {\n\t\tbackground: #f3f5f6;\n\t\tborder-color: #0071a1;\n\t\tcolor: #0071a1;\n\t}\n\t&.-minus:hover,\n\t&.-cancel:hover {\n\t\tbackground: #f7efef;\n\t\tborder-color: #a10000;\n\t\tcolor: #dc3232;\n\t}\n\t\n\t// Fix: Remove WP outline box-shadow.\n\t&:active,\n\t&:focus {\n\t\toutline: none;\n\t\tbox-shadow: none;\n\t}\n}\n\n// Style \"clear\".\n.acf-icon.-clear {\n\tborder-color: transparent;\n\tbackground: transparent;\n\tcolor: #444;\n}\n\n// Style \"light\".\n.acf-icon.light {\n\tborder-color: transparent;\n\tbackground: #F5F5F5;\n\tcolor: #23282d;\n}\n\n// Style \"dark\".\n.acf-icon.dark {\n\tborder-color: transparent !important;\n\tbackground: #23282D;\n\tcolor: #eee;\n}\na.acf-icon.dark {\n\t&:hover {\n\t\tbackground: #191E23;\n\t\tcolor: #00b9eb;\n\t}\n\t&.-minus:hover, \n\t&.-cancel:hover {\n\t\tcolor: #D54E21;\n\t}\n}\n\n// Style \"grey\".\n.acf-icon.grey {\n\tborder-color: transparent !important;\n\tbackground: #b4b9be;\n\tcolor: #fff !important;\n\n\t&:hover {\n\t\tbackground: #00A0D2;\n\t\tcolor: #fff;\n\t}\n\t&.-minus:hover, \n\t&.-cancel:hover {\n\t\tbackground: #32373C;\n\t}\n}\n\n// Size \"small\".\n.acf-icon.small,\n.acf-icon.-small {\n\twidth: 20px;\n\theight: 20px;\n\tline-height: 14px;\n\tfont-size: 14px;\n\n\t// Apply minor transforms to reduce clarirty of \"duplicate\" icon.\n\t// Helps to unify rendering with dashicons.\n\t&.-duplicate {\n\t\t&:before, &:after {\n\t\t\t//transform: rotate(0.1deg) scale(0.9) translate(-5%, 5%);\n\t\t\topacity: 0.8;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-box\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-box {\n background: #FFFFFF;\n border: 1px solid $wp-card-border;\n position: relative;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);\n \n /* title */\n .title {\n\t\tborder-bottom: 1px solid $wp-card-border;\n\t margin: 0;\n\t padding: 15px;\n\t\t\n\t\th3 {\n\t\t\tfont-size: 14px;\n\t\t line-height: 1em;\n\t\t margin: 0;\n\t\t padding: 0;\n\t\t}\n\t}\n\t\n\t\n\t.inner {\n\t padding: 15px;\n\t}\n\t\n\th2 {\n\t\tcolor: #333333;\n\t font-size: 26px;\n\t line-height: 1.25em;\n\t margin: 0.25em 0 0.75em;\n\t padding: 0;\n\t}\n\t\n\th3 {\n\t\tmargin: 1.5em 0 0;\n\t}\n\t\n\tp {\n\t\tmargin-top: 0.5em;\n\t}\n\t\n\ta {\n\t\ttext-decoration: none;\n\t}\n\t\n\ti {\n\t\t&.dashicons-external {\n\t\t\tmargin-top: -1px;\n\t\t}\n\t}\n\t\n\t/* footer */\n\t.footer {\n\t border-top: 1px solid $wp-card-border;\n\t padding: 12px;\n\t font-size: 13px;\n\t line-height: 1.5;\n\t \n\t p {\n\t\t margin: 0;\n\t }\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\tborder-color: $wp38-card-border;\n\t\t.title,\n\t\t.footer {\n\t\t\tborder-color: $wp38-card-border;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-notice\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-notice {\n\tposition: relative;\n\tdisplay: block;\n\tcolor: #fff;\n\tmargin: 5px 0 15px;\n\tpadding: 3px 12px;\n\tbackground: $acf_notice;\n\tborder-left: darken($acf_notice, 10%) solid 3px;\n\t\n\tp {\n\t\tfont-size: 13px;\n\t\tline-height: 1.5;\n\t\tmargin: 0.5em 0;\n\t\ttext-shadow: none;\n\t\tcolor: inherit;\n\t}\n\t\n\t.acf-notice-dismiss {\n\t\tposition: absolute;\n\t\ttop: 9px;\n\t\tright: 12px;\n\t\tbackground: transparent !important;\n\t\tcolor: inherit !important;\n\t\tborder-color: #fff !important;\n\t\topacity: 0.75;\n\t\t&:hover {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\t\n\t// dismiss\n\t&.-dismiss {\n\t\tpadding-right: 40px;\n\t}\n\t\n\t// error\n\t&.-error {\n\t\tbackground: $acf_error;\n\t\tborder-color: darken($acf_error, 10%);\n\t}\n\t\n\t// success\n\t&.-success {\n\t\tbackground: $acf_success;\n\t\tborder-color: darken($acf_success, 10%);\n\t}\n\t\n\t// warning\n\t&.-warning {\n\t\tbackground: $acf_warning;\n\t\tborder-color: darken($acf_warning, 10%);\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-table\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-table {\n\tborder: $wp-card-border solid 1px;\n\tbackground: #fff;\n\tborder-spacing: 0;\n\tborder-radius: 0;\n\ttable-layout: auto;\n\tpadding: 0;\n\tmargin: 0;\n width: 100%;\n clear: both;\n box-sizing: content-box;\n \n /* defaults */\n > tbody > tr,\n\t> thead > tr {\n \t\n \t> th, > td {\n\t\t\tpadding: 8px;\n\t\t\tvertical-align: top;\n\t\t\tbackground: #fff;\n\t\t\ttext-align: left;\n\t\t border-style: solid;\n\t\t font-weight: normal;\n\t\t}\n\t\t\n\t\t> th {\n\t\t\tposition: relative;\n\t\t\tcolor: #333333;\n\t\t}\n\t\t\n }\n \n \n /* thead */\n > thead {\n\t \n\t > tr {\n\t\t \n\t\t\t> th {\n\t\t\t border-color: $wp-card-border-1;\n\t\t\t\tborder-width: 0 0 1px 1px;\n\t\t\t\t\n\t\t\t\t&:first-child {\n\t\t\t\t\tborder-left-width: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t }\n\t \n }\n \n \n /* tbody */\n > tbody {\n\t \n\t > tr {\n\t\t\tz-index: 1;\n\t\t\t\n\t\t\t> td {\n\t\t\t\tborder-color: $wp-card-border-2;\n\t\t\t\tborder-width: 1px 0 0 1px;\n\t\t\t\t\n\t\t\t\t&:first-child {\n\t\t\t\t\tborder-left-width: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t&:first-child > td {\n\t\t\t\tborder-top-width: 0;\n\t\t\t}\n\t\t}\n\n }\n \n \n /* -clear */\n &.-clear {\n\t border: 0 none;\n\t \n\t > tbody > tr,\n\t > thead > tr {\n\t\t \n\t\t > td, >th {\n\t\t\t border: 0 none;\n\t\t\t\tpadding: 4px;\n\t\t }\n\t }\n }\n}\n\n\n/* remove tr */\n.acf-remove-element {\n\t-webkit-transition: all 0.25s ease-out;\n\t-moz-transition: all 0.25s ease-out;\n\t-o-transition: all 0.25s ease-out;\n\ttransition: all 0.25s ease-out;\n\t\n\ttransform: translate(50px, 0);\n\topacity: 0;\n}\n\n\n/* fade-up */\n.acf-fade-up {\n\t-webkit-transition: all 0.25s ease-out;\n\t-moz-transition: all 0.25s ease-out;\n\t-o-transition: all 0.25s ease-out;\n\ttransition: all 0.25s ease-out;\n\t\n\ttransform: translate(0, -10px);\n\topacity: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Fake table\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-thead,\n.acf-tbody,\n.acf-tfoot {\n\twidth: 100%;\n\tpadding: 0;\n\tmargin: 0;\n\t\n\t> li {\n\t\tbox-sizing: border-box;\n\t\tpadding: 8px 12px;\n\t\tfont-size: 12px;\n\t\tline-height: 14px;\n\t}\n}\n\n.acf-thead {\n\tborder-bottom: $wp-card-border solid 1px;\n\tcolor: #23282d;\n\t\n\t> li {\n\t\tfont-size: 14px;\n\t\tline-height: 1.4;\n\t\tfont-weight: bold;\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\tborder-color: $wp38-card-border-1;\n\t}\n}\n\n.acf-tfoot {\n\tbackground: #f5f5f5;\n\tborder-top: $wp-card-border-1 solid 1px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSettings\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-settings-wrap {\n\t\n\t#poststuff {\n\t\tpadding-top: 15px;\n\t}\n\t\n\t.acf-box {\n\t\tmargin: 20px 0;\n\t}\n\t\n\ttable {\n\t\tmargin: 0;\n\t\t\n\t\t.button {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n}\n\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-popup\n*\n*--------------------------------------------------------------------------------------------*/\n\n#acf-popup {\n\tposition: fixed;\n\tz-index: 900000;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\ttext-align: center;\n\t\n\t// bg\n\t.bg {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tz-index: 0;\n\t\tbackground: rgba(0,0,0,0.25);\n\t}\n\t\n\t&:before {\n\t\tcontent: '';\n\t\tdisplay: inline-block;\n\t\theight: 100%;\n\t\tvertical-align: middle;\n\t}\n\t\n\t// box\n\t.acf-popup-box {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tz-index: 1;\n\t\tmin-width: 300px;\n\t\tmin-height: 160px;\n\t\tborder-color: #aaaaaa;\n\t\tbox-shadow: 0 5px 30px -5px rgba(0, 0, 0, 0.25);\n\t\ttext-align: left;\n\t\t@include rtl();\n\t\t\n\t\t// title\n\t\t.title {\n\t\t\tmin-height: 15px;\n\t\t\tline-height: 15px;\n\t\t\t\n\t\t\t// icon\n\t\t\t.acf-icon {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 10px;\n\t\t\t\tright: 10px;\n\t\t\t\t\n\t\t\t\t// rtl\n\t\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\t\tright: auto;\n\t\t\t\t\tleft: 10px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t.inner {\n\t\t\tmin-height: 50px;\n\t\t\t\n\t\t\t// use margin instead of padding to allow inner elements marin to overlap and avoid large hitespace at top/bottom\n\t\t\tpadding: 0;\n\t\t\tmargin: 15px;\n\t\t}\n\t\t\n\t\t// loading\n\t\t.loading {\n\t\t\tposition: absolute;\n\t\t\ttop: 45px;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tz-index: 2;\n\t\t\tbackground: rgba(0,0,0,0.1);\n\t\t\tdisplay: none;\n\t\t\t\n\t\t\ti {\n\t\t\t\t@include centered();\n\t\t\t}\n\t\t}\n\t\t\n\t}\n}\n\n\n// acf-submit\n.acf-submit {\n\tmargin-bottom: 0;\n\tline-height: 28px; // .button height\n\t\n\t// message\n\tspan { \n\t\tfloat: right;\n\t\tcolor: #999;\n\t\t\n\t\t&.-error {\n\t\t\tcolor: #dd4232;\n\t\t}\n\t}\n\t\n\t// button (allow margin between loading)\n\t.button {\n\t\tmargin-right: 5px;\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tupgrade notice\n*\n*--------------------------------------------------------------------------------------------*/\n\n#acf-upgrade-notice {\n\tposition: relative;\n\tbackground: #fff;\n\tborder-left: 4px solid #00a0d2;\n\tpadding: 20px;\n\t@include clearfix();\n\t\n\t.col-content {\n\t\tfloat: left;\n\t\twidth: 55%;\n\t\tpadding-left: 90px;\n\t}\n\t\n\t.col-actions {\n\t\tfloat: right;\n\t\ttext-align: center;\n\t\tpadding: 10px;\n\t}\n\t\n\timg {\n\t\tfloat: left;\n\t\twidth: 70px;\n\t\theight: 70px;\n\t\tmargin: 0 0 0 -90px;\n\t}\n\t\n\th2 {\n\t\tfont-size: 16px;\n\t\tmargin: 2px 0 6.5px;\n\t}\n\t\n\tp {\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t}\n\t\n\t.button:before {\n\t\tmargin-top: 11px;\n\t}\n\t\n\t// mobile\n\t@media screen and (max-width: $sm) {\n\t\t\n\t\t.col-content,\n\t\t.col-actions {\n\t\t\tfloat: none;\n\t\t\tpadding-left: 90px;\n\t\t\twidth: auto;\n\t\t\ttext-align: left;\n\t\t}\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tWelcome\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-wrap {\n\t\n\th1 {\n\t\tmargin-top: 0;\n\t\tpadding-top: 20px;\n\t}\n\t\n\t.about-text {\n\t\tmargin-top: 0.5em;\n\t\tmin-height: 50px;\n\t}\n\t\n\t.about-headline-callout {\n\t font-size: 2.4em;\n\t font-weight: 300;\n\t line-height: 1.3;\n\t margin: 1.1em 0 0.2em;\n\t text-align: center;\n\t}\n\t\n\t.feature-section {\n\t padding: 40px 0;\n\t \n\t h2 {\n\t\t margin-top: 20px;\n\t }\n\t}\n\t\n\t.changelog {\n\t\tlist-style: disc;\n\t\tpadding-left: 15px;\n\t\t\n\t\tli {\n\t\t\tmargin: 0 0 0.75em;\n\t\t}\n\t}\n\t\n\t.acf-three-col {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: space-between;\n\t\t\n\t\t> div {\n\t\t\tflex: 1;\n\t\t\talign-self: flex-start;\n\t\t\tmin-width: 31%;\n\t\t\tmax-width: 31%;\n\t\t\t\n\t\t\t@media screen and (max-width: $md) {\n\t\t\t\tmin-width: 48%;\n\t\t\t}\n\t\t\t\n\t\t\t@media screen and (max-width: $sm) {\n\t\t\t\tmin-width: 100%;\n\t\t\t}\n\t\t}\n\t\t\n\t\th3 .badge {\n\t\t\tdisplay: inline-block;\n\t\t\tvertical-align: top;\n\t\t\tborder-radius: 5px;\n\t\t\tbackground: #fc9700;\n\t\t\tcolor: #fff;\n\t\t\tfont-weight: normal;\n\t\t\tfont-size: 12px;\n\t\t\tpadding: 2px 5px;\n\t\t}\n\t\t\n\t\timg + h3 {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-hl cols\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-hl[data-cols] {\n\tmargin-left: -10px;\n\tmargin-right: -10px;\n\t\n\t> li {\n\t\tpadding: 0 10px;\n\t\t\n\t\t-webkit-box-sizing: border-box;\n\t\t-moz-box-sizing: border-box;\n\t\tbox-sizing: border-box;\n\t}\n\t\n}\n\n\n/* sizes */\n.acf-hl[data-cols=\"2\"] > li { width: 50%; }\n.acf-hl[data-cols=\"3\"] > li { width: 33.333%; }\n.acf-hl[data-cols=\"4\"] > li { width: 25%; }\n\n\n/* mobile */\n@media screen and (max-width: $sm) {\n\t\n\t.acf-hl[data-cols] {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t\tmargin-top: -10px;\n\t\t\n\t\t> li {\n\t\t\twidth: 100% !important;\n\t\t\tpadding: 10px 0 0;\n\t\t}\n\t\t\n\t}\n\t\n}\n\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tmisc\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-actions {\n\ttext-align: right;\n\tz-index: 1;\n\t\n\t/* hover */\n\t&.-hover {\n\t\tposition: absolute;\n\t\tdisplay: none;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tpadding: 5px;\n\t}\n\t\n\t\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\t&.-hover {\n\t\t\tright: auto;\n\t\t\tleft: 0;\n\t\t}\n\t}\n}\n\n\n/* ul compatibility */\nul.acf-actions {\n\tli { float: right; margin-left: 4px; }\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRTL\n*\n*--------------------------------------------------------------------------------------------*/\n\nhtml[dir=\"rtl\"] .acf-fl { float: right; }\nhtml[dir=\"rtl\"] .acf-fr { float: left; }\n\nhtml[dir=\"rtl\"] .acf-hl > li {\n\tfloat: right;\n}\n\nhtml[dir=\"rtl\"] .acf-hl > li.acf-fr {\n float: left;\n}\n\nhtml[dir=\"rtl\"] .acf-icon.logo {\n\tleft: 0;\n\tright: auto;\n}\n\n\nhtml[dir=\"rtl\"] .acf-table thead th {\n\ttext-align: right;\n\tborder-right-width: 1px;\n\tborder-left-width: 0px;\n}\n\nhtml[dir=\"rtl\"] .acf-table > tbody > tr > td {\n\ttext-align: right;\n\tborder-right-width: 1px;\n\tborder-left-width: 0px;\n}\n\nhtml[dir=\"rtl\"] .acf-table > thead > tr > th:first-child, \nhtml[dir=\"rtl\"] .acf-table > tbody > tr > td:first-child {\n\tborder-right-width: 0;\n}\n\nhtml[dir=\"rtl\"] .acf-table > tbody > tr > td.order + td {\n\tborder-right-color: #e1e1e1;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-postbox-columns\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-postbox-columns {\n\t@include clearfix();\n\tposition: relative;\n\tmargin-top: -11px;\n\tmargin-bottom: -12px;\n\tmargin-left: -12px;\n\tmargin-right: (280px - 12px);\n\t\n\t.acf-postbox-main,\n\t.acf-postbox-side {\n\t\t@include border-box();\n\t\tpadding: 0 12px 12px;\n\t}\n\t\n\t.acf-postbox-main {\n\t\tfloat: left;\n\t\twidth: 100%;\n\t}\n\t\n\t.acf-postbox-side {\n\t\tfloat: right;\n\t\twidth: 280px;\n\t\tmargin-right: -280px;\n\t\t\n\t\t&:before {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\twidth: 1px;\n\t\t\theight: 100%;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbackground: $wp-card-border-1;\n\t\t}\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\t.acf-postbox-side:before {\n\t\t\tbackground: $wp38-card-border-1;\n\t\t}\n\t}\n}\n\n/* mobile */\n@media only screen and (max-width: 850px) {\n\t\n\t.acf-postbox-columns {\n\t\tmargin: 0;\n\t\t\n\t\t.acf-postbox-main,\n\t\t.acf-postbox-side {\n\t\t\tfloat: none;\n\t\t\twidth: auto;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t\t\n\t\t.acf-postbox-side {\n\t\t\tmargin-top: 1em;\n\t\t\t\n\t\t\t&:before {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-panel\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-panel {\n\tmargin-top: -1px;\n\tborder-top: 1px solid $wp-card-border-1;\n\tborder-bottom: 1px solid $wp-card-border-1;\n\t\n\t.acf-panel-title {\n\t\tmargin: 0;\n\t\tpadding: 12px;\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t\tfont-size: inherit;\n\t\t\n\t\ti {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\t\n\t.acf-panel-inside {\n\t\tmargin: 0;\n\t\tpadding: 0 12px 12px;\n\t\tdisplay: none;\n\t}\n\t\n\t/* open */\n\t&.-open {\n\t\t\n\t\t.acf-panel-inside {\n\t\t\tdisplay: block;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* inside postbox */\n\t.postbox & {\n\t\tmargin-left: -12px;\n\t\tmargin-right: -12px;\n\t}\n\t\n\t\n\t/* fields */\n\t.acf-field {\n\t\tmargin: 20px 0 0;\n\t\t\n\t\t.acf-label label {\n\t\t\tcolor: #555d66;\n\t\t\tfont-weight: normal;\n\t\t}\n\t\t\n\t\t&:first-child {\n\t\t\tmargin-top: 0;\n\t\t}\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\tborder-color: $wp38-card-border-1;\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Tools\n*\n*---------------------------------------------------------------------------------------------*/\n\n#acf-admin-tools {\n\t\n\t.notice {\n\t\tmargin-top: 10px;\n\t}\n}\n\n.acf-meta-box-wrap {\n\tmargin-top: 10px;\n\t\n\t.postbox {\n\t\t@include border-box();\n\t\t\n\t\t.inside {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t\t\n\t\t.hndle {\n\t\t\tfont-size: 14px;\n\t\t\tpadding: 8px 12px;\n\t\t\tmargin: 0;\n\t\t\tline-height: 1.4;\n\t\t\t\n\t\t\t// Prevent .acf-panel border overlapping.\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t\tcursor: default;\n\t\t}\n\t\t\n\t\t.handlediv,\n\t\t.handle-order-higher,\n\t\t.handle-order-lower {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\t\n\t\n\t/* acf-fields */\n\t.acf-fields {\n\t\tborder: #ebebeb solid 1px;\n\t\tbackground: #fafafa;\n\t\tborder-radius: 3px;\n\t}\n}\n\n\n/* grid */\n.acf-meta-box-wrap.-grid {\n\tmargin-left: 8px;\n\tmargin-right: 8px;\n\t\n\t.postbox {\n\t\tfloat: left;\n\t\tclear: left;\n\t\twidth: 50%;\n\t\tmargin: 0 0 16px;\n\t\t\n\t\t&:nth-child(odd) {\n\t\t\tmargin-left: -8px;\n\t\t}\n\t\t\n\t\t&:nth-child(even) {\n\t\t\tfloat: right;\n\t\t\tclear: right;\n\t\t\tmargin-right: -8px;\n\t\t}\n\t}\n}\n\n\n/* mobile */\n@media only screen and (max-width: 850px) {\n\t\n\t.acf-meta-box-wrap.-grid {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t\t\n\t\t.postbox {\n\t\t\tmargin-left: 0 !important;\n\t\t\tmargin-right: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n}\n\n\n/* export tool */\n#acf-admin-tool-export {\n\t\n\tp {\n\t\tmax-width: 800px;\n\t}\n\t\n\tul {\n\t\tcolumn-width: 200px;\n\t}\n\t\n\t.acf-postbox-side .button {\n\t\tmargin: 0;\n\t\twidth: 100%;\n\t}\n\t\n\ttextarea {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\tmin-height: 500px;\n\t\t\n\t\tbackground: #fafafa;\n\t\tbox-shadow: none;\n\t\tpadding: 7px;\n\t\tborder-radius: 3px;\n\t}\n\t\n\t/* panel: selection */\n\t.acf-panel-selection {\n\t\t.acf-label {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Navigation\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-toolbar {\n\tbackground: #fff;\n\tborder-bottom: 1px solid #ccd0d4;\n\tpadding-top: 10px;\n\t\n\th2 {\n\t\tfont-size: 14px;\n\t\tline-height: math.div(36, 14);\n\t\tdisplay: inline-block;\n\t\tpadding: 5px 0;\n\t\tmargin: 0 10px 0 0;\n\t\t\n\t\ti {\n\t\t\tvertical-align: middle;\n\t\t\tcolor: #babbbc;\n\t\t}\n\t}\n\t\n\t.acf-tab {\n\t\tdisplay: inline-block;\n\t\tfont-size: 14px;\n\t\tline-height: math.div(36, 14);\n\t\tpadding: 5px;\n\t\tmargin: 0 5px;\n\t\ttext-decoration: none;\n\t\tcolor: inherit;\n\t\t\n\t\t&.is-active {\n\t\t\tborder-bottom: #0071a4 solid 3px;\n\t\t\tpadding-bottom: 10px;\n\t\t}\n\t\t&:hover {\n\t\t\tcolor: #00a0d2;\n\t\t}\n\t\t&:focus {\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n\n\ta.btn-upgrade {\n\t\tdisplay: inline-flex;\n\t\tbackground: #dee3ff;\n\t\tborder: 1px solid #c6d3f8;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 0.25rem;\n\t\tpadding: 0 0.75rem;\n\t\tcursor:pointer;\n\t\tvertical-align: middle;\n\t\tmargin-top: -6px;\n\t\tmargin-left: 20px;\n\t\ttext-decoration: none;\n\n\t\t&:hover {\n\t\t\tbackground: #d1ddff;\n\t\t\tborder-color: #b9caf9;\n\t\t}\n\n\t\tp {\n\t\t\tfont-family: system-ui;\n\t\t\tfont-weight: 600;\n\t\t\tletter-spacing: 0.2;\n\t\t\tline-height: 1;\n\t\t\tfont-size: 0.625rem;\n\t\t\ttext-transform: uppercase;\n\t\t\tcolor: #425fdd;\n\t\t\tmargin-left: 0.65rem;\n\t\t}\n\t}\n\n\t// Within wpcontent.\n\t#wpcontent & {\n\t\tmargin-left: -20px;\n\t\tpadding-left: 20px;\n\t}\n\n\t// Mobile\n\t@media screen and (max-width: 600px) {\n\t\t& {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field Groups\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-field-groups {\n\t\n\t// Hide tablenav top.\n\t.tablenav.top {\n\t\tdisplay: none;\n\t}\n\t\n\t// Fix margin due to hidden tablenav.\n\t.subsubsub {\n\t\tmargin-bottom: 3px;\n\t}\n\t\n\t// table.\n\t.wp-list-table {\n\t\t\n\t\t// Use border-box for total width control.\n\t\ttd, th {\n\t\t\tbox-sizing: border-box;\n\t\t}\n\t\t\n\t\t// Add subtle hover background to define row.\n\t\ttr:hover {\n\t\t\tbackground: #f7f7f7;\n\t\t}\n\t\t\n\t\t// Use less specific identifier to inherit mobile styling.\n\t\t@media screen and ( min-width: 782px ) {\n\t\t\t.column-acf-count { width: 10%; }\n\t\t}\n\t\t\n\t\t.row-actions {\n\t\t\tspan.file {\n\t\t\t\tdisplay: block;\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t.acf-primary-text {\n\t\t\n\t}\n\t.acf-secondary-text {\n\t\tcolor: #a0a5aa;\n\t}\n}\n.acf-multi-dashicon {\n\tposition: relative;\n\tz-index: 1;\n\t\n\t&:before,\n\t&:after {\n\t\twidth: 18px;\n\t\theight: 18px;\n\t\tline-height: 18px;\n\t\tfont-size: 14px;\n\t\tbackground: #fff;\n\t\tborder: #7e8993 solid 1px;\n\t\tborder-radius: 2px;\n\t\tdisplay: block;\n\t}\n\t&:after {\n\t\tcontent: \"\";\n\t\tposition: absolute;\n\t\ttop: -3px;\n\t\tleft: -3px;\n\t\tz-index: -1;\n\t\tbackground: #e7e7e7;\n\t\t\n\t}\n}\n\n// CSS only Tooltip.\n.acf-css-tooltip {\n\tposition: relative;\n\t&:before {\n\t\tcontent: attr(aria-label);\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tz-index: 999;\n\t\t\n\t\tbottom: 100%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, -8px);\n\t\t\n\t\tbackground: #191e23;\n\t\tborder-radius: 2px;\n\t\tpadding: 5px 10px;\n\t\t\n\t\tcolor: #fff;\n\t font-size: 12px;\n\t line-height: 1.4em;\n\t white-space: pre;\n\t}\n &:after {\n\t content: \"\";\n\t display: none;\n\t position: absolute;\n\t z-index: 998;\n\t \n\t bottom: 100%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, 4px);\n\t\t\n\t border: solid 6px transparent;\n\t border-top-color: #191e23;\n\t}\n\t\n\t&:hover, &:focus {\n\t\t&:before, &:after {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n// Diff modal.\n.acf-diff {\n\t\n\t.acf-diff-title {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: 40px;\n\t\tpadding: 14px 16px;\n\t\tbackground: #f3f3f3;\n\t\tborder-bottom: #dddddd solid 1px;\n\t\t\n\t\tstrong {\n\t\t\tfont-size: 14px;\n\t\t\tdisplay: block;\n\t\t}\n\n\t\t.acf-diff-title-left,\n\t\t.acf-diff-title-right {\n\t\t\twidth: 50%;\n\t\t\tfloat: left;\n\t\t}\n\t}\n\t\n\t.acf-diff-content {\n\t\tposition: absolute;\n\t\ttop: 70px;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\toverflow: auto;\n\t}\n\t\n\ttable.diff {\n\t\tborder-spacing: 0;\n\t\t\n\t\tcol.diffsplit.middle {\n\t\t\twidth: 0;\n\t\t}\n\n\t\ttd, th {\n\t\t\tpadding-top: 0.25em;\n\t\t\tpadding-bottom: 0.25em;\n\t\t}\n\t\t\n\t\t// Fix WP 5.7 conflicting CSS.\n\t\ttr td:nth-child(2) {\n\t\t\twidth: auto;\n\t\t}\n\t\t\n\t\ttd:nth-child(3) {\n\t\t\tborder-left: #dddddd solid 1px;\n\t\t}\n\t}\n\n\t// Mobile\n\t@media screen and (max-width: 600px) {\n\t\t.acf-diff-title {\n\t\t\theight: 70px;\n\t\t}\n\t\t.acf-diff-content {\n\t\t\ttop: 100px;\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Modal\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-modal {\n\tposition: fixed;\n\ttop: 30px;\n\tleft: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tz-index: 160000;\n\tbox-shadow: 0 5px 15px rgba(0, 0, 0, 0.7);\n\tbackground: #fcfcfc;\n\t\n\t.acf-modal-title,\n\t.acf-modal-content,\n\t.acf-modal-toolbar {\n\t\tbox-sizing: border-box;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\t\n\t.acf-modal-title {\n\t\theight: 50px;\n\t\ttop: 0;\n\t\tborder-bottom: 1px solid #ddd;\n\t\t\n\t\th2 {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0 16px;\n\t\t\tline-height: 50px;\n\t\t}\n\t\t.acf-modal-close {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\theight: 50px;\n\t\t\twidth: 50px;\n\t\t\tborder: none;\n\t\t\tborder-left: 1px solid #ddd;\n\t\t\tbackground: transparent;\n\t\t\tcursor: pointer;\n\t\t\tcolor: #666;\n\t\t\t&:hover {\n\t\t\t\tcolor: #00a0d2;\t\n\t\t\t}\n\t\t}\n\t}\n\t\n\t.acf-modal-content {\n\t\ttop: 50px;\n\t\tbottom: 60px;\n\t\tbackground: #fff;\n\t\toverflow: auto;\n\t\tpadding: 16px;\n\t}\n\t\n\t.acf-modal-feedback {\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tmargin: -10px 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\ttext-align: center;\n\t\topacity: 0.75;\n\t\t\n\t\t&.error {\n\t\t\topacity: 1;\n\t\t\tcolor: #b52727;\n\t\t}\n\t}\n\t\n\t.acf-modal-toolbar {\n\t\theight: 60px;\n\t\tbottom: 0;\n\t\tpadding: 15px 16px;\n\t\tborder-top: 1px solid #ddd;\n\t\t\n\t\t.button {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\t\n\t// Responsive.\n\t@media only screen and (max-width: 640px) {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t}\n\t\n}\n.acf-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tbackground: #000;\n\topacity: 0.7;\n\tz-index: 159900;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Retina\n*\n*---------------------------------------------------------------------------------------------*/\n\n@media\nonly screen and (-webkit-min-device-pixel-ratio: 2),\nonly screen and ( min--moz-device-pixel-ratio: 2),\nonly screen and ( -o-min-device-pixel-ratio: 2/1),\nonly screen and ( min-device-pixel-ratio: 2),\nonly screen and ( min-resolution: 192dpi),\nonly screen and ( min-resolution: 2dppx) { \n\t\n\t.acf-loading,\n\t.acf-spinner {\n\t\tbackground-image: url(../../images/spinner@2x.gif);\n\t\tbackground-size: 20px 20px;\n\t}\n\t\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n/* colors */\n/* acf-field */\n/* responsive */\n/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n/*--------------------------------------------------------------------------------------------\n*\n* Global\n*\n*--------------------------------------------------------------------------------------------*/\n/* Horizontal List */\n.acf-hl {\n padding: 0;\n margin: 0;\n list-style: none;\n display: block;\n position: relative;\n}\n\n.acf-hl > li {\n float: left;\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.acf-hl > li.acf-fr {\n float: right;\n}\n\n/* Horizontal List: Clearfix */\n.acf-hl:before, .acf-hl:after,\n.acf-bl:before, .acf-bl:after,\n.acf-cf:before, .acf-cf:after {\n content: \"\";\n display: block;\n line-height: 0;\n}\n\n.acf-hl:after,\n.acf-bl:after,\n.acf-cf:after {\n clear: both;\n}\n\n/* Block List */\n.acf-bl {\n padding: 0;\n margin: 0;\n list-style: none;\n display: block;\n position: relative;\n}\n\n.acf-bl > li {\n display: block;\n margin: 0;\n padding: 0;\n float: none;\n}\n\n/* Visibility */\n.acf-hidden {\n display: none !important;\n}\n\n.acf-empty {\n display: table-cell !important;\n}\n.acf-empty * {\n display: none !important;\n}\n\n/* Float */\n.acf-fl {\n float: left;\n}\n\n.acf-fr {\n float: right;\n}\n\n.acf-fn {\n float: none;\n}\n\n/* Align */\n.acf-al {\n text-align: left;\n}\n\n.acf-ar {\n text-align: right;\n}\n\n.acf-ac {\n text-align: center;\n}\n\n/* loading */\n.acf-loading,\n.acf-spinner {\n display: inline-block;\n height: 20px;\n width: 20px;\n vertical-align: text-top;\n background: transparent url(../../images/spinner.gif) no-repeat 50% 50%;\n}\n\n/* spinner */\n.acf-spinner {\n display: none;\n}\n\n.acf-spinner.is-active {\n display: inline-block;\n}\n\n/* WP < 4.2 */\n.spinner.is-active {\n display: inline-block;\n}\n\n/* required */\n.acf-required {\n color: #f00;\n}\n\n/* show on hover */\n.acf-soh .acf-soh-target {\n -webkit-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n -moz-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n -o-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n visibility: hidden;\n opacity: 0;\n}\n\n.acf-soh:hover .acf-soh-target {\n -webkit-transition-delay: 0s;\n -moz-transition-delay: 0s;\n -o-transition-delay: 0s;\n transition-delay: 0s;\n visibility: visible;\n opacity: 1;\n}\n\n/* show if value */\n.show-if-value {\n display: none;\n}\n\n.hide-if-value {\n display: block;\n}\n\n.has-value .show-if-value {\n display: block;\n}\n\n.has-value .hide-if-value {\n display: none;\n}\n\n/* select2 WP animation fix */\n.select2-search-choice-close {\n -webkit-transition: none;\n -moz-transition: none;\n -o-transition: none;\n transition: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* tooltip\n*\n*---------------------------------------------------------------------------------------------*/\n/* tooltip */\n.acf-tooltip {\n background: #2F353E;\n border-radius: 5px;\n color: #fff;\n padding: 5px 10px;\n position: absolute;\n font-size: 12px;\n line-height: 1.4em;\n z-index: 900000;\n /* tip */\n /* positions */\n}\n.acf-tooltip:before {\n border: solid;\n border-color: transparent;\n border-width: 6px;\n content: \"\";\n position: absolute;\n}\n.acf-tooltip.top {\n margin-top: -8px;\n}\n.acf-tooltip.top:before {\n top: 100%;\n left: 50%;\n margin-left: -6px;\n border-top-color: #2F353E;\n border-bottom-width: 0;\n}\n.acf-tooltip.right {\n margin-left: 8px;\n}\n.acf-tooltip.right:before {\n top: 50%;\n margin-top: -6px;\n right: 100%;\n border-right-color: #2F353E;\n border-left-width: 0;\n}\n.acf-tooltip.bottom {\n margin-top: 8px;\n}\n.acf-tooltip.bottom:before {\n bottom: 100%;\n left: 50%;\n margin-left: -6px;\n border-bottom-color: #2F353E;\n border-top-width: 0;\n}\n.acf-tooltip.left {\n margin-left: -8px;\n}\n.acf-tooltip.left:before {\n top: 50%;\n margin-top: -6px;\n left: 100%;\n border-left-color: #2F353E;\n border-right-width: 0;\n}\n.acf-tooltip .acf-overlay {\n z-index: -1;\n}\n\n/* confirm */\n.acf-tooltip.-confirm {\n z-index: 900001;\n}\n.acf-tooltip.-confirm a {\n text-decoration: none;\n color: #9ea3a8;\n}\n.acf-tooltip.-confirm a:hover {\n text-decoration: underline;\n}\n.acf-tooltip.-confirm a[data-event=confirm] {\n color: #F55E4F;\n}\n\n.acf-overlay {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n cursor: default;\n}\n\n.acf-tooltip-target {\n position: relative;\n z-index: 900002;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* loading\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-loading-overlay {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n cursor: default;\n z-index: 99;\n background: rgba(249, 249, 249, 0.5);\n}\n.acf-loading-overlay i {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-icon\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-icon {\n display: inline-block;\n height: 28px;\n width: 28px;\n border: transparent solid 1px;\n border-radius: 100%;\n font-size: 20px;\n line-height: 21px;\n text-align: center;\n text-decoration: none;\n vertical-align: top;\n box-sizing: border-box;\n}\n.acf-icon:before {\n font-family: dashicons;\n display: inline-block;\n line-height: 1;\n font-weight: 400;\n font-style: normal;\n speak: none;\n text-decoration: inherit;\n text-transform: none;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 1em;\n height: 1em;\n vertical-align: middle;\n text-align: center;\n}\n\n.acf-icon.-plus:before {\n content: \"\\f543\";\n}\n\n.acf-icon.-minus:before {\n content: \"\\f460\";\n}\n\n.acf-icon.-cancel:before {\n content: \"\\f335\";\n}\n\n.acf-icon.-pencil:before {\n content: \"\\f464\";\n}\n\n.acf-icon.-location:before {\n content: \"\\f230\";\n}\n\n.acf-icon.-up:before {\n content: \"\\f343\";\n margin-top: -0.1em;\n}\n\n.acf-icon.-down:before {\n content: \"\\f347\";\n margin-top: 0.1em;\n}\n\n.acf-icon.-left:before {\n content: \"\\f341\";\n margin-left: -0.1em;\n}\n\n.acf-icon.-right:before {\n content: \"\\f345\";\n margin-left: 0.1em;\n}\n\n.acf-icon.-sync:before {\n content: \"\\f463\";\n}\n\n.acf-icon.-globe:before {\n content: \"\\f319\";\n margin-top: 0.1em;\n margin-left: 0.1em;\n}\n\n.acf-icon.-picture:before {\n content: \"\\f128\";\n}\n\n.acf-icon.-check:before {\n content: \"\\f147\";\n margin-left: -0.1em;\n}\n\n.acf-icon.-dot-3:before {\n content: \"\\f533\";\n margin-top: -0.1em;\n}\n\n.acf-icon.-arrow-combo:before {\n content: \"\\f156\";\n}\n\n.acf-icon.-arrow-up:before {\n content: \"\\f142\";\n margin-left: -0.1em;\n}\n\n.acf-icon.-arrow-down:before {\n content: \"\\f140\";\n margin-left: -0.1em;\n}\n\n.acf-icon.-search:before {\n content: \"\\f179\";\n}\n\n.acf-icon.-link-ext:before {\n content: \"\\f504\";\n}\n\n.acf-icon.-duplicate {\n position: relative;\n}\n.acf-icon.-duplicate:before, .acf-icon.-duplicate:after {\n content: \"\";\n display: block;\n box-sizing: border-box;\n width: 46%;\n height: 46%;\n position: absolute;\n top: 33%;\n left: 23%;\n}\n.acf-icon.-duplicate:before {\n margin: -1px 0 0 1px;\n box-shadow: 2px -2px 0px 0px currentColor;\n}\n.acf-icon.-duplicate:after {\n border: solid 2px currentColor;\n}\n\n.acf-icon.-collapse:before {\n content: \"\\f142\";\n margin-left: -0.1em;\n}\n\n.-collapsed .acf-icon.-collapse:before {\n content: \"\\f140\";\n margin-left: -0.1em;\n}\n\nspan.acf-icon {\n color: #555d66;\n border-color: #b5bcc2;\n background-color: #fff;\n}\n\na.acf-icon {\n color: #555d66;\n border-color: #b5bcc2;\n background-color: #fff;\n position: relative;\n transition: none;\n cursor: pointer;\n}\na.acf-icon:hover {\n background: #f3f5f6;\n border-color: #0071a1;\n color: #0071a1;\n}\na.acf-icon.-minus:hover, a.acf-icon.-cancel:hover {\n background: #f7efef;\n border-color: #a10000;\n color: #dc3232;\n}\na.acf-icon:active, a.acf-icon:focus {\n outline: none;\n box-shadow: none;\n}\n\n.acf-icon.-clear {\n border-color: transparent;\n background: transparent;\n color: #444;\n}\n\n.acf-icon.light {\n border-color: transparent;\n background: #F5F5F5;\n color: #23282d;\n}\n\n.acf-icon.dark {\n border-color: transparent !important;\n background: #23282D;\n color: #eee;\n}\n\na.acf-icon.dark:hover {\n background: #191E23;\n color: #00b9eb;\n}\na.acf-icon.dark.-minus:hover, a.acf-icon.dark.-cancel:hover {\n color: #D54E21;\n}\n\n.acf-icon.grey {\n border-color: transparent !important;\n background: #b4b9be;\n color: #fff !important;\n}\n.acf-icon.grey:hover {\n background: #00A0D2;\n color: #fff;\n}\n.acf-icon.grey.-minus:hover, .acf-icon.grey.-cancel:hover {\n background: #32373C;\n}\n\n.acf-icon.small,\n.acf-icon.-small {\n width: 20px;\n height: 20px;\n line-height: 14px;\n font-size: 14px;\n}\n.acf-icon.small.-duplicate:before, .acf-icon.small.-duplicate:after,\n.acf-icon.-small.-duplicate:before,\n.acf-icon.-small.-duplicate:after {\n opacity: 0.8;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-box\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-box {\n background: #FFFFFF;\n border: 1px solid #ccd0d4;\n position: relative;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);\n /* title */\n /* footer */\n}\n.acf-box .title {\n border-bottom: 1px solid #ccd0d4;\n margin: 0;\n padding: 15px;\n}\n.acf-box .title h3 {\n font-size: 14px;\n line-height: 1em;\n margin: 0;\n padding: 0;\n}\n.acf-box .inner {\n padding: 15px;\n}\n.acf-box h2 {\n color: #333333;\n font-size: 26px;\n line-height: 1.25em;\n margin: 0.25em 0 0.75em;\n padding: 0;\n}\n.acf-box h3 {\n margin: 1.5em 0 0;\n}\n.acf-box p {\n margin-top: 0.5em;\n}\n.acf-box a {\n text-decoration: none;\n}\n.acf-box i.dashicons-external {\n margin-top: -1px;\n}\n.acf-box .footer {\n border-top: 1px solid #ccd0d4;\n padding: 12px;\n font-size: 13px;\n line-height: 1.5;\n}\n.acf-box .footer p {\n margin: 0;\n}\n.acf-admin-3-8 .acf-box {\n border-color: #E5E5E5;\n}\n.acf-admin-3-8 .acf-box .title,\n.acf-admin-3-8 .acf-box .footer {\n border-color: #E5E5E5;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-notice\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-notice {\n position: relative;\n display: block;\n color: #fff;\n margin: 5px 0 15px;\n padding: 3px 12px;\n background: #2a9bd9;\n border-left: #1f7db1 solid 3px;\n}\n.acf-notice p {\n font-size: 13px;\n line-height: 1.5;\n margin: 0.5em 0;\n text-shadow: none;\n color: inherit;\n}\n.acf-notice .acf-notice-dismiss {\n position: absolute;\n top: 9px;\n right: 12px;\n background: transparent !important;\n color: inherit !important;\n border-color: #fff !important;\n opacity: 0.75;\n}\n.acf-notice .acf-notice-dismiss:hover {\n opacity: 1;\n}\n.acf-notice.-dismiss {\n padding-right: 40px;\n}\n.acf-notice.-error {\n background: #d94f4f;\n border-color: #c92c2c;\n}\n.acf-notice.-success {\n background: #49ad52;\n border-color: #3a8941;\n}\n.acf-notice.-warning {\n background: #fd8d3b;\n border-color: #fc7009;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-table\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-table {\n border: #ccd0d4 solid 1px;\n background: #fff;\n border-spacing: 0;\n border-radius: 0;\n table-layout: auto;\n padding: 0;\n margin: 0;\n width: 100%;\n clear: both;\n box-sizing: content-box;\n /* defaults */\n /* thead */\n /* tbody */\n /* -clear */\n}\n.acf-table > tbody > tr > th, .acf-table > tbody > tr > td,\n.acf-table > thead > tr > th,\n.acf-table > thead > tr > td {\n padding: 8px;\n vertical-align: top;\n background: #fff;\n text-align: left;\n border-style: solid;\n font-weight: normal;\n}\n.acf-table > tbody > tr > th,\n.acf-table > thead > tr > th {\n position: relative;\n color: #333333;\n}\n.acf-table > thead > tr > th {\n border-color: #d5d9dd;\n border-width: 0 0 1px 1px;\n}\n.acf-table > thead > tr > th:first-child {\n border-left-width: 0;\n}\n.acf-table > tbody > tr {\n z-index: 1;\n}\n.acf-table > tbody > tr > td {\n border-color: #eeeeee;\n border-width: 1px 0 0 1px;\n}\n.acf-table > tbody > tr > td:first-child {\n border-left-width: 0;\n}\n.acf-table > tbody > tr:first-child > td {\n border-top-width: 0;\n}\n.acf-table.-clear {\n border: 0 none;\n}\n.acf-table.-clear > tbody > tr > td, .acf-table.-clear > tbody > tr > th,\n.acf-table.-clear > thead > tr > td,\n.acf-table.-clear > thead > tr > th {\n border: 0 none;\n padding: 4px;\n}\n\n/* remove tr */\n.acf-remove-element {\n -webkit-transition: all 0.25s ease-out;\n -moz-transition: all 0.25s ease-out;\n -o-transition: all 0.25s ease-out;\n transition: all 0.25s ease-out;\n transform: translate(50px, 0);\n opacity: 0;\n}\n\n/* fade-up */\n.acf-fade-up {\n -webkit-transition: all 0.25s ease-out;\n -moz-transition: all 0.25s ease-out;\n -o-transition: all 0.25s ease-out;\n transition: all 0.25s ease-out;\n transform: translate(0, -10px);\n opacity: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Fake table\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-thead,\n.acf-tbody,\n.acf-tfoot {\n width: 100%;\n padding: 0;\n margin: 0;\n}\n.acf-thead > li,\n.acf-tbody > li,\n.acf-tfoot > li {\n box-sizing: border-box;\n padding: 8px 12px;\n font-size: 12px;\n line-height: 14px;\n}\n\n.acf-thead {\n border-bottom: #ccd0d4 solid 1px;\n color: #23282d;\n}\n.acf-thead > li {\n font-size: 14px;\n line-height: 1.4;\n font-weight: bold;\n}\n.acf-admin-3-8 .acf-thead {\n border-color: #dfdfdf;\n}\n\n.acf-tfoot {\n background: #f5f5f5;\n border-top: #d5d9dd solid 1px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSettings\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-settings-wrap #poststuff {\n padding-top: 15px;\n}\n.acf-settings-wrap .acf-box {\n margin: 20px 0;\n}\n.acf-settings-wrap table {\n margin: 0;\n}\n.acf-settings-wrap table .button {\n vertical-align: middle;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-popup\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-popup {\n position: fixed;\n z-index: 900000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n text-align: center;\n}\n#acf-popup .bg {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 0;\n background: rgba(0, 0, 0, 0.25);\n}\n#acf-popup:before {\n content: \"\";\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n}\n#acf-popup .acf-popup-box {\n display: inline-block;\n vertical-align: middle;\n z-index: 1;\n min-width: 300px;\n min-height: 160px;\n border-color: #aaaaaa;\n box-shadow: 0 5px 30px -5px rgba(0, 0, 0, 0.25);\n text-align: left;\n}\nhtml[dir=rtl] #acf-popup .acf-popup-box {\n text-align: right;\n}\n#acf-popup .acf-popup-box .title {\n min-height: 15px;\n line-height: 15px;\n}\n#acf-popup .acf-popup-box .title .acf-icon {\n position: absolute;\n top: 10px;\n right: 10px;\n}\nhtml[dir=rtl] #acf-popup .acf-popup-box .title .acf-icon {\n right: auto;\n left: 10px;\n}\n#acf-popup .acf-popup-box .inner {\n min-height: 50px;\n padding: 0;\n margin: 15px;\n}\n#acf-popup .acf-popup-box .loading {\n position: absolute;\n top: 45px;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 2;\n background: rgba(0, 0, 0, 0.1);\n display: none;\n}\n#acf-popup .acf-popup-box .loading i {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.acf-submit {\n margin-bottom: 0;\n line-height: 28px;\n}\n.acf-submit span {\n float: right;\n color: #999;\n}\n.acf-submit span.-error {\n color: #dd4232;\n}\n.acf-submit .button {\n margin-right: 5px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tupgrade notice\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-upgrade-notice {\n position: relative;\n background: #fff;\n border-left: 4px solid #00a0d2;\n padding: 20px;\n}\n#acf-upgrade-notice:after {\n display: block;\n clear: both;\n content: \"\";\n}\n#acf-upgrade-notice .col-content {\n float: left;\n width: 55%;\n padding-left: 90px;\n}\n#acf-upgrade-notice .col-actions {\n float: right;\n text-align: center;\n padding: 10px;\n}\n#acf-upgrade-notice img {\n float: left;\n width: 70px;\n height: 70px;\n margin: 0 0 0 -90px;\n}\n#acf-upgrade-notice h2 {\n font-size: 16px;\n margin: 2px 0 6.5px;\n}\n#acf-upgrade-notice p {\n padding: 0;\n margin: 0;\n}\n#acf-upgrade-notice .button:before {\n margin-top: 11px;\n}\n@media screen and (max-width: 640px) {\n #acf-upgrade-notice .col-content,\n#acf-upgrade-notice .col-actions {\n float: none;\n padding-left: 90px;\n width: auto;\n text-align: left;\n }\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tWelcome\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-wrap h1 {\n margin-top: 0;\n padding-top: 20px;\n}\n.acf-wrap .about-text {\n margin-top: 0.5em;\n min-height: 50px;\n}\n.acf-wrap .about-headline-callout {\n font-size: 2.4em;\n font-weight: 300;\n line-height: 1.3;\n margin: 1.1em 0 0.2em;\n text-align: center;\n}\n.acf-wrap .feature-section {\n padding: 40px 0;\n}\n.acf-wrap .feature-section h2 {\n margin-top: 20px;\n}\n.acf-wrap .changelog {\n list-style: disc;\n padding-left: 15px;\n}\n.acf-wrap .changelog li {\n margin: 0 0 0.75em;\n}\n.acf-wrap .acf-three-col {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n}\n.acf-wrap .acf-three-col > div {\n flex: 1;\n align-self: flex-start;\n min-width: 31%;\n max-width: 31%;\n}\n@media screen and (max-width: 880px) {\n .acf-wrap .acf-three-col > div {\n min-width: 48%;\n }\n}\n@media screen and (max-width: 640px) {\n .acf-wrap .acf-three-col > div {\n min-width: 100%;\n }\n}\n.acf-wrap .acf-three-col h3 .badge {\n display: inline-block;\n vertical-align: top;\n border-radius: 5px;\n background: #fc9700;\n color: #fff;\n font-weight: normal;\n font-size: 12px;\n padding: 2px 5px;\n}\n.acf-wrap .acf-three-col img + h3 {\n margin-top: 0.5em;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-hl cols\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-hl[data-cols] {\n margin-left: -10px;\n margin-right: -10px;\n}\n.acf-hl[data-cols] > li {\n padding: 0 10px;\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n\n/* sizes */\n.acf-hl[data-cols=\"2\"] > li {\n width: 50%;\n}\n\n.acf-hl[data-cols=\"3\"] > li {\n width: 33.333%;\n}\n\n.acf-hl[data-cols=\"4\"] > li {\n width: 25%;\n}\n\n/* mobile */\n@media screen and (max-width: 640px) {\n .acf-hl[data-cols] {\n margin-left: 0;\n margin-right: 0;\n margin-top: -10px;\n }\n .acf-hl[data-cols] > li {\n width: 100% !important;\n padding: 10px 0 0;\n }\n}\n/*--------------------------------------------------------------------------------------------\n*\n*\tmisc\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-actions {\n text-align: right;\n z-index: 1;\n /* hover */\n /* rtl */\n}\n.acf-actions.-hover {\n position: absolute;\n display: none;\n top: 0;\n right: 0;\n padding: 5px;\n}\nhtml[dir=rtl] .acf-actions.-hover {\n right: auto;\n left: 0;\n}\n\n/* ul compatibility */\nul.acf-actions li {\n float: right;\n margin-left: 4px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRTL\n*\n*--------------------------------------------------------------------------------------------*/\nhtml[dir=rtl] .acf-fl {\n float: right;\n}\n\nhtml[dir=rtl] .acf-fr {\n float: left;\n}\n\nhtml[dir=rtl] .acf-hl > li {\n float: right;\n}\n\nhtml[dir=rtl] .acf-hl > li.acf-fr {\n float: left;\n}\n\nhtml[dir=rtl] .acf-icon.logo {\n left: 0;\n right: auto;\n}\n\nhtml[dir=rtl] .acf-table thead th {\n text-align: right;\n border-right-width: 1px;\n border-left-width: 0px;\n}\n\nhtml[dir=rtl] .acf-table > tbody > tr > td {\n text-align: right;\n border-right-width: 1px;\n border-left-width: 0px;\n}\n\nhtml[dir=rtl] .acf-table > thead > tr > th:first-child,\nhtml[dir=rtl] .acf-table > tbody > tr > td:first-child {\n border-right-width: 0;\n}\n\nhtml[dir=rtl] .acf-table > tbody > tr > td.order + td {\n border-right-color: #e1e1e1;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-postbox-columns\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-postbox-columns {\n position: relative;\n margin-top: -11px;\n margin-bottom: -12px;\n margin-left: -12px;\n margin-right: 268px;\n}\n.acf-postbox-columns:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-postbox-columns .acf-postbox-main,\n.acf-postbox-columns .acf-postbox-side {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 12px 12px;\n}\n.acf-postbox-columns .acf-postbox-main {\n float: left;\n width: 100%;\n}\n.acf-postbox-columns .acf-postbox-side {\n float: right;\n width: 280px;\n margin-right: -280px;\n}\n.acf-postbox-columns .acf-postbox-side:before {\n content: \"\";\n display: block;\n position: absolute;\n width: 1px;\n height: 100%;\n top: 0;\n right: 0;\n background: #d5d9dd;\n}\n.acf-admin-3-8 .acf-postbox-columns .acf-postbox-side:before {\n background: #dfdfdf;\n}\n\n/* mobile */\n@media only screen and (max-width: 850px) {\n .acf-postbox-columns {\n margin: 0;\n }\n .acf-postbox-columns .acf-postbox-main,\n.acf-postbox-columns .acf-postbox-side {\n float: none;\n width: auto;\n margin: 0;\n padding: 0;\n }\n .acf-postbox-columns .acf-postbox-side {\n margin-top: 1em;\n }\n .acf-postbox-columns .acf-postbox-side:before {\n display: none;\n }\n}\n/*---------------------------------------------------------------------------------------------\n*\n* acf-panel\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-panel {\n margin-top: -1px;\n border-top: 1px solid #d5d9dd;\n border-bottom: 1px solid #d5d9dd;\n /* open */\n /* inside postbox */\n /* fields */\n}\n.acf-panel .acf-panel-title {\n margin: 0;\n padding: 12px;\n font-weight: bold;\n cursor: pointer;\n font-size: inherit;\n}\n.acf-panel .acf-panel-title i {\n float: right;\n}\n.acf-panel .acf-panel-inside {\n margin: 0;\n padding: 0 12px 12px;\n display: none;\n}\n.acf-panel.-open .acf-panel-inside {\n display: block;\n}\n.postbox .acf-panel {\n margin-left: -12px;\n margin-right: -12px;\n}\n.acf-panel .acf-field {\n margin: 20px 0 0;\n}\n.acf-panel .acf-field .acf-label label {\n color: #555d66;\n font-weight: normal;\n}\n.acf-panel .acf-field:first-child {\n margin-top: 0;\n}\n.acf-admin-3-8 .acf-panel {\n border-color: #dfdfdf;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Tools\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-admin-tools .notice {\n margin-top: 10px;\n}\n\n.acf-meta-box-wrap {\n margin-top: 10px;\n /* acf-fields */\n}\n.acf-meta-box-wrap .postbox {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.acf-meta-box-wrap .postbox .inside {\n margin-bottom: 0;\n}\n.acf-meta-box-wrap .postbox .hndle {\n font-size: 14px;\n padding: 8px 12px;\n margin: 0;\n line-height: 1.4;\n position: relative;\n z-index: 1;\n cursor: default;\n}\n.acf-meta-box-wrap .postbox .handlediv,\n.acf-meta-box-wrap .postbox .handle-order-higher,\n.acf-meta-box-wrap .postbox .handle-order-lower {\n display: none;\n}\n.acf-meta-box-wrap .acf-fields {\n border: #ebebeb solid 1px;\n background: #fafafa;\n border-radius: 3px;\n}\n\n/* grid */\n.acf-meta-box-wrap.-grid {\n margin-left: 8px;\n margin-right: 8px;\n}\n.acf-meta-box-wrap.-grid .postbox {\n float: left;\n clear: left;\n width: 50%;\n margin: 0 0 16px;\n}\n.acf-meta-box-wrap.-grid .postbox:nth-child(odd) {\n margin-left: -8px;\n}\n.acf-meta-box-wrap.-grid .postbox:nth-child(even) {\n float: right;\n clear: right;\n margin-right: -8px;\n}\n\n/* mobile */\n@media only screen and (max-width: 850px) {\n .acf-meta-box-wrap.-grid {\n margin-left: 0;\n margin-right: 0;\n }\n .acf-meta-box-wrap.-grid .postbox {\n margin-left: 0 !important;\n margin-right: 0 !important;\n width: 100%;\n }\n}\n/* export tool */\n#acf-admin-tool-export {\n /* panel: selection */\n}\n#acf-admin-tool-export p {\n max-width: 800px;\n}\n#acf-admin-tool-export ul {\n column-width: 200px;\n}\n#acf-admin-tool-export .acf-postbox-side .button {\n margin: 0;\n width: 100%;\n}\n#acf-admin-tool-export textarea {\n display: block;\n width: 100%;\n min-height: 500px;\n background: #fafafa;\n box-shadow: none;\n padding: 7px;\n border-radius: 3px;\n}\n#acf-admin-tool-export .acf-panel-selection .acf-label {\n display: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Navigation\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-toolbar {\n background: #fff;\n border-bottom: 1px solid #ccd0d4;\n padding-top: 10px;\n}\n.acf-admin-toolbar h2 {\n font-size: 14px;\n line-height: 2.5714285714;\n display: inline-block;\n padding: 5px 0;\n margin: 0 10px 0 0;\n}\n.acf-admin-toolbar h2 i {\n vertical-align: middle;\n color: #babbbc;\n}\n.acf-admin-toolbar .acf-tab {\n display: inline-block;\n font-size: 14px;\n line-height: 2.5714285714;\n padding: 5px;\n margin: 0 5px;\n text-decoration: none;\n color: inherit;\n}\n.acf-admin-toolbar .acf-tab.is-active {\n border-bottom: #0071a4 solid 3px;\n padding-bottom: 10px;\n}\n.acf-admin-toolbar .acf-tab:hover {\n color: #00a0d2;\n}\n.acf-admin-toolbar .acf-tab:focus {\n box-shadow: none;\n}\n.acf-admin-toolbar a.btn-upgrade {\n display: inline-flex;\n background: #dee3ff;\n border: 1px solid #c6d3f8;\n box-sizing: border-box;\n border-radius: 0.25rem;\n padding: 0 0.75rem;\n cursor: pointer;\n vertical-align: middle;\n margin-top: -6px;\n margin-left: 20px;\n text-decoration: none;\n}\n.acf-admin-toolbar a.btn-upgrade:hover {\n background: #d1ddff;\n border-color: #b9caf9;\n}\n.acf-admin-toolbar a.btn-upgrade p {\n font-family: system-ui;\n font-weight: 600;\n letter-spacing: 0.2;\n line-height: 1;\n font-size: 0.625rem;\n text-transform: uppercase;\n color: #425fdd;\n margin-left: 0.65rem;\n}\n#wpcontent .acf-admin-toolbar {\n margin-left: -20px;\n padding-left: 20px;\n}\n@media screen and (max-width: 600px) {\n .acf-admin-toolbar {\n display: none;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field Groups\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-field-groups .tablenav.top {\n display: none;\n}\n.acf-admin-field-groups .subsubsub {\n margin-bottom: 3px;\n}\n.acf-admin-field-groups .wp-list-table td, .acf-admin-field-groups .wp-list-table th {\n box-sizing: border-box;\n}\n.acf-admin-field-groups .wp-list-table tr:hover {\n background: #f7f7f7;\n}\n@media screen and (min-width: 782px) {\n .acf-admin-field-groups .wp-list-table .column-acf-count {\n width: 10%;\n }\n}\n.acf-admin-field-groups .wp-list-table .row-actions span.file {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.acf-admin-field-groups .acf-secondary-text {\n color: #a0a5aa;\n}\n\n.acf-multi-dashicon {\n position: relative;\n z-index: 1;\n}\n.acf-multi-dashicon:before, .acf-multi-dashicon:after {\n width: 18px;\n height: 18px;\n line-height: 18px;\n font-size: 14px;\n background: #fff;\n border: #7e8993 solid 1px;\n border-radius: 2px;\n display: block;\n}\n.acf-multi-dashicon:after {\n content: \"\";\n position: absolute;\n top: -3px;\n left: -3px;\n z-index: -1;\n background: #e7e7e7;\n}\n\n.acf-css-tooltip {\n position: relative;\n}\n.acf-css-tooltip:before {\n content: attr(aria-label);\n display: none;\n position: absolute;\n z-index: 999;\n bottom: 100%;\n left: 50%;\n transform: translate(-50%, -8px);\n background: #191e23;\n border-radius: 2px;\n padding: 5px 10px;\n color: #fff;\n font-size: 12px;\n line-height: 1.4em;\n white-space: pre;\n}\n.acf-css-tooltip:after {\n content: \"\";\n display: none;\n position: absolute;\n z-index: 998;\n bottom: 100%;\n left: 50%;\n transform: translate(-50%, 4px);\n border: solid 6px transparent;\n border-top-color: #191e23;\n}\n.acf-css-tooltip:hover:before, .acf-css-tooltip:hover:after, .acf-css-tooltip:focus:before, .acf-css-tooltip:focus:after {\n display: block;\n}\n\n.acf-diff .acf-diff-title {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 40px;\n padding: 14px 16px;\n background: #f3f3f3;\n border-bottom: #dddddd solid 1px;\n}\n.acf-diff .acf-diff-title strong {\n font-size: 14px;\n display: block;\n}\n.acf-diff .acf-diff-title .acf-diff-title-left,\n.acf-diff .acf-diff-title .acf-diff-title-right {\n width: 50%;\n float: left;\n}\n.acf-diff .acf-diff-content {\n position: absolute;\n top: 70px;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: auto;\n}\n.acf-diff table.diff {\n border-spacing: 0;\n}\n.acf-diff table.diff col.diffsplit.middle {\n width: 0;\n}\n.acf-diff table.diff td, .acf-diff table.diff th {\n padding-top: 0.25em;\n padding-bottom: 0.25em;\n}\n.acf-diff table.diff tr td:nth-child(2) {\n width: auto;\n}\n.acf-diff table.diff td:nth-child(3) {\n border-left: #dddddd solid 1px;\n}\n@media screen and (max-width: 600px) {\n .acf-diff .acf-diff-title {\n height: 70px;\n }\n .acf-diff .acf-diff-content {\n top: 100px;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Modal\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-modal {\n position: fixed;\n top: 30px;\n left: 30px;\n right: 30px;\n bottom: 30px;\n z-index: 160000;\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.7);\n background: #fcfcfc;\n}\n.acf-modal .acf-modal-title,\n.acf-modal .acf-modal-content,\n.acf-modal .acf-modal-toolbar {\n box-sizing: border-box;\n position: absolute;\n left: 0;\n right: 0;\n}\n.acf-modal .acf-modal-title {\n height: 50px;\n top: 0;\n border-bottom: 1px solid #ddd;\n}\n.acf-modal .acf-modal-title h2 {\n margin: 0;\n padding: 0 16px;\n line-height: 50px;\n}\n.acf-modal .acf-modal-title .acf-modal-close {\n position: absolute;\n top: 0;\n right: 0;\n height: 50px;\n width: 50px;\n border: none;\n border-left: 1px solid #ddd;\n background: transparent;\n cursor: pointer;\n color: #666;\n}\n.acf-modal .acf-modal-title .acf-modal-close:hover {\n color: #00a0d2;\n}\n.acf-modal .acf-modal-content {\n top: 50px;\n bottom: 60px;\n background: #fff;\n overflow: auto;\n padding: 16px;\n}\n.acf-modal .acf-modal-feedback {\n position: absolute;\n top: 50%;\n margin: -10px 0;\n left: 0;\n right: 0;\n text-align: center;\n opacity: 0.75;\n}\n.acf-modal .acf-modal-feedback.error {\n opacity: 1;\n color: #b52727;\n}\n.acf-modal .acf-modal-toolbar {\n height: 60px;\n bottom: 0;\n padding: 15px 16px;\n border-top: 1px solid #ddd;\n}\n.acf-modal .acf-modal-toolbar .button {\n float: right;\n}\n@media only screen and (max-width: 640px) {\n .acf-modal {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n}\n\n.acf-modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #000;\n opacity: 0.7;\n z-index: 159900;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Retina\n*\n*---------------------------------------------------------------------------------------------*/\n@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {\n .acf-loading,\n.acf-spinner {\n background-image: url(../../images/spinner@2x.gif);\n background-size: 20px 20px;\n }\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/assets/build/css/acf-global.min.css b/assets/build/css/acf-global.min.css index a42627d..53d6dde 100644 --- a/assets/build/css/acf-global.min.css +++ b/assets/build/css/acf-global.min.css @@ -1 +1 @@ -@charset "UTF-8";.acf-hl{padding:0;margin:0;list-style:none;display:block;position:relative}.acf-hl>li{float:left;display:block;margin:0;padding:0}.acf-hl>li.acf-fr{float:right}.acf-bl:after,.acf-bl:before,.acf-cf:after,.acf-cf:before,.acf-hl:after,.acf-hl:before{content:"";display:block;line-height:0}.acf-bl:after,.acf-cf:after,.acf-hl:after{clear:both}.acf-bl{padding:0;margin:0;list-style:none;display:block;position:relative}.acf-bl>li{display:block;margin:0;padding:0;float:none}.acf-hidden{display:none!important}.acf-empty{display:table-cell!important}.acf-empty *{display:none!important}.acf-fl{float:left}.acf-fr{float:right}.acf-fn{float:none}.acf-al{text-align:left}.acf-ar{text-align:right}.acf-ac{text-align:center}.acf-loading,.acf-spinner{display:inline-block;height:20px;width:20px;vertical-align:text-top;background:transparent url(../../images/spinner.gif) no-repeat 50% 50%}.acf-spinner{display:none}.acf-spinner.is-active{display:inline-block}.spinner.is-active{display:inline-block}.acf-required{color:red}.acf-soh .acf-soh-target{-webkit-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;-moz-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;-o-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;visibility:hidden;opacity:0}.acf-soh:hover .acf-soh-target{-webkit-transition-delay:0s;-moz-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s;visibility:visible;opacity:1}.show-if-value{display:none}.hide-if-value{display:block}.has-value .show-if-value{display:block}.has-value .hide-if-value{display:none}.select2-search-choice-close{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.acf-tooltip{background:#2f353e;border-radius:5px;color:#fff;padding:5px 10px;position:absolute;font-size:12px;line-height:1.4em;z-index:900000}.acf-tooltip:before{border:solid;border-color:transparent;border-width:6px;content:"";position:absolute}.acf-tooltip.top{margin-top:-8px}.acf-tooltip.top:before{top:100%;left:50%;margin-left:-6px;border-top-color:#2f353e;border-bottom-width:0}.acf-tooltip.right{margin-left:8px}.acf-tooltip.right:before{top:50%;margin-top:-6px;right:100%;border-right-color:#2f353e;border-left-width:0}.acf-tooltip.bottom{margin-top:8px}.acf-tooltip.bottom:before{bottom:100%;left:50%;margin-left:-6px;border-bottom-color:#2f353e;border-top-width:0}.acf-tooltip.left{margin-left:-8px}.acf-tooltip.left:before{top:50%;margin-top:-6px;left:100%;border-left-color:#2f353e;border-right-width:0}.acf-tooltip .acf-overlay{z-index:-1}.acf-tooltip.-confirm{z-index:900001}.acf-tooltip.-confirm a{text-decoration:none;color:#9ea3a8}.acf-tooltip.-confirm a:hover{text-decoration:underline}.acf-tooltip.-confirm a[data-event=confirm]{color:#f55e4f}.acf-overlay{position:fixed;top:0;bottom:0;left:0;right:0;cursor:default}.acf-tooltip-target{position:relative;z-index:900002}.acf-loading-overlay{position:absolute;top:0;bottom:0;left:0;right:0;cursor:default;z-index:99;background:rgba(249,249,249,.5)}.acf-loading-overlay i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.acf-icon{display:inline-block;height:28px;width:28px;border:transparent solid 1px;border-radius:100%;font-size:20px;line-height:21px;text-align:center;text-decoration:none;vertical-align:top;box-sizing:border-box}.acf-icon:before{font-family:dashicons;display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:1em;height:1em;vertical-align:middle;text-align:center}.acf-icon.-plus:before{content:""}.acf-icon.-minus:before{content:""}.acf-icon.-cancel:before{content:""}.acf-icon.-pencil:before{content:""}.acf-icon.-location:before{content:""}.acf-icon.-up:before{content:"";margin-top:-.1em}.acf-icon.-down:before{content:"";margin-top:.1em}.acf-icon.-left:before{content:"";margin-left:-.1em}.acf-icon.-right:before{content:"";margin-left:.1em}.acf-icon.-sync:before{content:""}.acf-icon.-globe:before{content:"";margin-top:.1em;margin-left:.1em}.acf-icon.-picture:before{content:""}.acf-icon.-check:before{content:"";margin-left:-.1em}.acf-icon.-dot-3:before{content:"";margin-top:-.1em}.acf-icon.-arrow-combo:before{content:""}.acf-icon.-arrow-up:before{content:"";margin-left:-.1em}.acf-icon.-arrow-down:before{content:"";margin-left:-.1em}.acf-icon.-search:before{content:""}.acf-icon.-link-ext:before{content:""}.acf-icon.-duplicate{position:relative}.acf-icon.-duplicate:after,.acf-icon.-duplicate:before{content:"";display:block;box-sizing:border-box;width:46%;height:46%;position:absolute;top:33%;left:23%}.acf-icon.-duplicate:before{margin:-1px 0 0 1px;box-shadow:2px -2px 0 0 currentColor}.acf-icon.-duplicate:after{border:solid 2px currentColor}.acf-icon.-collapse:before{content:"";margin-left:-.1em}.-collapsed .acf-icon.-collapse:before{content:"";margin-left:-.1em}span.acf-icon{color:#555d66;border-color:#b5bcc2;background-color:#fff}a.acf-icon{color:#555d66;border-color:#b5bcc2;background-color:#fff;position:relative;transition:none;cursor:pointer}a.acf-icon:hover{background:#f3f5f6;border-color:#0071a1;color:#0071a1}a.acf-icon.-cancel:hover,a.acf-icon.-minus:hover{background:#f7efef;border-color:#a10000;color:#dc3232}a.acf-icon:active,a.acf-icon:focus{outline:0;box-shadow:none}.acf-icon.-clear{border-color:transparent;background:0 0;color:#444}.acf-icon.light{border-color:transparent;background:#f5f5f5;color:#23282d}.acf-icon.dark{border-color:transparent!important;background:#23282d;color:#eee}a.acf-icon.dark:hover{background:#191e23;color:#00b9eb}a.acf-icon.dark.-cancel:hover,a.acf-icon.dark.-minus:hover{color:#d54e21}.acf-icon.grey{border-color:transparent!important;background:#b4b9be;color:#fff!important}.acf-icon.grey:hover{background:#00a0d2;color:#fff}.acf-icon.grey.-cancel:hover,.acf-icon.grey.-minus:hover{background:#32373c}.acf-icon.-small,.acf-icon.small{width:20px;height:20px;line-height:14px;font-size:14px}.acf-icon.-small.-duplicate:after,.acf-icon.-small.-duplicate:before,.acf-icon.small.-duplicate:after,.acf-icon.small.-duplicate:before{opacity:.8}.acf-box{background:#fff;border:1px solid #ccd0d4;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.04)}.acf-box .title{border-bottom:1px solid #ccd0d4;margin:0;padding:15px}.acf-box .title h3{font-size:14px;line-height:1em;margin:0;padding:0}.acf-box .inner{padding:15px}.acf-box h2{color:#333;font-size:26px;line-height:1.25em;margin:.25em 0 .75em;padding:0}.acf-box h3{margin:1.5em 0 0}.acf-box p{margin-top:.5em}.acf-box a{text-decoration:none}.acf-box i.dashicons-external{margin-top:-1px}.acf-box .footer{border-top:1px solid #ccd0d4;padding:12px;font-size:13px;line-height:1.5}.acf-box .footer p{margin:0}.acf-admin-3-8 .acf-box{border-color:#e5e5e5}.acf-admin-3-8 .acf-box .footer,.acf-admin-3-8 .acf-box .title{border-color:#e5e5e5}.acf-notice{position:relative;display:block;color:#fff;margin:5px 0 15px;padding:3px 12px;background:#2a9bd9;border-left:#1f7db1 solid 3px}.acf-notice p{font-size:13px;line-height:1.5;margin:.5em 0;text-shadow:none;color:inherit}.acf-notice .acf-notice-dismiss{position:absolute;top:9px;right:12px;background:0 0!important;color:inherit!important;border-color:#fff!important;opacity:.75}.acf-notice .acf-notice-dismiss:hover{opacity:1}.acf-notice.-dismiss{padding-right:40px}.acf-notice.-error{background:#d94f4f;border-color:#c92c2c}.acf-notice.-success{background:#49ad52;border-color:#3a8941}.acf-notice.-warning{background:#fd8d3b;border-color:#fc7009}.acf-table{border:#ccd0d4 solid 1px;background:#fff;border-spacing:0;border-radius:0;table-layout:auto;padding:0;margin:0;width:100%;clear:both;box-sizing:content-box}.acf-table>tbody>tr>td,.acf-table>tbody>tr>th,.acf-table>thead>tr>td,.acf-table>thead>tr>th{padding:8px;vertical-align:top;background:#fff;text-align:left;border-style:solid;font-weight:400}.acf-table>tbody>tr>th,.acf-table>thead>tr>th{position:relative;color:#333}.acf-table>thead>tr>th{border-color:#d5d9dd;border-width:0 0 1px 1px}.acf-table>thead>tr>th:first-child{border-left-width:0}.acf-table>tbody>tr{z-index:1}.acf-table>tbody>tr>td{border-color:#eee;border-width:1px 0 0 1px}.acf-table>tbody>tr>td:first-child{border-left-width:0}.acf-table>tbody>tr:first-child>td{border-top-width:0}.acf-table.-clear{border:0 none}.acf-table.-clear>tbody>tr>td,.acf-table.-clear>tbody>tr>th,.acf-table.-clear>thead>tr>td,.acf-table.-clear>thead>tr>th{border:0 none;padding:4px}.acf-remove-element{-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;transform:translate(50px,0);opacity:0}.acf-fade-up{-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;transform:translate(0,-10px);opacity:0}.acf-tbody,.acf-tfoot,.acf-thead{width:100%;padding:0;margin:0}.acf-tbody>li,.acf-tfoot>li,.acf-thead>li{box-sizing:border-box;padding:8px 12px;font-size:12px;line-height:14px}.acf-thead{border-bottom:#ccd0d4 solid 1px;color:#23282d}.acf-thead>li{font-size:14px;line-height:1.4;font-weight:700}.acf-admin-3-8 .acf-thead{border-color:#dfdfdf}.acf-tfoot{background:#f5f5f5;border-top:#d5d9dd solid 1px}.acf-settings-wrap #poststuff{padding-top:15px}.acf-settings-wrap .acf-box{margin:20px 0}.acf-settings-wrap table{margin:0}.acf-settings-wrap table .button{vertical-align:middle}#acf-popup{position:fixed;z-index:900000;top:0;left:0;right:0;bottom:0;text-align:center}#acf-popup .bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;background:rgba(0,0,0,.25)}#acf-popup:before{content:"";display:inline-block;height:100%;vertical-align:middle}#acf-popup .acf-popup-box{display:inline-block;vertical-align:middle;z-index:1;min-width:300px;min-height:160px;border-color:#aaa;box-shadow:0 5px 30px -5px rgba(0,0,0,.25);text-align:left}html[dir=rtl] #acf-popup .acf-popup-box{text-align:right}#acf-popup .acf-popup-box .title{min-height:15px;line-height:15px}#acf-popup .acf-popup-box .title .acf-icon{position:absolute;top:10px;right:10px}html[dir=rtl] #acf-popup .acf-popup-box .title .acf-icon{right:auto;left:10px}#acf-popup .acf-popup-box .inner{min-height:50px;padding:0;margin:15px}#acf-popup .acf-popup-box .loading{position:absolute;top:45px;left:0;right:0;bottom:0;z-index:2;background:rgba(0,0,0,.1);display:none}#acf-popup .acf-popup-box .loading i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.acf-submit{margin-bottom:0;line-height:28px}.acf-submit span{float:right;color:#999}.acf-submit span.-error{color:#dd4232}.acf-submit .button{margin-right:5px}#acf-upgrade-notice{position:relative;background:#fff;border-left:4px solid #00a0d2;padding:20px}#acf-upgrade-notice:after{display:block;clear:both;content:""}#acf-upgrade-notice .col-content{float:left;width:55%;padding-left:90px}#acf-upgrade-notice .col-actions{float:right;text-align:center;padding:10px}#acf-upgrade-notice img{float:left;width:70px;height:70px;margin:0 0 0 -90px}#acf-upgrade-notice h2{font-size:16px;margin:2px 0 6.5px}#acf-upgrade-notice p{padding:0;margin:0}#acf-upgrade-notice .button:before{margin-top:11px}@media screen and (max-width:640px){#acf-upgrade-notice .col-actions,#acf-upgrade-notice .col-content{float:none;padding-left:90px;width:auto;text-align:left}}.acf-wrap h1{margin-top:0;padding-top:20px}.acf-wrap .about-text{margin-top:.5em;min-height:50px}.acf-wrap .about-headline-callout{font-size:2.4em;font-weight:300;line-height:1.3;margin:1.1em 0 .2em;text-align:center}.acf-wrap .feature-section{padding:40px 0}.acf-wrap .feature-section h2{margin-top:20px}.acf-wrap .changelog{list-style:disc;padding-left:15px}.acf-wrap .changelog li{margin:0 0 .75em}.acf-wrap .acf-three-col{display:flex;flex-wrap:wrap;justify-content:space-between}.acf-wrap .acf-three-col>div{flex:1;align-self:flex-start;min-width:31%;max-width:31%}@media screen and (max-width:880px){.acf-wrap .acf-three-col>div{min-width:48%}}@media screen and (max-width:640px){.acf-wrap .acf-three-col>div{min-width:100%}}.acf-wrap .acf-three-col h3 .badge{display:inline-block;vertical-align:top;border-radius:5px;background:#fc9700;color:#fff;font-weight:400;font-size:12px;padding:2px 5px}.acf-wrap .acf-three-col img+h3{margin-top:.5em}.acf-hl[data-cols]{margin-left:-10px;margin-right:-10px}.acf-hl[data-cols]>li{padding:0 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.acf-hl[data-cols="2"]>li{width:50%}.acf-hl[data-cols="3"]>li{width:33.333%}.acf-hl[data-cols="4"]>li{width:25%}@media screen and (max-width:640px){.acf-hl[data-cols]{margin-left:0;margin-right:0;margin-top:-10px}.acf-hl[data-cols]>li{width:100%!important;padding:10px 0 0}}.acf-actions{text-align:right;z-index:1}.acf-actions.-hover{position:absolute;display:none;top:0;right:0;padding:5px}html[dir=rtl] .acf-actions.-hover{right:auto;left:0}ul.acf-actions li{float:right;margin-left:4px}html[dir=rtl] .acf-fl{float:right}html[dir=rtl] .acf-fr{float:left}html[dir=rtl] .acf-hl>li{float:right}html[dir=rtl] .acf-hl>li.acf-fr{float:left}html[dir=rtl] .acf-icon.logo{left:0;right:auto}html[dir=rtl] .acf-table thead th{text-align:right;border-right-width:1px;border-left-width:0}html[dir=rtl] .acf-table>tbody>tr>td{text-align:right;border-right-width:1px;border-left-width:0}html[dir=rtl] .acf-table>tbody>tr>td:first-child,html[dir=rtl] .acf-table>thead>tr>th:first-child{border-right-width:0}html[dir=rtl] .acf-table>tbody>tr>td.order+td{border-right-color:#e1e1e1}.acf-postbox-columns{position:relative;margin-top:-11px;margin-bottom:-12px;margin-left:-12px;margin-right:268px}.acf-postbox-columns:after{display:block;clear:both;content:""}.acf-postbox-columns .acf-postbox-main,.acf-postbox-columns .acf-postbox-side{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 12px 12px}.acf-postbox-columns .acf-postbox-main{float:left;width:100%}.acf-postbox-columns .acf-postbox-side{float:right;width:280px;margin-right:-280px}.acf-postbox-columns .acf-postbox-side:before{content:"";display:block;position:absolute;width:1px;height:100%;top:0;right:0;background:#d5d9dd}.acf-admin-3-8 .acf-postbox-columns .acf-postbox-side:before{background:#dfdfdf}@media only screen and (max-width:850px){.acf-postbox-columns{margin:0}.acf-postbox-columns .acf-postbox-main,.acf-postbox-columns .acf-postbox-side{float:none;width:auto;margin:0;padding:0}.acf-postbox-columns .acf-postbox-side{margin-top:1em}.acf-postbox-columns .acf-postbox-side:before{display:none}}.acf-panel{margin-top:-1px;border-top:1px solid #d5d9dd;border-bottom:1px solid #d5d9dd}.acf-panel .acf-panel-title{margin:0;padding:12px;font-weight:700;cursor:pointer;font-size:inherit}.acf-panel .acf-panel-title i{float:right}.acf-panel .acf-panel-inside{margin:0;padding:0 12px 12px;display:none}.acf-panel.-open .acf-panel-inside{display:block}.postbox .acf-panel{margin-left:-12px;margin-right:-12px}.acf-panel .acf-field{margin:20px 0 0}.acf-panel .acf-field .acf-label label{color:#555d66;font-weight:400}.acf-panel .acf-field:first-child{margin-top:0}.acf-admin-3-8 .acf-panel{border-color:#dfdfdf}#acf-admin-tools .notice{margin-top:10px}.acf-meta-box-wrap{margin-top:10px}.acf-meta-box-wrap .postbox{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.acf-meta-box-wrap .postbox .inside{margin-bottom:0}.acf-meta-box-wrap .postbox .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;position:relative;z-index:1;cursor:default}.acf-meta-box-wrap .postbox .handle-order-higher,.acf-meta-box-wrap .postbox .handle-order-lower,.acf-meta-box-wrap .postbox .handlediv{display:none}.acf-meta-box-wrap .acf-fields{border:#ebebeb solid 1px;background:#fafafa;border-radius:3px}.acf-meta-box-wrap.-grid{margin-left:8px;margin-right:8px}.acf-meta-box-wrap.-grid .postbox{float:left;clear:left;width:50%;margin:0 0 16px}.acf-meta-box-wrap.-grid .postbox:nth-child(odd){margin-left:-8px}.acf-meta-box-wrap.-grid .postbox:nth-child(even){float:right;clear:right;margin-right:-8px}@media only screen and (max-width:850px){.acf-meta-box-wrap.-grid{margin-left:0;margin-right:0}.acf-meta-box-wrap.-grid .postbox{margin-left:0!important;margin-right:0!important;width:100%}}#acf-admin-tool-export p{max-width:800px}#acf-admin-tool-export ul{column-width:200px}#acf-admin-tool-export .acf-postbox-side .button{margin:0;width:100%}#acf-admin-tool-export textarea{display:block;width:100%;min-height:500px;background:#fafafa;box-shadow:none;padding:7px;border-radius:3px}#acf-admin-tool-export .acf-panel-selection .acf-label{display:none}.acf-admin-toolbar{background:#fff;border-bottom:1px solid #ccd0d4;padding-top:10px}.acf-admin-toolbar h2{font-size:14px;line-height:2.5714285714;display:inline-block;padding:5px 0;margin:0 10px 0 0}.acf-admin-toolbar h2 i{vertical-align:middle;color:#babbbc}.acf-admin-toolbar .acf-tab{display:inline-block;font-size:14px;line-height:2.5714285714;padding:5px;margin:0 5px;text-decoration:none;color:inherit}.acf-admin-toolbar .acf-tab.is-active{border-bottom:#0071a4 solid 3px;padding-bottom:10px}.acf-admin-toolbar .acf-tab:hover{color:#00a0d2}.acf-admin-toolbar .acf-tab:focus{box-shadow:none}.acf-admin-toolbar a.btn-upgrade{display:inline-flex;background:#dee3ff;border:1px solid #c6d3f8;box-sizing:border-box;border-radius:.25rem;padding:0 .75rem;cursor:pointer;vertical-align:middle;margin-top:-6px;margin-left:20px;text-decoration:none}.acf-admin-toolbar a.btn-upgrade:hover{background:#d1ddff;border-color:#b9caf9}.acf-admin-toolbar a.btn-upgrade p{font-family:system-ui;font-weight:600;letter-spacing:.2;line-height:1;font-size:.625rem;text-transform:uppercase;color:#425fdd;margin-left:.65rem}#wpcontent .acf-admin-toolbar{margin-left:-20px;padding-left:20px}@media screen and (max-width:600px){.acf-admin-toolbar{display:none}}.acf-admin-field-groups .tablenav.top{display:none}.acf-admin-field-groups .subsubsub{margin-bottom:3px}.acf-admin-field-groups .wp-list-table td,.acf-admin-field-groups .wp-list-table th{box-sizing:border-box}.acf-admin-field-groups .wp-list-table tr:hover{background:#f7f7f7}@media screen and (min-width:782px){.acf-admin-field-groups .wp-list-table .column-acf-count{width:10%}}.acf-admin-field-groups .wp-list-table .row-actions span.file{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.acf-admin-field-groups .acf-secondary-text{color:#a0a5aa}.acf-multi-dashicon{position:relative;z-index:1}.acf-multi-dashicon:after,.acf-multi-dashicon:before{width:18px;height:18px;line-height:18px;font-size:14px;background:#fff;border:#7e8993 solid 1px;border-radius:2px;display:block}.acf-multi-dashicon:after{content:"";position:absolute;top:-3px;left:-3px;z-index:-1;background:#e7e7e7}.acf-css-tooltip{position:relative}.acf-css-tooltip:before{content:attr(aria-label);display:none;position:absolute;z-index:999;bottom:100%;left:50%;transform:translate(-50%,-8px);background:#191e23;border-radius:2px;padding:5px 10px;color:#fff;font-size:12px;line-height:1.4em;white-space:pre}.acf-css-tooltip:after{content:"";display:none;position:absolute;z-index:998;bottom:100%;left:50%;transform:translate(-50%,4px);border:solid 6px transparent;border-top-color:#191e23}.acf-css-tooltip:focus:after,.acf-css-tooltip:focus:before,.acf-css-tooltip:hover:after,.acf-css-tooltip:hover:before{display:block}.acf-diff .acf-diff-title{position:absolute;top:0;left:0;right:0;height:40px;padding:14px 16px;background:#f3f3f3;border-bottom:#ddd solid 1px}.acf-diff .acf-diff-title strong{font-size:14px;display:block}.acf-diff .acf-diff-title .acf-diff-title-left,.acf-diff .acf-diff-title .acf-diff-title-right{width:50%;float:left}.acf-diff .acf-diff-content{position:absolute;top:70px;left:0;right:0;bottom:0;overflow:auto}.acf-diff table.diff{border-spacing:0}.acf-diff table.diff col.diffsplit.middle{width:0}.acf-diff table.diff td,.acf-diff table.diff th{padding-top:.25em;padding-bottom:.25em}.acf-diff table.diff tr td:nth-child(2){width:auto}.acf-diff table.diff td:nth-child(3){border-left:#ddd solid 1px}@media screen and (max-width:600px){.acf-diff .acf-diff-title{height:70px}.acf-diff .acf-diff-content{top:100px}}.acf-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000;box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc}.acf-modal .acf-modal-content,.acf-modal .acf-modal-title,.acf-modal .acf-modal-toolbar{box-sizing:border-box;position:absolute;left:0;right:0}.acf-modal .acf-modal-title{height:50px;top:0;border-bottom:1px solid #ddd}.acf-modal .acf-modal-title h2{margin:0;padding:0 16px;line-height:50px}.acf-modal .acf-modal-title .acf-modal-close{position:absolute;top:0;right:0;height:50px;width:50px;border:none;border-left:1px solid #ddd;background:0 0;cursor:pointer;color:#666}.acf-modal .acf-modal-title .acf-modal-close:hover{color:#00a0d2}.acf-modal .acf-modal-content{top:50px;bottom:60px;background:#fff;overflow:auto;padding:16px}.acf-modal .acf-modal-feedback{position:absolute;top:50%;margin:-10px 0;left:0;right:0;text-align:center;opacity:.75}.acf-modal .acf-modal-feedback.error{opacity:1;color:#b52727}.acf-modal .acf-modal-toolbar{height:60px;bottom:0;padding:15px 16px;border-top:1px solid #ddd}.acf-modal .acf-modal-toolbar .button{float:right}@media only screen and (max-width:640px){.acf-modal{top:0;left:0;right:0;bottom:0}}.acf-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;z-index:159900}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.acf-loading,.acf-spinner{background-image:url(../../images/spinner@2x.gif);background-size:20px 20px}} \ No newline at end of file +.acf-hl{padding:0;margin:0;list-style:none;display:block;position:relative}.acf-hl>li{float:left;display:block;margin:0;padding:0}.acf-hl>li.acf-fr{float:right}.acf-hl:before,.acf-hl:after,.acf-bl:before,.acf-bl:after,.acf-cf:before,.acf-cf:after{content:"";display:block;line-height:0}.acf-hl:after,.acf-bl:after,.acf-cf:after{clear:both}.acf-bl{padding:0;margin:0;list-style:none;display:block;position:relative}.acf-bl>li{display:block;margin:0;padding:0;float:none}.acf-hidden{display:none !important}.acf-empty{display:table-cell !important}.acf-empty *{display:none !important}.acf-fl{float:left}.acf-fr{float:right}.acf-fn{float:none}.acf-al{text-align:left}.acf-ar{text-align:right}.acf-ac{text-align:center}.acf-loading,.acf-spinner{display:inline-block;height:20px;width:20px;vertical-align:text-top;background:transparent url(../../images/spinner.gif) no-repeat 50% 50%}.acf-spinner{display:none}.acf-spinner.is-active{display:inline-block}.spinner.is-active{display:inline-block}.acf-required{color:red}.acf-soh .acf-soh-target{-webkit-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;-moz-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;-o-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;visibility:hidden;opacity:0}.acf-soh:hover .acf-soh-target{-webkit-transition-delay:0s;-moz-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s;visibility:visible;opacity:1}.show-if-value{display:none}.hide-if-value{display:block}.has-value .show-if-value{display:block}.has-value .hide-if-value{display:none}.select2-search-choice-close{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.acf-tooltip{background:#2f353e;border-radius:5px;color:#fff;padding:5px 10px;position:absolute;font-size:12px;line-height:1.4em;z-index:900000}.acf-tooltip:before{border:solid;border-color:transparent;border-width:6px;content:"";position:absolute}.acf-tooltip.top{margin-top:-8px}.acf-tooltip.top:before{top:100%;left:50%;margin-left:-6px;border-top-color:#2f353e;border-bottom-width:0}.acf-tooltip.right{margin-left:8px}.acf-tooltip.right:before{top:50%;margin-top:-6px;right:100%;border-right-color:#2f353e;border-left-width:0}.acf-tooltip.bottom{margin-top:8px}.acf-tooltip.bottom:before{bottom:100%;left:50%;margin-left:-6px;border-bottom-color:#2f353e;border-top-width:0}.acf-tooltip.left{margin-left:-8px}.acf-tooltip.left:before{top:50%;margin-top:-6px;left:100%;border-left-color:#2f353e;border-right-width:0}.acf-tooltip .acf-overlay{z-index:-1}.acf-tooltip.-confirm{z-index:900001}.acf-tooltip.-confirm a{text-decoration:none;color:#9ea3a8}.acf-tooltip.-confirm a:hover{text-decoration:underline}.acf-tooltip.-confirm a[data-event=confirm]{color:#f55e4f}.acf-overlay{position:fixed;top:0;bottom:0;left:0;right:0;cursor:default}.acf-tooltip-target{position:relative;z-index:900002}.acf-loading-overlay{position:absolute;top:0;bottom:0;left:0;right:0;cursor:default;z-index:99;background:rgba(249,249,249,.5)}.acf-loading-overlay i{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.acf-icon{display:inline-block;height:28px;width:28px;border:transparent solid 1px;border-radius:100%;font-size:20px;line-height:21px;text-align:center;text-decoration:none;vertical-align:top;box-sizing:border-box}.acf-icon:before{font-family:dashicons;display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:1em;height:1em;vertical-align:middle;text-align:center}.acf-icon.-plus:before{content:""}.acf-icon.-minus:before{content:""}.acf-icon.-cancel:before{content:""}.acf-icon.-pencil:before{content:""}.acf-icon.-location:before{content:""}.acf-icon.-up:before{content:"";margin-top:-0.1em}.acf-icon.-down:before{content:"";margin-top:.1em}.acf-icon.-left:before{content:"";margin-left:-0.1em}.acf-icon.-right:before{content:"";margin-left:.1em}.acf-icon.-sync:before{content:""}.acf-icon.-globe:before{content:"";margin-top:.1em;margin-left:.1em}.acf-icon.-picture:before{content:""}.acf-icon.-check:before{content:"";margin-left:-0.1em}.acf-icon.-dot-3:before{content:"";margin-top:-0.1em}.acf-icon.-arrow-combo:before{content:""}.acf-icon.-arrow-up:before{content:"";margin-left:-0.1em}.acf-icon.-arrow-down:before{content:"";margin-left:-0.1em}.acf-icon.-search:before{content:""}.acf-icon.-link-ext:before{content:""}.acf-icon.-duplicate{position:relative}.acf-icon.-duplicate:before,.acf-icon.-duplicate:after{content:"";display:block;box-sizing:border-box;width:46%;height:46%;position:absolute;top:33%;left:23%}.acf-icon.-duplicate:before{margin:-1px 0 0 1px;box-shadow:2px -2px 0px 0px currentColor}.acf-icon.-duplicate:after{border:solid 2px currentColor}.acf-icon.-collapse:before{content:"";margin-left:-0.1em}.-collapsed .acf-icon.-collapse:before{content:"";margin-left:-0.1em}span.acf-icon{color:#555d66;border-color:#b5bcc2;background-color:#fff}a.acf-icon{color:#555d66;border-color:#b5bcc2;background-color:#fff;position:relative;transition:none;cursor:pointer}a.acf-icon:hover{background:#f3f5f6;border-color:#0071a1;color:#0071a1}a.acf-icon.-minus:hover,a.acf-icon.-cancel:hover{background:#f7efef;border-color:#a10000;color:#dc3232}a.acf-icon:active,a.acf-icon:focus{outline:none;box-shadow:none}.acf-icon.-clear{border-color:transparent;background:transparent;color:#444}.acf-icon.light{border-color:transparent;background:#f5f5f5;color:#23282d}.acf-icon.dark{border-color:transparent !important;background:#23282d;color:#eee}a.acf-icon.dark:hover{background:#191e23;color:#00b9eb}a.acf-icon.dark.-minus:hover,a.acf-icon.dark.-cancel:hover{color:#d54e21}.acf-icon.grey{border-color:transparent !important;background:#b4b9be;color:#fff !important}.acf-icon.grey:hover{background:#00a0d2;color:#fff}.acf-icon.grey.-minus:hover,.acf-icon.grey.-cancel:hover{background:#32373c}.acf-icon.small,.acf-icon.-small{width:20px;height:20px;line-height:14px;font-size:14px}.acf-icon.small.-duplicate:before,.acf-icon.small.-duplicate:after,.acf-icon.-small.-duplicate:before,.acf-icon.-small.-duplicate:after{opacity:.8}.acf-box{background:#fff;border:1px solid #ccd0d4;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.04)}.acf-box .title{border-bottom:1px solid #ccd0d4;margin:0;padding:15px}.acf-box .title h3{font-size:14px;line-height:1em;margin:0;padding:0}.acf-box .inner{padding:15px}.acf-box h2{color:#333;font-size:26px;line-height:1.25em;margin:.25em 0 .75em;padding:0}.acf-box h3{margin:1.5em 0 0}.acf-box p{margin-top:.5em}.acf-box a{text-decoration:none}.acf-box i.dashicons-external{margin-top:-1px}.acf-box .footer{border-top:1px solid #ccd0d4;padding:12px;font-size:13px;line-height:1.5}.acf-box .footer p{margin:0}.acf-admin-3-8 .acf-box{border-color:#e5e5e5}.acf-admin-3-8 .acf-box .title,.acf-admin-3-8 .acf-box .footer{border-color:#e5e5e5}.acf-notice{position:relative;display:block;color:#fff;margin:5px 0 15px;padding:3px 12px;background:#2a9bd9;border-left:#1f7db1 solid 3px}.acf-notice p{font-size:13px;line-height:1.5;margin:.5em 0;text-shadow:none;color:inherit}.acf-notice .acf-notice-dismiss{position:absolute;top:9px;right:12px;background:transparent !important;color:inherit !important;border-color:#fff !important;opacity:.75}.acf-notice .acf-notice-dismiss:hover{opacity:1}.acf-notice.-dismiss{padding-right:40px}.acf-notice.-error{background:#d94f4f;border-color:#c92c2c}.acf-notice.-success{background:#49ad52;border-color:#3a8941}.acf-notice.-warning{background:#fd8d3b;border-color:#fc7009}.acf-table{border:#ccd0d4 solid 1px;background:#fff;border-spacing:0;border-radius:0;table-layout:auto;padding:0;margin:0;width:100%;clear:both;box-sizing:content-box}.acf-table>tbody>tr>th,.acf-table>tbody>tr>td,.acf-table>thead>tr>th,.acf-table>thead>tr>td{padding:8px;vertical-align:top;background:#fff;text-align:left;border-style:solid;font-weight:normal}.acf-table>tbody>tr>th,.acf-table>thead>tr>th{position:relative;color:#333}.acf-table>thead>tr>th{border-color:#d5d9dd;border-width:0 0 1px 1px}.acf-table>thead>tr>th:first-child{border-left-width:0}.acf-table>tbody>tr{z-index:1}.acf-table>tbody>tr>td{border-color:#eee;border-width:1px 0 0 1px}.acf-table>tbody>tr>td:first-child{border-left-width:0}.acf-table>tbody>tr:first-child>td{border-top-width:0}.acf-table.-clear{border:0 none}.acf-table.-clear>tbody>tr>td,.acf-table.-clear>tbody>tr>th,.acf-table.-clear>thead>tr>td,.acf-table.-clear>thead>tr>th{border:0 none;padding:4px}.acf-remove-element{-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;transform:translate(50px, 0);opacity:0}.acf-fade-up{-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;transform:translate(0, -10px);opacity:0}.acf-thead,.acf-tbody,.acf-tfoot{width:100%;padding:0;margin:0}.acf-thead>li,.acf-tbody>li,.acf-tfoot>li{box-sizing:border-box;padding:8px 12px;font-size:12px;line-height:14px}.acf-thead{border-bottom:#ccd0d4 solid 1px;color:#23282d}.acf-thead>li{font-size:14px;line-height:1.4;font-weight:bold}.acf-admin-3-8 .acf-thead{border-color:#dfdfdf}.acf-tfoot{background:#f5f5f5;border-top:#d5d9dd solid 1px}.acf-settings-wrap #poststuff{padding-top:15px}.acf-settings-wrap .acf-box{margin:20px 0}.acf-settings-wrap table{margin:0}.acf-settings-wrap table .button{vertical-align:middle}#acf-popup{position:fixed;z-index:900000;top:0;left:0;right:0;bottom:0;text-align:center}#acf-popup .bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;background:rgba(0,0,0,.25)}#acf-popup:before{content:"";display:inline-block;height:100%;vertical-align:middle}#acf-popup .acf-popup-box{display:inline-block;vertical-align:middle;z-index:1;min-width:300px;min-height:160px;border-color:#aaa;box-shadow:0 5px 30px -5px rgba(0,0,0,.25);text-align:left}html[dir=rtl] #acf-popup .acf-popup-box{text-align:right}#acf-popup .acf-popup-box .title{min-height:15px;line-height:15px}#acf-popup .acf-popup-box .title .acf-icon{position:absolute;top:10px;right:10px}html[dir=rtl] #acf-popup .acf-popup-box .title .acf-icon{right:auto;left:10px}#acf-popup .acf-popup-box .inner{min-height:50px;padding:0;margin:15px}#acf-popup .acf-popup-box .loading{position:absolute;top:45px;left:0;right:0;bottom:0;z-index:2;background:rgba(0,0,0,.1);display:none}#acf-popup .acf-popup-box .loading i{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.acf-submit{margin-bottom:0;line-height:28px}.acf-submit span{float:right;color:#999}.acf-submit span.-error{color:#dd4232}.acf-submit .button{margin-right:5px}#acf-upgrade-notice{position:relative;background:#fff;border-left:4px solid #00a0d2;padding:20px}#acf-upgrade-notice:after{display:block;clear:both;content:""}#acf-upgrade-notice .col-content{float:left;width:55%;padding-left:90px}#acf-upgrade-notice .col-actions{float:right;text-align:center;padding:10px}#acf-upgrade-notice img{float:left;width:70px;height:70px;margin:0 0 0 -90px}#acf-upgrade-notice h2{font-size:16px;margin:2px 0 6.5px}#acf-upgrade-notice p{padding:0;margin:0}#acf-upgrade-notice .button:before{margin-top:11px}@media screen and (max-width: 640px){#acf-upgrade-notice .col-content,#acf-upgrade-notice .col-actions{float:none;padding-left:90px;width:auto;text-align:left}}.acf-wrap h1{margin-top:0;padding-top:20px}.acf-wrap .about-text{margin-top:.5em;min-height:50px}.acf-wrap .about-headline-callout{font-size:2.4em;font-weight:300;line-height:1.3;margin:1.1em 0 .2em;text-align:center}.acf-wrap .feature-section{padding:40px 0}.acf-wrap .feature-section h2{margin-top:20px}.acf-wrap .changelog{list-style:disc;padding-left:15px}.acf-wrap .changelog li{margin:0 0 .75em}.acf-wrap .acf-three-col{display:flex;flex-wrap:wrap;justify-content:space-between}.acf-wrap .acf-three-col>div{flex:1;align-self:flex-start;min-width:31%;max-width:31%}@media screen and (max-width: 880px){.acf-wrap .acf-three-col>div{min-width:48%}}@media screen and (max-width: 640px){.acf-wrap .acf-three-col>div{min-width:100%}}.acf-wrap .acf-three-col h3 .badge{display:inline-block;vertical-align:top;border-radius:5px;background:#fc9700;color:#fff;font-weight:normal;font-size:12px;padding:2px 5px}.acf-wrap .acf-three-col img+h3{margin-top:.5em}.acf-hl[data-cols]{margin-left:-10px;margin-right:-10px}.acf-hl[data-cols]>li{padding:0 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.acf-hl[data-cols="2"]>li{width:50%}.acf-hl[data-cols="3"]>li{width:33.333%}.acf-hl[data-cols="4"]>li{width:25%}@media screen and (max-width: 640px){.acf-hl[data-cols]{margin-left:0;margin-right:0;margin-top:-10px}.acf-hl[data-cols]>li{width:100% !important;padding:10px 0 0}}.acf-actions{text-align:right;z-index:1}.acf-actions.-hover{position:absolute;display:none;top:0;right:0;padding:5px}html[dir=rtl] .acf-actions.-hover{right:auto;left:0}ul.acf-actions li{float:right;margin-left:4px}html[dir=rtl] .acf-fl{float:right}html[dir=rtl] .acf-fr{float:left}html[dir=rtl] .acf-hl>li{float:right}html[dir=rtl] .acf-hl>li.acf-fr{float:left}html[dir=rtl] .acf-icon.logo{left:0;right:auto}html[dir=rtl] .acf-table thead th{text-align:right;border-right-width:1px;border-left-width:0px}html[dir=rtl] .acf-table>tbody>tr>td{text-align:right;border-right-width:1px;border-left-width:0px}html[dir=rtl] .acf-table>thead>tr>th:first-child,html[dir=rtl] .acf-table>tbody>tr>td:first-child{border-right-width:0}html[dir=rtl] .acf-table>tbody>tr>td.order+td{border-right-color:#e1e1e1}.acf-postbox-columns{position:relative;margin-top:-11px;margin-bottom:-12px;margin-left:-12px;margin-right:268px}.acf-postbox-columns:after{display:block;clear:both;content:""}.acf-postbox-columns .acf-postbox-main,.acf-postbox-columns .acf-postbox-side{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 12px 12px}.acf-postbox-columns .acf-postbox-main{float:left;width:100%}.acf-postbox-columns .acf-postbox-side{float:right;width:280px;margin-right:-280px}.acf-postbox-columns .acf-postbox-side:before{content:"";display:block;position:absolute;width:1px;height:100%;top:0;right:0;background:#d5d9dd}.acf-admin-3-8 .acf-postbox-columns .acf-postbox-side:before{background:#dfdfdf}@media only screen and (max-width: 850px){.acf-postbox-columns{margin:0}.acf-postbox-columns .acf-postbox-main,.acf-postbox-columns .acf-postbox-side{float:none;width:auto;margin:0;padding:0}.acf-postbox-columns .acf-postbox-side{margin-top:1em}.acf-postbox-columns .acf-postbox-side:before{display:none}}.acf-panel{margin-top:-1px;border-top:1px solid #d5d9dd;border-bottom:1px solid #d5d9dd}.acf-panel .acf-panel-title{margin:0;padding:12px;font-weight:bold;cursor:pointer;font-size:inherit}.acf-panel .acf-panel-title i{float:right}.acf-panel .acf-panel-inside{margin:0;padding:0 12px 12px;display:none}.acf-panel.-open .acf-panel-inside{display:block}.postbox .acf-panel{margin-left:-12px;margin-right:-12px}.acf-panel .acf-field{margin:20px 0 0}.acf-panel .acf-field .acf-label label{color:#555d66;font-weight:normal}.acf-panel .acf-field:first-child{margin-top:0}.acf-admin-3-8 .acf-panel{border-color:#dfdfdf}#acf-admin-tools .notice{margin-top:10px}.acf-meta-box-wrap{margin-top:10px}.acf-meta-box-wrap .postbox{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.acf-meta-box-wrap .postbox .inside{margin-bottom:0}.acf-meta-box-wrap .postbox .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;position:relative;z-index:1;cursor:default}.acf-meta-box-wrap .postbox .handlediv,.acf-meta-box-wrap .postbox .handle-order-higher,.acf-meta-box-wrap .postbox .handle-order-lower{display:none}.acf-meta-box-wrap .acf-fields{border:#ebebeb solid 1px;background:#fafafa;border-radius:3px}.acf-meta-box-wrap.-grid{margin-left:8px;margin-right:8px}.acf-meta-box-wrap.-grid .postbox{float:left;clear:left;width:50%;margin:0 0 16px}.acf-meta-box-wrap.-grid .postbox:nth-child(odd){margin-left:-8px}.acf-meta-box-wrap.-grid .postbox:nth-child(even){float:right;clear:right;margin-right:-8px}@media only screen and (max-width: 850px){.acf-meta-box-wrap.-grid{margin-left:0;margin-right:0}.acf-meta-box-wrap.-grid .postbox{margin-left:0 !important;margin-right:0 !important;width:100%}}#acf-admin-tool-export p{max-width:800px}#acf-admin-tool-export ul{column-width:200px}#acf-admin-tool-export .acf-postbox-side .button{margin:0;width:100%}#acf-admin-tool-export textarea{display:block;width:100%;min-height:500px;background:#fafafa;box-shadow:none;padding:7px;border-radius:3px}#acf-admin-tool-export .acf-panel-selection .acf-label{display:none}.acf-admin-toolbar{background:#fff;border-bottom:1px solid #ccd0d4;padding-top:10px}.acf-admin-toolbar h2{font-size:14px;line-height:2.5714285714;display:inline-block;padding:5px 0;margin:0 10px 0 0}.acf-admin-toolbar h2 i{vertical-align:middle;color:#babbbc}.acf-admin-toolbar .acf-tab{display:inline-block;font-size:14px;line-height:2.5714285714;padding:5px;margin:0 5px;text-decoration:none;color:inherit}.acf-admin-toolbar .acf-tab.is-active{border-bottom:#0071a4 solid 3px;padding-bottom:10px}.acf-admin-toolbar .acf-tab:hover{color:#00a0d2}.acf-admin-toolbar .acf-tab:focus{box-shadow:none}.acf-admin-toolbar a.btn-upgrade{display:inline-flex;background:#dee3ff;border:1px solid #c6d3f8;box-sizing:border-box;border-radius:.25rem;padding:0 .75rem;cursor:pointer;vertical-align:middle;margin-top:-6px;margin-left:20px;text-decoration:none}.acf-admin-toolbar a.btn-upgrade:hover{background:#d1ddff;border-color:#b9caf9}.acf-admin-toolbar a.btn-upgrade p{font-family:system-ui;font-weight:600;letter-spacing:.2;line-height:1;font-size:.625rem;text-transform:uppercase;color:#425fdd;margin-left:.65rem}#wpcontent .acf-admin-toolbar{margin-left:-20px;padding-left:20px}@media screen and (max-width: 600px){.acf-admin-toolbar{display:none}}.acf-admin-field-groups .tablenav.top{display:none}.acf-admin-field-groups .subsubsub{margin-bottom:3px}.acf-admin-field-groups .wp-list-table td,.acf-admin-field-groups .wp-list-table th{box-sizing:border-box}.acf-admin-field-groups .wp-list-table tr:hover{background:#f7f7f7}@media screen and (min-width: 782px){.acf-admin-field-groups .wp-list-table .column-acf-count{width:10%}}.acf-admin-field-groups .wp-list-table .row-actions span.file{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.acf-admin-field-groups .acf-secondary-text{color:#a0a5aa}.acf-multi-dashicon{position:relative;z-index:1}.acf-multi-dashicon:before,.acf-multi-dashicon:after{width:18px;height:18px;line-height:18px;font-size:14px;background:#fff;border:#7e8993 solid 1px;border-radius:2px;display:block}.acf-multi-dashicon:after{content:"";position:absolute;top:-3px;left:-3px;z-index:-1;background:#e7e7e7}.acf-css-tooltip{position:relative}.acf-css-tooltip:before{content:attr(aria-label);display:none;position:absolute;z-index:999;bottom:100%;left:50%;transform:translate(-50%, -8px);background:#191e23;border-radius:2px;padding:5px 10px;color:#fff;font-size:12px;line-height:1.4em;white-space:pre}.acf-css-tooltip:after{content:"";display:none;position:absolute;z-index:998;bottom:100%;left:50%;transform:translate(-50%, 4px);border:solid 6px transparent;border-top-color:#191e23}.acf-css-tooltip:hover:before,.acf-css-tooltip:hover:after,.acf-css-tooltip:focus:before,.acf-css-tooltip:focus:after{display:block}.acf-diff .acf-diff-title{position:absolute;top:0;left:0;right:0;height:40px;padding:14px 16px;background:#f3f3f3;border-bottom:#ddd solid 1px}.acf-diff .acf-diff-title strong{font-size:14px;display:block}.acf-diff .acf-diff-title .acf-diff-title-left,.acf-diff .acf-diff-title .acf-diff-title-right{width:50%;float:left}.acf-diff .acf-diff-content{position:absolute;top:70px;left:0;right:0;bottom:0;overflow:auto}.acf-diff table.diff{border-spacing:0}.acf-diff table.diff col.diffsplit.middle{width:0}.acf-diff table.diff td,.acf-diff table.diff th{padding-top:.25em;padding-bottom:.25em}.acf-diff table.diff tr td:nth-child(2){width:auto}.acf-diff table.diff td:nth-child(3){border-left:#ddd solid 1px}@media screen and (max-width: 600px){.acf-diff .acf-diff-title{height:70px}.acf-diff .acf-diff-content{top:100px}}.acf-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000;box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc}.acf-modal .acf-modal-title,.acf-modal .acf-modal-content,.acf-modal .acf-modal-toolbar{box-sizing:border-box;position:absolute;left:0;right:0}.acf-modal .acf-modal-title{height:50px;top:0;border-bottom:1px solid #ddd}.acf-modal .acf-modal-title h2{margin:0;padding:0 16px;line-height:50px}.acf-modal .acf-modal-title .acf-modal-close{position:absolute;top:0;right:0;height:50px;width:50px;border:none;border-left:1px solid #ddd;background:transparent;cursor:pointer;color:#666}.acf-modal .acf-modal-title .acf-modal-close:hover{color:#00a0d2}.acf-modal .acf-modal-content{top:50px;bottom:60px;background:#fff;overflow:auto;padding:16px}.acf-modal .acf-modal-feedback{position:absolute;top:50%;margin:-10px 0;left:0;right:0;text-align:center;opacity:.75}.acf-modal .acf-modal-feedback.error{opacity:1;color:#b52727}.acf-modal .acf-modal-toolbar{height:60px;bottom:0;padding:15px 16px;border-top:1px solid #ddd}.acf-modal .acf-modal-toolbar .button{float:right}@media only screen and (max-width: 640px){.acf-modal{top:0;left:0;right:0;bottom:0}}.acf-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;z-index:159900}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.acf-loading,.acf-spinner{background-image:url(../../images/spinner@2x.gif);background-size:20px 20px}} diff --git a/assets/build/css/acf-input.css b/assets/build/css/acf-input.css index 7204169..dbd9e7c 100644 --- a/assets/build/css/acf-input.css +++ b/assets/build/css/acf-input.css @@ -1,3 +1,6 @@ +/*!****************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-input.scss ***! + \****************************************************************************************************************************************************************************************************************/ /*-------------------------------------------------------------------------------------------- * * Vars @@ -647,6 +650,9 @@ html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow { .select2-container.-acf li { margin-bottom: 0; } +.select2-container.-acf[data-select2-id^=select2-data] .select2-selection--multiple { + overflow: hidden; +} .select2-container.-acf .select2-selection { border-color: #7e8993; } @@ -662,6 +668,14 @@ html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow { .select2-container.-acf .select2-selection--multiple .select2-selection__rendered { padding-right: 0; } +.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] { + display: inline; + padding: 0; + margin: 0; +} +.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] .select2-selection__choice { + margin-right: 0; +} .select2-container.-acf .select2-selection--multiple .select2-selection__choice { background-color: #f7f7f7; border-color: #cccccc; @@ -679,6 +693,11 @@ html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow { .select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper span { visibility: hidden; } +.select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove { + position: static; + border-right: none; + padding: 0; +} .select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-placeholder { background-color: #f7f7f7; border-color: #f7f7f7; @@ -695,6 +714,10 @@ html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow { white-space: normal; } +.select2-dropdown .select2-results__option { + margin-bottom: 0; +} + .select2-container .select2-dropdown { z-index: 900000; } @@ -2929,4 +2952,6 @@ body.is-dragging-metaboxes #acf_after_title-sortables { display: flow-root; min-height: 60px; margin-bottom: 3px !important; -} \ No newline at end of file +} + +/*# sourceMappingURL=acf-input.css.map*/ \ No newline at end of file diff --git a/assets/build/css/acf-input.css.js b/assets/build/css/acf-input.css.js new file mode 100644 index 0000000..104e9ad --- /dev/null +++ b/assets/build/css/acf-input.css.js @@ -0,0 +1,6 @@ +/******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ +/******/ +/******/ })() +; \ No newline at end of file diff --git a/assets/build/css/acf-input.css.map b/assets/build/css/acf-input.css.map new file mode 100644 index 0000000..85537ec --- /dev/null +++ b/assets/build/css/acf-input.css.map @@ -0,0 +1 @@ +{"version":3,"file":"acf-input.css","mappings":"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;EACA;EACA;EACA;EACA;ACnTJ;ADqTI;EACC;EACA;EACA;EACA;ACnTL;ADsTI;EACC;ACpTL;ADsTK;EACC;EACA;ACpTN;AD0TG;EACC;EACA;ACxTJ;AD0TI;EACC;ACxTL;AD0TK;EACC;ACxTN;AD+TG;EACC;AC7TJ;AD+TI;EACC;EACA;EACA;AC7TL;AD+TK;EACC;AC7TN;AD+TM;EACC;AC7TP;ADoUE;EACC;AClUH;ADoUG;;;EAGC;AClUJ;AD2UC;EAEC;EASA;EAWA;AC5VF;AFpvCC;EACC;EACA;EACA;AEsvCF;ADqUE;;EAEC;EACA;EACA;ACnUH;ADuUE;EACC;ACrUH;ADuUG;EACC;ACrUJ;AD8UG;EACC;EACA;EACA;EACA;EAEA;AC7UJ;AD8UI;EACC;EACA;AC5UL;ADiVG;EACC;AC/UJ;ADkVG;EACC;AChVJ;ADkVI;EACC;AChVL;;AD4VA;AAKE;EACC;AC7VH;ADgWE;EACC;AC9VH;;ADoWA;;;;2EAAA;AAWE;EACC;EACA;EACA;EACA;EACA;EACA;ACvWH;AD0WE;EACI;EACA;EACA;ACxWN;AD4WC;EACC;AC1WF;AD6WC;EACC;EACA;AC3WF;AD8WC;EACC;AC5WF;AD+WC;EACC,qBF1pDe;EE2pDf;AC7WF;;ADkXA;EACC;AC/WD;;ADkXA;;;;+FAAA;AAMA;EACC;AChXD;;ADoXA;EACC;ACjXD;;ADqXA;EACC;EACA;AClXD;;ADsXA;EACC;EACA;ACnXD;ADqXC;EACI;ACnXL;ADqXK;EACF;EACA;EAEA;EACA;EACG;EACA;EAEA;EACA;EACA;EACA;EACA;ACrXN;ADuXM;EACF;ACrXJ;ADwXG;EACC;EACA;ACtXJ;ADyXG;EACC;ACvXJ;AD8XE;EACC;AC5XH;ADiYE;EACC;EACA;EACG;EACA;EACA;EACA;AC/XN;;ADsYA;EACC;ACnYD;ADsYC;EACC;EACA;EACA;EAGA;EACA;ACtYF;ADwYE;EACC;EACA,qBFnwDc;AG63CjB;ADwYG;EACC;ACtYJ;AD0YE;EACC;ACxYH;AFp3CC;ECiwDE,qBFzwDkB;AG+3CrB;ADgZC;EACC;AC9YF;;ADwZC;EACC;EAEA;EAMA;AC3ZF;ADsZE;EAJD;IAKE;ECnZD;AACF;ADuZE;EACC;EACA;EAEA;ACtZH;ADuZG;EALD;IAME;ECpZF;AACF;;AD8ZC;EACC;EACA;EACA;EACA;EACA;EAAuB;EACvB;AC1ZF;AD6ZE;EACC;EACA;AC3ZH;AD6ZG;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC3ZJ;AD6ZI;EACC;AC3ZL;AD+ZG;EACC;EACA;EACA;EACA;AC7ZJ;ADkaE;EACC;EACA;AChaH;ADkaG;EACC;EACA;AChaJ;ADsaC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACpaF;AD6aG;EACC;AC3aJ;;ADkbA;AACA;EACC;EACA;EAEA;EAeA;AC9bD;ADgbC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC9aF;ADmbC;EACC;ACjbF;ADmbE;EACC;EACA;EACA;EACA;ACjbH;ADubC;EACC;EAEA;ACtbF;ADubE;EACC;ACrbH;ADwbE;EACC;EACA;EACA;ACtbH;ADybE;EACC;ACvbH;ADybG;EACC;ACvbJ;AD0bG;EACC;ACxbJ;AD+bC;EACC;AC7bF;;ADmcA;EACC;AChcD;ADmcC;EACC;EACA;EACA;EACA;ACjcF;ADmcE;EACC;ACjcH;ADmcG;EACC;ACjcJ;ADqcE;EACC;ACncH;;ADycA;AAIC;EACC;ACzcF;AD2cE;EACC;ACzcH;AD8cC;EACC;EACA;EACA,kBF9/DG;EE+/DH,mBF//DG;AGmjDL;AD8cE;EACC;EACA,qBF5/Dc;AGgjDjB;AD8cG;EACC;EACA,qBFhgEa;AGojDjB;AD8cI;EACC;AC5cL;ADgdG;EACC;AC9cJ;ADsdE;EACC;EACA;ACpdH;ADudE;EACC;ACrdH;ADudG;EACC;EACA;EACA;ACrdJ;ADwdG;EACC;ACtdJ;;ADkeE;;EAAI;AC7dN;AD8dE;;;EAAsB;ACzdxB;;AD6dA;EACC;AC1dD;;AD+dA;AACA;EACC;AC5dD;;AD+dA;EACC;EACA;AC5dD;;AD+dA;EACC;AC5dD;;ADieA;AACA;EACC;AC9dD;;ADieA;EACC;AC9dD;;ADieA;EACC;AC9dD;;ADkeA;AACA;EACC;EACA;AC/dD;;ADmeA;AAGA;EACC;ACleD;;ADqeA;AACC;EACC;ACleF;;ADseA;;;;8FAAA;AAMA;EACC;EACA;EACA;ACpeD;ADseC;EACC;EACA;EACA;ACpeF;ADseE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACpeH;ADueE;EACC;ACreH;ADyeC;EACC;EACA;EACA;ACveF;ADyeE;EACC;EACA;ACveH;AD0eE;EACC;EACA;EACA;EACA;ACxeH;AD2eE;EDjqED;EACA;EACA;EACA;ECgqEE;EAEA;EACA;EACA;EACA;ACveH;AD0eE;EACC;ACxeH;AD2eE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;ACzeH;AD2eG;EACC;EACA;EACA;ACzeJ;ADgfE;EACC;AC9eH;ADifE;EACC;AC/eH;ADkfE;EACC;AChfH;;ADsfA;;;;8FAAA;AAMA;EAEC;EAQA;EAiCA;EAMA;ACjiBD;AFrvDC;EACC;EACA;EACA;AEuvDF;ADgfC;EACC;AC9eF;ADmfC;EACC;EACA;EAuBA;ACvgBF;ADkfE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;AClfH;ADmfG;EACC;EACA;ACjfJ;ADufE;EACC;ACrfH;AD2fC;EACC;ACzfF;ADggBE;EACC;AC9fH;;ADsgBA;;;;8FAAA;AAMA;EACC;EA8CA;EAMA;ACtjBD;ADogBC;EACC;AClgBF;ADqgBC;EACC;EACA;EACA;EACA;ACngBF;ADsgBC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;ACpgBF;ADsgBE;EACC;EACA;EACA;EACA;ACpgBH;ADwgBC;EACC;EACA;ACtgBF;ADwgBE;EACC;EACA;EACA;EACA;ACtgBH;ADygBE;EACC;ACvgBH;AD4gBC;EACC;AC1gBF;ADihBE;EACC;EACA;EACA;EACA;AC/gBH;ADkhBE;EACC;EACA;AChhBH;;ADuhBA;;;;+FAAA;AAMA;EACC;ACrhBD;ADuhBC;EACC;EACA;ACrhBF;;AD0hBA;AACA;EACC;EACA;EACA;EACA;ACvhBD;;AD0hBA;EACC;EACA;EACA;EACA;ACvhBD;;AD2hBA;;;;+FAAA;AAMA;EAeC;ACviBD;AD0hBC;EACC;ACxhBF;AD0hBE;EACC;ACxhBH;AD4hBC;EACC;AC1hBF;AD+hBC;EACC;EACA;EACA;EACA;EACA;AC7hBF;;ADmiBA;;;;+FAAA;AAMA;EACC;EAmBA;EAQA;AC1jBD;ADiiBC;EACC;EACA;EACA;EACA;AC/hBF;ADkiBC;EACC;EACA;AChiBF;ADkiBE;EACC;AChiBH;ADuiBE;EACC;ACriBH;AD4iBE;EACC;EACA;AC1iBH;;ADijBA;;;;+FAAA;AAMA;EAmCC;ACjlBD;ADgjBC;;EAEC;EACA;EACA;EACA;AC9iBF;ADijBC;EACC;AC/iBF;ADkjBC;EACC;EACA;EACA;EACA;EACA;AChjBF;ADkjBE;EACC;AChjBH;ADqjBC;EACC;EACA;EACA;EACA;ACnjBF;AD0jBE;EACC;EACA;ACxjBH;AD2jBE;EAAc;ACxjBhB;ADyjBE;EAAe;ACtjBjB;;AD6jBA;;;;+FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA;AC3jBD;AD8jBC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AC5jBF;AD8jBE;EACC;AC5jBH;AD+jBE;EACC;EACA;EACA;EACA;AC7jBH;ADgkBE;EACC;AC9jBH;ADikBE;EACC;AC/jBH;ADmkBE;EACC;EACA;EACA;EACA;EACA;EACA;ACjkBH;ADqkBC;EACC;EACA;EACA;ACnkBF;ADwkBE;EACC;ACtkBH;;AD4kBA;EACC;EACA;EACA,qBF1kFkB;AGigEnB;AD2kBC;EACC;EACA;EACA;EACA;ACzkBF;AD4kBC;EACC;EACA;EACA;AC1kBF;AD4kBE;EACC;AC1kBH;AD4kBG;EACC;AC1kBJ;;ADilBA;AAEC;EACC;AC/kBF;ADklBC;EACC;EACA;EACA;EACA;AChlBF;ADmlBC;EACC;ACjlBF;;ADslBA;AACA;EACC;EACA;ACnlBD;ADqlBC;EACC;ACnlBF;;ADwlBA;AACA;EACC;ACrlBD;ADulBC;EACC;EACA;ACrlBF;ADwlBC;EACC;ACtlBF;;AD2lBA;AACA;EACC;EACA;ACxlBD;;AD4lBA;EACC;EACA;ACzlBD;AD2lBC;EACC;ACzlBF;;AD+lBA;AACA;EACC;AC5lBD;AD8lBC;EACC;AC5lBF;;ADimBA;AACA;EACC,iBF1rFiB;EE2rFjB,kBF3rFiB;EE4rFjB;AC9lBD;;ADkmBA;AAMA;AACA;;;;;;;;;CAAA;AAYA;AACA;EACC;EACA;ACtmBD;ADwmBC;EACC;ACtmBF;ADymBC;EACC;ACvmBF;;ADinBC;EACC;AC9mBF;ADknBC;EACC;AChnBF;ADonBC;EACC;AClnBF;;ADunBA;;;;+FAAA;AAYG;;EAEC;AC3nBJ;AD8nBI;;EAEC;AC5nBL;ADkoBE;EACC;EACA;AChoBH;ADkoBG;EACC;EACA;EACA;EACA;EAGA;EACA;EACA;ACloBJ;ADqoBI;EACC;ACnoBL;ADooBK;EACC;ACloBN;ADuoBI;EACC;EACA;EACA;ACroBL;ADuoBK;EACC;ACroBN;ADwoBK;EACC;EACA;ACtoBN;ADuoBM;EACC;ACroBP;AD0oBM;EACC;ACxoBP;;AClsEA;;;;8FAAA;AAMA;EAEC;EAkCA;EAYA;ADupED;ACpsEC;EAEC;EAkBA;ADorEF;ACrsEE;EACC;EACG;EAEA;ADssEN;ACrsEG;EACC;ADusEJ;ACpsEM;EACF;EACA;ADssEJ;AC/rEE;EACC;EAEA;ADgsEH;AC/rEG;EACC;ADisEJ;ACzrEC;EACC;EAEA;AD0rEF;ACzrEE;EACC;AD2rEH;ACprEC;EACC;ADsrEF;;ACjrEA;;EAGC;EAgBA;ADoqED;ACnrEC;;;;;;;;;;;;;;EAOI;AD4rEL;ACzrEC;;EACC;AD4rEF;ACvrEC;;;;;;;;;;;;;;;;EAQI;ADisEL;;AC3rEC;EACC;AD8rEF;AC3rEC;EACC;EAWF;;;;;;;;GAAA;AD2rEA;ACpsEE;EACC;ADssEH;ACpsEG;EACC;EACA;ADssEJ;ACvrEC;EACC;ADyrEF;;ACprEA;;;;8FAAA;AAOA;EACC;ADqrED;ACjrEE;EACC;ADmrEH;ACjrEG;EACC;EACA;ADmrEJ;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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_variables.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_mixins.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_fields.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/acf-input.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_forms.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_media.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_input.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_postbox.scss"],"sourcesContent":["/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* colors */\n$acf_blue: #2a9bd9;\n$acf_notice: #2a9bd9;\n$acf_error: #d94f4f;\n$acf_success: #49ad52;\n$acf_warning: #fd8d3b;\n\n/* acf-field */\n$field_padding: 15px 12px;\n$field_padding_x: 12px;\n$field_padding_y: 15px;\n$fp: 15px 12px;\n$fy: 15px;\n$fx: 12px;\n\n/* responsive */\n$md: 880px;\n$sm: 640px;\n\n// Admin.\n$wp-card-border: #ccd0d4;\t\t\t// Card border.\n$wp-card-border-1: #d5d9dd;\t\t\t// Card inner border 1: Structural (darker).\n$wp-card-border-2: #eeeeee;\t\t\t// Card inner border 2: Fields (lighter).\n$wp-input-border: #7e8993;\t\t\t// Input border.\n\n// Admin 3.8\n$wp38-card-border: #E5E5E5;\t\t\t// Card border.\n$wp38-card-border-1: #dfdfdf;\t\t// Card inner border 1: Structural (darker).\n$wp38-card-border-2: #eeeeee;\t\t// Card inner border 2: Fields (lighter).\n$wp38-input-border: #dddddd;\t\t// Input border.","/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n@mixin clearfix() {\n\t&:after {\n\t\tdisplay: block;\n\t\tclear: both;\n\t\tcontent: \"\";\n\t}\n}\n\n@mixin border-box() {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n}\n\n@mixin centered() {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n@mixin animate( $properties: 'all' ) {\n\t-webkit-transition: $properties 0.3s ease; // Safari 3.2+, Chrome\n -moz-transition: $properties 0.3s ease; \t// Firefox 4-15\n -o-transition: $properties 0.3s ease; \t\t// Opera 10.5–12.00\n transition: $properties 0.3s ease; \t\t// Firefox 16+, Opera 12.50+\n}\n\n@mixin rtl() {\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t\t@content;\n\t}\n}\n\n@mixin wp-admin( $version: '3-8' ) {\n\t.acf-admin-#{$version} & {\n\t\t@content;\n\t}\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tacf-field\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-field,\n.acf-field .acf-label,\n.acf-field .acf-input {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tposition: relative;\n}\n\n.acf-field {\n\tmargin: 15px 0;\n\t\n\t// clear is important as it will avoid any layout issues with floating fields\n\t// do not delete (you have tried this)\n\tclear: both;\n\t\n\t// description\n\tp.description {\n\t\tdisplay: block;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\t\n\t// label\n\t.acf-label {\n\t\tvertical-align: top;\n\t\tmargin: 0 0 10px;\n\t\t\n\t\tlabel {\n\t\t display: block;\n\t\t font-weight: bold;\n\t\t margin: 0 0 3px;\n\t\t\tpadding: 0;\n\t\t}\n\t\t\n\t\t&:empty {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n\t\n\t// input\n\t.acf-input {\n\t\tvertical-align: top;\n\t\t\n\t\t> p.description {\n\t\t\tmargin-top: 5px;\n\t\t}\n\t}\n\t\n\t// notice\n\t.acf-notice {\n\t\tmargin: 0 0 15px;\n\t\tbackground: #edf2ff;\n\t\tcolor: #0c6ca0;\n\t\tborder-color: #2183b9;\n\n\t\t// error\n\t\t&.-error {\n\t\t\tbackground: #ffe6e6;\n\t\t\tcolor: #cc2727;\n\t\t\tborder-color: #d12626;\n\t\t}\n\t\t\n\t\t// success\n\t\t&.-success {\n\t\t\tbackground: #eefbe8;\n\t\t\tcolor: #0e7b17;\n\t\t\tborder-color: #32a23b;\n\t\t}\n\t\t\n\t\t// warning\n\t\t&.-warning {\n\t\t\tbackground: #fff3e6;\n\t\t\tcolor: #bd4b0e;\n\t\t\tborder-color: #d16226;\n\t\t}\n\t}\n\t\n\t// table\n\t@at-root td#{&}, tr#{&} {\n\t\tmargin: 0;\n\t}\n}\n\n// width\n.acf-field[data-width] {\n\tfloat: left;\n\tclear: none;\n\t\n\t// next\n\t+ .acf-field[data-width] {\n\t\tborder-left: 1px solid #eeeeee;\t\n\t}\n\t\n\t// rtl\n\thtml[dir=\"rtl\"] & {\n\t\tfloat: right;\n\t\t\n\t\t+ .acf-field[data-width] {\n\t\t\tborder-left: none;\n\t\t\tborder-right: 1px solid #eeeeee;\t\n\t\t}\n\t}\n\t\n\t// table\n\t@at-root td#{&}, tr#{&} {\n\t\tfloat: none;\n\t}\n\t\n\t// mobile\n/*\n\t@media screen and (max-width: $sm) {\n\t\tfloat: none;\n\t\twidth: auto;\n\t\tborder-left-width: 0;\n\t\tborder-right-width: 0;\n\t}\n*/\n}\n\n\n// float helpers\n.acf-field.-c0 {\n\tclear: both;\n\tborder-left-width: 0 !important;\n\t\n\t// rtl\n\thtml[dir=\"rtl\"] & {\n\t\tborder-left-width: 1px !important;\n\t\tborder-right-width: 0 !important;\n\t}\n}\n\n.acf-field.-r0 {\n\tborder-top-width: 0 !important;\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-fields {\n\tposition: relative;\n\t\n\t// clearifx\n\t@include clearfix();\n\t\n\t// border\n\t&.-border {\n\t\tborder: $wp-card-border solid 1px;\n\t\tbackground: #fff;\n\t}\n\t\n\t// field\n\t> .acf-field {\n\t\tposition: relative;\n\t\tmargin: 0;\n\t\tpadding: $field_padding;\n\t\tborder-top: #EEEEEE solid 1px;\n\t\t\n\t\t// first\n\t\t&:first-child {\n\t\t\tborder-top: none;\n\t\t\tmargin-top: 0;\n\t\t}\n\t}\n\t\n\t// table\n\t@at-root td#{&} {\n\t\tpadding: 0 !important;\n\t}\n}\n\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields (clear)\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-fields.-clear > .acf-field {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 15px 0;\n\t\n\t// width\n\t&[data-width] {\n\t\tborder: none !important;\n\t}\n\t\n\t// label\n\t> .acf-label {\n\t\tpadding: 0;\n\t}\n\t\n\t// input\n\t> .acf-input {\n\t\tpadding: 0;\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields (left)\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-fields.-left > .acf-field {\n\tpadding: $fy 0;\n\t\n\t// clearifx\n\t@include clearfix();\n\t\n\t// sidebar\n\t&:before {\n\t\tcontent: \"\";\n\t display: block;\n\t position: absolute;\n\t z-index: 0;\n\t background: #F9F9F9;\n\t border-color: #E1E1E1;\n\t border-style: solid;\n\t border-width: 0 1px 0 0;\n\t top: 0;\n\t bottom: 0;\n\t left: 0;\n\t width: 20%;\n\t}\n\t\n\t// width\n\t&[data-width] {\n\t\tfloat: none;\n\t\twidth: auto !important;\n\t\tborder-left-width: 0 !important;\n\t\tborder-right-width: 0 !important;\n\t}\n\t\n\t// label\n\t> .acf-label {\n\t\tfloat: left;\n\t\twidth: 20%;\n\t\tmargin: 0;\n\t\tpadding: 0 $fx;\n\t}\n\t\n\t// input\n\t> .acf-input {\n\t\tfloat: left;\n\t\twidth: 80%;\n\t\tmargin: 0;\n\t\tpadding: 0 $fx;\n\t}\n\t\n\t// rtl\n\thtml[dir=\"rtl\"] & {\n\t\t\n\t\t// sidebar\n\t\t&:before {\n\t\t\tborder-width: 0 0 0 1px;\n\t\t\tleft: auto;\n\t\t\tright: 0;\n\t\t}\n\t\t\n\t\t// label\n\t\t> .acf-label {\n\t\t\tfloat: right;\n\t\t}\n\t\t\n\t\t// input\n\t\t> .acf-input {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\t\n\t// In sidebar.\n\t#side-sortables & {\n\t\t&:before { \n\t\t\tdisplay: none;\n\t\t}\n\t\t> .acf-label {\n\t\t\twidth: 100%;\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\t\t> .acf-input {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\t\n\t// mobile\n\t@media screen and (max-width: $sm) {\n\t\t\n\t\t// sidebar\n\t\t&:before { \n\t\t\tdisplay: none;\n\t\t}\n\t\t\n\t\t// label\n\t\t> .acf-label {\n\t\t\twidth: 100%;\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\t\t\n\t\t// input\n\t\t> .acf-input {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n}\n\n/* clear + left */\n.acf-fields.-clear.-left > .acf-field {\n\tpadding: 0;\n\tborder: none;\n\t\n\t// sidebar\n\t&:before {\n\t\tdisplay: none;\n\t}\n\t\n\t// label\n\t> .acf-label {\n\t\tpadding: 0;\n\t}\n\t\n\t// input\n\t> .acf-input {\n\t\tpadding: 0;\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-table\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-table tr.acf-field {\n\t\n\t// label\n\t> td.acf-label {\n\t\tpadding: $fp;\n\t\tmargin: 0;\n\t\tbackground: #F9F9F9;\n\t width: 20%;\n\t}\n\t\n\t// input\n\t> td.acf-input {\n\t\tpadding: $fp;\n\t\tmargin: 0;\n\t\tborder-left-color: #E1E1E1;\n\t}\n}\n\n.acf-sortable-tr-helper {\n\tposition: relative !important;\n\tdisplay: table-row !important;\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-postbox\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-postbox {\n\tposition: relative;\n\t\n\t// inside\n\t> .inside {\n\t\tmargin: 0 !important; /* override WP style - do not delete - you have tried this before */\n\t\tpadding: 0 !important; /* override WP style - do not delete - you have tried this before */\n\t}\n\n\t// Edit cog.\n\t.acf-hndle-cog {\n\t\tcolor: #72777c;\n\t\tfont-size: 16px;\n\t\tline-height: 36px;\n\t\theight: 36px; // Mimic WP 5.5\n\t\twidth: 1.62rem; // Mimic WP 5.5\n\t\tposition: relative;\n\t\tdisplay: none;\n\t\t&:hover {\n\t\t\tcolor: #191e23;\n\t\t}\n\t}\n\n\t// Show on hover.\n\t> .hndle:hover,\n\t> .postbox-header:hover {\n\t\t.acf-hndle-cog {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t// WP < 5.5 styling\n\t> .hndle {\n\t\t.acf-hndle-cog {\n\t\t\theight: 20px;\n\t\t\tline-height: 20px;\n\t\t\tfloat: right;\n\t\t\twidth: auto;\n\t\t\t&:hover {\n\t\t\t\tcolor: #777777;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// replace\n\t.acf-replace-with-fields {\n\t\tpadding: 15px;\n\t\ttext-align: center;\n\t}\n}\n\n// Correct margin around #acf_after_title\n#post-body-content #acf_after_title-sortables {\n\tmargin: 20px 0 -20px;\n}\n\n/* seamless */\n.acf-postbox.seamless {\n\tborder: 0 none;\n\tbackground: transparent;\n\tbox-shadow: none;\n\t\n\t\n\t/* hide hndle */\n\t> .postbox-header,\n\t> .hndle,\n\t> .handlediv {\n\t\tdisplay: none !important;\n\t}\n\t\n\t\n\t/* inside */\n\t> .inside {\n\t\tdisplay: block !important; /* stop metabox from hiding when closed */\n\t\tmargin-left: -$field_padding_x !important;\n\t\tmargin-right: -$field_padding_x !important;\n\t\t\n\t\t> .acf-field {\n\t\t\tborder-color: transparent;\n\t\t}\n\t}\n}\n\n\n/* seamless (left) */\n.acf-postbox.seamless > .acf-fields.-left {\n\t\n\t/* hide sidebar bg */\n\t> .acf-field:before { \n\t\tdisplay: none;\n\t}\n\t\n\t\n\t/* mobile */\n\t@media screen and (max-width: 782px) {\n\t\t\n\t\t/* remove padding */\n\t\t& > .acf-field > .acf-label,\n\t\t& > .acf-field > .acf-input {\n\t\t\tpadding: 0;\t\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Inputs\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field {\n\tinput[type=\"text\"],\n\tinput[type=\"password\"],\n\tinput[type=\"date\"],\n\tinput[type=\"datetime\"],\n\tinput[type=\"datetime-local\"],\n\tinput[type=\"email\"],\n\tinput[type=\"month\"],\n\tinput[type=\"number\"],\n\tinput[type=\"search\"],\n\tinput[type=\"tel\"],\n\tinput[type=\"time\"],\n\tinput[type=\"url\"],\n\tinput[type=\"week\"],\n\ttextarea,\n\tselect {\n\t width: 100%;\n\t\tpadding: 4px 8px;\n\t\tmargin: 0;\n\t\tbox-sizing: border-box;\n\t font-size: 14px;\n\t line-height: 1.4;\n\t \n\t // WP Admin 3.8\n\t\t@include wp-admin('3-8') {\n\t\t\tpadding: 3px 5px;\n\t\t}\n\t}\n\ttextarea {\n\t\tresize: vertical;\n\t}\n}\n\n// Fix extra padding in Firefox.\nbody.acf-browser-firefox .acf-field select {\n\tpadding: 4px 5px;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Text\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-input-prepend,\n.acf-input-append,\n.acf-input-wrap {\n\tbox-sizing: border-box;\n}\n\n.acf-input-prepend,\n.acf-input-append {\n\tfont-size: 14px;\n\tline-height: 1.4;\n\tpadding: 4px 8px;\n\tbackground: #f5f5f5;\n\tborder: $wp-input-border solid 1px;\n\tmin-height: 30px;\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\tpadding: 3px 5px;\n\t\tborder-color: $wp38-input-border;\n\t\tmin-height: 28px;\n\t}\n}\n\n.acf-input-prepend {\n\tfloat: left;\n\tborder-right-width: 0;\n\tborder-radius: 3px 0 0 3px;\n}\n\n.acf-input-append {\n\tfloat: right;\n\tborder-left-width: 0;\n\tborder-radius: 0 3px 3px 0;\n}\n\n.acf-input-wrap {\n\tposition: relative;\n\toverflow: hidden;\n\t.acf-is-prepended {\n\t\tborder-radius: 0 3px 3px 0 !important;\n\t}\n\t.acf-is-appended {\n\t\tborder-radius: 3px 0 0 3px !important;\n\t}\n\t.acf-is-prepended.acf-is-appended {\n\t\tborder-radius: 0 !important;\n\t}\n}\n\n/* rtl */\nhtml[dir=\"rtl\"] .acf-input-prepend {\n\tborder-left-width: 0;\n\tborder-right-width: 1px;\n\tborder-radius: 0 3px 3px 0;\n\t\n\tfloat: right;\n}\n\nhtml[dir=\"rtl\"] .acf-input-append {\n\tborder-left-width: 1px;\n\tborder-right-width: 0;\n\tborder-radius: 3px 0 0 3px;\n\tfloat: left;\n}\n\nhtml[dir=\"rtl\"] input.acf-is-prepended {\n\tborder-radius: 3px 0 0 3px !important;\n}\n\nhtml[dir=\"rtl\"] input.acf-is-appended {\n\tborder-radius: 0 3px 3px 0 !important;\n}\n\nhtml[dir=\"rtl\"] input.acf-is-prepended.acf-is-appended {\n\tborder-radius: 0 !important;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Color Picker\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-color-picker {\n\t.wp-color-result {\n\t\tborder-color: $wp-input-border;\n\t\t@include wp-admin('3-8') {\n\t\t\tborder-color: $wp-card-border;\n\t\t}\n\t}\n\t.wp-picker-active {\n\t\tposition: relative;\n\t\tz-index: 1;\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Url\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-url {\n\t\n\ti {\n\t\tposition: absolute;\n\t\ttop: 5px;\n\t\tleft: 5px;\n\t\topacity: 0.5;\n\t\tcolor: #7e8993;\n\t}\n\t\n\tinput[type=\"url\"] {\n\t\tpadding-left: 27px !important;\n\t}\n\t\n\t&.-valid i {\n\t\topacity: 1;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Select2 (v3)\n*\n*---------------------------------------------------------------------------------------------*/\n\n.select2-container.-acf {\n\t\n\t.select2-choices {\n\t\tbackground: #fff;\n\t border-color: #ddd;\n\t box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset;\n\t min-height: 31px;\n\t \n\t .select2-search-choice {\n\t\t\tmargin: 5px 0 5px 5px;\n\t\t\tpadding: 3px 5px 3px 18px;\n\t\t\tborder-color: #bbb;\n\t\t\tbackground: #f9f9f9;\n\t\t\tbox-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset;\n\t\t\t\n\t\t\t/* sortable item*/\n\t\t\t &.ui-sortable-helper {\n\t\t\t\t background: #5897fb;\n\t\t\t\t border-color: darken(#5897fb, 5%);\n\t\t\t\t color: #fff;\n\t\t\t\t box-shadow: 0 0 3px rgba(0,0,0,0.1);\n\t\t\t\t \n\t\t\t\t a {\n\t\t\t\t\t visibility: hidden;\n\t\t\t\t }\n\t\t\t }\n\t\t\t \n\t\t\t \n\t\t\t /* sortable shadow */\n\t\t\t &.ui-sortable-placeholder {\n\t\t\t\t background-color: #f7f7f7;\n\t\t\t\t border-color: #f7f7f7;\n\t\t\t\t visibility: visible !important;\n\t\t\t }\n\t\t}\n\t\t\n\t\t.select2-search-choice-focus {\n\t\t\tborder-color: #999;\n\t\t}\n\t\t\n\t\t.select2-search-field input {\n\t\t\theight: 31px;\n\t\t\tline-height: 22px;\n\t\t\tmargin: 0;\n\t\t\tpadding: 5px 5px 5px 7px;\n\t\t}\n\t}\n\t\n\t.select2-choice {\n\t border-color: #BBBBBB;\n\t \n\t .select2-arrow {\n\t\t\tbackground: transparent;\n\t\t\tborder-left-color: #DFDFDF;\n\t\t\tpadding-left: 1px;\n\t\t}\n\t\t\n\t\t.select2-result-description { \n\t\t\tdisplay: none;\t\n\t\t}\n\t}\n\t\n\t\n\t\n\t/* open */\n\t&.select2-container-active .select2-choices,\n\t&.select2-dropdown-open .select2-choices {\n\t\tborder-color: #5B9DD9;\n\t\tborder-radius: 3px 3px 0 0;\n\t}\n\t\n\t\n\t/* single open */\n\t&.select2-dropdown-open .select2-choice {\n\t\tbackground: #fff;\n\t\tborder-color: #5B9DD9;\n\t}\n\t\n}\n\n/* rtl */\nhtml[dir=\"rtl\"] .select2-container.-acf {\n\t\n\t.select2-search-choice-close {\n\t left: 24px;\n\t}\n\t\n\t.select2-choice > .select2-chosen {\n\t margin-left: 42px;\n\t}\n\t\n\t.select2-choice .select2-arrow {\n\t padding-left: 0;\n\t padding-right: 1px; \n\t}\n}\n\n\n/* description */\n.select2-drop {\n\t\n\t/* search*/\n\t.select2-search {\n\t\tpadding: 4px 4px 0;\n\t}\n\t\n\t\n\t/* result */\n\t.select2-result {\n\t\n\t\t.select2-result-description {\n\t\t\tcolor: #999;\n\t\t\tfont-size: 12px;\n\t\t\tmargin-left: 5px;\n\t\t}\n\t\t\n\t\t\n\t\t/* hover*/\n\t\t&.select2-highlighted {\n\t\t\t\n\t\t\t.select2-result-description {\n\t\t\t\tcolor: #fff;\n\t\t\t\topacity: 0.75;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\n\t}\n\t\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Select2 (v4)\n*\n*---------------------------------------------------------------------------------------------*/\n.select2-container.-acf {\n\t// Reset WP default style.\n\tli {\n\t\tmargin-bottom: 0;\n\t}\n\n\t// select2 4.1 specific targeting for plugin conflict resolution.\n\t&[data-select2-id^='select2-data'] {\n\t\t.select2-selection--multiple {\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t// Customize border color to match WP admin.\n\t.select2-selection {\n\t\tborder-color: $wp-input-border;\n\n\t\t// WP Admin 3.8\n\t\t@include wp-admin('3-8') {\n\t\t\tborder-color: #aaa;\n\t\t}\n\t}\n\n\t// Multiple wrap.\n\t.select2-selection--multiple {\n\n\t\t// If no value, increase hidden search input full width.\n\t\t// Overrides calculated px width issues.\n\t\t.select2-search--inline:first-child {\n\t\t\tfloat: none;\n\t\t\tinput {\n\t\t\t\twidth: 100% !important;\n\t\t\t}\n\t\t}\n\n\t\t// ul: Remove padding because li already has margin-right.\n\t\t.select2-selection__rendered {\n\t\t\tpadding-right: 0;\n\t\t}\n\n\t\t// incredibly specific targeting of an ID that only gets applied in select2 4.1 to solve plugin conflicts\n\t\t.select2-selection__rendered[id^='select2-acf-field'] {\n\t\t\tdisplay: inline;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\n\t\t\t.select2-selection__choice {\n\t\t\t\tmargin-right: 0;\n\t\t\t}\n\t\t}\n\n\t\t// li\n\t\t.select2-selection__choice {\n\t\t\tbackground-color: #f7f7f7;\n\t\t\tborder-color: #cccccc;\n\n\t\t\t// Allow choice to wrap multiple lines.\n\t\t\tmax-width: 100%;\n\t\t\toverflow: hidden;\n\t\t\tword-wrap: normal !important;\n\t\t\twhite-space: normal;\n\n\t\t\t// Sortable.\n\t\t\t&.ui-sortable-helper {\n\t\t\t\tbackground: #5897fb;\n\t\t\t\tborder-color: darken(#5897fb, 5%);\n\t\t\t\tcolor: #fff;\n\t\t\t\tbox-shadow: 0 0 3px rgba(0, 0, 0, 0.1);\n\n\t\t\t\tspan {\n\t\t\t\t\tvisibility: hidden;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fixed for select2's 4.1 css changes when loaded by another plugin.\n\t\t\t.select2-selection__choice__remove {\n\t\t\t\tposition: static;\n\t\t\t\tborder-right: none;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\n\t\t\t// Sortable shadow\n\t\t\t&.ui-sortable-placeholder {\n\t\t\t\tbackground-color: #f7f7f7;\n\t\t\t\tborder-color: #f7f7f7;\n\t\t\t\tvisibility: visible !important;\n\t\t\t}\n\t\t}\n\n\t\t// search\n\t\t.select2-search__field {\n\t\t\tbox-shadow: none !important;\n\t\t\tmin-height: 0;\n\t\t}\n\t}\n\n\t// Fix single select pushing out repeater field table width.\n\t.acf-row & .select2-selection--single {\n\t\toverflow: hidden;\n\t\t.select2-selection__rendered {\n\t\t\twhite-space: normal;\n\t\t}\n\t}\n}\n\n// remove bottom margin on options\n.select2-dropdown .select2-results__option {\n\tmargin-bottom: 0;\n}\n\n// z-index helper.\n.select2-container {\n\t.select2-dropdown {\n\t\tz-index: 900000;\n\n\t\t// Reset input height.\n\t\t.select2-search__field {\n\t\t\tline-height: 1.4;\n\t\t\tmin-height: 0;\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Link\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-link {\n\t\n\t.link-wrap {\n\t\tdisplay: none;\n\t\tborder: $wp-card-border solid 1px;\n\t\tborder-radius: 3px;\n\t\tpadding: 5px;\n\t\tline-height: 26px;\n\t\tbackground: #fff;\n\t\t\n\t\tword-wrap: break-word;\n\t\tword-break: break-all;\n\t\t\n\t\t.link-title {\n\t\t\tpadding: 0 5px;\n\t\t}\n\t}\n\t\n\t// Has value.\n\t&.-value {\n\t\t.button {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.acf-icon.-link-ext {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.link-wrap {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\t\n\t// Is external.\n\t&.-external {\n\t\t.acf-icon.-link-ext {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n\n#wp-link-backdrop { \n\tz-index: 900000 !important;\n}\n#wp-link-wrap { \n\tz-index: 900001 !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Radio\n*\n*---------------------------------------------------------------------------------------------*/\n\nul.acf-radio-list,\nul.acf-checkbox-list {\n\tbackground: transparent;\n\tposition: relative;\n\tpadding: 1px;\n\tmargin: 0;\n\t\n\tli {\n\t\tfont-size: 13px;\n\t\tline-height: 22px;\n\t\tmargin: 0;\n\t\tposition: relative;\n\t\tword-wrap: break-word;\n\t\t\n\t\tlabel {\n\t\t\tdisplay: inline;\n\t\t}\n\n\t\tinput[type=\"checkbox\"],\n\t\tinput[type=\"radio\"] {\n\t\t\tmargin: -1px 4px 0 0;\n\t\t\tvertical-align: middle;\n\t\t}\n\t\t\n\t\tinput[type=\"text\"] {\n\t\t\twidth: auto;\n\t\t\tvertical-align: middle;\n\t\t\tmargin: 2px 0;\n\t\t}\n\t\t\n\t\t\n\t\t/* attachment sidebar fix*/\n\t\tspan {\n\t\t\tfloat: none;\n\t\t}\n\t\t\n\t\ti {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n\t\n\t\n\t/* hl */\n\t&.acf-hl {\n\t\t\n\t\tli {\n\t\t\tmargin-right: 20px;\n\t\t\tclear: none;\n\t\t}\n\t}\n\t\n\t\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\t\n\t\tinput[type=\"checkbox\"],\n\t\tinput[type=\"radio\"] {\n\t\t\tmargin-left: 4px;\n\t\t\tmargin-right: 0;\n\t\t}\n\t}\n\t\n\t\n\t\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Button Group\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-button-group {\n\tdisplay: inline-block;\n\t\n\tlabel {\n\t\tdisplay: inline-block;\n\t\tborder: $wp-input-border solid 1px;\n\t\tposition: relative;\n\t\tz-index: 1;\n\t\tpadding: 5px 10px;\n\t\tbackground: #fff;\n\t\t\n\t\t&:hover {\n\t\t\tcolor: #016087;\n\t\t\tbackground: #f3f5f6;\n\t\t\tborder-color: #0071a1;\n\t\t\tz-index: 2;\n\t\t}\n\t\t\n\t\t&.selected {\n\t\t\tborder-color: #007cba;\n\t\t\tbackground: lighten(#007cba, 5%);\n\t\t\tcolor: #fff;\n\t\t\tz-index: 2;\n\t\t}\n\t}\n\t\n\tinput {\n\t\tdisplay: none !important;\n\t}\n\t\n\t\n\t/* default (horizontal) */\n\t& {\n\t\tpadding-left: 1px;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: nowrap;\n\t\t\n\t\tlabel {\n\t\t\tmargin: 0 0 0 -1px;\n\t\t\tflex: 1;\n\t\t\ttext-align: center;\n\t\t\twhite-space: nowrap;\n\t\t\n\t\t\t// corners\n\t\t\t&:first-child { \n\t\t\t\tborder-radius: 3px 0 0 3px;\n\t\t\t\thtml[dir=\"rtl\"] & { border-radius: 0 3px 3px 0; }\n\t\t\t}\n\t\t\t&:last-child { \n\t\t\t\tborder-radius: 0 3px 3px 0;\n\t\t\t\thtml[dir=\"rtl\"] & { border-radius: 3px 0 0 3px; }\n\t\t\t}\n\t\t\t&:only-child { border-radius: 3px; }\n\t\t}\n\t}\n\t\n\t\n\t/* vertical */\n\t&.-vertical {\n\t\tpadding-left: 0;\n\t\tpadding-top: 1px;\n\t\tflex-direction: column;\n\t\t\n\t\tlabel {\n\t\t\tmargin: -1px 0 0 0;\n\t\t\t\n\t\t\t// corners\n\t\t\t&:first-child { border-radius: 3px 3px 0 0; }\n\t\t\t&:last-child { border-radius: 0 0 3px 3px; }\n\t\t\t&:only-child { border-radius: 3px; }\n\t\t\t\n\t\t}\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\tlabel {\n\t\t\tborder-color: $wp-card-border;\n\t\t\t&:hover {\n\t\t\t\tborder-color: #0071a1;\n\t\t\t}\n\t\t\t&.selected {\n\t\t\t\tborder-color: #007cba;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Checkbox\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-checkbox-list {\n\t\n\t.button {\n\t\tmargin: 10px 0 0;\n\t}\n\t\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* True / False\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-switch {\n\tdisplay: inline-block;\n\tborder-radius: 5px;\n\tcursor: pointer;\n\tposition: relative;\n\tbackground: #f5f5f5;\n\theight: 30px;\n\tvertical-align: middle;\n\tborder: $wp-input-border solid 1px;\n\t\n\t-webkit-transition: background 0.25s ease;\n\t-moz-transition: background 0.25s ease;\n\t-o-transition: background 0.25s ease;\n\ttransition: background 0.25s ease;\n\t\n\tspan {\n\t\tdisplay: inline-block;\n\t\tfloat: left;\n\t\ttext-align: center;\n\t\t\n\t\tfont-size: 13px;\n\t\tline-height: 22px;\n\t\t\n\t\tpadding: 4px 10px;\n\t\tmin-width: 15px;\n\t\t\n\t\ti {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n\t\n\t.acf-switch-on {\n\t\tcolor: #fff;\n\t\ttext-shadow: #007cba 0 1px 0;\n\t}\n\t\n\t.acf-switch-off {\n\t\t\n\t}\n\t\n\t.acf-switch-slider {\n\t\tposition: absolute;\n\t\ttop: 2px;\n\t\tleft: 2px;\n\t\tbottom: 2px;\n\t\tright: 50%;\n\t\tz-index: 1;\n\t\tbackground: #fff;\n\t\tborder-radius: 3px;\n\t\tborder: $wp-input-border solid 1px;\n\t\t\n\t\t-webkit-transition: all 0.25s ease;\n\t\t-moz-transition: all 0.25s ease;\n\t\t-o-transition: all 0.25s ease;\n\t\ttransition: all 0.25s ease;\n\t\t\n\t\ttransition-property: left, right;\n\t}\n\t\n\t/* hover */\n\t&:hover,\n\t&.-focus {\n\t\tborder-color: #0071a1;\n\t\tbackground: #f3f5f6;\n\t\tcolor: #016087;\n\t\t.acf-switch-slider{\n\t\t\tborder-color: #0071a1;\n\t\t}\n\t}\n\t\n\t/* active */\n\t&.-on {\n\t\tbackground: #0d99d5;\n\t\tborder-color: #007cba;\n\t\t\n\t\t.acf-switch-slider {\n\t\t\tleft: 50%;\n\t\t\tright: 2px;\n\t\t\tborder-color: #007cba;\n\t\t}\n\t\t\n\t\t/* hover */\n\t\t&:hover {\n\t\t\tborder-color: #007cba;\n\t\t}\n\t}\n\t\n\t/* message */\n\t+ span {\n\t\tmargin-left: 6px;\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\tborder-color: $wp-card-border;\n\t\t.acf-switch-slider {\n\t\t\tborder-color: $wp-card-border;\n\t\t}\n\t\t\n\t\t&:hover,\n\t\t&.-focus {\n\t\t\tborder-color: #0071a1;\n\t\t\t.acf-switch-slider{\n\t\t\t\tborder-color: #0071a1;\n\t\t\t}\n\t\t}\n\t\t\n\t\t&.-on {\n\t\t\tborder-color: #007cba;\n\t\t\t.acf-switch-slider {\n\t\t\t\tborder-color: #007cba;\n\t\t\t}\n\t\t\t&:hover {\n\t\t\t\tborder-color: #007cba;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/* checkbox */\n.acf-switch-input {\n\topacity: 0;\n\tposition: absolute;\n\tmargin: 0;\n}\n\n\n/* in media modal */\n.compat-item .acf-true-false {\n\t\n\t.message {\n\t\tfloat: none;\n\t\tpadding: 0;\n\t\tvertical-align: middle;\n\t}\n\t\n}\n\n\n/*--------------------------------------------------------------------------\n*\n*\tGoogle Map\n*\t\n*-------------------------------------------------------------------------*/\n\n.acf-google-map {\n\tposition: relative;\n\tborder: $wp-card-border solid 1px;\n\tbackground: #fff;\n\t\n\t.title {\n\t\tposition: relative;\n\t\tborder-bottom: $wp-card-border solid 1px;\n\t\t\n\t\t.search {\n\t\t\tmargin: 0;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 30px;\n\t\t\theight: 40px;\n\t\t\tpadding: 5px 10px;\n\t\t\tborder: 0 none;\n\t\t\tbox-shadow: none;\n\t\t\tborder-radius: 0;\n\t\t\tfont-family: inherit;\n\t\t\tcursor: text;\n\t\t}\n\t\t\n\t\t.acf-loading {\n\t\t\tposition: absolute;\n\t\t\ttop: 10px;\n\t\t\tright: 11px;\n\t\t\tdisplay: none;\n\t\t}\n\t\t\n\t\t// Avoid icons disapearing when click/blur events conflict.\n\t\t.acf-icon:active {\n\t\t\tdisplay: inline-block !important;\n\t\t}\n\t}\n\t\n\t.canvas {\n\t\theight: 400px;\n\t}\n\t\n\t// Show actions on hover.\n\t&:hover .title .acf-actions { \n\t\tdisplay: block;\n\t}\n\t\n\t// Default state (show locate, hide search and cancel).\n\t.title {\n\t\t.acf-icon.-location {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t.acf-icon.-cancel,\n\t\t.acf-icon.-search {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\t\n\t// Has value (hide locate, show cancel).\n\t&.-value .title { \n\t\t.search {\n\t\t\tfont-weight: bold;\n\t\t}\n\t\t.acf-icon.-location {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.acf-icon.-cancel {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\t\n\t// Is searching (hide locate, show search and cancel).\n\t&.-searching .title {\n\t\t.acf-icon.-location {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.acf-icon.-cancel,\n\t\t.acf-icon.-search {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t\n\t\t// Show actions.\n\t\t.acf-actions { \n\t\t\tdisplay: block;\n\t\t}\n\t\t\n\t\t// Change search font-weght.\n\t\t.search {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\t}\n\t\n\t// Loading.\n\t&.-loading .title {\n\t\ta {\n\t\t\tdisplay: none !important;\n\t\t}\n\t\ti {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\t\n}\n\n\n\n/* autocomplete */\n.pac-container {\n\tborder-width: 1px 0;\n\tbox-shadow: none;\n}\n\n.pac-container:after {\n\tdisplay: none;\n}\n\n.pac-container .pac-item:first-child {\n\tborder-top: 0 none;\n}\n.pac-container .pac-item {\n\tpadding: 5px 10px;\n\tcursor: pointer;\n}\n\n\nhtml[dir=\"rtl\"] .pac-container .pac-item {\n\ttext-align: right;\n}\n\t\n\t\n/*--------------------------------------------------------------------------\n*\n*\tRelationship\n*\t\n*-------------------------------------------------------------------------*/\n\n.acf-relationship {\n\tbackground: #fff;\n\tborder: $wp-card-border solid 1px;\n\t\n\t// Filters.\n\t.filters {\n\t\t@include clearfix();\n\t\tborder-bottom: $wp-card-border solid 1px;\n\t\tbackground: #fff;\n\t\t\n\t\t.filter {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tfloat: left;\n\t\t\twidth: 100%;\n\t\t\tbox-sizing: border-box;\n\t\t\tpadding: 7px 7px 7px 0;\n\t\t\t&:first-child {\n\t\t\t\tpadding-left: 7px;\n\t\t\t}\n\n\t\t\t// inputs\n\t\t\tinput, select {\n\t\t\t\tmargin: 0;\n\t\t\t\tfloat: none; /* potential fix for media popup? */\n\t\t\t\t\n\t\t\t\t&:focus,\n\t\t\t\t&:active {\n\t\t\t\t\toutline: none;\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t}\n\t\t\t}\n\t\t\tinput {\n\t\t\t\tborder-color: transparent;\n\t\t\t\tbox-shadow: none;\n\t\t\t\tpadding-left: 3px;\n\t\t\t\tpadding-right: 3px;\n\t\t\t}\n\t\t}\n\t\t\n\t\t/* widths */\n\t\t&.-f2 {\n\t\t\t.filter { width: 50%; }\n\t\t}\n\t\t&.-f3 {\n\t\t\t.filter { width: 25%; }\n\t\t\t.filter.-search { width: 50%; }\n\t\t}\n\t}\n\t\n\t\n\t/* list */\n\t.list {\n\t\tmargin: 0;\n\t\tpadding: 5px;\n\t\theight: 160px;\n\t\toverflow: auto;\n\t\t\n\t\t.acf-rel-label,\n\t\t.acf-rel-item,\n\t\tp {\n\t\t\tpadding: 5px;\n\t\t\tmargin: 0;\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\t\t\tmin-height: 18px;\n\t\t}\n\t\t\n\t\t.acf-rel-label {\n\t\t\tfont-weight: bold;\n\t\t}\n\t\t\n\t\t.acf-rel-item {\n\t\t\tcursor: pointer;\n\t\t\t\n\t\t\tb {\n\t\t\t\ttext-decoration: underline;\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t\t\n\t\t\t.thumbnail {\n\t\t\t\tbackground: darken(#f9f9f9, 10%);\n\t\t\t\twidth: 22px;\n\t\t\t\theight: 22px;\n\t\t\t\tfloat: left;\n\t\t\t\tmargin: -2px 5px 0 0;\n\t\t\t\t\n\t\t\t\timg {\n\t\t\t\t\tmax-width: 22px;\n\t\t\t\t\tmax-height: 22px;\n\t\t\t\t\tmargin: 0 auto;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t&.-icon {\n\t\t\t\t\tbackground: #fff;\n\t\t\t\t\t\n\t\t\t\t\timg {\n\t\t\t\t\t\tmax-height: 20px;\n\t\t\t\t\t\tmargin-top: 1px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t/* hover */\n\t\t\t&:hover {\n\t\t\t\tbackground: #3875D7;\n\t\t\t\tcolor: #fff;\n\t\t\t\t\n\t\t\t\t.thumbnail {\n\t\t\t\t\tbackground: lighten(#3875D7, 25%);\n\t\t\t\t\t\n\t\t\t\t\t&.-icon {\n\t\t\t\t\t\tbackground: #fff;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t/* disabled */\n\t\t\t&.disabled {\n\t\t\t\topacity: 0.5;\n\t\t\t\t\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: transparent;\n\t\t\t\t\tcolor: #333;\n\t\t\t\t\tcursor: default;\n\t\t\t\t\t\n\t\t\t\t\t.thumbnail {\n\t\t\t\t\t\tbackground: darken(#f9f9f9, 10%);\n\t\t\t\t\t\t\n\t\t\t\t\t\t&.-icon {\n\t\t\t\t\t\t\tbackground: #fff;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tul {\n\t\t\tpadding-bottom: 5px;\n\t\t\t\n\t\t\t.acf-rel-label,\n\t\t\t.acf-rel-item,\n\t\t\tp {\n\t\t\t\tpadding-left: 20px;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* selection (bottom) */\n\t.selection {\n\t\t@include clearfix();\n\t\tposition: relative;\n\t\t\n\t\t.values,\n\t\t.choices {\n\t\t\twidth: 50%;\n\t\t\tbackground: #fff;\n\t\t\tfloat: left\n\t\t}\n\t\t\n\t\t/* choices */\n\t\t.choices {\n\t\t\tbackground: #F9F9F9;\n\t\t\t\n\t\t\t.list {\n\t\t\t\tborder-right: #DFDFDF solid 1px;\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t\n\t\t/* values */\n\t\t.values {\n\t\t\t\n\t\t\t.acf-icon {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 4px;\n\t\t\t\tright: 7px;\n\t\t\t\tdisplay: none;\n\t\t\t\t\n\t\t\t\t/* rtl */\n\t\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\t\tright: auto;\n\t\t\t\t\tleft: 7px;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t.acf-rel-item:hover .acf-icon {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t.acf-rel-item {\n\t\t\t\tcursor: move;\n\t\t\t\t\n\t\t\t\tb {\n\t\t\t\t\ttext-decoration: none;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\n\n}\n\n/* menu item fix */\n.menu-item {\n\t\n\t.acf-relationship {\n\t\t\n\t\tul {\n\t\t\twidth: auto;\n\t\t}\n\t\t\n\t\tli {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n\n/*--------------------------------------------------------------------------\n*\n*\tWYSIWYG\n*\t\n*-------------------------------------------------------------------------*/\n\n.acf-editor-wrap {\n\t\n\t// Delay.\n\t&.delay {\n\t\t\n\t\t.acf-editor-toolbar {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tbackground: #f5f5f5;\n\t\t\tborder-bottom: #dddddd solid 1px;\n\t\t\tcolor: #555d66;\n\t\t\tpadding: 10px;\n\t\t}\n\t\t\n\t\t.wp-editor-area {\n\t\t padding: 10px;\n\t\t border: none;\n\t\t color: inherit !important; // Fixes white text bug.\n\t\t}\n\t}\n\t\n\tiframe{ \n\t\tmin-height: 200px;\n\t}\n\t\n\t.wp-editor-container{ \n\t\tborder: 1px solid $wp-card-border;\n\t\tbox-shadow: none !important;\n\t}\n\t\n\t.wp-editor-tabs {\n\t\tbox-sizing: content-box;\n\t}\n\t\n\t.wp-switch-editor {\n\t\tborder-color: $wp-card-border;\n\t\tborder-bottom-color: transparent;\n\t}\n}\n\n// Full Screen Mode.\n#mce_fullscreen_container {\n\tz-index: 900000 !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tTab\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-tab {\n\tdisplay: none !important;\n}\n\n// class to hide fields\n.hidden-by-tab {\n\tdisplay: none !important;\n}\n\n// ensure floating fields do not disturb tab wrap\n.acf-tab-wrap {\n\tclear: both;\n\tz-index: 1;\n}\n\n// tab group\n.acf-tab-group {\n\tborder-bottom: #ccc solid 1px;\n\tpadding: 10px 10px 0;\n\t\n\tli {\n\t margin: 0 0.5em 0 0;\n\t \n\t a {\n\t\t\tpadding: 5px 10px;\n\t\t\tdisplay: block;\n\t\t\t\n\t\t\tcolor: #555;\n\t\t\tfont-size: 14px;\n\t\t font-weight: 600;\n\t\t line-height: 24px;\n\t\t \n\t\t border: #ccc solid 1px;\n\t\t border-bottom: 0 none;\n\t\t text-decoration: none;\n\t\t background: #e5e5e5;\n\t\t transition: none;\n\t\t \n\t\t &:hover {\n\t\t\t\tbackground: #FFF;\n\t\t\t}\n\t\t\t\n\t\t\t&:focus {\n\t\t\t\toutline: none;\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\t\t\t\n\t\t\t&:empty {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t// rtl\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tmargin: 0 0 0 0.5em;\n\t\t}\n\t\t\n\t\t\n\t\t// active\n\t\t&.active a {\n\t\t\tbackground: #F1F1F1;\n\t\t\tcolor: #000;\n\t\t padding-bottom: 6px;\n\t\t margin-bottom: -1px;\n\t\t position: relative;\n\t\t z-index: 1;\n\t\t}\n\t}\n}\n\n\n// inside acf-fields\n.acf-fields > .acf-tab-wrap {\n\tbackground: #F9F9F9;\n\t\n\t// group\n\t.acf-tab-group {\n\t\tposition: relative;\n\t\tborder-top: $wp-card-border solid 1px;\n\t\tborder-bottom: $wp-card-border solid 1px;\n\t\t\n\t\t// Pull next element (field) up and underneith.\n\t\tz-index: 2;\n\t\tmargin-bottom: -1px;\n\t\t\n\t\tli a {\n\t\t\tbackground: #f1f1f1;\n\t\t\tborder-color: $wp-card-border;\n\t\t\t\n\t\t\t&:hover {\n\t\t\t\tbackground: #FFF;\n\t\t\t}\n\t\t}\n\t\t\t\n\t\tli.active a {\n\t\t\tbackground: #FFFFFF;\n\t\t}\n\t\t\n\t\t// WP Admin 3.8\n\t\t@include wp-admin('3-8') {\n\t\t\tborder-color: $wp38-card-border-1;\n\t\t}\n\t}\n\t\n\t// first child\n\t// fixes issue causing double border-top due to WP postbox .handlediv\n\t&:first-child .acf-tab-group {\n\t\tborder-top: none;\n\t}\n\t\n}\n\n\n// inside acf-fields.-left \n.acf-fields.-left > .acf-tab-wrap {\n\t\n\t// group\n\t.acf-tab-group {\n\t\tpadding-left: 20%;\n\t\t\n\t\t/* mobile */\n\t\t@media screen and (max-width: $sm) {\n\t\t\tpadding-left: 10px;\n\t\t}\n\t\t\n\t\t\n\t\t/* rtl */\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tpadding-left: 0;\n\t\t\tpadding-right: 20%;\n\t\t\t\n\t\t\t/* mobile */\n\t\t\t@media screen and (max-width: 850px) {\n\t\t\t\tpadding-right: 10px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n// left\n.acf-tab-wrap.-left {\n\t\n\t// group\n\t.acf-tab-group {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\twidth: 20%;\n\t\tborder: 0 none;\n\t\tpadding: 0 !important; /* important overrides 'left aligned labels' */\n\t\tmargin: 1px 0 0;\n\t\t\n\t\t// li\n\t\tli {\n\t\t\tfloat: none;\n\t\t\tmargin: -1px 0 0;\n\t\t\t\n\t\t\ta {\n\t\t\t\tborder: 1px solid #ededed;\n\t\t\t\tfont-size: 13px;\n\t\t\t\tline-height: 18px;\n\t\t\t\tcolor: #0073aa;\n\t\t\t\tpadding: 10px;\n\t\t\t\tmargin: 0;\n\t\t\t\tfont-weight: normal;\n\t\t\t\tborder-width: 1px 0;\n\t\t\t\tborder-radius: 0;\n\t\t\t\tbackground: transparent;\n\t\t\t\t\n\t\t\t\t&:hover {\n\t\t\t\t\tcolor: #00a0d2;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t&.active a {\n\t\t\t\tborder-color:#DFDFDF;\n\t\t\t\tcolor: #000;\n\t\t\t\tmargin-right: -1px;\n\t\t\t\tbackground: #fff;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// rtl\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tleft: auto;\n\t\t\tright: 0;\n\t\t\t\n\t\t\tli.active a {\n\t\t\t\tmargin-right: 0; \n\t\t\t\tmargin-left: -1px;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// space before field\n\t.acf-field + &:before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tz-index: 1;\n\t\theight: 10px;\n\t\tborder-top: #DFDFDF solid 1px;\n\t\tborder-bottom: #DFDFDF solid 1px;\n\t\tmargin-bottom: -1px;\n\t}\n\t\n\t\n\t// first child has negative margin issues\n\t&:first-child {\n\t\t\n\t\t.acf-tab-group {\n\t\t\t\n\t\t\tli:first-child a {\n\t\t\t\tborder-top: none;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/* sidebar */\n.acf-fields.-sidebar {\n\tpadding: 0 0 0 20% !important;\n\tposition: relative;\n\t\n\t/* before */\n\t&:before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 20%;\n\t\tbottom: 0;\n\t\tborder-right: #DFDFDF solid 1px;\n\t\tbackground: #F9F9F9;\n\t\tz-index: 1;\n\t}\n\t\n\t\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\tpadding: 0 20% 0 0 !important;\n\t\t\n\t\t&:before {\n\t\t\tborder-left: #DFDFDF solid 1px;\n\t\t\tborder-right-width: 0;\n\t\t\tleft: auto;\n\t\t\tright: 0;\n\t\t}\n\t}\n\t\n\t\n\t// left\n\t&.-left {\n\t\tpadding: 0 0 0 180px !important;\n\t\t\n\t\t/* rtl */\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tpadding: 0 180px 0 0 !important;\n\t\t}\n\t\t\n\t\t&:before {\n\t\t\tbackground: #F1F1F1;\n\t\t\tborder-color: #dfdfdf;\n\t\t\twidth: 180px;\n\t\t}\n\t\t\n\t\t> .acf-tab-wrap.-left .acf-tab-group {\n\t\t\twidth: 180px;\n\t\t\t\n\t\t\tli a {\n\t\t\t\tborder-color: #e4e4e4;\n\t\t\t}\n\t\t\t\n\t\t\tli.active a {\n\t\t\t\tbackground: #F9F9F9;\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\t\n\t// fix double border\n\t> .acf-field-tab + .acf-field {\n\t\tborder-top: none;\n\t}\t\n}\n\n\n// clear\n.acf-fields.-clear > .acf-tab-wrap {\n\tbackground: transparent;\n\t\n\t// group\n\t.acf-tab-group {\n\t\tmargin-top: 0;\n\t\tborder-top: none;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\t\t\n\t\tli a {\n\t\t\tbackground: #e5e5e5;\n\t\t\t\n\t\t\t&:hover {\n\t\t\t\tbackground: #fff;\n\t\t\t}\n\t\t}\n\t\t\n\t\tli.active a {\n\t\t\tbackground: #f1f1f1;\n\t\t}\n\t}\n}\n\n\n/* seamless */\n.acf-postbox.seamless {\n\t\n\t// sidebar\n\t> .acf-fields.-sidebar {\n\t\tmargin-left: 0 !important;\n\t\t\n\t\t&:before {\n\t\t\tbackground: transparent;\n\t\t}\n\t}\n\t\n\t// default\n\t> .acf-fields > .acf-tab-wrap {\n\t\tbackground: transparent;\n\t\tmargin-bottom: 10px;\n\t\tpadding-left: $fx;\n\t\tpadding-right: $fx;\n\t\t\n\t\t.acf-tab-group {\n\t\t\tborder-top: 0 none;\n\t\t\tborder-color: $wp-card-border;\n\t\t\t\n\t\t\tli a {\n\t\t\t\tbackground: #e5e5e5;\n\t\t\t\tborder-color: $wp-card-border;\n\t\t\t\t\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: #fff;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tli.active a {\n\t\t\t\tbackground: #f1f1f1;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// left tabs\n\t> .acf-fields > .acf-tab-wrap.-left {\n\t\t\n\t\t&:before {\n\t\t\tborder-top: none;\n\t\t\theight: auto;\n\t\t}\n\t\t\n\t\t.acf-tab-group {\n\t\t\tmargin-bottom: 0;\n\t\t\t\n\t\t\tli a {\n\t\t\t\tborder-width: 1px 0 1px 1px !important;\n\t\t\t\tborder-color: #cccccc;\n\t\t\t\tbackground: #e5e5e5;\n\t\t\t}\n\t\t\t\n\t\t\tli.active a {\n\t\t\t\tbackground: #f1f1f1;\n\t\t\t}\n\t\t}\n\t\t\n\t}\n}\n\n\n// menu\n.menu-edit, \n.widget {\n\t.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li {\n\t\ta { background: #f1f1f1; }\n\t\ta:hover, &.active a { background: #fff; }\n\t}\n}\n\n.compat-item .acf-tab-wrap td {\n\tdisplay: block;\n}\n\n\n\n/* within gallery sidebar */\n.acf-gallery-side .acf-tab-wrap {\n\tborder-top: 0 none !important;\n}\n\n.acf-gallery-side .acf-tab-wrap .acf-tab-group {\n\tmargin: 10px 0 !important;\n\tpadding: 0 !important;\n}\n\n.acf-gallery-side .acf-tab-group li.active a {\n\tbackground: #F9F9F9 !important;\n}\n\n\n\n/* withing widget */\n.widget .acf-tab-group {\n\tborder-bottom-color: #e8e8e8;\n}\n\n.widget .acf-tab-group li a {\n\tbackground: #F1F1F1;\n}\n\n.widget .acf-tab-group li.active a {\n\tbackground: #fff;\n}\n\n\n/* media popup (edit image) */\n.media-modal.acf-expanded .compat-attachment-fields > tbody > tr.acf-tab-wrap .acf-tab-group {\n\tpadding-left: 23%;\n\tborder-bottom-color: #DDDDDD;\n}\n\n\n/* table */\n\n\n.form-table > tbody > tr.acf-tab-wrap .acf-tab-group {\n\tpadding: 0 5px 0 210px;\n}\n\n/* rtl */\n\thtml[dir=\"rtl\"] .form-table > tbody > tr.acf-tab-wrap .acf-tab-group {\n\t\tpadding: 0 210px 0 5px;\n\t}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\toembed\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-oembed {\n\tposition: relative;\n\tborder: $wp-card-border solid 1px;\n\tbackground: #fff;\n\t\n\t.title {\n\t\tposition: relative;\n\t\tborder-bottom: $wp-card-border solid 1px;\n\t\tpadding: 5px 10px;\n\t\t\n\t\t.input-search {\n\t\t\tmargin: 0;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 30px;\n\t\t\theight: 30px;\n\t\t\tpadding: 0;\n\t\t\tborder: 0 none;\n\t\t\tbox-shadow: none;\n\t\t\tborder-radius: 0;\n\t\t\tfont-family: inherit;\n\t\t\tcursor: text;\n\t\t}\n\t\t\n\t\t.acf-actions {\n\t\t\tpadding: 6px;\n\t\t}\n\t}\n\t\n\t.canvas {\n\t\tposition: relative;\n\t\tmin-height: 250px;\n\t\tbackground: #F9F9F9;\n\t\t\n\t\t.canvas-media {\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\t\t\n\t\tiframe {\n\t\t\tdisplay: block;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t\t\n\t\t.acf-icon.-picture {\n\t\t\t@include centered();\n\t\t\tz-index: 0;\n\t\t\t\n\t\t\theight: 42px;\n\t\t\twidth: 42px;\n\t\t\tfont-size: 42px;\n\t\t\tcolor: #999;\n\t\t}\n\t\t\n\t\t.acf-loading-overlay {\n\t\t\tbackground: rgba(255,255,255,0.9);\n\t\t}\n\t\t\n\t\t.canvas-error {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 0%;\n\t\t\tright: 0%;\n\t\t\tmargin: -9px 0 0 0;\n\t\t\ttext-align: center;\n\t\t\tdisplay: none;\n\t\t\t\n\t\t\tp {\n\t\t\t\tpadding: 8px;\n\t\t\t\tmargin: 0;\n\t\t\t\tdisplay: inline;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// has value\n\t&.has-value {\n\t\t.canvas {\n\t\t\tmin-height: 50px;\n\t\t}\n\t\t\n\t\t.input-search {\n\t\t\tfont-weight: bold;\n\t\t}\n\t\t\n\t\t.title:hover .acf-actions {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tImage\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-image-uploader {\n\t@include clearfix();\n\tposition: relative;\n\t\n\t\n\tp {\n\t\tmargin: 0;\n\t}\n\t\n\t\n\t/* image wrap*/\n\t.image-wrap {\n\t\tposition: relative;\n\t\tfloat: left;\n\t\t\n\t\timg {\n\t\t\tmax-width: 100%;\n\t\t\tmax-height: 100%;\n\t\t\twidth: auto;\n\t\t\theight: auto;\n\t\t\tdisplay: block;\n\t\t\tmin-width: 30px;\n\t\t\tmin-height: 30px;\n\t\t\tbackground: #f1f1f1;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\t\n\t\t\t\n\t\t\t/* svg */\n\t\t\t&[src$=\".svg\"] {\n\t\t\t\tmin-height: 100px;\n\t\t\t\tmin-width: 100px;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\t/* hover */\n\t\t&:hover .acf-actions {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\t\n\t\n\t/* input */\n\tinput.button {\n\t\twidth: auto;\n\t}\n\t\n\t\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\t\n\t\t.image-wrap {\n\t\t\tfloat: right;\n\t\t}\n\t\t\n\t}\n\t\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tFile\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-file-uploader {\n\tposition: relative;\n\t\n\tp {\n\t\tmargin: 0;\n\t}\n\t\n\t.file-wrap {\n\t\tborder: $wp-card-border solid 1px;\n\t\tmin-height: 84px;\n\t\tposition: relative;\n\t\tbackground: #fff;\n\t}\n\t\n\t.file-icon {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tbottom: 0;\n\t\tpadding: 10px;\n\t\tbackground: #F1F1F1;\n\t\tborder-right: $wp-card-border-1 solid 1px;\n\t\t\n\t\timg {\n\t\t\tdisplay: block;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t\tmax-width: 48px;\n\t\t}\n\t}\n\t\n\t.file-info {\n\t\tpadding: 10px;\n\t\tmargin-left: 69px;\n\t\t\n\t\tp {\n\t\t\tmargin: 0 0 2px;\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 1.4em;\n\t\t\tword-break: break-all;\n\t\t}\n\t\t\n\t\ta {\n\t\t\ttext-decoration: none;\n\t\t}\n\t}\n\t\n\t/* hover */\n\t&:hover .acf-actions {\n\t\tdisplay: block;\n\t}\n\t\n\t\n\t/* rtl */\n\thtml[dir=\"rtl\"] & { \n\t\t\n\t\t.file-icon {\n\t\t\tleft: auto;\n\t\t\tright: 0;\n\t\t\tborder-left: #E5E5E5 solid 1px;\n\t\t\tborder-right: none;\n\t\t}\n\t\t\n\t\t.file-info {\n\t\t\tmargin-right: 69px;\n\t\t\tmargin-left: 0;\n\t\t}\n\t}\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tDate Picker\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-ui-datepicker .ui-datepicker {\n\tz-index: 900000 !important;\n\t\n\t.ui-widget-header a {\n\t\tcursor: pointer;\n\t\ttransition: none;\n\t}\n}\n\n\n/* fix highlight state overriding hover / active */\n.acf-ui-datepicker .ui-state-highlight.ui-state-hover {\n\tborder: 1px solid #98b7e8 !important;\n\tbackground: #98b7e8 !important;\n\tfont-weight: normal !important;\n\tcolor: #ffffff !important;\n}\n\n.acf-ui-datepicker .ui-state-highlight.ui-state-active {\n\tborder: 1px solid #3875d7 !important;\n\tbackground: #3875d7 !important; \n\tfont-weight: normal !important;\n\tcolor: #ffffff !important;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tSeparator field\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-separator {\n\t\n\t.acf-label {\n\t\tmargin-bottom: 0;\n\t\t\n\t\tlabel {\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\t\n\t.acf-input {\n\t\tdisplay: none;\n\t}\n\t\n\t\n\t/* fields */\n\t.acf-fields > & {\n\t\tbackground: #f9f9f9;\n\t\tborder-bottom: 1px solid #dfdfdf;\n\t\tborder-top: 1px solid #dfdfdf;\n\t\tmargin-bottom: -1px;\n\t\tz-index: 2;\n\t}\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tTaxonomy\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-taxonomy-field {\n\tposition: relative;\n\t\n\t.categorychecklist-holder {\n\t\tborder: $wp-card-border solid 1px;\n\t\tborder-radius: 3px;\n\t\tmax-height: 200px;\n\t\toverflow: auto;\n\t}\n\t\n\t.acf-checkbox-list {\n\t\tmargin: 0;\n\t\tpadding: 10px;\n\t\t\n\t\tul.children {\n\t\t\tpadding-left: 18px;\n\t\t}\n\t}\n\t\n\t\n\t/* hover */\n\t&:hover {\n\t\t.acf-actions {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\t\n\t\n\t/* select */\n\t&[data-ftype=\"select\"] {\n\t\t.acf-actions {\n\t\t\tpadding: 0;\n\t\t\tmargin: -9px;\n\t\t}\n\t}\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tRange\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-range-wrap {\n\t\n\t.acf-append,\n\t.acf-prepend {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tline-height: 28px;\n\t\tmargin: 0 7px 0 0;\n\t}\n\t\n\t.acf-append {\n\t\tmargin: 0 0 0 7px;\n\t}\n\t\n\tinput[type=\"range\"] {\n\t\tdisplay: inline-block;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tvertical-align: middle;\n\t\theight: 28px;\n\t\t\n\t\t&:focus {\n\t\t\toutline: none;\n\t\t}\n\t\t\n\t}\n\t\n\tinput[type=\"number\"] {\n\t\tdisplay: inline-block;\n\t\tmin-width: 3em;\n\t\tmargin-left: 10px;\n\t\tvertical-align: middle;\n\t}\n\t\n\t\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\t\n\t\tinput[type=\"number\"] {\n\t\t\tmargin-right: 10px;\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t\n\t\t.acf-append { margin: 0 7px 0 0; }\n\t\t.acf-prepend { margin: 0 0 0 7px; }\n\t\t\n\t}\n\t\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-accordion\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-accordion {\n\tmargin: -1px 0;\n\tpadding: 0;\n\tbackground: #fff;\n\tborder-top: 1px solid $wp-card-border-1;\n\tborder-bottom: 1px solid $wp-card-border-1;\n\tz-index: 1; // Display above following field.\n\t\n\t// Title.\n\t.acf-accordion-title {\n\t\tmargin: 0;\n\t\tpadding: 12px;\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t\tfont-size: inherit;\n\t\tfont-size: 13px;\n\t\tline-height: 1.4em;\n\t\t\n\t\t&:hover {\n\t\t\tbackground: #f3f4f5;\n\t\t}\n\t\t\n\t\tlabel {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 1.4em;\n\t\t}\n\t\t\n\t\tp {\n\t\t\tfont-weight: normal;\n\t\t}\n\t\t\n\t\t.acf-accordion-icon {\n\t\t\tfloat: right;\n\t\t}\n\t\t\n\t\t// Gutenberg uses SVG.\n\t\tsvg.acf-accordion-icon {\n\t\t\tposition: absolute;\n\t\t\tright: 10px;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\t\t\tcolor: #191e23;\n\t\t\tfill: currentColor;\n\t\t}\n\t}\n\t\n\t.acf-accordion-content {\n\t\tmargin: 0;\n\t\tpadding: 0 12px 12px;\n\t\tdisplay: none;\n\t}\n\t\n\t// Open.\n\t&.-open {\n\t\t> .acf-accordion-content {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n// Field specific overrides\n.acf-field.acf-accordion {\n\tmargin: -1px 0;\n\tpadding: 0 !important; // !important needed to avoid Gutenberg sidebar issues.\n\tborder-color: $wp-card-border-1;\n\t\n\t.acf-label.acf-accordion-title {\n\t\tpadding: 12px;\n\t\twidth: auto;\n\t\tfloat: none;\n\t\twidth: auto;\n\t}\n\t\n\t.acf-input.acf-accordion-content {\n\t\tpadding: 0;\n\t\tfloat: none;\n\t\twidth: auto;\n\t\t\n\t\t> .acf-fields {\n\t\t\tborder-top: $wp-card-border-2 solid 1px;\n\t\t\t\n\t\t\t&.-clear {\n\t\t\t\tpadding: 0 $fx $fy;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/* field specific (left) */\n.acf-fields.-left > .acf-field.acf-accordion {\n\t&:before {\n\t\tdisplay: none;\n\t}\n\t\n\t.acf-accordion-title {\n\t\twidth: auto;\n\t\tmargin: 0 !important;\n\t\tpadding: 12px;\n\t\tfloat: none !important;\t\n\t}\n\t\n\t.acf-accordion-content {\n\t\tpadding: 0 !important;\n\t}\n}\n\n\n/* field specific (clear) */\n.acf-fields.-clear > .acf-field.acf-accordion {\n\tborder: #cccccc solid 1px;\n\tbackground: transparent;\n\t\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -16px;\n\t}\n}\n\n\n/* table */\ntr.acf-field.acf-accordion {\n\tbackground: transparent;\n\t\n\t> .acf-input {\n\t\tpadding: 0 !important;\n\t\tborder: #cccccc solid 1px;\n\t}\n\t\n\t.acf-accordion-content {\n\t\tpadding: 0 12px 12px;\n\t}\n}\n\n\n/* #addtag */\n#addtag div.acf-field.error {\n\tborder: 0 none;\n\tpadding: 8px 0;\t\n}\n\n\n#addtag > .acf-field.acf-accordion {\n\tpadding-right: 0;\n\tmargin-right: 5%;\n\t\n\t+ p.submit {\n\t\tmargin-top: 0;\n\t}\n}\n\n\n\n/* border */\ntr.acf-accordion {\n\tmargin: 15px 0 !important;\n\t\n\t+ tr.acf-accordion {\n\t\tmargin-top: -16px !important;\n\t}\n}\n\n\n/* seamless */\n.acf-postbox.seamless > .acf-fields > .acf-accordion {\n\tmargin-left: $field_padding_x;\n\tmargin-right: $field_padding_x;\n\tborder: $wp-card-border solid 1px;\n}\n\n\n/* rtl */\nhtml[dir=\"rtl\"] .acf-accordion {\n\t\n}\n\n\n/* menu item */\n/*\n.menu-item-settings > .field-acf > .acf-field.acf-accordion {\n\tborder: #dfdfdf solid 1px;\n\tmargin: 10px -13px 10px -11px;\n\t\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -11px;\n\t}\n}\n*/\n\n\n/* widget */\n.widget .widget-content > .acf-field.acf-accordion {\n\tborder: #dfdfdf solid 1px;\n\tmargin-bottom: 10px;\n\t\n\t.acf-accordion-title {\n\t\tmargin-bottom: 0;\n\t}\n\t\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -11px;\n\t}\n}\n\n\n\n// media modal\n.media-modal .compat-attachment-fields .acf-field.acf-accordion {\n\t\n\t// siblings\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -1px;\n\t}\n\t\n\t// input\n\t> .acf-input {\n\t\twidth: 100%;\n\t}\n\t\n\t// table\n\t.compat-attachment-fields > tbody > tr > td {\n\t\tpadding-bottom: 5px;\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tBlock Editor\n*\n*---------------------------------------------------------------------------------------------*/\n.block-editor {\n\t\n\t// Sidebar\n\t.edit-post-sidebar {\n\n\t\t// Remove metabox hndle border to simulate component panel.\n\t\t.acf-postbox {\n\t\t\t> .postbox-header,\n\t\t\t> .hndle {\n\t\t\t\tborder-bottom-width: 0 !important;\n\t\t\t}\n\t\t\t&.closed {\n\t\t\t\t>.postbox-header,\n\t\t\t\t> .hndle {\n\t\t\t\t\tborder-bottom-width: 1px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Field wrap. \n\t\t.acf-fields {\n\t\t\tmin-height: 1px;\n\t\t\toverflow: auto; // Fixes margin-collapse issue in WP 5.3.\n\n\t\t\t> .acf-field {\n\t\t\t\tborder-width: 0;\n\t\t\t\tborder-color: #e2e4e7;\n\t\t\t\tmargin: 16px;\n\t\t\t\tpadding: 0;\n\t\t\t\t\n\t\t\t\t// Force full width.\n\t\t\t\twidth: auto !important;\n\t\t\t\tmin-height: 0 !important;\n\t\t\t\tfloat: none !important;\n\t\t\t\t\n\t\t\t\t// Field labels.\n\t\t\t\t> .acf-label {\n\t\t\t\t\tmargin-bottom: 5px;\n\t\t\t\t\tlabel {\n\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Accordions.\n\t\t\t\t&.acf-accordion {\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tborder-top-width: 1px;\n\t\t\t\t\t\n\t\t\t\t\t&:first-child {\n\t\t\t\t\t\tborder-top-width: 0;\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t.acf-accordion-title {\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\tpadding: 15px;\n\t\t\t\t\t\tlabel {\n\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t.acf-accordion-content {\n\t\t\t\t\t\t> .acf-fields {\n\t\t\t\t\t\t\tborder-top-width: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n/* colors */\n/* acf-field */\n/* responsive */\n/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-field\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-field,\n.acf-field .acf-label,\n.acf-field .acf-input {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n position: relative;\n}\n\n.acf-field {\n margin: 15px 0;\n clear: both;\n}\n.acf-field p.description {\n display: block;\n margin: 0;\n padding: 0;\n}\n.acf-field .acf-label {\n vertical-align: top;\n margin: 0 0 10px;\n}\n.acf-field .acf-label label {\n display: block;\n font-weight: bold;\n margin: 0 0 3px;\n padding: 0;\n}\n.acf-field .acf-label:empty {\n margin-bottom: 0;\n}\n.acf-field .acf-input {\n vertical-align: top;\n}\n.acf-field .acf-input > p.description {\n margin-top: 5px;\n}\n.acf-field .acf-notice {\n margin: 0 0 15px;\n background: #edf2ff;\n color: #0c6ca0;\n border-color: #2183b9;\n}\n.acf-field .acf-notice.-error {\n background: #ffe6e6;\n color: #cc2727;\n border-color: #d12626;\n}\n.acf-field .acf-notice.-success {\n background: #eefbe8;\n color: #0e7b17;\n border-color: #32a23b;\n}\n.acf-field .acf-notice.-warning {\n background: #fff3e6;\n color: #bd4b0e;\n border-color: #d16226;\n}\ntd.acf-field, tr.acf-field {\n margin: 0;\n}\n\n.acf-field[data-width] {\n float: left;\n clear: none;\n /*\n \t@media screen and (max-width: $sm) {\n \t\tfloat: none;\n \t\twidth: auto;\n \t\tborder-left-width: 0;\n \t\tborder-right-width: 0;\n \t}\n */\n}\n.acf-field[data-width] + .acf-field[data-width] {\n border-left: 1px solid #eeeeee;\n}\nhtml[dir=rtl] .acf-field[data-width] {\n float: right;\n}\nhtml[dir=rtl] .acf-field[data-width] + .acf-field[data-width] {\n border-left: none;\n border-right: 1px solid #eeeeee;\n}\ntd.acf-field[data-width], tr.acf-field[data-width] {\n float: none;\n}\n\n.acf-field.-c0 {\n clear: both;\n border-left-width: 0 !important;\n}\nhtml[dir=rtl] .acf-field.-c0 {\n border-left-width: 1px !important;\n border-right-width: 0 !important;\n}\n\n.acf-field.-r0 {\n border-top-width: 0 !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-fields {\n position: relative;\n}\n.acf-fields:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-fields.-border {\n border: #ccd0d4 solid 1px;\n background: #fff;\n}\n.acf-fields > .acf-field {\n position: relative;\n margin: 0;\n padding: 15px 12px;\n border-top: #EEEEEE solid 1px;\n}\n.acf-fields > .acf-field:first-child {\n border-top: none;\n margin-top: 0;\n}\ntd.acf-fields {\n padding: 0 !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields (clear)\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-fields.-clear > .acf-field {\n border: none;\n padding: 0;\n margin: 15px 0;\n}\n.acf-fields.-clear > .acf-field[data-width] {\n border: none !important;\n}\n.acf-fields.-clear > .acf-field > .acf-label {\n padding: 0;\n}\n.acf-fields.-clear > .acf-field > .acf-input {\n padding: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields (left)\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-fields.-left > .acf-field {\n padding: 15px 0;\n}\n.acf-fields.-left > .acf-field:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-fields.-left > .acf-field:before {\n content: \"\";\n display: block;\n position: absolute;\n z-index: 0;\n background: #F9F9F9;\n border-color: #E1E1E1;\n border-style: solid;\n border-width: 0 1px 0 0;\n top: 0;\n bottom: 0;\n left: 0;\n width: 20%;\n}\n.acf-fields.-left > .acf-field[data-width] {\n float: none;\n width: auto !important;\n border-left-width: 0 !important;\n border-right-width: 0 !important;\n}\n.acf-fields.-left > .acf-field > .acf-label {\n float: left;\n width: 20%;\n margin: 0;\n padding: 0 12px;\n}\n.acf-fields.-left > .acf-field > .acf-input {\n float: left;\n width: 80%;\n margin: 0;\n padding: 0 12px;\n}\nhtml[dir=rtl] .acf-fields.-left > .acf-field:before {\n border-width: 0 0 0 1px;\n left: auto;\n right: 0;\n}\nhtml[dir=rtl] .acf-fields.-left > .acf-field > .acf-label {\n float: right;\n}\nhtml[dir=rtl] .acf-fields.-left > .acf-field > .acf-input {\n float: right;\n}\n#side-sortables .acf-fields.-left > .acf-field:before {\n display: none;\n}\n#side-sortables .acf-fields.-left > .acf-field > .acf-label {\n width: 100%;\n margin-bottom: 10px;\n}\n#side-sortables .acf-fields.-left > .acf-field > .acf-input {\n width: 100%;\n}\n@media screen and (max-width: 640px) {\n .acf-fields.-left > .acf-field:before {\n display: none;\n }\n .acf-fields.-left > .acf-field > .acf-label {\n width: 100%;\n margin-bottom: 10px;\n }\n .acf-fields.-left > .acf-field > .acf-input {\n width: 100%;\n }\n}\n\n/* clear + left */\n.acf-fields.-clear.-left > .acf-field {\n padding: 0;\n border: none;\n}\n.acf-fields.-clear.-left > .acf-field:before {\n display: none;\n}\n.acf-fields.-clear.-left > .acf-field > .acf-label {\n padding: 0;\n}\n.acf-fields.-clear.-left > .acf-field > .acf-input {\n padding: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-table\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-table tr.acf-field > td.acf-label {\n padding: 15px 12px;\n margin: 0;\n background: #F9F9F9;\n width: 20%;\n}\n.acf-table tr.acf-field > td.acf-input {\n padding: 15px 12px;\n margin: 0;\n border-left-color: #E1E1E1;\n}\n\n.acf-sortable-tr-helper {\n position: relative !important;\n display: table-row !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-postbox\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-postbox {\n position: relative;\n}\n.acf-postbox > .inside {\n margin: 0 !important;\n /* override WP style - do not delete - you have tried this before */\n padding: 0 !important;\n /* override WP style - do not delete - you have tried this before */\n}\n.acf-postbox .acf-hndle-cog {\n color: #72777c;\n font-size: 16px;\n line-height: 36px;\n height: 36px;\n width: 1.62rem;\n position: relative;\n display: none;\n}\n.acf-postbox .acf-hndle-cog:hover {\n color: #191e23;\n}\n.acf-postbox > .hndle:hover .acf-hndle-cog,\n.acf-postbox > .postbox-header:hover .acf-hndle-cog {\n display: inline-block;\n}\n.acf-postbox > .hndle .acf-hndle-cog {\n height: 20px;\n line-height: 20px;\n float: right;\n width: auto;\n}\n.acf-postbox > .hndle .acf-hndle-cog:hover {\n color: #777777;\n}\n.acf-postbox .acf-replace-with-fields {\n padding: 15px;\n text-align: center;\n}\n\n#post-body-content #acf_after_title-sortables {\n margin: 20px 0 -20px;\n}\n\n/* seamless */\n.acf-postbox.seamless {\n border: 0 none;\n background: transparent;\n box-shadow: none;\n /* hide hndle */\n /* inside */\n}\n.acf-postbox.seamless > .postbox-header,\n.acf-postbox.seamless > .hndle,\n.acf-postbox.seamless > .handlediv {\n display: none !important;\n}\n.acf-postbox.seamless > .inside {\n display: block !important;\n /* stop metabox from hiding when closed */\n margin-left: -12px !important;\n margin-right: -12px !important;\n}\n.acf-postbox.seamless > .inside > .acf-field {\n border-color: transparent;\n}\n\n/* seamless (left) */\n.acf-postbox.seamless > .acf-fields.-left {\n /* hide sidebar bg */\n /* mobile */\n}\n.acf-postbox.seamless > .acf-fields.-left > .acf-field:before {\n display: none;\n}\n@media screen and (max-width: 782px) {\n .acf-postbox.seamless > .acf-fields.-left {\n /* remove padding */\n }\n .acf-postbox.seamless > .acf-fields.-left > .acf-field > .acf-label, .acf-postbox.seamless > .acf-fields.-left > .acf-field > .acf-input {\n padding: 0;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Inputs\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-field input[type=text],\n.acf-field input[type=password],\n.acf-field input[type=date],\n.acf-field input[type=datetime],\n.acf-field input[type=datetime-local],\n.acf-field input[type=email],\n.acf-field input[type=month],\n.acf-field input[type=number],\n.acf-field input[type=search],\n.acf-field input[type=tel],\n.acf-field input[type=time],\n.acf-field input[type=url],\n.acf-field input[type=week],\n.acf-field textarea,\n.acf-field select {\n width: 100%;\n padding: 4px 8px;\n margin: 0;\n box-sizing: border-box;\n font-size: 14px;\n line-height: 1.4;\n}\n.acf-admin-3-8 .acf-field input[type=text],\n.acf-admin-3-8 .acf-field input[type=password],\n.acf-admin-3-8 .acf-field input[type=date],\n.acf-admin-3-8 .acf-field input[type=datetime],\n.acf-admin-3-8 .acf-field input[type=datetime-local],\n.acf-admin-3-8 .acf-field input[type=email],\n.acf-admin-3-8 .acf-field input[type=month],\n.acf-admin-3-8 .acf-field input[type=number],\n.acf-admin-3-8 .acf-field input[type=search],\n.acf-admin-3-8 .acf-field input[type=tel],\n.acf-admin-3-8 .acf-field input[type=time],\n.acf-admin-3-8 .acf-field input[type=url],\n.acf-admin-3-8 .acf-field input[type=week],\n.acf-admin-3-8 .acf-field textarea,\n.acf-admin-3-8 .acf-field select {\n padding: 3px 5px;\n}\n.acf-field textarea {\n resize: vertical;\n}\n\nbody.acf-browser-firefox .acf-field select {\n padding: 4px 5px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Text\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-input-prepend,\n.acf-input-append,\n.acf-input-wrap {\n box-sizing: border-box;\n}\n\n.acf-input-prepend,\n.acf-input-append {\n font-size: 14px;\n line-height: 1.4;\n padding: 4px 8px;\n background: #f5f5f5;\n border: #7e8993 solid 1px;\n min-height: 30px;\n}\n.acf-admin-3-8 .acf-input-prepend,\n.acf-admin-3-8 .acf-input-append {\n padding: 3px 5px;\n border-color: #dddddd;\n min-height: 28px;\n}\n\n.acf-input-prepend {\n float: left;\n border-right-width: 0;\n border-radius: 3px 0 0 3px;\n}\n\n.acf-input-append {\n float: right;\n border-left-width: 0;\n border-radius: 0 3px 3px 0;\n}\n\n.acf-input-wrap {\n position: relative;\n overflow: hidden;\n}\n.acf-input-wrap .acf-is-prepended {\n border-radius: 0 3px 3px 0 !important;\n}\n.acf-input-wrap .acf-is-appended {\n border-radius: 3px 0 0 3px !important;\n}\n.acf-input-wrap .acf-is-prepended.acf-is-appended {\n border-radius: 0 !important;\n}\n\n/* rtl */\nhtml[dir=rtl] .acf-input-prepend {\n border-left-width: 0;\n border-right-width: 1px;\n border-radius: 0 3px 3px 0;\n float: right;\n}\n\nhtml[dir=rtl] .acf-input-append {\n border-left-width: 1px;\n border-right-width: 0;\n border-radius: 3px 0 0 3px;\n float: left;\n}\n\nhtml[dir=rtl] input.acf-is-prepended {\n border-radius: 3px 0 0 3px !important;\n}\n\nhtml[dir=rtl] input.acf-is-appended {\n border-radius: 0 3px 3px 0 !important;\n}\n\nhtml[dir=rtl] input.acf-is-prepended.acf-is-appended {\n border-radius: 0 !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Color Picker\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-color-picker .wp-color-result {\n border-color: #7e8993;\n}\n.acf-admin-3-8 .acf-color-picker .wp-color-result {\n border-color: #ccd0d4;\n}\n.acf-color-picker .wp-picker-active {\n position: relative;\n z-index: 1;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Url\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-url i {\n position: absolute;\n top: 5px;\n left: 5px;\n opacity: 0.5;\n color: #7e8993;\n}\n.acf-url input[type=url] {\n padding-left: 27px !important;\n}\n.acf-url.-valid i {\n opacity: 1;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Select2 (v3)\n*\n*---------------------------------------------------------------------------------------------*/\n.select2-container.-acf {\n /* open */\n /* single open */\n}\n.select2-container.-acf .select2-choices {\n background: #fff;\n border-color: #ddd;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset;\n min-height: 31px;\n}\n.select2-container.-acf .select2-choices .select2-search-choice {\n margin: 5px 0 5px 5px;\n padding: 3px 5px 3px 18px;\n border-color: #bbb;\n background: #f9f9f9;\n box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset;\n /* sortable item*/\n /* sortable shadow */\n}\n.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper {\n background: #5897fb;\n border-color: #3f87fa;\n color: #fff;\n box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);\n}\n.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper a {\n visibility: hidden;\n}\n.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-placeholder {\n background-color: #f7f7f7;\n border-color: #f7f7f7;\n visibility: visible !important;\n}\n.select2-container.-acf .select2-choices .select2-search-choice-focus {\n border-color: #999;\n}\n.select2-container.-acf .select2-choices .select2-search-field input {\n height: 31px;\n line-height: 22px;\n margin: 0;\n padding: 5px 5px 5px 7px;\n}\n.select2-container.-acf .select2-choice {\n border-color: #BBBBBB;\n}\n.select2-container.-acf .select2-choice .select2-arrow {\n background: transparent;\n border-left-color: #DFDFDF;\n padding-left: 1px;\n}\n.select2-container.-acf .select2-choice .select2-result-description {\n display: none;\n}\n.select2-container.-acf.select2-container-active .select2-choices, .select2-container.-acf.select2-dropdown-open .select2-choices {\n border-color: #5B9DD9;\n border-radius: 3px 3px 0 0;\n}\n.select2-container.-acf.select2-dropdown-open .select2-choice {\n background: #fff;\n border-color: #5B9DD9;\n}\n\n/* rtl */\nhtml[dir=rtl] .select2-container.-acf .select2-search-choice-close {\n left: 24px;\n}\nhtml[dir=rtl] .select2-container.-acf .select2-choice > .select2-chosen {\n margin-left: 42px;\n}\nhtml[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow {\n padding-left: 0;\n padding-right: 1px;\n}\n\n/* description */\n.select2-drop {\n /* search*/\n /* result */\n}\n.select2-drop .select2-search {\n padding: 4px 4px 0;\n}\n.select2-drop .select2-result {\n /* hover*/\n}\n.select2-drop .select2-result .select2-result-description {\n color: #999;\n font-size: 12px;\n margin-left: 5px;\n}\n.select2-drop .select2-result.select2-highlighted .select2-result-description {\n color: #fff;\n opacity: 0.75;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Select2 (v4)\n*\n*---------------------------------------------------------------------------------------------*/\n.select2-container.-acf li {\n margin-bottom: 0;\n}\n.select2-container.-acf[data-select2-id^=select2-data] .select2-selection--multiple {\n overflow: hidden;\n}\n.select2-container.-acf .select2-selection {\n border-color: #7e8993;\n}\n.acf-admin-3-8 .select2-container.-acf .select2-selection {\n border-color: #aaa;\n}\n.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child {\n float: none;\n}\n.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child input {\n width: 100% !important;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__rendered {\n padding-right: 0;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] {\n display: inline;\n padding: 0;\n margin: 0;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] .select2-selection__choice {\n margin-right: 0;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice {\n background-color: #f7f7f7;\n border-color: #cccccc;\n max-width: 100%;\n overflow: hidden;\n word-wrap: normal !important;\n white-space: normal;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper {\n background: #5897fb;\n border-color: #3f87fa;\n color: #fff;\n box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper span {\n visibility: hidden;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {\n position: static;\n border-right: none;\n padding: 0;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-placeholder {\n background-color: #f7f7f7;\n border-color: #f7f7f7;\n visibility: visible !important;\n}\n.select2-container.-acf .select2-selection--multiple .select2-search__field {\n box-shadow: none !important;\n min-height: 0;\n}\n.acf-row .select2-container.-acf .select2-selection--single {\n overflow: hidden;\n}\n.acf-row .select2-container.-acf .select2-selection--single .select2-selection__rendered {\n white-space: normal;\n}\n\n.select2-dropdown .select2-results__option {\n margin-bottom: 0;\n}\n\n.select2-container .select2-dropdown {\n z-index: 900000;\n}\n.select2-container .select2-dropdown .select2-search__field {\n line-height: 1.4;\n min-height: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Link\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-link .link-wrap {\n display: none;\n border: #ccd0d4 solid 1px;\n border-radius: 3px;\n padding: 5px;\n line-height: 26px;\n background: #fff;\n word-wrap: break-word;\n word-break: break-all;\n}\n.acf-link .link-wrap .link-title {\n padding: 0 5px;\n}\n.acf-link.-value .button {\n display: none;\n}\n.acf-link.-value .acf-icon.-link-ext {\n display: none;\n}\n.acf-link.-value .link-wrap {\n display: inline-block;\n}\n.acf-link.-external .acf-icon.-link-ext {\n display: inline-block;\n}\n\n#wp-link-backdrop {\n z-index: 900000 !important;\n}\n\n#wp-link-wrap {\n z-index: 900001 !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Radio\n*\n*---------------------------------------------------------------------------------------------*/\nul.acf-radio-list,\nul.acf-checkbox-list {\n background: transparent;\n position: relative;\n padding: 1px;\n margin: 0;\n /* hl */\n /* rtl */\n}\nul.acf-radio-list li,\nul.acf-checkbox-list li {\n font-size: 13px;\n line-height: 22px;\n margin: 0;\n position: relative;\n word-wrap: break-word;\n /* attachment sidebar fix*/\n}\nul.acf-radio-list li label,\nul.acf-checkbox-list li label {\n display: inline;\n}\nul.acf-radio-list li input[type=checkbox],\nul.acf-radio-list li input[type=radio],\nul.acf-checkbox-list li input[type=checkbox],\nul.acf-checkbox-list li input[type=radio] {\n margin: -1px 4px 0 0;\n vertical-align: middle;\n}\nul.acf-radio-list li input[type=text],\nul.acf-checkbox-list li input[type=text] {\n width: auto;\n vertical-align: middle;\n margin: 2px 0;\n}\nul.acf-radio-list li span,\nul.acf-checkbox-list li span {\n float: none;\n}\nul.acf-radio-list li i,\nul.acf-checkbox-list li i {\n vertical-align: middle;\n}\nul.acf-radio-list.acf-hl li,\nul.acf-checkbox-list.acf-hl li {\n margin-right: 20px;\n clear: none;\n}\nhtml[dir=rtl] ul.acf-radio-list input[type=checkbox],\nhtml[dir=rtl] ul.acf-radio-list input[type=radio],\nhtml[dir=rtl] ul.acf-checkbox-list input[type=checkbox],\nhtml[dir=rtl] ul.acf-checkbox-list input[type=radio] {\n margin-left: 4px;\n margin-right: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Button Group\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-button-group {\n display: inline-block;\n /* default (horizontal) */\n /* vertical */\n}\n.acf-button-group label {\n display: inline-block;\n border: #7e8993 solid 1px;\n position: relative;\n z-index: 1;\n padding: 5px 10px;\n background: #fff;\n}\n.acf-button-group label:hover {\n color: #016087;\n background: #f3f5f6;\n border-color: #0071a1;\n z-index: 2;\n}\n.acf-button-group label.selected {\n border-color: #007cba;\n background: #008dd4;\n color: #fff;\n z-index: 2;\n}\n.acf-button-group input {\n display: none !important;\n}\n.acf-button-group {\n padding-left: 1px;\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n}\n.acf-button-group label {\n margin: 0 0 0 -1px;\n flex: 1;\n text-align: center;\n white-space: nowrap;\n}\n.acf-button-group label:first-child {\n border-radius: 3px 0 0 3px;\n}\nhtml[dir=rtl] .acf-button-group label:first-child {\n border-radius: 0 3px 3px 0;\n}\n.acf-button-group label:last-child {\n border-radius: 0 3px 3px 0;\n}\nhtml[dir=rtl] .acf-button-group label:last-child {\n border-radius: 3px 0 0 3px;\n}\n.acf-button-group label:only-child {\n border-radius: 3px;\n}\n.acf-button-group.-vertical {\n padding-left: 0;\n padding-top: 1px;\n flex-direction: column;\n}\n.acf-button-group.-vertical label {\n margin: -1px 0 0 0;\n}\n.acf-button-group.-vertical label:first-child {\n border-radius: 3px 3px 0 0;\n}\n.acf-button-group.-vertical label:last-child {\n border-radius: 0 0 3px 3px;\n}\n.acf-button-group.-vertical label:only-child {\n border-radius: 3px;\n}\n.acf-admin-3-8 .acf-button-group label {\n border-color: #ccd0d4;\n}\n.acf-admin-3-8 .acf-button-group label:hover {\n border-color: #0071a1;\n}\n.acf-admin-3-8 .acf-button-group label.selected {\n border-color: #007cba;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Checkbox\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-checkbox-list .button {\n margin: 10px 0 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* True / False\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-switch {\n display: inline-block;\n border-radius: 5px;\n cursor: pointer;\n position: relative;\n background: #f5f5f5;\n height: 30px;\n vertical-align: middle;\n border: #7e8993 solid 1px;\n -webkit-transition: background 0.25s ease;\n -moz-transition: background 0.25s ease;\n -o-transition: background 0.25s ease;\n transition: background 0.25s ease;\n /* hover */\n /* active */\n /* message */\n}\n.acf-switch span {\n display: inline-block;\n float: left;\n text-align: center;\n font-size: 13px;\n line-height: 22px;\n padding: 4px 10px;\n min-width: 15px;\n}\n.acf-switch span i {\n vertical-align: middle;\n}\n.acf-switch .acf-switch-on {\n color: #fff;\n text-shadow: #007cba 0 1px 0;\n}\n.acf-switch .acf-switch-slider {\n position: absolute;\n top: 2px;\n left: 2px;\n bottom: 2px;\n right: 50%;\n z-index: 1;\n background: #fff;\n border-radius: 3px;\n border: #7e8993 solid 1px;\n -webkit-transition: all 0.25s ease;\n -moz-transition: all 0.25s ease;\n -o-transition: all 0.25s ease;\n transition: all 0.25s ease;\n transition-property: left, right;\n}\n.acf-switch:hover, .acf-switch.-focus {\n border-color: #0071a1;\n background: #f3f5f6;\n color: #016087;\n}\n.acf-switch:hover .acf-switch-slider, .acf-switch.-focus .acf-switch-slider {\n border-color: #0071a1;\n}\n.acf-switch.-on {\n background: #0d99d5;\n border-color: #007cba;\n /* hover */\n}\n.acf-switch.-on .acf-switch-slider {\n left: 50%;\n right: 2px;\n border-color: #007cba;\n}\n.acf-switch.-on:hover {\n border-color: #007cba;\n}\n.acf-switch + span {\n margin-left: 6px;\n}\n.acf-admin-3-8 .acf-switch {\n border-color: #ccd0d4;\n}\n.acf-admin-3-8 .acf-switch .acf-switch-slider {\n border-color: #ccd0d4;\n}\n.acf-admin-3-8 .acf-switch:hover, .acf-admin-3-8 .acf-switch.-focus {\n border-color: #0071a1;\n}\n.acf-admin-3-8 .acf-switch:hover .acf-switch-slider, .acf-admin-3-8 .acf-switch.-focus .acf-switch-slider {\n border-color: #0071a1;\n}\n.acf-admin-3-8 .acf-switch.-on {\n border-color: #007cba;\n}\n.acf-admin-3-8 .acf-switch.-on .acf-switch-slider {\n border-color: #007cba;\n}\n.acf-admin-3-8 .acf-switch.-on:hover {\n border-color: #007cba;\n}\n\n/* checkbox */\n.acf-switch-input {\n opacity: 0;\n position: absolute;\n margin: 0;\n}\n\n/* in media modal */\n.compat-item .acf-true-false .message {\n float: none;\n padding: 0;\n vertical-align: middle;\n}\n\n/*--------------------------------------------------------------------------\n*\n*\tGoogle Map\n*\t\n*-------------------------------------------------------------------------*/\n.acf-google-map {\n position: relative;\n border: #ccd0d4 solid 1px;\n background: #fff;\n}\n.acf-google-map .title {\n position: relative;\n border-bottom: #ccd0d4 solid 1px;\n}\n.acf-google-map .title .search {\n margin: 0;\n font-size: 14px;\n line-height: 30px;\n height: 40px;\n padding: 5px 10px;\n border: 0 none;\n box-shadow: none;\n border-radius: 0;\n font-family: inherit;\n cursor: text;\n}\n.acf-google-map .title .acf-loading {\n position: absolute;\n top: 10px;\n right: 11px;\n display: none;\n}\n.acf-google-map .title .acf-icon:active {\n display: inline-block !important;\n}\n.acf-google-map .canvas {\n height: 400px;\n}\n.acf-google-map:hover .title .acf-actions {\n display: block;\n}\n.acf-google-map .title .acf-icon.-location {\n display: inline-block;\n}\n.acf-google-map .title .acf-icon.-cancel,\n.acf-google-map .title .acf-icon.-search {\n display: none;\n}\n.acf-google-map.-value .title .search {\n font-weight: bold;\n}\n.acf-google-map.-value .title .acf-icon.-location {\n display: none;\n}\n.acf-google-map.-value .title .acf-icon.-cancel {\n display: inline-block;\n}\n.acf-google-map.-searching .title .acf-icon.-location {\n display: none;\n}\n.acf-google-map.-searching .title .acf-icon.-cancel,\n.acf-google-map.-searching .title .acf-icon.-search {\n display: inline-block;\n}\n.acf-google-map.-searching .title .acf-actions {\n display: block;\n}\n.acf-google-map.-searching .title .search {\n font-weight: normal !important;\n}\n.acf-google-map.-loading .title a {\n display: none !important;\n}\n.acf-google-map.-loading .title i {\n display: inline-block;\n}\n\n/* autocomplete */\n.pac-container {\n border-width: 1px 0;\n box-shadow: none;\n}\n\n.pac-container:after {\n display: none;\n}\n\n.pac-container .pac-item:first-child {\n border-top: 0 none;\n}\n\n.pac-container .pac-item {\n padding: 5px 10px;\n cursor: pointer;\n}\n\nhtml[dir=rtl] .pac-container .pac-item {\n text-align: right;\n}\n\n/*--------------------------------------------------------------------------\n*\n*\tRelationship\n*\t\n*-------------------------------------------------------------------------*/\n.acf-relationship {\n background: #fff;\n border: #ccd0d4 solid 1px;\n /* list */\n /* selection (bottom) */\n}\n.acf-relationship .filters {\n border-bottom: #ccd0d4 solid 1px;\n background: #fff;\n /* widths */\n}\n.acf-relationship .filters:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-relationship .filters .filter {\n margin: 0;\n padding: 0;\n float: left;\n width: 100%;\n box-sizing: border-box;\n padding: 7px 7px 7px 0;\n}\n.acf-relationship .filters .filter:first-child {\n padding-left: 7px;\n}\n.acf-relationship .filters .filter input, .acf-relationship .filters .filter select {\n margin: 0;\n float: none;\n /* potential fix for media popup? */\n}\n.acf-relationship .filters .filter input:focus, .acf-relationship .filters .filter input:active, .acf-relationship .filters .filter select:focus, .acf-relationship .filters .filter select:active {\n outline: none;\n box-shadow: none;\n}\n.acf-relationship .filters .filter input {\n border-color: transparent;\n box-shadow: none;\n padding-left: 3px;\n padding-right: 3px;\n}\n.acf-relationship .filters.-f2 .filter {\n width: 50%;\n}\n.acf-relationship .filters.-f3 .filter {\n width: 25%;\n}\n.acf-relationship .filters.-f3 .filter.-search {\n width: 50%;\n}\n.acf-relationship .list {\n margin: 0;\n padding: 5px;\n height: 160px;\n overflow: auto;\n}\n.acf-relationship .list .acf-rel-label,\n.acf-relationship .list .acf-rel-item,\n.acf-relationship .list p {\n padding: 5px;\n margin: 0;\n display: block;\n position: relative;\n min-height: 18px;\n}\n.acf-relationship .list .acf-rel-label {\n font-weight: bold;\n}\n.acf-relationship .list .acf-rel-item {\n cursor: pointer;\n /* hover */\n /* disabled */\n}\n.acf-relationship .list .acf-rel-item b {\n text-decoration: underline;\n font-weight: normal;\n}\n.acf-relationship .list .acf-rel-item .thumbnail {\n background: #e0e0e0;\n width: 22px;\n height: 22px;\n float: left;\n margin: -2px 5px 0 0;\n}\n.acf-relationship .list .acf-rel-item .thumbnail img {\n max-width: 22px;\n max-height: 22px;\n margin: 0 auto;\n display: block;\n}\n.acf-relationship .list .acf-rel-item .thumbnail.-icon {\n background: #fff;\n}\n.acf-relationship .list .acf-rel-item .thumbnail.-icon img {\n max-height: 20px;\n margin-top: 1px;\n}\n.acf-relationship .list .acf-rel-item:hover {\n background: #3875D7;\n color: #fff;\n}\n.acf-relationship .list .acf-rel-item:hover .thumbnail {\n background: #a2bfec;\n}\n.acf-relationship .list .acf-rel-item:hover .thumbnail.-icon {\n background: #fff;\n}\n.acf-relationship .list .acf-rel-item.disabled {\n opacity: 0.5;\n}\n.acf-relationship .list .acf-rel-item.disabled:hover {\n background: transparent;\n color: #333;\n cursor: default;\n}\n.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail {\n background: #e0e0e0;\n}\n.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail.-icon {\n background: #fff;\n}\n.acf-relationship .list ul {\n padding-bottom: 5px;\n}\n.acf-relationship .list ul .acf-rel-label,\n.acf-relationship .list ul .acf-rel-item,\n.acf-relationship .list ul p {\n padding-left: 20px;\n}\n.acf-relationship .selection {\n position: relative;\n /* choices */\n /* values */\n}\n.acf-relationship .selection:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-relationship .selection .values,\n.acf-relationship .selection .choices {\n width: 50%;\n background: #fff;\n float: left;\n}\n.acf-relationship .selection .choices {\n background: #F9F9F9;\n}\n.acf-relationship .selection .choices .list {\n border-right: #DFDFDF solid 1px;\n}\n.acf-relationship .selection .values .acf-icon {\n position: absolute;\n top: 4px;\n right: 7px;\n display: none;\n /* rtl */\n}\nhtml[dir=rtl] .acf-relationship .selection .values .acf-icon {\n right: auto;\n left: 7px;\n}\n.acf-relationship .selection .values .acf-rel-item:hover .acf-icon {\n display: block;\n}\n.acf-relationship .selection .values .acf-rel-item {\n cursor: move;\n}\n.acf-relationship .selection .values .acf-rel-item b {\n text-decoration: none;\n}\n\n/* menu item fix */\n.menu-item .acf-relationship ul {\n width: auto;\n}\n.menu-item .acf-relationship li {\n display: block;\n}\n\n/*--------------------------------------------------------------------------\n*\n*\tWYSIWYG\n*\t\n*-------------------------------------------------------------------------*/\n.acf-editor-wrap.delay .acf-editor-toolbar {\n content: \"\";\n display: block;\n background: #f5f5f5;\n border-bottom: #dddddd solid 1px;\n color: #555d66;\n padding: 10px;\n}\n.acf-editor-wrap.delay .wp-editor-area {\n padding: 10px;\n border: none;\n color: inherit !important;\n}\n.acf-editor-wrap iframe {\n min-height: 200px;\n}\n.acf-editor-wrap .wp-editor-container {\n border: 1px solid #ccd0d4;\n box-shadow: none !important;\n}\n.acf-editor-wrap .wp-editor-tabs {\n box-sizing: content-box;\n}\n.acf-editor-wrap .wp-switch-editor {\n border-color: #ccd0d4;\n border-bottom-color: transparent;\n}\n\n#mce_fullscreen_container {\n z-index: 900000 !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tTab\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-field-tab {\n display: none !important;\n}\n\n.hidden-by-tab {\n display: none !important;\n}\n\n.acf-tab-wrap {\n clear: both;\n z-index: 1;\n}\n\n.acf-tab-group {\n border-bottom: #ccc solid 1px;\n padding: 10px 10px 0;\n}\n.acf-tab-group li {\n margin: 0 0.5em 0 0;\n}\n.acf-tab-group li a {\n padding: 5px 10px;\n display: block;\n color: #555;\n font-size: 14px;\n font-weight: 600;\n line-height: 24px;\n border: #ccc solid 1px;\n border-bottom: 0 none;\n text-decoration: none;\n background: #e5e5e5;\n transition: none;\n}\n.acf-tab-group li a:hover {\n background: #FFF;\n}\n.acf-tab-group li a:focus {\n outline: none;\n box-shadow: none;\n}\n.acf-tab-group li a:empty {\n display: none;\n}\nhtml[dir=rtl] .acf-tab-group li {\n margin: 0 0 0 0.5em;\n}\n.acf-tab-group li.active a {\n background: #F1F1F1;\n color: #000;\n padding-bottom: 6px;\n margin-bottom: -1px;\n position: relative;\n z-index: 1;\n}\n\n.acf-fields > .acf-tab-wrap {\n background: #F9F9F9;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group {\n position: relative;\n border-top: #ccd0d4 solid 1px;\n border-bottom: #ccd0d4 solid 1px;\n z-index: 2;\n margin-bottom: -1px;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li a {\n background: #f1f1f1;\n border-color: #ccd0d4;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li a:hover {\n background: #FFF;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li.active a {\n background: #FFFFFF;\n}\n.acf-admin-3-8 .acf-fields > .acf-tab-wrap .acf-tab-group {\n border-color: #dfdfdf;\n}\n.acf-fields > .acf-tab-wrap:first-child .acf-tab-group {\n border-top: none;\n}\n\n.acf-fields.-left > .acf-tab-wrap .acf-tab-group {\n padding-left: 20%;\n /* mobile */\n /* rtl */\n}\n@media screen and (max-width: 640px) {\n .acf-fields.-left > .acf-tab-wrap .acf-tab-group {\n padding-left: 10px;\n }\n}\nhtml[dir=rtl] .acf-fields.-left > .acf-tab-wrap .acf-tab-group {\n padding-left: 0;\n padding-right: 20%;\n /* mobile */\n}\n@media screen and (max-width: 850px) {\n html[dir=rtl] .acf-fields.-left > .acf-tab-wrap .acf-tab-group {\n padding-right: 10px;\n }\n}\n\n.acf-tab-wrap.-left .acf-tab-group {\n position: absolute;\n left: 0;\n width: 20%;\n border: 0 none;\n padding: 0 !important;\n /* important overrides 'left aligned labels' */\n margin: 1px 0 0;\n}\n.acf-tab-wrap.-left .acf-tab-group li {\n float: none;\n margin: -1px 0 0;\n}\n.acf-tab-wrap.-left .acf-tab-group li a {\n border: 1px solid #ededed;\n font-size: 13px;\n line-height: 18px;\n color: #0073aa;\n padding: 10px;\n margin: 0;\n font-weight: normal;\n border-width: 1px 0;\n border-radius: 0;\n background: transparent;\n}\n.acf-tab-wrap.-left .acf-tab-group li a:hover {\n color: #00a0d2;\n}\n.acf-tab-wrap.-left .acf-tab-group li.active a {\n border-color: #DFDFDF;\n color: #000;\n margin-right: -1px;\n background: #fff;\n}\nhtml[dir=rtl] .acf-tab-wrap.-left .acf-tab-group {\n left: auto;\n right: 0;\n}\nhtml[dir=rtl] .acf-tab-wrap.-left .acf-tab-group li.active a {\n margin-right: 0;\n margin-left: -1px;\n}\n.acf-field + .acf-tab-wrap.-left:before {\n content: \"\";\n display: block;\n position: relative;\n z-index: 1;\n height: 10px;\n border-top: #DFDFDF solid 1px;\n border-bottom: #DFDFDF solid 1px;\n margin-bottom: -1px;\n}\n.acf-tab-wrap.-left:first-child .acf-tab-group li:first-child a {\n border-top: none;\n}\n\n/* sidebar */\n.acf-fields.-sidebar {\n padding: 0 0 0 20% !important;\n position: relative;\n /* before */\n /* rtl */\n}\n.acf-fields.-sidebar:before {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 20%;\n bottom: 0;\n border-right: #DFDFDF solid 1px;\n background: #F9F9F9;\n z-index: 1;\n}\nhtml[dir=rtl] .acf-fields.-sidebar {\n padding: 0 20% 0 0 !important;\n}\nhtml[dir=rtl] .acf-fields.-sidebar:before {\n border-left: #DFDFDF solid 1px;\n border-right-width: 0;\n left: auto;\n right: 0;\n}\n.acf-fields.-sidebar.-left {\n padding: 0 0 0 180px !important;\n /* rtl */\n}\nhtml[dir=rtl] .acf-fields.-sidebar.-left {\n padding: 0 180px 0 0 !important;\n}\n.acf-fields.-sidebar.-left:before {\n background: #F1F1F1;\n border-color: #dfdfdf;\n width: 180px;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group {\n width: 180px;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li a {\n border-color: #e4e4e4;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li.active a {\n background: #F9F9F9;\n}\n.acf-fields.-sidebar > .acf-field-tab + .acf-field {\n border-top: none;\n}\n\n.acf-fields.-clear > .acf-tab-wrap {\n background: transparent;\n}\n.acf-fields.-clear > .acf-tab-wrap .acf-tab-group {\n margin-top: 0;\n border-top: none;\n padding-left: 0;\n padding-right: 0;\n}\n.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a {\n background: #e5e5e5;\n}\n.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a:hover {\n background: #fff;\n}\n.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li.active a {\n background: #f1f1f1;\n}\n\n/* seamless */\n.acf-postbox.seamless > .acf-fields.-sidebar {\n margin-left: 0 !important;\n}\n.acf-postbox.seamless > .acf-fields.-sidebar:before {\n background: transparent;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap {\n background: transparent;\n margin-bottom: 10px;\n padding-left: 12px;\n padding-right: 12px;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group {\n border-top: 0 none;\n border-color: #ccd0d4;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group li a {\n background: #e5e5e5;\n border-color: #ccd0d4;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group li a:hover {\n background: #fff;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group li.active a {\n background: #f1f1f1;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left:before {\n border-top: none;\n height: auto;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left .acf-tab-group {\n margin-bottom: 0;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left .acf-tab-group li a {\n border-width: 1px 0 1px 1px !important;\n border-color: #cccccc;\n background: #e5e5e5;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left .acf-tab-group li.active a {\n background: #f1f1f1;\n}\n\n.menu-edit .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a,\n.widget .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a {\n background: #f1f1f1;\n}\n.menu-edit .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a:hover, .menu-edit .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li.active a,\n.widget .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a:hover,\n.widget .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li.active a {\n background: #fff;\n}\n\n.compat-item .acf-tab-wrap td {\n display: block;\n}\n\n/* within gallery sidebar */\n.acf-gallery-side .acf-tab-wrap {\n border-top: 0 none !important;\n}\n\n.acf-gallery-side .acf-tab-wrap .acf-tab-group {\n margin: 10px 0 !important;\n padding: 0 !important;\n}\n\n.acf-gallery-side .acf-tab-group li.active a {\n background: #F9F9F9 !important;\n}\n\n/* withing widget */\n.widget .acf-tab-group {\n border-bottom-color: #e8e8e8;\n}\n\n.widget .acf-tab-group li a {\n background: #F1F1F1;\n}\n\n.widget .acf-tab-group li.active a {\n background: #fff;\n}\n\n/* media popup (edit image) */\n.media-modal.acf-expanded .compat-attachment-fields > tbody > tr.acf-tab-wrap .acf-tab-group {\n padding-left: 23%;\n border-bottom-color: #DDDDDD;\n}\n\n/* table */\n.form-table > tbody > tr.acf-tab-wrap .acf-tab-group {\n padding: 0 5px 0 210px;\n}\n\n/* rtl */\nhtml[dir=rtl] .form-table > tbody > tr.acf-tab-wrap .acf-tab-group {\n padding: 0 210px 0 5px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\toembed\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-oembed {\n position: relative;\n border: #ccd0d4 solid 1px;\n background: #fff;\n}\n.acf-oembed .title {\n position: relative;\n border-bottom: #ccd0d4 solid 1px;\n padding: 5px 10px;\n}\n.acf-oembed .title .input-search {\n margin: 0;\n font-size: 14px;\n line-height: 30px;\n height: 30px;\n padding: 0;\n border: 0 none;\n box-shadow: none;\n border-radius: 0;\n font-family: inherit;\n cursor: text;\n}\n.acf-oembed .title .acf-actions {\n padding: 6px;\n}\n.acf-oembed .canvas {\n position: relative;\n min-height: 250px;\n background: #F9F9F9;\n}\n.acf-oembed .canvas .canvas-media {\n position: relative;\n z-index: 1;\n}\n.acf-oembed .canvas iframe {\n display: block;\n margin: 0;\n padding: 0;\n width: 100%;\n}\n.acf-oembed .canvas .acf-icon.-picture {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 0;\n height: 42px;\n width: 42px;\n font-size: 42px;\n color: #999;\n}\n.acf-oembed .canvas .acf-loading-overlay {\n background: rgba(255, 255, 255, 0.9);\n}\n.acf-oembed .canvas .canvas-error {\n position: absolute;\n top: 50%;\n left: 0%;\n right: 0%;\n margin: -9px 0 0 0;\n text-align: center;\n display: none;\n}\n.acf-oembed .canvas .canvas-error p {\n padding: 8px;\n margin: 0;\n display: inline;\n}\n.acf-oembed.has-value .canvas {\n min-height: 50px;\n}\n.acf-oembed.has-value .input-search {\n font-weight: bold;\n}\n.acf-oembed.has-value .title:hover .acf-actions {\n display: block;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tImage\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-image-uploader {\n position: relative;\n /* image wrap*/\n /* input */\n /* rtl */\n}\n.acf-image-uploader:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-image-uploader p {\n margin: 0;\n}\n.acf-image-uploader .image-wrap {\n position: relative;\n float: left;\n /* hover */\n}\n.acf-image-uploader .image-wrap img {\n max-width: 100%;\n max-height: 100%;\n width: auto;\n height: auto;\n display: block;\n min-width: 30px;\n min-height: 30px;\n background: #f1f1f1;\n margin: 0;\n padding: 0;\n /* svg */\n}\n.acf-image-uploader .image-wrap img[src$=\".svg\"] {\n min-height: 100px;\n min-width: 100px;\n}\n.acf-image-uploader .image-wrap:hover .acf-actions {\n display: block;\n}\n.acf-image-uploader input.button {\n width: auto;\n}\nhtml[dir=rtl] .acf-image-uploader .image-wrap {\n float: right;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tFile\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-file-uploader {\n position: relative;\n /* hover */\n /* rtl */\n}\n.acf-file-uploader p {\n margin: 0;\n}\n.acf-file-uploader .file-wrap {\n border: #ccd0d4 solid 1px;\n min-height: 84px;\n position: relative;\n background: #fff;\n}\n.acf-file-uploader .file-icon {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n padding: 10px;\n background: #F1F1F1;\n border-right: #d5d9dd solid 1px;\n}\n.acf-file-uploader .file-icon img {\n display: block;\n padding: 0;\n margin: 0;\n max-width: 48px;\n}\n.acf-file-uploader .file-info {\n padding: 10px;\n margin-left: 69px;\n}\n.acf-file-uploader .file-info p {\n margin: 0 0 2px;\n font-size: 13px;\n line-height: 1.4em;\n word-break: break-all;\n}\n.acf-file-uploader .file-info a {\n text-decoration: none;\n}\n.acf-file-uploader:hover .acf-actions {\n display: block;\n}\nhtml[dir=rtl] .acf-file-uploader .file-icon {\n left: auto;\n right: 0;\n border-left: #E5E5E5 solid 1px;\n border-right: none;\n}\nhtml[dir=rtl] .acf-file-uploader .file-info {\n margin-right: 69px;\n margin-left: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tDate Picker\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-ui-datepicker .ui-datepicker {\n z-index: 900000 !important;\n}\n.acf-ui-datepicker .ui-datepicker .ui-widget-header a {\n cursor: pointer;\n transition: none;\n}\n\n/* fix highlight state overriding hover / active */\n.acf-ui-datepicker .ui-state-highlight.ui-state-hover {\n border: 1px solid #98b7e8 !important;\n background: #98b7e8 !important;\n font-weight: normal !important;\n color: #ffffff !important;\n}\n\n.acf-ui-datepicker .ui-state-highlight.ui-state-active {\n border: 1px solid #3875d7 !important;\n background: #3875d7 !important;\n font-weight: normal !important;\n color: #ffffff !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tSeparator field\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-field-separator {\n /* fields */\n}\n.acf-field-separator .acf-label {\n margin-bottom: 0;\n}\n.acf-field-separator .acf-label label {\n font-weight: normal;\n}\n.acf-field-separator .acf-input {\n display: none;\n}\n.acf-fields > .acf-field-separator {\n background: #f9f9f9;\n border-bottom: 1px solid #dfdfdf;\n border-top: 1px solid #dfdfdf;\n margin-bottom: -1px;\n z-index: 2;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tTaxonomy\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-taxonomy-field {\n position: relative;\n /* hover */\n /* select */\n}\n.acf-taxonomy-field .categorychecklist-holder {\n border: #ccd0d4 solid 1px;\n border-radius: 3px;\n max-height: 200px;\n overflow: auto;\n}\n.acf-taxonomy-field .acf-checkbox-list {\n margin: 0;\n padding: 10px;\n}\n.acf-taxonomy-field .acf-checkbox-list ul.children {\n padding-left: 18px;\n}\n.acf-taxonomy-field:hover .acf-actions {\n display: block;\n}\n.acf-taxonomy-field[data-ftype=select] .acf-actions {\n padding: 0;\n margin: -9px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tRange\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-range-wrap {\n /* rtl */\n}\n.acf-range-wrap .acf-append,\n.acf-range-wrap .acf-prepend {\n display: inline-block;\n vertical-align: middle;\n line-height: 28px;\n margin: 0 7px 0 0;\n}\n.acf-range-wrap .acf-append {\n margin: 0 0 0 7px;\n}\n.acf-range-wrap input[type=range] {\n display: inline-block;\n padding: 0;\n margin: 0;\n vertical-align: middle;\n height: 28px;\n}\n.acf-range-wrap input[type=range]:focus {\n outline: none;\n}\n.acf-range-wrap input[type=number] {\n display: inline-block;\n min-width: 3em;\n margin-left: 10px;\n vertical-align: middle;\n}\nhtml[dir=rtl] .acf-range-wrap input[type=number] {\n margin-right: 10px;\n margin-left: 0;\n}\nhtml[dir=rtl] .acf-range-wrap .acf-append {\n margin: 0 7px 0 0;\n}\nhtml[dir=rtl] .acf-range-wrap .acf-prepend {\n margin: 0 0 0 7px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-accordion\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-accordion {\n margin: -1px 0;\n padding: 0;\n background: #fff;\n border-top: 1px solid #d5d9dd;\n border-bottom: 1px solid #d5d9dd;\n z-index: 1;\n}\n.acf-accordion .acf-accordion-title {\n margin: 0;\n padding: 12px;\n font-weight: bold;\n cursor: pointer;\n font-size: inherit;\n font-size: 13px;\n line-height: 1.4em;\n}\n.acf-accordion .acf-accordion-title:hover {\n background: #f3f4f5;\n}\n.acf-accordion .acf-accordion-title label {\n margin: 0;\n padding: 0;\n font-size: 13px;\n line-height: 1.4em;\n}\n.acf-accordion .acf-accordion-title p {\n font-weight: normal;\n}\n.acf-accordion .acf-accordion-title .acf-accordion-icon {\n float: right;\n}\n.acf-accordion .acf-accordion-title svg.acf-accordion-icon {\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n color: #191e23;\n fill: currentColor;\n}\n.acf-accordion .acf-accordion-content {\n margin: 0;\n padding: 0 12px 12px;\n display: none;\n}\n.acf-accordion.-open > .acf-accordion-content {\n display: block;\n}\n\n.acf-field.acf-accordion {\n margin: -1px 0;\n padding: 0 !important;\n border-color: #d5d9dd;\n}\n.acf-field.acf-accordion .acf-label.acf-accordion-title {\n padding: 12px;\n width: auto;\n float: none;\n width: auto;\n}\n.acf-field.acf-accordion .acf-input.acf-accordion-content {\n padding: 0;\n float: none;\n width: auto;\n}\n.acf-field.acf-accordion .acf-input.acf-accordion-content > .acf-fields {\n border-top: #eeeeee solid 1px;\n}\n.acf-field.acf-accordion .acf-input.acf-accordion-content > .acf-fields.-clear {\n padding: 0 12px 15px;\n}\n\n/* field specific (left) */\n.acf-fields.-left > .acf-field.acf-accordion:before {\n display: none;\n}\n.acf-fields.-left > .acf-field.acf-accordion .acf-accordion-title {\n width: auto;\n margin: 0 !important;\n padding: 12px;\n float: none !important;\n}\n.acf-fields.-left > .acf-field.acf-accordion .acf-accordion-content {\n padding: 0 !important;\n}\n\n/* field specific (clear) */\n.acf-fields.-clear > .acf-field.acf-accordion {\n border: #cccccc solid 1px;\n background: transparent;\n}\n.acf-fields.-clear > .acf-field.acf-accordion + .acf-field.acf-accordion {\n margin-top: -16px;\n}\n\n/* table */\ntr.acf-field.acf-accordion {\n background: transparent;\n}\ntr.acf-field.acf-accordion > .acf-input {\n padding: 0 !important;\n border: #cccccc solid 1px;\n}\ntr.acf-field.acf-accordion .acf-accordion-content {\n padding: 0 12px 12px;\n}\n\n/* #addtag */\n#addtag div.acf-field.error {\n border: 0 none;\n padding: 8px 0;\n}\n\n#addtag > .acf-field.acf-accordion {\n padding-right: 0;\n margin-right: 5%;\n}\n#addtag > .acf-field.acf-accordion + p.submit {\n margin-top: 0;\n}\n\n/* border */\ntr.acf-accordion {\n margin: 15px 0 !important;\n}\ntr.acf-accordion + tr.acf-accordion {\n margin-top: -16px !important;\n}\n\n/* seamless */\n.acf-postbox.seamless > .acf-fields > .acf-accordion {\n margin-left: 12px;\n margin-right: 12px;\n border: #ccd0d4 solid 1px;\n}\n\n/* rtl */\n/* menu item */\n/*\n.menu-item-settings > .field-acf > .acf-field.acf-accordion {\n\tborder: #dfdfdf solid 1px;\n\tmargin: 10px -13px 10px -11px;\n\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -11px;\n\t}\n}\n*/\n/* widget */\n.widget .widget-content > .acf-field.acf-accordion {\n border: #dfdfdf solid 1px;\n margin-bottom: 10px;\n}\n.widget .widget-content > .acf-field.acf-accordion .acf-accordion-title {\n margin-bottom: 0;\n}\n.widget .widget-content > .acf-field.acf-accordion + .acf-field.acf-accordion {\n margin-top: -11px;\n}\n\n.media-modal .compat-attachment-fields .acf-field.acf-accordion + .acf-field.acf-accordion {\n margin-top: -1px;\n}\n.media-modal .compat-attachment-fields .acf-field.acf-accordion > .acf-input {\n width: 100%;\n}\n.media-modal .compat-attachment-fields .acf-field.acf-accordion .compat-attachment-fields > tbody > tr > td {\n padding-bottom: 5px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tBlock Editor\n*\n*---------------------------------------------------------------------------------------------*/\n.block-editor .edit-post-sidebar .acf-postbox > .postbox-header,\n.block-editor .edit-post-sidebar .acf-postbox > .hndle {\n border-bottom-width: 0 !important;\n}\n.block-editor .edit-post-sidebar .acf-postbox.closed > .postbox-header,\n.block-editor .edit-post-sidebar .acf-postbox.closed > .hndle {\n border-bottom-width: 1px !important;\n}\n.block-editor .edit-post-sidebar .acf-fields {\n min-height: 1px;\n overflow: auto;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field {\n border-width: 0;\n border-color: #e2e4e7;\n margin: 16px;\n padding: 0;\n width: auto !important;\n min-height: 0 !important;\n float: none !important;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field > .acf-label {\n margin-bottom: 5px;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field > .acf-label label {\n font-weight: normal;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion {\n padding: 0;\n margin: 0;\n border-top-width: 1px;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion:first-child {\n border-top-width: 0;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-title {\n margin: 0;\n padding: 15px;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-title label {\n font-weight: bold;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-content > .acf-fields {\n border-top-width: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tUser\n*\n*--------------------------------------------------------------------------------------------*/\n.form-table > tbody {\n /* field */\n /* tab wrap */\n /* misc */\n}\n.form-table > tbody > .acf-field {\n /* label */\n /* input */\n}\n.form-table > tbody > .acf-field > .acf-label {\n padding: 20px 10px 20px 0;\n width: 210px;\n /* rtl */\n}\nhtml[dir=rtl] .form-table > tbody > .acf-field > .acf-label {\n padding: 20px 0 20px 10px;\n}\n.form-table > tbody > .acf-field > .acf-label label {\n font-size: 14px;\n color: #23282d;\n}\n.form-table > tbody > .acf-field > .acf-input {\n padding: 15px 10px;\n /* rtl */\n}\nhtml[dir=rtl] .form-table > tbody > .acf-field > .acf-input {\n padding: 15px 10px 15px 5%;\n}\n.form-table > tbody > .acf-tab-wrap td {\n padding: 15px 5% 15px 0;\n /* rtl */\n}\nhtml[dir=rtl] .form-table > tbody > .acf-tab-wrap td {\n padding: 15px 0 15px 5%;\n}\n.form-table > tbody .form-table th.acf-th {\n width: auto;\n}\n\n#your-profile,\n#createuser {\n /* override for user css */\n /* allow sub fields to display correctly */\n}\n#your-profile .acf-field input[type=text],\n#your-profile .acf-field input[type=password],\n#your-profile .acf-field input[type=number],\n#your-profile .acf-field input[type=search],\n#your-profile .acf-field input[type=email],\n#your-profile .acf-field input[type=url],\n#your-profile .acf-field select,\n#createuser .acf-field input[type=text],\n#createuser .acf-field input[type=password],\n#createuser .acf-field input[type=number],\n#createuser .acf-field input[type=search],\n#createuser .acf-field input[type=email],\n#createuser .acf-field input[type=url],\n#createuser .acf-field select {\n max-width: 25em;\n}\n#your-profile .acf-field textarea,\n#createuser .acf-field textarea {\n max-width: 500px;\n}\n#your-profile .acf-field .acf-field input[type=text],\n#your-profile .acf-field .acf-field input[type=password],\n#your-profile .acf-field .acf-field input[type=number],\n#your-profile .acf-field .acf-field input[type=search],\n#your-profile .acf-field .acf-field input[type=email],\n#your-profile .acf-field .acf-field input[type=url],\n#your-profile .acf-field .acf-field textarea,\n#your-profile .acf-field .acf-field select,\n#createuser .acf-field .acf-field input[type=text],\n#createuser .acf-field .acf-field input[type=password],\n#createuser .acf-field .acf-field input[type=number],\n#createuser .acf-field .acf-field input[type=search],\n#createuser .acf-field .acf-field input[type=email],\n#createuser .acf-field .acf-field input[type=url],\n#createuser .acf-field .acf-field textarea,\n#createuser .acf-field .acf-field select {\n max-width: none;\n}\n\n#registerform h2 {\n margin: 1em 0;\n}\n#registerform .acf-field {\n margin-top: 0;\n /*\n \t\t.acf-input {\n \t\t\tinput {\n \t\t\t\tfont-size: 24px;\n \t\t\t\tpadding: 5px;\n \t\t\t\theight: auto;\n \t\t\t}\n \t\t}\n */\n}\n#registerform .acf-field .acf-label {\n margin-bottom: 0;\n}\n#registerform .acf-field .acf-label label {\n font-weight: normal;\n line-height: 1.5;\n}\n#registerform p.submit {\n text-align: right;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tTerm\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-term-fields {\n padding-right: 5%;\n}\n#acf-term-fields > .acf-field > .acf-label {\n margin: 0;\n}\n#acf-term-fields > .acf-field > .acf-label label {\n font-size: 12px;\n font-weight: normal;\n}\n\np.submit .spinner,\np.submit .acf-spinner {\n vertical-align: top;\n float: none;\n margin: 4px 4px 0;\n}\n\n#edittag .acf-fields.-left > .acf-field {\n padding-left: 220px;\n}\n#edittag .acf-fields.-left > .acf-field:before {\n width: 209px;\n}\n#edittag .acf-fields.-left > .acf-field > .acf-label {\n width: 220px;\n margin-left: -220px;\n padding: 0 10px;\n}\n#edittag .acf-fields.-left > .acf-field > .acf-input {\n padding: 0;\n}\n\n#edittag > .acf-fields.-left {\n width: 96%;\n}\n#edittag > .acf-fields.-left > .acf-field > .acf-label {\n padding-left: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tComment\n*\n*--------------------------------------------------------------------------------------------*/\n.editcomment td:first-child {\n white-space: nowrap;\n width: 131px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tWidget\n*\n*--------------------------------------------------------------------------------------------*/\n#widgets-right .widget .acf-field .description {\n padding-left: 0;\n padding-right: 0;\n}\n\n.acf-widget-fields > .acf-field .acf-label {\n margin-bottom: 5px;\n}\n.acf-widget-fields > .acf-field .acf-label label {\n font-weight: normal;\n margin: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tNav Menu\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-menu-settings {\n border-top: 1px solid #eee;\n margin-top: 2em;\n}\n.acf-menu-settings.-seamless {\n border-top: none;\n margin-top: 15px;\n}\n.acf-menu-settings.-seamless > h2 {\n display: none;\n}\n.acf-menu-settings .list li {\n display: block;\n margin-bottom: 0;\n}\n\n.acf-fields.acf-menu-item-fields {\n clear: both;\n padding-top: 1px;\n}\n.acf-fields.acf-menu-item-fields > .acf-field {\n margin: 5px 0;\n padding-right: 10px;\n}\n.acf-fields.acf-menu-item-fields > .acf-field .acf-label {\n margin-bottom: 0;\n}\n.acf-fields.acf-menu-item-fields > .acf-field .acf-label label {\n font-style: italic;\n font-weight: normal;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Attachment Form (single)\n*\n*---------------------------------------------------------------------------------------------*/\n#post .compat-attachment-fields .compat-field-acf-form-data {\n display: none;\n}\n#post .compat-attachment-fields,\n#post .compat-attachment-fields > tbody,\n#post .compat-attachment-fields > tbody > tr,\n#post .compat-attachment-fields > tbody > tr > th,\n#post .compat-attachment-fields > tbody > tr > td {\n display: block;\n}\n#post .compat-attachment-fields > tbody > .acf-field {\n margin: 15px 0;\n}\n#post .compat-attachment-fields > tbody > .acf-field > .acf-label {\n margin: 0;\n}\n#post .compat-attachment-fields > tbody > .acf-field > .acf-label label {\n margin: 0;\n padding: 0;\n}\n#post .compat-attachment-fields > tbody > .acf-field > .acf-label label p {\n margin: 0 0 3px !important;\n}\n#post .compat-attachment-fields > tbody > .acf-field > .acf-input {\n margin: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Media Model\n*\n*---------------------------------------------------------------------------------------------*/\n/* WP sets tables to act as divs. ACF uses tables, so these muct be reset */\n.media-modal .compat-attachment-fields td.acf-input table {\n display: table;\n table-layout: auto;\n}\n.media-modal .compat-attachment-fields td.acf-input table tbody {\n display: table-row-group;\n}\n.media-modal .compat-attachment-fields td.acf-input table tr {\n display: table-row;\n}\n.media-modal .compat-attachment-fields td.acf-input table td, .media-modal .compat-attachment-fields td.acf-input table th {\n display: table-cell;\n}\n\n/* field widths floats */\n.media-modal .compat-attachment-fields > tbody > .acf-field {\n margin: 5px 0;\n}\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-label {\n min-width: 30%;\n margin: 0;\n padding: 0;\n float: left;\n text-align: right;\n display: block;\n float: left;\n}\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-label > label {\n padding-top: 6px;\n margin: 0;\n color: #666666;\n font-weight: 400;\n line-height: 16px;\n}\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-input {\n width: 65%;\n margin: 0;\n padding: 0;\n float: right;\n display: block;\n}\n.media-modal .compat-attachment-fields > tbody > .acf-field p.description {\n margin: 0;\n}\n\n/* restricted selection (copy of WP .upload-errors)*/\n.acf-selection-error {\n background: #ffebe8;\n border: 1px solid #c00;\n border-radius: 3px;\n padding: 8px;\n margin: 20px 0 0;\n}\n.acf-selection-error .selection-error-label {\n background: #CC0000;\n border-radius: 3px;\n color: #fff;\n font-weight: bold;\n margin-right: 8px;\n padding: 2px 4px;\n}\n.acf-selection-error .selection-error-message {\n color: #b44;\n display: block;\n padding-top: 8px;\n word-wrap: break-word;\n white-space: pre-wrap;\n}\n\n/* disabled attachment */\n.media-modal .attachment.acf-disabled .thumbnail {\n opacity: 0.25 !important;\n}\n.media-modal .attachment.acf-disabled .attachment-preview:before {\n background: rgba(0, 0, 0, 0.15);\n z-index: 1;\n position: relative;\n}\n\n/* misc */\n.media-modal {\n /* compat-item */\n /* allow line breaks in upload error */\n /* fix required span */\n /* sidebar */\n /* mobile md */\n}\n.media-modal .compat-field-acf-form-data,\n.media-modal .compat-field-acf-blank {\n display: none !important;\n}\n.media-modal .upload-error-message {\n white-space: pre-wrap;\n}\n.media-modal .acf-required {\n padding: 0 !important;\n margin: 0 !important;\n float: none !important;\n color: #f00 !important;\n}\n.media-modal .media-sidebar .compat-item {\n padding-bottom: 20px;\n}\n@media (max-width: 900px) {\n .media-modal {\n /* label */\n /* field */\n }\n .media-modal .setting span,\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-label {\n width: 98%;\n float: none;\n text-align: left;\n min-height: 0;\n padding: 0;\n }\n .media-modal .setting input,\n.media-modal .setting textarea,\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-input {\n float: none;\n height: auto;\n max-width: none;\n width: 98%;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Media Model (expand details)\n*\n*---------------------------------------------------------------------------------------------*/\n.media-modal .acf-expand-details {\n float: right;\n padding: 8px 10px;\n margin-right: 6px;\n font-size: 13px;\n height: 18px;\n line-height: 18px;\n color: #666;\n text-decoration: none;\n}\n.media-modal .acf-expand-details:focus, .media-modal .acf-expand-details:active {\n outline: 0 none;\n box-shadow: none;\n color: #666;\n}\n.media-modal .acf-expand-details:hover {\n color: #000;\n}\n.media-modal .acf-expand-details .is-open {\n display: none;\n}\n.media-modal .acf-expand-details .is-closed {\n display: block;\n}\n@media (max-width: 640px) {\n .media-modal .acf-expand-details {\n display: none;\n }\n}\n\n/* expanded */\n.media-modal.acf-expanded {\n /* toggle */\n}\n.media-modal.acf-expanded .acf-expand-details .is-open {\n display: block;\n}\n.media-modal.acf-expanded .acf-expand-details .is-closed {\n display: none;\n}\n.media-modal.acf-expanded .attachments-browser .media-toolbar,\n.media-modal.acf-expanded .attachments-browser .attachments {\n right: 740px;\n}\n.media-modal.acf-expanded .media-sidebar {\n width: 708px;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail {\n float: left;\n max-height: none;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail img {\n max-width: 100%;\n max-height: 200px;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .details {\n float: right;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,\n.media-modal.acf-expanded .media-sidebar .attachment-details .setting .name,\n.media-modal.acf-expanded .media-sidebar .compat-attachment-fields > tbody > .acf-field > .acf-label {\n min-width: 20%;\n margin-right: 0;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .details,\n.media-modal.acf-expanded .media-sidebar .attachment-details .setting input,\n.media-modal.acf-expanded .media-sidebar .attachment-details .setting textarea,\n.media-modal.acf-expanded .media-sidebar .attachment-details .setting + .description,\n.media-modal.acf-expanded .media-sidebar .compat-attachment-fields > tbody > .acf-field > .acf-input {\n min-width: 77%;\n}\n@media (max-width: 900px) {\n .media-modal.acf-expanded .attachments-browser .media-toolbar {\n display: none;\n }\n .media-modal.acf-expanded .attachments {\n display: none;\n }\n .media-modal.acf-expanded .media-sidebar {\n width: auto;\n max-width: none !important;\n bottom: 0 !important;\n }\n .media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail {\n min-width: 0;\n max-width: none;\n width: 30%;\n }\n .media-modal.acf-expanded .media-sidebar .attachment-info .details {\n min-width: 0;\n max-width: none;\n width: 67%;\n }\n}\n@media (max-width: 640px) {\n .media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail, .media-modal.acf-expanded .media-sidebar .attachment-info .details {\n width: 100%;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-media-modal {\n /* hide embed settings */\n}\n.acf-media-modal .media-embed .setting.align,\n.acf-media-modal .media-embed .setting.link-to {\n display: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model (Select Mode)\n*\n*---------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model (Edit Mode)\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-media-modal.-edit {\n /* resize modal */\n left: 15%;\n right: 15%;\n top: 100px;\n bottom: 100px;\n /* hide elements */\n /* full width */\n /* tidy up incorrect distance */\n /* title box shadow (to match media grid) */\n /* sidebar */\n /* mobile md */\n /* mobile sm */\n}\n.acf-media-modal.-edit .media-frame-menu,\n.acf-media-modal.-edit .media-frame-router,\n.acf-media-modal.-edit .media-frame-content .attachments,\n.acf-media-modal.-edit .media-frame-content .media-toolbar {\n display: none;\n}\n.acf-media-modal.-edit .media-frame-title,\n.acf-media-modal.-edit .media-frame-content,\n.acf-media-modal.-edit .media-frame-toolbar,\n.acf-media-modal.-edit .media-sidebar {\n width: auto;\n left: 0;\n right: 0;\n}\n.acf-media-modal.-edit .media-frame-content {\n top: 50px;\n}\n.acf-media-modal.-edit .media-frame-title {\n border-bottom: 1px solid #DFDFDF;\n box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1);\n}\n.acf-media-modal.-edit .media-sidebar {\n padding: 0 16px;\n /* WP details */\n /* ACF fields */\n /* WP required message */\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details {\n overflow: visible;\n /* hide 'Attachment Details' heading */\n /* remove overflow */\n /* move thumbnail */\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details > h3, .acf-media-modal.-edit .media-sidebar .attachment-details > h2 {\n display: none;\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details .attachment-info {\n background: #fff;\n border-bottom: #dddddd solid 1px;\n padding: 16px;\n margin: 0 -16px 16px;\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details .thumbnail {\n margin: 0 16px 0 0;\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details .setting {\n margin: 0 0 5px;\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details .setting span {\n margin: 0;\n}\n.acf-media-modal.-edit .media-sidebar .compat-attachment-fields > tbody > .acf-field {\n margin: 0 0 5px;\n}\n.acf-media-modal.-edit .media-sidebar .compat-attachment-fields > tbody > .acf-field p.description {\n margin-top: 3px;\n}\n.acf-media-modal.-edit .media-sidebar .media-types-required-info {\n display: none;\n}\n@media (max-width: 900px) {\n .acf-media-modal.-edit {\n top: 30px;\n right: 30px;\n bottom: 30px;\n left: 30px;\n }\n}\n@media (max-width: 640px) {\n .acf-media-modal.-edit {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n}\n@media (max-width: 480px) {\n .acf-media-modal.-edit .media-frame-content {\n top: 40px;\n }\n}\n\n.acf-temp-remove {\n position: relative;\n opacity: 1;\n -webkit-transition: all 0.25s ease;\n -moz-transition: all 0.25s ease;\n -o-transition: all 0.25s ease;\n transition: all 0.25s ease;\n overflow: hidden;\n /* overlay prevents hover */\n}\n.acf-temp-remove:after {\n display: block;\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 99;\n}\n\n.hidden-by-conditional-logic {\n display: none !important;\n}\n.hidden-by-conditional-logic.appear-empty {\n display: table-cell !important;\n}\n.hidden-by-conditional-logic.appear-empty .acf-input {\n display: none !important;\n}\n\n.acf-postbox.acf-hidden {\n display: none !important;\n}\n\n.acf-attention {\n transition: border 0.25s ease-out;\n}\n.acf-attention.-focused {\n border: #23282d solid 1px !important;\n transition: none;\n}\n\ntr.acf-attention {\n transition: box-shadow 0.25s ease-out;\n position: relative;\n}\ntr.acf-attention.-focused {\n box-shadow: #23282d 0 0 0px 1px !important;\n}\n\n#editor .edit-post-layout__metaboxes {\n padding: 0;\n}\n#editor .edit-post-layout__metaboxes .edit-post-meta-boxes-area {\n margin: 0;\n}\n#editor .metabox-location-side .postbox-container {\n float: none;\n}\n#editor .postbox {\n color: #444;\n}\n#editor .postbox > .postbox-header .hndle {\n border-bottom: none;\n}\n#editor .postbox > .postbox-header .hndle:hover {\n background: transparent;\n}\n#editor .postbox > .postbox-header .handle-actions .handle-order-higher,\n#editor .postbox > .postbox-header .handle-actions .handle-order-lower {\n width: 1.62rem;\n}\n#editor .postbox > .postbox-header .handle-actions .acf-hndle-cog {\n height: 44px;\n line-height: 44px;\n}\n#editor .postbox > .postbox-header:hover {\n background: #f0f0f0;\n}\n#editor .postbox:last-child.closed > .postbox-header {\n border-bottom: none;\n}\n#editor .postbox:last-child > .inside {\n border-bottom: none;\n}\n#editor .block-editor-writing-flow__click-redirect {\n min-height: 50px;\n}\n\nbody.is-dragging-metaboxes #acf_after_title-sortables {\n outline: 3px dashed #646970;\n display: flow-root;\n min-height: 60px;\n margin-bottom: 3px !important;\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tUser\n*\n*--------------------------------------------------------------------------------------------*/\n\n.form-table > tbody {\n\t\n\t/* field */\n\t> .acf-field {\n\t\t\n\t\t/* label */\n\t\t> .acf-label {\n\t\t\tpadding: 20px 10px 20px 0;\n\t\t width: 210px;\n\t\t \n\t\t /* rtl */\n\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\tpadding: 20px 0 20px 10px;\n\t\t\t}\n\t\t\t\n\t\t label {\n\t\t\t\tfont-size: 14px;\n\t\t\t\tcolor: #23282d;\n\t\t\t}\n\t\t \n\t\t}\n\t\t\n\t\t\n\t\t/* input */\n\t\t> .acf-input {\n\t\t\tpadding: 15px 10px;\n\t\t\t\n\t\t\t/* rtl */\n\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\tpadding: 15px 10px 15px 5%;\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* tab wrap */\n\t> .acf-tab-wrap td {\n\t\tpadding: 15px 5% 15px 0;\n\t\t\n\t\t/* rtl */\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tpadding: 15px 0 15px 5%;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* misc */\n\t.form-table th.acf-th {\n\t\twidth: auto;\n\t}\n\t\n}\n\n#your-profile,\n#createuser {\n\t\n\t/* override for user css */\n\t.acf-field input[type=\"text\"],\n\t.acf-field input[type=\"password\"],\n\t.acf-field input[type=\"number\"],\n\t.acf-field input[type=\"search\"],\n\t.acf-field input[type=\"email\"],\n\t.acf-field input[type=\"url\"],\n\t.acf-field select {\n\t max-width: 25em;\n\t}\n\t\n\t.acf-field textarea {\n\t\tmax-width: 500px;\n\t}\n\t\n\t\n\t/* allow sub fields to display correctly */\n\t.acf-field .acf-field input[type=\"text\"],\n\t.acf-field .acf-field input[type=\"password\"],\n\t.acf-field .acf-field input[type=\"number\"],\n\t.acf-field .acf-field input[type=\"search\"],\n\t.acf-field .acf-field input[type=\"email\"],\n\t.acf-field .acf-field input[type=\"url\"],\n\t.acf-field .acf-field textarea,\n\t.acf-field .acf-field select {\n\t max-width: none;\n\t}\n}\n\n#registerform {\n\t\n\th2 {\n\t\tmargin: 1em 0;\n\t}\n\t\n\t.acf-field {\n\t\tmargin-top: 0;\n\t\t\n\t\t.acf-label {\n\t\t\tmargin-bottom: 0;\n\t\t\t\n\t\t\tlabel {\n\t\t\t\tfont-weight: normal;\n\t\t\t\tline-height: 1.5;\n\t\t\t}\n\t\t}\n\t\t\n/*\n\t\t.acf-input {\n\t\t\tinput {\n\t\t\t\tfont-size: 24px;\n\t\t\t\tpadding: 5px;\n\t\t\t\theight: auto;\n\t\t\t}\n\t\t}\n*/\n\t}\n\t\n\tp.submit {\n\t\ttext-align: right;\n\t}\n\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tTerm\n*\n*--------------------------------------------------------------------------------------------*/\n\n// add term\n#acf-term-fields {\n\tpadding-right: 5%;\n\t\n\t> .acf-field {\n\t\t\n\t\t> .acf-label {\n\t\t\tmargin: 0;\n\t\t\t\n\t\t\tlabel {\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t}\n\t}\n\t\n}\n\np.submit .spinner,\np.submit .acf-spinner {\n\tvertical-align: top;\n\tfloat: none;\n\tmargin: 4px 4px 0;\n}\n\n\n// edit term\n#edittag .acf-fields.-left {\n\t\n\t> .acf-field {\n\t\tpadding-left: 220px;\n\t\t\n\t\t&:before {\n\t\t\twidth: 209px;\n\t\t}\n\t\t\n\t\t> .acf-label {\n\t\t\twidth: 220px;\n\t\t\tmargin-left: -220px;\n\t\t\tpadding: 0 10px;\n\t\t}\n\t\t\n\t\t> .acf-input {\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n#edittag > .acf-fields.-left {\n\twidth: 96%;\n\t\n\t> .acf-field { \n\t\t\n\t\t> .acf-label {\n\t\t\tpadding-left: 0;\n\t\t}\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tComment\n*\n*--------------------------------------------------------------------------------------------*/\n\n.editcomment td:first-child {\n white-space: nowrap;\n width: 131px;\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tWidget\n*\n*--------------------------------------------------------------------------------------------*/\n\n#widgets-right .widget .acf-field .description {\n\tpadding-left: 0;\n\tpadding-right: 0;\n}\n\n.acf-widget-fields {\n\t\n\t> .acf-field {\n\t\t\n\t\t.acf-label {\n\t\t\tmargin-bottom: 5px;\n\t\t\t\n\t\t\tlabel {\n\t\t\t\tfont-weight: normal;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tNav Menu\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-menu-settings {\n\tborder-top: 1px solid #eee;\n margin-top: 2em;\n\t\n\t// seamless\n\t&.-seamless {\n\t\tborder-top: none;\n\t\tmargin-top: 15px;\n\t\t\n\t\t> h2 { display: none; }\n\t}\n\t\n\t// Fix relationship conflict.\n\t.list li {\n\t\tdisplay: block;\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.acf-fields.acf-menu-item-fields {\n\tclear: both;\n\tpadding-top: 1px; // Fixes margin overlap.\n\t\n\t> .acf-field {\n\t\tmargin: 5px 0;\n\t\tpadding-right: 10px;\n\t\t\n\t\t.acf-label {\n\t\t\tmargin-bottom: 0;\n\t\t\tlabel {\n\t\t\t\tfont-style: italic;\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Attachment Form (single)\n*\n*---------------------------------------------------------------------------------------------*/\n\n#post .compat-attachment-fields {\n\t\n\t.compat-field-acf-form-data {\n\t\tdisplay: none;\n\t}\n\t\n\t&,\n\t> tbody,\n\t> tbody > tr,\n\t> tbody > tr > th,\n\t> tbody > tr > td {\n\t\tdisplay: block;\n\t}\n\t\n\t> tbody > .acf-field {\n\t\tmargin: 15px 0;\n\t\t\n\t\t> .acf-label {\n\t\t\tmargin: 0;\n\t\t\t\n\t\t\tlabel {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\t\n\t\t\t\tp {\n\t\t\t\t\tmargin: 0 0 3px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t> .acf-input {\n\t\t\tmargin: 0;\n\t\t}\n\t} \n}\n\n\n\n","/*---------------------------------------------------------------------------------------------\n*\n* Media Model\n*\n*---------------------------------------------------------------------------------------------*/\n\n/* WP sets tables to act as divs. ACF uses tables, so these muct be reset */\n.media-modal .compat-attachment-fields td.acf-input {\n\t\n\ttable {\n\t\tdisplay: table;\n\t\ttable-layout: auto;\n\t\t\n\t\ttbody {\n\t\t\tdisplay: table-row-group;\n\t\t}\n\t\t\n\t\ttr {\n\t\t\tdisplay: table-row;\n\t\t}\n\t\t\n\t\ttd, th {\n\t\t\tdisplay: table-cell;\n\t\t}\n\t\t\n\t}\n\t\n}\n\n\n/* field widths floats */\n.media-modal .compat-attachment-fields > tbody > .acf-field {\n\tmargin: 5px 0;\n\t\n\t> .acf-label {\n\t\tmin-width: 30%;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfloat: left;\n\t text-align: right;\n\t display: block;\n\t float: left;\n\t \n\t > label {\n\t\t padding-top: 6px;\n\t\t\tmargin: 0;\n\t\t\tcolor: #666666;\n\t\t font-weight: 400;\n\t\t line-height: 16px;\n\t }\n\t}\n\t\n\t> .acf-input {\n\t\twidth: 65%;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t float: right;\n\t display: block;\n\t}\n\t\n\tp.description {\n\t\tmargin: 0;\n\t}\n}\n\n\n/* restricted selection (copy of WP .upload-errors)*/\n.acf-selection-error {\n\tbackground: #ffebe8;\n border: 1px solid #c00;\n border-radius: 3px;\n padding: 8px;\n margin: 20px 0 0;\n \n .selection-error-label {\n\t\tbackground: #CC0000;\n\t border-radius: 3px;\n\t color: #fff;\n\t font-weight: bold;\n\t margin-right: 8px;\n\t padding: 2px 4px;\n\t}\n\t\n\t.selection-error-message {\n\t\tcolor: #b44;\n\t display: block;\n\t padding-top: 8px;\n\t word-wrap: break-word;\n\t white-space: pre-wrap;\n\t}\n}\n\n\n/* disabled attachment */\n.media-modal .attachment.acf-disabled {\n\t\n\t.thumbnail {\n\t\topacity: 0.25 !important;\n\t}\n\t\t\n\t.attachment-preview:before {\n\t\tbackground: rgba(0,0,0,0.15);\n\t\tz-index: 1;\n\t\tposition: relative;\n\t}\n\n}\n\n\n/* misc */\n.media-modal {\n\t\n\t/* compat-item */\n\t.compat-field-acf-form-data,\n\t.compat-field-acf-blank {\n\t\tdisplay: none !important;\n\t}\n\t\n\t\n\t/* allow line breaks in upload error */\n\t.upload-error-message {\n\t\twhite-space: pre-wrap;\n\t}\n\t\n\t\n\t/* fix required span */\n\t.acf-required {\n\t\tpadding: 0 !important;\n\t\tmargin: 0 !important;\n\t\tfloat: none !important;\n\t\tcolor: #f00 !important;\n\t}\n\t\n\t\n\t/* sidebar */\n\t.media-sidebar {\n\t\t\n\t\t.compat-item{\n\t\t\tpadding-bottom: 20px;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* mobile md */\n\t@media (max-width: 900px) {\n\t\t\n\t\t/* label */\n\t\t.setting span, \n\t\t.compat-attachment-fields > tbody > .acf-field > .acf-label {\n\t\t\twidth: 98%;\n\t\t\tfloat: none;\n\t\t\ttext-align: left;\n\t\t\tmin-height: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t\t\n\t\t\n\t\t/* field */\n\t\t.setting input, \n\t\t.setting textarea, \n\t\t.compat-attachment-fields > tbody > .acf-field > .acf-input {\n\t\t\tfloat: none;\n\t\t height: auto;\n\t\t max-width: none;\n\t\t width: 98%;\n\t\t}\n\n\t}\n\n\t\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Media Model (expand details)\n*\n*---------------------------------------------------------------------------------------------*/\n\n.media-modal .acf-expand-details {\n\tfloat: right;\n\tpadding: 8px 10px;\n\tmargin-right: 6px;\n\tfont-size: 13px;\n\theight: 18px;\n\tline-height: 18px;\n\tcolor: #666;\n\ttext-decoration: none;\n\n\t// States.\n\t&:focus, &:active {\n\t\toutline: 0 none;\n\t\tbox-shadow: none;\n\t\tcolor: #666;\n\t}\n\t&:hover {\n\t\tcolor: #000;\n\t}\n\t\n\t// Open & close.\n\t.is-open { display: none; }\n\t.is-closed { display: block; }\n\t\n\t// Hide on mobile.\n\t@media (max-width: $sm) {\n\t\tdisplay: none;\n\t}\n}\n\n\n/* expanded */\n.media-modal.acf-expanded {\n\t\n\t/* toggle */\n\t.acf-expand-details {\n\t\t.is-open { display: block; }\n\t\t.is-closed { display: none; }\n\t\t\n\t}\n\t\n\t// Components.\n\t.attachments-browser .media-toolbar, \n\t.attachments-browser .attachments { right: 740px; }\n\t.media-sidebar { width: 708px; }\n\t\n\t// Sidebar.\n\t.media-sidebar {\n\t\t\n\t\t// Attachment info.\n\t\t.attachment-info {\n\t\t\t.thumbnail {\n\t\t\t\tfloat: left;\n\t\t\t\tmax-height: none;\n\n\t\t\t\timg {\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 200px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t.details {\n\t\t\t\tfloat: right;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Label\n\t\t.attachment-info .thumbnail,\n\t\t.attachment-details .setting .name, \n\t\t.compat-attachment-fields > tbody > .acf-field > .acf-label {\n\t\t\tmin-width: 20%;\n\t\t\tmargin-right: 0;\n\t\t}\n\t\t\n\t\t// Input\n\t\t.attachment-info .details,\n\t\t.attachment-details .setting input, \n\t\t.attachment-details .setting textarea,\n\t\t.attachment-details .setting + .description,\n\t\t.compat-attachment-fields > tbody > .acf-field > .acf-input {\n\t\t\tmin-width: 77%;\n\t\t}\n\t}\n\t\n\t// Screen: Medium.\n\t@media (max-width: 900px) {\n\t\t\n\t\t// Components.\n\t\t.attachments-browser .media-toolbar { display: none; }\n\t\t.attachments { display: none; }\n\t\t.media-sidebar { width: auto; max-width: none !important; bottom: 0 !important; }\n\t\t\n\t\t// Sidebar.\n\t\t.media-sidebar {\n\t\t\t\n\t\t\t// Attachment info.\n\t\t\t.attachment-info {\n\t\t\t\t.thumbnail {\n\t\t\t\t\tmin-width: 0;\n\t\t\t\t\tmax-width: none;\n\t\t\t\t\twidth: 30%;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t.details {\n\t\t\t\t\tmin-width: 0;\n\t\t\t\t\tmax-width: none;\n\t\t\t\t\twidth: 67%;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\t\n\t\t}\n\t}\n\t\n\t// Screen: small.\n\t@media (max-width: 640px) {\n\t\t\n\t\t// Sidebar.\n\t\t.media-sidebar {\n\t\t\t\n\t\t\t// Attachment info.\n\t\t\t.attachment-info {\n\t\t\t\t.thumbnail, .details {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t}\n\t\t\t}\t\n\t\t}\n\t}\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-media-modal {\n\t\n\t/* hide embed settings */\n\t.media-embed {\n\t\t.setting.align,\n\t\t.setting.link-to {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model (Select Mode)\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-media-modal.-select {\n\t\n\t\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model (Edit Mode)\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-media-modal.-edit {\n\t\n\t/* resize modal */\n\tleft: 15%;\n\tright: 15%;\n\ttop: 100px;\n\tbottom: 100px;\n\t\n\t\n\t/* hide elements */\n\t.media-frame-menu,\n\t.media-frame-router,\n\t.media-frame-content .attachments,\n\t.media-frame-content .media-toolbar {\n\t display: none;\n\t}\n\t\n\t\n\t/* full width */\n\t.media-frame-title,\n\t.media-frame-content,\n\t.media-frame-toolbar,\n\t.media-sidebar {\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\t\n\t\n\t/* tidy up incorrect distance */\n\t.media-frame-content {\n\t top: 50px;\n\t}\n\t\n\t\n\t/* title box shadow (to match media grid) */\n\t.media-frame-title {\n\t border-bottom: 1px solid #DFDFDF;\n\t box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1);\n\t}\n\t\n\t\n\t/* sidebar */\n\t.media-sidebar {\n\t\t\n\t\tpadding: 0 16px;\n\t\t\n\t\t/* WP details */\n\t\t.attachment-details {\n\t\t\t\n\t\t\toverflow: visible;\n\t\t\t\n\t\t\t/* hide 'Attachment Details' heading */\n\t\t\t> h3, > h2 {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t/* remove overflow */\n\t\t\t.attachment-info {\n\t\t\t\tbackground: #fff;\n\t\t\t\tborder-bottom: #dddddd solid 1px;\n\t\t\t\tpadding: 16px;\n\t\t\t\tmargin: 0 -16px 16px;\n\t\t\t}\n\t\t\t\n\t\t\t/* move thumbnail */\n\t\t\t.thumbnail {\n\t\t\t\tmargin: 0 16px 0 0;\n\t\t\t}\n\t\t\t\n\t\t\t.setting {\n\t\t\t\tmargin: 0 0 5px;\n\t\t\t\t\n\t\t\t\tspan {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* ACF fields */\n\t\t.compat-attachment-fields {\n\t\t\t\n\t\t\t> tbody > .acf-field {\n\t\t\t\tmargin: 0 0 5px;\n\t\t\t\t\n\t\t\t\tp.description {\n\t\t\t\t\tmargin-top: 3px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* WP required message */\n\t\t.media-types-required-info { display: none; }\n\t\t\n\t}\n\t\n\t\n\t/* mobile md */\n\t@media (max-width: 900px) {\n\t\ttop: 30px;\n\t\tright: 30px;\n\t\tbottom: 30px;\n\t\tleft: 30px;\n\t}\n\t\n\t\n\t/* mobile sm */\n\t@media (max-width: 640px) {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t}\n\t\n\t@media (max-width: 480px) {\n\t\t.media-frame-content {\n\t\t top: 40px;\n\t\t}\n\t}\n}\n","// Temp remove.\n.acf-temp-remove {\n\tposition: relative;\n\topacity: 1;\n\t-webkit-transition: all 0.25s ease;\n\t-moz-transition: all 0.25s ease;\n\t-o-transition: all 0.25s ease;\n\ttransition: all 0.25s ease;\n\toverflow: hidden;\n\t\n\t/* overlay prevents hover */\n\t&:after {\n\t\tdisplay: block;\n\t\tcontent: \"\";\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tz-index: 99;\n\t}\n}\n\n// Conditional Logic.\n.hidden-by-conditional-logic {\n\tdisplay: none !important;\n\t\n\t// Table cells may \"appear empty\".\n\t&.appear-empty {\n\t\tdisplay: table-cell !important;\n\t\t.acf-input {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n}\n\n// Compat support for \"Tabify\" plugin.\n.acf-postbox.acf-hidden {\n\tdisplay: none !important;\n}\n\n// Focus Attention.\n.acf-attention {\n\ttransition: border 0.250s ease-out;\n\t&.-focused {\n\t\tborder: #23282d solid 1px !important;\n\t\ttransition: none;\n\t}\n}\ntr.acf-attention {\n\ttransition: box-shadow 0.250s ease-out;\n\tposition: relative;\n\t&.-focused {\n\t\tbox-shadow: #23282d 0 0 0px 1px !important;\n\t}\n}","// Gutenberg specific styles.\n#editor {\n\t\n\t// Postbox container.\n\t.edit-post-layout__metaboxes {\n\t\tpadding: 0;\n\t\t.edit-post-meta-boxes-area {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n\n\t// Sidebar postbox container.\n\t.metabox-location-side {\n\t\t.postbox-container {\n\t\t\tfloat: none;\n\t\t}\n\t}\n\t\n\t// Alter postbox to look like panel component.\n\t.postbox {\n\t\tcolor: #444;\n\t\t\n\t\t> .postbox-header {\n\t\t\t.hndle {\n\t\t\t\tborder-bottom: none;\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: transparent;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.handle-actions {\n\t\t\t\t.handle-order-higher,\n\t\t\t\t.handle-order-lower {\n\t\t\t\t\twidth: 1.62rem;\n\t\t\t\t}\n\n\t\t\t\t// Fix \"Edit\" icon height.\n\t\t\t\t.acf-hndle-cog {\n\t\t\t\t\theight: 44px;\n\t\t\t\t\tline-height: 44px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&:hover {\n\t\t\t\tbackground: #f0f0f0;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Hide bottom border of last postbox.\n\t\t&:last-child.closed > .postbox-header {\n\t\t\tborder-bottom: none;\n\t\t}\n\t\t&:last-child > .inside {\n\t\t\tborder-bottom: none;\n\t\t}\n\t}\n\n\t// Prevent metaboxes being forced offscreen.\n\t.block-editor-writing-flow__click-redirect {\n\t\tmin-height: 50px;\n\t}\n}\n\n// Fix to display \"High\" metabox area when dragging metaboxes.\nbody.is-dragging-metaboxes #acf_after_title-sortables{\n\toutline: 3px dashed #646970;\n\tdisplay: flow-root;\n\tmin-height: 60px;\n\tmargin-bottom: 3px !important\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/assets/build/css/acf-input.min.css b/assets/build/css/acf-input.min.css index d1da899..6697be7 100644 --- a/assets/build/css/acf-input.min.css +++ b/assets/build/css/acf-input.min.css @@ -1 +1 @@ -.acf-field,.acf-field .acf-input,.acf-field .acf-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative}.acf-field{margin:15px 0;clear:both}.acf-field p.description{display:block;margin:0;padding:0}.acf-field .acf-label{vertical-align:top;margin:0 0 10px}.acf-field .acf-label label{display:block;font-weight:700;margin:0 0 3px;padding:0}.acf-field .acf-label:empty{margin-bottom:0}.acf-field .acf-input{vertical-align:top}.acf-field .acf-input>p.description{margin-top:5px}.acf-field .acf-notice{margin:0 0 15px;background:#edf2ff;color:#0c6ca0;border-color:#2183b9}.acf-field .acf-notice.-error{background:#ffe6e6;color:#cc2727;border-color:#d12626}.acf-field .acf-notice.-success{background:#eefbe8;color:#0e7b17;border-color:#32a23b}.acf-field .acf-notice.-warning{background:#fff3e6;color:#bd4b0e;border-color:#d16226}td.acf-field,tr.acf-field{margin:0}.acf-field[data-width]{float:left;clear:none}.acf-field[data-width]+.acf-field[data-width]{border-left:1px solid #eee}html[dir=rtl] .acf-field[data-width]{float:right}html[dir=rtl] .acf-field[data-width]+.acf-field[data-width]{border-left:none;border-right:1px solid #eee}td.acf-field[data-width],tr.acf-field[data-width]{float:none}.acf-field.-c0{clear:both;border-left-width:0!important}html[dir=rtl] .acf-field.-c0{border-left-width:1px!important;border-right-width:0!important}.acf-field.-r0{border-top-width:0!important}.acf-fields{position:relative}.acf-fields:after{display:block;clear:both;content:""}.acf-fields.-border{border:#ccd0d4 solid 1px;background:#fff}.acf-fields>.acf-field{position:relative;margin:0;padding:15px 12px;border-top:#eee solid 1px}.acf-fields>.acf-field:first-child{border-top:none;margin-top:0}td.acf-fields{padding:0!important}.acf-fields.-clear>.acf-field{border:none;padding:0;margin:15px 0}.acf-fields.-clear>.acf-field[data-width]{border:none!important}.acf-fields.-clear>.acf-field>.acf-label{padding:0}.acf-fields.-clear>.acf-field>.acf-input{padding:0}.acf-fields.-left>.acf-field{padding:15px 0}.acf-fields.-left>.acf-field:after{display:block;clear:both;content:""}.acf-fields.-left>.acf-field:before{content:"";display:block;position:absolute;z-index:0;background:#f9f9f9;border-color:#e1e1e1;border-style:solid;border-width:0 1px 0 0;top:0;bottom:0;left:0;width:20%}.acf-fields.-left>.acf-field[data-width]{float:none;width:auto!important;border-left-width:0!important;border-right-width:0!important}.acf-fields.-left>.acf-field>.acf-label{float:left;width:20%;margin:0;padding:0 12px}.acf-fields.-left>.acf-field>.acf-input{float:left;width:80%;margin:0;padding:0 12px}html[dir=rtl] .acf-fields.-left>.acf-field:before{border-width:0 0 0 1px;left:auto;right:0}html[dir=rtl] .acf-fields.-left>.acf-field>.acf-label{float:right}html[dir=rtl] .acf-fields.-left>.acf-field>.acf-input{float:right}#side-sortables .acf-fields.-left>.acf-field:before{display:none}#side-sortables .acf-fields.-left>.acf-field>.acf-label{width:100%;margin-bottom:10px}#side-sortables .acf-fields.-left>.acf-field>.acf-input{width:100%}@media screen and (max-width:640px){.acf-fields.-left>.acf-field:before{display:none}.acf-fields.-left>.acf-field>.acf-label{width:100%;margin-bottom:10px}.acf-fields.-left>.acf-field>.acf-input{width:100%}}.acf-fields.-clear.-left>.acf-field{padding:0;border:none}.acf-fields.-clear.-left>.acf-field:before{display:none}.acf-fields.-clear.-left>.acf-field>.acf-label{padding:0}.acf-fields.-clear.-left>.acf-field>.acf-input{padding:0}.acf-table tr.acf-field>td.acf-label{padding:15px 12px;margin:0;background:#f9f9f9;width:20%}.acf-table tr.acf-field>td.acf-input{padding:15px 12px;margin:0;border-left-color:#e1e1e1}.acf-sortable-tr-helper{position:relative!important;display:table-row!important}.acf-postbox{position:relative}.acf-postbox>.inside{margin:0!important;padding:0!important}.acf-postbox .acf-hndle-cog{color:#72777c;font-size:16px;line-height:36px;height:36px;width:1.62rem;position:relative;display:none}.acf-postbox .acf-hndle-cog:hover{color:#191e23}.acf-postbox>.hndle:hover .acf-hndle-cog,.acf-postbox>.postbox-header:hover .acf-hndle-cog{display:inline-block}.acf-postbox>.hndle .acf-hndle-cog{height:20px;line-height:20px;float:right;width:auto}.acf-postbox>.hndle .acf-hndle-cog:hover{color:#777}.acf-postbox .acf-replace-with-fields{padding:15px;text-align:center}#post-body-content #acf_after_title-sortables{margin:20px 0 -20px}.acf-postbox.seamless{border:0 none;background:0 0;box-shadow:none}.acf-postbox.seamless>.handlediv,.acf-postbox.seamless>.hndle,.acf-postbox.seamless>.postbox-header{display:none!important}.acf-postbox.seamless>.inside{display:block!important;margin-left:-12px!important;margin-right:-12px!important}.acf-postbox.seamless>.inside>.acf-field{border-color:transparent}.acf-postbox.seamless>.acf-fields.-left>.acf-field:before{display:none}@media screen and (max-width:782px){.acf-postbox.seamless>.acf-fields.-left>.acf-field>.acf-input,.acf-postbox.seamless>.acf-fields.-left>.acf-field>.acf-label{padding:0}}.acf-field input[type=date],.acf-field input[type=datetime-local],.acf-field input[type=datetime],.acf-field input[type=email],.acf-field input[type=month],.acf-field input[type=number],.acf-field input[type=password],.acf-field input[type=search],.acf-field input[type=tel],.acf-field input[type=text],.acf-field input[type=time],.acf-field input[type=url],.acf-field input[type=week],.acf-field select,.acf-field textarea{width:100%;padding:4px 8px;margin:0;box-sizing:border-box;font-size:14px;line-height:1.4}.acf-admin-3-8 .acf-field input[type=date],.acf-admin-3-8 .acf-field input[type=datetime-local],.acf-admin-3-8 .acf-field input[type=datetime],.acf-admin-3-8 .acf-field input[type=email],.acf-admin-3-8 .acf-field input[type=month],.acf-admin-3-8 .acf-field input[type=number],.acf-admin-3-8 .acf-field input[type=password],.acf-admin-3-8 .acf-field input[type=search],.acf-admin-3-8 .acf-field input[type=tel],.acf-admin-3-8 .acf-field input[type=text],.acf-admin-3-8 .acf-field input[type=time],.acf-admin-3-8 .acf-field input[type=url],.acf-admin-3-8 .acf-field input[type=week],.acf-admin-3-8 .acf-field select,.acf-admin-3-8 .acf-field textarea{padding:3px 5px}.acf-field textarea{resize:vertical}body.acf-browser-firefox .acf-field select{padding:4px 5px}.acf-input-append,.acf-input-prepend,.acf-input-wrap{box-sizing:border-box}.acf-input-append,.acf-input-prepend{font-size:14px;line-height:1.4;padding:4px 8px;background:#f5f5f5;border:#7e8993 solid 1px;min-height:30px}.acf-admin-3-8 .acf-input-append,.acf-admin-3-8 .acf-input-prepend{padding:3px 5px;border-color:#ddd;min-height:28px}.acf-input-prepend{float:left;border-right-width:0;border-radius:3px 0 0 3px}.acf-input-append{float:right;border-left-width:0;border-radius:0 3px 3px 0}.acf-input-wrap{position:relative;overflow:hidden}.acf-input-wrap .acf-is-prepended{border-radius:0 3px 3px 0!important}.acf-input-wrap .acf-is-appended{border-radius:3px 0 0 3px!important}.acf-input-wrap .acf-is-prepended.acf-is-appended{border-radius:0!important}html[dir=rtl] .acf-input-prepend{border-left-width:0;border-right-width:1px;border-radius:0 3px 3px 0;float:right}html[dir=rtl] .acf-input-append{border-left-width:1px;border-right-width:0;border-radius:3px 0 0 3px;float:left}html[dir=rtl] input.acf-is-prepended{border-radius:3px 0 0 3px!important}html[dir=rtl] input.acf-is-appended{border-radius:0 3px 3px 0!important}html[dir=rtl] input.acf-is-prepended.acf-is-appended{border-radius:0!important}.acf-color-picker .wp-color-result{border-color:#7e8993}.acf-admin-3-8 .acf-color-picker .wp-color-result{border-color:#ccd0d4}.acf-color-picker .wp-picker-active{position:relative;z-index:1}.acf-url i{position:absolute;top:5px;left:5px;opacity:.5;color:#7e8993}.acf-url input[type=url]{padding-left:27px!important}.acf-url.-valid i{opacity:1}.select2-container.-acf .select2-choices{background:#fff;border-color:#ddd;box-shadow:0 1px 2px rgba(0,0,0,.07) inset;min-height:31px}.select2-container.-acf .select2-choices .select2-search-choice{margin:5px 0 5px 5px;padding:3px 5px 3px 18px;border-color:#bbb;background:#f9f9f9;box-shadow:0 1px 0 rgba(255,255,255,.25) inset}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper{background:#5897fb;border-color:#3f87fa;color:#fff;box-shadow:0 0 3px rgba(0,0,0,.1)}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper a{visibility:hidden}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-placeholder{background-color:#f7f7f7;border-color:#f7f7f7;visibility:visible!important}.select2-container.-acf .select2-choices .select2-search-choice-focus{border-color:#999}.select2-container.-acf .select2-choices .select2-search-field input{height:31px;line-height:22px;margin:0;padding:5px 5px 5px 7px}.select2-container.-acf .select2-choice{border-color:#bbb}.select2-container.-acf .select2-choice .select2-arrow{background:0 0;border-left-color:#dfdfdf;padding-left:1px}.select2-container.-acf .select2-choice .select2-result-description{display:none}.select2-container.-acf.select2-container-active .select2-choices,.select2-container.-acf.select2-dropdown-open .select2-choices{border-color:#5b9dd9;border-radius:3px 3px 0 0}.select2-container.-acf.select2-dropdown-open .select2-choice{background:#fff;border-color:#5b9dd9}html[dir=rtl] .select2-container.-acf .select2-search-choice-close{left:24px}html[dir=rtl] .select2-container.-acf .select2-choice>.select2-chosen{margin-left:42px}html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow{padding-left:0;padding-right:1px}.select2-drop .select2-search{padding:4px 4px 0}.select2-drop .select2-result .select2-result-description{color:#999;font-size:12px;margin-left:5px}.select2-drop .select2-result.select2-highlighted .select2-result-description{color:#fff;opacity:.75}.select2-container.-acf li{margin-bottom:0}.select2-container.-acf .select2-selection{border-color:#7e8993}.acf-admin-3-8 .select2-container.-acf .select2-selection{border-color:#aaa}.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child{float:none}.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child input{width:100%!important}.select2-container.-acf .select2-selection--multiple .select2-selection__rendered{padding-right:0}.select2-container.-acf .select2-selection--multiple .select2-selection__choice{background-color:#f7f7f7;border-color:#ccc;max-width:100%;overflow:hidden;word-wrap:normal!important;white-space:normal}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper{background:#5897fb;border-color:#3f87fa;color:#fff;box-shadow:0 0 3px rgba(0,0,0,.1)}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper span{visibility:hidden}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-placeholder{background-color:#f7f7f7;border-color:#f7f7f7;visibility:visible!important}.select2-container.-acf .select2-selection--multiple .select2-search__field{box-shadow:none!important;min-height:0}.acf-row .select2-container.-acf .select2-selection--single{overflow:hidden}.acf-row .select2-container.-acf .select2-selection--single .select2-selection__rendered{white-space:normal}.select2-container .select2-dropdown{z-index:900000}.select2-container .select2-dropdown .select2-search__field{line-height:1.4;min-height:0}.acf-link .link-wrap{display:none;border:#ccd0d4 solid 1px;border-radius:3px;padding:5px;line-height:26px;background:#fff;word-wrap:break-word;word-break:break-all}.acf-link .link-wrap .link-title{padding:0 5px}.acf-link.-value .button{display:none}.acf-link.-value .acf-icon.-link-ext{display:none}.acf-link.-value .link-wrap{display:inline-block}.acf-link.-external .acf-icon.-link-ext{display:inline-block}#wp-link-backdrop{z-index:900000!important}#wp-link-wrap{z-index:900001!important}ul.acf-checkbox-list,ul.acf-radio-list{background:0 0;position:relative;padding:1px;margin:0}ul.acf-checkbox-list li,ul.acf-radio-list li{font-size:13px;line-height:22px;margin:0;position:relative;word-wrap:break-word}ul.acf-checkbox-list li label,ul.acf-radio-list li label{display:inline}ul.acf-checkbox-list li input[type=checkbox],ul.acf-checkbox-list li input[type=radio],ul.acf-radio-list li input[type=checkbox],ul.acf-radio-list li input[type=radio]{margin:-1px 4px 0 0;vertical-align:middle}ul.acf-checkbox-list li input[type=text],ul.acf-radio-list li input[type=text]{width:auto;vertical-align:middle;margin:2px 0}ul.acf-checkbox-list li span,ul.acf-radio-list li span{float:none}ul.acf-checkbox-list li i,ul.acf-radio-list li i{vertical-align:middle}ul.acf-checkbox-list.acf-hl li,ul.acf-radio-list.acf-hl li{margin-right:20px;clear:none}html[dir=rtl] ul.acf-checkbox-list input[type=checkbox],html[dir=rtl] ul.acf-checkbox-list input[type=radio],html[dir=rtl] ul.acf-radio-list input[type=checkbox],html[dir=rtl] ul.acf-radio-list input[type=radio]{margin-left:4px;margin-right:0}.acf-button-group{display:inline-block}.acf-button-group label{display:inline-block;border:#7e8993 solid 1px;position:relative;z-index:1;padding:5px 10px;background:#fff}.acf-button-group label:hover{color:#016087;background:#f3f5f6;border-color:#0071a1;z-index:2}.acf-button-group label.selected{border-color:#007cba;background:#008dd4;color:#fff;z-index:2}.acf-button-group input{display:none!important}.acf-button-group{padding-left:1px;display:inline-flex;flex-direction:row;flex-wrap:nowrap}.acf-button-group label{margin:0 0 0 -1px;flex:1;text-align:center;white-space:nowrap}.acf-button-group label:first-child{border-radius:3px 0 0 3px}html[dir=rtl] .acf-button-group label:first-child{border-radius:0 3px 3px 0}.acf-button-group label:last-child{border-radius:0 3px 3px 0}html[dir=rtl] .acf-button-group label:last-child{border-radius:3px 0 0 3px}.acf-button-group label:only-child{border-radius:3px}.acf-button-group.-vertical{padding-left:0;padding-top:1px;flex-direction:column}.acf-button-group.-vertical label{margin:-1px 0 0 0}.acf-button-group.-vertical label:first-child{border-radius:3px 3px 0 0}.acf-button-group.-vertical label:last-child{border-radius:0 0 3px 3px}.acf-button-group.-vertical label:only-child{border-radius:3px}.acf-admin-3-8 .acf-button-group label{border-color:#ccd0d4}.acf-admin-3-8 .acf-button-group label:hover{border-color:#0071a1}.acf-admin-3-8 .acf-button-group label.selected{border-color:#007cba}.acf-checkbox-list .button{margin:10px 0 0}.acf-switch{display:inline-block;border-radius:5px;cursor:pointer;position:relative;background:#f5f5f5;height:30px;vertical-align:middle;border:#7e8993 solid 1px;-webkit-transition:background .25s ease;-moz-transition:background .25s ease;-o-transition:background .25s ease;transition:background .25s ease}.acf-switch span{display:inline-block;float:left;text-align:center;font-size:13px;line-height:22px;padding:4px 10px;min-width:15px}.acf-switch span i{vertical-align:middle}.acf-switch .acf-switch-on{color:#fff;text-shadow:#007cba 0 1px 0}.acf-switch .acf-switch-slider{position:absolute;top:2px;left:2px;bottom:2px;right:50%;z-index:1;background:#fff;border-radius:3px;border:#7e8993 solid 1px;-webkit-transition:all .25s ease;-moz-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;transition-property:left,right}.acf-switch.-focus,.acf-switch:hover{border-color:#0071a1;background:#f3f5f6;color:#016087}.acf-switch.-focus .acf-switch-slider,.acf-switch:hover .acf-switch-slider{border-color:#0071a1}.acf-switch.-on{background:#0d99d5;border-color:#007cba}.acf-switch.-on .acf-switch-slider{left:50%;right:2px;border-color:#007cba}.acf-switch.-on:hover{border-color:#007cba}.acf-switch+span{margin-left:6px}.acf-admin-3-8 .acf-switch{border-color:#ccd0d4}.acf-admin-3-8 .acf-switch .acf-switch-slider{border-color:#ccd0d4}.acf-admin-3-8 .acf-switch.-focus,.acf-admin-3-8 .acf-switch:hover{border-color:#0071a1}.acf-admin-3-8 .acf-switch.-focus .acf-switch-slider,.acf-admin-3-8 .acf-switch:hover .acf-switch-slider{border-color:#0071a1}.acf-admin-3-8 .acf-switch.-on{border-color:#007cba}.acf-admin-3-8 .acf-switch.-on .acf-switch-slider{border-color:#007cba}.acf-admin-3-8 .acf-switch.-on:hover{border-color:#007cba}.acf-switch-input{opacity:0;position:absolute;margin:0}.compat-item .acf-true-false .message{float:none;padding:0;vertical-align:middle}.acf-google-map{position:relative;border:#ccd0d4 solid 1px;background:#fff}.acf-google-map .title{position:relative;border-bottom:#ccd0d4 solid 1px}.acf-google-map .title .search{margin:0;font-size:14px;line-height:30px;height:40px;padding:5px 10px;border:0 none;box-shadow:none;border-radius:0;font-family:inherit;cursor:text}.acf-google-map .title .acf-loading{position:absolute;top:10px;right:11px;display:none}.acf-google-map .title .acf-icon:active{display:inline-block!important}.acf-google-map .canvas{height:400px}.acf-google-map:hover .title .acf-actions{display:block}.acf-google-map .title .acf-icon.-location{display:inline-block}.acf-google-map .title .acf-icon.-cancel,.acf-google-map .title .acf-icon.-search{display:none}.acf-google-map.-value .title .search{font-weight:700}.acf-google-map.-value .title .acf-icon.-location{display:none}.acf-google-map.-value .title .acf-icon.-cancel{display:inline-block}.acf-google-map.-searching .title .acf-icon.-location{display:none}.acf-google-map.-searching .title .acf-icon.-cancel,.acf-google-map.-searching .title .acf-icon.-search{display:inline-block}.acf-google-map.-searching .title .acf-actions{display:block}.acf-google-map.-searching .title .search{font-weight:400!important}.acf-google-map.-loading .title a{display:none!important}.acf-google-map.-loading .title i{display:inline-block}.pac-container{border-width:1px 0;box-shadow:none}.pac-container:after{display:none}.pac-container .pac-item:first-child{border-top:0 none}.pac-container .pac-item{padding:5px 10px;cursor:pointer}html[dir=rtl] .pac-container .pac-item{text-align:right}.acf-relationship{background:#fff;border:#ccd0d4 solid 1px}.acf-relationship .filters{border-bottom:#ccd0d4 solid 1px;background:#fff}.acf-relationship .filters:after{display:block;clear:both;content:""}.acf-relationship .filters .filter{margin:0;padding:0;float:left;width:100%;box-sizing:border-box;padding:7px 7px 7px 0}.acf-relationship .filters .filter:first-child{padding-left:7px}.acf-relationship .filters .filter input,.acf-relationship .filters .filter select{margin:0;float:none}.acf-relationship .filters .filter input:active,.acf-relationship .filters .filter input:focus,.acf-relationship .filters .filter select:active,.acf-relationship .filters .filter select:focus{outline:0;box-shadow:none}.acf-relationship .filters .filter input{border-color:transparent;box-shadow:none;padding-left:3px;padding-right:3px}.acf-relationship .filters.-f2 .filter{width:50%}.acf-relationship .filters.-f3 .filter{width:25%}.acf-relationship .filters.-f3 .filter.-search{width:50%}.acf-relationship .list{margin:0;padding:5px;height:160px;overflow:auto}.acf-relationship .list .acf-rel-item,.acf-relationship .list .acf-rel-label,.acf-relationship .list p{padding:5px;margin:0;display:block;position:relative;min-height:18px}.acf-relationship .list .acf-rel-label{font-weight:700}.acf-relationship .list .acf-rel-item{cursor:pointer}.acf-relationship .list .acf-rel-item b{text-decoration:underline;font-weight:400}.acf-relationship .list .acf-rel-item .thumbnail{background:#e0e0e0;width:22px;height:22px;float:left;margin:-2px 5px 0 0}.acf-relationship .list .acf-rel-item .thumbnail img{max-width:22px;max-height:22px;margin:0 auto;display:block}.acf-relationship .list .acf-rel-item .thumbnail.-icon{background:#fff}.acf-relationship .list .acf-rel-item .thumbnail.-icon img{max-height:20px;margin-top:1px}.acf-relationship .list .acf-rel-item:hover{background:#3875d7;color:#fff}.acf-relationship .list .acf-rel-item:hover .thumbnail{background:#a2bfec}.acf-relationship .list .acf-rel-item:hover .thumbnail.-icon{background:#fff}.acf-relationship .list .acf-rel-item.disabled{opacity:.5}.acf-relationship .list .acf-rel-item.disabled:hover{background:0 0;color:#333;cursor:default}.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail{background:#e0e0e0}.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail.-icon{background:#fff}.acf-relationship .list ul{padding-bottom:5px}.acf-relationship .list ul .acf-rel-item,.acf-relationship .list ul .acf-rel-label,.acf-relationship .list ul p{padding-left:20px}.acf-relationship .selection{position:relative}.acf-relationship .selection:after{display:block;clear:both;content:""}.acf-relationship .selection .choices,.acf-relationship .selection .values{width:50%;background:#fff;float:left}.acf-relationship .selection .choices{background:#f9f9f9}.acf-relationship .selection .choices .list{border-right:#dfdfdf solid 1px}.acf-relationship .selection .values .acf-icon{position:absolute;top:4px;right:7px;display:none}html[dir=rtl] .acf-relationship .selection .values .acf-icon{right:auto;left:7px}.acf-relationship .selection .values .acf-rel-item:hover .acf-icon{display:block}.acf-relationship .selection .values .acf-rel-item{cursor:move}.acf-relationship .selection .values .acf-rel-item b{text-decoration:none}.menu-item .acf-relationship ul{width:auto}.menu-item .acf-relationship li{display:block}.acf-editor-wrap.delay .acf-editor-toolbar{content:"";display:block;background:#f5f5f5;border-bottom:#ddd solid 1px;color:#555d66;padding:10px}.acf-editor-wrap.delay .wp-editor-area{padding:10px;border:none;color:inherit!important}.acf-editor-wrap iframe{min-height:200px}.acf-editor-wrap .wp-editor-container{border:1px solid #ccd0d4;box-shadow:none!important}.acf-editor-wrap .wp-editor-tabs{box-sizing:content-box}.acf-editor-wrap .wp-switch-editor{border-color:#ccd0d4;border-bottom-color:transparent}#mce_fullscreen_container{z-index:900000!important}.acf-field-tab{display:none!important}.hidden-by-tab{display:none!important}.acf-tab-wrap{clear:both;z-index:1}.acf-tab-group{border-bottom:#ccc solid 1px;padding:10px 10px 0}.acf-tab-group li{margin:0 .5em 0 0}.acf-tab-group li a{padding:5px 10px;display:block;color:#555;font-size:14px;font-weight:600;line-height:24px;border:#ccc solid 1px;border-bottom:0 none;text-decoration:none;background:#e5e5e5;transition:none}.acf-tab-group li a:hover{background:#fff}.acf-tab-group li a:focus{outline:0;box-shadow:none}.acf-tab-group li a:empty{display:none}html[dir=rtl] .acf-tab-group li{margin:0 0 0 .5em}.acf-tab-group li.active a{background:#f1f1f1;color:#000;padding-bottom:6px;margin-bottom:-1px;position:relative;z-index:1}.acf-fields>.acf-tab-wrap{background:#f9f9f9}.acf-fields>.acf-tab-wrap .acf-tab-group{position:relative;border-top:#ccd0d4 solid 1px;border-bottom:#ccd0d4 solid 1px;z-index:2;margin-bottom:-1px}.acf-fields>.acf-tab-wrap .acf-tab-group li a{background:#f1f1f1;border-color:#ccd0d4}.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background:#fff}.acf-admin-3-8 .acf-fields>.acf-tab-wrap .acf-tab-group{border-color:#dfdfdf}.acf-fields>.acf-tab-wrap:first-child .acf-tab-group{border-top:none}.acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:20%}@media screen and (max-width:640px){.acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:10px}}html[dir=rtl] .acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:0;padding-right:20%}@media screen and (max-width:850px){html[dir=rtl] .acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-right:10px}}.acf-tab-wrap.-left .acf-tab-group{position:absolute;left:0;width:20%;border:0 none;padding:0!important;margin:1px 0 0}.acf-tab-wrap.-left .acf-tab-group li{float:none;margin:-1px 0 0}.acf-tab-wrap.-left .acf-tab-group li a{border:1px solid #ededed;font-size:13px;line-height:18px;color:#0073aa;padding:10px;margin:0;font-weight:400;border-width:1px 0;border-radius:0;background:0 0}.acf-tab-wrap.-left .acf-tab-group li a:hover{color:#00a0d2}.acf-tab-wrap.-left .acf-tab-group li.active a{border-color:#dfdfdf;color:#000;margin-right:-1px;background:#fff}html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group{left:auto;right:0}html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group li.active a{margin-right:0;margin-left:-1px}.acf-field+.acf-tab-wrap.-left:before{content:"";display:block;position:relative;z-index:1;height:10px;border-top:#dfdfdf solid 1px;border-bottom:#dfdfdf solid 1px;margin-bottom:-1px}.acf-tab-wrap.-left:first-child .acf-tab-group li:first-child a{border-top:none}.acf-fields.-sidebar{padding:0 0 0 20%!important;position:relative}.acf-fields.-sidebar:before{content:"";display:block;position:absolute;top:0;left:0;width:20%;bottom:0;border-right:#dfdfdf solid 1px;background:#f9f9f9;z-index:1}html[dir=rtl] .acf-fields.-sidebar{padding:0 20% 0 0!important}html[dir=rtl] .acf-fields.-sidebar:before{border-left:#dfdfdf solid 1px;border-right-width:0;left:auto;right:0}.acf-fields.-sidebar.-left{padding:0 0 0 180px!important}html[dir=rtl] .acf-fields.-sidebar.-left{padding:0 180px 0 0!important}.acf-fields.-sidebar.-left:before{background:#f1f1f1;border-color:#dfdfdf;width:180px}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group{width:180px}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li a{border-color:#e4e4e4}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li.active a{background:#f9f9f9}.acf-fields.-sidebar>.acf-field-tab+.acf-field{border-top:none}.acf-fields.-clear>.acf-tab-wrap{background:0 0}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group{margin-top:0;border-top:none;padding-left:0;padding-right:0}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a{background:#e5e5e5}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a{background:#f1f1f1}.acf-postbox.seamless>.acf-fields.-sidebar{margin-left:0!important}.acf-postbox.seamless>.acf-fields.-sidebar:before{background:0 0}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap{background:0 0;margin-bottom:10px;padding-left:12px;padding-right:12px}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group{border-top:0 none;border-color:#ccd0d4}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li a{background:#e5e5e5;border-color:#ccd0d4}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background:#f1f1f1}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left:before{border-top:none;height:auto}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group{margin-bottom:0}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group li a{border-width:1px 0 1px 1px!important;border-color:#ccc;background:#e5e5e5}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group li.active a{background:#f1f1f1}.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a{background:#f1f1f1}.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover,.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a{background:#fff}.compat-item .acf-tab-wrap td{display:block}.acf-gallery-side .acf-tab-wrap{border-top:0 none!important}.acf-gallery-side .acf-tab-wrap .acf-tab-group{margin:10px 0!important;padding:0!important}.acf-gallery-side .acf-tab-group li.active a{background:#f9f9f9!important}.widget .acf-tab-group{border-bottom-color:#e8e8e8}.widget .acf-tab-group li a{background:#f1f1f1}.widget .acf-tab-group li.active a{background:#fff}.media-modal.acf-expanded .compat-attachment-fields>tbody>tr.acf-tab-wrap .acf-tab-group{padding-left:23%;border-bottom-color:#ddd}.form-table>tbody>tr.acf-tab-wrap .acf-tab-group{padding:0 5px 0 210px}html[dir=rtl] .form-table>tbody>tr.acf-tab-wrap .acf-tab-group{padding:0 210px 0 5px}.acf-oembed{position:relative;border:#ccd0d4 solid 1px;background:#fff}.acf-oembed .title{position:relative;border-bottom:#ccd0d4 solid 1px;padding:5px 10px}.acf-oembed .title .input-search{margin:0;font-size:14px;line-height:30px;height:30px;padding:0;border:0 none;box-shadow:none;border-radius:0;font-family:inherit;cursor:text}.acf-oembed .title .acf-actions{padding:6px}.acf-oembed .canvas{position:relative;min-height:250px;background:#f9f9f9}.acf-oembed .canvas .canvas-media{position:relative;z-index:1}.acf-oembed .canvas iframe{display:block;margin:0;padding:0;width:100%}.acf-oembed .canvas .acf-icon.-picture{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;height:42px;width:42px;font-size:42px;color:#999}.acf-oembed .canvas .acf-loading-overlay{background:rgba(255,255,255,.9)}.acf-oembed .canvas .canvas-error{position:absolute;top:50%;left:0;right:0;margin:-9px 0 0 0;text-align:center;display:none}.acf-oembed .canvas .canvas-error p{padding:8px;margin:0;display:inline}.acf-oembed.has-value .canvas{min-height:50px}.acf-oembed.has-value .input-search{font-weight:700}.acf-oembed.has-value .title:hover .acf-actions{display:block}.acf-image-uploader{position:relative}.acf-image-uploader:after{display:block;clear:both;content:""}.acf-image-uploader p{margin:0}.acf-image-uploader .image-wrap{position:relative;float:left}.acf-image-uploader .image-wrap img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;min-width:30px;min-height:30px;background:#f1f1f1;margin:0;padding:0}.acf-image-uploader .image-wrap img[src$=".svg"]{min-height:100px;min-width:100px}.acf-image-uploader .image-wrap:hover .acf-actions{display:block}.acf-image-uploader input.button{width:auto}html[dir=rtl] .acf-image-uploader .image-wrap{float:right}.acf-file-uploader{position:relative}.acf-file-uploader p{margin:0}.acf-file-uploader .file-wrap{border:#ccd0d4 solid 1px;min-height:84px;position:relative;background:#fff}.acf-file-uploader .file-icon{position:absolute;top:0;left:0;bottom:0;padding:10px;background:#f1f1f1;border-right:#d5d9dd solid 1px}.acf-file-uploader .file-icon img{display:block;padding:0;margin:0;max-width:48px}.acf-file-uploader .file-info{padding:10px;margin-left:69px}.acf-file-uploader .file-info p{margin:0 0 2px;font-size:13px;line-height:1.4em;word-break:break-all}.acf-file-uploader .file-info a{text-decoration:none}.acf-file-uploader:hover .acf-actions{display:block}html[dir=rtl] .acf-file-uploader .file-icon{left:auto;right:0;border-left:#e5e5e5 solid 1px;border-right:none}html[dir=rtl] .acf-file-uploader .file-info{margin-right:69px;margin-left:0}.acf-ui-datepicker .ui-datepicker{z-index:900000!important}.acf-ui-datepicker .ui-datepicker .ui-widget-header a{cursor:pointer;transition:none}.acf-ui-datepicker .ui-state-highlight.ui-state-hover{border:1px solid #98b7e8!important;background:#98b7e8!important;font-weight:400!important;color:#fff!important}.acf-ui-datepicker .ui-state-highlight.ui-state-active{border:1px solid #3875d7!important;background:#3875d7!important;font-weight:400!important;color:#fff!important}.acf-field-separator .acf-label{margin-bottom:0}.acf-field-separator .acf-label label{font-weight:400}.acf-field-separator .acf-input{display:none}.acf-fields>.acf-field-separator{background:#f9f9f9;border-bottom:1px solid #dfdfdf;border-top:1px solid #dfdfdf;margin-bottom:-1px;z-index:2}.acf-taxonomy-field{position:relative}.acf-taxonomy-field .categorychecklist-holder{border:#ccd0d4 solid 1px;border-radius:3px;max-height:200px;overflow:auto}.acf-taxonomy-field .acf-checkbox-list{margin:0;padding:10px}.acf-taxonomy-field .acf-checkbox-list ul.children{padding-left:18px}.acf-taxonomy-field:hover .acf-actions{display:block}.acf-taxonomy-field[data-ftype=select] .acf-actions{padding:0;margin:-9px}.acf-range-wrap .acf-append,.acf-range-wrap .acf-prepend{display:inline-block;vertical-align:middle;line-height:28px;margin:0 7px 0 0}.acf-range-wrap .acf-append{margin:0 0 0 7px}.acf-range-wrap input[type=range]{display:inline-block;padding:0;margin:0;vertical-align:middle;height:28px}.acf-range-wrap input[type=range]:focus{outline:0}.acf-range-wrap input[type=number]{display:inline-block;min-width:3em;margin-left:10px;vertical-align:middle}html[dir=rtl] .acf-range-wrap input[type=number]{margin-right:10px;margin-left:0}html[dir=rtl] .acf-range-wrap .acf-append{margin:0 7px 0 0}html[dir=rtl] .acf-range-wrap .acf-prepend{margin:0 0 0 7px}.acf-accordion{margin:-1px 0;padding:0;background:#fff;border-top:1px solid #d5d9dd;border-bottom:1px solid #d5d9dd;z-index:1}.acf-accordion .acf-accordion-title{margin:0;padding:12px;font-weight:700;cursor:pointer;font-size:inherit;font-size:13px;line-height:1.4em}.acf-accordion .acf-accordion-title:hover{background:#f3f4f5}.acf-accordion .acf-accordion-title label{margin:0;padding:0;font-size:13px;line-height:1.4em}.acf-accordion .acf-accordion-title p{font-weight:400}.acf-accordion .acf-accordion-title .acf-accordion-icon{float:right}.acf-accordion .acf-accordion-title svg.acf-accordion-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#191e23;fill:currentColor}.acf-accordion .acf-accordion-content{margin:0;padding:0 12px 12px;display:none}.acf-accordion.-open>.acf-accordion-content{display:block}.acf-field.acf-accordion{margin:-1px 0;padding:0!important;border-color:#d5d9dd}.acf-field.acf-accordion .acf-label.acf-accordion-title{padding:12px;width:auto;float:none;width:auto}.acf-field.acf-accordion .acf-input.acf-accordion-content{padding:0;float:none;width:auto}.acf-field.acf-accordion .acf-input.acf-accordion-content>.acf-fields{border-top:#eee solid 1px}.acf-field.acf-accordion .acf-input.acf-accordion-content>.acf-fields.-clear{padding:0 12px 15px}.acf-fields.-left>.acf-field.acf-accordion:before{display:none}.acf-fields.-left>.acf-field.acf-accordion .acf-accordion-title{width:auto;margin:0!important;padding:12px;float:none!important}.acf-fields.-left>.acf-field.acf-accordion .acf-accordion-content{padding:0!important}.acf-fields.-clear>.acf-field.acf-accordion{border:#ccc solid 1px;background:0 0}.acf-fields.-clear>.acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-16px}tr.acf-field.acf-accordion{background:0 0}tr.acf-field.acf-accordion>.acf-input{padding:0!important;border:#ccc solid 1px}tr.acf-field.acf-accordion .acf-accordion-content{padding:0 12px 12px}#addtag div.acf-field.error{border:0 none;padding:8px 0}#addtag>.acf-field.acf-accordion{padding-right:0;margin-right:5%}#addtag>.acf-field.acf-accordion+p.submit{margin-top:0}tr.acf-accordion{margin:15px 0!important}tr.acf-accordion+tr.acf-accordion{margin-top:-16px!important}.acf-postbox.seamless>.acf-fields>.acf-accordion{margin-left:12px;margin-right:12px;border:#ccd0d4 solid 1px}.widget .widget-content>.acf-field.acf-accordion{border:#dfdfdf solid 1px;margin-bottom:10px}.widget .widget-content>.acf-field.acf-accordion .acf-accordion-title{margin-bottom:0}.widget .widget-content>.acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-11px}.media-modal .compat-attachment-fields .acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-1px}.media-modal .compat-attachment-fields .acf-field.acf-accordion>.acf-input{width:100%}.media-modal .compat-attachment-fields .acf-field.acf-accordion .compat-attachment-fields>tbody>tr>td{padding-bottom:5px}.block-editor .edit-post-sidebar .acf-postbox>.hndle,.block-editor .edit-post-sidebar .acf-postbox>.postbox-header{border-bottom-width:0!important}.block-editor .edit-post-sidebar .acf-postbox.closed>.hndle,.block-editor .edit-post-sidebar .acf-postbox.closed>.postbox-header{border-bottom-width:1px!important}.block-editor .edit-post-sidebar .acf-fields{min-height:1px;overflow:auto}.block-editor .edit-post-sidebar .acf-fields>.acf-field{border-width:0;border-color:#e2e4e7;margin:16px;padding:0;width:auto!important;min-height:0!important;float:none!important}.block-editor .edit-post-sidebar .acf-fields>.acf-field>.acf-label{margin-bottom:5px}.block-editor .edit-post-sidebar .acf-fields>.acf-field>.acf-label label{font-weight:400}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion{padding:0;margin:0;border-top-width:1px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion:first-child{border-top-width:0}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title{margin:0;padding:15px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title label{font-weight:700}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-content>.acf-fields{border-top-width:0}.form-table>tbody>.acf-field>.acf-label{padding:20px 10px 20px 0;width:210px}html[dir=rtl] .form-table>tbody>.acf-field>.acf-label{padding:20px 0 20px 10px}.form-table>tbody>.acf-field>.acf-label label{font-size:14px;color:#23282d}.form-table>tbody>.acf-field>.acf-input{padding:15px 10px}html[dir=rtl] .form-table>tbody>.acf-field>.acf-input{padding:15px 10px 15px 5%}.form-table>tbody>.acf-tab-wrap td{padding:15px 5% 15px 0}html[dir=rtl] .form-table>tbody>.acf-tab-wrap td{padding:15px 0 15px 5%}.form-table>tbody .form-table th.acf-th{width:auto}#createuser .acf-field input[type=email],#createuser .acf-field input[type=number],#createuser .acf-field input[type=password],#createuser .acf-field input[type=search],#createuser .acf-field input[type=text],#createuser .acf-field input[type=url],#createuser .acf-field select,#your-profile .acf-field input[type=email],#your-profile .acf-field input[type=number],#your-profile .acf-field input[type=password],#your-profile .acf-field input[type=search],#your-profile .acf-field input[type=text],#your-profile .acf-field input[type=url],#your-profile .acf-field select{max-width:25em}#createuser .acf-field textarea,#your-profile .acf-field textarea{max-width:500px}#createuser .acf-field .acf-field input[type=email],#createuser .acf-field .acf-field input[type=number],#createuser .acf-field .acf-field input[type=password],#createuser .acf-field .acf-field input[type=search],#createuser .acf-field .acf-field input[type=text],#createuser .acf-field .acf-field input[type=url],#createuser .acf-field .acf-field select,#createuser .acf-field .acf-field textarea,#your-profile .acf-field .acf-field input[type=email],#your-profile .acf-field .acf-field input[type=number],#your-profile .acf-field .acf-field input[type=password],#your-profile .acf-field .acf-field input[type=search],#your-profile .acf-field .acf-field input[type=text],#your-profile .acf-field .acf-field input[type=url],#your-profile .acf-field .acf-field select,#your-profile .acf-field .acf-field textarea{max-width:none}#registerform h2{margin:1em 0}#registerform .acf-field{margin-top:0}#registerform .acf-field .acf-label{margin-bottom:0}#registerform .acf-field .acf-label label{font-weight:400;line-height:1.5}#registerform p.submit{text-align:right}#acf-term-fields{padding-right:5%}#acf-term-fields>.acf-field>.acf-label{margin:0}#acf-term-fields>.acf-field>.acf-label label{font-size:12px;font-weight:400}p.submit .acf-spinner,p.submit .spinner{vertical-align:top;float:none;margin:4px 4px 0}#edittag .acf-fields.-left>.acf-field{padding-left:220px}#edittag .acf-fields.-left>.acf-field:before{width:209px}#edittag .acf-fields.-left>.acf-field>.acf-label{width:220px;margin-left:-220px;padding:0 10px}#edittag .acf-fields.-left>.acf-field>.acf-input{padding:0}#edittag>.acf-fields.-left{width:96%}#edittag>.acf-fields.-left>.acf-field>.acf-label{padding-left:0}.editcomment td:first-child{white-space:nowrap;width:131px}#widgets-right .widget .acf-field .description{padding-left:0;padding-right:0}.acf-widget-fields>.acf-field .acf-label{margin-bottom:5px}.acf-widget-fields>.acf-field .acf-label label{font-weight:400;margin:0}.acf-menu-settings{border-top:1px solid #eee;margin-top:2em}.acf-menu-settings.-seamless{border-top:none;margin-top:15px}.acf-menu-settings.-seamless>h2{display:none}.acf-menu-settings .list li{display:block;margin-bottom:0}.acf-fields.acf-menu-item-fields{clear:both;padding-top:1px}.acf-fields.acf-menu-item-fields>.acf-field{margin:5px 0;padding-right:10px}.acf-fields.acf-menu-item-fields>.acf-field .acf-label{margin-bottom:0}.acf-fields.acf-menu-item-fields>.acf-field .acf-label label{font-style:italic;font-weight:400}#post .compat-attachment-fields .compat-field-acf-form-data{display:none}#post .compat-attachment-fields,#post .compat-attachment-fields>tbody,#post .compat-attachment-fields>tbody>tr,#post .compat-attachment-fields>tbody>tr>td,#post .compat-attachment-fields>tbody>tr>th{display:block}#post .compat-attachment-fields>tbody>.acf-field{margin:15px 0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label{margin:0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label label{margin:0;padding:0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label label p{margin:0 0 3px!important}#post .compat-attachment-fields>tbody>.acf-field>.acf-input{margin:0}.media-modal .compat-attachment-fields td.acf-input table{display:table;table-layout:auto}.media-modal .compat-attachment-fields td.acf-input table tbody{display:table-row-group}.media-modal .compat-attachment-fields td.acf-input table tr{display:table-row}.media-modal .compat-attachment-fields td.acf-input table td,.media-modal .compat-attachment-fields td.acf-input table th{display:table-cell}.media-modal .compat-attachment-fields>tbody>.acf-field{margin:5px 0}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label{min-width:30%;margin:0;padding:0;float:left;text-align:right;display:block;float:left}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label>label{padding-top:6px;margin:0;color:#666;font-weight:400;line-height:16px}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-input{width:65%;margin:0;padding:0;float:right;display:block}.media-modal .compat-attachment-fields>tbody>.acf-field p.description{margin:0}.acf-selection-error{background:#ffebe8;border:1px solid #c00;border-radius:3px;padding:8px;margin:20px 0 0}.acf-selection-error .selection-error-label{background:#c00;border-radius:3px;color:#fff;font-weight:700;margin-right:8px;padding:2px 4px}.acf-selection-error .selection-error-message{color:#b44;display:block;padding-top:8px;word-wrap:break-word;white-space:pre-wrap}.media-modal .attachment.acf-disabled .thumbnail{opacity:.25!important}.media-modal .attachment.acf-disabled .attachment-preview:before{background:rgba(0,0,0,.15);z-index:1;position:relative}.media-modal .compat-field-acf-blank,.media-modal .compat-field-acf-form-data{display:none!important}.media-modal .upload-error-message{white-space:pre-wrap}.media-modal .acf-required{padding:0!important;margin:0!important;float:none!important;color:red!important}.media-modal .media-sidebar .compat-item{padding-bottom:20px}@media (max-width:900px){.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label,.media-modal .setting span{width:98%;float:none;text-align:left;min-height:0;padding:0}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-input,.media-modal .setting input,.media-modal .setting textarea{float:none;height:auto;max-width:none;width:98%}}.media-modal .acf-expand-details{float:right;padding:8px 10px;margin-right:6px;font-size:13px;height:18px;line-height:18px;color:#666;text-decoration:none}.media-modal .acf-expand-details:active,.media-modal .acf-expand-details:focus{outline:0 none;box-shadow:none;color:#666}.media-modal .acf-expand-details:hover{color:#000}.media-modal .acf-expand-details .is-open{display:none}.media-modal .acf-expand-details .is-closed{display:block}@media (max-width:640px){.media-modal .acf-expand-details{display:none}}.media-modal.acf-expanded .acf-expand-details .is-open{display:block}.media-modal.acf-expanded .acf-expand-details .is-closed{display:none}.media-modal.acf-expanded .attachments-browser .attachments,.media-modal.acf-expanded .attachments-browser .media-toolbar{right:740px}.media-modal.acf-expanded .media-sidebar{width:708px}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{float:left;max-height:none}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail img{max-width:100%;max-height:200px}.media-modal.acf-expanded .media-sidebar .attachment-info .details{float:right}.media-modal.acf-expanded .media-sidebar .attachment-details .setting .name,.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,.media-modal.acf-expanded .media-sidebar .compat-attachment-fields>tbody>.acf-field>.acf-label{min-width:20%;margin-right:0}.media-modal.acf-expanded .media-sidebar .attachment-details .setting input,.media-modal.acf-expanded .media-sidebar .attachment-details .setting textarea,.media-modal.acf-expanded .media-sidebar .attachment-details .setting+.description,.media-modal.acf-expanded .media-sidebar .attachment-info .details,.media-modal.acf-expanded .media-sidebar .compat-attachment-fields>tbody>.acf-field>.acf-input{min-width:77%}@media (max-width:900px){.media-modal.acf-expanded .attachments-browser .media-toolbar{display:none}.media-modal.acf-expanded .attachments{display:none}.media-modal.acf-expanded .media-sidebar{width:auto;max-width:none!important;bottom:0!important}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{min-width:0;max-width:none;width:30%}.media-modal.acf-expanded .media-sidebar .attachment-info .details{min-width:0;max-width:none;width:67%}}@media (max-width:640px){.media-modal.acf-expanded .media-sidebar .attachment-info .details,.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{width:100%}}.acf-media-modal .media-embed .setting.align,.acf-media-modal .media-embed .setting.link-to{display:none}.acf-media-modal.-edit{left:15%;right:15%;top:100px;bottom:100px}.acf-media-modal.-edit .media-frame-content .attachments,.acf-media-modal.-edit .media-frame-content .media-toolbar,.acf-media-modal.-edit .media-frame-menu,.acf-media-modal.-edit .media-frame-router{display:none}.acf-media-modal.-edit .media-frame-content,.acf-media-modal.-edit .media-frame-title,.acf-media-modal.-edit .media-frame-toolbar,.acf-media-modal.-edit .media-sidebar{width:auto;left:0;right:0}.acf-media-modal.-edit .media-frame-content{top:50px}.acf-media-modal.-edit .media-frame-title{border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.acf-media-modal.-edit .media-sidebar{padding:0 16px}.acf-media-modal.-edit .media-sidebar .attachment-details{overflow:visible}.acf-media-modal.-edit .media-sidebar .attachment-details>h2,.acf-media-modal.-edit .media-sidebar .attachment-details>h3{display:none}.acf-media-modal.-edit .media-sidebar .attachment-details .attachment-info{background:#fff;border-bottom:#ddd solid 1px;padding:16px;margin:0 -16px 16px}.acf-media-modal.-edit .media-sidebar .attachment-details .thumbnail{margin:0 16px 0 0}.acf-media-modal.-edit .media-sidebar .attachment-details .setting{margin:0 0 5px}.acf-media-modal.-edit .media-sidebar .attachment-details .setting span{margin:0}.acf-media-modal.-edit .media-sidebar .compat-attachment-fields>tbody>.acf-field{margin:0 0 5px}.acf-media-modal.-edit .media-sidebar .compat-attachment-fields>tbody>.acf-field p.description{margin-top:3px}.acf-media-modal.-edit .media-sidebar .media-types-required-info{display:none}@media (max-width:900px){.acf-media-modal.-edit{top:30px;right:30px;bottom:30px;left:30px}}@media (max-width:640px){.acf-media-modal.-edit{top:0;right:0;bottom:0;left:0}}@media (max-width:480px){.acf-media-modal.-edit .media-frame-content{top:40px}}.acf-temp-remove{position:relative;opacity:1;-webkit-transition:all .25s ease;-moz-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;overflow:hidden}.acf-temp-remove:after{display:block;content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:99}.hidden-by-conditional-logic{display:none!important}.hidden-by-conditional-logic.appear-empty{display:table-cell!important}.hidden-by-conditional-logic.appear-empty .acf-input{display:none!important}.acf-postbox.acf-hidden{display:none!important}.acf-attention{transition:border .25s ease-out}.acf-attention.-focused{border:#23282d solid 1px!important;transition:none}tr.acf-attention{transition:box-shadow .25s ease-out;position:relative}tr.acf-attention.-focused{box-shadow:#23282d 0 0 0 1px!important}#editor .edit-post-layout__metaboxes{padding:0}#editor .edit-post-layout__metaboxes .edit-post-meta-boxes-area{margin:0}#editor .metabox-location-side .postbox-container{float:none}#editor .postbox{color:#444}#editor .postbox>.postbox-header .hndle{border-bottom:none}#editor .postbox>.postbox-header .hndle:hover{background:0 0}#editor .postbox>.postbox-header .handle-actions .handle-order-higher,#editor .postbox>.postbox-header .handle-actions .handle-order-lower{width:1.62rem}#editor .postbox>.postbox-header .handle-actions .acf-hndle-cog{height:44px;line-height:44px}#editor .postbox>.postbox-header:hover{background:#f0f0f0}#editor .postbox:last-child.closed>.postbox-header{border-bottom:none}#editor .postbox:last-child>.inside{border-bottom:none}#editor .block-editor-writing-flow__click-redirect{min-height:50px}body.is-dragging-metaboxes #acf_after_title-sortables{outline:3px dashed #646970;display:flow-root;min-height:60px;margin-bottom:3px!important} \ No newline at end of file +.acf-field,.acf-field .acf-label,.acf-field .acf-input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative}.acf-field{margin:15px 0;clear:both}.acf-field p.description{display:block;margin:0;padding:0}.acf-field .acf-label{vertical-align:top;margin:0 0 10px}.acf-field .acf-label label{display:block;font-weight:bold;margin:0 0 3px;padding:0}.acf-field .acf-label:empty{margin-bottom:0}.acf-field .acf-input{vertical-align:top}.acf-field .acf-input>p.description{margin-top:5px}.acf-field .acf-notice{margin:0 0 15px;background:#edf2ff;color:#0c6ca0;border-color:#2183b9}.acf-field .acf-notice.-error{background:#ffe6e6;color:#cc2727;border-color:#d12626}.acf-field .acf-notice.-success{background:#eefbe8;color:#0e7b17;border-color:#32a23b}.acf-field .acf-notice.-warning{background:#fff3e6;color:#bd4b0e;border-color:#d16226}td.acf-field,tr.acf-field{margin:0}.acf-field[data-width]{float:left;clear:none}.acf-field[data-width]+.acf-field[data-width]{border-left:1px solid #eee}html[dir=rtl] .acf-field[data-width]{float:right}html[dir=rtl] .acf-field[data-width]+.acf-field[data-width]{border-left:none;border-right:1px solid #eee}td.acf-field[data-width],tr.acf-field[data-width]{float:none}.acf-field.-c0{clear:both;border-left-width:0 !important}html[dir=rtl] .acf-field.-c0{border-left-width:1px !important;border-right-width:0 !important}.acf-field.-r0{border-top-width:0 !important}.acf-fields{position:relative}.acf-fields:after{display:block;clear:both;content:""}.acf-fields.-border{border:#ccd0d4 solid 1px;background:#fff}.acf-fields>.acf-field{position:relative;margin:0;padding:15px 12px;border-top:#eee solid 1px}.acf-fields>.acf-field:first-child{border-top:none;margin-top:0}td.acf-fields{padding:0 !important}.acf-fields.-clear>.acf-field{border:none;padding:0;margin:15px 0}.acf-fields.-clear>.acf-field[data-width]{border:none !important}.acf-fields.-clear>.acf-field>.acf-label{padding:0}.acf-fields.-clear>.acf-field>.acf-input{padding:0}.acf-fields.-left>.acf-field{padding:15px 0}.acf-fields.-left>.acf-field:after{display:block;clear:both;content:""}.acf-fields.-left>.acf-field:before{content:"";display:block;position:absolute;z-index:0;background:#f9f9f9;border-color:#e1e1e1;border-style:solid;border-width:0 1px 0 0;top:0;bottom:0;left:0;width:20%}.acf-fields.-left>.acf-field[data-width]{float:none;width:auto !important;border-left-width:0 !important;border-right-width:0 !important}.acf-fields.-left>.acf-field>.acf-label{float:left;width:20%;margin:0;padding:0 12px}.acf-fields.-left>.acf-field>.acf-input{float:left;width:80%;margin:0;padding:0 12px}html[dir=rtl] .acf-fields.-left>.acf-field:before{border-width:0 0 0 1px;left:auto;right:0}html[dir=rtl] .acf-fields.-left>.acf-field>.acf-label{float:right}html[dir=rtl] .acf-fields.-left>.acf-field>.acf-input{float:right}#side-sortables .acf-fields.-left>.acf-field:before{display:none}#side-sortables .acf-fields.-left>.acf-field>.acf-label{width:100%;margin-bottom:10px}#side-sortables .acf-fields.-left>.acf-field>.acf-input{width:100%}@media screen and (max-width: 640px){.acf-fields.-left>.acf-field:before{display:none}.acf-fields.-left>.acf-field>.acf-label{width:100%;margin-bottom:10px}.acf-fields.-left>.acf-field>.acf-input{width:100%}}.acf-fields.-clear.-left>.acf-field{padding:0;border:none}.acf-fields.-clear.-left>.acf-field:before{display:none}.acf-fields.-clear.-left>.acf-field>.acf-label{padding:0}.acf-fields.-clear.-left>.acf-field>.acf-input{padding:0}.acf-table tr.acf-field>td.acf-label{padding:15px 12px;margin:0;background:#f9f9f9;width:20%}.acf-table tr.acf-field>td.acf-input{padding:15px 12px;margin:0;border-left-color:#e1e1e1}.acf-sortable-tr-helper{position:relative !important;display:table-row !important}.acf-postbox{position:relative}.acf-postbox>.inside{margin:0 !important;padding:0 !important}.acf-postbox .acf-hndle-cog{color:#72777c;font-size:16px;line-height:36px;height:36px;width:1.62rem;position:relative;display:none}.acf-postbox .acf-hndle-cog:hover{color:#191e23}.acf-postbox>.hndle:hover .acf-hndle-cog,.acf-postbox>.postbox-header:hover .acf-hndle-cog{display:inline-block}.acf-postbox>.hndle .acf-hndle-cog{height:20px;line-height:20px;float:right;width:auto}.acf-postbox>.hndle .acf-hndle-cog:hover{color:#777}.acf-postbox .acf-replace-with-fields{padding:15px;text-align:center}#post-body-content #acf_after_title-sortables{margin:20px 0 -20px}.acf-postbox.seamless{border:0 none;background:transparent;box-shadow:none}.acf-postbox.seamless>.postbox-header,.acf-postbox.seamless>.hndle,.acf-postbox.seamless>.handlediv{display:none !important}.acf-postbox.seamless>.inside{display:block !important;margin-left:-12px !important;margin-right:-12px !important}.acf-postbox.seamless>.inside>.acf-field{border-color:transparent}.acf-postbox.seamless>.acf-fields.-left>.acf-field:before{display:none}@media screen and (max-width: 782px){.acf-postbox.seamless>.acf-fields.-left>.acf-field>.acf-label,.acf-postbox.seamless>.acf-fields.-left>.acf-field>.acf-input{padding:0}}.acf-field input[type=text],.acf-field input[type=password],.acf-field input[type=date],.acf-field input[type=datetime],.acf-field input[type=datetime-local],.acf-field input[type=email],.acf-field input[type=month],.acf-field input[type=number],.acf-field input[type=search],.acf-field input[type=tel],.acf-field input[type=time],.acf-field input[type=url],.acf-field input[type=week],.acf-field textarea,.acf-field select{width:100%;padding:4px 8px;margin:0;box-sizing:border-box;font-size:14px;line-height:1.4}.acf-admin-3-8 .acf-field input[type=text],.acf-admin-3-8 .acf-field input[type=password],.acf-admin-3-8 .acf-field input[type=date],.acf-admin-3-8 .acf-field input[type=datetime],.acf-admin-3-8 .acf-field input[type=datetime-local],.acf-admin-3-8 .acf-field input[type=email],.acf-admin-3-8 .acf-field input[type=month],.acf-admin-3-8 .acf-field input[type=number],.acf-admin-3-8 .acf-field input[type=search],.acf-admin-3-8 .acf-field input[type=tel],.acf-admin-3-8 .acf-field input[type=time],.acf-admin-3-8 .acf-field input[type=url],.acf-admin-3-8 .acf-field input[type=week],.acf-admin-3-8 .acf-field textarea,.acf-admin-3-8 .acf-field select{padding:3px 5px}.acf-field textarea{resize:vertical}body.acf-browser-firefox .acf-field select{padding:4px 5px}.acf-input-prepend,.acf-input-append,.acf-input-wrap{box-sizing:border-box}.acf-input-prepend,.acf-input-append{font-size:14px;line-height:1.4;padding:4px 8px;background:#f5f5f5;border:#7e8993 solid 1px;min-height:30px}.acf-admin-3-8 .acf-input-prepend,.acf-admin-3-8 .acf-input-append{padding:3px 5px;border-color:#ddd;min-height:28px}.acf-input-prepend{float:left;border-right-width:0;border-radius:3px 0 0 3px}.acf-input-append{float:right;border-left-width:0;border-radius:0 3px 3px 0}.acf-input-wrap{position:relative;overflow:hidden}.acf-input-wrap .acf-is-prepended{border-radius:0 3px 3px 0 !important}.acf-input-wrap .acf-is-appended{border-radius:3px 0 0 3px !important}.acf-input-wrap .acf-is-prepended.acf-is-appended{border-radius:0 !important}html[dir=rtl] .acf-input-prepend{border-left-width:0;border-right-width:1px;border-radius:0 3px 3px 0;float:right}html[dir=rtl] .acf-input-append{border-left-width:1px;border-right-width:0;border-radius:3px 0 0 3px;float:left}html[dir=rtl] input.acf-is-prepended{border-radius:3px 0 0 3px !important}html[dir=rtl] input.acf-is-appended{border-radius:0 3px 3px 0 !important}html[dir=rtl] input.acf-is-prepended.acf-is-appended{border-radius:0 !important}.acf-color-picker .wp-color-result{border-color:#7e8993}.acf-admin-3-8 .acf-color-picker .wp-color-result{border-color:#ccd0d4}.acf-color-picker .wp-picker-active{position:relative;z-index:1}.acf-url i{position:absolute;top:5px;left:5px;opacity:.5;color:#7e8993}.acf-url input[type=url]{padding-left:27px !important}.acf-url.-valid i{opacity:1}.select2-container.-acf .select2-choices{background:#fff;border-color:#ddd;box-shadow:0 1px 2px rgba(0,0,0,.07) inset;min-height:31px}.select2-container.-acf .select2-choices .select2-search-choice{margin:5px 0 5px 5px;padding:3px 5px 3px 18px;border-color:#bbb;background:#f9f9f9;box-shadow:0 1px 0 rgba(255,255,255,.25) inset}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper{background:#5897fb;border-color:#3f87fa;color:#fff;box-shadow:0 0 3px rgba(0,0,0,.1)}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper a{visibility:hidden}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-placeholder{background-color:#f7f7f7;border-color:#f7f7f7;visibility:visible !important}.select2-container.-acf .select2-choices .select2-search-choice-focus{border-color:#999}.select2-container.-acf .select2-choices .select2-search-field input{height:31px;line-height:22px;margin:0;padding:5px 5px 5px 7px}.select2-container.-acf .select2-choice{border-color:#bbb}.select2-container.-acf .select2-choice .select2-arrow{background:transparent;border-left-color:#dfdfdf;padding-left:1px}.select2-container.-acf .select2-choice .select2-result-description{display:none}.select2-container.-acf.select2-container-active .select2-choices,.select2-container.-acf.select2-dropdown-open .select2-choices{border-color:#5b9dd9;border-radius:3px 3px 0 0}.select2-container.-acf.select2-dropdown-open .select2-choice{background:#fff;border-color:#5b9dd9}html[dir=rtl] .select2-container.-acf .select2-search-choice-close{left:24px}html[dir=rtl] .select2-container.-acf .select2-choice>.select2-chosen{margin-left:42px}html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow{padding-left:0;padding-right:1px}.select2-drop .select2-search{padding:4px 4px 0}.select2-drop .select2-result .select2-result-description{color:#999;font-size:12px;margin-left:5px}.select2-drop .select2-result.select2-highlighted .select2-result-description{color:#fff;opacity:.75}.select2-container.-acf li{margin-bottom:0}.select2-container.-acf[data-select2-id^=select2-data] .select2-selection--multiple{overflow:hidden}.select2-container.-acf .select2-selection{border-color:#7e8993}.acf-admin-3-8 .select2-container.-acf .select2-selection{border-color:#aaa}.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child{float:none}.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child input{width:100% !important}.select2-container.-acf .select2-selection--multiple .select2-selection__rendered{padding-right:0}.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field]{display:inline;padding:0;margin:0}.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] .select2-selection__choice{margin-right:0}.select2-container.-acf .select2-selection--multiple .select2-selection__choice{background-color:#f7f7f7;border-color:#ccc;max-width:100%;overflow:hidden;word-wrap:normal !important;white-space:normal}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper{background:#5897fb;border-color:#3f87fa;color:#fff;box-shadow:0 0 3px rgba(0,0,0,.1)}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper span{visibility:hidden}.select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove{position:static;border-right:none;padding:0}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-placeholder{background-color:#f7f7f7;border-color:#f7f7f7;visibility:visible !important}.select2-container.-acf .select2-selection--multiple .select2-search__field{box-shadow:none !important;min-height:0}.acf-row .select2-container.-acf .select2-selection--single{overflow:hidden}.acf-row .select2-container.-acf .select2-selection--single .select2-selection__rendered{white-space:normal}.select2-dropdown .select2-results__option{margin-bottom:0}.select2-container .select2-dropdown{z-index:900000}.select2-container .select2-dropdown .select2-search__field{line-height:1.4;min-height:0}.acf-link .link-wrap{display:none;border:#ccd0d4 solid 1px;border-radius:3px;padding:5px;line-height:26px;background:#fff;word-wrap:break-word;word-break:break-all}.acf-link .link-wrap .link-title{padding:0 5px}.acf-link.-value .button{display:none}.acf-link.-value .acf-icon.-link-ext{display:none}.acf-link.-value .link-wrap{display:inline-block}.acf-link.-external .acf-icon.-link-ext{display:inline-block}#wp-link-backdrop{z-index:900000 !important}#wp-link-wrap{z-index:900001 !important}ul.acf-radio-list,ul.acf-checkbox-list{background:transparent;position:relative;padding:1px;margin:0}ul.acf-radio-list li,ul.acf-checkbox-list li{font-size:13px;line-height:22px;margin:0;position:relative;word-wrap:break-word}ul.acf-radio-list li label,ul.acf-checkbox-list li label{display:inline}ul.acf-radio-list li input[type=checkbox],ul.acf-radio-list li input[type=radio],ul.acf-checkbox-list li input[type=checkbox],ul.acf-checkbox-list li input[type=radio]{margin:-1px 4px 0 0;vertical-align:middle}ul.acf-radio-list li input[type=text],ul.acf-checkbox-list li input[type=text]{width:auto;vertical-align:middle;margin:2px 0}ul.acf-radio-list li span,ul.acf-checkbox-list li span{float:none}ul.acf-radio-list li i,ul.acf-checkbox-list li i{vertical-align:middle}ul.acf-radio-list.acf-hl li,ul.acf-checkbox-list.acf-hl li{margin-right:20px;clear:none}html[dir=rtl] ul.acf-radio-list input[type=checkbox],html[dir=rtl] ul.acf-radio-list input[type=radio],html[dir=rtl] ul.acf-checkbox-list input[type=checkbox],html[dir=rtl] ul.acf-checkbox-list input[type=radio]{margin-left:4px;margin-right:0}.acf-button-group{display:inline-block}.acf-button-group label{display:inline-block;border:#7e8993 solid 1px;position:relative;z-index:1;padding:5px 10px;background:#fff}.acf-button-group label:hover{color:#016087;background:#f3f5f6;border-color:#0071a1;z-index:2}.acf-button-group label.selected{border-color:#007cba;background:#008dd4;color:#fff;z-index:2}.acf-button-group input{display:none !important}.acf-button-group{padding-left:1px;display:inline-flex;flex-direction:row;flex-wrap:nowrap}.acf-button-group label{margin:0 0 0 -1px;flex:1;text-align:center;white-space:nowrap}.acf-button-group label:first-child{border-radius:3px 0 0 3px}html[dir=rtl] .acf-button-group label:first-child{border-radius:0 3px 3px 0}.acf-button-group label:last-child{border-radius:0 3px 3px 0}html[dir=rtl] .acf-button-group label:last-child{border-radius:3px 0 0 3px}.acf-button-group label:only-child{border-radius:3px}.acf-button-group.-vertical{padding-left:0;padding-top:1px;flex-direction:column}.acf-button-group.-vertical label{margin:-1px 0 0 0}.acf-button-group.-vertical label:first-child{border-radius:3px 3px 0 0}.acf-button-group.-vertical label:last-child{border-radius:0 0 3px 3px}.acf-button-group.-vertical label:only-child{border-radius:3px}.acf-admin-3-8 .acf-button-group label{border-color:#ccd0d4}.acf-admin-3-8 .acf-button-group label:hover{border-color:#0071a1}.acf-admin-3-8 .acf-button-group label.selected{border-color:#007cba}.acf-checkbox-list .button{margin:10px 0 0}.acf-switch{display:inline-block;border-radius:5px;cursor:pointer;position:relative;background:#f5f5f5;height:30px;vertical-align:middle;border:#7e8993 solid 1px;-webkit-transition:background .25s ease;-moz-transition:background .25s ease;-o-transition:background .25s ease;transition:background .25s ease}.acf-switch span{display:inline-block;float:left;text-align:center;font-size:13px;line-height:22px;padding:4px 10px;min-width:15px}.acf-switch span i{vertical-align:middle}.acf-switch .acf-switch-on{color:#fff;text-shadow:#007cba 0 1px 0}.acf-switch .acf-switch-slider{position:absolute;top:2px;left:2px;bottom:2px;right:50%;z-index:1;background:#fff;border-radius:3px;border:#7e8993 solid 1px;-webkit-transition:all .25s ease;-moz-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;transition-property:left,right}.acf-switch:hover,.acf-switch.-focus{border-color:#0071a1;background:#f3f5f6;color:#016087}.acf-switch:hover .acf-switch-slider,.acf-switch.-focus .acf-switch-slider{border-color:#0071a1}.acf-switch.-on{background:#0d99d5;border-color:#007cba}.acf-switch.-on .acf-switch-slider{left:50%;right:2px;border-color:#007cba}.acf-switch.-on:hover{border-color:#007cba}.acf-switch+span{margin-left:6px}.acf-admin-3-8 .acf-switch{border-color:#ccd0d4}.acf-admin-3-8 .acf-switch .acf-switch-slider{border-color:#ccd0d4}.acf-admin-3-8 .acf-switch:hover,.acf-admin-3-8 .acf-switch.-focus{border-color:#0071a1}.acf-admin-3-8 .acf-switch:hover .acf-switch-slider,.acf-admin-3-8 .acf-switch.-focus .acf-switch-slider{border-color:#0071a1}.acf-admin-3-8 .acf-switch.-on{border-color:#007cba}.acf-admin-3-8 .acf-switch.-on .acf-switch-slider{border-color:#007cba}.acf-admin-3-8 .acf-switch.-on:hover{border-color:#007cba}.acf-switch-input{opacity:0;position:absolute;margin:0}.compat-item .acf-true-false .message{float:none;padding:0;vertical-align:middle}.acf-google-map{position:relative;border:#ccd0d4 solid 1px;background:#fff}.acf-google-map .title{position:relative;border-bottom:#ccd0d4 solid 1px}.acf-google-map .title .search{margin:0;font-size:14px;line-height:30px;height:40px;padding:5px 10px;border:0 none;box-shadow:none;border-radius:0;font-family:inherit;cursor:text}.acf-google-map .title .acf-loading{position:absolute;top:10px;right:11px;display:none}.acf-google-map .title .acf-icon:active{display:inline-block !important}.acf-google-map .canvas{height:400px}.acf-google-map:hover .title .acf-actions{display:block}.acf-google-map .title .acf-icon.-location{display:inline-block}.acf-google-map .title .acf-icon.-cancel,.acf-google-map .title .acf-icon.-search{display:none}.acf-google-map.-value .title .search{font-weight:bold}.acf-google-map.-value .title .acf-icon.-location{display:none}.acf-google-map.-value .title .acf-icon.-cancel{display:inline-block}.acf-google-map.-searching .title .acf-icon.-location{display:none}.acf-google-map.-searching .title .acf-icon.-cancel,.acf-google-map.-searching .title .acf-icon.-search{display:inline-block}.acf-google-map.-searching .title .acf-actions{display:block}.acf-google-map.-searching .title .search{font-weight:normal !important}.acf-google-map.-loading .title a{display:none !important}.acf-google-map.-loading .title i{display:inline-block}.pac-container{border-width:1px 0;box-shadow:none}.pac-container:after{display:none}.pac-container .pac-item:first-child{border-top:0 none}.pac-container .pac-item{padding:5px 10px;cursor:pointer}html[dir=rtl] .pac-container .pac-item{text-align:right}.acf-relationship{background:#fff;border:#ccd0d4 solid 1px}.acf-relationship .filters{border-bottom:#ccd0d4 solid 1px;background:#fff}.acf-relationship .filters:after{display:block;clear:both;content:""}.acf-relationship .filters .filter{margin:0;padding:0;float:left;width:100%;box-sizing:border-box;padding:7px 7px 7px 0}.acf-relationship .filters .filter:first-child{padding-left:7px}.acf-relationship .filters .filter input,.acf-relationship .filters .filter select{margin:0;float:none}.acf-relationship .filters .filter input:focus,.acf-relationship .filters .filter input:active,.acf-relationship .filters .filter select:focus,.acf-relationship .filters .filter select:active{outline:none;box-shadow:none}.acf-relationship .filters .filter input{border-color:transparent;box-shadow:none;padding-left:3px;padding-right:3px}.acf-relationship .filters.-f2 .filter{width:50%}.acf-relationship .filters.-f3 .filter{width:25%}.acf-relationship .filters.-f3 .filter.-search{width:50%}.acf-relationship .list{margin:0;padding:5px;height:160px;overflow:auto}.acf-relationship .list .acf-rel-label,.acf-relationship .list .acf-rel-item,.acf-relationship .list p{padding:5px;margin:0;display:block;position:relative;min-height:18px}.acf-relationship .list .acf-rel-label{font-weight:bold}.acf-relationship .list .acf-rel-item{cursor:pointer}.acf-relationship .list .acf-rel-item b{text-decoration:underline;font-weight:normal}.acf-relationship .list .acf-rel-item .thumbnail{background:#e0e0e0;width:22px;height:22px;float:left;margin:-2px 5px 0 0}.acf-relationship .list .acf-rel-item .thumbnail img{max-width:22px;max-height:22px;margin:0 auto;display:block}.acf-relationship .list .acf-rel-item .thumbnail.-icon{background:#fff}.acf-relationship .list .acf-rel-item .thumbnail.-icon img{max-height:20px;margin-top:1px}.acf-relationship .list .acf-rel-item:hover{background:#3875d7;color:#fff}.acf-relationship .list .acf-rel-item:hover .thumbnail{background:#a2bfec}.acf-relationship .list .acf-rel-item:hover .thumbnail.-icon{background:#fff}.acf-relationship .list .acf-rel-item.disabled{opacity:.5}.acf-relationship .list .acf-rel-item.disabled:hover{background:transparent;color:#333;cursor:default}.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail{background:#e0e0e0}.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail.-icon{background:#fff}.acf-relationship .list ul{padding-bottom:5px}.acf-relationship .list ul .acf-rel-label,.acf-relationship .list ul .acf-rel-item,.acf-relationship .list ul p{padding-left:20px}.acf-relationship .selection{position:relative}.acf-relationship .selection:after{display:block;clear:both;content:""}.acf-relationship .selection .values,.acf-relationship .selection .choices{width:50%;background:#fff;float:left}.acf-relationship .selection .choices{background:#f9f9f9}.acf-relationship .selection .choices .list{border-right:#dfdfdf solid 1px}.acf-relationship .selection .values .acf-icon{position:absolute;top:4px;right:7px;display:none}html[dir=rtl] .acf-relationship .selection .values .acf-icon{right:auto;left:7px}.acf-relationship .selection .values .acf-rel-item:hover .acf-icon{display:block}.acf-relationship .selection .values .acf-rel-item{cursor:move}.acf-relationship .selection .values .acf-rel-item b{text-decoration:none}.menu-item .acf-relationship ul{width:auto}.menu-item .acf-relationship li{display:block}.acf-editor-wrap.delay .acf-editor-toolbar{content:"";display:block;background:#f5f5f5;border-bottom:#ddd solid 1px;color:#555d66;padding:10px}.acf-editor-wrap.delay .wp-editor-area{padding:10px;border:none;color:inherit !important}.acf-editor-wrap iframe{min-height:200px}.acf-editor-wrap .wp-editor-container{border:1px solid #ccd0d4;box-shadow:none !important}.acf-editor-wrap .wp-editor-tabs{box-sizing:content-box}.acf-editor-wrap .wp-switch-editor{border-color:#ccd0d4;border-bottom-color:transparent}#mce_fullscreen_container{z-index:900000 !important}.acf-field-tab{display:none !important}.hidden-by-tab{display:none !important}.acf-tab-wrap{clear:both;z-index:1}.acf-tab-group{border-bottom:#ccc solid 1px;padding:10px 10px 0}.acf-tab-group li{margin:0 .5em 0 0}.acf-tab-group li a{padding:5px 10px;display:block;color:#555;font-size:14px;font-weight:600;line-height:24px;border:#ccc solid 1px;border-bottom:0 none;text-decoration:none;background:#e5e5e5;transition:none}.acf-tab-group li a:hover{background:#fff}.acf-tab-group li a:focus{outline:none;box-shadow:none}.acf-tab-group li a:empty{display:none}html[dir=rtl] .acf-tab-group li{margin:0 0 0 .5em}.acf-tab-group li.active a{background:#f1f1f1;color:#000;padding-bottom:6px;margin-bottom:-1px;position:relative;z-index:1}.acf-fields>.acf-tab-wrap{background:#f9f9f9}.acf-fields>.acf-tab-wrap .acf-tab-group{position:relative;border-top:#ccd0d4 solid 1px;border-bottom:#ccd0d4 solid 1px;z-index:2;margin-bottom:-1px}.acf-fields>.acf-tab-wrap .acf-tab-group li a{background:#f1f1f1;border-color:#ccd0d4}.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background:#fff}.acf-admin-3-8 .acf-fields>.acf-tab-wrap .acf-tab-group{border-color:#dfdfdf}.acf-fields>.acf-tab-wrap:first-child .acf-tab-group{border-top:none}.acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:20%}@media screen and (max-width: 640px){.acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:10px}}html[dir=rtl] .acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:0;padding-right:20%}@media screen and (max-width: 850px){html[dir=rtl] .acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-right:10px}}.acf-tab-wrap.-left .acf-tab-group{position:absolute;left:0;width:20%;border:0 none;padding:0 !important;margin:1px 0 0}.acf-tab-wrap.-left .acf-tab-group li{float:none;margin:-1px 0 0}.acf-tab-wrap.-left .acf-tab-group li a{border:1px solid #ededed;font-size:13px;line-height:18px;color:#0073aa;padding:10px;margin:0;font-weight:normal;border-width:1px 0;border-radius:0;background:transparent}.acf-tab-wrap.-left .acf-tab-group li a:hover{color:#00a0d2}.acf-tab-wrap.-left .acf-tab-group li.active a{border-color:#dfdfdf;color:#000;margin-right:-1px;background:#fff}html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group{left:auto;right:0}html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group li.active a{margin-right:0;margin-left:-1px}.acf-field+.acf-tab-wrap.-left:before{content:"";display:block;position:relative;z-index:1;height:10px;border-top:#dfdfdf solid 1px;border-bottom:#dfdfdf solid 1px;margin-bottom:-1px}.acf-tab-wrap.-left:first-child .acf-tab-group li:first-child a{border-top:none}.acf-fields.-sidebar{padding:0 0 0 20% !important;position:relative}.acf-fields.-sidebar:before{content:"";display:block;position:absolute;top:0;left:0;width:20%;bottom:0;border-right:#dfdfdf solid 1px;background:#f9f9f9;z-index:1}html[dir=rtl] .acf-fields.-sidebar{padding:0 20% 0 0 !important}html[dir=rtl] .acf-fields.-sidebar:before{border-left:#dfdfdf solid 1px;border-right-width:0;left:auto;right:0}.acf-fields.-sidebar.-left{padding:0 0 0 180px !important}html[dir=rtl] .acf-fields.-sidebar.-left{padding:0 180px 0 0 !important}.acf-fields.-sidebar.-left:before{background:#f1f1f1;border-color:#dfdfdf;width:180px}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group{width:180px}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li a{border-color:#e4e4e4}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li.active a{background:#f9f9f9}.acf-fields.-sidebar>.acf-field-tab+.acf-field{border-top:none}.acf-fields.-clear>.acf-tab-wrap{background:transparent}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group{margin-top:0;border-top:none;padding-left:0;padding-right:0}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a{background:#e5e5e5}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a{background:#f1f1f1}.acf-postbox.seamless>.acf-fields.-sidebar{margin-left:0 !important}.acf-postbox.seamless>.acf-fields.-sidebar:before{background:transparent}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap{background:transparent;margin-bottom:10px;padding-left:12px;padding-right:12px}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group{border-top:0 none;border-color:#ccd0d4}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li a{background:#e5e5e5;border-color:#ccd0d4}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background:#f1f1f1}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left:before{border-top:none;height:auto}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group{margin-bottom:0}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group li a{border-width:1px 0 1px 1px !important;border-color:#ccc;background:#e5e5e5}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group li.active a{background:#f1f1f1}.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a{background:#f1f1f1}.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover,.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a{background:#fff}.compat-item .acf-tab-wrap td{display:block}.acf-gallery-side .acf-tab-wrap{border-top:0 none !important}.acf-gallery-side .acf-tab-wrap .acf-tab-group{margin:10px 0 !important;padding:0 !important}.acf-gallery-side .acf-tab-group li.active a{background:#f9f9f9 !important}.widget .acf-tab-group{border-bottom-color:#e8e8e8}.widget .acf-tab-group li a{background:#f1f1f1}.widget .acf-tab-group li.active a{background:#fff}.media-modal.acf-expanded .compat-attachment-fields>tbody>tr.acf-tab-wrap .acf-tab-group{padding-left:23%;border-bottom-color:#ddd}.form-table>tbody>tr.acf-tab-wrap .acf-tab-group{padding:0 5px 0 210px}html[dir=rtl] .form-table>tbody>tr.acf-tab-wrap .acf-tab-group{padding:0 210px 0 5px}.acf-oembed{position:relative;border:#ccd0d4 solid 1px;background:#fff}.acf-oembed .title{position:relative;border-bottom:#ccd0d4 solid 1px;padding:5px 10px}.acf-oembed .title .input-search{margin:0;font-size:14px;line-height:30px;height:30px;padding:0;border:0 none;box-shadow:none;border-radius:0;font-family:inherit;cursor:text}.acf-oembed .title .acf-actions{padding:6px}.acf-oembed .canvas{position:relative;min-height:250px;background:#f9f9f9}.acf-oembed .canvas .canvas-media{position:relative;z-index:1}.acf-oembed .canvas iframe{display:block;margin:0;padding:0;width:100%}.acf-oembed .canvas .acf-icon.-picture{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:0;height:42px;width:42px;font-size:42px;color:#999}.acf-oembed .canvas .acf-loading-overlay{background:rgba(255,255,255,.9)}.acf-oembed .canvas .canvas-error{position:absolute;top:50%;left:0%;right:0%;margin:-9px 0 0 0;text-align:center;display:none}.acf-oembed .canvas .canvas-error p{padding:8px;margin:0;display:inline}.acf-oembed.has-value .canvas{min-height:50px}.acf-oembed.has-value .input-search{font-weight:bold}.acf-oembed.has-value .title:hover .acf-actions{display:block}.acf-image-uploader{position:relative}.acf-image-uploader:after{display:block;clear:both;content:""}.acf-image-uploader p{margin:0}.acf-image-uploader .image-wrap{position:relative;float:left}.acf-image-uploader .image-wrap img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;min-width:30px;min-height:30px;background:#f1f1f1;margin:0;padding:0}.acf-image-uploader .image-wrap img[src$=".svg"]{min-height:100px;min-width:100px}.acf-image-uploader .image-wrap:hover .acf-actions{display:block}.acf-image-uploader input.button{width:auto}html[dir=rtl] .acf-image-uploader .image-wrap{float:right}.acf-file-uploader{position:relative}.acf-file-uploader p{margin:0}.acf-file-uploader .file-wrap{border:#ccd0d4 solid 1px;min-height:84px;position:relative;background:#fff}.acf-file-uploader .file-icon{position:absolute;top:0;left:0;bottom:0;padding:10px;background:#f1f1f1;border-right:#d5d9dd solid 1px}.acf-file-uploader .file-icon img{display:block;padding:0;margin:0;max-width:48px}.acf-file-uploader .file-info{padding:10px;margin-left:69px}.acf-file-uploader .file-info p{margin:0 0 2px;font-size:13px;line-height:1.4em;word-break:break-all}.acf-file-uploader .file-info a{text-decoration:none}.acf-file-uploader:hover .acf-actions{display:block}html[dir=rtl] .acf-file-uploader .file-icon{left:auto;right:0;border-left:#e5e5e5 solid 1px;border-right:none}html[dir=rtl] .acf-file-uploader .file-info{margin-right:69px;margin-left:0}.acf-ui-datepicker .ui-datepicker{z-index:900000 !important}.acf-ui-datepicker .ui-datepicker .ui-widget-header a{cursor:pointer;transition:none}.acf-ui-datepicker .ui-state-highlight.ui-state-hover{border:1px solid #98b7e8 !important;background:#98b7e8 !important;font-weight:normal !important;color:#fff !important}.acf-ui-datepicker .ui-state-highlight.ui-state-active{border:1px solid #3875d7 !important;background:#3875d7 !important;font-weight:normal !important;color:#fff !important}.acf-field-separator .acf-label{margin-bottom:0}.acf-field-separator .acf-label label{font-weight:normal}.acf-field-separator .acf-input{display:none}.acf-fields>.acf-field-separator{background:#f9f9f9;border-bottom:1px solid #dfdfdf;border-top:1px solid #dfdfdf;margin-bottom:-1px;z-index:2}.acf-taxonomy-field{position:relative}.acf-taxonomy-field .categorychecklist-holder{border:#ccd0d4 solid 1px;border-radius:3px;max-height:200px;overflow:auto}.acf-taxonomy-field .acf-checkbox-list{margin:0;padding:10px}.acf-taxonomy-field .acf-checkbox-list ul.children{padding-left:18px}.acf-taxonomy-field:hover .acf-actions{display:block}.acf-taxonomy-field[data-ftype=select] .acf-actions{padding:0;margin:-9px}.acf-range-wrap .acf-append,.acf-range-wrap .acf-prepend{display:inline-block;vertical-align:middle;line-height:28px;margin:0 7px 0 0}.acf-range-wrap .acf-append{margin:0 0 0 7px}.acf-range-wrap input[type=range]{display:inline-block;padding:0;margin:0;vertical-align:middle;height:28px}.acf-range-wrap input[type=range]:focus{outline:none}.acf-range-wrap input[type=number]{display:inline-block;min-width:3em;margin-left:10px;vertical-align:middle}html[dir=rtl] .acf-range-wrap input[type=number]{margin-right:10px;margin-left:0}html[dir=rtl] .acf-range-wrap .acf-append{margin:0 7px 0 0}html[dir=rtl] .acf-range-wrap .acf-prepend{margin:0 0 0 7px}.acf-accordion{margin:-1px 0;padding:0;background:#fff;border-top:1px solid #d5d9dd;border-bottom:1px solid #d5d9dd;z-index:1}.acf-accordion .acf-accordion-title{margin:0;padding:12px;font-weight:bold;cursor:pointer;font-size:inherit;font-size:13px;line-height:1.4em}.acf-accordion .acf-accordion-title:hover{background:#f3f4f5}.acf-accordion .acf-accordion-title label{margin:0;padding:0;font-size:13px;line-height:1.4em}.acf-accordion .acf-accordion-title p{font-weight:normal}.acf-accordion .acf-accordion-title .acf-accordion-icon{float:right}.acf-accordion .acf-accordion-title svg.acf-accordion-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#191e23;fill:currentColor}.acf-accordion .acf-accordion-content{margin:0;padding:0 12px 12px;display:none}.acf-accordion.-open>.acf-accordion-content{display:block}.acf-field.acf-accordion{margin:-1px 0;padding:0 !important;border-color:#d5d9dd}.acf-field.acf-accordion .acf-label.acf-accordion-title{padding:12px;width:auto;float:none;width:auto}.acf-field.acf-accordion .acf-input.acf-accordion-content{padding:0;float:none;width:auto}.acf-field.acf-accordion .acf-input.acf-accordion-content>.acf-fields{border-top:#eee solid 1px}.acf-field.acf-accordion .acf-input.acf-accordion-content>.acf-fields.-clear{padding:0 12px 15px}.acf-fields.-left>.acf-field.acf-accordion:before{display:none}.acf-fields.-left>.acf-field.acf-accordion .acf-accordion-title{width:auto;margin:0 !important;padding:12px;float:none !important}.acf-fields.-left>.acf-field.acf-accordion .acf-accordion-content{padding:0 !important}.acf-fields.-clear>.acf-field.acf-accordion{border:#ccc solid 1px;background:transparent}.acf-fields.-clear>.acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-16px}tr.acf-field.acf-accordion{background:transparent}tr.acf-field.acf-accordion>.acf-input{padding:0 !important;border:#ccc solid 1px}tr.acf-field.acf-accordion .acf-accordion-content{padding:0 12px 12px}#addtag div.acf-field.error{border:0 none;padding:8px 0}#addtag>.acf-field.acf-accordion{padding-right:0;margin-right:5%}#addtag>.acf-field.acf-accordion+p.submit{margin-top:0}tr.acf-accordion{margin:15px 0 !important}tr.acf-accordion+tr.acf-accordion{margin-top:-16px !important}.acf-postbox.seamless>.acf-fields>.acf-accordion{margin-left:12px;margin-right:12px;border:#ccd0d4 solid 1px}.widget .widget-content>.acf-field.acf-accordion{border:#dfdfdf solid 1px;margin-bottom:10px}.widget .widget-content>.acf-field.acf-accordion .acf-accordion-title{margin-bottom:0}.widget .widget-content>.acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-11px}.media-modal .compat-attachment-fields .acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-1px}.media-modal .compat-attachment-fields .acf-field.acf-accordion>.acf-input{width:100%}.media-modal .compat-attachment-fields .acf-field.acf-accordion .compat-attachment-fields>tbody>tr>td{padding-bottom:5px}.block-editor .edit-post-sidebar .acf-postbox>.postbox-header,.block-editor .edit-post-sidebar .acf-postbox>.hndle{border-bottom-width:0 !important}.block-editor .edit-post-sidebar .acf-postbox.closed>.postbox-header,.block-editor .edit-post-sidebar .acf-postbox.closed>.hndle{border-bottom-width:1px !important}.block-editor .edit-post-sidebar .acf-fields{min-height:1px;overflow:auto}.block-editor .edit-post-sidebar .acf-fields>.acf-field{border-width:0;border-color:#e2e4e7;margin:16px;padding:0;width:auto !important;min-height:0 !important;float:none !important}.block-editor .edit-post-sidebar .acf-fields>.acf-field>.acf-label{margin-bottom:5px}.block-editor .edit-post-sidebar .acf-fields>.acf-field>.acf-label label{font-weight:normal}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion{padding:0;margin:0;border-top-width:1px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion:first-child{border-top-width:0}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title{margin:0;padding:15px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title label{font-weight:bold}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-content>.acf-fields{border-top-width:0}.form-table>tbody>.acf-field>.acf-label{padding:20px 10px 20px 0;width:210px}html[dir=rtl] .form-table>tbody>.acf-field>.acf-label{padding:20px 0 20px 10px}.form-table>tbody>.acf-field>.acf-label label{font-size:14px;color:#23282d}.form-table>tbody>.acf-field>.acf-input{padding:15px 10px}html[dir=rtl] .form-table>tbody>.acf-field>.acf-input{padding:15px 10px 15px 5%}.form-table>tbody>.acf-tab-wrap td{padding:15px 5% 15px 0}html[dir=rtl] .form-table>tbody>.acf-tab-wrap td{padding:15px 0 15px 5%}.form-table>tbody .form-table th.acf-th{width:auto}#your-profile .acf-field input[type=text],#your-profile .acf-field input[type=password],#your-profile .acf-field input[type=number],#your-profile .acf-field input[type=search],#your-profile .acf-field input[type=email],#your-profile .acf-field input[type=url],#your-profile .acf-field select,#createuser .acf-field input[type=text],#createuser .acf-field input[type=password],#createuser .acf-field input[type=number],#createuser .acf-field input[type=search],#createuser .acf-field input[type=email],#createuser .acf-field input[type=url],#createuser .acf-field select{max-width:25em}#your-profile .acf-field textarea,#createuser .acf-field textarea{max-width:500px}#your-profile .acf-field .acf-field input[type=text],#your-profile .acf-field .acf-field input[type=password],#your-profile .acf-field .acf-field input[type=number],#your-profile .acf-field .acf-field input[type=search],#your-profile .acf-field .acf-field input[type=email],#your-profile .acf-field .acf-field input[type=url],#your-profile .acf-field .acf-field textarea,#your-profile .acf-field .acf-field select,#createuser .acf-field .acf-field input[type=text],#createuser .acf-field .acf-field input[type=password],#createuser .acf-field .acf-field input[type=number],#createuser .acf-field .acf-field input[type=search],#createuser .acf-field .acf-field input[type=email],#createuser .acf-field .acf-field input[type=url],#createuser .acf-field .acf-field textarea,#createuser .acf-field .acf-field select{max-width:none}#registerform h2{margin:1em 0}#registerform .acf-field{margin-top:0}#registerform .acf-field .acf-label{margin-bottom:0}#registerform .acf-field .acf-label label{font-weight:normal;line-height:1.5}#registerform p.submit{text-align:right}#acf-term-fields{padding-right:5%}#acf-term-fields>.acf-field>.acf-label{margin:0}#acf-term-fields>.acf-field>.acf-label label{font-size:12px;font-weight:normal}p.submit .spinner,p.submit .acf-spinner{vertical-align:top;float:none;margin:4px 4px 0}#edittag .acf-fields.-left>.acf-field{padding-left:220px}#edittag .acf-fields.-left>.acf-field:before{width:209px}#edittag .acf-fields.-left>.acf-field>.acf-label{width:220px;margin-left:-220px;padding:0 10px}#edittag .acf-fields.-left>.acf-field>.acf-input{padding:0}#edittag>.acf-fields.-left{width:96%}#edittag>.acf-fields.-left>.acf-field>.acf-label{padding-left:0}.editcomment td:first-child{white-space:nowrap;width:131px}#widgets-right .widget .acf-field .description{padding-left:0;padding-right:0}.acf-widget-fields>.acf-field .acf-label{margin-bottom:5px}.acf-widget-fields>.acf-field .acf-label label{font-weight:normal;margin:0}.acf-menu-settings{border-top:1px solid #eee;margin-top:2em}.acf-menu-settings.-seamless{border-top:none;margin-top:15px}.acf-menu-settings.-seamless>h2{display:none}.acf-menu-settings .list li{display:block;margin-bottom:0}.acf-fields.acf-menu-item-fields{clear:both;padding-top:1px}.acf-fields.acf-menu-item-fields>.acf-field{margin:5px 0;padding-right:10px}.acf-fields.acf-menu-item-fields>.acf-field .acf-label{margin-bottom:0}.acf-fields.acf-menu-item-fields>.acf-field .acf-label label{font-style:italic;font-weight:normal}#post .compat-attachment-fields .compat-field-acf-form-data{display:none}#post .compat-attachment-fields,#post .compat-attachment-fields>tbody,#post .compat-attachment-fields>tbody>tr,#post .compat-attachment-fields>tbody>tr>th,#post .compat-attachment-fields>tbody>tr>td{display:block}#post .compat-attachment-fields>tbody>.acf-field{margin:15px 0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label{margin:0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label label{margin:0;padding:0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label label p{margin:0 0 3px !important}#post .compat-attachment-fields>tbody>.acf-field>.acf-input{margin:0}.media-modal .compat-attachment-fields td.acf-input table{display:table;table-layout:auto}.media-modal .compat-attachment-fields td.acf-input table tbody{display:table-row-group}.media-modal .compat-attachment-fields td.acf-input table tr{display:table-row}.media-modal .compat-attachment-fields td.acf-input table td,.media-modal .compat-attachment-fields td.acf-input table th{display:table-cell}.media-modal .compat-attachment-fields>tbody>.acf-field{margin:5px 0}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label{min-width:30%;margin:0;padding:0;float:left;text-align:right;display:block;float:left}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label>label{padding-top:6px;margin:0;color:#666;font-weight:400;line-height:16px}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-input{width:65%;margin:0;padding:0;float:right;display:block}.media-modal .compat-attachment-fields>tbody>.acf-field p.description{margin:0}.acf-selection-error{background:#ffebe8;border:1px solid #c00;border-radius:3px;padding:8px;margin:20px 0 0}.acf-selection-error .selection-error-label{background:#c00;border-radius:3px;color:#fff;font-weight:bold;margin-right:8px;padding:2px 4px}.acf-selection-error .selection-error-message{color:#b44;display:block;padding-top:8px;word-wrap:break-word;white-space:pre-wrap}.media-modal .attachment.acf-disabled .thumbnail{opacity:.25 !important}.media-modal .attachment.acf-disabled .attachment-preview:before{background:rgba(0,0,0,.15);z-index:1;position:relative}.media-modal .compat-field-acf-form-data,.media-modal .compat-field-acf-blank{display:none !important}.media-modal .upload-error-message{white-space:pre-wrap}.media-modal .acf-required{padding:0 !important;margin:0 !important;float:none !important;color:red !important}.media-modal .media-sidebar .compat-item{padding-bottom:20px}@media(max-width: 900px){.media-modal .setting span,.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label{width:98%;float:none;text-align:left;min-height:0;padding:0}.media-modal .setting input,.media-modal .setting textarea,.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-input{float:none;height:auto;max-width:none;width:98%}}.media-modal .acf-expand-details{float:right;padding:8px 10px;margin-right:6px;font-size:13px;height:18px;line-height:18px;color:#666;text-decoration:none}.media-modal .acf-expand-details:focus,.media-modal .acf-expand-details:active{outline:0 none;box-shadow:none;color:#666}.media-modal .acf-expand-details:hover{color:#000}.media-modal .acf-expand-details .is-open{display:none}.media-modal .acf-expand-details .is-closed{display:block}@media(max-width: 640px){.media-modal .acf-expand-details{display:none}}.media-modal.acf-expanded .acf-expand-details .is-open{display:block}.media-modal.acf-expanded .acf-expand-details .is-closed{display:none}.media-modal.acf-expanded .attachments-browser .media-toolbar,.media-modal.acf-expanded .attachments-browser .attachments{right:740px}.media-modal.acf-expanded .media-sidebar{width:708px}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{float:left;max-height:none}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail img{max-width:100%;max-height:200px}.media-modal.acf-expanded .media-sidebar .attachment-info .details{float:right}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,.media-modal.acf-expanded .media-sidebar .attachment-details .setting .name,.media-modal.acf-expanded .media-sidebar .compat-attachment-fields>tbody>.acf-field>.acf-label{min-width:20%;margin-right:0}.media-modal.acf-expanded .media-sidebar .attachment-info .details,.media-modal.acf-expanded .media-sidebar .attachment-details .setting input,.media-modal.acf-expanded .media-sidebar .attachment-details .setting textarea,.media-modal.acf-expanded .media-sidebar .attachment-details .setting+.description,.media-modal.acf-expanded .media-sidebar .compat-attachment-fields>tbody>.acf-field>.acf-input{min-width:77%}@media(max-width: 900px){.media-modal.acf-expanded .attachments-browser .media-toolbar{display:none}.media-modal.acf-expanded .attachments{display:none}.media-modal.acf-expanded .media-sidebar{width:auto;max-width:none !important;bottom:0 !important}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{min-width:0;max-width:none;width:30%}.media-modal.acf-expanded .media-sidebar .attachment-info .details{min-width:0;max-width:none;width:67%}}@media(max-width: 640px){.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,.media-modal.acf-expanded .media-sidebar .attachment-info .details{width:100%}}.acf-media-modal .media-embed .setting.align,.acf-media-modal .media-embed .setting.link-to{display:none}.acf-media-modal.-edit{left:15%;right:15%;top:100px;bottom:100px}.acf-media-modal.-edit .media-frame-menu,.acf-media-modal.-edit .media-frame-router,.acf-media-modal.-edit .media-frame-content .attachments,.acf-media-modal.-edit .media-frame-content .media-toolbar{display:none}.acf-media-modal.-edit .media-frame-title,.acf-media-modal.-edit .media-frame-content,.acf-media-modal.-edit .media-frame-toolbar,.acf-media-modal.-edit .media-sidebar{width:auto;left:0;right:0}.acf-media-modal.-edit .media-frame-content{top:50px}.acf-media-modal.-edit .media-frame-title{border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.acf-media-modal.-edit .media-sidebar{padding:0 16px}.acf-media-modal.-edit .media-sidebar .attachment-details{overflow:visible}.acf-media-modal.-edit .media-sidebar .attachment-details>h3,.acf-media-modal.-edit .media-sidebar .attachment-details>h2{display:none}.acf-media-modal.-edit .media-sidebar .attachment-details .attachment-info{background:#fff;border-bottom:#ddd solid 1px;padding:16px;margin:0 -16px 16px}.acf-media-modal.-edit .media-sidebar .attachment-details .thumbnail{margin:0 16px 0 0}.acf-media-modal.-edit .media-sidebar .attachment-details .setting{margin:0 0 5px}.acf-media-modal.-edit .media-sidebar .attachment-details .setting span{margin:0}.acf-media-modal.-edit .media-sidebar .compat-attachment-fields>tbody>.acf-field{margin:0 0 5px}.acf-media-modal.-edit .media-sidebar .compat-attachment-fields>tbody>.acf-field p.description{margin-top:3px}.acf-media-modal.-edit .media-sidebar .media-types-required-info{display:none}@media(max-width: 900px){.acf-media-modal.-edit{top:30px;right:30px;bottom:30px;left:30px}}@media(max-width: 640px){.acf-media-modal.-edit{top:0;right:0;bottom:0;left:0}}@media(max-width: 480px){.acf-media-modal.-edit .media-frame-content{top:40px}}.acf-temp-remove{position:relative;opacity:1;-webkit-transition:all .25s ease;-moz-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;overflow:hidden}.acf-temp-remove:after{display:block;content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:99}.hidden-by-conditional-logic{display:none !important}.hidden-by-conditional-logic.appear-empty{display:table-cell !important}.hidden-by-conditional-logic.appear-empty .acf-input{display:none !important}.acf-postbox.acf-hidden{display:none !important}.acf-attention{transition:border .25s ease-out}.acf-attention.-focused{border:#23282d solid 1px !important;transition:none}tr.acf-attention{transition:box-shadow .25s ease-out;position:relative}tr.acf-attention.-focused{box-shadow:#23282d 0 0 0px 1px !important}#editor .edit-post-layout__metaboxes{padding:0}#editor .edit-post-layout__metaboxes .edit-post-meta-boxes-area{margin:0}#editor .metabox-location-side .postbox-container{float:none}#editor .postbox{color:#444}#editor .postbox>.postbox-header .hndle{border-bottom:none}#editor .postbox>.postbox-header .hndle:hover{background:transparent}#editor .postbox>.postbox-header .handle-actions .handle-order-higher,#editor .postbox>.postbox-header .handle-actions .handle-order-lower{width:1.62rem}#editor .postbox>.postbox-header .handle-actions .acf-hndle-cog{height:44px;line-height:44px}#editor .postbox>.postbox-header:hover{background:#f0f0f0}#editor .postbox:last-child.closed>.postbox-header{border-bottom:none}#editor .postbox:last-child>.inside{border-bottom:none}#editor .block-editor-writing-flow__click-redirect{min-height:50px}body.is-dragging-metaboxes #acf_after_title-sortables{outline:3px dashed #646970;display:flow-root;min-height:60px;margin-bottom:3px !important} diff --git a/assets/build/css/pro/acf-pro-field-group.css b/assets/build/css/pro/acf-pro-field-group.css index 3a4f499..f8f15e3 100644 --- a/assets/build/css/pro/acf-pro-field-group.css +++ b/assets/build/css/pro/acf-pro-field-group.css @@ -1,3 +1,6 @@ +/*!******************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/pro/acf-pro-field-group.scss ***! + \******************************************************************************************************************************************************************************************************************************/ /*-------------------------------------------------------------------------------------------- * * Vars @@ -64,4 +67,6 @@ .acf-field-object-clone[data-display=seamless] .acf-field-setting-wrapper, .acf-field-object-clone[data-display=seamless] .acf-field-setting-conditional_logic { display: none; -} \ No newline at end of file +} + +/*# sourceMappingURL=acf-pro-field-group.css.map*/ \ No newline at end of file diff --git a/assets/build/css/pro/acf-pro-field-group.css.js b/assets/build/css/pro/acf-pro-field-group.css.js new file mode 100644 index 0000000..104e9ad --- /dev/null +++ b/assets/build/css/pro/acf-pro-field-group.css.js @@ -0,0 +1,6 @@ +/******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ +/******/ +/******/ })() +; \ No newline at end of file diff --git a/assets/build/css/pro/acf-pro-field-group.css.map b/assets/build/css/pro/acf-pro-field-group.css.map new file mode 100644 index 0000000..a25d92b --- /dev/null +++ b/assets/build/css/pro/acf-pro-field-group.css.map @@ -0,0 +1 @@ +{"version":3,"file":"acf-pro-field-group.css","mappings":";;;AAAA;;;;8FAAA;AAMA;AAOA;AAQA;ACrBA;;;;8FAAA;ACAA;;;;+FAAA;AASC;EACC;EACA;ACUF;ADRE;EACC;EACA;ACUH;ADPE;;EAEC;EACA;EACA;ACSH;ADNE;;;EAGC;ACQH;ADHC;EACC;ACKF;ADHE;EACC;ACKH;ADFE;EACC;EACA;EACA;ACIH;ADEG;EACC;ACAJ;;ADMA;;;;+FAAA;AAMA;EAEC;EAOA;ACXD;ADcE;;;;EAIC;ACZH,C","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_variables.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_mixins.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/pro/_field-group.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/pro/acf-pro-field-group.scss"],"sourcesContent":["/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* colors */\n$acf_blue: #2a9bd9;\n$acf_notice: #2a9bd9;\n$acf_error: #d94f4f;\n$acf_success: #49ad52;\n$acf_warning: #fd8d3b;\n\n/* acf-field */\n$field_padding: 15px 12px;\n$field_padding_x: 12px;\n$field_padding_y: 15px;\n$fp: 15px 12px;\n$fy: 15px;\n$fx: 12px;\n\n/* responsive */\n$md: 880px;\n$sm: 640px;\n\n// Admin.\n$wp-card-border: #ccd0d4;\t\t\t// Card border.\n$wp-card-border-1: #d5d9dd;\t\t\t// Card inner border 1: Structural (darker).\n$wp-card-border-2: #eeeeee;\t\t\t// Card inner border 2: Fields (lighter).\n$wp-input-border: #7e8993;\t\t\t// Input border.\n\n// Admin 3.8\n$wp38-card-border: #E5E5E5;\t\t\t// Card border.\n$wp38-card-border-1: #dfdfdf;\t\t// Card inner border 1: Structural (darker).\n$wp38-card-border-2: #eeeeee;\t\t// Card inner border 2: Fields (lighter).\n$wp38-input-border: #dddddd;\t\t// Input border.","/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n@mixin clearfix() {\n\t&:after {\n\t\tdisplay: block;\n\t\tclear: both;\n\t\tcontent: \"\";\n\t}\n}\n\n@mixin border-box() {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n}\n\n@mixin centered() {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n@mixin animate( $properties: 'all' ) {\n\t-webkit-transition: $properties 0.3s ease; // Safari 3.2+, Chrome\n -moz-transition: $properties 0.3s ease; \t// Firefox 4-15\n -o-transition: $properties 0.3s ease; \t\t// Opera 10.5–12.00\n transition: $properties 0.3s ease; \t\t// Firefox 16+, Opera 12.50+\n}\n\n@mixin rtl() {\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t\t@content;\n\t}\n}\n\n@mixin wp-admin( $version: '3-8' ) {\n\t.acf-admin-#{$version} & {\n\t\t@content;\n\t}\n}","/*---------------------------------------------------------------------------------------------\n*\n*\tFlexible Content\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-setting-fc_layout {\n\t\n\t// meta\n\t.acf-fc-meta {\n\t\tmargin: 0 0 10px;\n\t\tpadding: 0;\n\t\t\n\t\tli {\n\t\t\tmargin: 0 0 10px;\n\t\t\tpadding: 0;\n\t\t}\n\t\t\n\t\t.acf-fc-meta-display,\n\t\t.acf-fc-meta-min {\n\t\t\tfloat: left;\n\t\t\twidth: 33%;\n\t\t\tpadding-right: 10px;\n\t\t}\n\t\t\n\t\t.acf-fc-meta-label .acf-input-prepend,\n\t\t.acf-fc-meta-name .acf-input-prepend,\n\t\t.acf-fc-meta-display .acf-input-prepend {\n\t\t\tmin-width: 60px;\n\t\t}\n\t}\n\t\n\t// actions\n\t.acf-fl-actions {\n\t\tvisibility: hidden;\n\t\t\n\t\t.reorder-layout {\n\t\t\tcursor: move;\n\t\t}\n\t\t\n\t\ta {\n\t\t\tpadding: 1px 0;\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 20px;\n\t\t}\n\t}\n\t\n\t// hover\n\t&:hover, &.-hover {\n\t\t .acf-fl-actions {\n\t\t \tvisibility: visible;\n\t\t }\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tClone\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-object-clone {\n\t\n\t/* group */\n\t&[data-display=\"group\"] {\n\t\t\n\t\t\n\t}\n\t\n\t\n\t/* seamless */\n\t&[data-display=\"seamless\"] {\n\t\t\n\t\t.acf-field-setting-instructions,\n\t\t.acf-field-setting-layout,\n\t\t.acf-field-setting-wrapper,\n\t\t.acf-field-setting-conditional_logic {\n\t\t\tdisplay: none;\n\t\t}\n\t\t\n\t}\n\t\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n/* colors */\n/* acf-field */\n/* responsive */\n/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n*\tFlexible Content\n*\t\n*---------------------------------------------------------------------------------------------*/\n.acf-field-setting-fc_layout .acf-fc-meta {\n margin: 0 0 10px;\n padding: 0;\n}\n.acf-field-setting-fc_layout .acf-fc-meta li {\n margin: 0 0 10px;\n padding: 0;\n}\n.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-display,\n.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-min {\n float: left;\n width: 33%;\n padding-right: 10px;\n}\n.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-label .acf-input-prepend,\n.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-name .acf-input-prepend,\n.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-display .acf-input-prepend {\n min-width: 60px;\n}\n.acf-field-setting-fc_layout .acf-fl-actions {\n visibility: hidden;\n}\n.acf-field-setting-fc_layout .acf-fl-actions .reorder-layout {\n cursor: move;\n}\n.acf-field-setting-fc_layout .acf-fl-actions a {\n padding: 1px 0;\n font-size: 13px;\n line-height: 20px;\n}\n.acf-field-setting-fc_layout:hover .acf-fl-actions, .acf-field-setting-fc_layout.-hover .acf-fl-actions {\n visibility: visible;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tClone\n*\t\n*---------------------------------------------------------------------------------------------*/\n.acf-field-object-clone {\n /* group */\n /* seamless */\n}\n.acf-field-object-clone[data-display=seamless] .acf-field-setting-instructions,\n.acf-field-object-clone[data-display=seamless] .acf-field-setting-layout,\n.acf-field-object-clone[data-display=seamless] .acf-field-setting-wrapper,\n.acf-field-object-clone[data-display=seamless] .acf-field-setting-conditional_logic {\n display: none;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/assets/build/css/pro/acf-pro-field-group.min.css b/assets/build/css/pro/acf-pro-field-group.min.css index 4835759..2241631 100644 --- a/assets/build/css/pro/acf-pro-field-group.min.css +++ b/assets/build/css/pro/acf-pro-field-group.min.css @@ -1 +1 @@ -.acf-field-setting-fc_layout .acf-fc-meta{margin:0 0 10px;padding:0}.acf-field-setting-fc_layout .acf-fc-meta li{margin:0 0 10px;padding:0}.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-display,.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-min{float:left;width:33%;padding-right:10px}.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-display .acf-input-prepend,.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-label .acf-input-prepend,.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-name .acf-input-prepend{min-width:60px}.acf-field-setting-fc_layout .acf-fl-actions{visibility:hidden}.acf-field-setting-fc_layout .acf-fl-actions .reorder-layout{cursor:move}.acf-field-setting-fc_layout .acf-fl-actions a{padding:1px 0;font-size:13px;line-height:20px}.acf-field-setting-fc_layout.-hover .acf-fl-actions,.acf-field-setting-fc_layout:hover .acf-fl-actions{visibility:visible}.acf-field-object-clone[data-display=seamless] .acf-field-setting-conditional_logic,.acf-field-object-clone[data-display=seamless] .acf-field-setting-instructions,.acf-field-object-clone[data-display=seamless] .acf-field-setting-layout,.acf-field-object-clone[data-display=seamless] .acf-field-setting-wrapper{display:none} \ No newline at end of file +.acf-field-setting-fc_layout .acf-fc-meta{margin:0 0 10px;padding:0}.acf-field-setting-fc_layout .acf-fc-meta li{margin:0 0 10px;padding:0}.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-display,.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-min{float:left;width:33%;padding-right:10px}.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-label .acf-input-prepend,.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-name .acf-input-prepend,.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-display .acf-input-prepend{min-width:60px}.acf-field-setting-fc_layout .acf-fl-actions{visibility:hidden}.acf-field-setting-fc_layout .acf-fl-actions .reorder-layout{cursor:move}.acf-field-setting-fc_layout .acf-fl-actions a{padding:1px 0;font-size:13px;line-height:20px}.acf-field-setting-fc_layout:hover .acf-fl-actions,.acf-field-setting-fc_layout.-hover .acf-fl-actions{visibility:visible}.acf-field-object-clone[data-display=seamless] .acf-field-setting-instructions,.acf-field-object-clone[data-display=seamless] .acf-field-setting-layout,.acf-field-object-clone[data-display=seamless] .acf-field-setting-wrapper,.acf-field-object-clone[data-display=seamless] .acf-field-setting-conditional_logic{display:none} diff --git a/assets/build/css/pro/acf-pro-input.css b/assets/build/css/pro/acf-pro-input.css index 5b5893d..92358b3 100644 --- a/assets/build/css/pro/acf-pro-input.css +++ b/assets/build/css/pro/acf-pro-input.css @@ -1,3 +1,6 @@ +/*!************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/pro/acf-pro-input.scss ***! + \************************************************************************************************************************************************************************************************************************/ /*-------------------------------------------------------------------------------------------- * * Vars @@ -680,4 +683,6 @@ html[dir=rtl] .acf-block-component .acf-block-fields { .components-panel__body .acf-block-panel { margin: 16px -16px -16px; -} \ No newline at end of file +} + +/*# sourceMappingURL=acf-pro-input.css.map*/ \ No newline at end of file diff --git a/assets/build/css/pro/acf-pro-input.css.js b/assets/build/css/pro/acf-pro-input.css.js new file mode 100644 index 0000000..104e9ad --- /dev/null +++ b/assets/build/css/pro/acf-pro-input.css.js @@ -0,0 +1,6 @@ +/******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ +/******/ +/******/ })() +; \ No newline at end of file diff --git a/assets/build/css/pro/acf-pro-input.css.map b/assets/build/css/pro/acf-pro-input.css.map new file mode 100644 index 0000000..0d660f2 --- /dev/null +++ b/assets/build/css/pro/acf-pro-input.css.map @@ -0,0 +1 @@ +{"version":3,"file":"acf-pro-input.css","mappings":";;;AAAA;;;;8FAAA;AAMA;AAOA;AAQA;ACrBA;;;;8FAAA;ACAA;;;;+FAAA;AAMA;EAEC;EAOA;EAoDA;EASA;EAiCA;EAcA;EACD;;;;;;;;GAAA;EAgBC;EAWA;EAYA;EAkBA;AC/ID;AD7BC;EACC;EACA;AC+BF;AD1BC;EACC;EACA;EACA;EACA;EAGA;EAmBA;EAiBA;ACRF;AD3BE;EACC;EACA;EACA;EACA;EAGA;AC2BH;AD1BG;EACC;EAEA;AC2BJ;AD1BI;EAAsB;AC6B1B;ADtBE;EACC;EACA;EACA;EACA;ACwBH;ADtBG;EACC;ACwBJ;ADrBG;EACC;ACuBJ;ADjBE;EACC;EACA;ACmBH;ADbC;EACC;EACA;EACA;EACA;ACeF;ADVC;EAEC;EAMA;ACMF;ADXE;EACC;ACaH;ADRE;EAGC;ACQH;ADPG;EACC;ACSJ;ADNI;EACC;ACQL;ADPK;EACC;ACSN;ADLK;EACC;ACON;ADCC;EACC;ACCF;ADEC;EACC;ACAF;ADEE;EACC;ACAH;ADgBC;EAEC;ACfF;ADoBC;EACC;AClBF;ADqBC;EAEC;ACpBF;AD2BE;EACC;ACzBH;AD4BE;EACC;AC1BH;ADiCE;EACC;AC/BH;ADkCE;EACC;AChCH;ADkCG;EACC;EACA;AChCJ;ADuCC;EACC;ACrCF;AD4CE;EACC;AC1CH;;AD+CA;;;;+FAAA;AAMA;EACC;AC7CD;ADgDC;EACC;AC9CF;ADkDC;EACC;AChDF;ADmDE;EACC;EACA;EAEA;EACA;AClDH;ADuDC;EACC;EACA;EACG;EACA;ACrDL;ADuDK;EACF;ACrDH;ADyDE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACvDH;AD2DE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACzDH;AD2DG;EACC;EACA;EACA;ACzDJ;AD8DE;EACC;EACA;EACA;AC5DH;AD8DG;EACC;EACA;EACA;AC5DJ;AD8DI;EAAkC;AC3DtC;AD8DG;EACC;EACA;AC5DJ;ADiEE;EACC,qBFrQe;AGsMlB;ADgEG;EACC,qBFvQc;AGyMlB;AD0EK;EAAkC;ACvEvC;AD8EG;EACC;AC5EJ;AD+EG;;EAEC;AC7EJ;ADkFE;EACC;EACA;AChFH;ADkFG;EACC;AChFJ;ADmFG;EACC;ACjFJ;ADuFC;EACC;EACA;EACA;EACA;ACrFF;ADyFC;EACC;ACvFF;;AD4FA;EACC;EACA;EACA;ACzFD;AD2FC;EACC;EACA;EACA;EACA;ACzFF;AD4FC;EACC;EACA;EACA;AC1FF;AD6FC;EACC;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;AC5FF;AD+FC;EACC;EACA;EACA;EACA;EACA;AC7FF;AD+FE;EACC;EACA;AC7FH;ADgGE;EACC;EACA;AC9FH;;ADqGA;;;;+FAAA;AAMA;EACC;EACA;EACA;EAEA;EAWA;EAaA;EAoJA;EAuBA;EAyBA;EAiEA;EAmDA;EAWA;ACvbD;AD6FC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AC3FF;AD+FC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC7FF;ADkGC;EACC;EACA;EACA;EACA;EAiEA;EAUA;EAuBA;EAUA;EAUA;ACjNF;AD6FE;EACC;EACA;EACA;EACA;EACA;AC3FH;AD6FG;EACC;EACG;EACA;AC3FP;AD+FE;EACC;EACA;EACA;EACA;EACA;EACA;AC7FH;AD+FG;EACC;AC7FJ;ADgGG;EACC;EACA;EACA;EACA;EACA;AC9FJ;ADgGI;EACC;AC9FL;ADmGE;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACjGN;ADoGE;EACC;EACA;EACA;EACA;AClGH;ADyGG;EACC;ACvGJ;ADgHG;EACC;EACA;AC9GJ;ADoHG;EACC;EACA;AClHJ;ADoHI;EACC;AClHL;AD4HG;EACC;AC1HJ;ADmIG;EACC;ACjIJ;ADwIE;EACC;ACtIH;AD6IC;EAEC;EAMA;ACjJF;AD4IE;EACC;AC1IH;AD+IE;EACC;AC7IH;ADoJC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AClJF;ADoJE;EACC;AClJH;ADqJE;EACC;EACA;ACnJH;AD0JC;EACC;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;AC1JF;AD4JE;EACC;EACA;EACA;EACA;EACA;AC1JH;ADiKC;EAEC;EACA;EACA;EACA;EACA;EACA;AChKF;AF7dC;EACC;EACA;EACA;AE+dF;AD6JE;EACC;EACA;AC3JH;AD8JE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;AC7JH;AD8JG;EACC;EACA;AC5JJ;ADgKE;EACC;EACA;EACA;EACA;EACA;AC9JH;ADgKG;EACC;AC9JJ;ADkKE;EACC;AChKH;ADkKG;EACC;AChKJ;ADmKG;EACC;ACjKJ;ADoKG;EACC;AClKJ;AD2KC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACzKF;AD4KE;;EAEC;EACA;EACA;EACA;EACA;EACA;AC1KH;AD4KG;;EACC;ACzKJ;AD4KG;;EACC;ACzKJ;AD6KE;;EAEC;AC3KH;AD8KE;EACC;EACA;AC5KH;AD+KE;EACC;AC7KH;AD+KG;EACC;AC7KJ;ADqLC;EAA8C;AClL/C;ADmLC;EAA8C;AChL/C;ADiLC;EAA8C;AC9K/C;AD+KC;EAA8C;AC5K/C;AD6KC;EAA8C;AC1K/C;AD2KC;EAA8C;ACxK/C;ADyKC;EAA8C;ACtK/C;ADuKC;EAA8C;ACpK/C;ADwKC;EACC;EACA;ACtKF;ADyKC;EACC;EACA;EACA;EACA;EACA;ACvKF;;AD8KA;AACA;EACC;AC3KD;AD6KC;EACC;AC3KF;AD8KC;EACC;AC5KF;AD+KC;EACC;EACA;EACA;AC7KF;;AC9mBA;;;;8FAAA;AAQC;EACC;AD8mBF;;ACzmBA;EAGC;EAGA;EACA;EACA;EACA;EACA;ADwmBD;ACtmBC;EACC;ADwmBF;ACrmBC;EACC;EACA;ADumBF;;AC/lBC;EACC;ADkmBF;AC9lBG;EACC;EACA;ADgmBJ;AC1lBC;EACC;AD4lBF;ACzlBE;EACC;AD2lBH;ACzlBG;EACC;AD2lBJ;ACrlBC;EACC;ADulBF;;AC/kBC;EACC;EACA;ADklBF;ACjlBE;EACC;ADmlBH;AC/kBE;EACC;ADilBH;;AC1kBA;EACC;AD6kBD,C","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_variables.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_mixins.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/pro/_fields.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/pro/acf-pro-input.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/pro/_blocks.scss"],"sourcesContent":["/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* colors */\n$acf_blue: #2a9bd9;\n$acf_notice: #2a9bd9;\n$acf_error: #d94f4f;\n$acf_success: #49ad52;\n$acf_warning: #fd8d3b;\n\n/* acf-field */\n$field_padding: 15px 12px;\n$field_padding_x: 12px;\n$field_padding_y: 15px;\n$fp: 15px 12px;\n$fy: 15px;\n$fx: 12px;\n\n/* responsive */\n$md: 880px;\n$sm: 640px;\n\n// Admin.\n$wp-card-border: #ccd0d4;\t\t\t// Card border.\n$wp-card-border-1: #d5d9dd;\t\t\t// Card inner border 1: Structural (darker).\n$wp-card-border-2: #eeeeee;\t\t\t// Card inner border 2: Fields (lighter).\n$wp-input-border: #7e8993;\t\t\t// Input border.\n\n// Admin 3.8\n$wp38-card-border: #E5E5E5;\t\t\t// Card border.\n$wp38-card-border-1: #dfdfdf;\t\t// Card inner border 1: Structural (darker).\n$wp38-card-border-2: #eeeeee;\t\t// Card inner border 2: Fields (lighter).\n$wp38-input-border: #dddddd;\t\t// Input border.","/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n@mixin clearfix() {\n\t&:after {\n\t\tdisplay: block;\n\t\tclear: both;\n\t\tcontent: \"\";\n\t}\n}\n\n@mixin border-box() {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n}\n\n@mixin centered() {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n@mixin animate( $properties: 'all' ) {\n\t-webkit-transition: $properties 0.3s ease; // Safari 3.2+, Chrome\n -moz-transition: $properties 0.3s ease; \t// Firefox 4-15\n -o-transition: $properties 0.3s ease; \t\t// Opera 10.5–12.00\n transition: $properties 0.3s ease; \t\t// Firefox 16+, Opera 12.50+\n}\n\n@mixin rtl() {\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t\t@content;\n\t}\n}\n\n@mixin wp-admin( $version: '3-8' ) {\n\t.acf-admin-#{$version} & {\n\t\t@content;\n\t}\n}","/*---------------------------------------------------------------------------------------------\n*\n* Repeater\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-repeater {\n\t\n\t/* table */\n\t> table {\n\t\tmargin: 0 0 8px;\n\t\tbackground: #F9F9F9;\n\t}\n\t\n\t\n\t/* row handle (add/remove) */\n\t.acf-row-handle {\n\t\twidth: 16px;\n\t\ttext-align: center !important;\n\t\tvertical-align: middle !important;\n\t\tposition: relative;\n\t\t\n\t\t\n\t\t/* icons */\n\t\t.acf-icon {\n\t\t\tdisplay: none;\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tmargin: -8px 0 0 -2px;\n\t\t\t\n\t\t\t\n\t\t\t/* minus icon */\n\t\t\t&.-minus {\n\t\t\t\ttop: 50%;\n\t\t\t\t\n\t\t\t\t/* ie fix */\n\t\t\t\tbody.browser-msie & { top: 25px; }\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\t/* .order */\n\t\t&.order {\n\t\t\tbackground: #f4f4f4;\n\t\t\tcursor: move;\n\t\t\tcolor: #aaa;\n\t\t\ttext-shadow: #fff 0 1px 0;\n\t\t\t\n\t\t\t&:hover {\n\t\t\t\tcolor: #666;\n\t\t\t}\n\t\t\t\n\t\t\t+ td {\n\t\t\t\tborder-left-color: #DFDFDF;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\t/* remove */\n\t\t&.remove {\n\t\t\tbackground: #F9F9F9;\n\t\t\tborder-left-color: #DFDFDF;\n\t\t}\n\t}\n\t\n\t\n\t/* add in spacer to th (force correct width) */\n\tth.acf-row-handle:before {\n\t\tcontent: \"\";\n\t\twidth: 16px;\n\t\tdisplay: block;\n\t\theight: 1px;\n\t}\n\t\n\t\n\t/* row */\n\t.acf-row {\n\t\t\n\t\t/* hide clone */\n\t\t&.acf-clone {\n\t\t\tdisplay: none !important;\n\t\t}\n\t\t\n\t\t\n\t\t/* hover */\n\t\t&:hover,\n\t\t&.-hover {\n\t\t\t\n\t\t\t/* icons */\n\t\t\t> .acf-row-handle .acf-icon {\n\t\t\t\tdisplay: block;\n\n\t\t\t\t// Show \"duplicate\" icon above \"add\" when holding \"shift\" key.\n\t\t\t\t&.show-on-shift {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t\tbody.acf-keydown-shift & {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t&.hide-on-shift {\n\t\t\t\t\tbody.acf-keydown-shift & {\n\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* sortable */\n\t> table > tbody > tr.ui-sortable-helper {\n\t\tbox-shadow: 0 1px 5px rgba(0,0,0,0.2);\n\t}\n\t\n\t> table > tbody > tr.ui-sortable-placeholder {\n\t\tvisibility: visible !important;\n\t\t\n\t\ttd {\n\t\t\tbackground: #F9F9F9;\n\t\t}\n\t}\n\t\n\t\n\t/* layouts */\n/*\n\t&.-row > table > tbody > tr:before,\n\t&.-block > table > tbody > tr:before {\n\t\tcontent: \"\";\n\t\tdisplay: table-row;\n\t\theight: 2px;\n\t\tbackground: #f00;\n\t}\n*/\n\t\n\t&.-row > table > tbody > tr > td,\n\t&.-block > table > tbody > tr > td {\n\t\tborder-top-color: #E1E1E1;\n\t}\n\t\n\t\n\t/* empty */\n\t&.-empty > table > thead > tr > th {\n\t\tborder-bottom: 0 none;\n\t}\n\t\n\t&.-empty.-row > table,\n\t&.-empty.-block > table {\n\t\tdisplay: none;\n\t}\n\t\n\t\n\t/* collapsed */\n\t.acf-row.-collapsed {\n\t\t\n\t\t> .acf-field {\n\t\t\tdisplay: none !important;\n\t\t}\n\t\t\n\t\t> td.acf-field.-collapsed-target {\n\t\t\tdisplay: table-cell !important;\n\t\t}\n\t}\n\t\n\t/* collapsed (block layout) */\n\t.acf-row.-collapsed > .acf-fields {\n\t\t\n\t\t> * {\n\t\t\tdisplay: none !important;\n\t\t}\n\t\t\n\t\t> .acf-field.-collapsed-target {\n\t\t\tdisplay: block !important;\n\t\t\t\n\t\t\t&[data-width] {\n\t\t\t\tfloat: none !important;\n\t\t\t\twidth: auto !important;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t\n\t/* collapsed (table layout) */\n\t&.-table .acf-row.-collapsed .acf-field.-collapsed-target {\n\t\tborder-left-color: #dfdfdf;\n\t}\n\t\n\t// Reached maximum rows.\n\t&.-max {\n\t\t\n\t\t// Hide icons to add rows.\n\t\t.acf-icon[data-event=\"add-row\"] {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Flexible Content\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-flexible-content {\n\tposition: relative;\n\t\n\t// clones\n\t> .clones {\n\t\tdisplay: none;\n\t}\n\t\n\t// values\n\t> .values {\n\t\tmargin: 0 0 8px;\n\t\t\n\t\t// sortable\n\t\t> .ui-sortable-placeholder {\n\t\t\tvisibility: visible !important;\n\t\t\tborder: 1px dashed #b4b9be;\n\t\t\n\t\t\tbox-shadow: none;\n\t\t\tbackground: transparent;\n\t\t}\n\t}\n\t\n\t// layout\n\t.layout {\n\t\tposition: relative;\n\t\tmargin: 20px 0 0;\n\t background: #fff;\n\t border: 1px solid $wp-card-border;\n\t\t\n\t &:first-child {\n\t\t\tmargin-top: 0;\n\t\t}\n\t\t\t\n\t\t// handle\n\t\t.acf-fc-layout-handle {\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\t\t\tpadding: 8px 10px;\n\t\t\tcursor: move;\n\t\t\tborder-bottom: $wp-card-border solid 1px;\n\t\t\tcolor: #444;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 1.4em;\n\t\t}\n\t\t\n\t\t// order\n\t\t.acf-fc-layout-order {\n\t\t\tdisplay: block;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tborder-radius: 10px;\n\t\t\tdisplay: inline-block;\n\t\t\ttext-align: center;\n\t\t\tline-height: 20px;\n\t\t\tmargin: 0 2px 0 0;\n\t\t\tbackground: #F1F1F1;\n\t\t\tfont-size: 12px;\n\t\t\tcolor: #444;\n\t\t\t\n\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\tfloat: right;\n\t\t\t\tmargin-right: 0;\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// controlls\n\t\t.acf-fc-layout-controls {\n\t\t\tposition: absolute;\n\t\t\ttop: 8px;\n\t\t\tright: 8px;\n\t\t\t\n\t\t\t.acf-icon {\n\t\t\t\tdisplay: block;\n\t\t\t\tfloat: left;\n\t\t\t\tmargin: 0 0 0 5px;\n\t\t\t\t\n\t\t\t\t&.-plus, &.-minus, &.-duplicate { visibility: hidden; }\n\t\t\t}\n\t\t\t\n\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\tright: auto;\n\t\t\t\tleft: 9px;\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t&.is-selected {\n\t\t\tborder-color: $wp-input-border;\n\t\t\t.acf-fc-layout-handle {\n\t\t\t\tborder-color: $wp-input-border;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// open\n\t\t&:hover, \n\t\t&.-hover {\n\t\t\t\n\t\t\t// controls\n\t\t\t.acf-fc-layout-controls {\n\t\t\t\t\n\t\t\t\t.acf-icon {\n\t\t\t\t\t&.-plus, &.-minus, &.-duplicate { visibility: visible; }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t// collapsed\n\t\t&.-collapsed {\n\t\t\t> .acf-fc-layout-handle {\n\t\t\t\tborder-bottom-width: 0;\n\t\t\t}\n\t\t\t\n\t\t\t> .acf-fields,\n\t\t\t> .acf-table {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// table\n\t\t> .acf-table {\n\t\t\tborder: 0 none;\n\t\t\tbox-shadow: none;\n\t\t\t\n\t\t\t> tbody > tr {\n\t\t\t\tbackground: #fff;\n\t\t\t}\n\t\t\t\n\t\t\t> thead > tr > th {\n\t\t\t\tbackground: #F9F9F9;\n\t\t\t}\n\t\t}\n\t}\n\n\t// no value\n\t.no-value-message {\n\t\tpadding: 19px;\n\t\tborder: #ccc dashed 2px;\n\t\ttext-align: center;\n\t\tdisplay: none;\n\t}\n\n\t// empty\n\t&.-empty > .no-value-message {\n\t\tdisplay: block;\n\t}\n}\n\n// popup\n.acf-fc-popup {\n\tpadding: 5px 0;\n\tz-index: 900001; // +1 higher than .acf-tooltip\n\tmin-width: 135px;\n\t\n\tul, li {\n\t\tlist-style: none;\n\t\tdisplay: block;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\t\n\tli {\n\t\tposition: relative;\n\t\tfloat: none;\n\t\twhite-space: nowrap;\n\t}\n\t\n\t.badge {\n\t\tdisplay: inline-block;\n\t\tborder-radius: 8px;\n\t\tfont-size: 9px;\n\t\tline-height: 15px;\n\t\tpadding: 0 5px;\n\t\t\n\t\tbackground: #d54e21;\n\t\ttext-align: center;\n\t\tcolor: #fff;\n\t\tvertical-align: top;\n\t\tmargin: 0 0 0 5px;\n\t}\n\t\n\ta {\n\t\tcolor: #eee;\n\t\tpadding: 5px 10px;\n\t\tdisplay: block;\n\t\ttext-decoration: none;\n\t\tposition: relative;\n\t\t\n\t\t&:hover {\n\t\t\tbackground: #0073aa;\n\t\t\tcolor: #fff;\n\t\t}\n\t\t\n\t\t&.disabled {\n\t\t\tcolor: #888;\n\t\t\tbackground: transparent;\n\t\t}\n\t}\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Galery\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-gallery {\n\tborder: $wp-card-border solid 1px;\n\theight: 400px;\n\tposition: relative;\n\t\n\t/* main */\n\t.acf-gallery-main {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\tbackground: #fff;\n\t\tz-index: 2;\n\t}\n\t\n\t/* attachments */\n\t.acf-gallery-attachments {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 48px;\n\t\tleft: 0;\n\t\tpadding: 5px;\n\t\toverflow: auto;\n\t\toverflow-x: hidden;\n\t}\n\t\n\t\n\t/* attachment */\n\t.acf-gallery-attachment {\n\t\twidth: 25%;\n\t\tfloat: left;\n\t\tcursor: pointer;\n\t\tposition: relative;\n\t\t\n\t\t.margin {\n\t\t\tmargin: 5px;\n\t\t\tborder: $wp-card-border-1 solid 1px;\n\t\t\tposition: relative;\n\t\t\toverflow: hidden;\n\t\t\tbackground: #eee;\n\t\t\t\n\t\t\t&:before {\n\t\t\t\tcontent: \"\";\n\t\t\t display: block;\n\t\t\t padding-top: 100%;\n\t\t\t}\n\t\t}\n\t\t\n\t\t.thumbnail {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\ttransform: translate(50%, 50%);\n\t\t\t\n\t\t\thtml[dir=\"rtl\"] & { \n\t\t\t\ttransform: translate(-50%, 50%);\n\t\t\t}\n\t\t\t\n\t\t\timg {\n\t\t\t\tdisplay: block;\n\t\t\t\theight: auto;\n\t\t\t\tmax-height: 100%;\n\t\t\t\twidth: auto;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\t\n\t\t\t\thtml[dir=\"rtl\"] & { \n\t\t\t\t\ttransform: translate(50%, -50%);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t.filename {\n\t\t position: absolute;\n\t\t bottom: 0;\n\t\t left: 0;\n\t\t right: 0;\n\t\t padding: 5%;\n\t\t background: #F4F4F4;\n\t\t background: rgba(255, 255, 255, 0.8);\n\t\t border-top: #DFDFDF solid 1px;\n\t\t font-weight: bold;\n\t\t text-align: center;\n\t\t word-wrap: break-word;\n\t\t max-height: 90%;\n\t\t overflow: hidden;\n\t\t}\n\t\t\n\t\t.actions {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tdisplay: none;\n\t\t}\n\t\t\n\t\t\n\t\t/* hover */\n\t\t&:hover {\n\t\t\t\n\t\t\t.actions {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* sortable */\n\t\t&.ui-sortable-helper {\n\t\t\t\n\t\t\t.margin {\n\t\t\t\tborder: none;\n\t\t\t\tbox-shadow: 0 1px 3px rgba(0,0,0,0.3);\n\t\t\t}\n\t\t}\n\t\t\n\t\t&.ui-sortable-placeholder {\n\t\t\t\n\t\t\t.margin {\n\t\t\t\tbackground: #F1F1F1;\n\t\t\t\tborder: none;\n\t\t\t\t\n\t\t\t\t* {\n\t\t\t\t\tdisplay: none !important;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* active */\n\t\t&.active {\n\t\t\t\n\t\t\t.margin {\n\t\t\t\tbox-shadow: 0 0 0 1px #FFFFFF, 0 0 0 5px #0073aa;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* icon */\n\t\t&.-icon {\n\t\t\t\n\t\t\t.thumbnail img {\n\t\t\t\ttransform: translate(-50%, -70%);\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* rtl */\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tfloat: right;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t\n\t&.sidebar-open {\n\t\t\n\t\t/* hide attachment actions when sidebar is open */\n\t\t.acf-gallery-attachment .actions {\n\t\t\tdisplay: none;\n\t\t}\n\t\t\n\t\t\n\t\t/* allow sidebar to move over main for small widths (widget edit box) */\n\t\t.acf-gallery-side {\n\t\t\tz-index: 2;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* toolbar */\n\t.acf-gallery-toolbar {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\tpadding: 10px;\n\t\tborder-top: $wp-card-border-1 solid 1px;\n\t\tbackground: #fff;\n\t\tmin-height: 28px;\n\t\t\n\t\t.acf-hl li {\n\t\t\tline-height: 24px;\n\t\t}\n\t\t\n\t\t.bulk-actions-select {\n\t\t\twidth: auto;\n\t\t\tmargin: 0 1px 0 0;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* sidebar */\n\t.acf-gallery-side {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\twidth: 0;\n\t\t\n\t\tbackground: #F9F9F9;\n\t\tborder-left: $wp-card-border solid 1px;\n\t\t\n\t\tz-index: 1;\n\t\toverflow: hidden;\n\t\t\n\t\t.acf-gallery-side-inner {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tbottom: 0;\n\t\t\twidth: 349px;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* side info */\n\t.acf-gallery-side-info {\n\t\t@include clearfix();\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\tpadding: 10px;\n\t\tmargin: -10px 0 15px -10px;\n\t\tbackground: #F1F1F1;\n\t\tborder-bottom: #DFDFDF solid 1px;\n\t\t\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tmargin-left: 0;\n\t\t\tmargin-right: -10px;\n\t\t}\n\t\n\t\timg {\n\t\t\tfloat: left;\n\t\t\twidth: auto;\n\t\t\tmax-width: 65px;\n\t\t\tmax-height: 65px;\n\t\t\tmargin: 0 10px 1px 0;\n\t\t\tbackground: #FFFFFF;\n\t\t\tpadding: 3px;\n\t\t\tborder: $wp-card-border solid 1px;\n\t\t\tborder-radius: 1px;\n\t\t\t\n\t\t\t/* rtl */\n\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\tfloat: right;\n\t\t\t\tmargin: 0 0 0 10px;\n\t\t\t}\n\t\t}\n\t\t\t\t\n\t\tp {\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 15px;\n\t\t\tmargin: 3px 0;\n\t\t\tword-break: break-all;\n\t\t\tcolor: #666;\n\t\t\t\n\t\t\tstrong {\n\t\t\t\tcolor: #000;\n\t\t\t}\n\t\t}\n\t\t\n\t\ta {\n\t\t\ttext-decoration: none;\n\t\t\t\n\t\t\t&.acf-gallery-edit {\n\t\t\t\tcolor: #21759b;\n\t\t\t}\n\t\t\t\n\t\t\t&.acf-gallery-remove {\n\t\t\t\tcolor: #bc0b0b;\n\t\t\t}\n\t\t\t\n\t\t\t&:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* side data */\n\t.acf-gallery-side-data {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 48px;\n\t\tleft: 0;\n\t\toverflow: auto;\n\t\toverflow-x: inherit;\n\t\tpadding: 10px;\n\t\n\t\t\n\t\t.acf-label,\n\t\tth.label {\n\t\t\tcolor: #666666;\n\t\t\tfont-size: 12px;\n\t\t\tline-height: 25px;\n\t\t\tpadding: 0 4px 8px 0 !important;\n\t\t\twidth: auto !important;\n\t\t\tvertical-align: top;\n\t\t\t\n\t\t\thtml[dir=\"rtl\"] & { \n\t\t\t\tpadding: 0 0 8px 4px !important;\n\t\t\t}\n\t\t\t\n\t\t\tlabel {\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t}\n\t\t\t\t\n\t\t.acf-input,\n\t\ttd.field {\n\t\t\tpadding: 0 0 8px !important;\n\t\t}\n\t\t\n\t\ttextarea {\n\t\t\tmin-height: 0;\n\t\t\theight: 60px;\n\t\t}\n\t\t\n\t\tp.help {\n\t\t\tfont-size: 12px;\n\t\t\t\n\t\t\t&:hover {\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t}\n\t\n\t}\n\t\n\t\n\t/* column widths */\n\t&[data-columns=\"1\"] .acf-gallery-attachment { width: 100%; }\n\t&[data-columns=\"2\"] .acf-gallery-attachment { width: 50%; }\n\t&[data-columns=\"3\"] .acf-gallery-attachment { width: 33.333%; }\n\t&[data-columns=\"4\"] .acf-gallery-attachment { width: 25%; }\n\t&[data-columns=\"5\"] .acf-gallery-attachment { width: 20%; }\n\t&[data-columns=\"6\"] .acf-gallery-attachment { width: 16.666%; }\n\t&[data-columns=\"7\"] .acf-gallery-attachment { width: 14.285%; }\n\t&[data-columns=\"8\"] .acf-gallery-attachment { width: 12.5%; }\n\t\n\t\n\t/* resizable */\n\t.ui-resizable-handle {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t}\n\t\n\t.ui-resizable-s {\n\t\tbottom: -5px;\n\t\tcursor: ns-resize;\n\t\theight: 7px;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t}\n\n}\n\n\n\n/* media modal selected */\n.acf-media-modal .attachment.acf-selected {\n\tbox-shadow: 0 0 0 3px #fff inset, 0 0 0 7px #0073aa inset !important;\n\t\n\t.check {\n\t\tdisplay: none !important;\n\t}\n\t\n\t.thumbnail {\n\t\topacity: 0.25 !important;\n\t}\n\t\t\n\t.attachment-preview:before {\n\t\tbackground: rgba(0,0,0,0.15);\n\t\tz-index: 1;\n\t\tposition: relative;\n\t}\n\n}\n","/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n/* colors */\n/* acf-field */\n/* responsive */\n/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n* Repeater\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-repeater {\n /* table */\n /* row handle (add/remove) */\n /* add in spacer to th (force correct width) */\n /* row */\n /* sortable */\n /* layouts */\n /*\n \t&.-row > table > tbody > tr:before,\n \t&.-block > table > tbody > tr:before {\n \t\tcontent: \"\";\n \t\tdisplay: table-row;\n \t\theight: 2px;\n \t\tbackground: #f00;\n \t}\n */\n /* empty */\n /* collapsed */\n /* collapsed (block layout) */\n /* collapsed (table layout) */\n}\n.acf-repeater > table {\n margin: 0 0 8px;\n background: #F9F9F9;\n}\n.acf-repeater .acf-row-handle {\n width: 16px;\n text-align: center !important;\n vertical-align: middle !important;\n position: relative;\n /* icons */\n /* .order */\n /* remove */\n}\n.acf-repeater .acf-row-handle .acf-icon {\n display: none;\n position: absolute;\n top: 0;\n margin: -8px 0 0 -2px;\n /* minus icon */\n}\n.acf-repeater .acf-row-handle .acf-icon.-minus {\n top: 50%;\n /* ie fix */\n}\nbody.browser-msie .acf-repeater .acf-row-handle .acf-icon.-minus {\n top: 25px;\n}\n.acf-repeater .acf-row-handle.order {\n background: #f4f4f4;\n cursor: move;\n color: #aaa;\n text-shadow: #fff 0 1px 0;\n}\n.acf-repeater .acf-row-handle.order:hover {\n color: #666;\n}\n.acf-repeater .acf-row-handle.order + td {\n border-left-color: #DFDFDF;\n}\n.acf-repeater .acf-row-handle.remove {\n background: #F9F9F9;\n border-left-color: #DFDFDF;\n}\n.acf-repeater th.acf-row-handle:before {\n content: \"\";\n width: 16px;\n display: block;\n height: 1px;\n}\n.acf-repeater .acf-row {\n /* hide clone */\n /* hover */\n}\n.acf-repeater .acf-row.acf-clone {\n display: none !important;\n}\n.acf-repeater .acf-row:hover, .acf-repeater .acf-row.-hover {\n /* icons */\n}\n.acf-repeater .acf-row:hover > .acf-row-handle .acf-icon, .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon {\n display: block;\n}\n.acf-repeater .acf-row:hover > .acf-row-handle .acf-icon.show-on-shift, .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon.show-on-shift {\n display: none;\n}\nbody.acf-keydown-shift .acf-repeater .acf-row:hover > .acf-row-handle .acf-icon.show-on-shift, body.acf-keydown-shift .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon.show-on-shift {\n display: block;\n}\nbody.acf-keydown-shift .acf-repeater .acf-row:hover > .acf-row-handle .acf-icon.hide-on-shift, body.acf-keydown-shift .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon.hide-on-shift {\n display: none;\n}\n.acf-repeater > table > tbody > tr.ui-sortable-helper {\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);\n}\n.acf-repeater > table > tbody > tr.ui-sortable-placeholder {\n visibility: visible !important;\n}\n.acf-repeater > table > tbody > tr.ui-sortable-placeholder td {\n background: #F9F9F9;\n}\n.acf-repeater.-row > table > tbody > tr > td, .acf-repeater.-block > table > tbody > tr > td {\n border-top-color: #E1E1E1;\n}\n.acf-repeater.-empty > table > thead > tr > th {\n border-bottom: 0 none;\n}\n.acf-repeater.-empty.-row > table, .acf-repeater.-empty.-block > table {\n display: none;\n}\n.acf-repeater .acf-row.-collapsed > .acf-field {\n display: none !important;\n}\n.acf-repeater .acf-row.-collapsed > td.acf-field.-collapsed-target {\n display: table-cell !important;\n}\n.acf-repeater .acf-row.-collapsed > .acf-fields > * {\n display: none !important;\n}\n.acf-repeater .acf-row.-collapsed > .acf-fields > .acf-field.-collapsed-target {\n display: block !important;\n}\n.acf-repeater .acf-row.-collapsed > .acf-fields > .acf-field.-collapsed-target[data-width] {\n float: none !important;\n width: auto !important;\n}\n.acf-repeater.-table .acf-row.-collapsed .acf-field.-collapsed-target {\n border-left-color: #dfdfdf;\n}\n.acf-repeater.-max .acf-icon[data-event=add-row] {\n display: none !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Flexible Content\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-flexible-content {\n position: relative;\n}\n.acf-flexible-content > .clones {\n display: none;\n}\n.acf-flexible-content > .values {\n margin: 0 0 8px;\n}\n.acf-flexible-content > .values > .ui-sortable-placeholder {\n visibility: visible !important;\n border: 1px dashed #b4b9be;\n box-shadow: none;\n background: transparent;\n}\n.acf-flexible-content .layout {\n position: relative;\n margin: 20px 0 0;\n background: #fff;\n border: 1px solid #ccd0d4;\n}\n.acf-flexible-content .layout:first-child {\n margin-top: 0;\n}\n.acf-flexible-content .layout .acf-fc-layout-handle {\n display: block;\n position: relative;\n padding: 8px 10px;\n cursor: move;\n border-bottom: #ccd0d4 solid 1px;\n color: #444;\n font-size: 14px;\n line-height: 1.4em;\n}\n.acf-flexible-content .layout .acf-fc-layout-order {\n display: block;\n width: 20px;\n height: 20px;\n border-radius: 10px;\n display: inline-block;\n text-align: center;\n line-height: 20px;\n margin: 0 2px 0 0;\n background: #F1F1F1;\n font-size: 12px;\n color: #444;\n}\nhtml[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-order {\n float: right;\n margin-right: 0;\n margin-left: 5px;\n}\n.acf-flexible-content .layout .acf-fc-layout-controls {\n position: absolute;\n top: 8px;\n right: 8px;\n}\n.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon {\n display: block;\n float: left;\n margin: 0 0 0 5px;\n}\n.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-plus, .acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-minus, .acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-duplicate {\n visibility: hidden;\n}\nhtml[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-controls {\n right: auto;\n left: 9px;\n}\n.acf-flexible-content .layout.is-selected {\n border-color: #7e8993;\n}\n.acf-flexible-content .layout.is-selected .acf-fc-layout-handle {\n border-color: #7e8993;\n}\n.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-plus, .acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-minus, .acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-duplicate, .acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-plus, .acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-minus, .acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-duplicate {\n visibility: visible;\n}\n.acf-flexible-content .layout.-collapsed > .acf-fc-layout-handle {\n border-bottom-width: 0;\n}\n.acf-flexible-content .layout.-collapsed > .acf-fields,\n.acf-flexible-content .layout.-collapsed > .acf-table {\n display: none;\n}\n.acf-flexible-content .layout > .acf-table {\n border: 0 none;\n box-shadow: none;\n}\n.acf-flexible-content .layout > .acf-table > tbody > tr {\n background: #fff;\n}\n.acf-flexible-content .layout > .acf-table > thead > tr > th {\n background: #F9F9F9;\n}\n.acf-flexible-content .no-value-message {\n padding: 19px;\n border: #ccc dashed 2px;\n text-align: center;\n display: none;\n}\n.acf-flexible-content.-empty > .no-value-message {\n display: block;\n}\n\n.acf-fc-popup {\n padding: 5px 0;\n z-index: 900001;\n min-width: 135px;\n}\n.acf-fc-popup ul, .acf-fc-popup li {\n list-style: none;\n display: block;\n margin: 0;\n padding: 0;\n}\n.acf-fc-popup li {\n position: relative;\n float: none;\n white-space: nowrap;\n}\n.acf-fc-popup .badge {\n display: inline-block;\n border-radius: 8px;\n font-size: 9px;\n line-height: 15px;\n padding: 0 5px;\n background: #d54e21;\n text-align: center;\n color: #fff;\n vertical-align: top;\n margin: 0 0 0 5px;\n}\n.acf-fc-popup a {\n color: #eee;\n padding: 5px 10px;\n display: block;\n text-decoration: none;\n position: relative;\n}\n.acf-fc-popup a:hover {\n background: #0073aa;\n color: #fff;\n}\n.acf-fc-popup a.disabled {\n color: #888;\n background: transparent;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Galery\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-gallery {\n border: #ccd0d4 solid 1px;\n height: 400px;\n position: relative;\n /* main */\n /* attachments */\n /* attachment */\n /* toolbar */\n /* sidebar */\n /* side info */\n /* side data */\n /* column widths */\n /* resizable */\n}\n.acf-gallery .acf-gallery-main {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: #fff;\n z-index: 2;\n}\n.acf-gallery .acf-gallery-attachments {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 48px;\n left: 0;\n padding: 5px;\n overflow: auto;\n overflow-x: hidden;\n}\n.acf-gallery .acf-gallery-attachment {\n width: 25%;\n float: left;\n cursor: pointer;\n position: relative;\n /* hover */\n /* sortable */\n /* active */\n /* icon */\n /* rtl */\n}\n.acf-gallery .acf-gallery-attachment .margin {\n margin: 5px;\n border: #d5d9dd solid 1px;\n position: relative;\n overflow: hidden;\n background: #eee;\n}\n.acf-gallery .acf-gallery-attachment .margin:before {\n content: \"\";\n display: block;\n padding-top: 100%;\n}\n.acf-gallery .acf-gallery-attachment .thumbnail {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transform: translate(50%, 50%);\n}\nhtml[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail {\n transform: translate(-50%, 50%);\n}\n.acf-gallery .acf-gallery-attachment .thumbnail img {\n display: block;\n height: auto;\n max-height: 100%;\n width: auto;\n transform: translate(-50%, -50%);\n}\nhtml[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail img {\n transform: translate(50%, -50%);\n}\n.acf-gallery .acf-gallery-attachment .filename {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n padding: 5%;\n background: #F4F4F4;\n background: rgba(255, 255, 255, 0.8);\n border-top: #DFDFDF solid 1px;\n font-weight: bold;\n text-align: center;\n word-wrap: break-word;\n max-height: 90%;\n overflow: hidden;\n}\n.acf-gallery .acf-gallery-attachment .actions {\n position: absolute;\n top: 0;\n right: 0;\n display: none;\n}\n.acf-gallery .acf-gallery-attachment:hover .actions {\n display: block;\n}\n.acf-gallery .acf-gallery-attachment.ui-sortable-helper .margin {\n border: none;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);\n}\n.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin {\n background: #F1F1F1;\n border: none;\n}\n.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin * {\n display: none !important;\n}\n.acf-gallery .acf-gallery-attachment.active .margin {\n box-shadow: 0 0 0 1px #FFFFFF, 0 0 0 5px #0073aa;\n}\n.acf-gallery .acf-gallery-attachment.-icon .thumbnail img {\n transform: translate(-50%, -70%);\n}\nhtml[dir=rtl] .acf-gallery .acf-gallery-attachment {\n float: right;\n}\n.acf-gallery.sidebar-open {\n /* hide attachment actions when sidebar is open */\n /* allow sidebar to move over main for small widths (widget edit box) */\n}\n.acf-gallery.sidebar-open .acf-gallery-attachment .actions {\n display: none;\n}\n.acf-gallery.sidebar-open .acf-gallery-side {\n z-index: 2;\n}\n.acf-gallery .acf-gallery-toolbar {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 10px;\n border-top: #d5d9dd solid 1px;\n background: #fff;\n min-height: 28px;\n}\n.acf-gallery .acf-gallery-toolbar .acf-hl li {\n line-height: 24px;\n}\n.acf-gallery .acf-gallery-toolbar .bulk-actions-select {\n width: auto;\n margin: 0 1px 0 0;\n}\n.acf-gallery .acf-gallery-side {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 0;\n background: #F9F9F9;\n border-left: #ccd0d4 solid 1px;\n z-index: 1;\n overflow: hidden;\n}\n.acf-gallery .acf-gallery-side .acf-gallery-side-inner {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 349px;\n}\n.acf-gallery .acf-gallery-side-info {\n position: relative;\n width: 100%;\n padding: 10px;\n margin: -10px 0 15px -10px;\n background: #F1F1F1;\n border-bottom: #DFDFDF solid 1px;\n}\n.acf-gallery .acf-gallery-side-info:after {\n display: block;\n clear: both;\n content: \"\";\n}\nhtml[dir=rtl] .acf-gallery .acf-gallery-side-info {\n margin-left: 0;\n margin-right: -10px;\n}\n.acf-gallery .acf-gallery-side-info img {\n float: left;\n width: auto;\n max-width: 65px;\n max-height: 65px;\n margin: 0 10px 1px 0;\n background: #FFFFFF;\n padding: 3px;\n border: #ccd0d4 solid 1px;\n border-radius: 1px;\n /* rtl */\n}\nhtml[dir=rtl] .acf-gallery .acf-gallery-side-info img {\n float: right;\n margin: 0 0 0 10px;\n}\n.acf-gallery .acf-gallery-side-info p {\n font-size: 13px;\n line-height: 15px;\n margin: 3px 0;\n word-break: break-all;\n color: #666;\n}\n.acf-gallery .acf-gallery-side-info p strong {\n color: #000;\n}\n.acf-gallery .acf-gallery-side-info a {\n text-decoration: none;\n}\n.acf-gallery .acf-gallery-side-info a.acf-gallery-edit {\n color: #21759b;\n}\n.acf-gallery .acf-gallery-side-info a.acf-gallery-remove {\n color: #bc0b0b;\n}\n.acf-gallery .acf-gallery-side-info a:hover {\n text-decoration: underline;\n}\n.acf-gallery .acf-gallery-side-data {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 48px;\n left: 0;\n overflow: auto;\n overflow-x: inherit;\n padding: 10px;\n}\n.acf-gallery .acf-gallery-side-data .acf-label,\n.acf-gallery .acf-gallery-side-data th.label {\n color: #666666;\n font-size: 12px;\n line-height: 25px;\n padding: 0 4px 8px 0 !important;\n width: auto !important;\n vertical-align: top;\n}\nhtml[dir=rtl] .acf-gallery .acf-gallery-side-data .acf-label,\nhtml[dir=rtl] .acf-gallery .acf-gallery-side-data th.label {\n padding: 0 0 8px 4px !important;\n}\n.acf-gallery .acf-gallery-side-data .acf-label label,\n.acf-gallery .acf-gallery-side-data th.label label {\n font-weight: normal;\n}\n.acf-gallery .acf-gallery-side-data .acf-input,\n.acf-gallery .acf-gallery-side-data td.field {\n padding: 0 0 8px !important;\n}\n.acf-gallery .acf-gallery-side-data textarea {\n min-height: 0;\n height: 60px;\n}\n.acf-gallery .acf-gallery-side-data p.help {\n font-size: 12px;\n}\n.acf-gallery .acf-gallery-side-data p.help:hover {\n font-weight: normal;\n}\n.acf-gallery[data-columns=\"1\"] .acf-gallery-attachment {\n width: 100%;\n}\n.acf-gallery[data-columns=\"2\"] .acf-gallery-attachment {\n width: 50%;\n}\n.acf-gallery[data-columns=\"3\"] .acf-gallery-attachment {\n width: 33.333%;\n}\n.acf-gallery[data-columns=\"4\"] .acf-gallery-attachment {\n width: 25%;\n}\n.acf-gallery[data-columns=\"5\"] .acf-gallery-attachment {\n width: 20%;\n}\n.acf-gallery[data-columns=\"6\"] .acf-gallery-attachment {\n width: 16.666%;\n}\n.acf-gallery[data-columns=\"7\"] .acf-gallery-attachment {\n width: 14.285%;\n}\n.acf-gallery[data-columns=\"8\"] .acf-gallery-attachment {\n width: 12.5%;\n}\n.acf-gallery .ui-resizable-handle {\n display: block;\n position: absolute;\n}\n.acf-gallery .ui-resizable-s {\n bottom: -5px;\n cursor: ns-resize;\n height: 7px;\n left: 0;\n width: 100%;\n}\n\n/* media modal selected */\n.acf-media-modal .attachment.acf-selected {\n box-shadow: 0 0 0 3px #fff inset, 0 0 0 7px #0073aa inset !important;\n}\n.acf-media-modal .attachment.acf-selected .check {\n display: none !important;\n}\n.acf-media-modal .attachment.acf-selected .thumbnail {\n opacity: 0.25 !important;\n}\n.acf-media-modal .attachment.acf-selected .attachment-preview:before {\n background: rgba(0, 0, 0, 0.15);\n z-index: 1;\n position: relative;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tACF Blocks\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-block-component .components-placeholder {\n margin: 0;\n}\n\n.acf-block-component .acf-block-fields {\n background: #fff;\n text-align: left;\n font-size: 13px;\n line-height: 1.4em;\n color: #444;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n}\nhtml[dir=rtl] .acf-block-component .acf-block-fields {\n text-align: right;\n}\n.acf-block-component .acf-block-fields p {\n font-size: 13px;\n line-height: 1.5;\n}\n\n.acf-block-body .acf-block-fields {\n border: #adb2ad solid 1px;\n}\n.acf-block-body .acf-block-fields .acf-tab-wrap .acf-tab-group {\n margin-left: 0;\n padding: 16px 20px 0;\n}\n.acf-block-body .acf-fields > .acf-field {\n padding: 16px 20px;\n}\n.acf-block-body .acf-fields > .acf-field.acf-accordion {\n border-color: #adb2ad;\n}\n.acf-block-body .acf-fields > .acf-field.acf-accordion .acf-accordion-title {\n padding: 16px 20px;\n}\n.acf-block-body .acf-block-preview {\n min-height: 10px;\n}\n\n.acf-block-panel .acf-block-fields {\n border-top: #e2e4e7 solid 1px;\n min-height: 1px;\n}\n.acf-block-panel .acf-block-fields:empty {\n border-top: none;\n}\n.acf-block-panel .acf-block-fields .acf-tab-wrap {\n background: transparent;\n}\n\n.components-panel__body .acf-block-panel {\n margin: 16px -16px -16px;\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tACF Blocks\n*\n*--------------------------------------------------------------------------------------------*/\n\n// All block components.\n.acf-block-component {\n\t.components-placeholder {\n\t\tmargin: 0;\n\t}\n}\n\n// Block fields\n.acf-block-component .acf-block-fields {\n\t\n\t// Ensure white background behind fields.\n\tbackground: #fff;\n\t\n\t// Generic body styles\n\ttext-align: left;\n\tfont-size: 13px;\n\tline-height: 1.4em;\n\tcolor: #444;\n\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t}\n\t\n\tp {\n\t\tfont-size: 13px;\n\t\tline-height: 1.5;\n\t}\n}\n\n// Block body.\n.acf-block-body {\n\t\n\t// Fields wrapper.\n\t.acf-block-fields {\n\t\tborder: #adb2ad solid 1px;\n\t\t\n\t\t// Tab\n\t\t.acf-tab-wrap {\n\t\t\t.acf-tab-group {\n\t\t\t\tmargin-left: 0;\n\t\t\t\tpadding: 16px 20px 0;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Block fields (div). \n\t.acf-fields > .acf-field {\n\t\tpadding: 16px 20px;\n\t\t\n\t\t// Accordions.\n\t\t&.acf-accordion {\n\t\t\tborder-color: #adb2ad;\n\t\t\t\n\t\t\t.acf-accordion-title {\n\t\t\t\tpadding: 16px 20px;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Preview.\n\t.acf-block-preview {\n\t\tmin-height: 10px;\n\t}\n}\n\n// Block panel.\n.acf-block-panel {\n\t\n\t// Fields wrapper.\n\t.acf-block-fields {\n\t\tborder-top: #e2e4e7 solid 1px;\n\t\tmin-height: 1px;\n\t\t&:empty {\n\t\t\tborder-top: none;\n\t\t}\n\t\n\t\t// Tab\n\t\t.acf-tab-wrap {\n\t\t\tbackground: transparent;\n\t\t}\n\t}\n}\n\n// Add compatibility for WP 5.3 and older.\n// - Sidebar area is wrapped in a PanelBody element.\n.components-panel__body .acf-block-panel {\n\tmargin: 16px -16px -16px;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/assets/build/css/pro/acf-pro-input.min.css b/assets/build/css/pro/acf-pro-input.min.css index fdedb20..8931a44 100644 --- a/assets/build/css/pro/acf-pro-input.min.css +++ b/assets/build/css/pro/acf-pro-input.min.css @@ -1 +1 @@ -.acf-repeater>table{margin:0 0 8px;background:#f9f9f9}.acf-repeater .acf-row-handle{width:16px;text-align:center!important;vertical-align:middle!important;position:relative}.acf-repeater .acf-row-handle .acf-icon{display:none;position:absolute;top:0;margin:-8px 0 0 -2px}.acf-repeater .acf-row-handle .acf-icon.-minus{top:50%}body.browser-msie .acf-repeater .acf-row-handle .acf-icon.-minus{top:25px}.acf-repeater .acf-row-handle.order{background:#f4f4f4;cursor:move;color:#aaa;text-shadow:#fff 0 1px 0}.acf-repeater .acf-row-handle.order:hover{color:#666}.acf-repeater .acf-row-handle.order+td{border-left-color:#dfdfdf}.acf-repeater .acf-row-handle.remove{background:#f9f9f9;border-left-color:#dfdfdf}.acf-repeater th.acf-row-handle:before{content:"";width:16px;display:block;height:1px}.acf-repeater .acf-row.acf-clone{display:none!important}.acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon,.acf-repeater .acf-row:hover>.acf-row-handle .acf-icon{display:block}.acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon.show-on-shift,.acf-repeater .acf-row:hover>.acf-row-handle .acf-icon.show-on-shift{display:none}body.acf-keydown-shift .acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon.show-on-shift,body.acf-keydown-shift .acf-repeater .acf-row:hover>.acf-row-handle .acf-icon.show-on-shift{display:block}body.acf-keydown-shift .acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon.hide-on-shift,body.acf-keydown-shift .acf-repeater .acf-row:hover>.acf-row-handle .acf-icon.hide-on-shift{display:none}.acf-repeater>table>tbody>tr.ui-sortable-helper{box-shadow:0 1px 5px rgba(0,0,0,.2)}.acf-repeater>table>tbody>tr.ui-sortable-placeholder{visibility:visible!important}.acf-repeater>table>tbody>tr.ui-sortable-placeholder td{background:#f9f9f9}.acf-repeater.-block>table>tbody>tr>td,.acf-repeater.-row>table>tbody>tr>td{border-top-color:#e1e1e1}.acf-repeater.-empty>table>thead>tr>th{border-bottom:0 none}.acf-repeater.-empty.-block>table,.acf-repeater.-empty.-row>table{display:none}.acf-repeater .acf-row.-collapsed>.acf-field{display:none!important}.acf-repeater .acf-row.-collapsed>td.acf-field.-collapsed-target{display:table-cell!important}.acf-repeater .acf-row.-collapsed>.acf-fields>*{display:none!important}.acf-repeater .acf-row.-collapsed>.acf-fields>.acf-field.-collapsed-target{display:block!important}.acf-repeater .acf-row.-collapsed>.acf-fields>.acf-field.-collapsed-target[data-width]{float:none!important;width:auto!important}.acf-repeater.-table .acf-row.-collapsed .acf-field.-collapsed-target{border-left-color:#dfdfdf}.acf-repeater.-max .acf-icon[data-event=add-row]{display:none!important}.acf-flexible-content{position:relative}.acf-flexible-content>.clones{display:none}.acf-flexible-content>.values{margin:0 0 8px}.acf-flexible-content>.values>.ui-sortable-placeholder{visibility:visible!important;border:1px dashed #b4b9be;box-shadow:none;background:0 0}.acf-flexible-content .layout{position:relative;margin:20px 0 0;background:#fff;border:1px solid #ccd0d4}.acf-flexible-content .layout:first-child{margin-top:0}.acf-flexible-content .layout .acf-fc-layout-handle{display:block;position:relative;padding:8px 10px;cursor:move;border-bottom:#ccd0d4 solid 1px;color:#444;font-size:14px;line-height:1.4em}.acf-flexible-content .layout .acf-fc-layout-order{display:block;width:20px;height:20px;border-radius:10px;display:inline-block;text-align:center;line-height:20px;margin:0 2px 0 0;background:#f1f1f1;font-size:12px;color:#444}html[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-order{float:right;margin-right:0;margin-left:5px}.acf-flexible-content .layout .acf-fc-layout-controls{position:absolute;top:8px;right:8px}.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon{display:block;float:left;margin:0 0 0 5px}.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-duplicate,.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-plus{visibility:hidden}html[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-controls{right:auto;left:9px}.acf-flexible-content .layout.is-selected{border-color:#7e8993}.acf-flexible-content .layout.is-selected .acf-fc-layout-handle{border-color:#7e8993}.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-duplicate,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-plus,.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-duplicate,.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-plus{visibility:visible}.acf-flexible-content .layout.-collapsed>.acf-fc-layout-handle{border-bottom-width:0}.acf-flexible-content .layout.-collapsed>.acf-fields,.acf-flexible-content .layout.-collapsed>.acf-table{display:none}.acf-flexible-content .layout>.acf-table{border:0 none;box-shadow:none}.acf-flexible-content .layout>.acf-table>tbody>tr{background:#fff}.acf-flexible-content .layout>.acf-table>thead>tr>th{background:#f9f9f9}.acf-flexible-content .no-value-message{padding:19px;border:#ccc dashed 2px;text-align:center;display:none}.acf-flexible-content.-empty>.no-value-message{display:block}.acf-fc-popup{padding:5px 0;z-index:900001;min-width:135px}.acf-fc-popup li,.acf-fc-popup ul{list-style:none;display:block;margin:0;padding:0}.acf-fc-popup li{position:relative;float:none;white-space:nowrap}.acf-fc-popup .badge{display:inline-block;border-radius:8px;font-size:9px;line-height:15px;padding:0 5px;background:#d54e21;text-align:center;color:#fff;vertical-align:top;margin:0 0 0 5px}.acf-fc-popup a{color:#eee;padding:5px 10px;display:block;text-decoration:none;position:relative}.acf-fc-popup a:hover{background:#0073aa;color:#fff}.acf-fc-popup a.disabled{color:#888;background:0 0}.acf-gallery{border:#ccd0d4 solid 1px;height:400px;position:relative}.acf-gallery .acf-gallery-main{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;z-index:2}.acf-gallery .acf-gallery-attachments{position:absolute;top:0;right:0;bottom:48px;left:0;padding:5px;overflow:auto;overflow-x:hidden}.acf-gallery .acf-gallery-attachment{width:25%;float:left;cursor:pointer;position:relative}.acf-gallery .acf-gallery-attachment .margin{margin:5px;border:#d5d9dd solid 1px;position:relative;overflow:hidden;background:#eee}.acf-gallery .acf-gallery-attachment .margin:before{content:"";display:block;padding-top:100%}.acf-gallery .acf-gallery-attachment .thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;transform:translate(50%,50%)}html[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail{transform:translate(-50%,50%)}.acf-gallery .acf-gallery-attachment .thumbnail img{display:block;height:auto;max-height:100%;width:auto;transform:translate(-50%,-50%)}html[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail img{transform:translate(50%,-50%)}.acf-gallery .acf-gallery-attachment .filename{position:absolute;bottom:0;left:0;right:0;padding:5%;background:#f4f4f4;background:rgba(255,255,255,.8);border-top:#dfdfdf solid 1px;font-weight:700;text-align:center;word-wrap:break-word;max-height:90%;overflow:hidden}.acf-gallery .acf-gallery-attachment .actions{position:absolute;top:0;right:0;display:none}.acf-gallery .acf-gallery-attachment:hover .actions{display:block}.acf-gallery .acf-gallery-attachment.ui-sortable-helper .margin{border:none;box-shadow:0 1px 3px rgba(0,0,0,.3)}.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin{background:#f1f1f1;border:none}.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin *{display:none!important}.acf-gallery .acf-gallery-attachment.active .margin{box-shadow:0 0 0 1px #fff,0 0 0 5px #0073aa}.acf-gallery .acf-gallery-attachment.-icon .thumbnail img{transform:translate(-50%,-70%)}html[dir=rtl] .acf-gallery .acf-gallery-attachment{float:right}.acf-gallery.sidebar-open .acf-gallery-attachment .actions{display:none}.acf-gallery.sidebar-open .acf-gallery-side{z-index:2}.acf-gallery .acf-gallery-toolbar{position:absolute;right:0;bottom:0;left:0;padding:10px;border-top:#d5d9dd solid 1px;background:#fff;min-height:28px}.acf-gallery .acf-gallery-toolbar .acf-hl li{line-height:24px}.acf-gallery .acf-gallery-toolbar .bulk-actions-select{width:auto;margin:0 1px 0 0}.acf-gallery .acf-gallery-side{position:absolute;top:0;right:0;bottom:0;width:0;background:#f9f9f9;border-left:#ccd0d4 solid 1px;z-index:1;overflow:hidden}.acf-gallery .acf-gallery-side .acf-gallery-side-inner{position:absolute;top:0;left:0;bottom:0;width:349px}.acf-gallery .acf-gallery-side-info{position:relative;width:100%;padding:10px;margin:-10px 0 15px -10px;background:#f1f1f1;border-bottom:#dfdfdf solid 1px}.acf-gallery .acf-gallery-side-info:after{display:block;clear:both;content:""}html[dir=rtl] .acf-gallery .acf-gallery-side-info{margin-left:0;margin-right:-10px}.acf-gallery .acf-gallery-side-info img{float:left;width:auto;max-width:65px;max-height:65px;margin:0 10px 1px 0;background:#fff;padding:3px;border:#ccd0d4 solid 1px;border-radius:1px}html[dir=rtl] .acf-gallery .acf-gallery-side-info img{float:right;margin:0 0 0 10px}.acf-gallery .acf-gallery-side-info p{font-size:13px;line-height:15px;margin:3px 0;word-break:break-all;color:#666}.acf-gallery .acf-gallery-side-info p strong{color:#000}.acf-gallery .acf-gallery-side-info a{text-decoration:none}.acf-gallery .acf-gallery-side-info a.acf-gallery-edit{color:#21759b}.acf-gallery .acf-gallery-side-info a.acf-gallery-remove{color:#bc0b0b}.acf-gallery .acf-gallery-side-info a:hover{text-decoration:underline}.acf-gallery .acf-gallery-side-data{position:absolute;top:0;right:0;bottom:48px;left:0;overflow:auto;overflow-x:inherit;padding:10px}.acf-gallery .acf-gallery-side-data .acf-label,.acf-gallery .acf-gallery-side-data th.label{color:#666;font-size:12px;line-height:25px;padding:0 4px 8px 0!important;width:auto!important;vertical-align:top}html[dir=rtl] .acf-gallery .acf-gallery-side-data .acf-label,html[dir=rtl] .acf-gallery .acf-gallery-side-data th.label{padding:0 0 8px 4px!important}.acf-gallery .acf-gallery-side-data .acf-label label,.acf-gallery .acf-gallery-side-data th.label label{font-weight:400}.acf-gallery .acf-gallery-side-data .acf-input,.acf-gallery .acf-gallery-side-data td.field{padding:0 0 8px!important}.acf-gallery .acf-gallery-side-data textarea{min-height:0;height:60px}.acf-gallery .acf-gallery-side-data p.help{font-size:12px}.acf-gallery .acf-gallery-side-data p.help:hover{font-weight:400}.acf-gallery[data-columns="1"] .acf-gallery-attachment{width:100%}.acf-gallery[data-columns="2"] .acf-gallery-attachment{width:50%}.acf-gallery[data-columns="3"] .acf-gallery-attachment{width:33.333%}.acf-gallery[data-columns="4"] .acf-gallery-attachment{width:25%}.acf-gallery[data-columns="5"] .acf-gallery-attachment{width:20%}.acf-gallery[data-columns="6"] .acf-gallery-attachment{width:16.666%}.acf-gallery[data-columns="7"] .acf-gallery-attachment{width:14.285%}.acf-gallery[data-columns="8"] .acf-gallery-attachment{width:12.5%}.acf-gallery .ui-resizable-handle{display:block;position:absolute}.acf-gallery .ui-resizable-s{bottom:-5px;cursor:ns-resize;height:7px;left:0;width:100%}.acf-media-modal .attachment.acf-selected{box-shadow:0 0 0 3px #fff inset,0 0 0 7px #0073aa inset!important}.acf-media-modal .attachment.acf-selected .check{display:none!important}.acf-media-modal .attachment.acf-selected .thumbnail{opacity:.25!important}.acf-media-modal .attachment.acf-selected .attachment-preview:before{background:rgba(0,0,0,.15);z-index:1;position:relative}.acf-block-component .components-placeholder{margin:0}.acf-block-component .acf-block-fields{background:#fff;text-align:left;font-size:13px;line-height:1.4em;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}html[dir=rtl] .acf-block-component .acf-block-fields{text-align:right}.acf-block-component .acf-block-fields p{font-size:13px;line-height:1.5}.acf-block-body .acf-block-fields{border:#adb2ad solid 1px}.acf-block-body .acf-block-fields .acf-tab-wrap .acf-tab-group{margin-left:0;padding:16px 20px 0}.acf-block-body .acf-fields>.acf-field{padding:16px 20px}.acf-block-body .acf-fields>.acf-field.acf-accordion{border-color:#adb2ad}.acf-block-body .acf-fields>.acf-field.acf-accordion .acf-accordion-title{padding:16px 20px}.acf-block-body .acf-block-preview{min-height:10px}.acf-block-panel .acf-block-fields{border-top:#e2e4e7 solid 1px;min-height:1px}.acf-block-panel .acf-block-fields:empty{border-top:none}.acf-block-panel .acf-block-fields .acf-tab-wrap{background:0 0}.components-panel__body .acf-block-panel{margin:16px -16px -16px} \ No newline at end of file +.acf-repeater>table{margin:0 0 8px;background:#f9f9f9}.acf-repeater .acf-row-handle{width:16px;text-align:center !important;vertical-align:middle !important;position:relative}.acf-repeater .acf-row-handle .acf-icon{display:none;position:absolute;top:0;margin:-8px 0 0 -2px}.acf-repeater .acf-row-handle .acf-icon.-minus{top:50%}body.browser-msie .acf-repeater .acf-row-handle .acf-icon.-minus{top:25px}.acf-repeater .acf-row-handle.order{background:#f4f4f4;cursor:move;color:#aaa;text-shadow:#fff 0 1px 0}.acf-repeater .acf-row-handle.order:hover{color:#666}.acf-repeater .acf-row-handle.order+td{border-left-color:#dfdfdf}.acf-repeater .acf-row-handle.remove{background:#f9f9f9;border-left-color:#dfdfdf}.acf-repeater th.acf-row-handle:before{content:"";width:16px;display:block;height:1px}.acf-repeater .acf-row.acf-clone{display:none !important}.acf-repeater .acf-row:hover>.acf-row-handle .acf-icon,.acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon{display:block}.acf-repeater .acf-row:hover>.acf-row-handle .acf-icon.show-on-shift,.acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon.show-on-shift{display:none}body.acf-keydown-shift .acf-repeater .acf-row:hover>.acf-row-handle .acf-icon.show-on-shift,body.acf-keydown-shift .acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon.show-on-shift{display:block}body.acf-keydown-shift .acf-repeater .acf-row:hover>.acf-row-handle .acf-icon.hide-on-shift,body.acf-keydown-shift .acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon.hide-on-shift{display:none}.acf-repeater>table>tbody>tr.ui-sortable-helper{box-shadow:0 1px 5px rgba(0,0,0,.2)}.acf-repeater>table>tbody>tr.ui-sortable-placeholder{visibility:visible !important}.acf-repeater>table>tbody>tr.ui-sortable-placeholder td{background:#f9f9f9}.acf-repeater.-row>table>tbody>tr>td,.acf-repeater.-block>table>tbody>tr>td{border-top-color:#e1e1e1}.acf-repeater.-empty>table>thead>tr>th{border-bottom:0 none}.acf-repeater.-empty.-row>table,.acf-repeater.-empty.-block>table{display:none}.acf-repeater .acf-row.-collapsed>.acf-field{display:none !important}.acf-repeater .acf-row.-collapsed>td.acf-field.-collapsed-target{display:table-cell !important}.acf-repeater .acf-row.-collapsed>.acf-fields>*{display:none !important}.acf-repeater .acf-row.-collapsed>.acf-fields>.acf-field.-collapsed-target{display:block !important}.acf-repeater .acf-row.-collapsed>.acf-fields>.acf-field.-collapsed-target[data-width]{float:none !important;width:auto !important}.acf-repeater.-table .acf-row.-collapsed .acf-field.-collapsed-target{border-left-color:#dfdfdf}.acf-repeater.-max .acf-icon[data-event=add-row]{display:none !important}.acf-flexible-content{position:relative}.acf-flexible-content>.clones{display:none}.acf-flexible-content>.values{margin:0 0 8px}.acf-flexible-content>.values>.ui-sortable-placeholder{visibility:visible !important;border:1px dashed #b4b9be;box-shadow:none;background:transparent}.acf-flexible-content .layout{position:relative;margin:20px 0 0;background:#fff;border:1px solid #ccd0d4}.acf-flexible-content .layout:first-child{margin-top:0}.acf-flexible-content .layout .acf-fc-layout-handle{display:block;position:relative;padding:8px 10px;cursor:move;border-bottom:#ccd0d4 solid 1px;color:#444;font-size:14px;line-height:1.4em}.acf-flexible-content .layout .acf-fc-layout-order{display:block;width:20px;height:20px;border-radius:10px;display:inline-block;text-align:center;line-height:20px;margin:0 2px 0 0;background:#f1f1f1;font-size:12px;color:#444}html[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-order{float:right;margin-right:0;margin-left:5px}.acf-flexible-content .layout .acf-fc-layout-controls{position:absolute;top:8px;right:8px}.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon{display:block;float:left;margin:0 0 0 5px}.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-plus,.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-duplicate{visibility:hidden}html[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-controls{right:auto;left:9px}.acf-flexible-content .layout.is-selected{border-color:#7e8993}.acf-flexible-content .layout.is-selected .acf-fc-layout-handle{border-color:#7e8993}.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-plus,.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-duplicate,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-plus,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-duplicate{visibility:visible}.acf-flexible-content .layout.-collapsed>.acf-fc-layout-handle{border-bottom-width:0}.acf-flexible-content .layout.-collapsed>.acf-fields,.acf-flexible-content .layout.-collapsed>.acf-table{display:none}.acf-flexible-content .layout>.acf-table{border:0 none;box-shadow:none}.acf-flexible-content .layout>.acf-table>tbody>tr{background:#fff}.acf-flexible-content .layout>.acf-table>thead>tr>th{background:#f9f9f9}.acf-flexible-content .no-value-message{padding:19px;border:#ccc dashed 2px;text-align:center;display:none}.acf-flexible-content.-empty>.no-value-message{display:block}.acf-fc-popup{padding:5px 0;z-index:900001;min-width:135px}.acf-fc-popup ul,.acf-fc-popup li{list-style:none;display:block;margin:0;padding:0}.acf-fc-popup li{position:relative;float:none;white-space:nowrap}.acf-fc-popup .badge{display:inline-block;border-radius:8px;font-size:9px;line-height:15px;padding:0 5px;background:#d54e21;text-align:center;color:#fff;vertical-align:top;margin:0 0 0 5px}.acf-fc-popup a{color:#eee;padding:5px 10px;display:block;text-decoration:none;position:relative}.acf-fc-popup a:hover{background:#0073aa;color:#fff}.acf-fc-popup a.disabled{color:#888;background:transparent}.acf-gallery{border:#ccd0d4 solid 1px;height:400px;position:relative}.acf-gallery .acf-gallery-main{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;z-index:2}.acf-gallery .acf-gallery-attachments{position:absolute;top:0;right:0;bottom:48px;left:0;padding:5px;overflow:auto;overflow-x:hidden}.acf-gallery .acf-gallery-attachment{width:25%;float:left;cursor:pointer;position:relative}.acf-gallery .acf-gallery-attachment .margin{margin:5px;border:#d5d9dd solid 1px;position:relative;overflow:hidden;background:#eee}.acf-gallery .acf-gallery-attachment .margin:before{content:"";display:block;padding-top:100%}.acf-gallery .acf-gallery-attachment .thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;transform:translate(50%, 50%)}html[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail{transform:translate(-50%, 50%)}.acf-gallery .acf-gallery-attachment .thumbnail img{display:block;height:auto;max-height:100%;width:auto;transform:translate(-50%, -50%)}html[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail img{transform:translate(50%, -50%)}.acf-gallery .acf-gallery-attachment .filename{position:absolute;bottom:0;left:0;right:0;padding:5%;background:#f4f4f4;background:rgba(255,255,255,.8);border-top:#dfdfdf solid 1px;font-weight:bold;text-align:center;word-wrap:break-word;max-height:90%;overflow:hidden}.acf-gallery .acf-gallery-attachment .actions{position:absolute;top:0;right:0;display:none}.acf-gallery .acf-gallery-attachment:hover .actions{display:block}.acf-gallery .acf-gallery-attachment.ui-sortable-helper .margin{border:none;box-shadow:0 1px 3px rgba(0,0,0,.3)}.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin{background:#f1f1f1;border:none}.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin *{display:none !important}.acf-gallery .acf-gallery-attachment.active .margin{box-shadow:0 0 0 1px #fff,0 0 0 5px #0073aa}.acf-gallery .acf-gallery-attachment.-icon .thumbnail img{transform:translate(-50%, -70%)}html[dir=rtl] .acf-gallery .acf-gallery-attachment{float:right}.acf-gallery.sidebar-open .acf-gallery-attachment .actions{display:none}.acf-gallery.sidebar-open .acf-gallery-side{z-index:2}.acf-gallery .acf-gallery-toolbar{position:absolute;right:0;bottom:0;left:0;padding:10px;border-top:#d5d9dd solid 1px;background:#fff;min-height:28px}.acf-gallery .acf-gallery-toolbar .acf-hl li{line-height:24px}.acf-gallery .acf-gallery-toolbar .bulk-actions-select{width:auto;margin:0 1px 0 0}.acf-gallery .acf-gallery-side{position:absolute;top:0;right:0;bottom:0;width:0;background:#f9f9f9;border-left:#ccd0d4 solid 1px;z-index:1;overflow:hidden}.acf-gallery .acf-gallery-side .acf-gallery-side-inner{position:absolute;top:0;left:0;bottom:0;width:349px}.acf-gallery .acf-gallery-side-info{position:relative;width:100%;padding:10px;margin:-10px 0 15px -10px;background:#f1f1f1;border-bottom:#dfdfdf solid 1px}.acf-gallery .acf-gallery-side-info:after{display:block;clear:both;content:""}html[dir=rtl] .acf-gallery .acf-gallery-side-info{margin-left:0;margin-right:-10px}.acf-gallery .acf-gallery-side-info img{float:left;width:auto;max-width:65px;max-height:65px;margin:0 10px 1px 0;background:#fff;padding:3px;border:#ccd0d4 solid 1px;border-radius:1px}html[dir=rtl] .acf-gallery .acf-gallery-side-info img{float:right;margin:0 0 0 10px}.acf-gallery .acf-gallery-side-info p{font-size:13px;line-height:15px;margin:3px 0;word-break:break-all;color:#666}.acf-gallery .acf-gallery-side-info p strong{color:#000}.acf-gallery .acf-gallery-side-info a{text-decoration:none}.acf-gallery .acf-gallery-side-info a.acf-gallery-edit{color:#21759b}.acf-gallery .acf-gallery-side-info a.acf-gallery-remove{color:#bc0b0b}.acf-gallery .acf-gallery-side-info a:hover{text-decoration:underline}.acf-gallery .acf-gallery-side-data{position:absolute;top:0;right:0;bottom:48px;left:0;overflow:auto;overflow-x:inherit;padding:10px}.acf-gallery .acf-gallery-side-data .acf-label,.acf-gallery .acf-gallery-side-data th.label{color:#666;font-size:12px;line-height:25px;padding:0 4px 8px 0 !important;width:auto !important;vertical-align:top}html[dir=rtl] .acf-gallery .acf-gallery-side-data .acf-label,html[dir=rtl] .acf-gallery .acf-gallery-side-data th.label{padding:0 0 8px 4px !important}.acf-gallery .acf-gallery-side-data .acf-label label,.acf-gallery .acf-gallery-side-data th.label label{font-weight:normal}.acf-gallery .acf-gallery-side-data .acf-input,.acf-gallery .acf-gallery-side-data td.field{padding:0 0 8px !important}.acf-gallery .acf-gallery-side-data textarea{min-height:0;height:60px}.acf-gallery .acf-gallery-side-data p.help{font-size:12px}.acf-gallery .acf-gallery-side-data p.help:hover{font-weight:normal}.acf-gallery[data-columns="1"] .acf-gallery-attachment{width:100%}.acf-gallery[data-columns="2"] .acf-gallery-attachment{width:50%}.acf-gallery[data-columns="3"] .acf-gallery-attachment{width:33.333%}.acf-gallery[data-columns="4"] .acf-gallery-attachment{width:25%}.acf-gallery[data-columns="5"] .acf-gallery-attachment{width:20%}.acf-gallery[data-columns="6"] .acf-gallery-attachment{width:16.666%}.acf-gallery[data-columns="7"] .acf-gallery-attachment{width:14.285%}.acf-gallery[data-columns="8"] .acf-gallery-attachment{width:12.5%}.acf-gallery .ui-resizable-handle{display:block;position:absolute}.acf-gallery .ui-resizable-s{bottom:-5px;cursor:ns-resize;height:7px;left:0;width:100%}.acf-media-modal .attachment.acf-selected{box-shadow:0 0 0 3px #fff inset,0 0 0 7px #0073aa inset !important}.acf-media-modal .attachment.acf-selected .check{display:none !important}.acf-media-modal .attachment.acf-selected .thumbnail{opacity:.25 !important}.acf-media-modal .attachment.acf-selected .attachment-preview:before{background:rgba(0,0,0,.15);z-index:1;position:relative}.acf-block-component .components-placeholder{margin:0}.acf-block-component .acf-block-fields{background:#fff;text-align:left;font-size:13px;line-height:1.4em;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}html[dir=rtl] .acf-block-component .acf-block-fields{text-align:right}.acf-block-component .acf-block-fields p{font-size:13px;line-height:1.5}.acf-block-body .acf-block-fields{border:#adb2ad solid 1px}.acf-block-body .acf-block-fields .acf-tab-wrap .acf-tab-group{margin-left:0;padding:16px 20px 0}.acf-block-body .acf-fields>.acf-field{padding:16px 20px}.acf-block-body .acf-fields>.acf-field.acf-accordion{border-color:#adb2ad}.acf-block-body .acf-fields>.acf-field.acf-accordion .acf-accordion-title{padding:16px 20px}.acf-block-body .acf-block-preview{min-height:10px}.acf-block-panel .acf-block-fields{border-top:#e2e4e7 solid 1px;min-height:1px}.acf-block-panel .acf-block-fields:empty{border-top:none}.acf-block-panel .acf-block-fields .acf-tab-wrap{background:transparent}.components-panel__body .acf-block-panel{margin:16px -16px -16px} diff --git a/assets/build/js/acf-field-group.js b/assets/build/js/acf-field-group.js index 1b0c8c2..ff7922f 100644 --- a/assets/build/js/acf-field-group.js +++ b/assets/build/js/acf-field-group.js @@ -1,2581 +1,2261 @@ -(function($, undefined){ - - /** - * fieldGroupManager - * - * Generic field group functionality - * - * @date 15/12/17 - * @since 5.7.0 - * - * @param void - * @return void - */ - - var fieldGroupManager = new acf.Model({ - - id: 'fieldGroupManager', - - events: { - 'submit #post': 'onSubmit', - 'click a[href="#"]': 'onClick', - 'click .submitdelete': 'onClickTrash', - }, - - filters: { - 'find_fields_args': 'filterFindFieldArgs' - }, - - onSubmit: function( e, $el ){ - - // vars - var $title = $('#titlewrap #title'); - - // empty - if( !$title.val() ) { - - // prevent default - e.preventDefault(); - - // unlock form - acf.unlockForm( $el ); - - // alert - alert( acf.__('Field group title is required') ); - - // focus - $title.trigger('focus'); - } - }, - - onClick: function( e ){ - e.preventDefault(); - }, - - onClickTrash: function( e ){ - var result = confirm( acf.__('Move to trash. Are you sure?') ); - if( !result ) { - e.preventDefault(); - } - }, - - filterFindFieldArgs: function( args ){ - args.visible = true; - return args; - } - }); - - - /** - * screenOptionsManager - * - * Screen options functionality - * - * @date 15/12/17 - * @since 5.7.0 - * - * @param void - * @return void - */ - - var screenOptionsManager = new acf.Model({ - - id: 'screenOptionsManager', - wait: 'prepare', - - events: { - 'change': 'onChange' - }, - - initialize: function(){ - - // vars - var $div = $('#adv-settings'); - var $append = $('#acf-append-show-on-screen'); - - // append - $div.find('.metabox-prefs').append( $append.html() ); - $div.find('.metabox-prefs br').remove(); - - // clean up - $append.remove(); - - // initialize - this.$el = $('#acf-field-key-hide'); - - // render - this.render(); - }, - - isChecked: function(){ - return this.$el.prop('checked'); - }, - - onChange: function( e, $el ) { - var val = this.isChecked() ? 1 : 0; - acf.updateUserSetting('show_field_keys', val); - this.render(); - }, - - render: function(){ - if( this.isChecked() ) { - $('#acf-field-group-fields').addClass('show-field-keys'); - } else { - $('#acf-field-group-fields').removeClass('show-field-keys'); - } - } - - }); - - - /** - * appendFieldManager - * - * Appends fields together - * - * @date 15/12/17 - * @since 5.7.0 - * - * @param void - * @return void - */ - - var appendFieldManager = new acf.Model({ - - actions: { - 'new_field' : 'onNewField' - }, - - onNewField: function( field ){ - - // bail ealry if not append - if( !field.has('append') ) return; - - // vars - var append = field.get('append'); - var $sibling = field.$el.siblings('[data-name="' + append + '"]').first(); - - // bail early if no sibling - if( !$sibling.length ) return; - - // ul - var $div = $sibling.children('.acf-input'); - var $ul = $div.children('ul'); - - // create ul - if( !$ul.length ) { - $div.wrapInner(''); - $ul = $div.children('ul'); - } - - // li - var html = field.$('.acf-input').html(); - var $li = $('
  • ' + html + '
  • '); - $ul.append( $li ); - $ul.attr('data-cols', $ul.children().length ); - - // clean up - field.remove(); - } - }); - +/******/ (function() { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-compatibility.js": +/*!************************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-compatibility.js ***! + \************************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var _acf = acf.getCompatibility(acf); + /** + * fieldGroupCompatibility + * + * Compatibility layer for extinct acf.field_group + * + * @date 15/12/17 + * @since 5.7.0 + * + * @param void + * @return void + */ + + + _acf.field_group = { + save_field: function ($field, type) { + type = type !== undefined ? type : 'settings'; + acf.getFieldObject($field).save(type); + }, + delete_field: function ($field, animate) { + animate = animate !== undefined ? animate : true; + acf.getFieldObject($field).delete({ + animate: animate + }); + }, + update_field_meta: function ($field, name, value) { + acf.getFieldObject($field).prop(name, value); + }, + delete_field_meta: function ($field, name) { + acf.getFieldObject($field).prop(name, null); + } + }; + /** + * fieldGroupCompatibility.field_object + * + * Compatibility layer for extinct acf.field_group.field_object + * + * @date 15/12/17 + * @since 5.7.0 + * + * @param void + * @return void + */ + + _acf.field_group.field_object = acf.model.extend({ + // vars + type: '', + o: {}, + $field: null, + $settings: null, + tag: function (tag) { + // vars + var type = this.type; // explode, add 'field' and implode + // - open => open_field + // - change_type => change_field_type + + var tags = tag.split('_'); + tags.splice(1, 0, 'field'); + tag = tags.join('_'); // add type + + if (type) { + tag += '/type=' + type; + } // return + + + return tag; + }, + selector: function () { + // vars + var selector = '.acf-field-object'; + var type = this.type; // add type + + if (type) { + selector += '-' + type; + selector = acf.str_replace('_', '-', selector); + } // return + + + return selector; + }, + _add_action: function (name, callback) { + // vars + var model = this; // add action + + acf.add_action(this.tag(name), function ($field) { + // focus + model.set('$field', $field); // callback + + model[callback].apply(model, arguments); + }); + }, + _add_filter: function (name, callback) { + // vars + var model = this; // add action + + acf.add_filter(this.tag(name), function ($field) { + // focus + model.set('$field', $field); // callback + + model[callback].apply(model, arguments); + }); + }, + _add_event: function (name, callback) { + // vars + var model = this; + var event = name.substr(0, name.indexOf(' ')); + var selector = name.substr(name.indexOf(' ') + 1); + var context = this.selector(); // add event + + $(document).on(event, context + ' ' + selector, function (e) { + // append $el to event object + e.$el = $(this); + e.$field = e.$el.closest('.acf-field-object'); // focus + + model.set('$field', e.$field); // callback + + model[callback].apply(model, [e]); + }); + }, + _set_$field: function () { + // vars + this.o = this.$field.data(); // els + + this.$settings = this.$field.find('> .settings > table > tbody'); // focus + + this.focus(); + }, + focus: function () {// do nothing + }, + setting: function (name) { + return this.$settings.find('> .acf-field-setting-' + name); + } + }); + /* + * field + * + * This model fires actions and filters for registered fields + * + * @type function + * @date 21/02/2014 + * @since 3.5.1 + * + * @param n/a + * @return n/a + */ + + var actionManager = new acf.Model({ + actions: { + open_field_object: 'onOpenFieldObject', + close_field_object: 'onCloseFieldObject', + add_field_object: 'onAddFieldObject', + duplicate_field_object: 'onDuplicateFieldObject', + delete_field_object: 'onDeleteFieldObject', + change_field_object_type: 'onChangeFieldObjectType', + change_field_object_label: 'onChangeFieldObjectLabel', + change_field_object_name: 'onChangeFieldObjectName', + change_field_object_parent: 'onChangeFieldObjectParent', + sortstop_field_object: 'onChangeFieldObjectParent' + }, + onOpenFieldObject: function (field) { + acf.doAction('open_field', field.$el); + acf.doAction('open_field/type=' + field.get('type'), field.$el); + acf.doAction('render_field_settings', field.$el); + acf.doAction('render_field_settings/type=' + field.get('type'), field.$el); + }, + onCloseFieldObject: function (field) { + acf.doAction('close_field', field.$el); + acf.doAction('close_field/type=' + field.get('type'), field.$el); + }, + onAddFieldObject: function (field) { + acf.doAction('add_field', field.$el); + acf.doAction('add_field/type=' + field.get('type'), field.$el); + }, + onDuplicateFieldObject: function (field) { + acf.doAction('duplicate_field', field.$el); + acf.doAction('duplicate_field/type=' + field.get('type'), field.$el); + }, + onDeleteFieldObject: function (field) { + acf.doAction('delete_field', field.$el); + acf.doAction('delete_field/type=' + field.get('type'), field.$el); + }, + onChangeFieldObjectType: function (field) { + acf.doAction('change_field_type', field.$el); + acf.doAction('change_field_type/type=' + field.get('type'), field.$el); + acf.doAction('render_field_settings', field.$el); + acf.doAction('render_field_settings/type=' + field.get('type'), field.$el); + }, + onChangeFieldObjectLabel: function (field) { + acf.doAction('change_field_label', field.$el); + acf.doAction('change_field_label/type=' + field.get('type'), field.$el); + }, + onChangeFieldObjectName: function (field) { + acf.doAction('change_field_name', field.$el); + acf.doAction('change_field_name/type=' + field.get('type'), field.$el); + }, + onChangeFieldObjectParent: function (field) { + acf.doAction('update_field_parent', field.$el); + } + }); })(jQuery); -(function($, undefined){ - - acf.FieldObject = acf.Model.extend({ - - // class used to avoid nested event triggers - eventScope: '.acf-field-object', - - // events - events: { - 'click .edit-field': 'onClickEdit', - 'click .delete-field': 'onClickDelete', - 'click .duplicate-field': 'duplicate', - 'click .move-field': 'move', - - 'change .field-type': 'onChangeType', - 'change .field-required': 'onChangeRequired', - 'blur .field-label': 'onChangeLabel', - 'blur .field-name': 'onChangeName', - - 'change': 'onChange', - 'changed': 'onChanged', - }, - - // data - data: { - - // Similar to ID, but used for HTML puposes. - // It is possbile for a new field to have an ID of 0, but an id of 'field_123' */ - id: 0, - - // The field key ('field_123') - key: '', - - // The field type (text, image, etc) - type: '', - - // The $post->ID of this field - //ID: 0, - - // The field's parent - //parent: 0, - - // The menu order - //menu_order: 0 - }, - - setup: function( $field ){ - - // set $el - this.$el = $field; - - // inherit $field data (id, key, type) - this.inherit( $field ); - - // load additional props - // - this won't trigger 'changed' - this.prop('ID'); - this.prop('parent'); - this.prop('menu_order'); - }, - - $input: function( name ){ - return $('#' + this.getInputId() + '-' + name); - }, - - $meta: function(){ - return this.$('.meta:first'); - }, - - $handle: function(){ - return this.$('.handle:first'); - }, - - $settings: function(){ - return this.$('.settings:first'); - }, - - $setting: function( name ){ - return this.$('.acf-field-settings:first > .acf-field-setting-' + name); - }, - - getParent: function(){ - return acf.getFieldObjects({ child: this.$el, limit: 1 }).pop(); - }, - - getParents: function(){ - return acf.getFieldObjects({ child: this.$el }); - }, - - getFields: function(){ - return acf.getFieldObjects({ parent: this.$el }); - }, - - getInputName: function(){ - return 'acf_fields[' + this.get('id') + ']'; - }, - - getInputId: function(){ - return 'acf_fields-' + this.get('id'); - }, - - newInput: function( name, value ){ - - // vars - var inputId = this.getInputId(); - var inputName = this.getInputName(); - - // append name - if( name ) { - inputId += '-'+name; - inputName += '['+name+']'; - } - - // create input (avoid HTML + JSON value issues) - var $input = $('').attr({ - id: inputId, - name: inputName, - value: value - }); - this.$('> .meta').append( $input ); - - // return - return $input; - }, - - getProp: function( name ){ - - // check data - if( this.has(name) ) { - return this.get(name); - } - - // get input value - var $input = this.$input( name ); - var value = $input.length ? $input.val() : null; - - // set data silently (cache) - this.set(name, value, true); - - // return - return value; - }, - - setProp: function( name, value ) { - - // get input - var $input = this.$input( name ); - var prevVal = $input.val(); - - // create if new - if( !$input.length ) { - $input = this.newInput( name, value ); - } - - // remove - if( value === null ) { - $input.remove(); - - // update - } else { - $input.val( value ); - } - - //console.log('setProp', name, value, this); - - // set data silently (cache) - if( !this.has(name) ) { - //console.log('setting silently'); - this.set(name, value, true); - - // set data allowing 'change' event to fire - } else { - //console.log('setting loudly!'); - this.set(name, value); - } - - // return - return this; - - }, - - prop: function( name, value ){ - if( value !== undefined ) { - return this.setProp( name, value ); - } else { - return this.getProp( name ); - } - }, - - props: function( props ){ - Object.keys( props ).map(function( key ){ - this.setProp( key, props[key] ); - }, this); - }, - - getLabel: function(){ - - // get label with empty default - var label = this.prop('label'); - if( label === '' ) { - label = acf.__('(no label)') - } - - // return - return label; - }, - - getName: function(){ - return this.prop('name'); - }, - - getType: function(){ - return this.prop('type'); - }, - - getTypeLabel: function(){ - var type = this.prop('type'); - var types = acf.get('fieldTypes'); - return ( types[type] ) ? types[type].label : type; - }, - - getKey: function(){ - return this.prop('key'); - }, - - initialize: function(){ - this.addProFields(); - }, - addProFields: function() { - // Make sure we're only running this on free version. - if (acf.data.fieldTypes.hasOwnProperty('clone')) { - return; - } +/***/ }), - // Make sure we haven't appended these fields before. - var $fieldTypeSelect = $('.field-type').not('.acf-free-field-type'); +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-conditions.js": +/*!*********************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-conditions.js ***! + \*********************************************************************************/ +/***/ (function() { - // Append pro fields to "Layout" group. - var $layoutGroup = $fieldTypeSelect.find('optgroup option[value="group"]').parent(); - $layoutGroup.append( - '' + - '' + - '' - ); +(function ($, undefined) { + /** + * ConditionalLogicFieldSetting + * + * description + * + * @date 3/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + var ConditionalLogicFieldSetting = acf.FieldSetting.extend({ + type: '', + name: 'conditional_logic', + events: { + 'change .conditions-toggle': 'onChangeToggle', + 'click .add-conditional-group': 'onClickAddGroup', + 'focus .condition-rule-field': 'onFocusField', + 'change .condition-rule-field': 'onChangeField', + 'change .condition-rule-operator': 'onChangeOperator', + 'click .add-conditional-rule': 'onClickAdd', + 'click .remove-conditional-rule': 'onClickRemove' + }, + $rule: false, + scope: function ($rule) { + this.$rule = $rule; + return this; + }, + ruleData: function (name, value) { + return this.$rule.data.apply(this.$rule, arguments); + }, + $input: function (name) { + return this.$rule.find('.condition-rule-' + name); + }, + $td: function (name) { + return this.$rule.find('td.' + name); + }, + $toggle: function () { + return this.$('.conditions-toggle'); + }, + $control: function () { + return this.$('.rule-groups'); + }, + $groups: function () { + return this.$('.rule-group'); + }, + $rules: function () { + return this.$('.rule'); + }, + open: function () { + var $div = this.$control(); + $div.show(); + acf.enable($div); + }, + close: function () { + var $div = this.$control(); + $div.hide(); + acf.disable($div); + }, + render: function () { + // show + if (this.$toggle().prop('checked')) { + this.renderRules(); + this.open(); // hide + } else { + this.close(); + } + }, + renderRules: function () { + // vars + var self = this; // loop - // Add pro fields to "Content" group. - var $contentGroup = $fieldTypeSelect.find('optgroup option[value="image"]').parent(); - $contentGroup.append( - '' - ); + this.$rules().each(function () { + self.renderRule($(this)); + }); + }, + renderRule: function ($rule) { + this.scope($rule); + this.renderField(); + this.renderOperator(); + this.renderValue(); + }, + renderField: function () { + // vars + var choices = []; + var validFieldTypes = []; + var cid = this.fieldObject.cid; + var $select = this.$input('field'); // loop - $fieldTypeSelect.addClass('acf-free-field-type'); - }, + acf.getFieldObjects().map(function (fieldObject) { + // vars + var choice = { + id: fieldObject.getKey(), + text: fieldObject.getLabel() + }; // bail early if is self - render: function(){ - - // vars - var $handle = this.$('.handle:first'); - var menu_order = this.prop('menu_order'); - var label = this.getLabel(); - var name = this.prop('name'); - var type = this.getTypeLabel(); - var key = this.prop('key'); - var required = this.$input('required').prop('checked'); - - // update menu order - $handle.find('.acf-icon').html( parseInt(menu_order) + 1 ); - - // update required - if( required ) { - label += ' *'; - } - - // update label - $handle.find('.li-field-label strong a').html( label ); - - // update name - $handle.find('.li-field-name').text( name ); - - // update type - $handle.find('.li-field-type').text( type ); - - // update key - $handle.find('.li-field-key').text( key ); - - // action for 3rd party customization - acf.doAction('render_field_object', this); - }, - - refresh: function(){ - acf.doAction('refresh_field_object', this); - }, - - isOpen: function() { - return this.$el.hasClass('open'); - }, - - onClickEdit: function( e ){ - this.isOpen() ? this.close() : this.open(); - }, - - open: function(){ - - // vars - var $settings = this.$el.children('.settings'); - - // open - $settings.slideDown(); - this.$el.addClass('open'); - - // action (open) - acf.doAction('open_field_object', this); - this.trigger('openFieldObject'); - - // action (show) - acf.doAction('show', $settings); - }, - - close: function(){ - - // vars - var $settings = this.$el.children('.settings'); - - // close - $settings.slideUp(); - this.$el.removeClass('open'); - - // action (close) - acf.doAction('close_field_object', this); - this.trigger('closeFieldObject'); - - // action (hide) - acf.doAction('hide', $settings); - }, - - serialize: function(){ - return acf.serialize( this.$el, this.getInputName() ); - }, - - save: function( type ){ - - // defaults - type = type || 'settings'; // meta, settings - - // vars - var save = this.getProp('save'); - - // bail if already saving settings - if( save === 'settings' ) { - return; - } - - // prop - this.setProp('save', type); - - // debug - this.$el.attr('data-save', type); - - // action - acf.doAction('save_field_object', this, type); - }, - - submit: function(){ - - // vars - var inputName = this.getInputName(); - var save = this.get('save'); - - // close - if( this.isOpen() ) { - this.close(); - } - - // allow all inputs to save - if( save == 'settings' ) { - // do nothing - - // allow only meta inputs to save - } else if( save == 'meta' ) { - this.$('> .settings [name^="' + inputName + '"]').remove(); - - // prevent all inputs from saving - } else { - this.$('[name^="' + inputName + '"]').remove(); - } - - // action - acf.doAction('submit_field_object', this); - }, - - onChange: function( e, $el ){ - - // save settings - this.save(); - - // action for 3rd party customization - acf.doAction('change_field_object', this); - }, - - onChanged: function( e, $el, name, value ){ - - // ignore 'save' - if( name == 'save' ) { - return; - } - - // save meta - if( ['menu_order', 'parent'].indexOf(name) > -1 ) { - this.save('meta'); - - // save field - } else { - this.save(); - } - - // render - if( ['menu_order', 'label', 'required', 'name', 'type', 'key'].indexOf(name) > -1 ) { - this.render(); - } - - // action for 3rd party customization - acf.doAction('change_field_object_' + name, this, value); - }, - - onChangeLabel: function( e, $el ){ - - // set - var label = $el.val(); - this.set('label', label); - - // render name - if( this.prop('name') == '' ) { - var name = acf.applyFilters('generate_field_object_name', acf.strSanitize(label), this); - this.prop('name', name); - } - }, - - onChangeName: function( e, $el){ - - // set - var name = $el.val(); - this.set('name', name); - - // error - if( name.substr(0, 6) === 'field_' ) { - alert( acf.__('The string "field_" may not be used at the start of a field name') ); - } - }, - - onChangeRequired: function( e, $el ){ - - // set - var required = $el.prop('checked') ? 1 : 0; - this.set('required', required); - }, - - delete: function( args ){ - - // defaults - args = acf.parseArgs(args, { - animate: true - }); - - // add to remove list - var id = this.prop('ID'); - - if( id ) { - var $input = $('#_acf_delete_fields'); - var newVal = $input.val() + '|' + id; - $input.val( newVal ); - } - - // action - acf.doAction('delete_field_object', this); - - // animate - if( args.animate ) { - this.removeAnimate(); - } else { - this.remove(); - } - }, - - onClickDelete: function( e, $el ){ - - // Bypass confirmation when holding down "shift" key. - if( e.shiftKey ) { - return this.delete(); - } + if (fieldObject.cid === cid) { + choice.text += acf.__('(this field)'); + choice.disabled = true; + } // get selected field conditions - // add class - this.$el.addClass('-hover'); - - // add tooltip - var tooltip = acf.newTooltip({ - confirmRemove: true, - target: $el, - context: this, - confirm: function(){ - this.delete(); - }, - cancel: function(){ - this.$el.removeClass('-hover'); - } - }); - }, - - removeAnimate: function(){ - - // vars - var field = this; - var $list = this.$el.parent(); - var $fields = acf.findFieldObjects({ - sibling: this.$el - }); - - // remove - acf.remove({ - target: this.$el, - endHeight: $fields.length ? 0 : 50, - complete: function(){ - field.remove(); - acf.doAction('removed_field_object', field, $list); - } - }); - - // action - acf.doAction('remove_field_object', field, $list); - }, - - duplicate: function(){ - - // vars - var newKey = acf.uniqid('field_'); - - // duplicate - var $newField = acf.duplicate({ - target: this.$el, - search: this.get('id'), - replace: newKey, - }); - - // set new key - $newField.attr('data-key', newKey); - - // get instance - var newField = acf.getFieldObject( $newField ); - - // open / close - if( this.isOpen() ) { - this.close(); - } else { - newField.open(); - } - - // focus label - var $label = newField.$setting('label input'); - setTimeout(function(){ - $label.trigger('focus'); - }, 251); - - // update newField label / name - var label = newField.prop('label'); - var name = newField.prop('name'); - var end = name.split('_').pop(); - var copy = acf.__('copy'); - - // increase suffix "1" - if( acf.isNumeric(end) ) { - var i = (end*1) + 1; - label = label.replace( end, i ); - name = name.replace( end, i ); - - // increase suffix "(copy1)" - } else if( end.indexOf(copy) === 0 ) { - var i = end.replace(copy, '') * 1; - i = i ? i+1 : 2; - - // replace - label = label.replace( end, copy + i ); - name = name.replace( end, copy + i ); - - // add default "(copy)" - } else { - label += ' (' + copy + ')'; - name += '_' + copy; - } - - newField.prop('ID', 0); - newField.prop('label', label); - newField.prop('name', name); - newField.prop('key', newKey); - - // action - acf.doAction('duplicate_field_object', this, newField); - acf.doAction('append_field_object', newField); - }, - - wipe: function(){ - - // vars - var prevId = this.get('id'); - var prevKey = this.get('key'); - var newKey = acf.uniqid('field_'); - - // rename - acf.rename({ - target: this.$el, - search: prevId, - replace: newKey, - }); - - // data - this.set('id', newKey); - this.set('prevId', prevId); - this.set('prevKey', prevKey); - - // props - this.prop('key', newKey); - this.prop('ID', 0); - - // attr - this.$el.attr('data-key', newKey); - this.$el.attr('data-id', newKey); - - // action - acf.doAction('wipe_field_object', this); - }, - - move: function(){ - - // helper - var hasChanged = function( field ){ - return (field.get('save') == 'settings'); - }; - - // vars - var changed = hasChanged(this); - - // has sub fields changed - if( !changed ) { - acf.getFieldObjects({ - parent: this.$el - }).map(function( field ){ - changed = hasChanged(field) || field.changed; - }); - } - - // bail early if changed - if( changed ) { - alert( acf.__('This field cannot be moved until its changes have been saved') ); - return; - } - - // step 1. - var id = this.prop('ID'); - var field = this; - var popup = false; - var step1 = function(){ - - // popup - popup = acf.newPopup({ - title: acf.__('Move Custom Field'), - loading: true, - width: '300px' - }); - - // ajax - var ajaxData = { - action: 'acf/field_group/move_field', - field_id: id - }; - - // get HTML - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'html', - success: step2 - }); - }; - - var step2 = function( html ){ - - // update popup - popup.loading(false); - popup.content(html); - - // submit form - popup.on('submit', 'form', step3); - }; - - var step3 = function( e, $el ){ - - // prevent - e.preventDefault(); - - // disable - acf.startButtonLoading( popup.$('.button') ); - - // ajax - var ajaxData = { - action: 'acf/field_group/move_field', - field_id: id, - field_group_id: popup.$('select').val() - }; - - // get HTML - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'html', - success: step4 - }); - }; - - var step4 = function( html ){ - - // update popup - popup.content(html); - - // remove element - field.removeAnimate(); - }; - - // start - step1(); - - }, - - onChangeType: function( e, $el ){ - - // clea previous timout - if( this.changeTimeout ) { - clearTimeout(this.changeTimeout); - } - - // set new timeout - // - prevents changing type multiple times whilst user types in newType - this.changeTimeout = this.setTimeout(function(){ - this.changeType( $el.val() ); - }, 300); - }, - - changeType: function( newType ){ - - // vars - var prevType = this.prop('type'); - var prevClass = acf.strSlugify( 'acf-field-object-' + prevType ); - var newClass = acf.strSlugify( 'acf-field-object-' + newType ); - - // update props - this.$el.removeClass(prevClass).addClass(newClass); - this.$el.attr('data-type', newType); - this.$el.data('type', newType); - - // abort XHR if this field is already loading AJAX data - if( this.has('xhr') ) { - this.get('xhr').abort(); - } - - // store settings - var $tbody = this.$('> .settings > table > tbody'); - var $settings = $tbody.children('[data-setting="' + prevType + '"]'); - this.set( 'settings-' + prevType, $settings ); - $settings.detach(); - - // show settings - if( this.has('settings-' + newType) ) { - var $newSettings = this.get('settings-' + newType); - this.$setting('conditional_logic').before( $newSettings ); - this.set('type', newType); - //this.refresh(); - return; - } - - // load settings - var $loading = $('
    '); - this.$setting('conditional_logic').before( $loading ); - - // ajax - var ajaxData = { - action: 'acf/field_group/render_field_settings', - field: this.serialize(), - prefix: this.getInputName() - }; - - // ajax - var xhr = $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'html', - context: this, - success: function( html ){ - - // bail early if no settings - if( !html ) return; - - // append settings - $loading.after( html ); - - // events - acf.doAction('append', $tbody); - }, - complete: function(){ - // also triggered by xhr.abort(); - $loading.remove(); - this.set('type', newType); - //this.refresh(); - } - }); - - // set - this.set('xhr', xhr); - - }, - - updateParent: function(){ - - // vars - var ID = acf.get('post_id'); - - // check parent - var parent = this.getParent(); - if( parent ) { - ID = parseInt(parent.prop('ID')) || parent.prop('key'); - } - - // update - this.prop('parent', ID); - } - - }); - + + var conditionTypes = acf.getConditionTypes({ + fieldType: fieldObject.getType() + }); // bail early if no types + + if (!conditionTypes.length) { + choice.disabled = true; + } // calulate indents + + + var indents = fieldObject.getParents().length; + choice.text = '- '.repeat(indents) + choice.text; // append + + choices.push(choice); + }); // allow for scenario where only one field exists + + if (!choices.length) { + choices.push({ + id: '', + text: acf.__('No toggle fields available') + }); + } // render + + + acf.renderSelect($select, choices); // set + + this.ruleData('field', $select.val()); + }, + renderOperator: function () { + // bail early if no field selected + if (!this.ruleData('field')) { + return; + } // vars + + + var $select = this.$input('operator'); + var val = $select.val(); + var choices = []; // set saved value on first render + // - this allows the 2nd render to correctly select an option + + if ($select.val() === null) { + acf.renderSelect($select, [{ + id: this.ruleData('operator'), + text: '' + }]); + } // get selected field + + + var $field = acf.findFieldObject(this.ruleData('field')); + var field = acf.getFieldObject($field); // get selected field conditions + + var conditionTypes = acf.getConditionTypes({ + fieldType: field.getType() + }); // html + + conditionTypes.map(function (model) { + choices.push({ + id: model.prototype.operator, + text: model.prototype.label + }); + }); // render + + acf.renderSelect($select, choices); // set + + this.ruleData('operator', $select.val()); + }, + renderValue: function () { + // bail early if no field selected + if (!this.ruleData('field') || !this.ruleData('operator')) { + return; + } // vars + + + var $select = this.$input('value'); + var $td = this.$td('value'); + var val = $select.val(); // get selected field + + var $field = acf.findFieldObject(this.ruleData('field')); + var field = acf.getFieldObject($field); // get selected field conditions + + var conditionTypes = acf.getConditionTypes({ + fieldType: field.getType(), + operator: this.ruleData('operator') + }); // html + + var conditionType = conditionTypes[0].prototype; + var choices = conditionType.choices(field); // create html: array + + if (choices instanceof Array) { + var $newSelect = $(''); + acf.renderSelect($newSelect, choices); // create html: string () + } else { + var $newSelect = $(choices); + } // append + + + $select.detach(); + $td.html($newSelect); // copy attrs + // timeout needed to avoid browser bug where "disabled" attribute is not applied + + setTimeout(function () { + ['class', 'name', 'id'].map(function (attr) { + $newSelect.attr(attr, $select.attr(attr)); + }); + }, 0); // select existing value (if not a disabled input) + + if (!$newSelect.prop('disabled')) { + acf.val($newSelect, val, true); + } // set + + + this.ruleData('value', $newSelect.val()); + }, + onChangeToggle: function () { + this.render(); + }, + onClickAddGroup: function (e, $el) { + this.addGroup(); + }, + addGroup: function () { + // vars + var $group = this.$('.rule-group:last'); // duplicate + + var $group2 = acf.duplicate($group); // update h4 + + $group2.find('h4').text(acf.__('or')); // remove all tr's except the first one + + $group2.find('tr').not(':first').remove(); // save field + + this.fieldObject.save(); + }, + onFocusField: function (e, $el) { + this.renderField(); + }, + onChangeField: function (e, $el) { + // scope + this.scope($el.closest('.rule')); // set data + + this.ruleData('field', $el.val()); // render + + this.renderOperator(); + this.renderValue(); + }, + onChangeOperator: function (e, $el) { + // scope + this.scope($el.closest('.rule')); // set data + + this.ruleData('operator', $el.val()); // render + + this.renderValue(); + }, + onClickAdd: function (e, $el) { + // duplciate + var $rule = acf.duplicate($el.closest('.rule')); // render + + this.renderRule($rule); + }, + onClickRemove: function (e, $el) { + // vars + var $rule = $el.closest('.rule'); // save field + + this.fieldObject.save(); // remove group + + if ($rule.siblings('.rule').length == 0) { + $rule.closest('.rule-group').remove(); + } // remove + + + $rule.remove(); + } + }); + acf.registerFieldSetting(ConditionalLogicFieldSetting); + /** + * conditionalLogicHelper + * + * description + * + * @date 20/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var conditionalLogicHelper = new acf.Model({ + actions: { + duplicate_field_objects: 'onDuplicateFieldObjects' + }, + onDuplicateFieldObjects: function (children, newField, prevField) { + // vars + var data = {}; + var $selects = $(); // reference change in key + + children.map(function (child) { + // store reference of changed key + data[child.get('prevKey')] = child.get('key'); // append condition select + + $selects = $selects.add(child.$('.condition-rule-field')); + }); // loop + + $selects.each(function () { + // vars + var $select = $(this); + var val = $select.val(); // bail early if val is not a ref key + + if (!val || !data[val]) { + return; + } // modify selected option + + + $select.find('option:selected').attr('value', data[val]); // set new val + + $select.val(data[val]); + }); + } + }); })(jQuery); -(function($, undefined){ - - /** - * mid - * - * Calculates the model ID for a field type - * - * @date 15/12/17 - * @since 5.6.5 - * - * @param string type - * @return string - */ - - var modelId = function( type ) { - return acf.strPascalCase( type || '' ) + 'FieldSetting'; - }; - - /** - * registerFieldType - * - * description - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.registerFieldSetting = function( model ){ - var proto = model.prototype; - var mid = modelId(proto.type + ' ' + proto.name); - this.models[ mid ] = model; - }; - - /** - * newField - * - * description - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.newFieldSetting = function( field ){ - - // vars - var type = field.get('setting') || ''; - var name = field.get('name') || ''; - var mid = modelId( type + ' ' + name ); - var model = acf.models[ mid ] || null; - - // bail ealry if no setting - if( model === null ) return false; - - // instantiate - var setting = new model( field ); - - // return - return setting; - }; - - /** - * acf.getFieldSetting - * - * description - * - * @date 19/4/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getFieldSetting = function( field ) { - - // allow jQuery - if( field instanceof jQuery ) { - field = acf.getField(field); - } - - // return - return field.setting; - }; - - /** - * settingsManager - * - * description - * - * @date 6/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var settingsManager = new acf.Model({ - actions: { - 'new_field': 'onNewField' - }, - onNewField: function( field ){ - field.setting = acf.newFieldSetting( field ); - } - }); - - /** - * acf.FieldSetting - * - * description - * - * @date 6/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.FieldSetting = acf.Model.extend({ - field: false, - type: '', - name: '', - wait: 'ready', - eventScope: '.acf-field', - - events: { - 'change': 'render' - }, - - setup: function( field ){ - - // vars - var $field = field.$el; - - // set props - this.$el = $field; - this.field = field; - this.$fieldObject = $field.closest('.acf-field-object'); - this.fieldObject = acf.getFieldObject( this.$fieldObject ); - - // inherit data - $.extend(this.data, field.data); - }, - - initialize: function(){ - this.render(); - }, - - render: function(){ - // do nothing - } - }); - - /* - * Date Picker - * - * This field type requires some extra logic for its settings - * - * @type function - * @date 24/10/13 - * @since 5.0.0 - * - * @param n/a - * @return n/a - */ - - var DisplayFormatFieldSetting = acf.FieldSetting.extend({ - type: '', - name: '', - render: function(){ - var $input = this.$('input[type="radio"]:checked'); - if( $input.val() != 'other' ) { - this.$('input[type="text"]').val( $input.val() ); - } - } - }); - - var DatePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({ - type: 'date_picker', - name: 'display_format' - }); - - var DatePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({ - type: 'date_picker', - name: 'return_format' - }); - - acf.registerFieldSetting( DatePickerDisplayFormatFieldSetting ); - acf.registerFieldSetting( DatePickerReturnFormatFieldSetting ); - - /* - * Date Time Picker - * - * This field type requires some extra logic for its settings - * - * @type function - * @date 24/10/13 - * @since 5.0.0 - * - * @param n/a - * @return n/a - */ - - var DateTimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({ - type: 'date_time_picker', - name: 'display_format' - }); - - var DateTimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({ - type: 'date_time_picker', - name: 'return_format' - }); - - acf.registerFieldSetting( DateTimePickerDisplayFormatFieldSetting ); - acf.registerFieldSetting( DateTimePickerReturnFormatFieldSetting ); - - /* - * Time Picker - * - * This field type requires some extra logic for its settings - * - * @type function - * @date 24/10/13 - * @since 5.0.0 - * - * @param n/a - * @return n/a - */ - - var TimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({ - type: 'time_picker', - name: 'display_format' - }); - - var TimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({ - name: 'time_picker', - name: 'return_format' - }); - - acf.registerFieldSetting( TimePickerDisplayFormatFieldSetting ); - acf.registerFieldSetting( TimePickerReturnFormatFieldSetting ); - - /** - * Color Picker Settings. - * - * @date 16/12/20 - * @since 5.9.4 - * - * @param type $var Description. Default. - * @return type Description. - */ - var ColorPickerReturnFormat = acf.FieldSetting.extend({ - type: 'color_picker', - name: 'enable_opacity', - render: function(){ - var $return_format_setting = this.fieldObject.$setting('return_format'); - var $default_value_setting = this.fieldObject.$setting('default_value'); - var $labelText = $return_format_setting.find('input[type="radio"][value="string"]').parent('label').contents().last(); - var $defaultPlaceholder = $default_value_setting.find('input[type="text"]'); - var l10n = acf.get('colorPickerL10n'); +/***/ }), - if( this.field.val() ) { - $labelText.replaceWith( l10n.rgba_string ); - $defaultPlaceholder.attr('placeholder', 'rgba(255,255,255,0.8)'); - } else { - $labelText.replaceWith( l10n.hex_string ); - $defaultPlaceholder.attr('placeholder', '#FFFFFF'); - } - } - }); - acf.registerFieldSetting( ColorPickerReturnFormat ); - +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-field.js": +/*!****************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-field.js ***! + \****************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + acf.FieldObject = acf.Model.extend({ + // class used to avoid nested event triggers + eventScope: '.acf-field-object', + // events + events: { + 'click .edit-field': 'onClickEdit', + 'click .delete-field': 'onClickDelete', + 'click .duplicate-field': 'duplicate', + 'click .move-field': 'move', + 'change .field-type': 'onChangeType', + 'change .field-required': 'onChangeRequired', + 'blur .field-label': 'onChangeLabel', + 'blur .field-name': 'onChangeName', + change: 'onChange', + changed: 'onChanged' + }, + // data + data: { + // Similar to ID, but used for HTML puposes. + // It is possbile for a new field to have an ID of 0, but an id of 'field_123' */ + id: 0, + // The field key ('field_123') + key: '', + // The field type (text, image, etc) + type: '' // The $post->ID of this field + //ID: 0, + // The field's parent + //parent: 0, + // The menu order + //menu_order: 0 + + }, + setup: function ($field) { + // set $el + this.$el = $field; // inherit $field data (id, key, type) + + this.inherit($field); // load additional props + // - this won't trigger 'changed' + + this.prop('ID'); + this.prop('parent'); + this.prop('menu_order'); + }, + $input: function (name) { + return $('#' + this.getInputId() + '-' + name); + }, + $meta: function () { + return this.$('.meta:first'); + }, + $handle: function () { + return this.$('.handle:first'); + }, + $settings: function () { + return this.$('.settings:first'); + }, + $setting: function (name) { + return this.$('.acf-field-settings:first > .acf-field-setting-' + name); + }, + getParent: function () { + return acf.getFieldObjects({ + child: this.$el, + limit: 1 + }).pop(); + }, + getParents: function () { + return acf.getFieldObjects({ + child: this.$el + }); + }, + getFields: function () { + return acf.getFieldObjects({ + parent: this.$el + }); + }, + getInputName: function () { + return 'acf_fields[' + this.get('id') + ']'; + }, + getInputId: function () { + return 'acf_fields-' + this.get('id'); + }, + newInput: function (name, value) { + // vars + var inputId = this.getInputId(); + var inputName = this.getInputName(); // append name + + if (name) { + inputId += '-' + name; + inputName += '[' + name + ']'; + } // create input (avoid HTML + JSON value issues) + + + var $input = $('').attr({ + id: inputId, + name: inputName, + value: value + }); + this.$('> .meta').append($input); // return + + return $input; + }, + getProp: function (name) { + // check data + if (this.has(name)) { + return this.get(name); + } // get input value + + + var $input = this.$input(name); + var value = $input.length ? $input.val() : null; // set data silently (cache) + + this.set(name, value, true); // return + + return value; + }, + setProp: function (name, value) { + // get input + var $input = this.$input(name); + var prevVal = $input.val(); // create if new + + if (!$input.length) { + $input = this.newInput(name, value); + } // remove + + + if (value === null) { + $input.remove(); // update + } else { + $input.val(value); + } //console.log('setProp', name, value, this); + // set data silently (cache) + + + if (!this.has(name)) { + //console.log('setting silently'); + this.set(name, value, true); // set data allowing 'change' event to fire + } else { + //console.log('setting loudly!'); + this.set(name, value); + } // return + + + return this; + }, + prop: function (name, value) { + if (value !== undefined) { + return this.setProp(name, value); + } else { + return this.getProp(name); + } + }, + props: function (props) { + Object.keys(props).map(function (key) { + this.setProp(key, props[key]); + }, this); + }, + getLabel: function () { + // get label with empty default + var label = this.prop('label'); + + if (label === '') { + label = acf.__('(no label)'); + } // return + + + return label; + }, + getName: function () { + return this.prop('name'); + }, + getType: function () { + return this.prop('type'); + }, + getTypeLabel: function () { + var type = this.prop('type'); + var types = acf.get('fieldTypes'); + return types[type] ? types[type].label : type; + }, + getKey: function () { + return this.prop('key'); + }, + initialize: function () { + this.addProFields(); + }, + addProFields: function () { + // Make sure we're only running this on free version. + if (acf.data.fieldTypes.hasOwnProperty('clone')) { + return; + } // Make sure we haven't appended these fields before. + + + var $fieldTypeSelect = $('.field-type').not('.acf-free-field-type'); // Append pro fields to "Layout" group. + + var $layoutGroup = $fieldTypeSelect.find('optgroup option[value="group"]').parent(); + $layoutGroup.append('' + '' + ''); // Add pro fields to "Content" group. + + var $contentGroup = $fieldTypeSelect.find('optgroup option[value="image"]').parent(); + $contentGroup.append(''); + $fieldTypeSelect.addClass('acf-free-field-type'); + }, + render: function () { + // vars + var $handle = this.$('.handle:first'); + var menu_order = this.prop('menu_order'); + var label = this.getLabel(); + var name = this.prop('name'); + var type = this.getTypeLabel(); + var key = this.prop('key'); + var required = this.$input('required').prop('checked'); // update menu order + + $handle.find('.acf-icon').html(parseInt(menu_order) + 1); // update required + + if (required) { + label += ' *'; + } // update label + + + $handle.find('.li-field-label strong a').html(label); // update name + + $handle.find('.li-field-name').text(name); // update type + + $handle.find('.li-field-type').text(type); // update key + + $handle.find('.li-field-key').text(key); // action for 3rd party customization + + acf.doAction('render_field_object', this); + }, + refresh: function () { + acf.doAction('refresh_field_object', this); + }, + isOpen: function () { + return this.$el.hasClass('open'); + }, + onClickEdit: function (e) { + this.isOpen() ? this.close() : this.open(); + }, + open: function () { + // vars + var $settings = this.$el.children('.settings'); // open + + $settings.slideDown(); + this.$el.addClass('open'); // action (open) + + acf.doAction('open_field_object', this); + this.trigger('openFieldObject'); // action (show) + + acf.doAction('show', $settings); + }, + close: function () { + // vars + var $settings = this.$el.children('.settings'); // close + + $settings.slideUp(); + this.$el.removeClass('open'); // action (close) + + acf.doAction('close_field_object', this); + this.trigger('closeFieldObject'); // action (hide) + + acf.doAction('hide', $settings); + }, + serialize: function () { + return acf.serialize(this.$el, this.getInputName()); + }, + save: function (type) { + // defaults + type = type || 'settings'; // meta, settings + // vars + + var save = this.getProp('save'); // bail if already saving settings + + if (save === 'settings') { + return; + } // prop + + + this.setProp('save', type); // debug + + this.$el.attr('data-save', type); // action + + acf.doAction('save_field_object', this, type); + }, + submit: function () { + // vars + var inputName = this.getInputName(); + var save = this.get('save'); // close + + if (this.isOpen()) { + this.close(); + } // allow all inputs to save + + + if (save == 'settings') {// do nothing + // allow only meta inputs to save + } else if (save == 'meta') { + this.$('> .settings [name^="' + inputName + '"]').remove(); // prevent all inputs from saving + } else { + this.$('[name^="' + inputName + '"]').remove(); + } // action + + + acf.doAction('submit_field_object', this); + }, + onChange: function (e, $el) { + // save settings + this.save(); // action for 3rd party customization + + acf.doAction('change_field_object', this); + }, + onChanged: function (e, $el, name, value) { + // ignore 'save' + if (name == 'save') { + return; + } // save meta + + + if (['menu_order', 'parent'].indexOf(name) > -1) { + this.save('meta'); // save field + } else { + this.save(); + } // render + + + if (['menu_order', 'label', 'required', 'name', 'type', 'key'].indexOf(name) > -1) { + this.render(); + } // action for 3rd party customization + + + acf.doAction('change_field_object_' + name, this, value); + }, + onChangeLabel: function (e, $el) { + // set + var label = $el.val(); + this.set('label', label); // render name + + if (this.prop('name') == '') { + var name = acf.applyFilters('generate_field_object_name', acf.strSanitize(label), this); + this.prop('name', name); + } + }, + onChangeName: function (e, $el) { + // set + var name = $el.val(); + this.set('name', name); // error + + if (name.substr(0, 6) === 'field_') { + alert(acf.__('The string "field_" may not be used at the start of a field name')); + } + }, + onChangeRequired: function (e, $el) { + // set + var required = $el.prop('checked') ? 1 : 0; + this.set('required', required); + }, + delete: function (args) { + // defaults + args = acf.parseArgs(args, { + animate: true + }); // add to remove list + + var id = this.prop('ID'); + + if (id) { + var $input = $('#_acf_delete_fields'); + var newVal = $input.val() + '|' + id; + $input.val(newVal); + } // action + + + acf.doAction('delete_field_object', this); // animate + + if (args.animate) { + this.removeAnimate(); + } else { + this.remove(); + } + }, + onClickDelete: function (e, $el) { + // Bypass confirmation when holding down "shift" key. + if (e.shiftKey) { + return this.delete(); + } // add class + + + this.$el.addClass('-hover'); // add tooltip + + var tooltip = acf.newTooltip({ + confirmRemove: true, + target: $el, + context: this, + confirm: function () { + this.delete(); + }, + cancel: function () { + this.$el.removeClass('-hover'); + } + }); + }, + removeAnimate: function () { + // vars + var field = this; + var $list = this.$el.parent(); + var $fields = acf.findFieldObjects({ + sibling: this.$el + }); // remove + + acf.remove({ + target: this.$el, + endHeight: $fields.length ? 0 : 50, + complete: function () { + field.remove(); + acf.doAction('removed_field_object', field, $list); + } + }); // action + + acf.doAction('remove_field_object', field, $list); + }, + duplicate: function () { + // vars + var newKey = acf.uniqid('field_'); // duplicate + + var $newField = acf.duplicate({ + target: this.$el, + search: this.get('id'), + replace: newKey + }); // set new key + + $newField.attr('data-key', newKey); // get instance + + var newField = acf.getFieldObject($newField); // open / close + + if (this.isOpen()) { + this.close(); + } else { + newField.open(); + } // focus label + + + var $label = newField.$setting('label input'); + setTimeout(function () { + $label.trigger('focus'); + }, 251); // update newField label / name + + var label = newField.prop('label'); + var name = newField.prop('name'); + var end = name.split('_').pop(); + + var copy = acf.__('copy'); // increase suffix "1" + + + if (acf.isNumeric(end)) { + var i = end * 1 + 1; + label = label.replace(end, i); + name = name.replace(end, i); // increase suffix "(copy1)" + } else if (end.indexOf(copy) === 0) { + var i = end.replace(copy, '') * 1; + i = i ? i + 1 : 2; // replace + + label = label.replace(end, copy + i); + name = name.replace(end, copy + i); // add default "(copy)" + } else { + label += ' (' + copy + ')'; + name += '_' + copy; + } + + newField.prop('ID', 0); + newField.prop('label', label); + newField.prop('name', name); + newField.prop('key', newKey); // action + + acf.doAction('duplicate_field_object', this, newField); + acf.doAction('append_field_object', newField); + }, + wipe: function () { + // vars + var prevId = this.get('id'); + var prevKey = this.get('key'); + var newKey = acf.uniqid('field_'); // rename + + acf.rename({ + target: this.$el, + search: prevId, + replace: newKey + }); // data + + this.set('id', newKey); + this.set('prevId', prevId); + this.set('prevKey', prevKey); // props + + this.prop('key', newKey); + this.prop('ID', 0); // attr + + this.$el.attr('data-key', newKey); + this.$el.attr('data-id', newKey); // action + + acf.doAction('wipe_field_object', this); + }, + move: function () { + // helper + var hasChanged = function (field) { + return field.get('save') == 'settings'; + }; // vars + + + var changed = hasChanged(this); // has sub fields changed + + if (!changed) { + acf.getFieldObjects({ + parent: this.$el + }).map(function (field) { + changed = hasChanged(field) || field.changed; + }); + } // bail early if changed + + + if (changed) { + alert(acf.__('This field cannot be moved until its changes have been saved')); + return; + } // step 1. + + + var id = this.prop('ID'); + var field = this; + var popup = false; + + var step1 = function () { + // popup + popup = acf.newPopup({ + title: acf.__('Move Custom Field'), + loading: true, + width: '300px' + }); // ajax + + var ajaxData = { + action: 'acf/field_group/move_field', + field_id: id + }; // get HTML + + $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxData), + type: 'post', + dataType: 'html', + success: step2 + }); + }; + + var step2 = function (html) { + // update popup + popup.loading(false); + popup.content(html); // submit form + + popup.on('submit', 'form', step3); + }; + + var step3 = function (e, $el) { + // prevent + e.preventDefault(); // disable + + acf.startButtonLoading(popup.$('.button')); // ajax + + var ajaxData = { + action: 'acf/field_group/move_field', + field_id: id, + field_group_id: popup.$('select').val() + }; // get HTML + + $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxData), + type: 'post', + dataType: 'html', + success: step4 + }); + }; + + var step4 = function (html) { + // update popup + popup.content(html); // remove element + + field.removeAnimate(); + }; // start + + + step1(); + }, + onChangeType: function (e, $el) { + // clea previous timout + if (this.changeTimeout) { + clearTimeout(this.changeTimeout); + } // set new timeout + // - prevents changing type multiple times whilst user types in newType + + + this.changeTimeout = this.setTimeout(function () { + this.changeType($el.val()); + }, 300); + }, + changeType: function (newType) { + // vars + var prevType = this.prop('type'); + var prevClass = acf.strSlugify('acf-field-object-' + prevType); + var newClass = acf.strSlugify('acf-field-object-' + newType); // update props + + this.$el.removeClass(prevClass).addClass(newClass); + this.$el.attr('data-type', newType); + this.$el.data('type', newType); // abort XHR if this field is already loading AJAX data + + if (this.has('xhr')) { + this.get('xhr').abort(); + } // store settings + + + var $tbody = this.$('> .settings > table > tbody'); + var $settings = $tbody.children('[data-setting="' + prevType + '"]'); + this.set('settings-' + prevType, $settings); + $settings.detach(); // show settings + + if (this.has('settings-' + newType)) { + var $newSettings = this.get('settings-' + newType); + this.$setting('conditional_logic').before($newSettings); + this.set('type', newType); //this.refresh(); + + return; + } // load settings + + + var $loading = $('
    '); + this.$setting('conditional_logic').before($loading); // ajax + + var ajaxData = { + action: 'acf/field_group/render_field_settings', + field: this.serialize(), + prefix: this.getInputName() + }; // ajax + + var xhr = $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxData), + type: 'post', + dataType: 'html', + context: this, + success: function (html) { + // bail early if no settings + if (!html) return; // append settings + + $loading.after(html); // events + + acf.doAction('append', $tbody); + }, + complete: function () { + // also triggered by xhr.abort(); + $loading.remove(); + this.set('type', newType); //this.refresh(); + } + }); // set + + this.set('xhr', xhr); + }, + updateParent: function () { + // vars + var ID = acf.get('post_id'); // check parent + + var parent = this.getParent(); + + if (parent) { + ID = parseInt(parent.prop('ID')) || parent.prop('key'); + } // update + + + this.prop('parent', ID); + } + }); })(jQuery); -(function($, undefined){ - - /** - * ConditionalLogicFieldSetting - * - * description - * - * @date 3/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var ConditionalLogicFieldSetting = acf.FieldSetting.extend({ - type: '', - name: 'conditional_logic', - events: { - 'change .conditions-toggle': 'onChangeToggle', - 'click .add-conditional-group': 'onClickAddGroup', - 'focus .condition-rule-field': 'onFocusField', - 'change .condition-rule-field': 'onChangeField', - 'change .condition-rule-operator': 'onChangeOperator', - 'click .add-conditional-rule': 'onClickAdd', - 'click .remove-conditional-rule': 'onClickRemove' - }, - - $rule: false, - - scope: function( $rule ){ - this.$rule = $rule; - return this; - }, - - ruleData: function( name, value ){ - return this.$rule.data.apply( this.$rule, arguments ); - }, - - $input: function( name ){ - return this.$rule.find('.condition-rule-' + name); - }, - - $td: function( name ){ - return this.$rule.find('td.' + name); - }, - - $toggle: function(){ - return this.$('.conditions-toggle'); - }, - - $control: function(){ - return this.$('.rule-groups'); - }, - - $groups: function(){ - return this.$('.rule-group'); - }, - - $rules: function(){ - return this.$('.rule'); - }, - - open: function(){ - var $div = this.$control(); - $div.show(); - acf.enable( $div ); - }, - - close: function(){ - var $div = this.$control(); - $div.hide(); - acf.disable( $div ); - }, - - render: function(){ - - // show - if( this.$toggle().prop('checked') ) { - this.renderRules(); - this.open(); - - // hide - } else { - this.close(); - } - }, - - renderRules: function(){ - - // vars - var self = this; - - // loop - this.$rules().each(function(){ - self.renderRule( $(this) ); - }); - }, - - renderRule: function( $rule ){ - this.scope( $rule ); - this.renderField(); - this.renderOperator(); - this.renderValue(); - }, - - renderField: function(){ - - // vars - var choices = []; - var validFieldTypes = []; - var cid = this.fieldObject.cid; - var $select = this.$input('field'); - - // loop - acf.getFieldObjects().map(function( fieldObject ){ - - // vars - var choice = { - id: fieldObject.getKey(), - text: fieldObject.getLabel() - }; - - // bail early if is self - if( fieldObject.cid === cid ) { - choice.text += acf.__('(this field)'); - choice.disabled = true; - } - - // get selected field conditions - var conditionTypes = acf.getConditionTypes({ - fieldType: fieldObject.getType() - }); - - // bail early if no types - if( !conditionTypes.length ) { - choice.disabled = true; - } - - // calulate indents - var indents = fieldObject.getParents().length; - choice.text = '- '.repeat(indents) + choice.text; - - // append - choices.push(choice); - }); - - // allow for scenario where only one field exists - if( !choices.length ) { - choices.push({ - id: '', - text: acf.__('No toggle fields available'), - }); - } - - // render - acf.renderSelect( $select, choices ); - - // set - this.ruleData('field', $select.val()); - }, - - renderOperator: function(){ - - // bail early if no field selected - if( !this.ruleData('field') ) { - return; - } - - // vars - var $select = this.$input('operator'); - var val = $select.val(); - var choices = []; - - // set saved value on first render - // - this allows the 2nd render to correctly select an option - if( $select.val() === null ) { - acf.renderSelect($select, [{ - id: this.ruleData('operator'), - text: '' - }]); - } - - // get selected field - var $field = acf.findFieldObject( this.ruleData('field') ); - var field = acf.getFieldObject( $field ); - - // get selected field conditions - var conditionTypes = acf.getConditionTypes({ - fieldType: field.getType() - }); - - // html - conditionTypes.map(function( model ){ - choices.push({ - id: model.prototype.operator, - text: model.prototype.label - }); - }); - - // render - acf.renderSelect( $select, choices ); - - // set - this.ruleData('operator', $select.val()); - }, - - renderValue: function(){ - - // bail early if no field selected - if( !this.ruleData('field') || !this.ruleData('operator') ) { - return; - } - - // vars - var $select = this.$input('value'); - var $td = this.$td('value'); - var val = $select.val(); - - // get selected field - var $field = acf.findFieldObject( this.ruleData('field') ); - var field = acf.getFieldObject( $field ); - - // get selected field conditions - var conditionTypes = acf.getConditionTypes({ - fieldType: field.getType(), - operator: this.ruleData('operator') - }); - - // html - var conditionType = conditionTypes[0].prototype; - var choices = conditionType.choices( field ); - - // create html: array - if( choices instanceof Array ) { - var $newSelect = $(''); - acf.renderSelect( $newSelect, choices ); - - // create html: string () - } else { - var $newSelect = $(choices); - } - - // append - $select.detach(); - $td.html( $newSelect ); - - // copy attrs - // timeout needed to avoid browser bug where "disabled" attribute is not applied - setTimeout(function(){ - ['class', 'name', 'id'].map(function( attr ){ - $newSelect.attr( attr, $select.attr(attr)); - }); - }, 0); - - // select existing value (if not a disabled input) - if( !$newSelect.prop('disabled') ) { - acf.val( $newSelect, val, true ); - } - - // set - this.ruleData('value', $newSelect.val()); - }, - - onChangeToggle: function(){ - this.render(); - }, - - onClickAddGroup: function( e, $el ){ - this.addGroup(); - }, - - addGroup: function(){ - - // vars - var $group = this.$('.rule-group:last'); - - // duplicate - var $group2 = acf.duplicate( $group ); - - // update h4 - $group2.find('h4').text( acf.__('or') ); - - // remove all tr's except the first one - $group2.find('tr').not(':first').remove(); - - // save field - this.fieldObject.save(); - }, - - onFocusField: function( e, $el ){ - this.renderField(); - }, - - onChangeField: function( e, $el ){ - - // scope - this.scope( $el.closest('.rule') ); - - // set data - this.ruleData('field', $el.val()); - - // render - this.renderOperator(); - this.renderValue(); - }, - - onChangeOperator: function( e, $el ){ - - // scope - this.scope( $el.closest('.rule') ); - - // set data - this.ruleData('operator', $el.val()); - - // render - this.renderValue(); - }, - - onClickAdd: function( e, $el ){ - - // duplciate - var $rule = acf.duplicate( $el.closest('.rule') ); - - // render - this.renderRule( $rule ); - }, - - onClickRemove: function( e, $el ){ - - // vars - var $rule = $el.closest('.rule'); - - // save field - this.fieldObject.save(); - - // remove group - if( $rule.siblings('.rule').length == 0 ) { - $rule.closest('.rule-group').remove(); - } - - // remove - $rule.remove(); - } - }); - - acf.registerFieldSetting( ConditionalLogicFieldSetting ); - - - /** - * conditionalLogicHelper - * - * description - * - * @date 20/4/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var conditionalLogicHelper = new acf.Model({ - actions: { - 'duplicate_field_objects': 'onDuplicateFieldObjects', - }, - - onDuplicateFieldObjects: function( children, newField, prevField ){ - - // vars - var data = {}; - var $selects = $(); - - // reference change in key - children.map(function( child ){ - - // store reference of changed key - data[ child.get('prevKey') ] = child.get('key'); - - // append condition select - $selects = $selects.add( child.$('.condition-rule-field') ); - }); - - // loop - $selects.each(function(){ - - // vars - var $select = $(this); - var val = $select.val(); - - // bail early if val is not a ref key - if( !val || !data[val] ) { - return; - } - - // modify selected option - $select.find('option:selected').attr('value', data[val]); - - // set new val - $select.val( data[val] ); - - }); - }, - }); + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-fields.js": +/*!*****************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-fields.js ***! + \*****************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + /** + * acf.findFieldObject + * + * Returns a single fieldObject $el for a given field key + * + * @date 1/2/18 + * @since 5.7.0 + * + * @param string key The field key + * @return jQuery + */ + acf.findFieldObject = function (key) { + return acf.findFieldObjects({ + key: key, + limit: 1 + }); + }; + /** + * acf.findFieldObjects + * + * Returns an array of fieldObject $el for the given args + * + * @date 1/2/18 + * @since 5.7.0 + * + * @param object args + * @return jQuery + */ + + + acf.findFieldObjects = function (args) { + // vars + args = args || {}; + var selector = '.acf-field-object'; + var $fields = false; // args + + args = acf.parseArgs(args, { + id: '', + key: '', + type: '', + limit: false, + list: null, + parent: false, + sibling: false, + child: false + }); // id + + if (args.id) { + selector += '[data-id="' + args.id + '"]'; + } // key + + + if (args.key) { + selector += '[data-key="' + args.key + '"]'; + } // type + + + if (args.type) { + selector += '[data-type="' + args.type + '"]'; + } // query + + + if (args.list) { + $fields = args.list.children(selector); + } else if (args.parent) { + $fields = args.parent.find(selector); + } else if (args.sibling) { + $fields = args.sibling.siblings(selector); + } else if (args.child) { + $fields = args.child.parents(selector); + } else { + $fields = $(selector); + } // limit + + + if (args.limit) { + $fields = $fields.slice(0, args.limit); + } // return + + + return $fields; + }; + /** + * acf.getFieldObject + * + * Returns a single fieldObject instance for a given $el|key + * + * @date 1/2/18 + * @since 5.7.0 + * + * @param string|jQuery $field The field $el or key + * @return jQuery + */ + + + acf.getFieldObject = function ($field) { + // allow key + if (typeof $field === 'string') { + $field = acf.findFieldObject($field); + } // instantiate + + + var field = $field.data('acf'); + + if (!field) { + field = acf.newFieldObject($field); + } // return + + + return field; + }; + /** + * acf.getFieldObjects + * + * Returns an array of fieldObject instances for the given args + * + * @date 1/2/18 + * @since 5.7.0 + * + * @param object args + * @return array + */ + + + acf.getFieldObjects = function (args) { + // query + var $fields = acf.findFieldObjects(args); // loop + + var fields = []; + $fields.each(function () { + var field = acf.getFieldObject($(this)); + fields.push(field); + }); // return + + return fields; + }; + /** + * acf.newFieldObject + * + * Initializes and returns a new FieldObject instance + * + * @date 1/2/18 + * @since 5.7.0 + * + * @param jQuery $field The field $el + * @return object + */ + + + acf.newFieldObject = function ($field) { + // instantiate + var field = new acf.FieldObject($field); // action + + acf.doAction('new_field_object', field); // return + + return field; + }; + /** + * actionManager + * + * description + * + * @date 15/12/17 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + var eventManager = new acf.Model({ + priority: 5, + initialize: function () { + // actions + var actions = ['prepare', 'ready', 'append', 'remove']; // loop + + actions.map(function (action) { + this.addFieldActions(action); + }, this); + }, + addFieldActions: function (action) { + // vars + var pluralAction = action + '_field_objects'; // ready_field_objects + + var singleAction = action + '_field_object'; // ready_field_object + + var singleEvent = action + 'FieldObject'; // readyFieldObject + // global action + + var callback = function ($el + /*, arg1, arg2, etc*/ + ) { + // vars + var fieldObjects = acf.getFieldObjects({ + parent: $el + }); // call plural + + if (fieldObjects.length) { + /// get args [$el, arg1] + var args = acf.arrayArgs(arguments); // modify args [pluralAction, fields, arg1] + + args.splice(0, 1, pluralAction, fieldObjects); + acf.doAction.apply(null, args); + } + }; // plural action + + + var pluralCallback = function (fieldObjects + /*, arg1, arg2, etc*/ + ) { + /// get args [fields, arg1] + var args = acf.arrayArgs(arguments); // modify args [singleAction, fields, arg1] + + args.unshift(singleAction); // loop + + fieldObjects.map(function (fieldObject) { + // modify args [singleAction, field, arg1] + args[1] = fieldObject; + acf.doAction.apply(null, args); + }); + }; // single action + + + var singleCallback = function (fieldObject + /*, arg1, arg2, etc*/ + ) { + /// get args [$field, arg1] + var args = acf.arrayArgs(arguments); // modify args [singleAction, $field, arg1] + + args.unshift(singleAction); // action variations (ready_field/type=image) + + var variations = ['type', 'name', 'key']; + variations.map(function (variation) { + args[0] = singleAction + '/' + variation + '=' + fieldObject.get(variation); + acf.doAction.apply(null, args); + }); // modify args [arg1] + + args.splice(0, 2); // event + + fieldObject.trigger(singleEvent, args); + }; // add actions + + + acf.addAction(action, callback, 5); + acf.addAction(pluralAction, pluralCallback, 5); + acf.addAction(singleAction, singleCallback, 5); + } + }); + /** + * fieldManager + * + * description + * + * @date 4/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var fieldManager = new acf.Model({ + id: 'fieldManager', + events: { + 'submit #post': 'onSubmit', + 'mouseenter .acf-field-list': 'onHoverSortable', + 'click .add-field': 'onClickAdd' + }, + actions: { + removed_field_object: 'onRemovedField', + sortstop_field_object: 'onReorderField', + delete_field_object: 'onDeleteField', + change_field_object_type: 'onChangeFieldType', + duplicate_field_object: 'onDuplicateField' + }, + onSubmit: function (e, $el) { + // vars + var fields = acf.getFieldObjects(); // loop + + fields.map(function (field) { + field.submit(); + }); + }, + setFieldMenuOrder: function (field) { + this.renderFields(field.$el.parent()); + }, + onHoverSortable: function (e, $el) { + // bail early if already sortable + if ($el.hasClass('ui-sortable')) return; // sortable + + $el.sortable({ + handle: '.acf-sortable-handle', + connectWith: '.acf-field-list', + start: function (e, ui) { + var field = acf.getFieldObject(ui.item); + ui.placeholder.height(ui.item.height()); + acf.doAction('sortstart_field_object', field, $el); + }, + update: function (e, ui) { + var field = acf.getFieldObject(ui.item); + acf.doAction('sortstop_field_object', field, $el); + } + }); + }, + onRemovedField: function (field, $list) { + this.renderFields($list); + }, + onReorderField: function (field, $list) { + field.updateParent(); + this.renderFields($list); + }, + onDeleteField: function (field) { + // delete children + field.getFields().map(function (child) { + child.delete({ + animate: false + }); + }); + }, + onChangeFieldType: function (field) {// this caused sub fields to disapear if changing type back... + //this.onDeleteField( field ); + }, + onDuplicateField: function (field, newField) { + // check for children + var children = newField.getFields(); + + if (children.length) { + // loop + children.map(function (child) { + // wipe field + child.wipe(); // update parent + + child.updateParent(); + }); // action + + acf.doAction('duplicate_field_objects', children, newField, field); + } // set menu order + + + this.setFieldMenuOrder(newField); + }, + renderFields: function ($list) { + // vars + var fields = acf.getFieldObjects({ + list: $list + }); // no fields + + if (!fields.length) { + $list.addClass('-empty'); + return; + } // has fields + + + $list.removeClass('-empty'); // prop + + fields.map(function (field, i) { + field.prop('menu_order', i); + }); + }, + onClickAdd: function (e, $el) { + var $list = $el.closest('.acf-tfoot').siblings('.acf-field-list'); + this.addField($list); + }, + addField: function ($list) { + // vars + var html = $('#tmpl-acf-field').html(); + var $el = $(html); + var prevId = $el.data('id'); + var newKey = acf.uniqid('field_'); // duplicate + + var $newField = acf.duplicate({ + target: $el, + search: prevId, + replace: newKey, + append: function ($el, $el2) { + $list.append($el2); + } + }); // get instance + + var newField = acf.getFieldObject($newField); // props + + newField.prop('key', newKey); + newField.prop('ID', 0); + newField.prop('label', ''); + newField.prop('name', ''); // attr + + $newField.attr('data-key', newKey); + $newField.attr('data-id', newKey); // update parent prop + + newField.updateParent(); // focus label + + var $label = newField.$input('label'); + setTimeout(function () { + $label.trigger('focus'); + }, 251); // open + + newField.open(); // set menu order + + this.renderFields($list); // action + + acf.doAction('add_field_object', newField); + acf.doAction('append_field_object', newField); + } + }); })(jQuery); -(function($, undefined){ - - /** - * acf.findFieldObject - * - * Returns a single fieldObject $el for a given field key - * - * @date 1/2/18 - * @since 5.7.0 - * - * @param string key The field key - * @return jQuery - */ - - acf.findFieldObject = function( key ){ - return acf.findFieldObjects({ - key: key, - limit: 1 - }); - }; - - /** - * acf.findFieldObjects - * - * Returns an array of fieldObject $el for the given args - * - * @date 1/2/18 - * @since 5.7.0 - * - * @param object args - * @return jQuery - */ - - acf.findFieldObjects = function( args ){ - - // vars - args = args || {}; - var selector = '.acf-field-object'; - var $fields = false; - - // args - args = acf.parseArgs(args, { - id: '', - key: '', - type: '', - limit: false, - list: null, - parent: false, - sibling: false, - child: false, - }); - - // id - if( args.id ) { - selector += '[data-id="' + args.id + '"]'; - } - - // key - if( args.key ) { - selector += '[data-key="' + args.key + '"]'; - } - - // type - if( args.type ) { - selector += '[data-type="' + args.type + '"]'; - } - - // query - if( args.list ) { - $fields = args.list.children( selector ); - } else if( args.parent ) { - $fields = args.parent.find( selector ); - } else if( args.sibling ) { - $fields = args.sibling.siblings( selector ); - } else if( args.child ) { - $fields = args.child.parents( selector ); - } else { - $fields = $( selector ); - } - - // limit - if( args.limit ) { - $fields = $fields.slice( 0, args.limit ); - } - - // return - return $fields; - }; - - /** - * acf.getFieldObject - * - * Returns a single fieldObject instance for a given $el|key - * - * @date 1/2/18 - * @since 5.7.0 - * - * @param string|jQuery $field The field $el or key - * @return jQuery - */ - - acf.getFieldObject = function( $field ){ - - // allow key - if( typeof $field === 'string' ) { - $field = acf.findFieldObject( $field ); - } - - // instantiate - var field = $field.data('acf'); - if( !field ) { - field = acf.newFieldObject( $field ); - } - - // return - return field; - }; - - /** - * acf.getFieldObjects - * - * Returns an array of fieldObject instances for the given args - * - * @date 1/2/18 - * @since 5.7.0 - * - * @param object args - * @return array - */ - - acf.getFieldObjects = function( args ){ - - // query - var $fields = acf.findFieldObjects( args ); - - // loop - var fields = []; - $fields.each(function(){ - var field = acf.getFieldObject( $(this) ); - fields.push( field ); - }); - - // return - return fields; - }; - - /** - * acf.newFieldObject - * - * Initializes and returns a new FieldObject instance - * - * @date 1/2/18 - * @since 5.7.0 - * - * @param jQuery $field The field $el - * @return object - */ - - acf.newFieldObject = function( $field ){ - - // instantiate - var field = new acf.FieldObject( $field ); - - // action - acf.doAction('new_field_object', field); - - // return - return field; - }; - - /** - * actionManager - * - * description - * - * @date 15/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var eventManager = new acf.Model({ - - priority: 5, - - initialize: function(){ - - // actions - var actions = [ - 'prepare', - 'ready', - 'append', - 'remove' - ]; - - // loop - actions.map(function( action ){ - this.addFieldActions( action ); - }, this); - }, - - addFieldActions: function( action ){ - - // vars - var pluralAction = action + '_field_objects'; // ready_field_objects - var singleAction = action + '_field_object'; // ready_field_object - var singleEvent = action + 'FieldObject'; // readyFieldObject - - // global action - var callback = function( $el /*, arg1, arg2, etc*/ ){ - - // vars - var fieldObjects = acf.getFieldObjects({ parent: $el }); - - // call plural - if( fieldObjects.length ) { - - /// get args [$el, arg1] - var args = acf.arrayArgs( arguments ); - - // modify args [pluralAction, fields, arg1] - args.splice(0, 1, pluralAction, fieldObjects); - acf.doAction.apply(null, args); - } - }; - - // plural action - var pluralCallback = function( fieldObjects /*, arg1, arg2, etc*/ ){ - - /// get args [fields, arg1] - var args = acf.arrayArgs( arguments ); - - // modify args [singleAction, fields, arg1] - args.unshift(singleAction); - - // loop - fieldObjects.map(function( fieldObject ){ - - // modify args [singleAction, field, arg1] - args[1] = fieldObject; - acf.doAction.apply(null, args); - }); - }; - - // single action - var singleCallback = function( fieldObject /*, arg1, arg2, etc*/ ){ - - /// get args [$field, arg1] - var args = acf.arrayArgs( arguments ); - - // modify args [singleAction, $field, arg1] - args.unshift(singleAction); - - // action variations (ready_field/type=image) - var variations = ['type', 'name', 'key']; - variations.map(function( variation ){ - args[0] = singleAction + '/' + variation + '=' + fieldObject.get(variation); - acf.doAction.apply(null, args); - }); - - // modify args [arg1] - args.splice(0, 2); - // event - fieldObject.trigger(singleEvent, args); - }; - - // add actions - acf.addAction(action, callback, 5); - acf.addAction(pluralAction, pluralCallback, 5); - acf.addAction(singleAction, singleCallback, 5); - - } - }); - - /** - * fieldManager - * - * description - * - * @date 4/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var fieldManager = new acf.Model({ - - id: 'fieldManager', - - events: { - 'submit #post': 'onSubmit', - 'mouseenter .acf-field-list': 'onHoverSortable', - 'click .add-field': 'onClickAdd', - }, - - actions: { - 'removed_field_object': 'onRemovedField', - 'sortstop_field_object': 'onReorderField', - 'delete_field_object': 'onDeleteField', - 'change_field_object_type': 'onChangeFieldType', - 'duplicate_field_object': 'onDuplicateField' - }, - - onSubmit: function( e, $el ){ - - // vars - var fields = acf.getFieldObjects(); - - // loop - fields.map(function( field ){ - field.submit(); - }); - }, - - setFieldMenuOrder: function( field ){ - this.renderFields( field.$el.parent() ); - }, - - onHoverSortable: function( e, $el ){ - - // bail early if already sortable - if( $el.hasClass('ui-sortable') ) return; - - // sortable - $el.sortable({ - handle: '.acf-sortable-handle', - connectWith: '.acf-field-list', - start: function( e, ui ){ - var field = acf.getFieldObject( ui.item ); - ui.placeholder.height( ui.item.height() ); - acf.doAction('sortstart_field_object', field, $el); - }, - update: function( e, ui ){ - var field = acf.getFieldObject( ui.item ); - acf.doAction('sortstop_field_object', field, $el); - } - }); - }, - - onRemovedField: function( field, $list ){ - this.renderFields( $list ); - }, - - onReorderField: function( field, $list ){ - field.updateParent(); - this.renderFields( $list ); - }, - - onDeleteField: function( field ){ - - // delete children - field.getFields().map(function( child ){ - child.delete({ animate: false }); - }); - }, - - onChangeFieldType: function( field ){ - // this caused sub fields to disapear if changing type back... - //this.onDeleteField( field ); - }, - - onDuplicateField: function( field, newField ){ - - // check for children - var children = newField.getFields(); - if( children.length ) { - - // loop - children.map(function( child ){ - - // wipe field - child.wipe(); - - // update parent - child.updateParent(); - }); - - // action - acf.doAction('duplicate_field_objects', children, newField, field); - } - - // set menu order - this.setFieldMenuOrder( newField ); - }, - - renderFields: function( $list ){ - - // vars - var fields = acf.getFieldObjects({ - list: $list - }); - - // no fields - if( !fields.length ) { - $list.addClass('-empty'); - return; - } - - // has fields - $list.removeClass('-empty'); - - // prop - fields.map(function( field, i ){ - field.prop('menu_order', i); - }); - }, - - onClickAdd: function( e, $el ){ - var $list = $el.closest('.acf-tfoot').siblings('.acf-field-list'); - this.addField( $list ); - }, - - addField: function( $list ){ - - // vars - var html = $('#tmpl-acf-field').html(); - var $el = $(html); - var prevId = $el.data('id'); - var newKey = acf.uniqid('field_'); - - // duplicate - var $newField = acf.duplicate({ - target: $el, - search: prevId, - replace: newKey, - append: function( $el, $el2 ){ - $list.append( $el2 ); - } - }); - - // get instance - var newField = acf.getFieldObject( $newField ); - - // props - newField.prop('key', newKey); - newField.prop('ID', 0); - newField.prop('label', ''); - newField.prop('name', ''); - - // attr - $newField.attr('data-key', newKey); - $newField.attr('data-id', newKey); - - // update parent prop - newField.updateParent(); - - // focus label - var $label = newField.$input('label'); - setTimeout(function(){ - $label.trigger('focus'); - }, 251); - - // open - newField.open(); - - // set menu order - this.renderFields( $list ); - - // action - acf.doAction('add_field_object', newField); - acf.doAction('append_field_object', newField); - } - }); - +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-locations.js": +/*!********************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-locations.js ***! + \********************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + /** + * locationManager + * + * Field group location rules functionality + * + * @date 15/12/17 + * @since 5.7.0 + * + * @param void + * @return void + */ + var locationManager = new acf.Model({ + id: 'locationManager', + wait: 'ready', + events: { + 'click .add-location-rule': 'onClickAddRule', + 'click .add-location-group': 'onClickAddGroup', + 'click .remove-location-rule': 'onClickRemoveRule', + 'change .refresh-location-rule': 'onChangeRemoveRule' + }, + initialize: function () { + this.$el = $('#acf-field-group-locations'); + this.updateGroupsClass(); + }, + onClickAddRule: function (e, $el) { + this.addRule($el.closest('tr')); + }, + onClickRemoveRule: function (e, $el) { + this.removeRule($el.closest('tr')); + }, + onChangeRemoveRule: function (e, $el) { + this.changeRule($el.closest('tr')); + }, + onClickAddGroup: function (e, $el) { + this.addGroup(); + }, + addRule: function ($tr) { + acf.duplicate($tr); + this.updateGroupsClass(); + }, + removeRule: function ($tr) { + if ($tr.siblings('tr').length == 0) { + $tr.closest('.rule-group').remove(); + } else { + $tr.remove(); + } // Update h4 + + + var $group = this.$('.rule-group:first'); + $group.find('h4').text(acf.__('Show this field group if')); + this.updateGroupsClass(); + }, + changeRule: function ($rule) { + // vars + var $group = $rule.closest('.rule-group'); + var prefix = $rule.find('td.param select').attr('name').replace('[param]', ''); // ajaxdata + + var ajaxdata = {}; + ajaxdata.action = 'acf/field_group/render_location_rule'; + ajaxdata.rule = acf.serialize($rule, prefix); + ajaxdata.rule.id = $rule.data('id'); + ajaxdata.rule.group = $group.data('id'); // temp disable + + acf.disable($rule.find('td.value')); // ajax + + $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxdata), + type: 'post', + dataType: 'html', + success: function (html) { + if (!html) return; + $rule.replaceWith(html); + } + }); + }, + addGroup: function () { + // vars + var $group = this.$('.rule-group:last'); // duplicate + + $group2 = acf.duplicate($group); // update h4 + + $group2.find('h4').text(acf.__('or')); // remove all tr's except the first one + + $group2.find('tr').not(':first').remove(); // update the groups class + + this.updateGroupsClass(); + }, + updateGroupsClass: function () { + var $group = this.$('.rule-group:last'); + var $ruleGroups = $group.closest('.rule-groups'); + var rows_count = $ruleGroups.find('.acf-table tr').length; + + if (rows_count > 1) { + $ruleGroups.addClass('rule-groups-multiple'); + } else { + $ruleGroups.removeClass('rule-groups-multiple'); + } + } + }); })(jQuery); -(function($, undefined){ - - /** - * locationManager - * - * Field group location rules functionality - * - * @date 15/12/17 - * @since 5.7.0 - * - * @param void - * @return void - */ - - var locationManager = new acf.Model({ - - id: 'locationManager', - wait: 'ready', - - events: { - 'click .add-location-rule': 'onClickAddRule', - 'click .add-location-group': 'onClickAddGroup', - 'click .remove-location-rule': 'onClickRemoveRule', - 'change .refresh-location-rule': 'onChangeRemoveRule' - }, - - initialize: function(){ - this.$el = $('#acf-field-group-locations'); - this.updateGroupsClass(); - }, - - onClickAddRule: function( e, $el ){ - this.addRule( $el.closest('tr') ); - }, - - onClickRemoveRule: function( e, $el ){ - this.removeRule( $el.closest('tr') ); - }, - - onChangeRemoveRule: function( e, $el ){ - this.changeRule( $el.closest('tr') ); - }, - - onClickAddGroup: function( e, $el ){ - this.addGroup(); - }, - - addRule: function( $tr ){ - acf.duplicate( $tr ); - this.updateGroupsClass(); - }, - - removeRule: function( $tr ){ - if( $tr.siblings('tr').length == 0 ) { - $tr.closest('.rule-group').remove(); - } else { - $tr.remove(); - } - // Update h4 - var $group = this.$('.rule-group:first'); - $group.find('h4').text( acf.__('Show this field group if') ); +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-settings.js": +/*!*******************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-settings.js ***! + \*******************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + /** + * mid + * + * Calculates the model ID for a field type + * + * @date 15/12/17 + * @since 5.6.5 + * + * @param string type + * @return string + */ + var modelId = function (type) { + return acf.strPascalCase(type || '') + 'FieldSetting'; + }; + /** + * registerFieldType + * + * description + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ - this.updateGroupsClass(); - }, - - changeRule: function( $rule ){ - - // vars - var $group = $rule.closest('.rule-group'); - var prefix = $rule.find('td.param select').attr('name').replace('[param]', ''); - - // ajaxdata - var ajaxdata = {}; - ajaxdata.action = 'acf/field_group/render_location_rule'; - ajaxdata.rule = acf.serialize( $rule, prefix ); - ajaxdata.rule.id = $rule.data('id'); - ajaxdata.rule.group = $group.data('id'); - - // temp disable - acf.disable( $rule.find('td.value') ); - - // ajax - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxdata), - type: 'post', - dataType: 'html', - success: function( html ){ - if( !html ) return; - $rule.replaceWith( html ); - } - }); - }, - - addGroup: function(){ - - // vars - var $group = this.$('.rule-group:last'); - - // duplicate - $group2 = acf.duplicate( $group ); - - // update h4 - $group2.find('h4').text( acf.__('or') ); - - // remove all tr's except the first one - $group2.find('tr').not(':first').remove(); + acf.registerFieldSetting = function (model) { + var proto = model.prototype; + var mid = modelId(proto.type + ' ' + proto.name); + this.models[mid] = model; + }; + /** + * newField + * + * description + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ - // update the groups class - this.updateGroupsClass(); - }, - updateGroupsClass: function () { - var $group = this.$(".rule-group:last"); + acf.newFieldSetting = function (field) { + // vars + var type = field.get('setting') || ''; + var name = field.get('name') || ''; + var mid = modelId(type + ' ' + name); + var model = acf.models[mid] || null; // bail ealry if no setting - var $ruleGroups = $group.closest(".rule-groups"); + if (model === null) return false; // instantiate - var rows_count = $ruleGroups.find(".acf-table tr").length; + var setting = new model(field); // return - if (rows_count > 1) { - $ruleGroups.addClass("rule-groups-multiple"); - } else { - $ruleGroups.removeClass("rule-groups-multiple"); - } - }, - }); - + return setting; + }; + /** + * acf.getFieldSetting + * + * description + * + * @date 19/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + acf.getFieldSetting = function (field) { + // allow jQuery + if (field instanceof jQuery) { + field = acf.getField(field); + } // return + + + return field.setting; + }; + /** + * settingsManager + * + * description + * + * @date 6/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + var settingsManager = new acf.Model({ + actions: { + new_field: 'onNewField' + }, + onNewField: function (field) { + field.setting = acf.newFieldSetting(field); + } + }); + /** + * acf.FieldSetting + * + * description + * + * @date 6/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.FieldSetting = acf.Model.extend({ + field: false, + type: '', + name: '', + wait: 'ready', + eventScope: '.acf-field', + events: { + change: 'render' + }, + setup: function (field) { + // vars + var $field = field.$el; // set props + + this.$el = $field; + this.field = field; + this.$fieldObject = $field.closest('.acf-field-object'); + this.fieldObject = acf.getFieldObject(this.$fieldObject); // inherit data + + $.extend(this.data, field.data); + }, + initialize: function () { + this.render(); + }, + render: function () {// do nothing + } + }); + /* + * Date Picker + * + * This field type requires some extra logic for its settings + * + * @type function + * @date 24/10/13 + * @since 5.0.0 + * + * @param n/a + * @return n/a + */ + + var DisplayFormatFieldSetting = acf.FieldSetting.extend({ + type: '', + name: '', + render: function () { + var $input = this.$('input[type="radio"]:checked'); + + if ($input.val() != 'other') { + this.$('input[type="text"]').val($input.val()); + } + } + }); + var DatePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({ + type: 'date_picker', + name: 'display_format' + }); + var DatePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({ + type: 'date_picker', + name: 'return_format' + }); + acf.registerFieldSetting(DatePickerDisplayFormatFieldSetting); + acf.registerFieldSetting(DatePickerReturnFormatFieldSetting); + /* + * Date Time Picker + * + * This field type requires some extra logic for its settings + * + * @type function + * @date 24/10/13 + * @since 5.0.0 + * + * @param n/a + * @return n/a + */ + + var DateTimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({ + type: 'date_time_picker', + name: 'display_format' + }); + var DateTimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({ + type: 'date_time_picker', + name: 'return_format' + }); + acf.registerFieldSetting(DateTimePickerDisplayFormatFieldSetting); + acf.registerFieldSetting(DateTimePickerReturnFormatFieldSetting); + /* + * Time Picker + * + * This field type requires some extra logic for its settings + * + * @type function + * @date 24/10/13 + * @since 5.0.0 + * + * @param n/a + * @return n/a + */ + + var TimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({ + type: 'time_picker', + name: 'display_format' + }); + var TimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({ + type: 'time_picker', + name: 'return_format' + }); + acf.registerFieldSetting(TimePickerDisplayFormatFieldSetting); + acf.registerFieldSetting(TimePickerReturnFormatFieldSetting); + /** + * Color Picker Settings. + * + * @date 16/12/20 + * @since 5.9.4 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var ColorPickerReturnFormat = acf.FieldSetting.extend({ + type: 'color_picker', + name: 'enable_opacity', + render: function () { + var $return_format_setting = this.fieldObject.$setting('return_format'); + var $default_value_setting = this.fieldObject.$setting('default_value'); + var $labelText = $return_format_setting.find('input[type="radio"][value="string"]').parent('label').contents().last(); + var $defaultPlaceholder = $default_value_setting.find('input[type="text"]'); + var l10n = acf.get('colorPickerL10n'); + + if (this.field.val()) { + $labelText.replaceWith(l10n.rgba_string); + $defaultPlaceholder.attr('placeholder', 'rgba(255,255,255,0.8)'); + } else { + $labelText.replaceWith(l10n.hex_string); + $defaultPlaceholder.attr('placeholder', '#FFFFFF'); + } + } + }); + acf.registerFieldSetting(ColorPickerReturnFormat); })(jQuery); -(function($, undefined){ - - var _acf = acf.getCompatibility( acf ); - - /** - * fieldGroupCompatibility - * - * Compatibility layer for extinct acf.field_group - * - * @date 15/12/17 - * @since 5.7.0 - * - * @param void - * @return void - */ - - _acf.field_group = { - - save_field: function( $field, type ){ - type = (type !== undefined) ? type : 'settings'; - acf.getFieldObject( $field ).save( type ); - }, - - delete_field: function( $field, animate ){ - animate = (animate !== undefined) ? animate : true; - acf.getFieldObject( $field ).delete({ - animate: animate - }); - }, - - update_field_meta: function( $field, name, value ){ - acf.getFieldObject( $field ).prop( name, value ); - }, - - delete_field_meta: function( $field, name ){ - acf.getFieldObject( $field ).prop( name, null ); - } - }; - - /** - * fieldGroupCompatibility.field_object - * - * Compatibility layer for extinct acf.field_group.field_object - * - * @date 15/12/17 - * @since 5.7.0 - * - * @param void - * @return void - */ - - _acf.field_group.field_object = acf.model.extend({ - - // vars - type: '', - o: {}, - $field: null, - $settings: null, - - tag: function( tag ) { - - // vars - var type = this.type; - - - // explode, add 'field' and implode - // - open => open_field - // - change_type => change_field_type - var tags = tag.split('_'); - tags.splice(1, 0, 'field'); - tag = tags.join('_'); - - - // add type - if( type ) { - tag += '/type=' + type; - } - - - // return - return tag; - - }, - - selector: function(){ - - // vars - var selector = '.acf-field-object'; - var type = this.type; - - // add type - if( type ) { - selector += '-' + type; - selector = acf.str_replace('_', '-', selector); - } - - - // return - return selector; - - }, - - _add_action: function( name, callback ) { - - // vars - var model = this; - - - // add action - acf.add_action( this.tag(name), function( $field ){ - - // focus - model.set('$field', $field); - - - // callback - model[ callback ].apply(model, arguments); - - }); - - }, - - _add_filter: function( name, callback ) { - - // vars - var model = this; - - - // add action - acf.add_filter( this.tag(name), function( $field ){ - - // focus - model.set('$field', $field); - - - // callback - model[ callback ].apply(model, arguments); - - }); - - }, - - _add_event: function( name, callback ) { - - // vars - var model = this; - var event = name.substr(0,name.indexOf(' ')); - var selector = name.substr(name.indexOf(' ')+1); - var context = this.selector(); - - - // add event - $(document).on(event, context + ' ' + selector, function( e ){ - - // append $el to event object - e.$el = $(this); - e.$field = e.$el.closest('.acf-field-object'); - - - // focus - model.set('$field', e.$field); - - - // callback - model[ callback ].apply(model, [e]); - - }); - - }, - - _set_$field: function(){ - - // vars - this.o = this.$field.data(); - - - // els - this.$settings = this.$field.find('> .settings > table > tbody'); - - - // focus - this.focus(); - - }, - - focus: function(){ - - // do nothing - - }, - - setting: function( name ) { - - return this.$settings.find('> .acf-field-setting-' + name); - - } - - }); - - - /* - * field - * - * This model fires actions and filters for registered fields - * - * @type function - * @date 21/02/2014 - * @since 3.5.1 - * - * @param n/a - * @return n/a - */ - - var actionManager = new acf.Model({ - - actions: { - 'open_field_object': 'onOpenFieldObject', - 'close_field_object': 'onCloseFieldObject', - 'add_field_object': 'onAddFieldObject', - 'duplicate_field_object': 'onDuplicateFieldObject', - 'delete_field_object': 'onDeleteFieldObject', - 'change_field_object_type': 'onChangeFieldObjectType', - 'change_field_object_label': 'onChangeFieldObjectLabel', - 'change_field_object_name': 'onChangeFieldObjectName', - 'change_field_object_parent': 'onChangeFieldObjectParent', - 'sortstop_field_object': 'onChangeFieldObjectParent' - }, - - onOpenFieldObject: function( field ){ - acf.doAction('open_field', field.$el); - acf.doAction('open_field/type=' + field.get('type'), field.$el); - - acf.doAction('render_field_settings', field.$el); - acf.doAction('render_field_settings/type=' + field.get('type'), field.$el); - }, - - onCloseFieldObject: function( field ){ - acf.doAction('close_field', field.$el); - acf.doAction('close_field/type=' + field.get('type'), field.$el); - }, - - onAddFieldObject: function( field ){ - acf.doAction('add_field', field.$el); - acf.doAction('add_field/type=' + field.get('type'), field.$el); - }, - - onDuplicateFieldObject: function( field ){ - acf.doAction('duplicate_field', field.$el); - acf.doAction('duplicate_field/type=' + field.get('type'), field.$el); - }, - - onDeleteFieldObject: function( field ){ - acf.doAction('delete_field', field.$el); - acf.doAction('delete_field/type=' + field.get('type'), field.$el); - }, - - onChangeFieldObjectType: function( field ){ - acf.doAction('change_field_type', field.$el); - acf.doAction('change_field_type/type=' + field.get('type'), field.$el); - - acf.doAction('render_field_settings', field.$el); - acf.doAction('render_field_settings/type=' + field.get('type'), field.$el); - }, - - onChangeFieldObjectLabel: function( field ){ - acf.doAction('change_field_label', field.$el); - acf.doAction('change_field_label/type=' + field.get('type'), field.$el); - }, - - onChangeFieldObjectName: function( field ){ - acf.doAction('change_field_name', field.$el); - acf.doAction('change_field_name/type=' + field.get('type'), field.$el); - }, - - onChangeFieldObjectParent: function( field ){ - acf.doAction('update_field_parent', field.$el); - } - }); - -})(jQuery); \ No newline at end of file +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group.js": +/*!**********************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group.js ***! + \**********************************************************************/ +/***/ (function() { + +(function ($, undefined) { + /** + * fieldGroupManager + * + * Generic field group functionality + * + * @date 15/12/17 + * @since 5.7.0 + * + * @param void + * @return void + */ + var fieldGroupManager = new acf.Model({ + id: 'fieldGroupManager', + events: { + 'submit #post': 'onSubmit', + 'click a[href="#"]': 'onClick', + 'click .submitdelete': 'onClickTrash' + }, + filters: { + find_fields_args: 'filterFindFieldArgs' + }, + onSubmit: function (e, $el) { + // vars + var $title = $('#titlewrap #title'); // empty + + if (!$title.val()) { + // prevent default + e.preventDefault(); // unlock form + + acf.unlockForm($el); // alert + + alert(acf.__('Field group title is required')); // focus + + $title.trigger('focus'); + } + }, + onClick: function (e) { + e.preventDefault(); + }, + onClickTrash: function (e) { + var result = confirm(acf.__('Move to trash. Are you sure?')); + + if (!result) { + e.preventDefault(); + } + }, + filterFindFieldArgs: function (args) { + args.visible = true; + return args; + } + }); + /** + * screenOptionsManager + * + * Screen options functionality + * + * @date 15/12/17 + * @since 5.7.0 + * + * @param void + * @return void + */ + + var screenOptionsManager = new acf.Model({ + id: 'screenOptionsManager', + wait: 'prepare', + events: { + change: 'onChange' + }, + initialize: function () { + // vars + var $div = $('#adv-settings'); + var $append = $('#acf-append-show-on-screen'); // append + + $div.find('.metabox-prefs').append($append.html()); + $div.find('.metabox-prefs br').remove(); // clean up + + $append.remove(); // initialize + + this.$el = $('#acf-field-key-hide'); // render + + this.render(); + }, + isChecked: function () { + return this.$el.prop('checked'); + }, + onChange: function (e, $el) { + var val = this.isChecked() ? 1 : 0; + acf.updateUserSetting('show_field_keys', val); + this.render(); + }, + render: function () { + if (this.isChecked()) { + $('#acf-field-group-fields').addClass('show-field-keys'); + } else { + $('#acf-field-group-fields').removeClass('show-field-keys'); + } + } + }); + /** + * appendFieldManager + * + * Appends fields together + * + * @date 15/12/17 + * @since 5.7.0 + * + * @param void + * @return void + */ + + var appendFieldManager = new acf.Model({ + actions: { + new_field: 'onNewField' + }, + onNewField: function (field) { + // bail ealry if not append + if (!field.has('append')) return; // vars + + var append = field.get('append'); + var $sibling = field.$el.siblings('[data-name="' + append + '"]').first(); // bail early if no sibling + + if (!$sibling.length) return; // ul + + var $div = $sibling.children('.acf-input'); + var $ul = $div.children('ul'); // create ul + + if (!$ul.length) { + $div.wrapInner(''); + $ul = $div.children('ul'); + } // li + + + var html = field.$('.acf-input').html(); + var $li = $('
  • ' + html + '
  • '); + $ul.append($li); + $ul.attr('data-cols', $ul.children().length); // clean up + + field.remove(); + } + }); +})(jQuery); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ !function() { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function() { return module['default']; } : +/******/ function() { return module; }; +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ !function() { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +!function() { +"use strict"; +/*!*************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/acf-field-group.js ***! + \*************************************************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _field_group_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_field-group.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group.js"); +/* harmony import */ var _field_group_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_field_group_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _field_group_field_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_field-group-field.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-field.js"); +/* harmony import */ var _field_group_field_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_field_group_field_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _field_group_settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_field-group-settings.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-settings.js"); +/* harmony import */ var _field_group_settings_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_field_group_settings_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _field_group_conditions_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_field-group-conditions.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-conditions.js"); +/* harmony import */ var _field_group_conditions_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_field_group_conditions_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _field_group_fields_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_field-group-fields.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-fields.js"); +/* harmony import */ var _field_group_fields_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_field_group_fields_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _field_group_locations_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_field-group-locations.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-locations.js"); +/* harmony import */ var _field_group_locations_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_field_group_locations_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _field_group_compatibility_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_field-group-compatibility.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-compatibility.js"); +/* harmony import */ var _field_group_compatibility_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_field_group_compatibility_js__WEBPACK_IMPORTED_MODULE_6__); + + + + + + + +}(); +/******/ })() +; +//# sourceMappingURL=acf-field-group.js.map \ No newline at end of file diff --git a/assets/build/js/acf-field-group.js.map b/assets/build/js/acf-field-group.js.map new file mode 100644 index 0000000..bea09e5 --- /dev/null +++ b/assets/build/js/acf-field-group.js.map @@ -0,0 +1 @@ +{"version":3,"file":"acf-field-group.js","mappings":"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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-compatibility.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-conditions.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-field.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-fields.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-locations.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-settings.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group.js","webpack://advanced-custom-fields-pro/webpack/bootstrap","webpack://advanced-custom-fields-pro/webpack/runtime/compat get default export","webpack://advanced-custom-fields-pro/webpack/runtime/define property getters","webpack://advanced-custom-fields-pro/webpack/runtime/hasOwnProperty shorthand","webpack://advanced-custom-fields-pro/webpack/runtime/make namespace object","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/acf-field-group.js"],"sourcesContent":["( function ( $, undefined ) {\n\tvar _acf = acf.getCompatibility( acf );\n\n\t/**\n\t * fieldGroupCompatibility\n\t *\n\t * Compatibility layer for extinct acf.field_group\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\t_acf.field_group = {\n\t\tsave_field: function ( $field, type ) {\n\t\t\ttype = type !== undefined ? type : 'settings';\n\t\t\tacf.getFieldObject( $field ).save( type );\n\t\t},\n\n\t\tdelete_field: function ( $field, animate ) {\n\t\t\tanimate = animate !== undefined ? animate : true;\n\t\t\tacf.getFieldObject( $field ).delete( {\n\t\t\t\tanimate: animate,\n\t\t\t} );\n\t\t},\n\n\t\tupdate_field_meta: function ( $field, name, value ) {\n\t\t\tacf.getFieldObject( $field ).prop( name, value );\n\t\t},\n\n\t\tdelete_field_meta: function ( $field, name ) {\n\t\t\tacf.getFieldObject( $field ).prop( name, null );\n\t\t},\n\t};\n\n\t/**\n\t * fieldGroupCompatibility.field_object\n\t *\n\t * Compatibility layer for extinct acf.field_group.field_object\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\t_acf.field_group.field_object = acf.model.extend( {\n\t\t// vars\n\t\ttype: '',\n\t\to: {},\n\t\t$field: null,\n\t\t$settings: null,\n\n\t\ttag: function ( tag ) {\n\t\t\t// vars\n\t\t\tvar type = this.type;\n\n\t\t\t// explode, add 'field' and implode\n\t\t\t// - open \t\t\t=> open_field\n\t\t\t// - change_type\t=> change_field_type\n\t\t\tvar tags = tag.split( '_' );\n\t\t\ttags.splice( 1, 0, 'field' );\n\t\t\ttag = tags.join( '_' );\n\n\t\t\t// add type\n\t\t\tif ( type ) {\n\t\t\t\ttag += '/type=' + type;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn tag;\n\t\t},\n\n\t\tselector: function () {\n\t\t\t// vars\n\t\t\tvar selector = '.acf-field-object';\n\t\t\tvar type = this.type;\n\n\t\t\t// add type\n\t\t\tif ( type ) {\n\t\t\t\tselector += '-' + type;\n\t\t\t\tselector = acf.str_replace( '_', '-', selector );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn selector;\n\t\t},\n\n\t\t_add_action: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\n\t\t\t// add action\n\t\t\tacf.add_action( this.tag( name ), function ( $field ) {\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', $field );\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t} );\n\t\t},\n\n\t\t_add_filter: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\n\t\t\t// add action\n\t\t\tacf.add_filter( this.tag( name ), function ( $field ) {\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', $field );\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t} );\n\t\t},\n\n\t\t_add_event: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\t\t\tvar event = name.substr( 0, name.indexOf( ' ' ) );\n\t\t\tvar selector = name.substr( name.indexOf( ' ' ) + 1 );\n\t\t\tvar context = this.selector();\n\n\t\t\t// add event\n\t\t\t$( document ).on( event, context + ' ' + selector, function ( e ) {\n\t\t\t\t// append $el to event object\n\t\t\t\te.$el = $( this );\n\t\t\t\te.$field = e.$el.closest( '.acf-field-object' );\n\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', e.$field );\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, [ e ] );\n\t\t\t} );\n\t\t},\n\n\t\t_set_$field: function () {\n\t\t\t// vars\n\t\t\tthis.o = this.$field.data();\n\n\t\t\t// els\n\t\t\tthis.$settings = this.$field.find( '> .settings > table > tbody' );\n\n\t\t\t// focus\n\t\t\tthis.focus();\n\t\t},\n\n\t\tfocus: function () {\n\t\t\t// do nothing\n\t\t},\n\n\t\tsetting: function ( name ) {\n\t\t\treturn this.$settings.find( '> .acf-field-setting-' + name );\n\t\t},\n\t} );\n\n\t/*\n\t * field\n\t *\n\t * This model fires actions and filters for registered fields\n\t *\n\t * @type\tfunction\n\t * @date\t21/02/2014\n\t * @since\t3.5.1\n\t *\n\t * @param\tn/a\n\t * @return\tn/a\n\t */\n\n\tvar actionManager = new acf.Model( {\n\t\tactions: {\n\t\t\topen_field_object: 'onOpenFieldObject',\n\t\t\tclose_field_object: 'onCloseFieldObject',\n\t\t\tadd_field_object: 'onAddFieldObject',\n\t\t\tduplicate_field_object: 'onDuplicateFieldObject',\n\t\t\tdelete_field_object: 'onDeleteFieldObject',\n\t\t\tchange_field_object_type: 'onChangeFieldObjectType',\n\t\t\tchange_field_object_label: 'onChangeFieldObjectLabel',\n\t\t\tchange_field_object_name: 'onChangeFieldObjectName',\n\t\t\tchange_field_object_parent: 'onChangeFieldObjectParent',\n\t\t\tsortstop_field_object: 'onChangeFieldObjectParent',\n\t\t},\n\n\t\tonOpenFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'open_field', field.$el );\n\t\t\tacf.doAction( 'open_field/type=' + field.get( 'type' ), field.$el );\n\n\t\t\tacf.doAction( 'render_field_settings', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'render_field_settings/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonCloseFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'close_field', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'close_field/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonAddFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'add_field', field.$el );\n\t\t\tacf.doAction( 'add_field/type=' + field.get( 'type' ), field.$el );\n\t\t},\n\n\t\tonDuplicateFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'duplicate_field', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'duplicate_field/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonDeleteFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'delete_field', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'delete_field/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonChangeFieldObjectType: function ( field ) {\n\t\t\tacf.doAction( 'change_field_type', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'change_field_type/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\n\t\t\tacf.doAction( 'render_field_settings', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'render_field_settings/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonChangeFieldObjectLabel: function ( field ) {\n\t\t\tacf.doAction( 'change_field_label', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'change_field_label/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonChangeFieldObjectName: function ( field ) {\n\t\t\tacf.doAction( 'change_field_name', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'change_field_name/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonChangeFieldObjectParent: function ( field ) {\n\t\t\tacf.doAction( 'update_field_parent', field.$el );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * ConditionalLogicFieldSetting\n\t *\n\t * description\n\t *\n\t * @date\t3/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar ConditionalLogicFieldSetting = acf.FieldSetting.extend( {\n\t\ttype: '',\n\t\tname: 'conditional_logic',\n\t\tevents: {\n\t\t\t'change .conditions-toggle': 'onChangeToggle',\n\t\t\t'click .add-conditional-group': 'onClickAddGroup',\n\t\t\t'focus .condition-rule-field': 'onFocusField',\n\t\t\t'change .condition-rule-field': 'onChangeField',\n\t\t\t'change .condition-rule-operator': 'onChangeOperator',\n\t\t\t'click .add-conditional-rule': 'onClickAdd',\n\t\t\t'click .remove-conditional-rule': 'onClickRemove',\n\t\t},\n\n\t\t$rule: false,\n\n\t\tscope: function ( $rule ) {\n\t\t\tthis.$rule = $rule;\n\t\t\treturn this;\n\t\t},\n\n\t\truleData: function ( name, value ) {\n\t\t\treturn this.$rule.data.apply( this.$rule, arguments );\n\t\t},\n\n\t\t$input: function ( name ) {\n\t\t\treturn this.$rule.find( '.condition-rule-' + name );\n\t\t},\n\n\t\t$td: function ( name ) {\n\t\t\treturn this.$rule.find( 'td.' + name );\n\t\t},\n\n\t\t$toggle: function () {\n\t\t\treturn this.$( '.conditions-toggle' );\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.rule-groups' );\n\t\t},\n\n\t\t$groups: function () {\n\t\t\treturn this.$( '.rule-group' );\n\t\t},\n\n\t\t$rules: function () {\n\t\t\treturn this.$( '.rule' );\n\t\t},\n\n\t\topen: function () {\n\t\t\tvar $div = this.$control();\n\t\t\t$div.show();\n\t\t\tacf.enable( $div );\n\t\t},\n\n\t\tclose: function () {\n\t\t\tvar $div = this.$control();\n\t\t\t$div.hide();\n\t\t\tacf.disable( $div );\n\t\t},\n\n\t\trender: function () {\n\t\t\t// show\n\t\t\tif ( this.$toggle().prop( 'checked' ) ) {\n\t\t\t\tthis.renderRules();\n\t\t\t\tthis.open();\n\n\t\t\t\t// hide\n\t\t\t} else {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t},\n\n\t\trenderRules: function () {\n\t\t\t// vars\n\t\t\tvar self = this;\n\n\t\t\t// loop\n\t\t\tthis.$rules().each( function () {\n\t\t\t\tself.renderRule( $( this ) );\n\t\t\t} );\n\t\t},\n\n\t\trenderRule: function ( $rule ) {\n\t\t\tthis.scope( $rule );\n\t\t\tthis.renderField();\n\t\t\tthis.renderOperator();\n\t\t\tthis.renderValue();\n\t\t},\n\n\t\trenderField: function () {\n\t\t\t// vars\n\t\t\tvar choices = [];\n\t\t\tvar validFieldTypes = [];\n\t\t\tvar cid = this.fieldObject.cid;\n\t\t\tvar $select = this.$input( 'field' );\n\n\t\t\t// loop\n\t\t\tacf.getFieldObjects().map( function ( fieldObject ) {\n\t\t\t\t// vars\n\t\t\t\tvar choice = {\n\t\t\t\t\tid: fieldObject.getKey(),\n\t\t\t\t\ttext: fieldObject.getLabel(),\n\t\t\t\t};\n\n\t\t\t\t// bail early if is self\n\t\t\t\tif ( fieldObject.cid === cid ) {\n\t\t\t\t\tchoice.text += acf.__( '(this field)' );\n\t\t\t\t\tchoice.disabled = true;\n\t\t\t\t}\n\n\t\t\t\t// get selected field conditions\n\t\t\t\tvar conditionTypes = acf.getConditionTypes( {\n\t\t\t\t\tfieldType: fieldObject.getType(),\n\t\t\t\t} );\n\n\t\t\t\t// bail early if no types\n\t\t\t\tif ( ! conditionTypes.length ) {\n\t\t\t\t\tchoice.disabled = true;\n\t\t\t\t}\n\n\t\t\t\t// calulate indents\n\t\t\t\tvar indents = fieldObject.getParents().length;\n\t\t\t\tchoice.text = '- '.repeat( indents ) + choice.text;\n\n\t\t\t\t// append\n\t\t\t\tchoices.push( choice );\n\t\t\t} );\n\n\t\t\t// allow for scenario where only one field exists\n\t\t\tif ( ! choices.length ) {\n\t\t\t\tchoices.push( {\n\t\t\t\t\tid: '',\n\t\t\t\t\ttext: acf.__( 'No toggle fields available' ),\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// render\n\t\t\tacf.renderSelect( $select, choices );\n\n\t\t\t// set\n\t\t\tthis.ruleData( 'field', $select.val() );\n\t\t},\n\n\t\trenderOperator: function () {\n\t\t\t// bail early if no field selected\n\t\t\tif ( ! this.ruleData( 'field' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $select = this.$input( 'operator' );\n\t\t\tvar val = $select.val();\n\t\t\tvar choices = [];\n\n\t\t\t// set saved value on first render\n\t\t\t// - this allows the 2nd render to correctly select an option\n\t\t\tif ( $select.val() === null ) {\n\t\t\t\tacf.renderSelect( $select, [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: this.ruleData( 'operator' ),\n\t\t\t\t\t\ttext: '',\n\t\t\t\t\t},\n\t\t\t\t] );\n\t\t\t}\n\n\t\t\t// get selected field\n\t\t\tvar $field = acf.findFieldObject( this.ruleData( 'field' ) );\n\t\t\tvar field = acf.getFieldObject( $field );\n\n\t\t\t// get selected field conditions\n\t\t\tvar conditionTypes = acf.getConditionTypes( {\n\t\t\t\tfieldType: field.getType(),\n\t\t\t} );\n\n\t\t\t// html\n\t\t\tconditionTypes.map( function ( model ) {\n\t\t\t\tchoices.push( {\n\t\t\t\t\tid: model.prototype.operator,\n\t\t\t\t\ttext: model.prototype.label,\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// render\n\t\t\tacf.renderSelect( $select, choices );\n\n\t\t\t// set\n\t\t\tthis.ruleData( 'operator', $select.val() );\n\t\t},\n\n\t\trenderValue: function () {\n\t\t\t// bail early if no field selected\n\t\t\tif ( ! this.ruleData( 'field' ) || ! this.ruleData( 'operator' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $select = this.$input( 'value' );\n\t\t\tvar $td = this.$td( 'value' );\n\t\t\tvar val = $select.val();\n\n\t\t\t// get selected field\n\t\t\tvar $field = acf.findFieldObject( this.ruleData( 'field' ) );\n\t\t\tvar field = acf.getFieldObject( $field );\n\n\t\t\t// get selected field conditions\n\t\t\tvar conditionTypes = acf.getConditionTypes( {\n\t\t\t\tfieldType: field.getType(),\n\t\t\t\toperator: this.ruleData( 'operator' ),\n\t\t\t} );\n\n\t\t\t// html\n\t\t\tvar conditionType = conditionTypes[ 0 ].prototype;\n\t\t\tvar choices = conditionType.choices( field );\n\n\t\t\t// create html: array\n\t\t\tif ( choices instanceof Array ) {\n\t\t\t\tvar $newSelect = $( '' );\n\t\t\t\tacf.renderSelect( $newSelect, choices );\n\n\t\t\t\t// create html: string ()\n\t\t\t} else {\n\t\t\t\tvar $newSelect = $( choices );\n\t\t\t}\n\n\t\t\t// append\n\t\t\t$select.detach();\n\t\t\t$td.html( $newSelect );\n\n\t\t\t// copy attrs\n\t\t\t// timeout needed to avoid browser bug where \"disabled\" attribute is not applied\n\t\t\tsetTimeout( function () {\n\t\t\t\t[ 'class', 'name', 'id' ].map( function ( attr ) {\n\t\t\t\t\t$newSelect.attr( attr, $select.attr( attr ) );\n\t\t\t\t} );\n\t\t\t}, 0 );\n\n\t\t\t// select existing value (if not a disabled input)\n\t\t\tif ( ! $newSelect.prop( 'disabled' ) ) {\n\t\t\t\tacf.val( $newSelect, val, true );\n\t\t\t}\n\n\t\t\t// set\n\t\t\tthis.ruleData( 'value', $newSelect.val() );\n\t\t},\n\n\t\tonChangeToggle: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\tonClickAddGroup: function ( e, $el ) {\n\t\t\tthis.addGroup();\n\t\t},\n\n\t\taddGroup: function () {\n\t\t\t// vars\n\t\t\tvar $group = this.$( '.rule-group:last' );\n\n\t\t\t// duplicate\n\t\t\tvar $group2 = acf.duplicate( $group );\n\n\t\t\t// update h4\n\t\t\t$group2.find( 'h4' ).text( acf.__( 'or' ) );\n\n\t\t\t// remove all tr's except the first one\n\t\t\t$group2.find( 'tr' ).not( ':first' ).remove();\n\n\t\t\t// save field\n\t\t\tthis.fieldObject.save();\n\t\t},\n\n\t\tonFocusField: function ( e, $el ) {\n\t\t\tthis.renderField();\n\t\t},\n\n\t\tonChangeField: function ( e, $el ) {\n\t\t\t// scope\n\t\t\tthis.scope( $el.closest( '.rule' ) );\n\n\t\t\t// set data\n\t\t\tthis.ruleData( 'field', $el.val() );\n\n\t\t\t// render\n\t\t\tthis.renderOperator();\n\t\t\tthis.renderValue();\n\t\t},\n\n\t\tonChangeOperator: function ( e, $el ) {\n\t\t\t// scope\n\t\t\tthis.scope( $el.closest( '.rule' ) );\n\n\t\t\t// set data\n\t\t\tthis.ruleData( 'operator', $el.val() );\n\n\t\t\t// render\n\t\t\tthis.renderValue();\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\t// duplciate\n\t\t\tvar $rule = acf.duplicate( $el.closest( '.rule' ) );\n\n\t\t\t// render\n\t\t\tthis.renderRule( $rule );\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $rule = $el.closest( '.rule' );\n\n\t\t\t// save field\n\t\t\tthis.fieldObject.save();\n\n\t\t\t// remove group\n\t\t\tif ( $rule.siblings( '.rule' ).length == 0 ) {\n\t\t\t\t$rule.closest( '.rule-group' ).remove();\n\t\t\t}\n\n\t\t\t// remove\n\t\t\t$rule.remove();\n\t\t},\n\t} );\n\n\tacf.registerFieldSetting( ConditionalLogicFieldSetting );\n\n\t/**\n\t * conditionalLogicHelper\n\t *\n\t * description\n\t *\n\t * @date\t20/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar conditionalLogicHelper = new acf.Model( {\n\t\tactions: {\n\t\t\tduplicate_field_objects: 'onDuplicateFieldObjects',\n\t\t},\n\n\t\tonDuplicateFieldObjects: function ( children, newField, prevField ) {\n\t\t\t// vars\n\t\t\tvar data = {};\n\t\t\tvar $selects = $();\n\n\t\t\t// reference change in key\n\t\t\tchildren.map( function ( child ) {\n\t\t\t\t// store reference of changed key\n\t\t\t\tdata[ child.get( 'prevKey' ) ] = child.get( 'key' );\n\n\t\t\t\t// append condition select\n\t\t\t\t$selects = $selects.add( child.$( '.condition-rule-field' ) );\n\t\t\t} );\n\n\t\t\t// loop\n\t\t\t$selects.each( function () {\n\t\t\t\t// vars\n\t\t\t\tvar $select = $( this );\n\t\t\t\tvar val = $select.val();\n\n\t\t\t\t// bail early if val is not a ref key\n\t\t\t\tif ( ! val || ! data[ val ] ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// modify selected option\n\t\t\t\t$select.find( 'option:selected' ).attr( 'value', data[ val ] );\n\n\t\t\t\t// set new val\n\t\t\t\t$select.val( data[ val ] );\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.FieldObject = acf.Model.extend( {\n\t\t// class used to avoid nested event triggers\n\t\teventScope: '.acf-field-object',\n\n\t\t// events\n\t\tevents: {\n\t\t\t'click .edit-field': 'onClickEdit',\n\t\t\t'click .delete-field': 'onClickDelete',\n\t\t\t'click .duplicate-field': 'duplicate',\n\t\t\t'click .move-field': 'move',\n\n\t\t\t'change .field-type': 'onChangeType',\n\t\t\t'change .field-required': 'onChangeRequired',\n\t\t\t'blur .field-label': 'onChangeLabel',\n\t\t\t'blur .field-name': 'onChangeName',\n\n\t\t\tchange: 'onChange',\n\t\t\tchanged: 'onChanged',\n\t\t},\n\n\t\t// data\n\t\tdata: {\n\t\t\t// Similar to ID, but used for HTML puposes.\n\t\t\t// It is possbile for a new field to have an ID of 0, but an id of 'field_123' */\n\t\t\tid: 0,\n\n\t\t\t// The field key ('field_123')\n\t\t\tkey: '',\n\n\t\t\t// The field type (text, image, etc)\n\t\t\ttype: '',\n\n\t\t\t// The $post->ID of this field\n\t\t\t//ID: 0,\n\n\t\t\t// The field's parent\n\t\t\t//parent: 0,\n\n\t\t\t// The menu order\n\t\t\t//menu_order: 0\n\t\t},\n\n\t\tsetup: function ( $field ) {\n\t\t\t// set $el\n\t\t\tthis.$el = $field;\n\n\t\t\t// inherit $field data (id, key, type)\n\t\t\tthis.inherit( $field );\n\n\t\t\t// load additional props\n\t\t\t// - this won't trigger 'changed'\n\t\t\tthis.prop( 'ID' );\n\t\t\tthis.prop( 'parent' );\n\t\t\tthis.prop( 'menu_order' );\n\t\t},\n\n\t\t$input: function ( name ) {\n\t\t\treturn $( '#' + this.getInputId() + '-' + name );\n\t\t},\n\n\t\t$meta: function () {\n\t\t\treturn this.$( '.meta:first' );\n\t\t},\n\n\t\t$handle: function () {\n\t\t\treturn this.$( '.handle:first' );\n\t\t},\n\n\t\t$settings: function () {\n\t\t\treturn this.$( '.settings:first' );\n\t\t},\n\n\t\t$setting: function ( name ) {\n\t\t\treturn this.$(\n\t\t\t\t'.acf-field-settings:first > .acf-field-setting-' + name\n\t\t\t);\n\t\t},\n\n\t\tgetParent: function () {\n\t\t\treturn acf.getFieldObjects( { child: this.$el, limit: 1 } ).pop();\n\t\t},\n\n\t\tgetParents: function () {\n\t\t\treturn acf.getFieldObjects( { child: this.$el } );\n\t\t},\n\n\t\tgetFields: function () {\n\t\t\treturn acf.getFieldObjects( { parent: this.$el } );\n\t\t},\n\n\t\tgetInputName: function () {\n\t\t\treturn 'acf_fields[' + this.get( 'id' ) + ']';\n\t\t},\n\n\t\tgetInputId: function () {\n\t\t\treturn 'acf_fields-' + this.get( 'id' );\n\t\t},\n\n\t\tnewInput: function ( name, value ) {\n\t\t\t// vars\n\t\t\tvar inputId = this.getInputId();\n\t\t\tvar inputName = this.getInputName();\n\n\t\t\t// append name\n\t\t\tif ( name ) {\n\t\t\t\tinputId += '-' + name;\n\t\t\t\tinputName += '[' + name + ']';\n\t\t\t}\n\n\t\t\t// create input (avoid HTML + JSON value issues)\n\t\t\tvar $input = $( '' ).attr( {\n\t\t\t\tid: inputId,\n\t\t\t\tname: inputName,\n\t\t\t\tvalue: value,\n\t\t\t} );\n\t\t\tthis.$( '> .meta' ).append( $input );\n\n\t\t\t// return\n\t\t\treturn $input;\n\t\t},\n\n\t\tgetProp: function ( name ) {\n\t\t\t// check data\n\t\t\tif ( this.has( name ) ) {\n\t\t\t\treturn this.get( name );\n\t\t\t}\n\n\t\t\t// get input value\n\t\t\tvar $input = this.$input( name );\n\t\t\tvar value = $input.length ? $input.val() : null;\n\n\t\t\t// set data silently (cache)\n\t\t\tthis.set( name, value, true );\n\n\t\t\t// return\n\t\t\treturn value;\n\t\t},\n\n\t\tsetProp: function ( name, value ) {\n\t\t\t// get input\n\t\t\tvar $input = this.$input( name );\n\t\t\tvar prevVal = $input.val();\n\n\t\t\t// create if new\n\t\t\tif ( ! $input.length ) {\n\t\t\t\t$input = this.newInput( name, value );\n\t\t\t}\n\n\t\t\t// remove\n\t\t\tif ( value === null ) {\n\t\t\t\t$input.remove();\n\n\t\t\t\t// update\n\t\t\t} else {\n\t\t\t\t$input.val( value );\n\t\t\t}\n\n\t\t\t//console.log('setProp', name, value, this);\n\n\t\t\t// set data silently (cache)\n\t\t\tif ( ! this.has( name ) ) {\n\t\t\t\t//console.log('setting silently');\n\t\t\t\tthis.set( name, value, true );\n\n\t\t\t\t// set data allowing 'change' event to fire\n\t\t\t} else {\n\t\t\t\t//console.log('setting loudly!');\n\t\t\t\tthis.set( name, value );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn this;\n\t\t},\n\n\t\tprop: function ( name, value ) {\n\t\t\tif ( value !== undefined ) {\n\t\t\t\treturn this.setProp( name, value );\n\t\t\t} else {\n\t\t\t\treturn this.getProp( name );\n\t\t\t}\n\t\t},\n\n\t\tprops: function ( props ) {\n\t\t\tObject.keys( props ).map( function ( key ) {\n\t\t\t\tthis.setProp( key, props[ key ] );\n\t\t\t}, this );\n\t\t},\n\n\t\tgetLabel: function () {\n\t\t\t// get label with empty default\n\t\t\tvar label = this.prop( 'label' );\n\t\t\tif ( label === '' ) {\n\t\t\t\tlabel = acf.__( '(no label)' );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn label;\n\t\t},\n\n\t\tgetName: function () {\n\t\t\treturn this.prop( 'name' );\n\t\t},\n\n\t\tgetType: function () {\n\t\t\treturn this.prop( 'type' );\n\t\t},\n\n\t\tgetTypeLabel: function () {\n\t\t\tvar type = this.prop( 'type' );\n\t\t\tvar types = acf.get( 'fieldTypes' );\n\t\t\treturn types[ type ] ? types[ type ].label : type;\n\t\t},\n\n\t\tgetKey: function () {\n\t\t\treturn this.prop( 'key' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.addProFields();\n\t\t},\n\n\t\taddProFields: function () {\n\t\t\t// Make sure we're only running this on free version.\n\t\t\tif ( acf.data.fieldTypes.hasOwnProperty( 'clone' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Make sure we haven't appended these fields before.\n\t\t\tvar $fieldTypeSelect = $( '.field-type' ).not(\n\t\t\t\t'.acf-free-field-type'\n\t\t\t);\n\n\t\t\t// Append pro fields to \"Layout\" group.\n\t\t\tvar $layoutGroup = $fieldTypeSelect\n\t\t\t\t.find( 'optgroup option[value=\"group\"]' )\n\t\t\t\t.parent();\n\t\t\t$layoutGroup.append(\n\t\t\t\t'' +\n\t\t\t\t\t'' +\n\t\t\t\t\t''\n\t\t\t);\n\n\t\t\t// Add pro fields to \"Content\" group.\n\t\t\tvar $contentGroup = $fieldTypeSelect\n\t\t\t\t.find( 'optgroup option[value=\"image\"]' )\n\t\t\t\t.parent();\n\t\t\t$contentGroup.append(\n\t\t\t\t''\n\t\t\t);\n\n\t\t\t$fieldTypeSelect.addClass( 'acf-free-field-type' );\n\t\t},\n\n\t\trender: function () {\n\t\t\t// vars\n\t\t\tvar $handle = this.$( '.handle:first' );\n\t\t\tvar menu_order = this.prop( 'menu_order' );\n\t\t\tvar label = this.getLabel();\n\t\t\tvar name = this.prop( 'name' );\n\t\t\tvar type = this.getTypeLabel();\n\t\t\tvar key = this.prop( 'key' );\n\t\t\tvar required = this.$input( 'required' ).prop( 'checked' );\n\n\t\t\t// update menu order\n\t\t\t$handle.find( '.acf-icon' ).html( parseInt( menu_order ) + 1 );\n\n\t\t\t// update required\n\t\t\tif ( required ) {\n\t\t\t\tlabel += ' *';\n\t\t\t}\n\n\t\t\t// update label\n\t\t\t$handle.find( '.li-field-label strong a' ).html( label );\n\n\t\t\t// update name\n\t\t\t$handle.find( '.li-field-name' ).text( name );\n\n\t\t\t// update type\n\t\t\t$handle.find( '.li-field-type' ).text( type );\n\n\t\t\t// update key\n\t\t\t$handle.find( '.li-field-key' ).text( key );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'render_field_object', this );\n\t\t},\n\n\t\trefresh: function () {\n\t\t\tacf.doAction( 'refresh_field_object', this );\n\t\t},\n\n\t\tisOpen: function () {\n\t\t\treturn this.$el.hasClass( 'open' );\n\t\t},\n\n\t\tonClickEdit: function ( e ) {\n\t\t\tthis.isOpen() ? this.close() : this.open();\n\t\t},\n\n\t\topen: function () {\n\t\t\t// vars\n\t\t\tvar $settings = this.$el.children( '.settings' );\n\n\t\t\t// open\n\t\t\t$settings.slideDown();\n\t\t\tthis.$el.addClass( 'open' );\n\n\t\t\t// action (open)\n\t\t\tacf.doAction( 'open_field_object', this );\n\t\t\tthis.trigger( 'openFieldObject' );\n\n\t\t\t// action (show)\n\t\t\tacf.doAction( 'show', $settings );\n\t\t},\n\n\t\tclose: function () {\n\t\t\t// vars\n\t\t\tvar $settings = this.$el.children( '.settings' );\n\n\t\t\t// close\n\t\t\t$settings.slideUp();\n\t\t\tthis.$el.removeClass( 'open' );\n\n\t\t\t// action (close)\n\t\t\tacf.doAction( 'close_field_object', this );\n\t\t\tthis.trigger( 'closeFieldObject' );\n\n\t\t\t// action (hide)\n\t\t\tacf.doAction( 'hide', $settings );\n\t\t},\n\n\t\tserialize: function () {\n\t\t\treturn acf.serialize( this.$el, this.getInputName() );\n\t\t},\n\n\t\tsave: function ( type ) {\n\t\t\t// defaults\n\t\t\ttype = type || 'settings'; // meta, settings\n\n\t\t\t// vars\n\t\t\tvar save = this.getProp( 'save' );\n\n\t\t\t// bail if already saving settings\n\t\t\tif ( save === 'settings' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// prop\n\t\t\tthis.setProp( 'save', type );\n\n\t\t\t// debug\n\t\t\tthis.$el.attr( 'data-save', type );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'save_field_object', this, type );\n\t\t},\n\n\t\tsubmit: function () {\n\t\t\t// vars\n\t\t\tvar inputName = this.getInputName();\n\t\t\tvar save = this.get( 'save' );\n\n\t\t\t// close\n\t\t\tif ( this.isOpen() ) {\n\t\t\t\tthis.close();\n\t\t\t}\n\n\t\t\t// allow all inputs to save\n\t\t\tif ( save == 'settings' ) {\n\t\t\t\t// do nothing\n\t\t\t\t// allow only meta inputs to save\n\t\t\t} else if ( save == 'meta' ) {\n\t\t\t\tthis.$( '> .settings [name^=\"' + inputName + '\"]' ).remove();\n\n\t\t\t\t// prevent all inputs from saving\n\t\t\t} else {\n\t\t\t\tthis.$( '[name^=\"' + inputName + '\"]' ).remove();\n\t\t\t}\n\n\t\t\t// action\n\t\t\tacf.doAction( 'submit_field_object', this );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\t// save settings\n\t\t\tthis.save();\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'change_field_object', this );\n\t\t},\n\n\t\tonChanged: function ( e, $el, name, value ) {\n\t\t\t// ignore 'save'\n\t\t\tif ( name == 'save' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// save meta\n\t\t\tif ( [ 'menu_order', 'parent' ].indexOf( name ) > -1 ) {\n\t\t\t\tthis.save( 'meta' );\n\n\t\t\t\t// save field\n\t\t\t} else {\n\t\t\t\tthis.save();\n\t\t\t}\n\n\t\t\t// render\n\t\t\tif (\n\t\t\t\t[\n\t\t\t\t\t'menu_order',\n\t\t\t\t\t'label',\n\t\t\t\t\t'required',\n\t\t\t\t\t'name',\n\t\t\t\t\t'type',\n\t\t\t\t\t'key',\n\t\t\t\t].indexOf( name ) > -1\n\t\t\t) {\n\t\t\t\tthis.render();\n\t\t\t}\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'change_field_object_' + name, this, value );\n\t\t},\n\n\t\tonChangeLabel: function ( e, $el ) {\n\t\t\t// set\n\t\t\tvar label = $el.val();\n\t\t\tthis.set( 'label', label );\n\n\t\t\t// render name\n\t\t\tif ( this.prop( 'name' ) == '' ) {\n\t\t\t\tvar name = acf.applyFilters(\n\t\t\t\t\t'generate_field_object_name',\n\t\t\t\t\tacf.strSanitize( label ),\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t\tthis.prop( 'name', name );\n\t\t\t}\n\t\t},\n\n\t\tonChangeName: function ( e, $el ) {\n\t\t\t// set\n\t\t\tvar name = $el.val();\n\t\t\tthis.set( 'name', name );\n\n\t\t\t// error\n\t\t\tif ( name.substr( 0, 6 ) === 'field_' ) {\n\t\t\t\talert(\n\t\t\t\t\tacf.__(\n\t\t\t\t\t\t'The string \"field_\" may not be used at the start of a field name'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\tonChangeRequired: function ( e, $el ) {\n\t\t\t// set\n\t\t\tvar required = $el.prop( 'checked' ) ? 1 : 0;\n\t\t\tthis.set( 'required', required );\n\t\t},\n\n\t\tdelete: function ( args ) {\n\t\t\t// defaults\n\t\t\targs = acf.parseArgs( args, {\n\t\t\t\tanimate: true,\n\t\t\t} );\n\n\t\t\t// add to remove list\n\t\t\tvar id = this.prop( 'ID' );\n\n\t\t\tif ( id ) {\n\t\t\t\tvar $input = $( '#_acf_delete_fields' );\n\t\t\t\tvar newVal = $input.val() + '|' + id;\n\t\t\t\t$input.val( newVal );\n\t\t\t}\n\n\t\t\t// action\n\t\t\tacf.doAction( 'delete_field_object', this );\n\n\t\t\t// animate\n\t\t\tif ( args.animate ) {\n\t\t\t\tthis.removeAnimate();\n\t\t\t} else {\n\t\t\t\tthis.remove();\n\t\t\t}\n\t\t},\n\n\t\tonClickDelete: function ( e, $el ) {\n\t\t\t// Bypass confirmation when holding down \"shift\" key.\n\t\t\tif ( e.shiftKey ) {\n\t\t\t\treturn this.delete();\n\t\t\t}\n\n\t\t\t// add class\n\t\t\tthis.$el.addClass( '-hover' );\n\n\t\t\t// add tooltip\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\tconfirmRemove: true,\n\t\t\t\ttarget: $el,\n\t\t\t\tcontext: this,\n\t\t\t\tconfirm: function () {\n\t\t\t\t\tthis.delete();\n\t\t\t\t},\n\t\t\t\tcancel: function () {\n\t\t\t\t\tthis.$el.removeClass( '-hover' );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tremoveAnimate: function () {\n\t\t\t// vars\n\t\t\tvar field = this;\n\t\t\tvar $list = this.$el.parent();\n\t\t\tvar $fields = acf.findFieldObjects( {\n\t\t\t\tsibling: this.$el,\n\t\t\t} );\n\n\t\t\t// remove\n\t\t\tacf.remove( {\n\t\t\t\ttarget: this.$el,\n\t\t\t\tendHeight: $fields.length ? 0 : 50,\n\t\t\t\tcomplete: function () {\n\t\t\t\t\tfield.remove();\n\t\t\t\t\tacf.doAction( 'removed_field_object', field, $list );\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'remove_field_object', field, $list );\n\t\t},\n\n\t\tduplicate: function () {\n\t\t\t// vars\n\t\t\tvar newKey = acf.uniqid( 'field_' );\n\n\t\t\t// duplicate\n\t\t\tvar $newField = acf.duplicate( {\n\t\t\t\ttarget: this.$el,\n\t\t\t\tsearch: this.get( 'id' ),\n\t\t\t\treplace: newKey,\n\t\t\t} );\n\n\t\t\t// set new key\n\t\t\t$newField.attr( 'data-key', newKey );\n\n\t\t\t// get instance\n\t\t\tvar newField = acf.getFieldObject( $newField );\n\n\t\t\t// open / close\n\t\t\tif ( this.isOpen() ) {\n\t\t\t\tthis.close();\n\t\t\t} else {\n\t\t\t\tnewField.open();\n\t\t\t}\n\n\t\t\t// focus label\n\t\t\tvar $label = newField.$setting( 'label input' );\n\t\t\tsetTimeout( function () {\n\t\t\t\t$label.trigger( 'focus' );\n\t\t\t}, 251 );\n\n\t\t\t// update newField label / name\n\t\t\tvar label = newField.prop( 'label' );\n\t\t\tvar name = newField.prop( 'name' );\n\t\t\tvar end = name.split( '_' ).pop();\n\t\t\tvar copy = acf.__( 'copy' );\n\n\t\t\t// increase suffix \"1\"\n\t\t\tif ( acf.isNumeric( end ) ) {\n\t\t\t\tvar i = end * 1 + 1;\n\t\t\t\tlabel = label.replace( end, i );\n\t\t\t\tname = name.replace( end, i );\n\n\t\t\t\t// increase suffix \"(copy1)\"\n\t\t\t} else if ( end.indexOf( copy ) === 0 ) {\n\t\t\t\tvar i = end.replace( copy, '' ) * 1;\n\t\t\t\ti = i ? i + 1 : 2;\n\n\t\t\t\t// replace\n\t\t\t\tlabel = label.replace( end, copy + i );\n\t\t\t\tname = name.replace( end, copy + i );\n\n\t\t\t\t// add default \"(copy)\"\n\t\t\t} else {\n\t\t\t\tlabel += ' (' + copy + ')';\n\t\t\t\tname += '_' + copy;\n\t\t\t}\n\n\t\t\tnewField.prop( 'ID', 0 );\n\t\t\tnewField.prop( 'label', label );\n\t\t\tnewField.prop( 'name', name );\n\t\t\tnewField.prop( 'key', newKey );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'duplicate_field_object', this, newField );\n\t\t\tacf.doAction( 'append_field_object', newField );\n\t\t},\n\n\t\twipe: function () {\n\t\t\t// vars\n\t\t\tvar prevId = this.get( 'id' );\n\t\t\tvar prevKey = this.get( 'key' );\n\t\t\tvar newKey = acf.uniqid( 'field_' );\n\n\t\t\t// rename\n\t\t\tacf.rename( {\n\t\t\t\ttarget: this.$el,\n\t\t\t\tsearch: prevId,\n\t\t\t\treplace: newKey,\n\t\t\t} );\n\n\t\t\t// data\n\t\t\tthis.set( 'id', newKey );\n\t\t\tthis.set( 'prevId', prevId );\n\t\t\tthis.set( 'prevKey', prevKey );\n\n\t\t\t// props\n\t\t\tthis.prop( 'key', newKey );\n\t\t\tthis.prop( 'ID', 0 );\n\n\t\t\t// attr\n\t\t\tthis.$el.attr( 'data-key', newKey );\n\t\t\tthis.$el.attr( 'data-id', newKey );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'wipe_field_object', this );\n\t\t},\n\n\t\tmove: function () {\n\t\t\t// helper\n\t\t\tvar hasChanged = function ( field ) {\n\t\t\t\treturn field.get( 'save' ) == 'settings';\n\t\t\t};\n\n\t\t\t// vars\n\t\t\tvar changed = hasChanged( this );\n\n\t\t\t// has sub fields changed\n\t\t\tif ( ! changed ) {\n\t\t\t\tacf.getFieldObjects( {\n\t\t\t\t\tparent: this.$el,\n\t\t\t\t} ).map( function ( field ) {\n\t\t\t\t\tchanged = hasChanged( field ) || field.changed;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// bail early if changed\n\t\t\tif ( changed ) {\n\t\t\t\talert(\n\t\t\t\t\tacf.__(\n\t\t\t\t\t\t'This field cannot be moved until its changes have been saved'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// step 1.\n\t\t\tvar id = this.prop( 'ID' );\n\t\t\tvar field = this;\n\t\t\tvar popup = false;\n\t\t\tvar step1 = function () {\n\t\t\t\t// popup\n\t\t\t\tpopup = acf.newPopup( {\n\t\t\t\t\ttitle: acf.__( 'Move Custom Field' ),\n\t\t\t\t\tloading: true,\n\t\t\t\t\twidth: '300px',\n\t\t\t\t} );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/field_group/move_field',\n\t\t\t\t\tfield_id: id,\n\t\t\t\t};\n\n\t\t\t\t// get HTML\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'html',\n\t\t\t\t\tsuccess: step2,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\tvar step2 = function ( html ) {\n\t\t\t\t// update popup\n\t\t\t\tpopup.loading( false );\n\t\t\t\tpopup.content( html );\n\n\t\t\t\t// submit form\n\t\t\t\tpopup.on( 'submit', 'form', step3 );\n\t\t\t};\n\n\t\t\tvar step3 = function ( e, $el ) {\n\t\t\t\t// prevent\n\t\t\t\te.preventDefault();\n\n\t\t\t\t// disable\n\t\t\t\tacf.startButtonLoading( popup.$( '.button' ) );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/field_group/move_field',\n\t\t\t\t\tfield_id: id,\n\t\t\t\t\tfield_group_id: popup.$( 'select' ).val(),\n\t\t\t\t};\n\n\t\t\t\t// get HTML\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'html',\n\t\t\t\t\tsuccess: step4,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\tvar step4 = function ( html ) {\n\t\t\t\t// update popup\n\t\t\t\tpopup.content( html );\n\n\t\t\t\t// remove element\n\t\t\t\tfield.removeAnimate();\n\t\t\t};\n\n\t\t\t// start\n\t\t\tstep1();\n\t\t},\n\n\t\tonChangeType: function ( e, $el ) {\n\t\t\t// clea previous timout\n\t\t\tif ( this.changeTimeout ) {\n\t\t\t\tclearTimeout( this.changeTimeout );\n\t\t\t}\n\n\t\t\t// set new timeout\n\t\t\t// - prevents changing type multiple times whilst user types in newType\n\t\t\tthis.changeTimeout = this.setTimeout( function () {\n\t\t\t\tthis.changeType( $el.val() );\n\t\t\t}, 300 );\n\t\t},\n\n\t\tchangeType: function ( newType ) {\n\t\t\t// vars\n\t\t\tvar prevType = this.prop( 'type' );\n\t\t\tvar prevClass = acf.strSlugify( 'acf-field-object-' + prevType );\n\t\t\tvar newClass = acf.strSlugify( 'acf-field-object-' + newType );\n\n\t\t\t// update props\n\t\t\tthis.$el.removeClass( prevClass ).addClass( newClass );\n\t\t\tthis.$el.attr( 'data-type', newType );\n\t\t\tthis.$el.data( 'type', newType );\n\n\t\t\t// abort XHR if this field is already loading AJAX data\n\t\t\tif ( this.has( 'xhr' ) ) {\n\t\t\t\tthis.get( 'xhr' ).abort();\n\t\t\t}\n\n\t\t\t// store settings\n\t\t\tvar $tbody = this.$( '> .settings > table > tbody' );\n\t\t\tvar $settings = $tbody.children(\n\t\t\t\t'[data-setting=\"' + prevType + '\"]'\n\t\t\t);\n\t\t\tthis.set( 'settings-' + prevType, $settings );\n\t\t\t$settings.detach();\n\n\t\t\t// show settings\n\t\t\tif ( this.has( 'settings-' + newType ) ) {\n\t\t\t\tvar $newSettings = this.get( 'settings-' + newType );\n\t\t\t\tthis.$setting( 'conditional_logic' ).before( $newSettings );\n\t\t\t\tthis.set( 'type', newType );\n\t\t\t\t//this.refresh();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// load settings\n\t\t\tvar $loading = $(\n\t\t\t\t'
    '\n\t\t\t);\n\t\t\tthis.$setting( 'conditional_logic' ).before( $loading );\n\n\t\t\t// ajax\n\t\t\tvar ajaxData = {\n\t\t\t\taction: 'acf/field_group/render_field_settings',\n\t\t\t\tfield: this.serialize(),\n\t\t\t\tprefix: this.getInputName(),\n\t\t\t};\n\n\t\t\t// ajax\n\t\t\tvar xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'html',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: function ( html ) {\n\t\t\t\t\t// bail early if no settings\n\t\t\t\t\tif ( ! html ) return;\n\n\t\t\t\t\t// append settings\n\t\t\t\t\t$loading.after( html );\n\n\t\t\t\t\t// events\n\t\t\t\t\tacf.doAction( 'append', $tbody );\n\t\t\t\t},\n\t\t\t\tcomplete: function () {\n\t\t\t\t\t// also triggered by xhr.abort();\n\t\t\t\t\t$loading.remove();\n\t\t\t\t\tthis.set( 'type', newType );\n\t\t\t\t\t//this.refresh();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// set\n\t\t\tthis.set( 'xhr', xhr );\n\t\t},\n\n\t\tupdateParent: function () {\n\t\t\t// vars\n\t\t\tvar ID = acf.get( 'post_id' );\n\n\t\t\t// check parent\n\t\t\tvar parent = this.getParent();\n\t\t\tif ( parent ) {\n\t\t\t\tID = parseInt( parent.prop( 'ID' ) ) || parent.prop( 'key' );\n\t\t\t}\n\n\t\t\t// update\n\t\t\tthis.prop( 'parent', ID );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * acf.findFieldObject\n\t *\n\t * Returns a single fieldObject $el for a given field key\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tstring key The field key\n\t * @return\tjQuery\n\t */\n\n\tacf.findFieldObject = function ( key ) {\n\t\treturn acf.findFieldObjects( {\n\t\t\tkey: key,\n\t\t\tlimit: 1,\n\t\t} );\n\t};\n\n\t/**\n\t * acf.findFieldObjects\n\t *\n\t * Returns an array of fieldObject $el for the given args\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tobject args\n\t * @return\tjQuery\n\t */\n\n\tacf.findFieldObjects = function ( args ) {\n\t\t// vars\n\t\targs = args || {};\n\t\tvar selector = '.acf-field-object';\n\t\tvar $fields = false;\n\n\t\t// args\n\t\targs = acf.parseArgs( args, {\n\t\t\tid: '',\n\t\t\tkey: '',\n\t\t\ttype: '',\n\t\t\tlimit: false,\n\t\t\tlist: null,\n\t\t\tparent: false,\n\t\t\tsibling: false,\n\t\t\tchild: false,\n\t\t} );\n\n\t\t// id\n\t\tif ( args.id ) {\n\t\t\tselector += '[data-id=\"' + args.id + '\"]';\n\t\t}\n\n\t\t// key\n\t\tif ( args.key ) {\n\t\t\tselector += '[data-key=\"' + args.key + '\"]';\n\t\t}\n\n\t\t// type\n\t\tif ( args.type ) {\n\t\t\tselector += '[data-type=\"' + args.type + '\"]';\n\t\t}\n\n\t\t// query\n\t\tif ( args.list ) {\n\t\t\t$fields = args.list.children( selector );\n\t\t} else if ( args.parent ) {\n\t\t\t$fields = args.parent.find( selector );\n\t\t} else if ( args.sibling ) {\n\t\t\t$fields = args.sibling.siblings( selector );\n\t\t} else if ( args.child ) {\n\t\t\t$fields = args.child.parents( selector );\n\t\t} else {\n\t\t\t$fields = $( selector );\n\t\t}\n\n\t\t// limit\n\t\tif ( args.limit ) {\n\t\t\t$fields = $fields.slice( 0, args.limit );\n\t\t}\n\n\t\t// return\n\t\treturn $fields;\n\t};\n\n\t/**\n\t * acf.getFieldObject\n\t *\n\t * Returns a single fieldObject instance for a given $el|key\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tstring|jQuery $field The field $el or key\n\t * @return\tjQuery\n\t */\n\n\tacf.getFieldObject = function ( $field ) {\n\t\t// allow key\n\t\tif ( typeof $field === 'string' ) {\n\t\t\t$field = acf.findFieldObject( $field );\n\t\t}\n\n\t\t// instantiate\n\t\tvar field = $field.data( 'acf' );\n\t\tif ( ! field ) {\n\t\t\tfield = acf.newFieldObject( $field );\n\t\t}\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * acf.getFieldObjects\n\t *\n\t * Returns an array of fieldObject instances for the given args\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tobject args\n\t * @return\tarray\n\t */\n\n\tacf.getFieldObjects = function ( args ) {\n\t\t// query\n\t\tvar $fields = acf.findFieldObjects( args );\n\n\t\t// loop\n\t\tvar fields = [];\n\t\t$fields.each( function () {\n\t\t\tvar field = acf.getFieldObject( $( this ) );\n\t\t\tfields.push( field );\n\t\t} );\n\n\t\t// return\n\t\treturn fields;\n\t};\n\n\t/**\n\t * acf.newFieldObject\n\t *\n\t * Initializes and returns a new FieldObject instance\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tjQuery $field The field $el\n\t * @return\tobject\n\t */\n\n\tacf.newFieldObject = function ( $field ) {\n\t\t// instantiate\n\t\tvar field = new acf.FieldObject( $field );\n\n\t\t// action\n\t\tacf.doAction( 'new_field_object', field );\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * actionManager\n\t *\n\t * description\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar eventManager = new acf.Model( {\n\t\tpriority: 5,\n\n\t\tinitialize: function () {\n\t\t\t// actions\n\t\t\tvar actions = [ 'prepare', 'ready', 'append', 'remove' ];\n\n\t\t\t// loop\n\t\t\tactions.map( function ( action ) {\n\t\t\t\tthis.addFieldActions( action );\n\t\t\t}, this );\n\t\t},\n\n\t\taddFieldActions: function ( action ) {\n\t\t\t// vars\n\t\t\tvar pluralAction = action + '_field_objects'; // ready_field_objects\n\t\t\tvar singleAction = action + '_field_object'; // ready_field_object\n\t\t\tvar singleEvent = action + 'FieldObject'; // readyFieldObject\n\n\t\t\t// global action\n\t\t\tvar callback = function ( $el /*, arg1, arg2, etc*/ ) {\n\t\t\t\t// vars\n\t\t\t\tvar fieldObjects = acf.getFieldObjects( { parent: $el } );\n\n\t\t\t\t// call plural\n\t\t\t\tif ( fieldObjects.length ) {\n\t\t\t\t\t/// get args [$el, arg1]\n\t\t\t\t\tvar args = acf.arrayArgs( arguments );\n\n\t\t\t\t\t// modify args [pluralAction, fields, arg1]\n\t\t\t\t\targs.splice( 0, 1, pluralAction, fieldObjects );\n\t\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// plural action\n\t\t\tvar pluralCallback = function (\n\t\t\t\tfieldObjects /*, arg1, arg2, etc*/\n\t\t\t) {\n\t\t\t\t/// get args [fields, arg1]\n\t\t\t\tvar args = acf.arrayArgs( arguments );\n\n\t\t\t\t// modify args [singleAction, fields, arg1]\n\t\t\t\targs.unshift( singleAction );\n\n\t\t\t\t// loop\n\t\t\t\tfieldObjects.map( function ( fieldObject ) {\n\t\t\t\t\t// modify args [singleAction, field, arg1]\n\t\t\t\t\targs[ 1 ] = fieldObject;\n\t\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// single action\n\t\t\tvar singleCallback = function (\n\t\t\t\tfieldObject /*, arg1, arg2, etc*/\n\t\t\t) {\n\t\t\t\t/// get args [$field, arg1]\n\t\t\t\tvar args = acf.arrayArgs( arguments );\n\n\t\t\t\t// modify args [singleAction, $field, arg1]\n\t\t\t\targs.unshift( singleAction );\n\n\t\t\t\t// action variations (ready_field/type=image)\n\t\t\t\tvar variations = [ 'type', 'name', 'key' ];\n\t\t\t\tvariations.map( function ( variation ) {\n\t\t\t\t\targs[ 0 ] =\n\t\t\t\t\t\tsingleAction +\n\t\t\t\t\t\t'/' +\n\t\t\t\t\t\tvariation +\n\t\t\t\t\t\t'=' +\n\t\t\t\t\t\tfieldObject.get( variation );\n\t\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t\t} );\n\n\t\t\t\t// modify args [arg1]\n\t\t\t\targs.splice( 0, 2 );\n\n\t\t\t\t// event\n\t\t\t\tfieldObject.trigger( singleEvent, args );\n\t\t\t};\n\n\t\t\t// add actions\n\t\t\tacf.addAction( action, callback, 5 );\n\t\t\tacf.addAction( pluralAction, pluralCallback, 5 );\n\t\t\tacf.addAction( singleAction, singleCallback, 5 );\n\t\t},\n\t} );\n\n\t/**\n\t * fieldManager\n\t *\n\t * description\n\t *\n\t * @date\t4/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar fieldManager = new acf.Model( {\n\t\tid: 'fieldManager',\n\n\t\tevents: {\n\t\t\t'submit #post': 'onSubmit',\n\t\t\t'mouseenter .acf-field-list': 'onHoverSortable',\n\t\t\t'click .add-field': 'onClickAdd',\n\t\t},\n\n\t\tactions: {\n\t\t\tremoved_field_object: 'onRemovedField',\n\t\t\tsortstop_field_object: 'onReorderField',\n\t\t\tdelete_field_object: 'onDeleteField',\n\t\t\tchange_field_object_type: 'onChangeFieldType',\n\t\t\tduplicate_field_object: 'onDuplicateField',\n\t\t},\n\n\t\tonSubmit: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar fields = acf.getFieldObjects();\n\n\t\t\t// loop\n\t\t\tfields.map( function ( field ) {\n\t\t\t\tfield.submit();\n\t\t\t} );\n\t\t},\n\n\t\tsetFieldMenuOrder: function ( field ) {\n\t\t\tthis.renderFields( field.$el.parent() );\n\t\t},\n\n\t\tonHoverSortable: function ( e, $el ) {\n\t\t\t// bail early if already sortable\n\t\t\tif ( $el.hasClass( 'ui-sortable' ) ) return;\n\n\t\t\t// sortable\n\t\t\t$el.sortable( {\n\t\t\t\thandle: '.acf-sortable-handle',\n\t\t\t\tconnectWith: '.acf-field-list',\n\t\t\t\tstart: function ( e, ui ) {\n\t\t\t\t\tvar field = acf.getFieldObject( ui.item );\n\t\t\t\t\tui.placeholder.height( ui.item.height() );\n\t\t\t\t\tacf.doAction( 'sortstart_field_object', field, $el );\n\t\t\t\t},\n\t\t\t\tupdate: function ( e, ui ) {\n\t\t\t\t\tvar field = acf.getFieldObject( ui.item );\n\t\t\t\t\tacf.doAction( 'sortstop_field_object', field, $el );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tonRemovedField: function ( field, $list ) {\n\t\t\tthis.renderFields( $list );\n\t\t},\n\n\t\tonReorderField: function ( field, $list ) {\n\t\t\tfield.updateParent();\n\t\t\tthis.renderFields( $list );\n\t\t},\n\n\t\tonDeleteField: function ( field ) {\n\t\t\t// delete children\n\t\t\tfield.getFields().map( function ( child ) {\n\t\t\t\tchild.delete( { animate: false } );\n\t\t\t} );\n\t\t},\n\n\t\tonChangeFieldType: function ( field ) {\n\t\t\t// this caused sub fields to disapear if changing type back...\n\t\t\t//this.onDeleteField( field );\n\t\t},\n\n\t\tonDuplicateField: function ( field, newField ) {\n\t\t\t// check for children\n\t\t\tvar children = newField.getFields();\n\t\t\tif ( children.length ) {\n\t\t\t\t// loop\n\t\t\t\tchildren.map( function ( child ) {\n\t\t\t\t\t// wipe field\n\t\t\t\t\tchild.wipe();\n\n\t\t\t\t\t// update parent\n\t\t\t\t\tchild.updateParent();\n\t\t\t\t} );\n\n\t\t\t\t// action\n\t\t\t\tacf.doAction(\n\t\t\t\t\t'duplicate_field_objects',\n\t\t\t\t\tchildren,\n\t\t\t\t\tnewField,\n\t\t\t\t\tfield\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// set menu order\n\t\t\tthis.setFieldMenuOrder( newField );\n\t\t},\n\n\t\trenderFields: function ( $list ) {\n\t\t\t// vars\n\t\t\tvar fields = acf.getFieldObjects( {\n\t\t\t\tlist: $list,\n\t\t\t} );\n\n\t\t\t// no fields\n\t\t\tif ( ! fields.length ) {\n\t\t\t\t$list.addClass( '-empty' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// has fields\n\t\t\t$list.removeClass( '-empty' );\n\n\t\t\t// prop\n\t\t\tfields.map( function ( field, i ) {\n\t\t\t\tfield.prop( 'menu_order', i );\n\t\t\t} );\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\tvar $list = $el\n\t\t\t\t.closest( '.acf-tfoot' )\n\t\t\t\t.siblings( '.acf-field-list' );\n\t\t\tthis.addField( $list );\n\t\t},\n\n\t\taddField: function ( $list ) {\n\t\t\t// vars\n\t\t\tvar html = $( '#tmpl-acf-field' ).html();\n\t\t\tvar $el = $( html );\n\t\t\tvar prevId = $el.data( 'id' );\n\t\t\tvar newKey = acf.uniqid( 'field_' );\n\n\t\t\t// duplicate\n\t\t\tvar $newField = acf.duplicate( {\n\t\t\t\ttarget: $el,\n\t\t\t\tsearch: prevId,\n\t\t\t\treplace: newKey,\n\t\t\t\tappend: function ( $el, $el2 ) {\n\t\t\t\t\t$list.append( $el2 );\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// get instance\n\t\t\tvar newField = acf.getFieldObject( $newField );\n\n\t\t\t// props\n\t\t\tnewField.prop( 'key', newKey );\n\t\t\tnewField.prop( 'ID', 0 );\n\t\t\tnewField.prop( 'label', '' );\n\t\t\tnewField.prop( 'name', '' );\n\n\t\t\t// attr\n\t\t\t$newField.attr( 'data-key', newKey );\n\t\t\t$newField.attr( 'data-id', newKey );\n\n\t\t\t// update parent prop\n\t\t\tnewField.updateParent();\n\n\t\t\t// focus label\n\t\t\tvar $label = newField.$input( 'label' );\n\t\t\tsetTimeout( function () {\n\t\t\t\t$label.trigger( 'focus' );\n\t\t\t}, 251 );\n\n\t\t\t// open\n\t\t\tnewField.open();\n\n\t\t\t// set menu order\n\t\t\tthis.renderFields( $list );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'add_field_object', newField );\n\t\t\tacf.doAction( 'append_field_object', newField );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * locationManager\n\t *\n\t * Field group location rules functionality\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar locationManager = new acf.Model( {\n\t\tid: 'locationManager',\n\t\twait: 'ready',\n\n\t\tevents: {\n\t\t\t'click .add-location-rule': 'onClickAddRule',\n\t\t\t'click .add-location-group': 'onClickAddGroup',\n\t\t\t'click .remove-location-rule': 'onClickRemoveRule',\n\t\t\t'change .refresh-location-rule': 'onChangeRemoveRule',\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.$el = $( '#acf-field-group-locations' );\n\t\t\tthis.updateGroupsClass();\n\t\t},\n\n\t\tonClickAddRule: function ( e, $el ) {\n\t\t\tthis.addRule( $el.closest( 'tr' ) );\n\t\t},\n\n\t\tonClickRemoveRule: function ( e, $el ) {\n\t\t\tthis.removeRule( $el.closest( 'tr' ) );\n\t\t},\n\n\t\tonChangeRemoveRule: function ( e, $el ) {\n\t\t\tthis.changeRule( $el.closest( 'tr' ) );\n\t\t},\n\n\t\tonClickAddGroup: function ( e, $el ) {\n\t\t\tthis.addGroup();\n\t\t},\n\n\t\taddRule: function ( $tr ) {\n\t\t\tacf.duplicate( $tr );\n\t\t\tthis.updateGroupsClass();\n\t\t},\n\n\t\tremoveRule: function ( $tr ) {\n\t\t\tif ( $tr.siblings( 'tr' ).length == 0 ) {\n\t\t\t\t$tr.closest( '.rule-group' ).remove();\n\t\t\t} else {\n\t\t\t\t$tr.remove();\n\t\t\t}\n\n\t\t\t// Update h4\n\t\t\tvar $group = this.$( '.rule-group:first' );\n\t\t\t$group.find( 'h4' ).text( acf.__( 'Show this field group if' ) );\n\n\t\t\tthis.updateGroupsClass();\n\t\t},\n\n\t\tchangeRule: function ( $rule ) {\n\t\t\t// vars\n\t\t\tvar $group = $rule.closest( '.rule-group' );\n\t\t\tvar prefix = $rule\n\t\t\t\t.find( 'td.param select' )\n\t\t\t\t.attr( 'name' )\n\t\t\t\t.replace( '[param]', '' );\n\n\t\t\t// ajaxdata\n\t\t\tvar ajaxdata = {};\n\t\t\tajaxdata.action = 'acf/field_group/render_location_rule';\n\t\t\tajaxdata.rule = acf.serialize( $rule, prefix );\n\t\t\tajaxdata.rule.id = $rule.data( 'id' );\n\t\t\tajaxdata.rule.group = $group.data( 'id' );\n\n\t\t\t// temp disable\n\t\t\tacf.disable( $rule.find( 'td.value' ) );\n\n\t\t\t// ajax\n\t\t\t$.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( ajaxdata ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'html',\n\t\t\t\tsuccess: function ( html ) {\n\t\t\t\t\tif ( ! html ) return;\n\t\t\t\t\t$rule.replaceWith( html );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\taddGroup: function () {\n\t\t\t// vars\n\t\t\tvar $group = this.$( '.rule-group:last' );\n\n\t\t\t// duplicate\n\t\t\t$group2 = acf.duplicate( $group );\n\n\t\t\t// update h4\n\t\t\t$group2.find( 'h4' ).text( acf.__( 'or' ) );\n\n\t\t\t// remove all tr's except the first one\n\t\t\t$group2.find( 'tr' ).not( ':first' ).remove();\n\n\t\t\t// update the groups class\n\t\t\tthis.updateGroupsClass();\n\t\t},\n\n\t\tupdateGroupsClass: function () {\n\t\t\tvar $group = this.$( '.rule-group:last' );\n\n\t\t\tvar $ruleGroups = $group.closest( '.rule-groups' );\n\n\t\t\tvar rows_count = $ruleGroups.find( '.acf-table tr' ).length;\n\n\t\t\tif ( rows_count > 1 ) {\n\t\t\t\t$ruleGroups.addClass( 'rule-groups-multiple' );\n\t\t\t} else {\n\t\t\t\t$ruleGroups.removeClass( 'rule-groups-multiple' );\n\t\t\t}\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * mid\n\t *\n\t * Calculates the model ID for a field type\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring type\n\t * @return\tstring\n\t */\n\n\tvar modelId = function ( type ) {\n\t\treturn acf.strPascalCase( type || '' ) + 'FieldSetting';\n\t};\n\n\t/**\n\t * registerFieldType\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.registerFieldSetting = function ( model ) {\n\t\tvar proto = model.prototype;\n\t\tvar mid = modelId( proto.type + ' ' + proto.name );\n\t\tthis.models[ mid ] = model;\n\t};\n\n\t/**\n\t * newField\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newFieldSetting = function ( field ) {\n\t\t// vars\n\t\tvar type = field.get( 'setting' ) || '';\n\t\tvar name = field.get( 'name' ) || '';\n\t\tvar mid = modelId( type + ' ' + name );\n\t\tvar model = acf.models[ mid ] || null;\n\n\t\t// bail ealry if no setting\n\t\tif ( model === null ) return false;\n\n\t\t// instantiate\n\t\tvar setting = new model( field );\n\n\t\t// return\n\t\treturn setting;\n\t};\n\n\t/**\n\t * acf.getFieldSetting\n\t *\n\t * description\n\t *\n\t * @date\t19/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getFieldSetting = function ( field ) {\n\t\t// allow jQuery\n\t\tif ( field instanceof jQuery ) {\n\t\t\tfield = acf.getField( field );\n\t\t}\n\n\t\t// return\n\t\treturn field.setting;\n\t};\n\n\t/**\n\t * settingsManager\n\t *\n\t * description\n\t *\n\t * @date\t6/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar settingsManager = new acf.Model( {\n\t\tactions: {\n\t\t\tnew_field: 'onNewField',\n\t\t},\n\t\tonNewField: function ( field ) {\n\t\t\tfield.setting = acf.newFieldSetting( field );\n\t\t},\n\t} );\n\n\t/**\n\t * acf.FieldSetting\n\t *\n\t * description\n\t *\n\t * @date\t6/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.FieldSetting = acf.Model.extend( {\n\t\tfield: false,\n\t\ttype: '',\n\t\tname: '',\n\t\twait: 'ready',\n\t\teventScope: '.acf-field',\n\n\t\tevents: {\n\t\t\tchange: 'render',\n\t\t},\n\n\t\tsetup: function ( field ) {\n\t\t\t// vars\n\t\t\tvar $field = field.$el;\n\n\t\t\t// set props\n\t\t\tthis.$el = $field;\n\t\t\tthis.field = field;\n\t\t\tthis.$fieldObject = $field.closest( '.acf-field-object' );\n\t\t\tthis.fieldObject = acf.getFieldObject( this.$fieldObject );\n\n\t\t\t// inherit data\n\t\t\t$.extend( this.data, field.data );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\trender: function () {\n\t\t\t// do nothing\n\t\t},\n\t} );\n\n\t/*\n\t * Date Picker\n\t *\n\t * This field type requires some extra logic for its settings\n\t *\n\t * @type\tfunction\n\t * @date\t24/10/13\n\t * @since\t5.0.0\n\t *\n\t * @param\tn/a\n\t * @return\tn/a\n\t */\n\n\tvar DisplayFormatFieldSetting = acf.FieldSetting.extend( {\n\t\ttype: '',\n\t\tname: '',\n\t\trender: function () {\n\t\t\tvar $input = this.$( 'input[type=\"radio\"]:checked' );\n\t\t\tif ( $input.val() != 'other' ) {\n\t\t\t\tthis.$( 'input[type=\"text\"]' ).val( $input.val() );\n\t\t\t}\n\t\t},\n\t} );\n\n\tvar DatePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend(\n\t\t{\n\t\t\ttype: 'date_picker',\n\t\t\tname: 'display_format',\n\t\t}\n\t);\n\n\tvar DatePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend( {\n\t\ttype: 'date_picker',\n\t\tname: 'return_format',\n\t} );\n\n\tacf.registerFieldSetting( DatePickerDisplayFormatFieldSetting );\n\tacf.registerFieldSetting( DatePickerReturnFormatFieldSetting );\n\n\t/*\n\t * Date Time Picker\n\t *\n\t * This field type requires some extra logic for its settings\n\t *\n\t * @type\tfunction\n\t * @date\t24/10/13\n\t * @since\t5.0.0\n\t *\n\t * @param\tn/a\n\t * @return\tn/a\n\t */\n\n\tvar DateTimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend(\n\t\t{\n\t\t\ttype: 'date_time_picker',\n\t\t\tname: 'display_format',\n\t\t}\n\t);\n\n\tvar DateTimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend(\n\t\t{\n\t\t\ttype: 'date_time_picker',\n\t\t\tname: 'return_format',\n\t\t}\n\t);\n\n\tacf.registerFieldSetting( DateTimePickerDisplayFormatFieldSetting );\n\tacf.registerFieldSetting( DateTimePickerReturnFormatFieldSetting );\n\n\t/*\n\t * Time Picker\n\t *\n\t * This field type requires some extra logic for its settings\n\t *\n\t * @type\tfunction\n\t * @date\t24/10/13\n\t * @since\t5.0.0\n\t *\n\t * @param\tn/a\n\t * @return\tn/a\n\t */\n\n\tvar TimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend(\n\t\t{\n\t\t\ttype: 'time_picker',\n\t\t\tname: 'display_format',\n\t\t}\n\t);\n\n\tvar TimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend( {\n\t\ttype: 'time_picker',\n\t\tname: 'return_format',\n\t} );\n\n\tacf.registerFieldSetting( TimePickerDisplayFormatFieldSetting );\n\tacf.registerFieldSetting( TimePickerReturnFormatFieldSetting );\n\n\t/**\n\t * Color Picker Settings.\n\t *\n\t * @date\t16/12/20\n\t * @since\t5.9.4\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\tvar ColorPickerReturnFormat = acf.FieldSetting.extend( {\n\t\ttype: 'color_picker',\n\t\tname: 'enable_opacity',\n\t\trender: function () {\n\t\t\tvar $return_format_setting = this.fieldObject.$setting(\n\t\t\t\t'return_format'\n\t\t\t);\n\t\t\tvar $default_value_setting = this.fieldObject.$setting(\n\t\t\t\t'default_value'\n\t\t\t);\n\t\t\tvar $labelText = $return_format_setting\n\t\t\t\t.find( 'input[type=\"radio\"][value=\"string\"]' )\n\t\t\t\t.parent( 'label' )\n\t\t\t\t.contents()\n\t\t\t\t.last();\n\t\t\tvar $defaultPlaceholder = $default_value_setting.find(\n\t\t\t\t'input[type=\"text\"]'\n\t\t\t);\n\t\t\tvar l10n = acf.get( 'colorPickerL10n' );\n\n\t\t\tif ( this.field.val() ) {\n\t\t\t\t$labelText.replaceWith( l10n.rgba_string );\n\t\t\t\t$defaultPlaceholder.attr(\n\t\t\t\t\t'placeholder',\n\t\t\t\t\t'rgba(255,255,255,0.8)'\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t$labelText.replaceWith( l10n.hex_string );\n\t\t\t\t$defaultPlaceholder.attr( 'placeholder', '#FFFFFF' );\n\t\t\t}\n\t\t},\n\t} );\n\tacf.registerFieldSetting( ColorPickerReturnFormat );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * fieldGroupManager\n\t *\n\t * Generic field group functionality\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar fieldGroupManager = new acf.Model( {\n\t\tid: 'fieldGroupManager',\n\n\t\tevents: {\n\t\t\t'submit #post': 'onSubmit',\n\t\t\t'click a[href=\"#\"]': 'onClick',\n\t\t\t'click .submitdelete': 'onClickTrash',\n\t\t},\n\n\t\tfilters: {\n\t\t\tfind_fields_args: 'filterFindFieldArgs',\n\t\t},\n\n\t\tonSubmit: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $title = $( '#titlewrap #title' );\n\n\t\t\t// empty\n\t\t\tif ( ! $title.val() ) {\n\t\t\t\t// prevent default\n\t\t\t\te.preventDefault();\n\n\t\t\t\t// unlock form\n\t\t\t\tacf.unlockForm( $el );\n\n\t\t\t\t// alert\n\t\t\t\talert( acf.__( 'Field group title is required' ) );\n\n\t\t\t\t// focus\n\t\t\t\t$title.trigger( 'focus' );\n\t\t\t}\n\t\t},\n\n\t\tonClick: function ( e ) {\n\t\t\te.preventDefault();\n\t\t},\n\n\t\tonClickTrash: function ( e ) {\n\t\t\tvar result = confirm( acf.__( 'Move to trash. Are you sure?' ) );\n\t\t\tif ( ! result ) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\tfilterFindFieldArgs: function ( args ) {\n\t\t\targs.visible = true;\n\t\t\treturn args;\n\t\t},\n\t} );\n\n\t/**\n\t * screenOptionsManager\n\t *\n\t * Screen options functionality\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar screenOptionsManager = new acf.Model( {\n\t\tid: 'screenOptionsManager',\n\t\twait: 'prepare',\n\n\t\tevents: {\n\t\t\tchange: 'onChange',\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $div = $( '#adv-settings' );\n\t\t\tvar $append = $( '#acf-append-show-on-screen' );\n\n\t\t\t// append\n\t\t\t$div.find( '.metabox-prefs' ).append( $append.html() );\n\t\t\t$div.find( '.metabox-prefs br' ).remove();\n\n\t\t\t// clean up\n\t\t\t$append.remove();\n\n\t\t\t// initialize\n\t\t\tthis.$el = $( '#acf-field-key-hide' );\n\n\t\t\t// render\n\t\t\tthis.render();\n\t\t},\n\n\t\tisChecked: function () {\n\t\t\treturn this.$el.prop( 'checked' );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tvar val = this.isChecked() ? 1 : 0;\n\t\t\tacf.updateUserSetting( 'show_field_keys', val );\n\t\t\tthis.render();\n\t\t},\n\n\t\trender: function () {\n\t\t\tif ( this.isChecked() ) {\n\t\t\t\t$( '#acf-field-group-fields' ).addClass( 'show-field-keys' );\n\t\t\t} else {\n\t\t\t\t$( '#acf-field-group-fields' ).removeClass( 'show-field-keys' );\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * appendFieldManager\n\t *\n\t * Appends fields together\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar appendFieldManager = new acf.Model( {\n\t\tactions: {\n\t\t\tnew_field: 'onNewField',\n\t\t},\n\n\t\tonNewField: function ( field ) {\n\t\t\t// bail ealry if not append\n\t\t\tif ( ! field.has( 'append' ) ) return;\n\n\t\t\t// vars\n\t\t\tvar append = field.get( 'append' );\n\t\t\tvar $sibling = field.$el\n\t\t\t\t.siblings( '[data-name=\"' + append + '\"]' )\n\t\t\t\t.first();\n\n\t\t\t// bail early if no sibling\n\t\t\tif ( ! $sibling.length ) return;\n\n\t\t\t// ul\n\t\t\tvar $div = $sibling.children( '.acf-input' );\n\t\t\tvar $ul = $div.children( 'ul' );\n\n\t\t\t// create ul\n\t\t\tif ( ! $ul.length ) {\n\t\t\t\t$div.wrapInner( '' );\n\t\t\t\t$ul = $div.children( 'ul' );\n\t\t\t}\n\n\t\t\t// li\n\t\t\tvar html = field.$( '.acf-input' ).html();\n\t\t\tvar $li = $( '
  • ' + html + '
  • ' );\n\t\t\t$ul.append( $li );\n\t\t\t$ul.attr( 'data-cols', $ul.children().length );\n\n\t\t\t// clean up\n\t\t\tfield.remove();\n\t\t},\n\t} );\n} )( jQuery );\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './_field-group.js';\nimport './_field-group-field.js';\nimport './_field-group-settings.js';\nimport './_field-group-conditions.js';\nimport './_field-group-fields.js';\nimport './_field-group-locations.js';\nimport './_field-group-compatibility.js';\n"],"names":["$","undefined","_acf","acf","getCompatibility","field_group","save_field","$field","type","getFieldObject","save","delete_field","animate","delete","update_field_meta","name","value","prop","delete_field_meta","field_object","model","extend","o","$settings","tag","tags","split","splice","join","selector","str_replace","_add_action","callback","add_action","set","apply","arguments","_add_filter","add_filter","_add_event","event","substr","indexOf","context","document","on","e","$el","closest","_set_$field","data","find","focus","setting","actionManager","Model","actions","open_field_object","close_field_object","add_field_object","duplicate_field_object","delete_field_object","change_field_object_type","change_field_object_label","change_field_object_name","change_field_object_parent","sortstop_field_object","onOpenFieldObject","field","doAction","get","onCloseFieldObject","onAddFieldObject","onDuplicateFieldObject","onDeleteFieldObject","onChangeFieldObjectType","onChangeFieldObjectLabel","onChangeFieldObjectName","onChangeFieldObjectParent","jQuery","ConditionalLogicFieldSetting","FieldSetting","events","$rule","scope","ruleData","$input","$td","$toggle","$control","$groups","$rules","open","$div","show","enable","close","hide","disable","render","renderRules","self","each","renderRule","renderField","renderOperator","renderValue","choices","validFieldTypes","cid","fieldObject","$select","getFieldObjects","map","choice","id","getKey","text","getLabel","__","disabled","conditionTypes","getConditionTypes","fieldType","getType","length","indents","getParents","repeat","push","renderSelect","val","findFieldObject","prototype","operator","label","conditionType","Array","$newSelect","detach","html","setTimeout","attr","onChangeToggle","onClickAddGroup","addGroup","$group","$group2","duplicate","not","remove","onFocusField","onChangeField","onChangeOperator","onClickAdd","onClickRemove","siblings","registerFieldSetting","conditionalLogicHelper","duplicate_field_objects","onDuplicateFieldObjects","children","newField","prevField","$selects","child","add","FieldObject","eventScope","change","changed","key","setup","inherit","getInputId","$meta","$handle","$setting","getParent","limit","pop","getFields","parent","getInputName","newInput","inputId","inputName","append","getProp","has","setProp","prevVal","props","Object","keys","getName","getTypeLabel","types","initialize","addProFields","fieldTypes","hasOwnProperty","$fieldTypeSelect","$layoutGroup","$contentGroup","addClass","menu_order","required","parseInt","refresh","isOpen","hasClass","onClickEdit","slideDown","trigger","slideUp","removeClass","serialize","submit","onChange","onChanged","onChangeLabel","applyFilters","strSanitize","onChangeName","alert","onChangeRequired","args","parseArgs","newVal","removeAnimate","onClickDelete","shiftKey","tooltip","newTooltip","confirmRemove","target","confirm","cancel","$list","$fields","findFieldObjects","sibling","endHeight","complete","newKey","uniqid","$newField","search","replace","$label","end","copy","isNumeric","i","wipe","prevId","prevKey","rename","move","hasChanged","popup","step1","newPopup","title","loading","width","ajaxData","action","field_id","ajax","url","prepareForAjax","dataType","success","step2","content","step3","preventDefault","startButtonLoading","field_group_id","step4","onChangeType","changeTimeout","clearTimeout","changeType","newType","prevType","prevClass","strSlugify","newClass","abort","$tbody","$newSettings","before","$loading","prefix","xhr","after","updateParent","ID","list","parents","slice","newFieldObject","fields","eventManager","priority","addFieldActions","pluralAction","singleAction","singleEvent","fieldObjects","arrayArgs","pluralCallback","unshift","singleCallback","variations","variation","addAction","fieldManager","removed_field_object","onSubmit","setFieldMenuOrder","renderFields","onHoverSortable","sortable","handle","connectWith","start","ui","item","placeholder","height","update","onRemovedField","onReorderField","onDeleteField","onChangeFieldType","onDuplicateField","addField","$el2","locationManager","wait","updateGroupsClass","onClickAddRule","addRule","onClickRemoveRule","removeRule","onChangeRemoveRule","changeRule","$tr","ajaxdata","rule","group","replaceWith","$ruleGroups","rows_count","modelId","strPascalCase","proto","mid","models","newFieldSetting","getFieldSetting","getField","settingsManager","new_field","onNewField","$fieldObject","DisplayFormatFieldSetting","DatePickerDisplayFormatFieldSetting","DatePickerReturnFormatFieldSetting","DateTimePickerDisplayFormatFieldSetting","DateTimePickerReturnFormatFieldSetting","TimePickerDisplayFormatFieldSetting","TimePickerReturnFormatFieldSetting","ColorPickerReturnFormat","$return_format_setting","$default_value_setting","$labelText","contents","last","$defaultPlaceholder","l10n","rgba_string","hex_string","fieldGroupManager","filters","find_fields_args","$title","unlockForm","onClick","onClickTrash","result","filterFindFieldArgs","visible","screenOptionsManager","$append","isChecked","updateUserSetting","appendFieldManager","$sibling","first","$ul","wrapInner","$li"],"sourceRoot":""} \ No newline at end of file diff --git a/assets/build/js/acf-field-group.min.js b/assets/build/js/acf-field-group.min.js index d38b9cc..2f89a7a 100644 --- a/assets/build/js/acf-field-group.min.js +++ b/assets/build/js/acf-field-group.min.js @@ -1 +1 @@ -!function(n){new acf.Model({id:"fieldGroupManager",events:{"submit #post":"onSubmit",'click a[href="#"]':"onClick","click .submitdelete":"onClickTrash"},filters:{find_fields_args:"filterFindFieldArgs"},onSubmit:function(e,t){var i=n("#titlewrap #title");i.val()||(e.preventDefault(),acf.unlockForm(t),alert(acf.__("Field group title is required")),i.trigger("focus"))},onClick:function(e){e.preventDefault()},onClickTrash:function(e){confirm(acf.__("Move to trash. Are you sure?"))||e.preventDefault()},filterFindFieldArgs:function(e){return e.visible=!0,e}}),new acf.Model({id:"screenOptionsManager",wait:"prepare",events:{change:"onChange"},initialize:function(){var e=n("#adv-settings"),t=n("#acf-append-show-on-screen");e.find(".metabox-prefs").append(t.html()),e.find(".metabox-prefs br").remove(),t.remove(),this.$el=n("#acf-field-key-hide"),this.render()},isChecked:function(){return this.$el.prop("checked")},onChange:function(e,t){var i=this.isChecked()?1:0;acf.updateUserSetting("show_field_keys",i),this.render()},render:function(){this.isChecked()?n("#acf-field-group-fields").addClass("show-field-keys"):n("#acf-field-group-fields").removeClass("show-field-keys")}}),new acf.Model({actions:{new_field:"onNewField"},onNewField:function(e){var t,i;e.has("append")&&(i=e.get("append"),(t=e.$el.siblings('[data-name="'+i+'"]').first()).length&&((t=(i=t.children(".acf-input")).children("ul")).length||(i.wrapInner(''),t=i.children("ul")),i=e.$(".acf-input").html(),i=n("
  • "+i+"
  • "),t.append(i),t.attr("data-cols",t.children().length),e.remove()))}})}(jQuery),function(r){acf.FieldObject=acf.Model.extend({eventScope:".acf-field-object",events:{"click .edit-field":"onClickEdit","click .delete-field":"onClickDelete","click .duplicate-field":"duplicate","click .move-field":"move","change .field-type":"onChangeType","change .field-required":"onChangeRequired","blur .field-label":"onChangeLabel","blur .field-name":"onChangeName",change:"onChange",changed:"onChanged"},data:{id:0,key:"",type:""},setup:function(e){this.$el=e,this.inherit(e),this.prop("ID"),this.prop("parent"),this.prop("menu_order")},$input:function(e){return r("#"+this.getInputId()+"-"+e)},$meta:function(){return this.$(".meta:first")},$handle:function(){return this.$(".handle:first")},$settings:function(){return this.$(".settings:first")},$setting:function(e){return this.$(".acf-field-settings:first > .acf-field-setting-"+e)},getParent:function(){return acf.getFieldObjects({child:this.$el,limit:1}).pop()},getParents:function(){return acf.getFieldObjects({child:this.$el})},getFields:function(){return acf.getFieldObjects({parent:this.$el})},getInputName:function(){return"acf_fields["+this.get("id")+"]"},getInputId:function(){return"acf_fields-"+this.get("id")},newInput:function(e,t){var i=this.getInputId(),n=this.getInputName();e&&(i+="-"+e,n+="["+e+"]");t=r("").attr({id:i,name:n,value:t});return this.$("> .meta").append(t),t},getProp:function(e){if(this.has(e))return this.get(e);var t=this.$input(e),t=t.length?t.val():null;return this.set(e,t,!0),t},setProp:function(e,t){var i=this.$input(e);i.val();return i.length||(i=this.newInput(e,t)),null===t?i.remove():i.val(t),this.has(e)?this.set(e,t):this.set(e,t,!0),this},prop:function(e,t){return void 0!==t?this.setProp(e,t):this.getProp(e)},props:function(t){Object.keys(t).map(function(e){this.setProp(e,t[e])},this)},getLabel:function(){var e=this.prop("label");return e=""===e?acf.__("(no label)"):e},getName:function(){return this.prop("name")},getType:function(){return this.prop("type")},getTypeLabel:function(){var e=this.prop("type"),t=acf.get("fieldTypes");return t[e]?t[e].label:e},getKey:function(){return this.prop("key")},initialize:function(){this.addProFields()},addProFields:function(){var e;acf.data.fieldTypes.hasOwnProperty("clone")||((e=r(".field-type").not(".acf-free-field-type")).find('optgroup option[value="group"]').parent().append('"),e.find('optgroup option[value="image"]').parent().append('"),e.addClass("acf-free-field-type"))},render:function(){var e=this.$(".handle:first"),t=this.prop("menu_order"),i=this.getLabel(),n=this.prop("name"),a=this.getTypeLabel(),l=this.prop("key"),o=this.$input("required").prop("checked");e.find(".acf-icon").html(parseInt(t)+1),o&&(i+=' *'),e.find(".li-field-label strong a").html(i),e.find(".li-field-name").text(n),e.find(".li-field-type").text(a),e.find(".li-field-key").text(l),acf.doAction("render_field_object",this)},refresh:function(){acf.doAction("refresh_field_object",this)},isOpen:function(){return this.$el.hasClass("open")},onClickEdit:function(e){this.isOpen()?this.close():this.open()},open:function(){var e=this.$el.children(".settings");e.slideDown(),this.$el.addClass("open"),acf.doAction("open_field_object",this),this.trigger("openFieldObject"),acf.doAction("show",e)},close:function(){var e=this.$el.children(".settings");e.slideUp(),this.$el.removeClass("open"),acf.doAction("close_field_object",this),this.trigger("closeFieldObject"),acf.doAction("hide",e)},serialize:function(){return acf.serialize(this.$el,this.getInputName())},save:function(e){e=e||"settings","settings"!==this.getProp("save")&&(this.setProp("save",e),this.$el.attr("data-save",e),acf.doAction("save_field_object",this,e))},submit:function(){var e=this.getInputName(),t=this.get("save");this.isOpen()&&this.close(),"settings"==t||("meta"==t?this.$('> .settings [name^="'+e+'"]'):this.$('[name^="'+e+'"]')).remove(),acf.doAction("submit_field_object",this)},onChange:function(e,t){this.save(),acf.doAction("change_field_object",this)},onChanged:function(e,t,i,n){"save"!=i&&(-1<["menu_order","parent"].indexOf(i)?this.save("meta"):this.save(),-1<["menu_order","label","required","name","type","key"].indexOf(i)&&this.render(),acf.doAction("change_field_object_"+i,this,n))},onChangeLabel:function(e,t){t=t.val();this.set("label",t),""==this.prop("name")&&(t=acf.applyFilters("generate_field_object_name",acf.strSanitize(t),this),this.prop("name",t))},onChangeName:function(e,t){t=t.val();this.set("name",t),"field_"===t.substr(0,6)&&alert(acf.__('The string "field_" may not be used at the start of a field name'))},onChangeRequired:function(e,t){t=t.prop("checked")?1:0;this.set("required",t)},delete:function(e){e=acf.parseArgs(e,{animate:!0});var t,i=this.prop("ID");i&&(i=(t=r("#_acf_delete_fields")).val()+"|"+i,t.val(i)),acf.doAction("delete_field_object",this),e.animate?this.removeAnimate():this.remove()},onClickDelete:function(e,t){if(e.shiftKey)return this.delete();this.$el.addClass("-hover");acf.newTooltip({confirmRemove:!0,target:t,context:this,confirm:function(){this.delete()},cancel:function(){this.$el.removeClass("-hover")}})},removeAnimate:function(){var e=this,t=this.$el.parent(),i=acf.findFieldObjects({sibling:this.$el});acf.remove({target:this.$el,endHeight:i.length?0:50,complete:function(){e.remove(),acf.doAction("removed_field_object",e,t)}}),acf.doAction("remove_field_object",e,t)},duplicate:function(){var e=acf.uniqid("field_"),t=acf.duplicate({target:this.$el,search:this.get("id"),replace:e});t.attr("data-key",e);var i=acf.getFieldObject(t);this.isOpen()?this.close():i.open();var n=i.$setting("label input");setTimeout(function(){n.trigger("focus")},251);var a,l=i.prop("label"),o=i.prop("name"),c=o.split("_").pop(),t=acf.__("copy");acf.isNumeric(c)?(l=l.replace(c,a=+c+1),o=o.replace(c,a)):0===c.indexOf(t)?(a=+c.replace(t,""),l=l.replace(c,t+(a=a?a+1:2)),o=o.replace(c,t+a)):(l+=" ("+t+")",o+="_"+t),i.prop("ID",0),i.prop("label",l),i.prop("name",o),i.prop("key",e),acf.doAction("duplicate_field_object",this,i),acf.doAction("append_field_object",i)},wipe:function(){var e=this.get("id"),t=this.get("key"),i=acf.uniqid("field_");acf.rename({target:this.$el,search:e,replace:i}),this.set("id",i),this.set("prevId",e),this.set("prevKey",t),this.prop("key",i),this.prop("ID",0),this.$el.attr("data-key",i),this.$el.attr("data-id",i),acf.doAction("wipe_field_object",this)},move:function(){function t(e){return"settings"==e.get("save")}var i,n,a,l,o,c,d=t(this);d||acf.getFieldObjects({parent:this.$el}).map(function(e){d=t(e)||e.changed}),d?alert(acf.__("This field cannot be moved until its changes have been saved")):(i=this.prop("ID"),n=this,a=!1,l=function(e){a.loading(!1),a.content(e),a.on("submit","form",o)},o=function(e,t){e.preventDefault(),acf.startButtonLoading(a.$(".button"));e={action:"acf/field_group/move_field",field_id:i,field_group_id:a.$("select").val()};r.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(e),type:"post",dataType:"html",success:c})},c=function(e){a.content(e),n.removeAnimate()},function(){a=acf.newPopup({title:acf.__("Move Custom Field"),loading:!0,width:"300px"});var e={action:"acf/field_group/move_field",field_id:i};r.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(e),type:"post",dataType:"html",success:l})}())},onChangeType:function(e,t){this.changeTimeout&&clearTimeout(this.changeTimeout),this.changeTimeout=this.setTimeout(function(){this.changeType(t.val())},300)},changeType:function(e){var t=this.prop("type"),i=acf.strSlugify("acf-field-object-"+t),n=acf.strSlugify("acf-field-object-"+e);this.$el.removeClass(i).addClass(n),this.$el.attr("data-type",e),this.$el.data("type",e),this.has("xhr")&&this.get("xhr").abort();var a=this.$("> .settings > table > tbody"),n=a.children('[data-setting="'+t+'"]');if(this.set("settings-"+t,n),n.detach(),this.has("settings-"+e)){var l=this.get("settings-"+e);return this.$setting("conditional_logic").before(l),void this.set("type",e)}var o=r('
    ');this.$setting("conditional_logic").before(o);l={action:"acf/field_group/render_field_settings",field:this.serialize(),prefix:this.getInputName()},l=r.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(l),type:"post",dataType:"html",context:this,success:function(e){e&&(o.after(e),acf.doAction("append",a))},complete:function(){o.remove(),this.set("type",e)}});this.set("xhr",l)},updateParent:function(){var e=acf.get("post_id"),t=this.getParent();t&&(e=parseInt(t.prop("ID"))||t.prop("key")),this.prop("parent",e)}})}(jQuery),function(i){function n(e){return acf.strPascalCase(e||"")+"FieldSetting"}acf.registerFieldSetting=function(e){var t=e.prototype,t=n(t.type+" "+t.name);this.models[t]=e},acf.newFieldSetting=function(e){var t=e.get("setting")||"",i=e.get("name")||"",i=n(t+" "+i),i=acf.models[i]||null;return null!==i&&new i(e)},acf.getFieldSetting=function(e){return(e=e instanceof jQuery?acf.getField(e):e).setting};new acf.Model({actions:{new_field:"onNewField"},onNewField:function(e){e.setting=acf.newFieldSetting(e)}});acf.FieldSetting=acf.Model.extend({field:!1,type:"",name:"",wait:"ready",eventScope:".acf-field",events:{change:"render"},setup:function(e){var t=e.$el;this.$el=t,this.field=e,this.$fieldObject=t.closest(".acf-field-object"),this.fieldObject=acf.getFieldObject(this.$fieldObject),i.extend(this.data,e.data)},initialize:function(){this.render()},render:function(){}});var e=acf.FieldSetting.extend({type:"",name:"",render:function(){var e=this.$('input[type="radio"]:checked');"other"!=e.val()&&this.$('input[type="text"]').val(e.val())}}),t=e.extend({type:"date_picker",name:"display_format"}),a=e.extend({type:"date_picker",name:"return_format"});acf.registerFieldSetting(t),acf.registerFieldSetting(a);t=e.extend({type:"date_time_picker",name:"display_format"}),a=e.extend({type:"date_time_picker",name:"return_format"});acf.registerFieldSetting(t),acf.registerFieldSetting(a);a=e.extend({type:"time_picker",name:"display_format"}),e=e.extend({name:"return_format"});acf.registerFieldSetting(a),acf.registerFieldSetting(e);e=acf.FieldSetting.extend({type:"color_picker",name:"enable_opacity",render:function(){var e=this.fieldObject.$setting("return_format"),t=this.fieldObject.$setting("default_value"),i=e.find('input[type="radio"][value="string"]').parent("label").contents().last(),e=t.find('input[type="text"]'),t=acf.get("colorPickerL10n");this.field.val()?(i.replaceWith(t.rgba_string),e.attr("placeholder","rgba(255,255,255,0.8)")):(i.replaceWith(t.hex_string),e.attr("placeholder","#FFFFFF"))}});acf.registerFieldSetting(e)}(jQuery),function(l){var e=acf.FieldSetting.extend({type:"",name:"conditional_logic",events:{"change .conditions-toggle":"onChangeToggle","click .add-conditional-group":"onClickAddGroup","focus .condition-rule-field":"onFocusField","change .condition-rule-field":"onChangeField","change .condition-rule-operator":"onChangeOperator","click .add-conditional-rule":"onClickAdd","click .remove-conditional-rule":"onClickRemove"},$rule:!1,scope:function(e){return this.$rule=e,this},ruleData:function(e,t){return this.$rule.data.apply(this.$rule,arguments)},$input:function(e){return this.$rule.find(".condition-rule-"+e)},$td:function(e){return this.$rule.find("td."+e)},$toggle:function(){return this.$(".conditions-toggle")},$control:function(){return this.$(".rule-groups")},$groups:function(){return this.$(".rule-group")},$rules:function(){return this.$(".rule")},open:function(){var e=this.$control();e.show(),acf.enable(e)},close:function(){var e=this.$control();e.hide(),acf.disable(e)},render:function(){this.$toggle().prop("checked")?(this.renderRules(),this.open()):this.close()},renderRules:function(){var e=this;this.$rules().each(function(){e.renderRule(l(this))})},renderRule:function(e){this.scope(e),this.renderField(),this.renderOperator(),this.renderValue()},renderField:function(){var i=[],n=this.fieldObject.cid,e=this.$input("field");acf.getFieldObjects().map(function(e){var t={id:e.getKey(),text:e.getLabel()};e.cid===n&&(t.text+=acf.__("(this field)"),t.disabled=!0),acf.getConditionTypes({fieldType:e.getType()}).length||(t.disabled=!0);e=e.getParents().length;t.text="- ".repeat(e)+t.text,i.push(t)}),i.length||i.push({id:"",text:acf.__("No toggle fields available")}),acf.renderSelect(e,i),this.ruleData("field",e.val())},renderOperator:function(){var e,t,i;this.ruleData("field")&&((e=this.$input("operator")).val(),t=[],null===e.val()&&acf.renderSelect(e,[{id:this.ruleData("operator"),text:""}]),i=acf.findFieldObject(this.ruleData("field")),i=acf.getFieldObject(i),acf.getConditionTypes({fieldType:i.getType()}).map(function(e){t.push({id:e.prototype.operator,text:e.prototype.label})}),acf.renderSelect(e,t),this.ruleData("operator",e.val()))},renderValue:function(){var t,e,i,n,a;this.ruleData("field")&&this.ruleData("operator")&&(t=this.$input("value"),e=this.$td("value"),i=t.val(),n=acf.findFieldObject(this.ruleData("field")),n=acf.getFieldObject(n),(n=acf.getConditionTypes({fieldType:n.getType(),operator:this.ruleData("operator")})[0].prototype.choices(n))instanceof Array?(a=l(""),acf.renderSelect(a,n)):a=l(n),t.detach(),e.html(a),setTimeout(function(){["class","name","id"].map(function(e){a.attr(e,t.attr(e))})},0),a.prop("disabled")||acf.val(a,i,!0),this.ruleData("value",a.val()))},onChangeToggle:function(){this.render()},onClickAddGroup:function(e,t){this.addGroup()},addGroup:function(){var e=this.$(".rule-group:last"),e=acf.duplicate(e);e.find("h4").text(acf.__("or")),e.find("tr").not(":first").remove(),this.fieldObject.save()},onFocusField:function(e,t){this.renderField()},onChangeField:function(e,t){this.scope(t.closest(".rule")),this.ruleData("field",t.val()),this.renderOperator(),this.renderValue()},onChangeOperator:function(e,t){this.scope(t.closest(".rule")),this.ruleData("operator",t.val()),this.renderValue()},onClickAdd:function(e,t){t=acf.duplicate(t.closest(".rule"));this.renderRule(t)},onClickRemove:function(e,t){t=t.closest(".rule");this.fieldObject.save(),0==t.siblings(".rule").length&&t.closest(".rule-group").remove(),t.remove()}});acf.registerFieldSetting(e);new acf.Model({actions:{duplicate_field_objects:"onDuplicateFieldObjects"},onDuplicateFieldObjects:function(e,t,i){var n={},a=l();e.map(function(e){n[e.get("prevKey")]=e.get("key"),a=a.add(e.$(".condition-rule-field"))}),a.each(function(){var e=l(this),t=e.val();t&&n[t]&&(e.find("option:selected").attr("value",n[t]),e.val(n[t]))})}})}(jQuery),function(l){acf.findFieldObject=function(e){return acf.findFieldObjects({key:e,limit:1})},acf.findFieldObjects=function(e){e=e||{};var t=".acf-field-object",i=!1;return(e=acf.parseArgs(e,{id:"",key:"",type:"",limit:!1,list:null,parent:!1,sibling:!1,child:!1})).id&&(t+='[data-id="'+e.id+'"]'),e.key&&(t+='[data-key="'+e.key+'"]'),e.type&&(t+='[data-type="'+e.type+'"]'),i=e.list?e.list.children(t):e.parent?e.parent.find(t):e.sibling?e.sibling.siblings(t):e.child?e.child.parents(t):l(t),i=e.limit?i.slice(0,e.limit):i},acf.getFieldObject=function(e){return(e="string"==typeof e?acf.findFieldObject(e):e).data("acf")||acf.newFieldObject(e)},acf.getFieldObjects=function(e){var e=acf.findFieldObjects(e),t=[];return e.each(function(){var e=acf.getFieldObject(l(this));t.push(e)}),t},acf.newFieldObject=function(e){e=new acf.FieldObject(e);return acf.doAction("new_field_object",e),e};new acf.Model({priority:5,initialize:function(){["prepare","ready","append","remove"].map(function(e){this.addFieldActions(e)},this)},addFieldActions:function(e){var n=e+"_field_objects",a=e+"_field_object",l=e+"FieldObject";acf.addAction(e,function(e){var t,i=acf.getFieldObjects({parent:e});i.length&&((t=acf.arrayArgs(arguments)).splice(0,1,n,i),acf.doAction.apply(null,t))},5),acf.addAction(n,function(e){var t=acf.arrayArgs(arguments);t.unshift(a),e.map(function(e){t[1]=e,acf.doAction.apply(null,t)})},5),acf.addAction(a,function(t){var i=acf.arrayArgs(arguments);i.unshift(a);["type","name","key"].map(function(e){i[0]=a+"/"+e+"="+t.get(e),acf.doAction.apply(null,i)}),i.splice(0,2),t.trigger(l,i)},5)}}),new acf.Model({id:"fieldManager",events:{"submit #post":"onSubmit","mouseenter .acf-field-list":"onHoverSortable","click .add-field":"onClickAdd"},actions:{removed_field_object:"onRemovedField",sortstop_field_object:"onReorderField",delete_field_object:"onDeleteField",change_field_object_type:"onChangeFieldType",duplicate_field_object:"onDuplicateField"},onSubmit:function(e,t){acf.getFieldObjects().map(function(e){e.submit()})},setFieldMenuOrder:function(e){this.renderFields(e.$el.parent())},onHoverSortable:function(e,n){n.hasClass("ui-sortable")||n.sortable({handle:".acf-sortable-handle",connectWith:".acf-field-list",start:function(e,t){var i=acf.getFieldObject(t.item);t.placeholder.height(t.item.height()),acf.doAction("sortstart_field_object",i,n)},update:function(e,t){t=acf.getFieldObject(t.item);acf.doAction("sortstop_field_object",t,n)}})},onRemovedField:function(e,t){this.renderFields(t)},onReorderField:function(e,t){e.updateParent(),this.renderFields(t)},onDeleteField:function(e){e.getFields().map(function(e){e.delete({animate:!1})})},onChangeFieldType:function(e){},onDuplicateField:function(e,t){var i=t.getFields();i.length&&(i.map(function(e){e.wipe(),e.updateParent()}),acf.doAction("duplicate_field_objects",i,t,e)),this.setFieldMenuOrder(t)},renderFields:function(e){var t=acf.getFieldObjects({list:e});t.length?(e.removeClass("-empty"),t.map(function(e,t){e.prop("menu_order",t)})):e.addClass("-empty")},onClickAdd:function(e,t){t=t.closest(".acf-tfoot").siblings(".acf-field-list");this.addField(t)},addField:function(i){var e=l("#tmpl-acf-field").html(),t=l(e),n=t.data("id"),e=acf.uniqid("field_"),t=acf.duplicate({target:t,search:n,replace:e,append:function(e,t){i.append(t)}}),n=acf.getFieldObject(t);n.prop("key",e),n.prop("ID",0),n.prop("label",""),n.prop("name",""),t.attr("data-key",e),t.attr("data-id",e),n.updateParent();var a=n.$input("label");setTimeout(function(){a.trigger("focus")},251),n.open(),this.renderFields(i),acf.doAction("add_field_object",n),acf.doAction("append_field_object",n)}})}(jQuery),function(a){new acf.Model({id:"locationManager",wait:"ready",events:{"click .add-location-rule":"onClickAddRule","click .add-location-group":"onClickAddGroup","click .remove-location-rule":"onClickRemoveRule","change .refresh-location-rule":"onChangeRemoveRule"},initialize:function(){this.$el=a("#acf-field-group-locations"),this.updateGroupsClass()},onClickAddRule:function(e,t){this.addRule(t.closest("tr"))},onClickRemoveRule:function(e,t){this.removeRule(t.closest("tr"))},onChangeRemoveRule:function(e,t){this.changeRule(t.closest("tr"))},onClickAddGroup:function(e,t){this.addGroup()},addRule:function(e){acf.duplicate(e),this.updateGroupsClass()},removeRule:function(e){(0==e.siblings("tr").length?e.closest(".rule-group"):e).remove(),this.$(".rule-group:first").find("h4").text(acf.__("Show this field group if")),this.updateGroupsClass()},changeRule:function(t){var e=t.closest(".rule-group"),i=t.find("td.param select").attr("name").replace("[param]",""),n={action:"acf/field_group/render_location_rule"};n.rule=acf.serialize(t,i),n.rule.id=t.data("id"),n.rule.group=e.data("id"),acf.disable(t.find("td.value")),a.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(n),type:"post",dataType:"html",success:function(e){e&&t.replaceWith(e)}})},addGroup:function(){var e=this.$(".rule-group:last");$group2=acf.duplicate(e),$group2.find("h4").text(acf.__("or")),$group2.find("tr").not(":first").remove(),this.updateGroupsClass()},updateGroupsClass:function(){var e=this.$(".rule-group:last").closest(".rule-groups");1 .settings > table > tbody"),this.focus()},focus:function(){},setting:function(e){return this.$settings.find("> .acf-field-setting-"+e)}});new acf.Model({actions:{open_field_object:"onOpenFieldObject",close_field_object:"onCloseFieldObject",add_field_object:"onAddFieldObject",duplicate_field_object:"onDuplicateFieldObject",delete_field_object:"onDeleteFieldObject",change_field_object_type:"onChangeFieldObjectType",change_field_object_label:"onChangeFieldObjectLabel",change_field_object_name:"onChangeFieldObjectName",change_field_object_parent:"onChangeFieldObjectParent",sortstop_field_object:"onChangeFieldObjectParent"},onOpenFieldObject:function(e){acf.doAction("open_field",e.$el),acf.doAction("open_field/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onCloseFieldObject:function(e){acf.doAction("close_field",e.$el),acf.doAction("close_field/type="+e.get("type"),e.$el)},onAddFieldObject:function(e){acf.doAction("add_field",e.$el),acf.doAction("add_field/type="+e.get("type"),e.$el)},onDuplicateFieldObject:function(e){acf.doAction("duplicate_field",e.$el),acf.doAction("duplicate_field/type="+e.get("type"),e.$el)},onDeleteFieldObject:function(e){acf.doAction("delete_field",e.$el),acf.doAction("delete_field/type="+e.get("type"),e.$el)},onChangeFieldObjectType:function(e){acf.doAction("change_field_type",e.$el),acf.doAction("change_field_type/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onChangeFieldObjectLabel:function(e){acf.doAction("change_field_label",e.$el),acf.doAction("change_field_label/type="+e.get("type"),e.$el)},onChangeFieldObjectName:function(e){acf.doAction("change_field_name",e.$el),acf.doAction("change_field_name/type="+e.get("type"),e.$el)},onChangeFieldObjectParent:function(e){acf.doAction("update_field_parent",e.$el)}})}(jQuery); \ No newline at end of file +!function(){var e={2961:function(){!function(e,t){var i=acf.getCompatibility(acf);i.field_group={save_field:function(e,i){i=i!==t?i:"settings",acf.getFieldObject(e).save(i)},delete_field:function(e,i){i=i===t||i,acf.getFieldObject(e).delete({animate:i})},update_field_meta:function(e,t,i){acf.getFieldObject(e).prop(t,i)},delete_field_meta:function(e,t){acf.getFieldObject(e).prop(t,null)}},i.field_group.field_object=acf.model.extend({type:"",o:{},$field:null,$settings:null,tag:function(e){var t=this.type,i=e.split("_");return i.splice(1,0,"field"),e=i.join("_"),t&&(e+="/type="+t),e},selector:function(){var e=".acf-field-object",t=this.type;return t&&(e+="-"+t,e=acf.str_replace("_","-",e)),e},_add_action:function(e,t){var i=this;acf.add_action(this.tag(e),(function(e){i.set("$field",e),i[t].apply(i,arguments)}))},_add_filter:function(e,t){var i=this;acf.add_filter(this.tag(e),(function(e){i.set("$field",e),i[t].apply(i,arguments)}))},_add_event:function(t,i){var n=this,a=t.substr(0,t.indexOf(" ")),l=t.substr(t.indexOf(" ")+1),o=this.selector();e(document).on(a,o+" "+l,(function(t){t.$el=e(this),t.$field=t.$el.closest(".acf-field-object"),n.set("$field",t.$field),n[i].apply(n,[t])}))},_set_$field:function(){this.o=this.$field.data(),this.$settings=this.$field.find("> .settings > table > tbody"),this.focus()},focus:function(){},setting:function(e){return this.$settings.find("> .acf-field-setting-"+e)}}),new acf.Model({actions:{open_field_object:"onOpenFieldObject",close_field_object:"onCloseFieldObject",add_field_object:"onAddFieldObject",duplicate_field_object:"onDuplicateFieldObject",delete_field_object:"onDeleteFieldObject",change_field_object_type:"onChangeFieldObjectType",change_field_object_label:"onChangeFieldObjectLabel",change_field_object_name:"onChangeFieldObjectName",change_field_object_parent:"onChangeFieldObjectParent",sortstop_field_object:"onChangeFieldObjectParent"},onOpenFieldObject:function(e){acf.doAction("open_field",e.$el),acf.doAction("open_field/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onCloseFieldObject:function(e){acf.doAction("close_field",e.$el),acf.doAction("close_field/type="+e.get("type"),e.$el)},onAddFieldObject:function(e){acf.doAction("add_field",e.$el),acf.doAction("add_field/type="+e.get("type"),e.$el)},onDuplicateFieldObject:function(e){acf.doAction("duplicate_field",e.$el),acf.doAction("duplicate_field/type="+e.get("type"),e.$el)},onDeleteFieldObject:function(e){acf.doAction("delete_field",e.$el),acf.doAction("delete_field/type="+e.get("type"),e.$el)},onChangeFieldObjectType:function(e){acf.doAction("change_field_type",e.$el),acf.doAction("change_field_type/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onChangeFieldObjectLabel:function(e){acf.doAction("change_field_label",e.$el),acf.doAction("change_field_label/type="+e.get("type"),e.$el)},onChangeFieldObjectName:function(e){acf.doAction("change_field_name",e.$el),acf.doAction("change_field_name/type="+e.get("type"),e.$el)},onChangeFieldObjectParent:function(e){acf.doAction("update_field_parent",e.$el)}})}(jQuery)},8931:function(){var e,t;e=jQuery,t=acf.FieldSetting.extend({type:"",name:"conditional_logic",events:{"change .conditions-toggle":"onChangeToggle","click .add-conditional-group":"onClickAddGroup","focus .condition-rule-field":"onFocusField","change .condition-rule-field":"onChangeField","change .condition-rule-operator":"onChangeOperator","click .add-conditional-rule":"onClickAdd","click .remove-conditional-rule":"onClickRemove"},$rule:!1,scope:function(e){return this.$rule=e,this},ruleData:function(e,t){return this.$rule.data.apply(this.$rule,arguments)},$input:function(e){return this.$rule.find(".condition-rule-"+e)},$td:function(e){return this.$rule.find("td."+e)},$toggle:function(){return this.$(".conditions-toggle")},$control:function(){return this.$(".rule-groups")},$groups:function(){return this.$(".rule-group")},$rules:function(){return this.$(".rule")},open:function(){var e=this.$control();e.show(),acf.enable(e)},close:function(){var e=this.$control();e.hide(),acf.disable(e)},render:function(){this.$toggle().prop("checked")?(this.renderRules(),this.open()):this.close()},renderRules:function(){var t=this;this.$rules().each((function(){t.renderRule(e(this))}))},renderRule:function(e){this.scope(e),this.renderField(),this.renderOperator(),this.renderValue()},renderField:function(){var e=[],t=this.fieldObject.cid,i=this.$input("field");acf.getFieldObjects().map((function(i){var n={id:i.getKey(),text:i.getLabel()};i.cid===t&&(n.text+=acf.__("(this field)"),n.disabled=!0),acf.getConditionTypes({fieldType:i.getType()}).length||(n.disabled=!0);var a=i.getParents().length;n.text="- ".repeat(a)+n.text,e.push(n)})),e.length||e.push({id:"",text:acf.__("No toggle fields available")}),acf.renderSelect(i,e),this.ruleData("field",i.val())},renderOperator:function(){if(this.ruleData("field")){var e=this.$input("operator"),t=(e.val(),[]);null===e.val()&&acf.renderSelect(e,[{id:this.ruleData("operator"),text:""}]);var i=acf.findFieldObject(this.ruleData("field")),n=acf.getFieldObject(i);acf.getConditionTypes({fieldType:n.getType()}).map((function(e){t.push({id:e.prototype.operator,text:e.prototype.label})})),acf.renderSelect(e,t),this.ruleData("operator",e.val())}},renderValue:function(){if(this.ruleData("field")&&this.ruleData("operator")){var t=this.$input("value"),i=this.$td("value"),n=t.val(),a=acf.findFieldObject(this.ruleData("field")),l=acf.getFieldObject(a),o=acf.getConditionTypes({fieldType:l.getType(),operator:this.ruleData("operator")})[0].prototype.choices(l);if(o instanceof Array){var c=e("");acf.renderSelect(c,o)}else c=e(o);t.detach(),i.html(c),setTimeout((function(){["class","name","id"].map((function(e){c.attr(e,t.attr(e))}))}),0),c.prop("disabled")||acf.val(c,n,!0),this.ruleData("value",c.val())}},onChangeToggle:function(){this.render()},onClickAddGroup:function(e,t){this.addGroup()},addGroup:function(){var e=this.$(".rule-group:last"),t=acf.duplicate(e);t.find("h4").text(acf.__("or")),t.find("tr").not(":first").remove(),this.fieldObject.save()},onFocusField:function(e,t){this.renderField()},onChangeField:function(e,t){this.scope(t.closest(".rule")),this.ruleData("field",t.val()),this.renderOperator(),this.renderValue()},onChangeOperator:function(e,t){this.scope(t.closest(".rule")),this.ruleData("operator",t.val()),this.renderValue()},onClickAdd:function(e,t){var i=acf.duplicate(t.closest(".rule"));this.renderRule(i)},onClickRemove:function(e,t){var i=t.closest(".rule");this.fieldObject.save(),0==i.siblings(".rule").length&&i.closest(".rule-group").remove(),i.remove()}}),acf.registerFieldSetting(t),new acf.Model({actions:{duplicate_field_objects:"onDuplicateFieldObjects"},onDuplicateFieldObjects:function(t,i,n){var a={},l=e();t.map((function(e){a[e.get("prevKey")]=e.get("key"),l=l.add(e.$(".condition-rule-field"))})),l.each((function(){var t=e(this),i=t.val();i&&a[i]&&(t.find("option:selected").attr("value",a[i]),t.val(a[i]))}))}})},5358:function(){var e;e=jQuery,acf.FieldObject=acf.Model.extend({eventScope:".acf-field-object",events:{"click .edit-field":"onClickEdit","click .delete-field":"onClickDelete","click .duplicate-field":"duplicate","click .move-field":"move","change .field-type":"onChangeType","change .field-required":"onChangeRequired","blur .field-label":"onChangeLabel","blur .field-name":"onChangeName",change:"onChange",changed:"onChanged"},data:{id:0,key:"",type:""},setup:function(e){this.$el=e,this.inherit(e),this.prop("ID"),this.prop("parent"),this.prop("menu_order")},$input:function(t){return e("#"+this.getInputId()+"-"+t)},$meta:function(){return this.$(".meta:first")},$handle:function(){return this.$(".handle:first")},$settings:function(){return this.$(".settings:first")},$setting:function(e){return this.$(".acf-field-settings:first > .acf-field-setting-"+e)},getParent:function(){return acf.getFieldObjects({child:this.$el,limit:1}).pop()},getParents:function(){return acf.getFieldObjects({child:this.$el})},getFields:function(){return acf.getFieldObjects({parent:this.$el})},getInputName:function(){return"acf_fields["+this.get("id")+"]"},getInputId:function(){return"acf_fields-"+this.get("id")},newInput:function(t,i){var n=this.getInputId(),a=this.getInputName();t&&(n+="-"+t,a+="["+t+"]");var l=e("").attr({id:n,name:a,value:i});return this.$("> .meta").append(l),l},getProp:function(e){if(this.has(e))return this.get(e);var t=this.$input(e),i=t.length?t.val():null;return this.set(e,i,!0),i},setProp:function(e,t){var i=this.$input(e);return i.val(),i.length||(i=this.newInput(e,t)),null===t?i.remove():i.val(t),this.has(e)?this.set(e,t):this.set(e,t,!0),this},prop:function(e,t){return void 0!==t?this.setProp(e,t):this.getProp(e)},props:function(e){Object.keys(e).map((function(t){this.setProp(t,e[t])}),this)},getLabel:function(){var e=this.prop("label");return""===e&&(e=acf.__("(no label)")),e},getName:function(){return this.prop("name")},getType:function(){return this.prop("type")},getTypeLabel:function(){var e=this.prop("type"),t=acf.get("fieldTypes");return t[e]?t[e].label:e},getKey:function(){return this.prop("key")},initialize:function(){this.addProFields()},addProFields:function(){if(!acf.data.fieldTypes.hasOwnProperty("clone")){var t=e(".field-type").not(".acf-free-field-type");t.find('optgroup option[value="group"]').parent().append('"),t.find('optgroup option[value="image"]').parent().append('"),t.addClass("acf-free-field-type")}},render:function(){var e=this.$(".handle:first"),t=this.prop("menu_order"),i=this.getLabel(),n=this.prop("name"),a=this.getTypeLabel(),l=this.prop("key"),o=this.$input("required").prop("checked");e.find(".acf-icon").html(parseInt(t)+1),o&&(i+=' *'),e.find(".li-field-label strong a").html(i),e.find(".li-field-name").text(n),e.find(".li-field-type").text(a),e.find(".li-field-key").text(l),acf.doAction("render_field_object",this)},refresh:function(){acf.doAction("refresh_field_object",this)},isOpen:function(){return this.$el.hasClass("open")},onClickEdit:function(e){this.isOpen()?this.close():this.open()},open:function(){var e=this.$el.children(".settings");e.slideDown(),this.$el.addClass("open"),acf.doAction("open_field_object",this),this.trigger("openFieldObject"),acf.doAction("show",e)},close:function(){var e=this.$el.children(".settings");e.slideUp(),this.$el.removeClass("open"),acf.doAction("close_field_object",this),this.trigger("closeFieldObject"),acf.doAction("hide",e)},serialize:function(){return acf.serialize(this.$el,this.getInputName())},save:function(e){e=e||"settings","settings"!==this.getProp("save")&&(this.setProp("save",e),this.$el.attr("data-save",e),acf.doAction("save_field_object",this,e))},submit:function(){var e=this.getInputName(),t=this.get("save");this.isOpen()&&this.close(),"settings"==t||("meta"==t?this.$('> .settings [name^="'+e+'"]').remove():this.$('[name^="'+e+'"]').remove()),acf.doAction("submit_field_object",this)},onChange:function(e,t){this.save(),acf.doAction("change_field_object",this)},onChanged:function(e,t,i,n){"save"!=i&&(["menu_order","parent"].indexOf(i)>-1?this.save("meta"):this.save(),["menu_order","label","required","name","type","key"].indexOf(i)>-1&&this.render(),acf.doAction("change_field_object_"+i,this,n))},onChangeLabel:function(e,t){var i=t.val();if(this.set("label",i),""==this.prop("name")){var n=acf.applyFilters("generate_field_object_name",acf.strSanitize(i),this);this.prop("name",n)}},onChangeName:function(e,t){var i=t.val();this.set("name",i),"field_"===i.substr(0,6)&&alert(acf.__('The string "field_" may not be used at the start of a field name'))},onChangeRequired:function(e,t){var i=t.prop("checked")?1:0;this.set("required",i)},delete:function(t){t=acf.parseArgs(t,{animate:!0});var i=this.prop("ID");if(i){var n=e("#_acf_delete_fields"),a=n.val()+"|"+i;n.val(a)}acf.doAction("delete_field_object",this),t.animate?this.removeAnimate():this.remove()},onClickDelete:function(e,t){if(e.shiftKey)return this.delete();this.$el.addClass("-hover"),acf.newTooltip({confirmRemove:!0,target:t,context:this,confirm:function(){this.delete()},cancel:function(){this.$el.removeClass("-hover")}})},removeAnimate:function(){var e=this,t=this.$el.parent(),i=acf.findFieldObjects({sibling:this.$el});acf.remove({target:this.$el,endHeight:i.length?0:50,complete:function(){e.remove(),acf.doAction("removed_field_object",e,t)}}),acf.doAction("remove_field_object",e,t)},duplicate:function(){var e=acf.uniqid("field_"),t=acf.duplicate({target:this.$el,search:this.get("id"),replace:e});t.attr("data-key",e);var i=acf.getFieldObject(t);this.isOpen()?this.close():i.open();var n=i.$setting("label input");setTimeout((function(){n.trigger("focus")}),251);var a=i.prop("label"),l=i.prop("name"),o=l.split("_").pop(),c=acf.__("copy");if(acf.isNumeric(o)){var r=1*o+1;a=a.replace(o,r),l=l.replace(o,r)}else 0===o.indexOf(c)?(r=(r=1*o.replace(c,""))?r+1:2,a=a.replace(o,c+r),l=l.replace(o,c+r)):(a+=" ("+c+")",l+="_"+c);i.prop("ID",0),i.prop("label",a),i.prop("name",l),i.prop("key",e),acf.doAction("duplicate_field_object",this,i),acf.doAction("append_field_object",i)},wipe:function(){var e=this.get("id"),t=this.get("key"),i=acf.uniqid("field_");acf.rename({target:this.$el,search:e,replace:i}),this.set("id",i),this.set("prevId",e),this.set("prevKey",t),this.prop("key",i),this.prop("ID",0),this.$el.attr("data-key",i),this.$el.attr("data-id",i),acf.doAction("wipe_field_object",this)},move:function(){var t=function(e){return"settings"==e.get("save")},i=t(this);if(i||acf.getFieldObjects({parent:this.$el}).map((function(e){i=t(e)||e.changed})),i)alert(acf.__("This field cannot be moved until its changes have been saved"));else{var n=this.prop("ID"),a=this,l=!1,o=function(e){l.loading(!1),l.content(e),l.on("submit","form",c)},c=function(t,i){t.preventDefault(),acf.startButtonLoading(l.$(".button"));var a={action:"acf/field_group/move_field",field_id:n,field_group_id:l.$("select").val()};e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"html",success:r})},r=function(e){l.content(e),a.removeAnimate()};!function(){l=acf.newPopup({title:acf.__("Move Custom Field"),loading:!0,width:"300px"});var t={action:"acf/field_group/move_field",field_id:n};e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(t),type:"post",dataType:"html",success:o})}()}},onChangeType:function(e,t){this.changeTimeout&&clearTimeout(this.changeTimeout),this.changeTimeout=this.setTimeout((function(){this.changeType(t.val())}),300)},changeType:function(t){var i=this.prop("type"),n=acf.strSlugify("acf-field-object-"+i),a=acf.strSlugify("acf-field-object-"+t);this.$el.removeClass(n).addClass(a),this.$el.attr("data-type",t),this.$el.data("type",t),this.has("xhr")&&this.get("xhr").abort();var l=this.$("> .settings > table > tbody"),o=l.children('[data-setting="'+i+'"]');if(this.set("settings-"+i,o),o.detach(),this.has("settings-"+t)){var c=this.get("settings-"+t);return this.$setting("conditional_logic").before(c),void this.set("type",t)}var r=e('
    ');this.$setting("conditional_logic").before(r);var d={action:"acf/field_group/render_field_settings",field:this.serialize(),prefix:this.getInputName()},s=e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(d),type:"post",dataType:"html",context:this,success:function(e){e&&(r.after(e),acf.doAction("append",l))},complete:function(){r.remove(),this.set("type",t)}});this.set("xhr",s)},updateParent:function(){var e=acf.get("post_id"),t=this.getParent();t&&(e=parseInt(t.prop("ID"))||t.prop("key")),this.prop("parent",e)}})},3523:function(){var e;e=jQuery,acf.findFieldObject=function(e){return acf.findFieldObjects({key:e,limit:1})},acf.findFieldObjects=function(t){t=t||{};var i=".acf-field-object",n=!1;return(t=acf.parseArgs(t,{id:"",key:"",type:"",limit:!1,list:null,parent:!1,sibling:!1,child:!1})).id&&(i+='[data-id="'+t.id+'"]'),t.key&&(i+='[data-key="'+t.key+'"]'),t.type&&(i+='[data-type="'+t.type+'"]'),n=t.list?t.list.children(i):t.parent?t.parent.find(i):t.sibling?t.sibling.siblings(i):t.child?t.child.parents(i):e(i),t.limit&&(n=n.slice(0,t.limit)),n},acf.getFieldObject=function(e){"string"==typeof e&&(e=acf.findFieldObject(e));var t=e.data("acf");return t||(t=acf.newFieldObject(e)),t},acf.getFieldObjects=function(t){var i=acf.findFieldObjects(t),n=[];return i.each((function(){var t=acf.getFieldObject(e(this));n.push(t)})),n},acf.newFieldObject=function(e){var t=new acf.FieldObject(e);return acf.doAction("new_field_object",t),t},new acf.Model({priority:5,initialize:function(){["prepare","ready","append","remove"].map((function(e){this.addFieldActions(e)}),this)},addFieldActions:function(e){var t=e+"_field_objects",i=e+"_field_object",n=e+"FieldObject";acf.addAction(e,(function(e){var i=acf.getFieldObjects({parent:e});if(i.length){var n=acf.arrayArgs(arguments);n.splice(0,1,t,i),acf.doAction.apply(null,n)}}),5),acf.addAction(t,(function(e){var t=acf.arrayArgs(arguments);t.unshift(i),e.map((function(e){t[1]=e,acf.doAction.apply(null,t)}))}),5),acf.addAction(i,(function(e){var t=acf.arrayArgs(arguments);t.unshift(i);var a=["type","name","key"];a.map((function(n){t[0]=i+"/"+n+"="+e.get(n),acf.doAction.apply(null,t)})),t.splice(0,2),e.trigger(n,t)}),5)}}),new acf.Model({id:"fieldManager",events:{"submit #post":"onSubmit","mouseenter .acf-field-list":"onHoverSortable","click .add-field":"onClickAdd"},actions:{removed_field_object:"onRemovedField",sortstop_field_object:"onReorderField",delete_field_object:"onDeleteField",change_field_object_type:"onChangeFieldType",duplicate_field_object:"onDuplicateField"},onSubmit:function(e,t){acf.getFieldObjects().map((function(e){e.submit()}))},setFieldMenuOrder:function(e){this.renderFields(e.$el.parent())},onHoverSortable:function(e,t){t.hasClass("ui-sortable")||t.sortable({handle:".acf-sortable-handle",connectWith:".acf-field-list",start:function(e,i){var n=acf.getFieldObject(i.item);i.placeholder.height(i.item.height()),acf.doAction("sortstart_field_object",n,t)},update:function(e,i){var n=acf.getFieldObject(i.item);acf.doAction("sortstop_field_object",n,t)}})},onRemovedField:function(e,t){this.renderFields(t)},onReorderField:function(e,t){e.updateParent(),this.renderFields(t)},onDeleteField:function(e){e.getFields().map((function(e){e.delete({animate:!1})}))},onChangeFieldType:function(e){},onDuplicateField:function(e,t){var i=t.getFields();i.length&&(i.map((function(e){e.wipe(),e.updateParent()})),acf.doAction("duplicate_field_objects",i,t,e)),this.setFieldMenuOrder(t)},renderFields:function(e){var t=acf.getFieldObjects({list:e});t.length?(e.removeClass("-empty"),t.map((function(e,t){e.prop("menu_order",t)}))):e.addClass("-empty")},onClickAdd:function(e,t){var i=t.closest(".acf-tfoot").siblings(".acf-field-list");this.addField(i)},addField:function(t){var i=e("#tmpl-acf-field").html(),n=e(i),a=n.data("id"),l=acf.uniqid("field_"),o=acf.duplicate({target:n,search:a,replace:l,append:function(e,i){t.append(i)}}),c=acf.getFieldObject(o);c.prop("key",l),c.prop("ID",0),c.prop("label",""),c.prop("name",""),o.attr("data-key",l),o.attr("data-id",l),c.updateParent();var r=c.$input("label");setTimeout((function(){r.trigger("focus")}),251),c.open(),this.renderFields(t),acf.doAction("add_field_object",c),acf.doAction("append_field_object",c)}})},8687:function(){var e;e=jQuery,new acf.Model({id:"locationManager",wait:"ready",events:{"click .add-location-rule":"onClickAddRule","click .add-location-group":"onClickAddGroup","click .remove-location-rule":"onClickRemoveRule","change .refresh-location-rule":"onChangeRemoveRule"},initialize:function(){this.$el=e("#acf-field-group-locations"),this.updateGroupsClass()},onClickAddRule:function(e,t){this.addRule(t.closest("tr"))},onClickRemoveRule:function(e,t){this.removeRule(t.closest("tr"))},onChangeRemoveRule:function(e,t){this.changeRule(t.closest("tr"))},onClickAddGroup:function(e,t){this.addGroup()},addRule:function(e){acf.duplicate(e),this.updateGroupsClass()},removeRule:function(e){0==e.siblings("tr").length?e.closest(".rule-group").remove():e.remove(),this.$(".rule-group:first").find("h4").text(acf.__("Show this field group if")),this.updateGroupsClass()},changeRule:function(t){var i=t.closest(".rule-group"),n=t.find("td.param select").attr("name").replace("[param]",""),a={action:"acf/field_group/render_location_rule"};a.rule=acf.serialize(t,n),a.rule.id=t.data("id"),a.rule.group=i.data("id"),acf.disable(t.find("td.value")),e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"html",success:function(e){e&&t.replaceWith(e)}})},addGroup:function(){var e=this.$(".rule-group:last");$group2=acf.duplicate(e),$group2.find("h4").text(acf.__("or")),$group2.find("tr").not(":first").remove(),this.updateGroupsClass()},updateGroupsClass:function(){var e=this.$(".rule-group:last").closest(".rule-groups");e.find(".acf-table tr").length>1?e.addClass("rule-groups-multiple"):e.removeClass("rule-groups-multiple")}})},6125:function(){!function(e,t){var i=function(e){return acf.strPascalCase(e||"")+"FieldSetting"};acf.registerFieldSetting=function(e){var t=e.prototype,n=i(t.type+" "+t.name);this.models[n]=e},acf.newFieldSetting=function(e){var t=e.get("setting")||"",n=e.get("name")||"",a=i(t+" "+n),l=acf.models[a]||null;return null!==l&&new l(e)},acf.getFieldSetting=function(e){return e instanceof jQuery&&(e=acf.getField(e)),e.setting},new acf.Model({actions:{new_field:"onNewField"},onNewField:function(e){e.setting=acf.newFieldSetting(e)}}),acf.FieldSetting=acf.Model.extend({field:!1,type:"",name:"",wait:"ready",eventScope:".acf-field",events:{change:"render"},setup:function(t){var i=t.$el;this.$el=i,this.field=t,this.$fieldObject=i.closest(".acf-field-object"),this.fieldObject=acf.getFieldObject(this.$fieldObject),e.extend(this.data,t.data)},initialize:function(){this.render()},render:function(){}});var n=acf.FieldSetting.extend({type:"",name:"",render:function(){var e=this.$('input[type="radio"]:checked');"other"!=e.val()&&this.$('input[type="text"]').val(e.val())}}),a=n.extend({type:"date_picker",name:"display_format"}),l=n.extend({type:"date_picker",name:"return_format"});acf.registerFieldSetting(a),acf.registerFieldSetting(l);var o=n.extend({type:"date_time_picker",name:"display_format"}),c=n.extend({type:"date_time_picker",name:"return_format"});acf.registerFieldSetting(o),acf.registerFieldSetting(c);var r=n.extend({type:"time_picker",name:"display_format"}),d=n.extend({type:"time_picker",name:"return_format"});acf.registerFieldSetting(r),acf.registerFieldSetting(d);var s=acf.FieldSetting.extend({type:"color_picker",name:"enable_opacity",render:function(){var e=this.fieldObject.$setting("return_format"),t=this.fieldObject.$setting("default_value"),i=e.find('input[type="radio"][value="string"]').parent("label").contents().last(),n=t.find('input[type="text"]'),a=acf.get("colorPickerL10n");this.field.val()?(i.replaceWith(a.rgba_string),n.attr("placeholder","rgba(255,255,255,0.8)")):(i.replaceWith(a.hex_string),n.attr("placeholder","#FFFFFF"))}});acf.registerFieldSetting(s)}(jQuery)},3791:function(){var e;e=jQuery,new acf.Model({id:"fieldGroupManager",events:{"submit #post":"onSubmit",'click a[href="#"]':"onClick","click .submitdelete":"onClickTrash"},filters:{find_fields_args:"filterFindFieldArgs"},onSubmit:function(t,i){var n=e("#titlewrap #title");n.val()||(t.preventDefault(),acf.unlockForm(i),alert(acf.__("Field group title is required")),n.trigger("focus"))},onClick:function(e){e.preventDefault()},onClickTrash:function(e){confirm(acf.__("Move to trash. Are you sure?"))||e.preventDefault()},filterFindFieldArgs:function(e){return e.visible=!0,e}}),new acf.Model({id:"screenOptionsManager",wait:"prepare",events:{change:"onChange"},initialize:function(){var t=e("#adv-settings"),i=e("#acf-append-show-on-screen");t.find(".metabox-prefs").append(i.html()),t.find(".metabox-prefs br").remove(),i.remove(),this.$el=e("#acf-field-key-hide"),this.render()},isChecked:function(){return this.$el.prop("checked")},onChange:function(e,t){var i=this.isChecked()?1:0;acf.updateUserSetting("show_field_keys",i),this.render()},render:function(){this.isChecked()?e("#acf-field-group-fields").addClass("show-field-keys"):e("#acf-field-group-fields").removeClass("show-field-keys")}}),new acf.Model({actions:{new_field:"onNewField"},onNewField:function(t){if(t.has("append")){var i=t.get("append"),n=t.$el.siblings('[data-name="'+i+'"]').first();if(n.length){var a=n.children(".acf-input"),l=a.children("ul");l.length||(a.wrapInner('
    '),l=a.children("ul"));var o=t.$(".acf-input").html(),c=e("
  • "+o+"
  • ");l.append(c),l.attr("data-cols",l.children().length),t.remove()}}}})}},t={};function i(n){var a=t[n];if(void 0!==a)return a.exports;var l=t[n]={exports:{}};return e[n](l,l.exports,i),l.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";i(3791),i(5358),i(6125),i(8931),i(3523),i(8687),i(2961)}()}(); \ No newline at end of file diff --git a/assets/build/js/acf-input.js b/assets/build/js/acf-input.js index 2c763b6..c488d8d 100644 --- a/assets/build/js/acf-input.js +++ b/assets/build/js/acf-input.js @@ -1,10904 +1,9864 @@ -(function($, undefined){ - - // vars - var storage = []; - - /** - * acf.Field - * - * description - * - * @date 23/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.Field = acf.Model.extend({ - - // field type - type: '', - - // class used to avoid nested event triggers - eventScope: '.acf-field', - - // initialize events on 'ready' - wait: 'ready', - - /** - * setup - * - * Called during the constructor function to setup this field ready for initialization - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param jQuery $field The field element. - * @return void - */ - - setup: function( $field ){ - - // set $el - this.$el = $field; - - // inherit $field data - this.inherit( $field ); - - // inherit controll data - this.inherit( this.$control() ); - }, - - /** - * val - * - * Sets or returns the field's value - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param mixed val Optional. The value to set - * @return mixed - */ - - val: function( val ){ - - // Set. - if( val !== undefined ) { - return this.setValue( val ); - - // Get. - } else { - return this.prop('disabled') ? null : this.getValue(); - } - }, - - /** - * getValue - * - * returns the field's value - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param void - * @return mixed - */ - - getValue: function(){ - return this.$input().val(); - }, - - /** - * setValue - * - * sets the field's value and returns true if changed - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param mixed val - * @return boolean. True if changed. - */ - - setValue: function( val ){ - return acf.val( this.$input(), val ); - }, - - /** - * __ - * - * i18n helper to be removed - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - __: function( string ){ - return acf._e( this.type, string ); - }, - - /** - * $control - * - * returns the control jQuery element used for inheriting data. Uses this.control setting. - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param void - * @return jQuery - */ - - $control: function(){ - return false; - }, - - /** - * $input - * - * returns the input jQuery element used for saving values. Uses this.input setting. - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param void - * @return jQuery - */ - - $input: function(){ - return this.$('[name]:first'); - }, - - /** - * $inputWrap - * - * description - * - * @date 12/5/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - $inputWrap: function(){ - return this.$('.acf-input:first'); - }, - - /** - * $inputWrap - * - * description - * - * @date 12/5/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - $labelWrap: function(){ - return this.$('.acf-label:first'); - }, - - /** - * getInputName - * - * Returns the field's input name - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param void - * @return string - */ - - getInputName: function(){ - return this.$input().attr('name') || ''; - }, - - /** - * parent - * - * returns the field's parent field or false on failure. - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param void - * @return object|false - */ - - parent: function() { - - // vars - var parents = this.parents(); - - // return - return parents.length ? parents[0] : false; - }, - - /** - * parents - * - * description - * - * @date 9/7/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - parents: function(){ - - // vars - var $parents = this.$el.parents('.acf-field'); - - // convert - var parents = acf.getFields( $parents ); - - // return - return parents; - }, - - show: function( lockKey, context ){ - - // show field and store result - var changed = acf.show( this.$el, lockKey ); - - // do action if visibility has changed - if( changed ) { - this.prop('hidden', false); - acf.doAction('show_field', this, context); - } - - // return - return changed; - }, - - hide: function( lockKey, context ){ - - // hide field and store result - var changed = acf.hide( this.$el, lockKey ); - - // do action if visibility has changed - if( changed ) { - this.prop('hidden', true); - acf.doAction('hide_field', this, context); - } - - // return - return changed; - }, - - enable: function( lockKey, context ){ - - // enable field and store result - var changed = acf.enable( this.$el, lockKey ); - - // do action if disabled has changed - if( changed ) { - this.prop('disabled', false); - acf.doAction('enable_field', this, context); - } - - // return - return changed; - }, - - disable: function( lockKey, context ){ - - // disabled field and store result - var changed = acf.disable( this.$el, lockKey ); - - // do action if disabled has changed - if( changed ) { - this.prop('disabled', true); - acf.doAction('disable_field', this, context); - } - - // return - return changed; - }, - - showEnable: function( lockKey, context ){ - - // enable - this.enable.apply(this, arguments); - - // show and return true if changed - return this.show.apply(this, arguments); - }, - - hideDisable: function( lockKey, context ){ - - // disable - this.disable.apply(this, arguments); - - // hide and return true if changed - return this.hide.apply(this, arguments); - }, - - showNotice: function( props ){ - - // ensure object - if( typeof props !== 'object' ) { - props = { text: props }; - } - - // remove old notice - if( this.notice ) { - this.notice.remove(); - } - - // create new notice - props.target = this.$inputWrap(); - this.notice = acf.newNotice( props ); - }, - - removeNotice: function( timeout ){ - if( this.notice ) { - this.notice.away( timeout || 0 ); - this.notice = false; - } - }, - - showError: function( message ){ - - // add class - this.$el.addClass('acf-error'); - - // add message - if( message !== undefined ) { - this.showNotice({ - text: message, - type: 'error', - dismiss: false - }); - } - - // action - acf.doAction('invalid_field', this); - - // add event - this.$el.one('focus change', 'input, select, textarea', $.proxy( this.removeError, this )); - }, - - removeError: function(){ - - // remove class - this.$el.removeClass('acf-error'); - - // remove notice - this.removeNotice( 250 ); - - // action - acf.doAction('valid_field', this); - }, - - trigger: function( name, args, bubbles ){ - - // allow some events to bubble - if( name == 'invalidField' ) { - bubbles = true; - } - - // return - return acf.Model.prototype.trigger.apply(this, [name, args, bubbles]); - }, - }); - - /** - * newField - * - * description - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.newField = function( $field ){ - - // vars - var type = $field.data('type'); - var mid = modelId( type ); - var model = acf.models[ mid ] || acf.Field; - - // instantiate - var field = new model( $field ); - - // actions - acf.doAction('new_field', field); - - // return - return field; - }; - - /** - * mid - * - * Calculates the model ID for a field type - * - * @date 15/12/17 - * @since 5.6.5 - * - * @param string type - * @return string - */ - - var modelId = function( type ) { - return acf.strPascalCase( type || '' ) + 'Field'; - }; - - /** - * registerFieldType - * - * description - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.registerFieldType = function( model ){ - - // vars - var proto = model.prototype; - var type = proto.type; - var mid = modelId( type ); - - // store model - acf.models[ mid ] = model; - - // store reference - storage.push( type ); - }; - - /** - * acf.getFieldType - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getFieldType = function( type ){ - var mid = modelId( type ); - return acf.models[ mid ] || false; - } - - /** - * acf.getFieldTypes - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getFieldTypes = function( args ){ - - // defaults - args = acf.parseArgs(args, { - category: '', - // hasValue: true - }); - - // clonse available types - var types = []; - - // loop - storage.map(function( type ){ - - // vars - var model = acf.getFieldType(type); - var proto = model.prototype; - - // check operator - if( args.category && proto.category !== args.category ) { - return; - } - - // append - types.push( model ); - }); - - // return - return types; - }; - +/******/ (function() { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-compatibility.js": +/*!****************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-compatibility.js ***! + \****************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + /** + * acf.newCompatibility + * + * Inserts a new __proto__ object compatibility layer + * + * @date 15/2/18 + * @since 5.6.9 + * + * @param object instance The object to modify. + * @param object compatibilty Optional. The compatibilty layer. + * @return object compatibilty + */ + acf.newCompatibility = function (instance, compatibilty) { + // defaults + compatibilty = compatibilty || {}; // inherit __proto_- + + compatibilty.__proto__ = instance.__proto__; // inject + + instance.__proto__ = compatibilty; // reference + + instance.compatibility = compatibilty; // return + + return compatibilty; + }; + /** + * acf.getCompatibility + * + * Returns the compatibility layer for a given instance + * + * @date 13/3/18 + * @since 5.6.9 + * + * @param object instance The object to look in. + * @return object|null compatibility The compatibility object or null on failure. + */ + + + acf.getCompatibility = function (instance) { + return instance.compatibility || null; + }; + /** + * acf (compatibility) + * + * Compatibility layer for the acf object + * + * @date 15/2/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + + var _acf = acf.newCompatibility(acf, { + // storage + l10n: {}, + o: {}, + fields: {}, + // changed function names + update: acf.set, + add_action: acf.addAction, + remove_action: acf.removeAction, + do_action: acf.doAction, + add_filter: acf.addFilter, + remove_filter: acf.removeFilter, + apply_filters: acf.applyFilters, + parse_args: acf.parseArgs, + disable_el: acf.disable, + disable_form: acf.disable, + enable_el: acf.enable, + enable_form: acf.enable, + update_user_setting: acf.updateUserSetting, + prepare_for_ajax: acf.prepareForAjax, + is_ajax_success: acf.isAjaxSuccess, + remove_el: acf.remove, + remove_tr: acf.remove, + str_replace: acf.strReplace, + render_select: acf.renderSelect, + get_uniqid: acf.uniqid, + serialize_form: acf.serialize, + esc_html: acf.strEscape, + str_sanitize: acf.strSanitize + }); + + _acf._e = function (k1, k2) { + // defaults + k1 = k1 || ''; + k2 = k2 || ''; // compability + + var compatKey = k2 ? k1 + '.' + k2 : k1; + var compats = { + 'image.select': 'Select Image', + 'image.edit': 'Edit Image', + 'image.update': 'Update Image' + }; + + if (compats[compatKey]) { + return acf.__(compats[compatKey]); + } // try k1 + + + var string = this.l10n[k1] || ''; // try k2 + + if (k2) { + string = string[k2] || ''; + } // return + + + return string; + }; + + _acf.get_selector = function (s) { + // vars + var selector = '.acf-field'; // bail early if no search + + if (!s) { + return selector; + } // compatibility with object + + + if ($.isPlainObject(s)) { + if ($.isEmptyObject(s)) { + return selector; + } else { + for (var k in s) { + s = s[k]; + break; + } + } + } // append + + + selector += '-' + s; // replace underscores (split/join replaces all and is faster than regex!) + + selector = acf.strReplace('_', '-', selector); // remove potential double up + + selector = acf.strReplace('field-field-', 'field-', selector); // return + + return selector; + }; + + _acf.get_fields = function (s, $el, all) { + // args + var args = { + is: s || '', + parent: $el || false, + suppressFilters: all || false + }; // change 'field_123' to '.acf-field-123' + + if (args.is) { + args.is = this.get_selector(args.is); + } // return + + + return acf.findFields(args); + }; + + _acf.get_field = function (s, $el) { + // get fields + var $fields = this.get_fields.apply(this, arguments); // return + + if ($fields.length) { + return $fields.first(); + } else { + return false; + } + }; + + _acf.get_closest_field = function ($el, s) { + return $el.closest(this.get_selector(s)); + }; + + _acf.get_field_wrap = function ($el) { + return $el.closest(this.get_selector()); + }; + + _acf.get_field_key = function ($field) { + return $field.data('key'); + }; + + _acf.get_field_type = function ($field) { + return $field.data('type'); + }; + + _acf.get_data = function ($el, defaults) { + return acf.parseArgs($el.data(), defaults); + }; + + _acf.maybe_get = function (obj, key, value) { + // default + if (value === undefined) { + value = null; + } // get keys + + + keys = String(key).split('.'); // acf.isget + + for (var i = 0; i < keys.length; i++) { + if (!obj.hasOwnProperty(keys[i])) { + return value; + } + + obj = obj[keys[i]]; + } + + return obj; + }; + /** + * hooks + * + * Modify add_action and add_filter functions to add compatibility with changed $field parameter + * Using the acf.add_action() or acf.add_filter() functions will interpret new field parameters as jQuery $field + * + * @date 12/5/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + + var compatibleArgument = function (arg) { + return arg instanceof acf.Field ? arg.$el : arg; + }; + + var compatibleArguments = function (args) { + return acf.arrayArgs(args).map(compatibleArgument); + }; + + var compatibleCallback = function (origCallback) { + return function () { + // convert to compatible arguments + if (arguments.length) { + var args = compatibleArguments(arguments); // add default argument for 'ready', 'append' and 'load' events + } else { + var args = [$(document)]; + } // return + + + return origCallback.apply(this, args); + }; + }; + + _acf.add_action = function (action, callback, priority, context) { + // handle multiple actions + var actions = action.split(' '); + var length = actions.length; + + if (length > 1) { + for (var i = 0; i < length; i++) { + action = actions[i]; + + _acf.add_action.apply(this, arguments); + } + + return this; + } // single + + + var callback = compatibleCallback(callback); + return acf.addAction.apply(this, arguments); + }; + + _acf.add_filter = function (action, callback, priority, context) { + var callback = compatibleCallback(callback); + return acf.addFilter.apply(this, arguments); + }; + /* + * acf.model + * + * This model acts as a scafold for action.event driven modules + * + * @type object + * @date 8/09/2014 + * @since 5.0.0 + * + * @param (object) + * @return (object) + */ + + + _acf.model = { + actions: {}, + filters: {}, + events: {}, + extend: function (args) { + // extend + var model = $.extend({}, this, args); // setup actions + + $.each(model.actions, function (name, callback) { + model._add_action(name, callback); + }); // setup filters + + $.each(model.filters, function (name, callback) { + model._add_filter(name, callback); + }); // setup events + + $.each(model.events, function (name, callback) { + model._add_event(name, callback); + }); // return + + return model; + }, + _add_action: function (name, callback) { + // split + var model = this, + data = name.split(' '); // add missing priority + + var name = data[0] || '', + priority = data[1] || 10; // add action + + acf.add_action(name, model[callback], priority, model); + }, + _add_filter: function (name, callback) { + // split + var model = this, + data = name.split(' '); // add missing priority + + var name = data[0] || '', + priority = data[1] || 10; // add action + + acf.add_filter(name, model[callback], priority, model); + }, + _add_event: function (name, callback) { + // vars + var model = this, + i = name.indexOf(' '), + event = i > 0 ? name.substr(0, i) : name, + selector = i > 0 ? name.substr(i + 1) : ''; // event + + var fn = function (e) { + // append $el to event object + e.$el = $(this); // append $field to event object (used in field group) + + if (acf.field_group) { + e.$field = e.$el.closest('.acf-field-object'); + } // event + + + if (typeof model.event === 'function') { + e = model.event(e); + } // callback + + + model[callback].apply(model, arguments); + }; // add event + + + if (selector) { + $(document).on(event, selector, fn); + } else { + $(document).on(event, fn); + } + }, + get: function (name, value) { + // defaults + value = value || null; // get + + if (typeof this[name] !== 'undefined') { + value = this[name]; + } // return + + + return value; + }, + set: function (name, value) { + // set + this[name] = value; // function for 3rd party + + if (typeof this['_set_' + name] === 'function') { + this['_set_' + name].apply(this); + } // return for chaining + + + return this; + } + }; + /* + * field + * + * This model sets up many of the field's interactions + * + * @type function + * @date 21/02/2014 + * @since 3.5.1 + * + * @param n/a + * @return n/a + */ + + _acf.field = acf.model.extend({ + type: '', + o: {}, + $field: null, + _add_action: function (name, callback) { + // vars + var model = this; // update name + + name = name + '_field/type=' + model.type; // add action + + acf.add_action(name, function ($field) { + // focus + model.set('$field', $field); // callback + + model[callback].apply(model, arguments); + }); + }, + _add_filter: function (name, callback) { + // vars + var model = this; // update name + + name = name + '_field/type=' + model.type; // add action + + acf.add_filter(name, function ($field) { + // focus + model.set('$field', $field); // callback + + model[callback].apply(model, arguments); + }); + }, + _add_event: function (name, callback) { + // vars + var model = this, + event = name.substr(0, name.indexOf(' ')), + selector = name.substr(name.indexOf(' ') + 1), + context = acf.get_selector(model.type); // add event + + $(document).on(event, context + ' ' + selector, function (e) { + // vars + var $el = $(this); + var $field = acf.get_closest_field($el, model.type); // bail early if no field + + if (!$field.length) return; // focus + + if (!$field.is(model.$field)) { + model.set('$field', $field); + } // append to event + + + e.$el = $el; + e.$field = $field; // callback + + model[callback].apply(model, [e]); + }); + }, + _set_$field: function () { + // callback + if (typeof this.focus === 'function') { + this.focus(); + } + }, + // depreciated + doFocus: function ($field) { + return this.set('$field', $field); + } + }); + /** + * validation + * + * description + * + * @date 15/2/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var _validation = acf.newCompatibility(acf.validation, { + remove_error: function ($field) { + acf.getField($field).removeError(); + }, + add_warning: function ($field, message) { + acf.getField($field).showNotice({ + text: message, + type: 'warning', + timeout: 1000 + }); + }, + fetch: acf.validateForm, + enableSubmit: acf.enableSubmit, + disableSubmit: acf.disableSubmit, + showSpinner: acf.showSpinner, + hideSpinner: acf.hideSpinner, + unlockForm: acf.unlockForm, + lockForm: acf.lockForm + }); + /** + * tooltip + * + * description + * + * @date 15/2/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + _acf.tooltip = { + tooltip: function (text, $el) { + var tooltip = acf.newTooltip({ + text: text, + target: $el + }); // return + + return tooltip.$el; + }, + temp: function (text, $el) { + var tooltip = acf.newTooltip({ + text: text, + target: $el, + timeout: 250 + }); + }, + confirm: function ($el, callback, text, button_y, button_n) { + var tooltip = acf.newTooltip({ + confirm: true, + text: text, + target: $el, + confirm: function () { + callback(true); + }, + cancel: function () { + callback(false); + } + }); + }, + confirm_remove: function ($el, callback) { + var tooltip = acf.newTooltip({ + confirmRemove: true, + target: $el, + confirm: function () { + callback(true); + }, + cancel: function () { + callback(false); + } + }); + } + }; + /** + * tooltip + * + * description + * + * @date 15/2/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + _acf.media = new acf.Model({ + activeFrame: false, + actions: { + new_media_popup: 'onNewMediaPopup' + }, + frame: function () { + return this.activeFrame; + }, + onNewMediaPopup: function (popup) { + this.activeFrame = popup.frame; + }, + popup: function (props) { + // update props + if (props.mime_types) { + props.allowedTypes = props.mime_types; + } + + if (props.id) { + props.attachment = props.id; + } // new + + + var popup = acf.newMediaPopup(props); // append + + /* + if( props.selected ) { + popup.selected = props.selected; + } + */ + // return + + return popup.frame; + } + }); + /** + * Select2 + * + * description + * + * @date 11/6/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + _acf.select2 = { + init: function ($select, args, $field) { + // compatible args + if (args.allow_null) { + args.allowNull = args.allow_null; + } + + if (args.ajax_action) { + args.ajaxAction = args.ajax_action; + } + + if ($field) { + args.field = acf.getField($field); + } // return + + + return acf.newSelect2($select, args); + }, + destroy: function ($select) { + return acf.getInstance($select).destroy(); + } + }; + /** + * postbox + * + * description + * + * @date 11/6/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + _acf.postbox = { + render: function (args) { + // compatible args + if (args.edit_url) { + args.editLink = args.edit_url; + } + + if (args.edit_title) { + args.editTitle = args.edit_title; + } // return + + + return acf.newPostbox(args); + } + }; + /** + * acf.screen + * + * description + * + * @date 11/6/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.newCompatibility(acf.screen, { + update: function () { + return this.set.apply(this, arguments); + }, + fetch: acf.screen.check + }); + _acf.ajax = acf.screen; })(jQuery); -(function($, undefined){ - - /** - * findFields - * - * Returns a jQuery selection object of acf fields. - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param object $args { - * Optional. Arguments to find fields. - * - * @type string key The field's key (data-attribute). - * @type string name The field's name (data-attribute). - * @type string type The field's type (data-attribute). - * @type string is jQuery selector to compare against. - * @type jQuery parent jQuery element to search within. - * @type jQuery sibling jQuery element to search alongside. - * @type limit int The number of fields to find. - * @type suppressFilters bool Whether to allow filters to add/remove results. Default behaviour will ignore clone fields. - * } - * @return jQuery - */ - - acf.findFields = function( args ){ - - // vars - var selector = '.acf-field'; - var $fields = false; - - // args - args = acf.parseArgs(args, { - key: '', - name: '', - type: '', - is: '', - parent: false, - sibling: false, - limit: false, - visible: false, - suppressFilters: false, - }); - - // filter args - if( !args.suppressFilters ) { - args = acf.applyFilters('find_fields_args', args); - } - - // key - if( args.key ) { - selector += '[data-key="' + args.key + '"]'; - } - - // type - if( args.type ) { - selector += '[data-type="' + args.type + '"]'; - } - - // name - if( args.name ) { - selector += '[data-name="' + args.name + '"]'; - } - - // is - if( args.is ) { - selector += args.is; - } - - // visibility - if( args.visible ) { - selector += ':visible'; - } - - // query - if( args.parent ) { - $fields = args.parent.find( selector ); - } else if( args.sibling ) { - $fields = args.sibling.siblings( selector ); - } else { - $fields = $( selector ); - } - - // filter - if( !args.suppressFilters ) { - $fields = $fields.not('.acf-clone .acf-field'); - $fields = acf.applyFilters('find_fields', $fields); - } - - // limit - if( args.limit ) { - $fields = $fields.slice( 0, args.limit ); - } - - // return - return $fields; - - }; - - /** - * findField - * - * Finds a specific field with jQuery - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string key The field's key. - * @param jQuery $parent jQuery element to search within. - * @return jQuery - */ - - acf.findField = function( key, $parent ){ - return acf.findFields({ - key: key, - limit: 1, - parent: $parent, - suppressFilters: true - }); - }; - - /** - * getField - * - * Returns a field instance - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param jQuery|string $field jQuery element or field key. - * @return object - */ - - acf.getField = function( $field ){ - - // allow jQuery - if( $field instanceof jQuery ) { - - // find fields - } else { - $field = acf.findField( $field ); - } - - // instantiate - var field = $field.data('acf'); - if( !field ) { - field = acf.newField( $field ); - } - - // return - return field; - }; - - /** - * getFields - * - * Returns multiple field instances - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param jQuery|object $fields jQuery elements or query args. - * @return array - */ - - acf.getFields = function( $fields ){ - - // allow jQuery - if( $fields instanceof jQuery ) { - - // find fields - } else { - $fields = acf.findFields( $fields ); - } - - // loop - var fields = []; - $fields.each(function(){ - var field = acf.getField( $(this) ); - fields.push( field ); - }); - - // return - return fields; - }; - - /** - * findClosestField - * - * Returns the closest jQuery field element - * - * @date 9/4/18 - * @since 5.6.9 - * - * @param jQuery $el - * @return jQuery - */ - - acf.findClosestField = function( $el ){ - return $el.closest('.acf-field'); - }; - - /** - * getClosestField - * - * Returns the closest field instance - * - * @date 22/1/18 - * @since 5.6.5 - * - * @param jQuery $el - * @return object - */ - - acf.getClosestField = function( $el ){ - var $field = acf.findClosestField( $el ); - return this.getField( $field ); - }; - - /** - * addGlobalFieldAction - * - * Sets up callback logic for global field actions - * - * @date 15/6/18 - * @since 5.6.9 - * - * @param string action - * @return void - */ - - var addGlobalFieldAction = function( action ){ - - // vars - var globalAction = action; - var pluralAction = action + '_fields'; // ready_fields - var singleAction = action + '_field'; // ready_field - - // global action - var globalCallback = function( $el /*, arg1, arg2, etc*/ ){ - //console.log( action, arguments ); - - // get args [$el, ...] - var args = acf.arrayArgs( arguments ); - var extraArgs = args.slice(1); - - // find fields - var fields = acf.getFields({ parent: $el }); - - // check - if( fields.length ) { - - // pluralAction - var pluralArgs = [ pluralAction, fields ].concat( extraArgs ); - acf.doAction.apply(null, pluralArgs); - } - }; - - // plural action - var pluralCallback = function( fields /*, arg1, arg2, etc*/ ){ - //console.log( pluralAction, arguments ); - - // get args [fields, ...] - var args = acf.arrayArgs( arguments ); - var extraArgs = args.slice(1); - - // loop - fields.map(function( field, i ){ - //setTimeout(function(){ - // singleAction - var singleArgs = [ singleAction, field ].concat( extraArgs ); - acf.doAction.apply(null, singleArgs); - //}, i * 100); - }); - }; - - // add actions - acf.addAction(globalAction, globalCallback); - acf.addAction(pluralAction, pluralCallback); - - // also add single action - addSingleFieldAction( action ); - } - - /** - * addSingleFieldAction - * - * Sets up callback logic for single field actions - * - * @date 15/6/18 - * @since 5.6.9 - * - * @param string action - * @return void - */ - - var addSingleFieldAction = function( action ){ - - // vars - var singleAction = action + '_field'; // ready_field - var singleEvent = action + 'Field'; // readyField - // single action - var singleCallback = function( field /*, arg1, arg2, etc*/ ){ - //console.log( singleAction, arguments ); - - // get args [field, ...] - var args = acf.arrayArgs( arguments ); - var extraArgs = args.slice(1); - - // action variations (ready_field/type=image) - var variations = ['type', 'name', 'key']; - variations.map(function( variation ){ - - // vars - var prefix = '/' + variation + '=' + field.get(variation); - - // singleAction - args = [ singleAction + prefix , field ].concat( extraArgs ); - acf.doAction.apply(null, args); - }); - - // event - if( singleFieldEvents.indexOf(action) > -1 ) { - field.trigger(singleEvent, extraArgs); - } - }; - - // add actions - acf.addAction(singleAction, singleCallback); - } - - // vars - var globalFieldActions = [ 'prepare', 'ready', 'load', 'append', 'remove', 'unmount', 'remount', 'sortstart', 'sortstop', 'show', 'hide', 'unload' ]; - var singleFieldActions = [ 'valid', 'invalid', 'enable', 'disable', 'new', 'duplicate' ]; - var singleFieldEvents = [ 'remove', 'unmount', 'remount', 'sortstart', 'sortstop', 'show', 'hide', 'unload', 'valid', 'invalid', 'enable', 'disable', 'duplicate' ]; - - // add - globalFieldActions.map( addGlobalFieldAction ); - singleFieldActions.map( addSingleFieldAction ); - - /** - * fieldsEventManager - * - * Manages field actions and events - * - * @date 15/12/17 - * @since 5.6.5 - * - * @param void - * @param void - */ - - var fieldsEventManager = new acf.Model({ - id: 'fieldsEventManager', - events: { - 'click .acf-field a[href="#"]': 'onClick', - 'change .acf-field': 'onChange' - }, - onClick: function( e ){ - - // prevent default of any link with an href of # - e.preventDefault(); - }, - onChange: function(){ - - // preview hack allows post to save with no title or content - $('#_acf_changed').val(1); - } - }); +/***/ }), - var duplicateFieldsManager = new acf.Model({ - id: 'duplicateFieldsManager', - actions: { - 'duplicate': 'onDuplicate', - 'duplicate_fields': 'onDuplicateFields', - }, - onDuplicate: function( $el, $el2 ){ - var fields = acf.getFields({ parent: $el }); - if( fields.length ) { - var $fields = acf.findFields({ parent: $el2 }); - acf.doAction( 'duplicate_fields', fields, $fields ); - } - }, - onDuplicateFields: function( fields, duplicates ){ - fields.map(function( field, i ){ - acf.doAction( 'duplicate_field', field, $(duplicates[i]) ); - }); - } - }); - +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-condition-types.js": +/*!******************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-condition-types.js ***! + \******************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var __ = acf.__; + + var parseString = function (val) { + return val ? '' + val : ''; + }; + + var isEqualTo = function (v1, v2) { + return parseString(v1).toLowerCase() === parseString(v2).toLowerCase(); + }; + + var isEqualToNumber = function (v1, v2) { + return parseFloat(v1) === parseFloat(v2); + }; + + var isGreaterThan = function (v1, v2) { + return parseFloat(v1) > parseFloat(v2); + }; + + var isLessThan = function (v1, v2) { + return parseFloat(v1) < parseFloat(v2); + }; + + var inArray = function (v1, array) { + // cast all values as string + array = array.map(function (v2) { + return parseString(v2); + }); + return array.indexOf(v1) > -1; + }; + + var containsString = function (haystack, needle) { + return parseString(haystack).indexOf(parseString(needle)) > -1; + }; + + var matchesPattern = function (v1, pattern) { + var regexp = new RegExp(parseString(pattern), 'gi'); + return parseString(v1).match(regexp); + }; + /** + * hasValue + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + + var HasValue = acf.Condition.extend({ + type: 'hasValue', + operator: '!=empty', + label: __('Has any value'), + fieldTypes: ['text', 'textarea', 'number', 'range', 'email', 'url', 'password', 'image', 'file', 'wysiwyg', 'oembed', 'select', 'checkbox', 'radio', 'button_group', 'link', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user', 'google_map', 'date_picker', 'date_time_picker', 'time_picker', 'color_picker'], + match: function (rule, field) { + let val = field.val(); + + if (val instanceof Array) { + val = val.length; + } + + return val ? true : false; + }, + choices: function (fieldObject) { + return ''; + } + }); + acf.registerConditionType(HasValue); + /** + * hasValue + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var HasNoValue = HasValue.extend({ + type: 'hasNoValue', + operator: '==empty', + label: __('Has no value'), + match: function (rule, field) { + return !HasValue.prototype.match.apply(this, arguments); + } + }); + acf.registerConditionType(HasNoValue); + /** + * EqualTo + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var EqualTo = acf.Condition.extend({ + type: 'equalTo', + operator: '==', + label: __('Value is equal to'), + fieldTypes: ['text', 'textarea', 'number', 'range', 'email', 'url', 'password'], + match: function (rule, field) { + if (acf.isNumeric(rule.value)) { + return isEqualToNumber(rule.value, field.val()); + } else { + return isEqualTo(rule.value, field.val()); + } + }, + choices: function (fieldObject) { + return ''; + } + }); + acf.registerConditionType(EqualTo); + /** + * NotEqualTo + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var NotEqualTo = EqualTo.extend({ + type: 'notEqualTo', + operator: '!=', + label: __('Value is not equal to'), + match: function (rule, field) { + return !EqualTo.prototype.match.apply(this, arguments); + } + }); + acf.registerConditionType(NotEqualTo); + /** + * PatternMatch + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var PatternMatch = acf.Condition.extend({ + type: 'patternMatch', + operator: '==pattern', + label: __('Value matches pattern'), + fieldTypes: ['text', 'textarea', 'email', 'url', 'password', 'wysiwyg'], + match: function (rule, field) { + return matchesPattern(field.val(), rule.value); + }, + choices: function (fieldObject) { + return ''; + } + }); + acf.registerConditionType(PatternMatch); + /** + * Contains + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var Contains = acf.Condition.extend({ + type: 'contains', + operator: '==contains', + label: __('Value contains'), + fieldTypes: ['text', 'textarea', 'number', 'email', 'url', 'password', 'wysiwyg', 'oembed', 'select'], + match: function (rule, field) { + return containsString(field.val(), rule.value); + }, + choices: function (fieldObject) { + return ''; + } + }); + acf.registerConditionType(Contains); + /** + * TrueFalseEqualTo + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var TrueFalseEqualTo = EqualTo.extend({ + type: 'trueFalseEqualTo', + choiceType: 'select', + fieldTypes: ['true_false'], + choices: function (field) { + return [{ + id: 1, + text: __('Checked') + }]; + } + }); + acf.registerConditionType(TrueFalseEqualTo); + /** + * TrueFalseNotEqualTo + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var TrueFalseNotEqualTo = NotEqualTo.extend({ + type: 'trueFalseNotEqualTo', + choiceType: 'select', + fieldTypes: ['true_false'], + choices: function (field) { + return [{ + id: 1, + text: __('Checked') + }]; + } + }); + acf.registerConditionType(TrueFalseNotEqualTo); + /** + * SelectEqualTo + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var SelectEqualTo = acf.Condition.extend({ + type: 'selectEqualTo', + operator: '==', + label: __('Value is equal to'), + fieldTypes: ['select', 'checkbox', 'radio', 'button_group'], + match: function (rule, field) { + var val = field.val(); + + if (val instanceof Array) { + return inArray(rule.value, val); + } else { + return isEqualTo(rule.value, val); + } + }, + choices: function (fieldObject) { + // vars + var choices = []; + var lines = fieldObject.$setting('choices textarea').val().split('\n'); // allow null + + if (fieldObject.$input('allow_null').prop('checked')) { + choices.push({ + id: '', + text: __('Null') + }); + } // loop + + + lines.map(function (line) { + // split + line = line.split(':'); // default label to value + + line[1] = line[1] || line[0]; // append + + choices.push({ + id: line[0].trim(), + text: line[1].trim() + }); + }); // return + + return choices; + } + }); + acf.registerConditionType(SelectEqualTo); + /** + * SelectNotEqualTo + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var SelectNotEqualTo = SelectEqualTo.extend({ + type: 'selectNotEqualTo', + operator: '!=', + label: __('Value is not equal to'), + match: function (rule, field) { + return !SelectEqualTo.prototype.match.apply(this, arguments); + } + }); + acf.registerConditionType(SelectNotEqualTo); + /** + * GreaterThan + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var GreaterThan = acf.Condition.extend({ + type: 'greaterThan', + operator: '>', + label: __('Value is greater than'), + fieldTypes: ['number', 'range'], + match: function (rule, field) { + var val = field.val(); + + if (val instanceof Array) { + val = val.length; + } + + return isGreaterThan(val, rule.value); + }, + choices: function (fieldObject) { + return ''; + } + }); + acf.registerConditionType(GreaterThan); + /** + * LessThan + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var LessThan = GreaterThan.extend({ + type: 'lessThan', + operator: '<', + label: __('Value is less than'), + match: function (rule, field) { + var val = field.val(); + + if (val instanceof Array) { + val = val.length; + } + + if (val === undefined || val === null || val === false) { + return true; + } + + return isLessThan(val, rule.value); + }, + choices: function (fieldObject) { + return ''; + } + }); + acf.registerConditionType(LessThan); + /** + * SelectedGreaterThan + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var SelectionGreaterThan = GreaterThan.extend({ + type: 'selectionGreaterThan', + label: __('Selection is greater than'), + fieldTypes: ['checkbox', 'select', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user'] + }); + acf.registerConditionType(SelectionGreaterThan); + /** + * SelectedGreaterThan + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var SelectionLessThan = LessThan.extend({ + type: 'selectionLessThan', + label: __('Selection is less than'), + fieldTypes: ['checkbox', 'select', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user'] + }); + acf.registerConditionType(SelectionLessThan); })(jQuery); -(function($, undefined){ - - var i = 0; - - var Field = acf.Field.extend({ - - type: 'accordion', - - wait: '', - - $control: function(){ - return this.$('.acf-fields:first'); - }, - - initialize: function(){ - - // Bail early if this is a duplicate of an existing initialized accordion. - if( this.$el.hasClass('acf-accordion') ) { - return; - } - - // bail early if is cell - if( this.$el.is('td') ) return; - - // enpoint - if( this.get('endpoint') ) { - return this.remove(); - } - - // vars - var $field = this.$el; - var $label = this.$labelWrap() - var $input = this.$inputWrap(); - var $wrap = this.$control(); - var $instructions = $input.children('.description'); - - // force description into label - if( $instructions.length ) { - $label.append( $instructions ); - } - - // table - if( this.$el.is('tr') ) { - - // vars - var $table = this.$el.closest('table'); - var $newLabel = $('
    '); - var $newInput = $('
    '); - var $newTable = $(''); - var $newWrap = $(''); - - // dom - $newLabel.append( $label.html() ); - $newTable.append( $newWrap ); - $newInput.append( $newTable ); - $input.append( $newLabel ); - $input.append( $newInput ); - - // modify - $label.remove(); - $wrap.remove(); - $input.attr('colspan', 2); - - // update vars - $label = $newLabel; - $input = $newInput; - $wrap = $newWrap; - } - - // add classes - $field.addClass('acf-accordion'); - $label.addClass('acf-accordion-title'); - $input.addClass('acf-accordion-content'); - - // index - i++; - - // multi-expand - if( this.get('multi_expand') ) { - $field.attr('multi-expand', 1); - } - - // open - var order = acf.getPreference('this.accordions') || []; - if( order[i-1] !== undefined ) { - this.set('open', order[i-1]); - } - - if( this.get('open') ) { - $field.addClass('-open'); - $input.css('display', 'block'); // needed for accordion to close smoothly - } - - // add icon - $label.prepend( accordionManager.iconHtml({ open: this.get('open') }) ); - - // classes - // - remove 'inside' which is a #poststuff WP class - var $parent = $field.parent(); - $wrap.addClass( $parent.hasClass('-left') ? '-left' : '' ); - $wrap.addClass( $parent.hasClass('-clear') ? '-clear' : '' ); - - // append - $wrap.append( $field.nextUntil('.acf-field-accordion', '.acf-field') ); - - // clean up - $wrap.removeAttr('data-open data-multi_expand data-endpoint'); - }, - - }); - - acf.registerFieldType( Field ); + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-condition.js": +/*!************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-condition.js ***! + \************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + // vars + var storage = []; + /** + * acf.Condition + * + * description + * + * @date 23/3/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.Condition = acf.Model.extend({ + type: '', + // used for model name + operator: '==', + // rule operator + label: '', + // label shown when editing fields + choiceType: 'input', + // input, select + fieldTypes: [], + // auto connect this conditions with these field types + data: { + conditions: false, + // the parent instance + field: false, + // the field which we query against + rule: {} // the rule [field, operator, value] + + }, + events: { + change: 'change', + keyup: 'change', + enableField: 'change', + disableField: 'change' + }, + setup: function (props) { + $.extend(this.data, props); + }, + getEventTarget: function ($el, event) { + return $el || this.get('field').$el; + }, + change: function (e, $el) { + this.get('conditions').change(e); + }, + match: function (rule, field) { + return false; + }, + calculate: function () { + return this.match(this.get('rule'), this.get('field')); + }, + choices: function (field) { + return ''; + } + }); + /** + * acf.newCondition + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.newCondition = function (rule, conditions) { + // currently setting up conditions for fieldX, this field is the 'target' + var target = conditions.get('field'); // use the 'target' to find the 'trigger' field. + // - this field is used to setup the conditional logic events + + var field = target.getField(rule.field); // bail ealry if no target or no field (possible if field doesn't exist due to HTML error) + + if (!target || !field) { + return false; + } // vars - /** - * accordionManager - * - * Events manager for the acf accordion - * - * @date 14/2/18 - * @since 5.6.9 - * - * @param void - * @return void - */ - - var accordionManager = new acf.Model({ - - actions: { - 'unload': 'onUnload' - }, - - events: { - 'click .acf-accordion-title': 'onClick', - 'invalidField .acf-accordion': 'onInvalidField' - }, - - isOpen: function( $el ) { - return $el.hasClass('-open'); - }, - - toggle: function( $el ){ - if( this.isOpen($el) ) { - this.close( $el ); - } else { - this.open( $el ); - } - }, - - iconHtml: function( props ){ - - // Use SVG inside Gutenberg editor. - if( acf.isGutenberg() ) { - if( props.open ) { - return ''; - } else { - return ''; - } - } else { - if( props.open ) { - return ''; - } else { - return ''; - } - } - }, - - open: function( $el ){ - var duration = acf.isGutenberg() ? 0 : 300; - - // open - $el.find('.acf-accordion-content:first').slideDown( duration ).css('display', 'block'); - $el.find('.acf-accordion-icon:first').replaceWith( this.iconHtml({ open: true }) ); - $el.addClass('-open'); - - // action - acf.doAction('show', $el); - - // close siblings - if( !$el.attr('multi-expand') ) { - $el.siblings('.acf-accordion.-open').each(function(){ - accordionManager.close( $(this) ); - }); - } - }, - - close: function( $el ){ - var duration = acf.isGutenberg() ? 0 : 300; - - // close - $el.find('.acf-accordion-content:first').slideUp( duration ); - $el.find('.acf-accordion-icon:first').replaceWith( this.iconHtml({ open: false }) ); - $el.removeClass('-open'); - - // action - acf.doAction('hide', $el); - }, - - onClick: function( e, $el ){ - - // prevent Defailt - e.preventDefault(); - - // open close - this.toggle( $el.parent() ); - - }, - - onInvalidField: function( e, $el ){ - - // bail early if already focused - if( this.busy ) { - return; - } - - // disable functionality for 1sec (allow next validation to work) - this.busy = true; - this.setTimeout(function(){ - this.busy = false; - }, 1000); - - // open accordion - this.open( $el ); - }, - - onUnload: function( e ){ - - // vars - var order = []; - - // loop - $('.acf-accordion').each(function(){ - var open = $(this).hasClass('-open') ? 1 : 0; - order.push(open); - }); - - // set - if( order.length ) { - acf.setPreference('this.accordions', order); - } - } - }); + var args = { + rule: rule, + target: target, + conditions: conditions, + field: field + }; // vars + var fieldType = field.get('type'); + var operator = rule.operator; // get avaibale conditions + + var conditionTypes = acf.getConditionTypes({ + fieldType: fieldType, + operator: operator + }); // instantiate + + var model = conditionTypes[0] || acf.Condition; // instantiate + + var condition = new model(args); // return + + return condition; + }; + /** + * mid + * + * Calculates the model ID for a field type + * + * @date 15/12/17 + * @since 5.6.5 + * + * @param string type + * @return string + */ + + + var modelId = function (type) { + return acf.strPascalCase(type || '') + 'Condition'; + }; + /** + * acf.registerConditionType + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + acf.registerConditionType = function (model) { + // vars + var proto = model.prototype; + var type = proto.type; + var mid = modelId(type); // store model + + acf.models[mid] = model; // store reference + + storage.push(type); + }; + /** + * acf.getConditionType + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + acf.getConditionType = function (type) { + var mid = modelId(type); + return acf.models[mid] || false; + }; + /** + * acf.registerConditionForFieldType + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + acf.registerConditionForFieldType = function (conditionType, fieldType) { + // get model + var model = acf.getConditionType(conditionType); // append + + if (model) { + model.prototype.fieldTypes.push(fieldType); + } + }; + /** + * acf.getConditionTypes + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + acf.getConditionTypes = function (args) { + // defaults + args = acf.parseArgs(args, { + fieldType: '', + operator: '' + }); // clonse available types + + var types = []; // loop + + storage.map(function (type) { + // vars + var model = acf.getConditionType(type); + var ProtoFieldTypes = model.prototype.fieldTypes; + var ProtoOperator = model.prototype.operator; // check fieldType + + if (args.fieldType && ProtoFieldTypes.indexOf(args.fieldType) === -1) { + return; + } // check operator + + + if (args.operator && ProtoOperator !== args.operator) { + return; + } // append + + + types.push(model); + }); // return + + return types; + }; })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'button_group', - - events: { - 'click input[type="radio"]': 'onClick' - }, - - $control: function(){ - return this.$('.acf-button-group'); - }, - - $input: function(){ - return this.$('input:checked'); - }, - - setValue: function( val ){ - this.$('input[value="' + val + '"]').prop('checked', true).trigger('change'); - }, - - onClick: function( e, $el ){ - - // vars - var $label = $el.parent('label'); - var selected = $label.hasClass('selected'); - - // remove previous selected - this.$('.selected').removeClass('selected'); - - // add active class - $label.addClass('selected'); - - // allow null - if( this.get('allow_null') && selected ) { - $label.removeClass('selected'); - $el.prop('checked', false).trigger('change'); - } - } - }); - - acf.registerFieldType( Field ); +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-conditions.js": +/*!*************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-conditions.js ***! + \*************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + // vars + var CONTEXT = 'conditional_logic'; + /** + * conditionsManager + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var conditionsManager = new acf.Model({ + id: 'conditionsManager', + priority: 20, + // run actions later + actions: { + new_field: 'onNewField' + }, + onNewField: function (field) { + if (field.has('conditions')) { + field.getConditions().render(); + } + } + }); + /** + * acf.Field.prototype.getField + * + * Finds a field that is related to another field + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var getSiblingField = function (field, key) { + // find sibling (very fast) + var fields = acf.getFields({ + key: key, + sibling: field.$el, + suppressFilters: true + }); // find sibling-children (fast) + // needed for group fields, accordions, etc + + if (!fields.length) { + fields = acf.getFields({ + key: key, + parent: field.$el.parent(), + suppressFilters: true + }); + } // return + + + if (fields.length) { + return fields[0]; + } + + return false; + }; + + acf.Field.prototype.getField = function (key) { + // get sibling field + var field = getSiblingField(this, key); // return early + + if (field) { + return field; + } // move up through each parent and try again + + + var parents = this.parents(); + + for (var i = 0; i < parents.length; i++) { + // get sibling field + field = getSiblingField(parents[i], key); // return early + + if (field) { + return field; + } + } // return + + + return false; + }; + /** + * acf.Field.prototype.getConditions + * + * Returns the field's conditions instance + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + acf.Field.prototype.getConditions = function () { + // instantiate + if (!this.conditions) { + this.conditions = new Conditions(this); + } // return + + + return this.conditions; + }; + /** + * Conditions + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + var timeout = false; + var Conditions = acf.Model.extend({ + id: 'Conditions', + data: { + field: false, + // The field with "data-conditions" (target). + timeStamp: false, + // Reference used during "change" event. + groups: [] // The groups of condition instances. + + }, + setup: function (field) { + // data + this.data.field = field; // vars + + var conditions = field.get('conditions'); // detect groups + + if (conditions instanceof Array) { + // detect groups + if (conditions[0] instanceof Array) { + // loop + conditions.map(function (rules, i) { + this.addRules(rules, i); + }, this); // detect rules + } else { + this.addRules(conditions); + } // detect rule + + } else { + this.addRule(conditions); + } + }, + change: function (e) { + // this function may be triggered multiple times per event due to multiple condition classes + // compare timestamp to allow only 1 trigger per event + if (this.get('timeStamp') === e.timeStamp) { + return false; + } else { + this.set('timeStamp', e.timeStamp, true); + } // render condition and store result + + + var changed = this.render(); + }, + render: function () { + return this.calculate() ? this.show() : this.hide(); + }, + show: function () { + return this.get('field').showEnable(this.cid, CONTEXT); + }, + hide: function () { + return this.get('field').hideDisable(this.cid, CONTEXT); + }, + calculate: function () { + // vars + var pass = false; // loop + + this.getGroups().map(function (group) { + // igrnore this group if another group passed + if (pass) return; // find passed + + var passed = group.filter(function (condition) { + return condition.calculate(); + }); // if all conditions passed, update the global var + + if (passed.length == group.length) { + pass = true; + } + }); + return pass; + }, + hasGroups: function () { + return this.data.groups != null; + }, + getGroups: function () { + return this.data.groups; + }, + addGroup: function () { + var group = []; + this.data.groups.push(group); + return group; + }, + hasGroup: function (i) { + return this.data.groups[i] != null; + }, + getGroup: function (i) { + return this.data.groups[i]; + }, + removeGroup: function (i) { + this.data.groups[i].delete; + return this; + }, + addRules: function (rules, group) { + rules.map(function (rule) { + this.addRule(rule, group); + }, this); + }, + addRule: function (rule, group) { + // defaults + group = group || 0; // vars + + var groupArray; // get group + + if (this.hasGroup(group)) { + groupArray = this.getGroup(group); + } else { + groupArray = this.addGroup(); + } // instantiate + + + var condition = acf.newCondition(rule, this); // bail ealry if condition failed (field did not exist) + + if (!condition) { + return false; + } // add rule + + + groupArray.push(condition); + }, + hasRule: function () {}, + getRule: function (rule, group) { + // defaults + rule = rule || 0; + group = group || 0; + return this.data.groups[group][rule]; + }, + removeRule: function () {} + }); })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'checkbox', - - events: { - 'change input': 'onChange', - 'click .acf-add-checkbox': 'onClickAdd', - 'click .acf-checkbox-toggle': 'onClickToggle', - 'click .acf-checkbox-custom': 'onClickCustom' - }, - - $control: function(){ - return this.$('.acf-checkbox-list'); - }, - - $toggle: function(){ - return this.$('.acf-checkbox-toggle'); - }, - - $input: function(){ - return this.$('input[type="hidden"]'); - }, - - $inputs: function(){ - return this.$('input[type="checkbox"]').not('.acf-checkbox-toggle'); - }, - - getValue: function(){ - var val = []; - this.$(':checked').each(function(){ - val.push( $(this).val() ); - }); - return val.length ? val : false; - }, - - onChange: function( e, $el ){ - - // Vars. - var checked = $el.prop('checked'); - var $label = $el.parent('label'); - var $toggle = this.$toggle(); - - // Add or remove "selected" class. - if( checked ) { - $label.addClass('selected'); - } else { - $label.removeClass('selected'); - } - - // Update toggle state if all inputs are checked. - if( $toggle.length ) { - var $inputs = this.$inputs(); - - // all checked - if( $inputs.not(':checked').length == 0 ) { - $toggle.prop('checked', true); - } else { - $toggle.prop('checked', false); - } - } - }, - - onClickAdd: function( e, $el ){ - var html = '
  • '; - $el.parent('li').before( html ); - }, - - onClickToggle: function( e, $el ){ - - // Vars. - var checked = $el.prop('checked'); - var $inputs = this.$('input[type="checkbox"]'); - var $labels = this.$('label'); - - // Update "checked" state. - $inputs.prop('checked', checked); - - // Add or remove "selected" class. - if( checked ) { - $labels.addClass('selected'); - } else { - $labels.removeClass('selected'); - } - }, - - onClickCustom: function( e, $el ){ - var checked = $el.prop('checked'); - var $text = $el.next('input[type="text"]'); - - // checked - if( checked ) { - $text.prop('disabled', false); - - // not checked - } else { - $text.prop('disabled', true); - - // remove - if( $text.val() == '' ) { - $el.parent('li').remove(); - } - } - } - }); - - acf.registerFieldType( Field ); - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-accordion.js": +/*!******************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-accordion.js ***! + \******************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var i = 0; + var Field = acf.Field.extend({ + type: 'accordion', + wait: '', + $control: function () { + return this.$('.acf-fields:first'); + }, + initialize: function () { + // Bail early if this is a duplicate of an existing initialized accordion. + if (this.$el.hasClass('acf-accordion')) { + return; + } // bail early if is cell + + + if (this.$el.is('td')) return; // enpoint + + if (this.get('endpoint')) { + return this.remove(); + } // vars + + + var $field = this.$el; + var $label = this.$labelWrap(); + var $input = this.$inputWrap(); + var $wrap = this.$control(); + var $instructions = $input.children('.description'); // force description into label + + if ($instructions.length) { + $label.append($instructions); + } // table + + + if (this.$el.is('tr')) { + // vars + var $table = this.$el.closest('table'); + var $newLabel = $('
    '); + var $newInput = $('
    '); + var $newTable = $('
    '); + var $newWrap = $(''); // dom + + $newLabel.append($label.html()); + $newTable.append($newWrap); + $newInput.append($newTable); + $input.append($newLabel); + $input.append($newInput); // modify + + $label.remove(); + $wrap.remove(); + $input.attr('colspan', 2); // update vars + + $label = $newLabel; + $input = $newInput; + $wrap = $newWrap; + } // add classes + + + $field.addClass('acf-accordion'); + $label.addClass('acf-accordion-title'); + $input.addClass('acf-accordion-content'); // index + + i++; // multi-expand + + if (this.get('multi_expand')) { + $field.attr('multi-expand', 1); + } // open + + + var order = acf.getPreference('this.accordions') || []; + + if (order[i - 1] !== undefined) { + this.set('open', order[i - 1]); + } + + if (this.get('open')) { + $field.addClass('-open'); + $input.css('display', 'block'); // needed for accordion to close smoothly + } // add icon + + + $label.prepend(accordionManager.iconHtml({ + open: this.get('open') + })); // classes + // - remove 'inside' which is a #poststuff WP class + + var $parent = $field.parent(); + $wrap.addClass($parent.hasClass('-left') ? '-left' : ''); + $wrap.addClass($parent.hasClass('-clear') ? '-clear' : ''); // append + + $wrap.append($field.nextUntil('.acf-field-accordion', '.acf-field')); // clean up + + $wrap.removeAttr('data-open data-multi_expand data-endpoint'); + } + }); + acf.registerFieldType(Field); + /** + * accordionManager + * + * Events manager for the acf accordion + * + * @date 14/2/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + var accordionManager = new acf.Model({ + actions: { + unload: 'onUnload' + }, + events: { + 'click .acf-accordion-title': 'onClick', + 'invalidField .acf-accordion': 'onInvalidField' + }, + isOpen: function ($el) { + return $el.hasClass('-open'); + }, + toggle: function ($el) { + if (this.isOpen($el)) { + this.close($el); + } else { + this.open($el); + } + }, + iconHtml: function (props) { + // Use SVG inside Gutenberg editor. + if (acf.isGutenberg()) { + if (props.open) { + return ''; + } else { + return ''; + } + } else { + if (props.open) { + return ''; + } else { + return ''; + } + } + }, + open: function ($el) { + var duration = acf.isGutenberg() ? 0 : 300; // open + + $el.find('.acf-accordion-content:first').slideDown(duration).css('display', 'block'); + $el.find('.acf-accordion-icon:first').replaceWith(this.iconHtml({ + open: true + })); + $el.addClass('-open'); // action + + acf.doAction('show', $el); // close siblings + + if (!$el.attr('multi-expand')) { + $el.siblings('.acf-accordion.-open').each(function () { + accordionManager.close($(this)); + }); + } + }, + close: function ($el) { + var duration = acf.isGutenberg() ? 0 : 300; // close + + $el.find('.acf-accordion-content:first').slideUp(duration); + $el.find('.acf-accordion-icon:first').replaceWith(this.iconHtml({ + open: false + })); + $el.removeClass('-open'); // action + + acf.doAction('hide', $el); + }, + onClick: function (e, $el) { + // prevent Defailt + e.preventDefault(); // open close + + this.toggle($el.parent()); + }, + onInvalidField: function (e, $el) { + // bail early if already focused + if (this.busy) { + return; + } // disable functionality for 1sec (allow next validation to work) + + + this.busy = true; + this.setTimeout(function () { + this.busy = false; + }, 1000); // open accordion + + this.open($el); + }, + onUnload: function (e) { + // vars + var order = []; // loop + + $('.acf-accordion').each(function () { + var open = $(this).hasClass('-open') ? 1 : 0; + order.push(open); + }); // set + + if (order.length) { + acf.setPreference('this.accordions', order); + } + } + }); })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'color_picker', - - wait: 'load', - - events: { - 'duplicateField': 'onDuplicate' - }, - $control: function(){ - return this.$('.acf-color-picker'); - }, - - $input: function(){ - return this.$('input[type="hidden"]'); - }, - - $inputText: function(){ - return this.$('input[type="text"]'); - }, - - setValue: function( val ){ - - // update input (with change) - acf.val( this.$input(), val ); - - // update iris - this.$inputText().iris('color', val); - }, - - initialize: function(){ - - // vars - var $input = this.$input(); - var $inputText = this.$inputText(); - - // event - var onChange = function( e ){ - - // timeout is required to ensure the $input val is correct - setTimeout(function(){ - acf.val( $input, $inputText.val() ); - }, 1); - } - - // args - var args = { - defaultColor: false, - palettes: true, - hide: true, - change: onChange, - clear: onChange - }; - - // filter - var args = acf.applyFilters('color_picker_args', args, this); - - // initialize - $inputText.wpColorPicker( args ); - }, +/***/ }), - onDuplicate: function( e, $el, $duplicate ){ - - // The wpColorPicker library does not provide a destroy method. - // Manually reset DOM by replacing elements back to their original state. - $colorPicker = $duplicate.find('.wp-picker-container'); - $inputText = $duplicate.find('input[type="text"]'); - $colorPicker.replaceWith( $inputText ); - } - }); - - acf.registerFieldType( Field ); - +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-button-group.js": +/*!*********************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-button-group.js ***! + \*********************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'button_group', + events: { + 'click input[type="radio"]': 'onClick' + }, + $control: function () { + return this.$('.acf-button-group'); + }, + $input: function () { + return this.$('input:checked'); + }, + setValue: function (val) { + this.$('input[value="' + val + '"]').prop('checked', true).trigger('change'); + }, + onClick: function (e, $el) { + // vars + var $label = $el.parent('label'); + var selected = $label.hasClass('selected'); // remove previous selected + + this.$('.selected').removeClass('selected'); // add active class + + $label.addClass('selected'); // allow null + + if (this.get('allow_null') && selected) { + $label.removeClass('selected'); + $el.prop('checked', false).trigger('change'); + } + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'date_picker', - - events: { - 'blur input[type="text"]': 'onBlur', - 'duplicateField': 'onDuplicate' - }, - - $control: function(){ - return this.$('.acf-date-picker'); - }, - - $input: function(){ - return this.$('input[type="hidden"]'); - }, - - $inputText: function(){ - return this.$('input[type="text"]'); - }, - - initialize: function(){ - - // save_format: compatibility with ACF < 5.0.0 - if( this.has('save_format') ) { - return this.initializeCompatibility(); - } - - // vars - var $input = this.$input(); - var $inputText = this.$inputText(); - - // args - var args = { - dateFormat: this.get('date_format'), - altField: $input, - altFormat: 'yymmdd', - changeYear: true, - yearRange: "-100:+100", - changeMonth: true, - showButtonPanel: true, - firstDay: this.get('first_day') - }; - - // filter - args = acf.applyFilters('date_picker_args', args, this); - - // add date picker - acf.newDatePicker( $inputText, args ); - - // action - acf.doAction('date_picker_init', $inputText, args, this); - - }, - - initializeCompatibility: function(){ - - // vars - var $input = this.$input(); - var $inputText = this.$inputText(); - - // get and set value from alt field - $inputText.val( $input.val() ); - - // args - var args = { - dateFormat: this.get('date_format'), - altField: $input, - altFormat: this.get('save_format'), - changeYear: true, - yearRange: "-100:+100", - changeMonth: true, - showButtonPanel: true, - firstDay: this.get('first_day') - }; - - // filter for 3rd party customization - args = acf.applyFilters('date_picker_args', args, this); - - // backup - var dateFormat = args.dateFormat; - - // change args.dateFormat - args.dateFormat = this.get('save_format'); - - // add date picker - acf.newDatePicker( $inputText, args ); - - // now change the format back to how it should be. - $inputText.datepicker( 'option', 'dateFormat', dateFormat ); - - // action for 3rd party customization - acf.doAction('date_picker_init', $inputText, args, this); - }, - - onBlur: function(){ - if( !this.$inputText().val() ) { - acf.val( this.$input(), '' ); - } - }, - - onDuplicate: function( e, $el, $duplicate ){ - $duplicate.find('input[type="text"]').removeClass('hasDatepicker').removeAttr('id'); - } - }); - - acf.registerFieldType( Field ); - - - // manager - var datePickerManager = new acf.Model({ - priority: 5, - wait: 'ready', - initialize: function(){ - - // vars - var locale = acf.get('locale'); - var rtl = acf.get('rtl'); - var l10n = acf.get('datePickerL10n'); - - // bail ealry if no l10n - if( !l10n ) { - return false; - } - - // bail ealry if no datepicker library - if( typeof $.datepicker === 'undefined' ) { - return false; - } - - // rtl - l10n.isRTL = rtl; - - // append - $.datepicker.regional[ locale ] = l10n; - $.datepicker.setDefaults(l10n); - } - }); - - // add - acf.newDatePicker = function( $input, args ){ - - // bail ealry if no datepicker library - if( typeof $.datepicker === 'undefined' ) { - return false; - } - - // defaults - args = args || {}; - - // initialize - $input.datepicker( args ); - - // wrap the datepicker (only if it hasn't already been wrapped) - if( $('body > #ui-datepicker-div').exists() ) { - $('body > #ui-datepicker-div').wrap('
    '); - } - }; - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-checkbox.js": +/*!*****************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-checkbox.js ***! + \*****************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'checkbox', + events: { + 'change input': 'onChange', + 'click .acf-add-checkbox': 'onClickAdd', + 'click .acf-checkbox-toggle': 'onClickToggle', + 'click .acf-checkbox-custom': 'onClickCustom' + }, + $control: function () { + return this.$('.acf-checkbox-list'); + }, + $toggle: function () { + return this.$('.acf-checkbox-toggle'); + }, + $input: function () { + return this.$('input[type="hidden"]'); + }, + $inputs: function () { + return this.$('input[type="checkbox"]').not('.acf-checkbox-toggle'); + }, + getValue: function () { + var val = []; + this.$(':checked').each(function () { + val.push($(this).val()); + }); + return val.length ? val : false; + }, + onChange: function (e, $el) { + // Vars. + var checked = $el.prop('checked'); + var $label = $el.parent('label'); + var $toggle = this.$toggle(); // Add or remove "selected" class. + + if (checked) { + $label.addClass('selected'); + } else { + $label.removeClass('selected'); + } // Update toggle state if all inputs are checked. + + + if ($toggle.length) { + var $inputs = this.$inputs(); // all checked + + if ($inputs.not(':checked').length == 0) { + $toggle.prop('checked', true); + } else { + $toggle.prop('checked', false); + } + } + }, + onClickAdd: function (e, $el) { + var html = '
  • '; + $el.parent('li').before(html); + }, + onClickToggle: function (e, $el) { + // Vars. + var checked = $el.prop('checked'); + var $inputs = this.$('input[type="checkbox"]'); + var $labels = this.$('label'); // Update "checked" state. + + $inputs.prop('checked', checked); // Add or remove "selected" class. + + if (checked) { + $labels.addClass('selected'); + } else { + $labels.removeClass('selected'); + } + }, + onClickCustom: function (e, $el) { + var checked = $el.prop('checked'); + var $text = $el.next('input[type="text"]'); // checked + + if (checked) { + $text.prop('disabled', false); // not checked + } else { + $text.prop('disabled', true); // remove + + if ($text.val() == '') { + $el.parent('li').remove(); + } + } + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.models.DatePickerField.extend({ - - type: 'date_time_picker', - - $control: function(){ - return this.$('.acf-date-time-picker'); - }, - - initialize: function(){ - - // vars - var $input = this.$input(); - var $inputText = this.$inputText(); - - // args - var args = { - dateFormat: this.get('date_format'), - timeFormat: this.get('time_format'), - altField: $input, - altFieldTimeOnly: false, - altFormat: 'yy-mm-dd', - altTimeFormat: 'HH:mm:ss', - changeYear: true, - yearRange: "-100:+100", - changeMonth: true, - showButtonPanel: true, - firstDay: this.get('first_day'), - controlType: 'select', - oneLine: true - }; - - // filter - args = acf.applyFilters('date_time_picker_args', args, this); - - // add date time picker - acf.newDateTimePicker( $inputText, args ); - - // action - acf.doAction('date_time_picker_init', $inputText, args, this); - } - }); - - acf.registerFieldType( Field ); - - - // manager - var dateTimePickerManager = new acf.Model({ - priority: 5, - wait: 'ready', - initialize: function(){ - - // vars - var locale = acf.get('locale'); - var rtl = acf.get('rtl'); - var l10n = acf.get('dateTimePickerL10n'); - - // bail ealry if no l10n - if( !l10n ) { - return false; - } - - // bail ealry if no datepicker library - if( typeof $.timepicker === 'undefined' ) { - return false; - } - - // rtl - l10n.isRTL = rtl; - - // append - $.timepicker.regional[ locale ] = l10n; - $.timepicker.setDefaults(l10n); - } - }); - - - // add - acf.newDateTimePicker = function( $input, args ){ - - // bail ealry if no datepicker library - if( typeof $.timepicker === 'undefined' ) { - return false; - } - - // defaults - args = args || {}; - - // initialize - $input.datetimepicker( args ); - - // wrap the datepicker (only if it hasn't already been wrapped) - if( $('body > #ui-datepicker-div').exists() ) { - $('body > #ui-datepicker-div').wrap('
    '); - } - }; - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-color-picker.js": +/*!*********************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-color-picker.js ***! + \*********************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'color_picker', + wait: 'load', + events: { + duplicateField: 'onDuplicate' + }, + $control: function () { + return this.$('.acf-color-picker'); + }, + $input: function () { + return this.$('input[type="hidden"]'); + }, + $inputText: function () { + return this.$('input[type="text"]'); + }, + setValue: function (val) { + // update input (with change) + acf.val(this.$input(), val); // update iris + + this.$inputText().iris('color', val); + }, + initialize: function () { + // vars + var $input = this.$input(); + var $inputText = this.$inputText(); // event + + var onChange = function (e) { + // timeout is required to ensure the $input val is correct + setTimeout(function () { + acf.val($input, $inputText.val()); + }, 1); + }; // args + + + var args = { + defaultColor: false, + palettes: true, + hide: true, + change: onChange, + clear: onChange + }; // filter + + var args = acf.applyFilters('color_picker_args', args, this); // initialize + + $inputText.wpColorPicker(args); + }, + onDuplicate: function (e, $el, $duplicate) { + // The wpColorPicker library does not provide a destroy method. + // Manually reset DOM by replacing elements back to their original state. + $colorPicker = $duplicate.find('.wp-picker-container'); + $inputText = $duplicate.find('input[type="text"]'); + $colorPicker.replaceWith($inputText); + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'google_map', - - map: false, - - wait: 'load', - - events: { - 'click a[data-name="clear"]': 'onClickClear', - 'click a[data-name="locate"]': 'onClickLocate', - 'click a[data-name="search"]': 'onClickSearch', - 'keydown .search': 'onKeydownSearch', - 'keyup .search': 'onKeyupSearch', - 'focus .search': 'onFocusSearch', - 'blur .search': 'onBlurSearch', - 'showField': 'onShow', - }, - - $control: function(){ - return this.$('.acf-google-map'); - }, - - $search: function(){ - return this.$('.search'); - }, - - $canvas: function(){ - return this.$('.canvas'); - }, - - setState: function( state ){ - - // Remove previous state classes. - this.$control().removeClass( '-value -loading -searching' ); - - // Determine auto state based of current value. - if( state === 'default' ) { - state = this.val() ? 'value' : ''; - } - - // Update state class. - if( state ) { - this.$control().addClass( '-' + state ); - } - }, - - getValue: function(){ - var val = this.$input().val(); - if( val ) { - return JSON.parse( val ) - } else { - return false; - } - }, - - setValue: function( val, silent ){ - - // Convert input value. - var valAttr = ''; - if( val ) { - valAttr = JSON.stringify( val ); - } - - // Update input (with change). - acf.val( this.$input(), valAttr ); - - // Bail early if silent update. - if( silent ) { - return; - } - - // Render. - this.renderVal( val ); - - /** - * Fires immediately after the value has changed. - * - * @date 12/02/2014 - * @since 5.0.0 - * - * @param object|string val The new value. - * @param object map The Google Map isntance. - * @param object field The field instance. - */ - acf.doAction('google_map_change', val, this.map, this); - }, - - renderVal: function( val ){ - - // Value. - if( val ) { - this.setState( 'value' ); - this.$search().val( val.address ); - this.setPosition( val.lat, val.lng ); - - // No value. - } else { - this.setState( '' ); - this.$search().val( '' ); - this.map.marker.setVisible( false ); - } - }, - - newLatLng: function( lat, lng ){ - return new google.maps.LatLng( parseFloat(lat), parseFloat(lng) ); - }, - - setPosition: function( lat, lng ){ - - // Update marker position. - this.map.marker.setPosition({ - lat: parseFloat(lat), - lng: parseFloat(lng) - }); - - // Show marker. - this.map.marker.setVisible( true ); - - // Center map. - this.center(); - }, - - center: function(){ - - // Find marker position. - var position = this.map.marker.getPosition(); - if( position ) { - var lat = position.lat(); - var lng = position.lng(); - - // Or find default settings. - } else { - var lat = this.get('lat'); - var lng = this.get('lng'); - } - - // Center map. - this.map.setCenter({ - lat: parseFloat(lat), - lng: parseFloat(lng) - }); - }, - - initialize: function(){ - - // Ensure Google API is loaded and then initialize map. - withAPI( this.initializeMap.bind(this) ); - }, - - initializeMap: function(){ - - // Get value ignoring conditional logic status. - var val = this.getValue(); - - // Construct default args. - var args = acf.parseArgs(val, { - zoom: this.get('zoom'), - lat: this.get('lat'), - lng: this.get('lng') - }); - - // Create Map. - var mapArgs = { - scrollwheel: false, - zoom: parseInt( args.zoom ), - center: { - lat: parseFloat( args.lat ), - lng: parseFloat( args.lng ) - }, - mapTypeId: google.maps.MapTypeId.ROADMAP, - marker: { - draggable: true, - raiseOnDrag: true - }, - autocomplete: {} - }; - mapArgs = acf.applyFilters('google_map_args', mapArgs, this); - var map = new google.maps.Map( this.$canvas()[0], mapArgs ); - - // Create Marker. - var markerArgs = acf.parseArgs(mapArgs.marker, { - draggable: true, - raiseOnDrag: true, - map: map - }); - markerArgs = acf.applyFilters('google_map_marker_args', markerArgs, this); - var marker = new google.maps.Marker( markerArgs ); - - // Maybe Create Autocomplete. - var autocomplete = false; - if( acf.isset(google, 'maps', 'places', 'Autocomplete') ) { - var autocompleteArgs = mapArgs.autocomplete || {}; - autocompleteArgs = acf.applyFilters('google_map_autocomplete_args', autocompleteArgs, this); - autocomplete = new google.maps.places.Autocomplete( this.$search()[0], autocompleteArgs ); - autocomplete.bindTo('bounds', map); - } - - // Add map events. - this.addMapEvents( this, map, marker, autocomplete ); - - // Append references. - map.acf = this; - map.marker = marker; - map.autocomplete = autocomplete; - this.map = map; - - // Set position. - if( val ) { - this.setPosition( val.lat, val.lng ); - } - - /** - * Fires immediately after the Google Map has been initialized. - * - * @date 12/02/2014 - * @since 5.0.0 - * - * @param object map The Google Map isntance. - * @param object marker The Google Map marker isntance. - * @param object field The field instance. - */ - acf.doAction('google_map_init', map, marker, this); - }, - - addMapEvents: function( field, map, marker, autocomplete ){ - - // Click map. - google.maps.event.addListener( map, 'click', function( e ) { - var lat = e.latLng.lat(); - var lng = e.latLng.lng(); - field.searchPosition( lat, lng ); - }); - - // Drag marker. - google.maps.event.addListener( marker, 'dragend', function(){ - var lat = this.getPosition().lat(); - var lng = this.getPosition().lng(); - field.searchPosition( lat, lng ); - }); - - // Autocomplete search. - if( autocomplete ) { - google.maps.event.addListener(autocomplete, 'place_changed', function() { - var place = this.getPlace(); - field.searchPlace( place ); - }); - } - - // Detect zoom change. - google.maps.event.addListener( map, 'zoom_changed', function(){ - var val = field.val(); - if( val ) { - val.zoom = map.getZoom(); - field.setValue( val, true ); - } - }); - }, - - searchPosition: function( lat, lng ){ - //console.log('searchPosition', lat, lng ); - - // Start Loading. - this.setState( 'loading' ); - - // Query Geocoder. - var latLng = { lat: lat, lng: lng }; - geocoder.geocode({ location: latLng }, function( results, status ){ - //console.log('searchPosition', arguments ); - - // End Loading. - this.setState( '' ); - - // Status failure. - if( status !== 'OK' ) { - this.showNotice({ - text: acf.__('Location not found: %s').replace('%s', status), - type: 'warning' - }); - // Success. - } else { - var val = this.parseResult( results[0] ); - - // Override lat/lng to match user defined marker location. - // Avoids issue where marker "snaps" to nearest result. - val.lat = lat; - val.lng = lng; - this.val( val ); - } - - }.bind( this )); - }, - - searchPlace: function( place ){ - //console.log('searchPlace', place ); - - // Bail early if no place. - if( !place ) { - return; - } - - // Selecting from the autocomplete dropdown will return a rich PlaceResult object. - // Be sure to over-write the "formatted_address" value with the one displayed to the user for best UX. - if( place.geometry ) { - place.formatted_address = this.$search().val(); - var val = this.parseResult( place ); - this.val( val ); - - // Searching a custom address will return an empty PlaceResult object. - } else if( place.name ) { - this.searchAddress( place.name ); - } - }, - - searchAddress: function( address ){ - //console.log('searchAddress', address ); - - // Bail early if no address. - if( !address ) { - return; - } - - // Allow "lat,lng" search. - var latLng = address.split(','); - if( latLng.length == 2 ) { - var lat = parseFloat(latLng[0]); - var lng = parseFloat(latLng[1]); - if( lat && lng ) { - return this.searchPosition( lat, lng ); - } - } - - // Start Loading. - this.setState( 'loading' ); - - // Query Geocoder. - geocoder.geocode({ address: address }, function( results, status ){ - //console.log('searchPosition', arguments ); - - // End Loading. - this.setState( '' ); - - // Status failure. - if( status !== 'OK' ) { - this.showNotice({ - text: acf.__('Location not found: %s').replace('%s', status), - type: 'warning' - }); - - // Success. - } else { - var val = this.parseResult( results[0] ); - - // Override address data with parameter allowing custom address to be defined in search. - val.address = address; - - // Update value. - this.val( val ); - } - - }.bind( this )); - }, - - searchLocation: function(){ - //console.log('searchLocation' ); - - // Check HTML5 geolocation. - if( !navigator.geolocation ) { - return alert( acf.__('Sorry, this browser does not support geolocation') ); - } - - // Start Loading. - this.setState( 'loading' ); - - // Query Geolocation. - navigator.geolocation.getCurrentPosition( - - // Success. - function( results ){ - - // End Loading. - this.setState( '' ); - - // Search position. - var lat = results.coords.latitude; - var lng = results.coords.longitude; - this.searchPosition( lat, lng ); - - }.bind(this), - - // Failure. - function( error ){ - this.setState( '' ); - }.bind(this) - ); - }, - - /** - * parseResult - * - * Returns location data for the given GeocoderResult object. - * - * @date 15/10/19 - * @since 5.8.6 - * - * @param object obj A GeocoderResult object. - * @return object - */ - parseResult: function( obj ) { - - // Construct basic data. - var result = { - address: obj.formatted_address, - lat: obj.geometry.location.lat(), - lng: obj.geometry.location.lng(), - }; - - // Add zoom level. - result.zoom = this.map.getZoom(); - - // Add place ID. - if( obj.place_id ) { - result.place_id = obj.place_id; - } - - // Add place name. - if( obj.name ) { - result.name = obj.name; - } - - // Create search map for address component data. - var map = { - street_number: [ 'street_number' ], - street_name: [ 'street_address', 'route' ], - city: [ 'locality' ], - state: [ - 'administrative_area_level_1', - 'administrative_area_level_2', - 'administrative_area_level_3', - 'administrative_area_level_4', - 'administrative_area_level_5' - ], - post_code: [ 'postal_code' ], - country: [ 'country' ] - }; - - // Loop over map. - for( var k in map ) { - var keywords = map[ k ]; - - // Loop over address components. - for( var i = 0; i < obj.address_components.length; i++ ) { - var component = obj.address_components[ i ]; - var component_type = component.types[0]; - - // Look for matching component type. - if( keywords.indexOf(component_type) !== -1 ) { - - // Append to result. - result[ k ] = component.long_name; - - // Append short version. - if( component.long_name !== component.short_name ) { - result[ k + '_short' ] = component.short_name; - } - } - } - } - - /** - * Filters the parsed result. - * - * @date 18/10/19 - * @since 5.8.6 - * - * @param object result The parsed result value. - * @param object obj The GeocoderResult object. - */ - return acf.applyFilters('google_map_result', result, obj, this.map, this); - }, - - onClickClear: function(){ - this.val( false ); - }, - - onClickLocate: function(){ - this.searchLocation(); - }, - - onClickSearch: function(){ - this.searchAddress( this.$search().val() ); - }, - - onFocusSearch: function( e, $el ){ - this.setState( 'searching' ); - }, - - onBlurSearch: function( e, $el ){ - - // Get saved address value. - var val = this.val(); - var address = val ? val.address : ''; - - // Remove 'is-searching' if value has not changed. - if( $el.val() === address ) { - this.setState( 'default' ); - } - }, - - onKeyupSearch: function( e, $el ){ - - // Clear empty value. - if( !$el.val() ) { - this.val( false ); - } - }, - - // Prevent form from submitting. - onKeydownSearch: function( e, $el ){ - if( e.which == 13 ) { - e.preventDefault(); - $el.blur(); - } - }, - - // Center map once made visible. - onShow: function(){ - if( this.map ) { - this.setTimeout( this.center ); - } - }, - }); - - acf.registerFieldType( Field ); - - // Vars. - var loading = false; - var geocoder = false; - - /** - * withAPI - * - * Loads the Google Maps API library and troggers callback. - * - * @date 28/3/19 - * @since 5.7.14 - * - * @param function callback The callback to excecute. - * @return void - */ - - function withAPI( callback ) { - - // Check if geocoder exists. - if( geocoder ) { - return callback(); - } - - // Check if geocoder API exists. - if( acf.isset(window, 'google', 'maps', 'Geocoder') ) { - geocoder = new google.maps.Geocoder(); - return callback(); - } - - // Geocoder will need to be loaded. Hook callback to action. - acf.addAction( 'google_map_api_loaded', callback ); - - // Bail early if already loading API. - if( loading ) { - return; - } - - // load api - var url = acf.get('google_map_api'); - if( url ) { - - // Set loading status. - loading = true; - - // Load API - $.ajax({ - url: url, - dataType: 'script', - cache: true, - success: function(){ - geocoder = new google.maps.Geocoder(); - acf.doAction('google_map_api_loaded'); - } - }); - } - } - +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-picker.js": +/*!********************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-picker.js ***! + \********************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'date_picker', + events: { + 'blur input[type="text"]': 'onBlur', + duplicateField: 'onDuplicate' + }, + $control: function () { + return this.$('.acf-date-picker'); + }, + $input: function () { + return this.$('input[type="hidden"]'); + }, + $inputText: function () { + return this.$('input[type="text"]'); + }, + initialize: function () { + // save_format: compatibility with ACF < 5.0.0 + if (this.has('save_format')) { + return this.initializeCompatibility(); + } // vars + + + var $input = this.$input(); + var $inputText = this.$inputText(); // args + + var args = { + dateFormat: this.get('date_format'), + altField: $input, + altFormat: 'yymmdd', + changeYear: true, + yearRange: '-100:+100', + changeMonth: true, + showButtonPanel: true, + firstDay: this.get('first_day') + }; // filter + + args = acf.applyFilters('date_picker_args', args, this); // add date picker + + acf.newDatePicker($inputText, args); // action + + acf.doAction('date_picker_init', $inputText, args, this); + }, + initializeCompatibility: function () { + // vars + var $input = this.$input(); + var $inputText = this.$inputText(); // get and set value from alt field + + $inputText.val($input.val()); // args + + var args = { + dateFormat: this.get('date_format'), + altField: $input, + altFormat: this.get('save_format'), + changeYear: true, + yearRange: '-100:+100', + changeMonth: true, + showButtonPanel: true, + firstDay: this.get('first_day') + }; // filter for 3rd party customization + + args = acf.applyFilters('date_picker_args', args, this); // backup + + var dateFormat = args.dateFormat; // change args.dateFormat + + args.dateFormat = this.get('save_format'); // add date picker + + acf.newDatePicker($inputText, args); // now change the format back to how it should be. + + $inputText.datepicker('option', 'dateFormat', dateFormat); // action for 3rd party customization + + acf.doAction('date_picker_init', $inputText, args, this); + }, + onBlur: function () { + if (!this.$inputText().val()) { + acf.val(this.$input(), ''); + } + }, + onDuplicate: function (e, $el, $duplicate) { + $duplicate.find('input[type="text"]').removeClass('hasDatepicker').removeAttr('id'); + } + }); + acf.registerFieldType(Field); // manager + + var datePickerManager = new acf.Model({ + priority: 5, + wait: 'ready', + initialize: function () { + // vars + var locale = acf.get('locale'); + var rtl = acf.get('rtl'); + var l10n = acf.get('datePickerL10n'); // bail ealry if no l10n + + if (!l10n) { + return false; + } // bail ealry if no datepicker library + + + if (typeof $.datepicker === 'undefined') { + return false; + } // rtl + + + l10n.isRTL = rtl; // append + + $.datepicker.regional[locale] = l10n; + $.datepicker.setDefaults(l10n); + } + }); // add + + acf.newDatePicker = function ($input, args) { + // bail ealry if no datepicker library + if (typeof $.datepicker === 'undefined') { + return false; + } // defaults + + + args = args || {}; // initialize + + $input.datepicker(args); // wrap the datepicker (only if it hasn't already been wrapped) + + if ($('body > #ui-datepicker-div').exists()) { + $('body > #ui-datepicker-div').wrap('
    '); + } + }; })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'image', - - $control: function(){ - return this.$('.acf-image-uploader'); - }, - - $input: function(){ - return this.$('input[type="hidden"]'); - }, - - events: { - 'click a[data-name="add"]': 'onClickAdd', - 'click a[data-name="edit"]': 'onClickEdit', - 'click a[data-name="remove"]': 'onClickRemove', - 'change input[type="file"]': 'onChange' - }, - - initialize: function(){ - - // add attribute to form - if( this.get('uploader') === 'basic' ) { - this.$el.closest('form').attr('enctype', 'multipart/form-data'); - } - }, - - validateAttachment: function( attachment ){ - - // Use WP attachment attributes when available. - if( attachment && attachment.attributes ) { - attachment = attachment.attributes; - } - - // Apply defaults. - attachment = acf.parseArgs(attachment, { - id: 0, - url: '', - alt: '', - title: '', - caption: '', - description: '', - width: 0, - height: 0 - }); - - // Override with "preview size". - var size = acf.isget( attachment, 'sizes', this.get('preview_size') ); - if( size ) { - attachment.url = size.url; - attachment.width = size.width; - attachment.height = size.height; - } - - // Return. - return attachment; - }, - - render: function( attachment ){ - attachment = this.validateAttachment( attachment ); - - // Update DOM. - this.$('img').attr({ - src: attachment.url, - alt: attachment.alt - }); - if( attachment.id ) { - this.val( attachment.id ); - this.$control().addClass('has-value'); - } else { - this.val( '' ); - this.$control().removeClass('has-value'); - } - }, - - // create a new repeater row and render value - append: function( attachment, parent ){ - - // create function to find next available field within parent - var getNext = function( field, parent ){ - - // find existing file fields within parent - var fields = acf.getFields({ - key: field.get('key'), - parent: parent.$el - }); - - // find the first field with no value - for( var i = 0; i < fields.length; i++ ) { - if( !fields[i].val() ) { - return fields[i]; - } - } - - // return - return false; - } - - // find existing file fields within parent - var field = getNext( this, parent ); - - // add new row if no available field - if( !field ) { - parent.$('.acf-button:last').trigger('click'); - field = getNext( this, parent ); - } - - // render - if( field ) { - field.render( attachment ); - } - }, - - selectAttachment: function(){ - - // vars - var parent = this.parent(); - var multiple = (parent && parent.get('type') === 'repeater'); - - // new frame - var frame = acf.newMediaPopup({ - mode: 'select', - type: 'image', - title: acf.__('Select Image'), - field: this.get('key'), - multiple: multiple, - library: this.get('library'), - allowedTypes: this.get('mime_types'), - select: $.proxy(function( attachment, i ) { - if( i > 0 ) { - this.append( attachment, parent ); - } else { - this.render( attachment ); - } - }, this) - }); - }, - - editAttachment: function(){ - - // vars - var val = this.val(); - - // bail early if no val - if( !val ) return; - - // popup - var frame = acf.newMediaPopup({ - mode: 'edit', - title: acf.__('Edit Image'), - button: acf.__('Update Image'), - attachment: val, - field: this.get('key'), - select: $.proxy(function( attachment, i ) { - this.render( attachment ); - }, this) - }); - }, - - removeAttachment: function(){ - this.render( false ); - }, - - onClickAdd: function( e, $el ){ - this.selectAttachment(); - }, - - onClickEdit: function( e, $el ){ - this.editAttachment(); - }, - - onClickRemove: function( e, $el ){ - this.removeAttachment(); - }, - - onChange: function( e, $el ){ - var $hiddenInput = this.$input(); - - acf.getFileInputData($el, function( data ){ - $hiddenInput.val( $.param(data) ); - }); - } - }); - - acf.registerFieldType( Field ); +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-time-picker.js": +/*!*************************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-time-picker.js ***! + \*************************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.models.DatePickerField.extend({ + type: 'date_time_picker', + $control: function () { + return this.$('.acf-date-time-picker'); + }, + initialize: function () { + // vars + var $input = this.$input(); + var $inputText = this.$inputText(); // args + + var args = { + dateFormat: this.get('date_format'), + timeFormat: this.get('time_format'), + altField: $input, + altFieldTimeOnly: false, + altFormat: 'yy-mm-dd', + altTimeFormat: 'HH:mm:ss', + changeYear: true, + yearRange: '-100:+100', + changeMonth: true, + showButtonPanel: true, + firstDay: this.get('first_day'), + controlType: 'select', + oneLine: true + }; // filter + + args = acf.applyFilters('date_time_picker_args', args, this); // add date time picker + + acf.newDateTimePicker($inputText, args); // action + + acf.doAction('date_time_picker_init', $inputText, args, this); + } + }); + acf.registerFieldType(Field); // manager + + var dateTimePickerManager = new acf.Model({ + priority: 5, + wait: 'ready', + initialize: function () { + // vars + var locale = acf.get('locale'); + var rtl = acf.get('rtl'); + var l10n = acf.get('dateTimePickerL10n'); // bail ealry if no l10n + + if (!l10n) { + return false; + } // bail ealry if no datepicker library + + + if (typeof $.timepicker === 'undefined') { + return false; + } // rtl + + + l10n.isRTL = rtl; // append + + $.timepicker.regional[locale] = l10n; + $.timepicker.setDefaults(l10n); + } + }); // add + + acf.newDateTimePicker = function ($input, args) { + // bail ealry if no datepicker library + if (typeof $.timepicker === 'undefined') { + return false; + } // defaults + + + args = args || {}; // initialize + + $input.datetimepicker(args); // wrap the datepicker (only if it hasn't already been wrapped) + + if ($('body > #ui-datepicker-div').exists()) { + $('body > #ui-datepicker-div').wrap('
    '); + } + }; })(jQuery); -(function($, undefined){ - - var Field = acf.models.ImageField.extend({ - - type: 'file', - - $control: function(){ - return this.$('.acf-file-uploader'); - }, - - $input: function(){ - return this.$('input[type="hidden"]'); - }, - - validateAttachment: function( attachment ){ - - // defaults - attachment = attachment || {}; - - // WP attachment - if( attachment.id !== undefined ) { - attachment = attachment.attributes; - } - - // args - attachment = acf.parseArgs(attachment, { - url: '', - alt: '', - title: '', - filename: '', - filesizeHumanReadable: '', - icon: '/wp-includes/images/media/default.png' - }); - - // return - return attachment; - }, - - render: function( attachment ){ - - // vars - attachment = this.validateAttachment( attachment ); - - // update image - this.$('img').attr({ - src: attachment.icon, - alt: attachment.alt, - title: attachment.title - }); - - // update elements - this.$('[data-name="title"]').text( attachment.title ); - this.$('[data-name="filename"]').text( attachment.filename ).attr( 'href', attachment.url ); - this.$('[data-name="filesize"]').text( attachment.filesizeHumanReadable ); - - // vars - var val = attachment.id || ''; - - // update val - acf.val( this.$input(), val ); - - // update class - if( val ) { - this.$control().addClass('has-value'); - } else { - this.$control().removeClass('has-value'); - } - }, - - selectAttachment: function(){ - - // vars - var parent = this.parent(); - var multiple = (parent && parent.get('type') === 'repeater'); - - // new frame - var frame = acf.newMediaPopup({ - mode: 'select', - title: acf.__('Select File'), - field: this.get('key'), - multiple: multiple, - library: this.get('library'), - allowedTypes: this.get('mime_types'), - select: $.proxy(function( attachment, i ) { - if( i > 0 ) { - this.append( attachment, parent ); - } else { - this.render( attachment ); - } - }, this) - }); - }, - - editAttachment: function(){ - - // vars - var val = this.val(); - - // bail early if no val - if( !val ) { - return false; - } - - // popup - var frame = acf.newMediaPopup({ - mode: 'edit', - title: acf.__('Edit File'), - button: acf.__('Update File'), - attachment: val, - field: this.get('key'), - select: $.proxy(function( attachment, i ) { - this.render( attachment ); - }, this) - }); - } - }); - - acf.registerFieldType( Field ); - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-file.js": +/*!*************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-file.js ***! + \*************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.models.ImageField.extend({ + type: 'file', + $control: function () { + return this.$('.acf-file-uploader'); + }, + $input: function () { + return this.$('input[type="hidden"]'); + }, + validateAttachment: function (attachment) { + // defaults + attachment = attachment || {}; // WP attachment + + if (attachment.id !== undefined) { + attachment = attachment.attributes; + } // args + + + attachment = acf.parseArgs(attachment, { + url: '', + alt: '', + title: '', + filename: '', + filesizeHumanReadable: '', + icon: '/wp-includes/images/media/default.png' + }); // return + + return attachment; + }, + render: function (attachment) { + // vars + attachment = this.validateAttachment(attachment); // update image + + this.$('img').attr({ + src: attachment.icon, + alt: attachment.alt, + title: attachment.title + }); // update elements + + this.$('[data-name="title"]').text(attachment.title); + this.$('[data-name="filename"]').text(attachment.filename).attr('href', attachment.url); + this.$('[data-name="filesize"]').text(attachment.filesizeHumanReadable); // vars + + var val = attachment.id || ''; // update val + + acf.val(this.$input(), val); // update class + + if (val) { + this.$control().addClass('has-value'); + } else { + this.$control().removeClass('has-value'); + } + }, + selectAttachment: function () { + // vars + var parent = this.parent(); + var multiple = parent && parent.get('type') === 'repeater'; // new frame + + var frame = acf.newMediaPopup({ + mode: 'select', + title: acf.__('Select File'), + field: this.get('key'), + multiple: multiple, + library: this.get('library'), + allowedTypes: this.get('mime_types'), + select: $.proxy(function (attachment, i) { + if (i > 0) { + this.append(attachment, parent); + } else { + this.render(attachment); + } + }, this) + }); + }, + editAttachment: function () { + // vars + var val = this.val(); // bail early if no val + + if (!val) { + return false; + } // popup + + + var frame = acf.newMediaPopup({ + mode: 'edit', + title: acf.__('Edit File'), + button: acf.__('Update File'), + attachment: val, + field: this.get('key'), + select: $.proxy(function (attachment, i) { + this.render(attachment); + }, this) + }); + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'link', - - events: { - 'click a[data-name="add"]': 'onClickEdit', - 'click a[data-name="edit"]': 'onClickEdit', - 'click a[data-name="remove"]': 'onClickRemove', - 'change .link-node': 'onChange', - }, - - $control: function(){ - return this.$('.acf-link'); - }, - - $node: function(){ - return this.$('.link-node'); - }, - - getValue: function(){ - - // vars - var $node = this.$node(); - - // return false if empty - if( !$node.attr('href') ) { - return false; - } - - // return - return { - title: $node.html(), - url: $node.attr('href'), - target: $node.attr('target') - }; - }, - - setValue: function( val ){ - - // default - val = acf.parseArgs(val, { - title: '', - url: '', - target: '' - }); - - // vars - var $div = this.$control(); - var $node = this.$node(); - - // remove class - $div.removeClass('-value -external'); - - // add class - if( val.url ) $div.addClass('-value'); - if( val.target === '_blank' ) $div.addClass('-external'); - - // update text - this.$('.link-title').html( val.title ); - this.$('.link-url').attr('href', val.url).html( val.url ); - - // update node - $node.html(val.title); - $node.attr('href', val.url); - $node.attr('target', val.target); - - // update inputs - this.$('.input-title').val( val.title ); - this.$('.input-target').val( val.target ); - this.$('.input-url').val( val.url ).trigger('change'); - }, - - onClickEdit: function( e, $el ){ - acf.wpLink.open( this.$node() ); - }, - - onClickRemove: function( e, $el ){ - this.setValue( false ); - }, - - onChange: function( e, $el ){ - - // get the changed value - var val = this.getValue(); - - // update inputs - this.setValue(val); - } - - }); - - acf.registerFieldType( Field ); - - - // manager - acf.wpLink = new acf.Model({ - - getNodeValue: function(){ - var $node = this.get('node'); - return { - title: acf.decode( $node.html() ), - url: $node.attr('href'), - target: $node.attr('target') - }; - }, - - setNodeValue: function( val ){ - var $node = this.get('node'); - $node.text( val.title ); - $node.attr('href', val.url); - $node.attr('target', val.target); - $node.trigger('change'); - }, - - getInputValue: function(){ - return { - title: $('#wp-link-text').val(), - url: $('#wp-link-url').val(), - target: $('#wp-link-target').prop('checked') ? '_blank' : '' - }; - }, - - setInputValue: function( val ){ - $('#wp-link-text').val( val.title ); - $('#wp-link-url').val( val.url ); - $('#wp-link-target').prop('checked', val.target === '_blank' ); - }, - - open: function( $node ){ - // add events - this.on('wplink-open', 'onOpen'); - this.on('wplink-close', 'onClose'); - - // set node - this.set('node', $node); - - // create textarea - var $textarea = $(''); - $('body').append( $textarea ); - - // vars - var val = this.getNodeValue(); - - // open popup - wpLink.open( 'acf-link-textarea', val.url, val.title, null ); - }, - - onOpen: function(){ +/***/ }), - // always show title (WP will hide title if empty) - $('#wp-link-wrap').addClass('has-text-field'); - - // set inputs - var val = this.getNodeValue(); - this.setInputValue( val ); +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-google-map.js": +/*!*******************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-google-map.js ***! + \*******************************************************************************/ +/***/ (function() { - // Update button text. - if( val.url && wpLinkL10n ) { - $('#wp-link-submit').val( wpLinkL10n.update ); - } - }, - - close: function(){ - wpLink.close(); - }, - - onClose: function(){ - - // Bail early if no node. - // Needed due to WP triggering this event twice. - if( !this.has('node') ) { - return false; - } +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'google_map', + map: false, + wait: 'load', + events: { + 'click a[data-name="clear"]': 'onClickClear', + 'click a[data-name="locate"]': 'onClickLocate', + 'click a[data-name="search"]': 'onClickSearch', + 'keydown .search': 'onKeydownSearch', + 'keyup .search': 'onKeyupSearch', + 'focus .search': 'onFocusSearch', + 'blur .search': 'onBlurSearch', + showField: 'onShow' + }, + $control: function () { + return this.$('.acf-google-map'); + }, + $search: function () { + return this.$('.search'); + }, + $canvas: function () { + return this.$('.canvas'); + }, + setState: function (state) { + // Remove previous state classes. + this.$control().removeClass('-value -loading -searching'); // Determine auto state based of current value. - // Determine context. - var $submit = $('#wp-link-submit'); - var isSubmit = ( $submit.is(':hover') || $submit.is(':focus') ); - - // Set value - if( isSubmit ) { - var val = this.getInputValue(); - this.setNodeValue( val ); - } - - // Cleanup. - this.off('wplink-open'); - this.off('wplink-close'); - $('#acf-link-textarea').remove(); - this.set('node', null); - } - }); + if (state === 'default') { + state = this.val() ? 'value' : ''; + } // Update state class. + + if (state) { + this.$control().addClass('-' + state); + } + }, + getValue: function () { + var val = this.$input().val(); + + if (val) { + return JSON.parse(val); + } else { + return false; + } + }, + setValue: function (val, silent) { + // Convert input value. + var valAttr = ''; + + if (val) { + valAttr = JSON.stringify(val); + } // Update input (with change). + + + acf.val(this.$input(), valAttr); // Bail early if silent update. + + if (silent) { + return; + } // Render. + + + this.renderVal(val); + /** + * Fires immediately after the value has changed. + * + * @date 12/02/2014 + * @since 5.0.0 + * + * @param object|string val The new value. + * @param object map The Google Map isntance. + * @param object field The field instance. + */ + + acf.doAction('google_map_change', val, this.map, this); + }, + renderVal: function (val) { + // Value. + if (val) { + this.setState('value'); + this.$search().val(val.address); + this.setPosition(val.lat, val.lng); // No value. + } else { + this.setState(''); + this.$search().val(''); + this.map.marker.setVisible(false); + } + }, + newLatLng: function (lat, lng) { + return new google.maps.LatLng(parseFloat(lat), parseFloat(lng)); + }, + setPosition: function (lat, lng) { + // Update marker position. + this.map.marker.setPosition({ + lat: parseFloat(lat), + lng: parseFloat(lng) + }); // Show marker. + + this.map.marker.setVisible(true); // Center map. + + this.center(); + }, + center: function () { + // Find marker position. + var position = this.map.marker.getPosition(); + + if (position) { + var lat = position.lat(); + var lng = position.lng(); // Or find default settings. + } else { + var lat = this.get('lat'); + var lng = this.get('lng'); + } // Center map. + + + this.map.setCenter({ + lat: parseFloat(lat), + lng: parseFloat(lng) + }); + }, + initialize: function () { + // Ensure Google API is loaded and then initialize map. + withAPI(this.initializeMap.bind(this)); + }, + initializeMap: function () { + // Get value ignoring conditional logic status. + var val = this.getValue(); // Construct default args. + + var args = acf.parseArgs(val, { + zoom: this.get('zoom'), + lat: this.get('lat'), + lng: this.get('lng') + }); // Create Map. + + var mapArgs = { + scrollwheel: false, + zoom: parseInt(args.zoom), + center: { + lat: parseFloat(args.lat), + lng: parseFloat(args.lng) + }, + mapTypeId: google.maps.MapTypeId.ROADMAP, + marker: { + draggable: true, + raiseOnDrag: true + }, + autocomplete: {} + }; + mapArgs = acf.applyFilters('google_map_args', mapArgs, this); + var map = new google.maps.Map(this.$canvas()[0], mapArgs); // Create Marker. + + var markerArgs = acf.parseArgs(mapArgs.marker, { + draggable: true, + raiseOnDrag: true, + map: map + }); + markerArgs = acf.applyFilters('google_map_marker_args', markerArgs, this); + var marker = new google.maps.Marker(markerArgs); // Maybe Create Autocomplete. + + var autocomplete = false; + + if (acf.isset(google, 'maps', 'places', 'Autocomplete')) { + var autocompleteArgs = mapArgs.autocomplete || {}; + autocompleteArgs = acf.applyFilters('google_map_autocomplete_args', autocompleteArgs, this); + autocomplete = new google.maps.places.Autocomplete(this.$search()[0], autocompleteArgs); + autocomplete.bindTo('bounds', map); + } // Add map events. + + + this.addMapEvents(this, map, marker, autocomplete); // Append references. + + map.acf = this; + map.marker = marker; + map.autocomplete = autocomplete; + this.map = map; // Set position. + + if (val) { + this.setPosition(val.lat, val.lng); + } + /** + * Fires immediately after the Google Map has been initialized. + * + * @date 12/02/2014 + * @since 5.0.0 + * + * @param object map The Google Map isntance. + * @param object marker The Google Map marker isntance. + * @param object field The field instance. + */ + + + acf.doAction('google_map_init', map, marker, this); + }, + addMapEvents: function (field, map, marker, autocomplete) { + // Click map. + google.maps.event.addListener(map, 'click', function (e) { + var lat = e.latLng.lat(); + var lng = e.latLng.lng(); + field.searchPosition(lat, lng); + }); // Drag marker. + + google.maps.event.addListener(marker, 'dragend', function () { + var lat = this.getPosition().lat(); + var lng = this.getPosition().lng(); + field.searchPosition(lat, lng); + }); // Autocomplete search. + + if (autocomplete) { + google.maps.event.addListener(autocomplete, 'place_changed', function () { + var place = this.getPlace(); + field.searchPlace(place); + }); + } // Detect zoom change. + + + google.maps.event.addListener(map, 'zoom_changed', function () { + var val = field.val(); + + if (val) { + val.zoom = map.getZoom(); + field.setValue(val, true); + } + }); + }, + searchPosition: function (lat, lng) { + //console.log('searchPosition', lat, lng ); + // Start Loading. + this.setState('loading'); // Query Geocoder. + + var latLng = { + lat: lat, + lng: lng + }; + geocoder.geocode({ + location: latLng + }, function (results, status) { + //console.log('searchPosition', arguments ); + // End Loading. + this.setState(''); // Status failure. + + if (status !== 'OK') { + this.showNotice({ + text: acf.__('Location not found: %s').replace('%s', status), + type: 'warning' + }); // Success. + } else { + var val = this.parseResult(results[0]); // Override lat/lng to match user defined marker location. + // Avoids issue where marker "snaps" to nearest result. + + val.lat = lat; + val.lng = lng; + this.val(val); + } + }.bind(this)); + }, + searchPlace: function (place) { + //console.log('searchPlace', place ); + // Bail early if no place. + if (!place) { + return; + } // Selecting from the autocomplete dropdown will return a rich PlaceResult object. + // Be sure to over-write the "formatted_address" value with the one displayed to the user for best UX. + + + if (place.geometry) { + place.formatted_address = this.$search().val(); + var val = this.parseResult(place); + this.val(val); // Searching a custom address will return an empty PlaceResult object. + } else if (place.name) { + this.searchAddress(place.name); + } + }, + searchAddress: function (address) { + //console.log('searchAddress', address ); + // Bail early if no address. + if (!address) { + return; + } // Allow "lat,lng" search. + + + var latLng = address.split(','); + + if (latLng.length == 2) { + var lat = parseFloat(latLng[0]); + var lng = parseFloat(latLng[1]); + + if (lat && lng) { + return this.searchPosition(lat, lng); + } + } // Start Loading. + + + this.setState('loading'); // Query Geocoder. + + geocoder.geocode({ + address: address + }, function (results, status) { + //console.log('searchPosition', arguments ); + // End Loading. + this.setState(''); // Status failure. + + if (status !== 'OK') { + this.showNotice({ + text: acf.__('Location not found: %s').replace('%s', status), + type: 'warning' + }); // Success. + } else { + var val = this.parseResult(results[0]); // Override address data with parameter allowing custom address to be defined in search. + + val.address = address; // Update value. + + this.val(val); + } + }.bind(this)); + }, + searchLocation: function () { + //console.log('searchLocation' ); + // Check HTML5 geolocation. + if (!navigator.geolocation) { + return alert(acf.__('Sorry, this browser does not support geolocation')); + } // Start Loading. + + + this.setState('loading'); // Query Geolocation. + + navigator.geolocation.getCurrentPosition( // Success. + function (results) { + // End Loading. + this.setState(''); // Search position. + + var lat = results.coords.latitude; + var lng = results.coords.longitude; + this.searchPosition(lat, lng); + }.bind(this), // Failure. + function (error) { + this.setState(''); + }.bind(this)); + }, + + /** + * parseResult + * + * Returns location data for the given GeocoderResult object. + * + * @date 15/10/19 + * @since 5.8.6 + * + * @param object obj A GeocoderResult object. + * @return object + */ + parseResult: function (obj) { + // Construct basic data. + var result = { + address: obj.formatted_address, + lat: obj.geometry.location.lat(), + lng: obj.geometry.location.lng() + }; // Add zoom level. + + result.zoom = this.map.getZoom(); // Add place ID. + + if (obj.place_id) { + result.place_id = obj.place_id; + } // Add place name. + + + if (obj.name) { + result.name = obj.name; + } // Create search map for address component data. + + + var map = { + street_number: ['street_number'], + street_name: ['street_address', 'route'], + city: ['locality', 'postal_town'], + state: ['administrative_area_level_1', 'administrative_area_level_2', 'administrative_area_level_3', 'administrative_area_level_4', 'administrative_area_level_5'], + post_code: ['postal_code'], + country: ['country'] + }; // Loop over map. + + for (var k in map) { + var keywords = map[k]; // Loop over address components. + + for (var i = 0; i < obj.address_components.length; i++) { + var component = obj.address_components[i]; + var component_type = component.types[0]; // Look for matching component type. + + if (keywords.indexOf(component_type) !== -1) { + // Append to result. + result[k] = component.long_name; // Append short version. + + if (component.long_name !== component.short_name) { + result[k + '_short'] = component.short_name; + } + } + } + } + /** + * Filters the parsed result. + * + * @date 18/10/19 + * @since 5.8.6 + * + * @param object result The parsed result value. + * @param object obj The GeocoderResult object. + */ + + + return acf.applyFilters('google_map_result', result, obj, this.map, this); + }, + onClickClear: function () { + this.val(false); + }, + onClickLocate: function () { + this.searchLocation(); + }, + onClickSearch: function () { + this.searchAddress(this.$search().val()); + }, + onFocusSearch: function (e, $el) { + this.setState('searching'); + }, + onBlurSearch: function (e, $el) { + // Get saved address value. + var val = this.val(); + var address = val ? val.address : ''; // Remove 'is-searching' if value has not changed. + + if ($el.val() === address) { + this.setState('default'); + } + }, + onKeyupSearch: function (e, $el) { + // Clear empty value. + if (!$el.val()) { + this.val(false); + } + }, + // Prevent form from submitting. + onKeydownSearch: function (e, $el) { + if (e.which == 13) { + e.preventDefault(); + $el.blur(); + } + }, + // Center map once made visible. + onShow: function () { + if (this.map) { + this.setTimeout(this.center); + } + } + }); + acf.registerFieldType(Field); // Vars. + + var loading = false; + var geocoder = false; + /** + * withAPI + * + * Loads the Google Maps API library and troggers callback. + * + * @date 28/3/19 + * @since 5.7.14 + * + * @param function callback The callback to excecute. + * @return void + */ + + function withAPI(callback) { + // Check if geocoder exists. + if (geocoder) { + return callback(); + } // Check if geocoder API exists. + + + if (acf.isset(window, 'google', 'maps', 'Geocoder')) { + geocoder = new google.maps.Geocoder(); + return callback(); + } // Geocoder will need to be loaded. Hook callback to action. + + + acf.addAction('google_map_api_loaded', callback); // Bail early if already loading API. + + if (loading) { + return; + } // load api + + + var url = acf.get('google_map_api'); + + if (url) { + // Set loading status. + loading = true; // Load API + + $.ajax({ + url: url, + dataType: 'script', + cache: true, + success: function () { + geocoder = new google.maps.Geocoder(); + acf.doAction('google_map_api_loaded'); + } + }); + } + } })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'oembed', - - events: { - 'click [data-name="clear-button"]': 'onClickClear', - 'keypress .input-search': 'onKeypressSearch', - 'keyup .input-search': 'onKeyupSearch', - 'change .input-search': 'onChangeSearch' - }, - - $control: function(){ - return this.$('.acf-oembed'); - }, - - $input: function(){ - return this.$('.input-value'); - }, - - $search: function(){ - return this.$('.input-search'); - }, - - getValue: function(){ - return this.$input().val(); - }, - - getSearchVal: function(){ - return this.$search().val(); - }, - - setValue: function( val ){ - - // class - if( val ) { - this.$control().addClass('has-value'); - } else { - this.$control().removeClass('has-value'); - } - - acf.val( this.$input(), val ); - }, - - showLoading: function( show ){ - acf.showLoading( this.$('.canvas') ); - }, - - hideLoading: function(){ - acf.hideLoading( this.$('.canvas') ); - }, - - maybeSearch: function(){ - - // vars - var prevUrl = this.val(); - var url = this.getSearchVal(); - - // no value - if( !url ) { - return this.clear(); - } - - // fix missing 'http://' - causes the oembed code to error and fail - if( url.substr(0, 4) != 'http' ) { - url = 'http://' + url; - } - - // bail early if no change - if( url === prevUrl ) return; - - // clear existing timeout - var timeout = this.get('timeout'); - if( timeout ) { - clearTimeout( timeout ); - } - - // set new timeout - var callback = $.proxy(this.search, this, url); - this.set('timeout', setTimeout(callback, 300)); - - }, - - search: function( url ){ - - // ajax - var ajaxData = { - action: 'acf/fields/oembed/search', - s: url, - field_key: this.get('key') - }; - - // clear existing timeout - var xhr = this.get('xhr'); - if( xhr ) { - xhr.abort(); - } - - // loading - this.showLoading(); - - // query - var xhr = $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'json', - context: this, - success: function( json ){ - - // error - if( !json || !json.html ) { - json = { - url: false, - html: '' - } - } - - // update vars - this.val( json.url ); - this.$('.canvas-media').html( json.html ); - }, - complete: function(){ - this.hideLoading(); - } - }); - - this.set('xhr', xhr); - }, - - clear: function(){ - this.val(''); - this.$search().val(''); - this.$('.canvas-media').html(''); - }, - - onClickClear: function( e, $el ){ - this.clear(); - }, - - onKeypressSearch: function( e, $el ){ - if( e.which == 13 ) { - e.preventDefault(); - this.maybeSearch(); - } - }, - - onKeyupSearch: function( e, $el ){ - if( $el.val() ) { - this.maybeSearch(); - } - }, - - onChangeSearch: function( e, $el ){ - this.maybeSearch(); - } - - }); - - acf.registerFieldType( Field ); +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-image.js": +/*!**************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-image.js ***! + \**************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'image', + $control: function () { + return this.$('.acf-image-uploader'); + }, + $input: function () { + return this.$('input[type="hidden"]'); + }, + events: { + 'click a[data-name="add"]': 'onClickAdd', + 'click a[data-name="edit"]': 'onClickEdit', + 'click a[data-name="remove"]': 'onClickRemove', + 'change input[type="file"]': 'onChange' + }, + initialize: function () { + // add attribute to form + if (this.get('uploader') === 'basic') { + this.$el.closest('form').attr('enctype', 'multipart/form-data'); + } + }, + validateAttachment: function (attachment) { + // Use WP attachment attributes when available. + if (attachment && attachment.attributes) { + attachment = attachment.attributes; + } // Apply defaults. + + + attachment = acf.parseArgs(attachment, { + id: 0, + url: '', + alt: '', + title: '', + caption: '', + description: '', + width: 0, + height: 0 + }); // Override with "preview size". + + var size = acf.isget(attachment, 'sizes', this.get('preview_size')); + + if (size) { + attachment.url = size.url; + attachment.width = size.width; + attachment.height = size.height; + } // Return. + + + return attachment; + }, + render: function (attachment) { + attachment = this.validateAttachment(attachment); // Update DOM. + + this.$('img').attr({ + src: attachment.url, + alt: attachment.alt + }); + + if (attachment.id) { + this.val(attachment.id); + this.$control().addClass('has-value'); + } else { + this.val(''); + this.$control().removeClass('has-value'); + } + }, + // create a new repeater row and render value + append: function (attachment, parent) { + // create function to find next available field within parent + var getNext = function (field, parent) { + // find existing file fields within parent + var fields = acf.getFields({ + key: field.get('key'), + parent: parent.$el + }); // find the first field with no value + + for (var i = 0; i < fields.length; i++) { + if (!fields[i].val()) { + return fields[i]; + } + } // return + + + return false; + }; // find existing file fields within parent + + + var field = getNext(this, parent); // add new row if no available field + + if (!field) { + parent.$('.acf-button:last').trigger('click'); + field = getNext(this, parent); + } // render + + + if (field) { + field.render(attachment); + } + }, + selectAttachment: function () { + // vars + var parent = this.parent(); + var multiple = parent && parent.get('type') === 'repeater'; // new frame + + var frame = acf.newMediaPopup({ + mode: 'select', + type: 'image', + title: acf.__('Select Image'), + field: this.get('key'), + multiple: multiple, + library: this.get('library'), + allowedTypes: this.get('mime_types'), + select: $.proxy(function (attachment, i) { + if (i > 0) { + this.append(attachment, parent); + } else { + this.render(attachment); + } + }, this) + }); + }, + editAttachment: function () { + // vars + var val = this.val(); // bail early if no val + + if (!val) return; // popup + + var frame = acf.newMediaPopup({ + mode: 'edit', + title: acf.__('Edit Image'), + button: acf.__('Update Image'), + attachment: val, + field: this.get('key'), + select: $.proxy(function (attachment, i) { + this.render(attachment); + }, this) + }); + }, + removeAttachment: function () { + this.render(false); + }, + onClickAdd: function (e, $el) { + this.selectAttachment(); + }, + onClickEdit: function (e, $el) { + this.editAttachment(); + }, + onClickRemove: function (e, $el) { + this.removeAttachment(); + }, + onChange: function (e, $el) { + var $hiddenInput = this.$input(); + + if (!$el.val()) { + $hiddenInput.val(''); + } + + acf.getFileInputData($el, function (data) { + $hiddenInput.val($.param(data)); + }); + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'radio', - - events: { - 'click input[type="radio"]': 'onClick', - }, - - $control: function(){ - return this.$('.acf-radio-list'); - }, - - $input: function(){ - return this.$('input:checked'); - }, - - $inputText: function(){ - return this.$('input[type="text"]'); - }, - - getValue: function(){ - var val = this.$input().val(); - if( val === 'other' && this.get('other_choice') ) { - val = this.$inputText().val(); - } - return val; - }, - - onClick: function( e, $el ){ - - // vars - var $label = $el.parent('label'); - var selected = $label.hasClass('selected'); - var val = $el.val(); - - // remove previous selected - this.$('.selected').removeClass('selected'); - - // add active class - $label.addClass('selected'); - - // allow null - if( this.get('allow_null') && selected ) { - $label.removeClass('selected'); - $el.prop('checked', false).trigger('change'); - val = false; - } - - // other - if( this.get('other_choice') ) { - - // enable - if( val === 'other' ) { - this.$inputText().prop('disabled', false); - - // disable - } else { - this.$inputText().prop('disabled', true); - } - } - } - }); - - acf.registerFieldType( Field ); +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-link.js": +/*!*************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-link.js ***! + \*************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'link', + events: { + 'click a[data-name="add"]': 'onClickEdit', + 'click a[data-name="edit"]': 'onClickEdit', + 'click a[data-name="remove"]': 'onClickRemove', + 'change .link-node': 'onChange' + }, + $control: function () { + return this.$('.acf-link'); + }, + $node: function () { + return this.$('.link-node'); + }, + getValue: function () { + // vars + var $node = this.$node(); // return false if empty + + if (!$node.attr('href')) { + return false; + } // return + + + return { + title: $node.html(), + url: $node.attr('href'), + target: $node.attr('target') + }; + }, + setValue: function (val) { + // default + val = acf.parseArgs(val, { + title: '', + url: '', + target: '' + }); // vars + + var $div = this.$control(); + var $node = this.$node(); // remove class + + $div.removeClass('-value -external'); // add class + + if (val.url) $div.addClass('-value'); + if (val.target === '_blank') $div.addClass('-external'); // update text + + this.$('.link-title').html(val.title); + this.$('.link-url').attr('href', val.url).html(val.url); // update node + + $node.html(val.title); + $node.attr('href', val.url); + $node.attr('target', val.target); // update inputs + + this.$('.input-title').val(val.title); + this.$('.input-target').val(val.target); + this.$('.input-url').val(val.url).trigger('change'); + }, + onClickEdit: function (e, $el) { + acf.wpLink.open(this.$node()); + }, + onClickRemove: function (e, $el) { + this.setValue(false); + }, + onChange: function (e, $el) { + // get the changed value + var val = this.getValue(); // update inputs + + this.setValue(val); + } + }); + acf.registerFieldType(Field); // manager + + acf.wpLink = new acf.Model({ + getNodeValue: function () { + var $node = this.get('node'); + return { + title: acf.decode($node.html()), + url: $node.attr('href'), + target: $node.attr('target') + }; + }, + setNodeValue: function (val) { + var $node = this.get('node'); + $node.text(val.title); + $node.attr('href', val.url); + $node.attr('target', val.target); + $node.trigger('change'); + }, + getInputValue: function () { + return { + title: $('#wp-link-text').val(), + url: $('#wp-link-url').val(), + target: $('#wp-link-target').prop('checked') ? '_blank' : '' + }; + }, + setInputValue: function (val) { + $('#wp-link-text').val(val.title); + $('#wp-link-url').val(val.url); + $('#wp-link-target').prop('checked', val.target === '_blank'); + }, + open: function ($node) { + // add events + this.on('wplink-open', 'onOpen'); + this.on('wplink-close', 'onClose'); // set node + + this.set('node', $node); // create textarea + + var $textarea = $(''); + $('body').append($textarea); // vars + + var val = this.getNodeValue(); // open popup + + wpLink.open('acf-link-textarea', val.url, val.title, null); + }, + onOpen: function () { + // always show title (WP will hide title if empty) + $('#wp-link-wrap').addClass('has-text-field'); // set inputs + + var val = this.getNodeValue(); + this.setInputValue(val); // Update button text. + + if (val.url && wpLinkL10n) { + $('#wp-link-submit').val(wpLinkL10n.update); + } + }, + close: function () { + wpLink.close(); + }, + onClose: function () { + // Bail early if no node. + // Needed due to WP triggering this event twice. + if (!this.has('node')) { + return false; + } // Determine context. + + + var $submit = $('#wp-link-submit'); + var isSubmit = $submit.is(':hover') || $submit.is(':focus'); // Set value + + if (isSubmit) { + var val = this.getInputValue(); + this.setNodeValue(val); + } // Cleanup. + + + this.off('wplink-open'); + this.off('wplink-close'); + $('#acf-link-textarea').remove(); + this.set('node', null); + } + }); })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'range', - - events: { - 'input input[type="range"]': 'onChange', - 'change input': 'onChange' - }, - - $input: function(){ - return this.$('input[type="range"]'); - }, - - $inputAlt: function(){ - return this.$('input[type="number"]'); - }, - - setValue: function( val ){ - this.busy = true; - - // Update range input (with change). - acf.val( this.$input(), val ); - - // Update alt input (without change). - // Read in input value to inherit min/max validation. - acf.val( this.$inputAlt(), this.$input().val(), true ); - - this.busy = false; - }, - - onChange: function( e, $el ){ - if( !this.busy ) { - this.setValue( $el.val() ); - } - } - }); - - acf.registerFieldType( Field ); - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-oembed.js": +/*!***************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-oembed.js ***! + \***************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'oembed', + events: { + 'click [data-name="clear-button"]': 'onClickClear', + 'keypress .input-search': 'onKeypressSearch', + 'keyup .input-search': 'onKeyupSearch', + 'change .input-search': 'onChangeSearch' + }, + $control: function () { + return this.$('.acf-oembed'); + }, + $input: function () { + return this.$('.input-value'); + }, + $search: function () { + return this.$('.input-search'); + }, + getValue: function () { + return this.$input().val(); + }, + getSearchVal: function () { + return this.$search().val(); + }, + setValue: function (val) { + // class + if (val) { + this.$control().addClass('has-value'); + } else { + this.$control().removeClass('has-value'); + } + + acf.val(this.$input(), val); + }, + showLoading: function (show) { + acf.showLoading(this.$('.canvas')); + }, + hideLoading: function () { + acf.hideLoading(this.$('.canvas')); + }, + maybeSearch: function () { + // vars + var prevUrl = this.val(); + var url = this.getSearchVal(); // no value + + if (!url) { + return this.clear(); + } // fix missing 'http://' - causes the oembed code to error and fail + + + if (url.substr(0, 4) != 'http') { + url = 'http://' + url; + } // bail early if no change + + + if (url === prevUrl) return; // clear existing timeout + + var timeout = this.get('timeout'); + + if (timeout) { + clearTimeout(timeout); + } // set new timeout + + + var callback = $.proxy(this.search, this, url); + this.set('timeout', setTimeout(callback, 300)); + }, + search: function (url) { + // ajax + var ajaxData = { + action: 'acf/fields/oembed/search', + s: url, + field_key: this.get('key') + }; // clear existing timeout + + var xhr = this.get('xhr'); + + if (xhr) { + xhr.abort(); + } // loading + + + this.showLoading(); // query + + var xhr = $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxData), + type: 'post', + dataType: 'json', + context: this, + success: function (json) { + // error + if (!json || !json.html) { + json = { + url: false, + html: '' + }; + } // update vars + + + this.val(json.url); + this.$('.canvas-media').html(json.html); + }, + complete: function () { + this.hideLoading(); + } + }); + this.set('xhr', xhr); + }, + clear: function () { + this.val(''); + this.$search().val(''); + this.$('.canvas-media').html(''); + }, + onClickClear: function (e, $el) { + this.clear(); + }, + onKeypressSearch: function (e, $el) { + if (e.which == 13) { + e.preventDefault(); + this.maybeSearch(); + } + }, + onKeyupSearch: function (e, $el) { + if ($el.val()) { + this.maybeSearch(); + } + }, + onChangeSearch: function (e, $el) { + this.maybeSearch(); + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'relationship', - - events: { - 'keypress [data-filter]': 'onKeypressFilter', - 'change [data-filter]': 'onChangeFilter', - 'keyup [data-filter]': 'onChangeFilter', - 'click .choices-list .acf-rel-item': 'onClickAdd', - 'click [data-name="remove_item"]': 'onClickRemove', - }, - - $control: function(){ - return this.$('.acf-relationship'); - }, - - $list: function( list ) { - return this.$('.' + list + '-list'); - }, - - $listItems: function( list ) { - return this.$list( list ).find('.acf-rel-item'); - }, - - $listItem: function( list, id ) { - return this.$list( list ).find('.acf-rel-item[data-id="' + id + '"]'); - }, - - getValue: function(){ - var val = []; - this.$listItems('values').each(function(){ - val.push( $(this).data('id') ); - }); - return val.length ? val : false; - }, - - newChoice: function( props ){ - return [ - '
  • ', - '' + props.text + '', - '
  • ' - ].join(''); - }, - - newValue: function( props ){ - return [ - '
  • ', - '', - '' + props.text, - '', - '', - '
  • ' - ].join(''); - }, - - initialize: function(){ - - // Delay initialization until "interacted with" or "in view". - var delayed = this.proxy(acf.once(function(){ - - // Add sortable. - this.$list('values').sortable({ - items: 'li', - forceHelperSize: true, - forcePlaceholderSize: true, - scroll: true, - update: this.proxy(function(){ - this.$input().trigger('change'); - }) - }); - - // Avoid browser remembering old scroll position and add event. - this.$list('choices').scrollTop(0).on('scroll', this.proxy(this.onScrollChoices)); - - // Fetch choices. - this.fetch(); - - })); - - // Bind "interacted with". - this.$el.one( 'mouseover', delayed ); - this.$el.one( 'focus', 'input', delayed ); - - // Bind "in view". - acf.onceInView( this.$el, delayed ); - }, - - onScrollChoices: function(e){ - - // bail early if no more results - if( this.get('loading') || !this.get('more') ) { - return; - } - - // Scrolled to bottom - var $list = this.$list('choices'); - var scrollTop = Math.ceil( $list.scrollTop() ); - var scrollHeight = Math.ceil( $list[0].scrollHeight ); - var innerHeight = Math.ceil( $list.innerHeight() ); - var paged = this.get('paged') || 1; - if( (scrollTop + innerHeight) >= scrollHeight ) { - - // update paged - this.set('paged', (paged+1)); - - // fetch - this.fetch(); - } - }, - - onKeypressFilter: function( e, $el ){ - - // don't submit form - if( e.which == 13 ) { - e.preventDefault(); - } - }, - - onChangeFilter: function( e, $el ){ - - // vars - var val = $el.val(); - var filter = $el.data('filter'); - - // Bail early if filter has not changed - if( this.get(filter) === val ) { - return; - } - - // update attr - this.set(filter, val); - - // reset paged - this.set('paged', 1); - - // fetch - if( $el.is('select') ) { - this.fetch(); - - // search must go through timeout - } else { - this.maybeFetch(); - } - }, - - onClickAdd: function( e, $el ){ - - // vars - var val = this.val(); - var max = parseInt( this.get('max') ); - - // can be added? - if( $el.hasClass('disabled') ) { - return false; - } - - // validate - if( max > 0 && val && val.length >= max ) { - - // add notice - this.showNotice({ - text: acf.__('Maximum values reached ( {max} values )').replace('{max}', max), - type: 'warning' - }); - return false; - } - - // disable - $el.addClass('disabled'); - - // add - var html = this.newValue({ - id: $el.data('id'), - text: $el.html() - }); - this.$list('values').append( html ) - - // trigger change - this.$input().trigger('change'); - }, - - onClickRemove: function( e, $el ){ - - // Prevent default here because generic handler wont be triggered. - e.preventDefault(); - - // vars - var $span = $el.parent(); - var $li = $span.parent(); - var id = $span.data('id'); - - // remove value - $li.remove(); - - // show choice - this.$listItem('choices', id).removeClass('disabled'); - - // trigger change - this.$input().trigger('change'); - }, - - maybeFetch: function(){ - - // vars - var timeout = this.get('timeout'); - - // abort timeout - if( timeout ) { - clearTimeout( timeout ); - } - - // fetch - timeout = this.setTimeout(this.fetch, 300); - this.set('timeout', timeout); - }, - - getAjaxData: function(){ - - // load data based on element attributes - var ajaxData = this.$control().data(); - for( var name in ajaxData ) { - ajaxData[ name ] = this.get( name ); - } - - // extra - ajaxData.action = 'acf/fields/relationship/query'; - ajaxData.field_key = this.get('key'); - - // Filter. - ajaxData = acf.applyFilters( 'relationship_ajax_data', ajaxData, this ); - - // return - return ajaxData; - }, - - fetch: function(){ - - // abort XHR if this field is already loading AJAX data - var xhr = this.get('xhr'); - if( xhr ) { - xhr.abort(); - } - - // add to this.o - var ajaxData = this.getAjaxData(); - - // clear html if is new query - var $choiceslist = this.$list( 'choices' ); - if( ajaxData.paged == 1 ) { - $choiceslist.html(''); - } - - // loading - var $loading = $('
  • ' + acf.__('Loading') + '
  • '); - $choiceslist.append($loading); - this.set('loading', true); - - // callback - var onComplete = function(){ - this.set('loading', false); - $loading.remove(); - }; - - var onSuccess = function( json ){ - - // no results - if( !json || !json.results || !json.results.length ) { - - // prevent pagination - this.set('more', false); - - // add message - if( this.get('paged') == 1 ) { - this.$list('choices').append('
  • ' + acf.__('No matches found') + '
  • '); - } - - // return - return; - } - - // set more (allows pagination scroll) - this.set('more', json.more ); - - // get new results - var html = this.walkChoices(json.results); - var $html = $( html ); - - // apply .disabled to left li's - var val = this.val(); - if( val && val.length ) { - val.map(function( id ){ - $html.find('.acf-rel-item[data-id="' + id + '"]').addClass('disabled'); - }); - } - - // append - $choiceslist.append( $html ); - - // merge together groups - var $prevLabel = false; - var $prevList = false; - - $choiceslist.find('.acf-rel-label').each(function(){ - - var $label = $(this); - var $list = $label.siblings('ul'); - - if( $prevLabel && $prevLabel.text() == $label.text() ) { - $prevList.append( $list.children() ); - $(this).parent().remove(); - return; - } - - // update vars - $prevLabel = $label; - $prevList = $list; - }); - }; - - // get results - var xhr = $.ajax({ - url: acf.get('ajaxurl'), - dataType: 'json', - type: 'post', - data: acf.prepareForAjax(ajaxData), - context: this, - success: onSuccess, - complete: onComplete - }); - - // set - this.set('xhr', xhr); - }, - - walkChoices: function( data ){ - - // walker - var walk = function( data ){ - - // vars - var html = ''; - - // is array - if( $.isArray(data) ) { - data.map(function(item){ - html += walk( item ); - }); - - // is item - } else if( $.isPlainObject(data) ) { - - // group - if( data.children !== undefined ) { - - html += '
  • ' + acf.escHtml( data.text ) + '
      '; - html += walk( data.children ); - html += '
  • '; - - // single - } else { - html += '
  • ' + acf.escHtml( data.text ) + '
  • '; - } - } - - // return - return html; - }; - - return walk( data ); - } - - }); - - acf.registerFieldType( Field ); - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-page-link.js": +/*!******************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-page-link.js ***! + \******************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.models.SelectField.extend({ + type: 'page_link' + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'select', - - select2: false, - - wait: 'load', - - events: { - 'removeField': 'onRemove', - 'duplicateField': 'onDuplicate' - }, - - $input: function(){ - return this.$('select'); - }, - - initialize: function(){ - - // vars - var $select = this.$input(); - - // inherit data - this.inherit( $select ); - - // select2 - if( this.get('ui') ) { - - // populate ajax_data (allowing custom attribute to already exist) - var ajaxAction = this.get('ajax_action'); - if( !ajaxAction ) { - ajaxAction = 'acf/fields/' + this.get('type') + '/query'; - } - - // select2 - this.select2 = acf.newSelect2($select, { - field: this, - ajax: this.get('ajax'), - multiple: this.get('multiple'), - placeholder: this.get('placeholder'), - allowNull: this.get('allow_null'), - ajaxAction: ajaxAction, - }); - } - }, - - onRemove: function(){ - if( this.select2 ) { - this.select2.destroy(); - } - }, - - onDuplicate: function( e, $el, $duplicate ){ - if( this.select2 ) { - $duplicate.find('.select2-container').remove(); - $duplicate.find('select').removeClass('select2-hidden-accessible'); - } - } - }); - - acf.registerFieldType( Field ); - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-post-object.js": +/*!********************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-post-object.js ***! + \********************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.models.SelectField.extend({ + type: 'post_object' + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - // vars - var CONTEXT = 'tab'; - - var Field = acf.Field.extend({ - - type: 'tab', - - wait: '', - - tabs: false, - - tab: false, - - events: { - 'duplicateField': 'onDuplicate' - }, - findFields: function(){ - return this.$el.nextUntil('.acf-field-tab', '.acf-field'); - }, - - getFields: function(){ - return acf.getFields( this.findFields() ); - }, - - findTabs: function(){ - return this.$el.prevAll('.acf-tab-wrap:first'); - }, - - findTab: function(){ - return this.$('.acf-tab-button'); - }, - - initialize: function(){ - - // bail early if is td - if( this.$el.is('td') ) { - this.events = {}; - return false; - } - - // vars - var $tabs = this.findTabs(); - var $tab = this.findTab(); - var settings = acf.parseArgs($tab.data(), { - endpoint: false, - placement: '', - before: this.$el - }); - - // create wrap - if( !$tabs.length || settings.endpoint ) { - this.tabs = new Tabs( settings ); - } else { - this.tabs = $tabs.data('acf'); - } - - // add tab - this.tab = this.tabs.addTab($tab, this); - }, - - isActive: function(){ - return this.tab.isActive(); - }, - - showFields: function(){ - - // show fields - this.getFields().map(function( field ){ - field.show( this.cid, CONTEXT ); - field.hiddenByTab = false; - }, this); - - }, - - hideFields: function(){ - - // hide fields - this.getFields().map(function( field ){ - field.hide( this.cid, CONTEXT ); - field.hiddenByTab = this.tab; - }, this); - - }, - - show: function( lockKey ){ +/***/ }), - // show field and store result - var visible = acf.Field.prototype.show.apply(this, arguments); - - // check if now visible - if( visible ) { - - // show tab - this.tab.show(); - - // check active tabs - this.tabs.refresh(); - } - - // return - return visible; - }, - - hide: function( lockKey ){ +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-radio.js": +/*!**************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-radio.js ***! + \**************************************************************************/ +/***/ (function() { - // hide field and store result - var hidden = acf.Field.prototype.hide.apply(this, arguments); - - // check if now hidden - if( hidden ) { - - // hide tab - this.tab.hide(); - - // reset tabs if this was active - if( this.isActive() ) { - this.tabs.reset(); - } - } - - // return - return hidden; - }, - - enable: function( lockKey ){ +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'radio', + events: { + 'click input[type="radio"]': 'onClick' + }, + $control: function () { + return this.$('.acf-radio-list'); + }, + $input: function () { + return this.$('input:checked'); + }, + $inputText: function () { + return this.$('input[type="text"]'); + }, + getValue: function () { + var val = this.$input().val(); - // enable fields - this.getFields().map(function( field ){ - field.enable( CONTEXT ); - }); - }, - - disable: function( lockKey ){ - - // disable fields - this.getFields().map(function( field ){ - field.disable( CONTEXT ); - }); - }, + if (val === 'other' && this.get('other_choice')) { + val = this.$inputText().val(); + } - onDuplicate: function( e, $el, $duplicate ){ - if( this.isActive() ) { - $duplicate.prevAll('.acf-tab-wrap:first').remove(); - } - } - }); - - acf.registerFieldType( Field ); - - - /** - * tabs - * - * description - * - * @date 8/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var i = 0; - var Tabs = acf.Model.extend({ - - tabs: [], - - active: false, - - actions: { - 'refresh': 'onRefresh' - }, - - data: { - before: false, - placement: 'top', - index: 0, - initialized: false, - }, - - setup: function( settings ){ - - // data - $.extend(this.data, settings); - - // define this prop to avoid scope issues - this.tabs = []; - this.active = false; - - // vars - var placement = this.get('placement'); - var $before = this.get('before'); - var $parent = $before.parent(); - - // add sidebar for left placement - if( placement == 'left' && $parent.hasClass('acf-fields') ) { - $parent.addClass('-sidebar'); - } - - // create wrap - if( $before.is('tr') ) { - this.$el = $('
    '); - } else { - this.$el = $('
      '); - } - - // append - $before.before( this.$el ); - - // set index - this.set('index', i, true); - i++; - }, - - initializeTabs: function(){ - - // find first visible tab - var tab = this.getVisible().shift(); - - // remember previous tab state - var order = acf.getPreference('this.tabs') || []; - var groupIndex = this.get('index'); - var tabIndex = order[ groupIndex ]; - - if( this.tabs[ tabIndex ] && this.tabs[ tabIndex ].isVisible() ) { - tab = this.tabs[ tabIndex ]; - } - - // select - if( tab ) { - this.selectTab( tab ); - } else { - this.closeTabs(); - } - - // set local variable used by tabsManager - this.set('initialized', true); - }, - - getVisible: function(){ - return this.tabs.filter(function( tab ){ - return tab.isVisible(); - }); - }, - - getActive: function(){ - return this.active; - }, - - setActive: function( tab ){ - return this.active = tab; - }, - - hasActive: function(){ - return (this.active !== false); - }, - - isActive: function( tab ){ - var active = this.getActive(); - return (active && active.cid === tab.cid); - }, - - closeActive: function(){ - if( this.hasActive() ) { - this.closeTab( this.getActive() ); - } - }, - - openTab: function( tab ){ - - // close existing tab - this.closeActive(); - - // open - tab.open(); - - // set active - this.setActive( tab ); - }, - - closeTab: function( tab ){ - - // close - tab.close(); - - // set active - this.setActive( false ); - }, - - closeTabs: function(){ - this.tabs.map( this.closeTab, this ); - }, - - selectTab: function( tab ){ - - // close other tabs - this.tabs.map(function( t ){ - if( tab.cid !== t.cid ) { - this.closeTab( t ); - } - }, this); - - // open - this.openTab( tab ); - - }, - - addTab: function( $a, field ){ - - // create
    • - var $li = $('
    • ' + $a.outerHTML() + '
    • '); - - // append - this.$('ul').append( $li ); - - // initialize - var tab = new Tab({ - $el: $li, - field: field, - group: this, - }); - - // store - this.tabs.push( tab ); - - // return - return tab; - }, - - reset: function(){ - - // close existing tab - this.closeActive(); - - // find and active a tab - return this.refresh(); - }, - - refresh: function(){ - - // bail early if active already exists - if( this.hasActive() ) { - return false; - } - - // find next active tab - var tab = this.getVisible().shift(); - - // open tab - if( tab ) { - this.openTab( tab ); - } - - // return - return tab; - }, - - onRefresh: function(){ - - // only for left placements - if( this.get('placement') !== 'left' ) { - return; - } - - // vars - var $parent = this.$el.parent(); - var $list = this.$el.children('ul'); - var attribute = $parent.is('td') ? 'height' : 'min-height'; - - // find height (minus 1 for border-bottom) - var height = $list.position().top + $list.outerHeight(true) - 1; - - // add css - $parent.css(attribute, height); - } - }); - - var Tab = acf.Model.extend({ - - group: false, - - field: false, - - events: { - 'click a': 'onClick' - }, - - index: function(){ - return this.$el.index(); - }, - - isVisible: function(){ - return acf.isVisible( this.$el ); - }, - - isActive: function(){ - return this.$el.hasClass('active'); - }, - - open: function(){ - - // add class - this.$el.addClass('active'); - - // show field - this.field.showFields(); - }, - - close: function(){ - - // remove class - this.$el.removeClass('active'); - - // hide field - this.field.hideFields(); - }, - - onClick: function( e, $el ){ - - // prevent default - e.preventDefault(); - - // toggle - this.toggle(); - }, - - toggle: function(){ - - // bail early if already active - if( this.isActive() ) { - return; - } - - // toggle this tab - this.group.openTab( this ); - } - }); - - var tabsManager = new acf.Model({ - - priority: 50, - - actions: { - 'prepare': 'render', - 'append': 'render', - 'unload': 'onUnload', - 'invalid_field': 'onInvalidField' - }, - - findTabs: function(){ - return $('.acf-tab-wrap'); - }, - - getTabs: function(){ - return acf.getInstances( this.findTabs() ); - }, - - render: function( $el ){ - this.getTabs().map(function( tabs ){ - if( !tabs.get('initialized') ) { - tabs.initializeTabs(); - } - }); - }, - - onInvalidField: function( field ){ - - // bail early if busy - if( this.busy ) { - return; - } - - // ignore if not hidden by tab - if( !field.hiddenByTab ) { - return; - } - - // toggle tab - field.hiddenByTab.toggle(); - - // ignore other invalid fields - this.busy = true; - this.setTimeout(function(){ - this.busy = false; - }, 100); - }, - - onUnload: function(){ - - // vars - var order = []; - - // loop - this.getTabs().map(function( group ){ - var active = group.hasActive() ? group.getActive().index() : 0; - order.push(active); - }); - - // bail if no tabs - if( !order.length ) { - return; - } - - // update - acf.setPreference('this.tabs', order); - } - }); - + return val; + }, + onClick: function (e, $el) { + // vars + var $label = $el.parent('label'); + var selected = $label.hasClass('selected'); + var val = $el.val(); // remove previous selected + + this.$('.selected').removeClass('selected'); // add active class + + $label.addClass('selected'); // allow null + + if (this.get('allow_null') && selected) { + $label.removeClass('selected'); + $el.prop('checked', false).trigger('change'); + val = false; + } // other + + + if (this.get('other_choice')) { + // enable + if (val === 'other') { + this.$inputText().prop('disabled', false); // disable + } else { + this.$inputText().prop('disabled', true); + } + } + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.models.SelectField.extend({ - type: 'post_object', - }); - - acf.registerFieldType( Field ); - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-range.js": +/*!**************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-range.js ***! + \**************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'range', + events: { + 'input input[type="range"]': 'onChange', + 'change input': 'onChange' + }, + $input: function () { + return this.$('input[type="range"]'); + }, + $inputAlt: function () { + return this.$('input[type="number"]'); + }, + setValue: function (val) { + this.busy = true; // Update range input (with change). + + acf.val(this.$input(), val); // Update alt input (without change). + // Read in input value to inherit min/max validation. + + acf.val(this.$inputAlt(), this.$input().val(), true); + this.busy = false; + }, + onChange: function (e, $el) { + if (!this.busy) { + this.setValue($el.val()); + } + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.models.SelectField.extend({ - type: 'page_link', - }); - - acf.registerFieldType( Field ); - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-relationship.js": +/*!*********************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-relationship.js ***! + \*********************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'relationship', + events: { + 'keypress [data-filter]': 'onKeypressFilter', + 'change [data-filter]': 'onChangeFilter', + 'keyup [data-filter]': 'onChangeFilter', + 'click .choices-list .acf-rel-item': 'onClickAdd', + 'click [data-name="remove_item"]': 'onClickRemove' + }, + $control: function () { + return this.$('.acf-relationship'); + }, + $list: function (list) { + return this.$('.' + list + '-list'); + }, + $listItems: function (list) { + return this.$list(list).find('.acf-rel-item'); + }, + $listItem: function (list, id) { + return this.$list(list).find('.acf-rel-item[data-id="' + id + '"]'); + }, + getValue: function () { + var val = []; + this.$listItems('values').each(function () { + val.push($(this).data('id')); + }); + return val.length ? val : false; + }, + newChoice: function (props) { + return ['
    • ', '' + props.text + '', '
    • '].join(''); + }, + newValue: function (props) { + return ['
    • ', '', '' + props.text, '', '', '
    • '].join(''); + }, + initialize: function () { + // Delay initialization until "interacted with" or "in view". + var delayed = this.proxy(acf.once(function () { + // Add sortable. + this.$list('values').sortable({ + items: 'li', + forceHelperSize: true, + forcePlaceholderSize: true, + scroll: true, + update: this.proxy(function () { + this.$input().trigger('change'); + }) + }); // Avoid browser remembering old scroll position and add event. + + this.$list('choices').scrollTop(0).on('scroll', this.proxy(this.onScrollChoices)); // Fetch choices. + + this.fetch(); + })); // Bind "interacted with". + + this.$el.one('mouseover', delayed); + this.$el.one('focus', 'input', delayed); // Bind "in view". + + acf.onceInView(this.$el, delayed); + }, + onScrollChoices: function (e) { + // bail early if no more results + if (this.get('loading') || !this.get('more')) { + return; + } // Scrolled to bottom + + + var $list = this.$list('choices'); + var scrollTop = Math.ceil($list.scrollTop()); + var scrollHeight = Math.ceil($list[0].scrollHeight); + var innerHeight = Math.ceil($list.innerHeight()); + var paged = this.get('paged') || 1; + + if (scrollTop + innerHeight >= scrollHeight) { + // update paged + this.set('paged', paged + 1); // fetch + + this.fetch(); + } + }, + onKeypressFilter: function (e, $el) { + // don't submit form + if (e.which == 13) { + e.preventDefault(); + } + }, + onChangeFilter: function (e, $el) { + // vars + var val = $el.val(); + var filter = $el.data('filter'); // Bail early if filter has not changed + + if (this.get(filter) === val) { + return; + } // update attr + + + this.set(filter, val); // reset paged + + this.set('paged', 1); // fetch + + if ($el.is('select')) { + this.fetch(); // search must go through timeout + } else { + this.maybeFetch(); + } + }, + onClickAdd: function (e, $el) { + // vars + var val = this.val(); + var max = parseInt(this.get('max')); // can be added? + + if ($el.hasClass('disabled')) { + return false; + } // validate + + + if (max > 0 && val && val.length >= max) { + // add notice + this.showNotice({ + text: acf.__('Maximum values reached ( {max} values )').replace('{max}', max), + type: 'warning' + }); + return false; + } // disable + + + $el.addClass('disabled'); // add + + var html = this.newValue({ + id: $el.data('id'), + text: $el.html() + }); + this.$list('values').append(html); // trigger change + + this.$input().trigger('change'); + }, + onClickRemove: function (e, $el) { + // Prevent default here because generic handler wont be triggered. + e.preventDefault(); // vars + + var $span = $el.parent(); + var $li = $span.parent(); + var id = $span.data('id'); // remove value + + $li.remove(); // show choice + + this.$listItem('choices', id).removeClass('disabled'); // trigger change + + this.$input().trigger('change'); + }, + maybeFetch: function () { + // vars + var timeout = this.get('timeout'); // abort timeout + + if (timeout) { + clearTimeout(timeout); + } // fetch + + + timeout = this.setTimeout(this.fetch, 300); + this.set('timeout', timeout); + }, + getAjaxData: function () { + // load data based on element attributes + var ajaxData = this.$control().data(); + + for (var name in ajaxData) { + ajaxData[name] = this.get(name); + } // extra + + + ajaxData.action = 'acf/fields/relationship/query'; + ajaxData.field_key = this.get('key'); // Filter. + + ajaxData = acf.applyFilters('relationship_ajax_data', ajaxData, this); // return + + return ajaxData; + }, + fetch: function () { + // abort XHR if this field is already loading AJAX data + var xhr = this.get('xhr'); + + if (xhr) { + xhr.abort(); + } // add to this.o + + + var ajaxData = this.getAjaxData(); // clear html if is new query + + var $choiceslist = this.$list('choices'); + + if (ajaxData.paged == 1) { + $choiceslist.html(''); + } // loading + + + var $loading = $('
    • ' + acf.__('Loading') + '
    • '); + $choiceslist.append($loading); + this.set('loading', true); // callback + + var onComplete = function () { + this.set('loading', false); + $loading.remove(); + }; + + var onSuccess = function (json) { + // no results + if (!json || !json.results || !json.results.length) { + // prevent pagination + this.set('more', false); // add message + + if (this.get('paged') == 1) { + this.$list('choices').append('
    • ' + acf.__('No matches found') + '
    • '); + } // return + + + return; + } // set more (allows pagination scroll) + + + this.set('more', json.more); // get new results + + var html = this.walkChoices(json.results); + var $html = $(html); // apply .disabled to left li's + + var val = this.val(); + + if (val && val.length) { + val.map(function (id) { + $html.find('.acf-rel-item[data-id="' + id + '"]').addClass('disabled'); + }); + } // append + + + $choiceslist.append($html); // merge together groups + + var $prevLabel = false; + var $prevList = false; + $choiceslist.find('.acf-rel-label').each(function () { + var $label = $(this); + var $list = $label.siblings('ul'); + + if ($prevLabel && $prevLabel.text() == $label.text()) { + $prevList.append($list.children()); + $(this).parent().remove(); + return; + } // update vars + + + $prevLabel = $label; + $prevList = $list; + }); + }; // get results + + + var xhr = $.ajax({ + url: acf.get('ajaxurl'), + dataType: 'json', + type: 'post', + data: acf.prepareForAjax(ajaxData), + context: this, + success: onSuccess, + complete: onComplete + }); // set + + this.set('xhr', xhr); + }, + walkChoices: function (data) { + // walker + var walk = function (data) { + // vars + var html = ''; // is array + + if ($.isArray(data)) { + data.map(function (item) { + html += walk(item); + }); // is item + } else if ($.isPlainObject(data)) { + // group + if (data.children !== undefined) { + html += '
    • ' + acf.escHtml(data.text) + '
        '; + html += walk(data.children); + html += '
    • '; // single + } else { + html += '
    • ' + acf.escHtml(data.text) + '
    • '; + } + } // return + + + return html; + }; + + return walk(data); + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.models.SelectField.extend({ - type: 'user', - }); - - acf.registerFieldType( Field ); - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-select.js": +/*!***************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-select.js ***! + \***************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'select', + select2: false, + wait: 'load', + events: { + removeField: 'onRemove', + duplicateField: 'onDuplicate' + }, + $input: function () { + return this.$('select'); + }, + initialize: function () { + // vars + var $select = this.$input(); // inherit data + + this.inherit($select); // select2 + + if (this.get('ui')) { + // populate ajax_data (allowing custom attribute to already exist) + var ajaxAction = this.get('ajax_action'); + + if (!ajaxAction) { + ajaxAction = 'acf/fields/' + this.get('type') + '/query'; + } // select2 + + + this.select2 = acf.newSelect2($select, { + field: this, + ajax: this.get('ajax'), + multiple: this.get('multiple'), + placeholder: this.get('placeholder'), + allowNull: this.get('allow_null'), + ajaxAction: ajaxAction + }); + } + }, + onRemove: function () { + if (this.select2) { + this.select2.destroy(); + } + }, + onDuplicate: function (e, $el, $duplicate) { + if (this.select2) { + $duplicate.find('.select2-container').remove(); + $duplicate.find('select').removeClass('select2-hidden-accessible'); + } + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'taxonomy', - - data: { - 'ftype': 'select' - }, - - select2: false, - - wait: 'load', - - events: { - 'click a[data-name="add"]': 'onClickAdd', - 'click input[type="radio"]': 'onClickRadio', - 'removeField': 'onRemove' - }, - - $control: function(){ - return this.$('.acf-taxonomy-field'); - }, - - $input: function(){ - return this.getRelatedPrototype().$input.apply(this, arguments); - }, - - getRelatedType: function(){ - - // vars - var fieldType = this.get('ftype'); - - // normalize - if( fieldType == 'multi_select' ) { - fieldType = 'select'; - } - // return - return fieldType; - - }, - - getRelatedPrototype: function(){ - return acf.getFieldType( this.getRelatedType() ).prototype; - }, - - getValue: function(){ - return this.getRelatedPrototype().getValue.apply(this, arguments); - }, - - setValue: function(){ - return this.getRelatedPrototype().setValue.apply(this, arguments); - }, - - initialize: function(){ - this.getRelatedPrototype().initialize.apply(this, arguments); - }, - - onRemove: function(){ - var proto = this.getRelatedPrototype(); - if( proto.onRemove ) { - proto.onRemove.apply(this, arguments); - } - }, - - onClickAdd: function( e, $el ){ - - // vars - var field = this; - var popup = false; - var $form = false; - var $name = false; - var $parent = false; - var $button = false; - var $message = false; - var notice = false; - - // step 1. - var step1 = function(){ - - // popup - popup = acf.newPopup({ - title: $el.attr('title'), - loading: true, - width: '300px' - }); - - // ajax - var ajaxData = { - action: 'acf/fields/taxonomy/add_term', - field_key: field.get('key') - }; - - // get HTML - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'html', - success: step2 - }); - }; - - // step 2. - var step2 = function( html ){ - - // update popup - popup.loading(false); - popup.content(html); - - // vars - $form = popup.$('form'); - $name = popup.$('input[name="term_name"]'); - $parent = popup.$('select[name="term_parent"]'); - $button = popup.$('.acf-submit-button'); - - // focus - $name.trigger('focus'); - - // submit form - popup.on('submit', 'form', step3); - }; - - // step 3. - var step3 = function( e, $el ){ - - // prevent - e.preventDefault(); - e.stopImmediatePropagation(); - - // basic validation - if( $name.val() === '' ) { - $name.trigger('focus'); - return false; - } - - // disable - acf.startButtonLoading( $button ); - - // ajax - var ajaxData = { - action: 'acf/fields/taxonomy/add_term', - field_key: field.get('key'), - term_name: $name.val(), - term_parent: $parent.length ? $parent.val() : 0 - }; - - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'json', - success: step4 - }); - }; - - // step 4. - var step4 = function( json ){ - - // enable - acf.stopButtonLoading( $button ); - - // remove prev notice - if( notice ) { - notice.remove(); - } - - // success - if( acf.isAjaxSuccess(json) ) { - - // clear name - $name.val(''); - - // update term lists - step5( json.data ); - - // notice - notice = acf.newNotice({ - type: 'success', - text: acf.getAjaxMessage(json), - target: $form, - timeout: 2000, - dismiss: false - }); - - } else { - - // notice - notice = acf.newNotice({ - type: 'error', - text: acf.getAjaxError(json), - target: $form, - timeout: 2000, - dismiss: false - }); - } - - // focus - $name.trigger('focus'); - }; - - // step 5. - var step5 = function( term ){ - - // update parent dropdown - var $option = $(''); - if( term.term_parent ) { - $parent.children('option[value="' + term.term_parent + '"]').after( $option ); - } else { - $parent.append( $option ); - } - - // add this new term to all taxonomy field - var fields = acf.getFields({ - type: 'taxonomy' - }); - - fields.map(function( otherField ){ - if( otherField.get('taxonomy') == field.get('taxonomy') ) { - otherField.appendTerm( term ); - } - }); - - // select - field.selectTerm( term.term_id ); - }; - - // run - step1(); - }, - - appendTerm: function( term ){ - - if( this.getRelatedType() == 'select' ) { - this.appendTermSelect( term ); - } else { - this.appendTermCheckbox( term ); - } - }, - - appendTermSelect: function( term ){ - - this.select2.addOption({ - id: term.term_id, - text: term.term_label - }); - - }, - - appendTermCheckbox: function( term ){ - - // vars - var name = this.$('[name]:first').attr('name'); - var $ul = this.$('ul:first'); - - // allow multiple selection - if( this.getRelatedType() == 'checkbox' ) { - name += '[]'; - } - - // create new li - var $li = $([ - '
    • ', - '', - '
    • ' - ].join('')); - - // find parent - if( term.term_parent ) { - - // vars - var $parent = $ul.find('li[data-id="' + term.term_parent + '"]'); - - // update vars - $ul = $parent.children('ul'); - - // create ul - if( !$ul.exists() ) { - $ul = $('
        '); - $parent.append( $ul ); - } - } - - // append - $ul.append( $li ); - }, - - selectTerm: function( id ){ - if( this.getRelatedType() == 'select' ) { - this.select2.selectOption( id ); - } else { - var $input = this.$('input[value="' + id + '"]'); - $input.prop('checked', true).trigger('change'); - } - }, - - onClickRadio: function( e, $el ){ - - // vars - var $label = $el.parent('label'); - var selected = $label.hasClass('selected'); - - // remove previous selected - this.$('.selected').removeClass('selected'); - - // add active class - $label.addClass('selected'); - - // allow null - if( this.get('allow_null') && selected ) { - $label.removeClass('selected'); - $el.prop('checked', false).trigger('change'); - } - } - }); - - acf.registerFieldType( Field ); - +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-tab.js": +/*!************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-tab.js ***! + \************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + // vars + var CONTEXT = 'tab'; + var Field = acf.Field.extend({ + type: 'tab', + wait: '', + tabs: false, + tab: false, + events: { + duplicateField: 'onDuplicate' + }, + findFields: function () { + return this.$el.nextUntil('.acf-field-tab', '.acf-field'); + }, + getFields: function () { + return acf.getFields(this.findFields()); + }, + findTabs: function () { + return this.$el.prevAll('.acf-tab-wrap:first'); + }, + findTab: function () { + return this.$('.acf-tab-button'); + }, + initialize: function () { + // bail early if is td + if (this.$el.is('td')) { + this.events = {}; + return false; + } // vars + + + var $tabs = this.findTabs(); + var $tab = this.findTab(); + var settings = acf.parseArgs($tab.data(), { + endpoint: false, + placement: '', + before: this.$el + }); // create wrap + + if (!$tabs.length || settings.endpoint) { + this.tabs = new Tabs(settings); + } else { + this.tabs = $tabs.data('acf'); + } // add tab + + + this.tab = this.tabs.addTab($tab, this); + }, + isActive: function () { + return this.tab.isActive(); + }, + showFields: function () { + // show fields + this.getFields().map(function (field) { + field.show(this.cid, CONTEXT); + field.hiddenByTab = false; + }, this); + }, + hideFields: function () { + // hide fields + this.getFields().map(function (field) { + field.hide(this.cid, CONTEXT); + field.hiddenByTab = this.tab; + }, this); + }, + show: function (lockKey) { + // show field and store result + var visible = acf.Field.prototype.show.apply(this, arguments); // check if now visible + + if (visible) { + // show tab + this.tab.show(); // check active tabs + + this.tabs.refresh(); + } // return + + + return visible; + }, + hide: function (lockKey) { + // hide field and store result + var hidden = acf.Field.prototype.hide.apply(this, arguments); // check if now hidden + + if (hidden) { + // hide tab + this.tab.hide(); // reset tabs if this was active + + if (this.isActive()) { + this.tabs.reset(); + } + } // return + + + return hidden; + }, + enable: function (lockKey) { + // enable fields + this.getFields().map(function (field) { + field.enable(CONTEXT); + }); + }, + disable: function (lockKey) { + // disable fields + this.getFields().map(function (field) { + field.disable(CONTEXT); + }); + }, + onDuplicate: function (e, $el, $duplicate) { + if (this.isActive()) { + $duplicate.prevAll('.acf-tab-wrap:first').remove(); + } + } + }); + acf.registerFieldType(Field); + /** + * tabs + * + * description + * + * @date 8/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var i = 0; + var Tabs = acf.Model.extend({ + tabs: [], + active: false, + actions: { + refresh: 'onRefresh' + }, + data: { + before: false, + placement: 'top', + index: 0, + initialized: false + }, + setup: function (settings) { + // data + $.extend(this.data, settings); // define this prop to avoid scope issues + + this.tabs = []; + this.active = false; // vars + + var placement = this.get('placement'); + var $before = this.get('before'); + var $parent = $before.parent(); // add sidebar for left placement + + if (placement == 'left' && $parent.hasClass('acf-fields')) { + $parent.addClass('-sidebar'); + } // create wrap + + + if ($before.is('tr')) { + this.$el = $(''); + } else { + this.$el = $('
          '); + } // append + + + $before.before(this.$el); // set index + + this.set('index', i, true); + i++; + }, + initializeTabs: function () { + // find first visible tab + var tab = this.getVisible().shift(); // remember previous tab state + + var order = acf.getPreference('this.tabs') || []; + var groupIndex = this.get('index'); + var tabIndex = order[groupIndex]; + + if (this.tabs[tabIndex] && this.tabs[tabIndex].isVisible()) { + tab = this.tabs[tabIndex]; + } // select + + + if (tab) { + this.selectTab(tab); + } else { + this.closeTabs(); + } // set local variable used by tabsManager + + + this.set('initialized', true); + }, + getVisible: function () { + return this.tabs.filter(function (tab) { + return tab.isVisible(); + }); + }, + getActive: function () { + return this.active; + }, + setActive: function (tab) { + return this.active = tab; + }, + hasActive: function () { + return this.active !== false; + }, + isActive: function (tab) { + var active = this.getActive(); + return active && active.cid === tab.cid; + }, + closeActive: function () { + if (this.hasActive()) { + this.closeTab(this.getActive()); + } + }, + openTab: function (tab) { + // close existing tab + this.closeActive(); // open + + tab.open(); // set active + + this.setActive(tab); + }, + closeTab: function (tab) { + // close + tab.close(); // set active + + this.setActive(false); + }, + closeTabs: function () { + this.tabs.map(this.closeTab, this); + }, + selectTab: function (tab) { + // close other tabs + this.tabs.map(function (t) { + if (tab.cid !== t.cid) { + this.closeTab(t); + } + }, this); // open + + this.openTab(tab); + }, + addTab: function ($a, field) { + // create
        • + var $li = $('
        • ' + $a.outerHTML() + '
        • '); // append + + this.$('ul').append($li); // initialize + + var tab = new Tab({ + $el: $li, + field: field, + group: this + }); // store + + this.tabs.push(tab); // return + + return tab; + }, + reset: function () { + // close existing tab + this.closeActive(); // find and active a tab + + return this.refresh(); + }, + refresh: function () { + // bail early if active already exists + if (this.hasActive()) { + return false; + } // find next active tab + + + var tab = this.getVisible().shift(); // open tab + + if (tab) { + this.openTab(tab); + } // return + + + return tab; + }, + onRefresh: function () { + // only for left placements + if (this.get('placement') !== 'left') { + return; + } // vars + + + var $parent = this.$el.parent(); + var $list = this.$el.children('ul'); + var attribute = $parent.is('td') ? 'height' : 'min-height'; // find height (minus 1 for border-bottom) + + var height = $list.position().top + $list.outerHeight(true) - 1; // add css + + $parent.css(attribute, height); + } + }); + var Tab = acf.Model.extend({ + group: false, + field: false, + events: { + 'click a': 'onClick' + }, + index: function () { + return this.$el.index(); + }, + isVisible: function () { + return acf.isVisible(this.$el); + }, + isActive: function () { + return this.$el.hasClass('active'); + }, + open: function () { + // add class + this.$el.addClass('active'); // show field + + this.field.showFields(); + }, + close: function () { + // remove class + this.$el.removeClass('active'); // hide field + + this.field.hideFields(); + }, + onClick: function (e, $el) { + // prevent default + e.preventDefault(); // toggle + + this.toggle(); + }, + toggle: function () { + // bail early if already active + if (this.isActive()) { + return; + } // toggle this tab + + + this.group.openTab(this); + } + }); + var tabsManager = new acf.Model({ + priority: 50, + actions: { + prepare: 'render', + append: 'render', + unload: 'onUnload', + invalid_field: 'onInvalidField' + }, + findTabs: function () { + return $('.acf-tab-wrap'); + }, + getTabs: function () { + return acf.getInstances(this.findTabs()); + }, + render: function ($el) { + this.getTabs().map(function (tabs) { + if (!tabs.get('initialized')) { + tabs.initializeTabs(); + } + }); + }, + onInvalidField: function (field) { + // bail early if busy + if (this.busy) { + return; + } // ignore if not hidden by tab + + + if (!field.hiddenByTab) { + return; + } // toggle tab + + + field.hiddenByTab.toggle(); // ignore other invalid fields + + this.busy = true; + this.setTimeout(function () { + this.busy = false; + }, 100); + }, + onUnload: function () { + // vars + var order = []; // loop + + this.getTabs().map(function (group) { + var active = group.hasActive() ? group.getActive().index() : 0; + order.push(active); + }); // bail if no tabs + + if (!order.length) { + return; + } // update + + + acf.setPreference('this.tabs', order); + } + }); })(jQuery); -(function($, undefined){ - - var Field = acf.models.DatePickerField.extend({ - - type: 'time_picker', - - $control: function(){ - return this.$('.acf-time-picker'); - }, - - initialize: function(){ - - // vars - var $input = this.$input(); - var $inputText = this.$inputText(); - - // args - var args = { - timeFormat: this.get('time_format'), - altField: $input, - altFieldTimeOnly: false, - altTimeFormat: 'HH:mm:ss', - showButtonPanel: true, - controlType: 'select', - oneLine: true, - closeText: acf.get('dateTimePickerL10n').selectText, - timeOnly: true, - }; - - // add custom 'Close = Select' functionality - args.onClose = function( value, dp_instance, t_instance ){ - - // vars - var $close = dp_instance.dpDiv.find('.ui-datepicker-close'); - - // if clicking close button - if( !value && $close.is(':hover') ) { - t_instance._updateDateTime(); - } - }; - - // filter - args = acf.applyFilters('time_picker_args', args, this); - - // add date time picker - acf.newTimePicker( $inputText, args ); - - // action - acf.doAction('time_picker_init', $inputText, args, this); - } - }); - - acf.registerFieldType( Field ); - - - // add - acf.newTimePicker = function( $input, args ){ - - // bail ealry if no datepicker library - if( typeof $.timepicker === 'undefined' ) { - return false; - } - - // defaults - args = args || {}; - - // initialize - $input.timepicker( args ); - - // wrap the datepicker (only if it hasn't already been wrapped) - if( $('body > #ui-datepicker-div').exists() ) { - $('body > #ui-datepicker-div').wrap('
          '); - } - }; - +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-taxonomy.js": +/*!*****************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-taxonomy.js ***! + \*****************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'taxonomy', + data: { + ftype: 'select' + }, + select2: false, + wait: 'load', + events: { + 'click a[data-name="add"]': 'onClickAdd', + 'click input[type="radio"]': 'onClickRadio', + removeField: 'onRemove' + }, + $control: function () { + return this.$('.acf-taxonomy-field'); + }, + $input: function () { + return this.getRelatedPrototype().$input.apply(this, arguments); + }, + getRelatedType: function () { + // vars + var fieldType = this.get('ftype'); // normalize + + if (fieldType == 'multi_select') { + fieldType = 'select'; + } // return + + + return fieldType; + }, + getRelatedPrototype: function () { + return acf.getFieldType(this.getRelatedType()).prototype; + }, + getValue: function () { + return this.getRelatedPrototype().getValue.apply(this, arguments); + }, + setValue: function () { + return this.getRelatedPrototype().setValue.apply(this, arguments); + }, + initialize: function () { + this.getRelatedPrototype().initialize.apply(this, arguments); + }, + onRemove: function () { + var proto = this.getRelatedPrototype(); + + if (proto.onRemove) { + proto.onRemove.apply(this, arguments); + } + }, + onClickAdd: function (e, $el) { + // vars + var field = this; + var popup = false; + var $form = false; + var $name = false; + var $parent = false; + var $button = false; + var $message = false; + var notice = false; // step 1. + + var step1 = function () { + // popup + popup = acf.newPopup({ + title: $el.attr('title'), + loading: true, + width: '300px' + }); // ajax + + var ajaxData = { + action: 'acf/fields/taxonomy/add_term', + field_key: field.get('key') + }; // get HTML + + $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxData), + type: 'post', + dataType: 'html', + success: step2 + }); + }; // step 2. + + + var step2 = function (html) { + // update popup + popup.loading(false); + popup.content(html); // vars + + $form = popup.$('form'); + $name = popup.$('input[name="term_name"]'); + $parent = popup.$('select[name="term_parent"]'); + $button = popup.$('.acf-submit-button'); // focus + + $name.trigger('focus'); // submit form + + popup.on('submit', 'form', step3); + }; // step 3. + + + var step3 = function (e, $el) { + // prevent + e.preventDefault(); + e.stopImmediatePropagation(); // basic validation + + if ($name.val() === '') { + $name.trigger('focus'); + return false; + } // disable + + + acf.startButtonLoading($button); // ajax + + var ajaxData = { + action: 'acf/fields/taxonomy/add_term', + field_key: field.get('key'), + term_name: $name.val(), + term_parent: $parent.length ? $parent.val() : 0 + }; + $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxData), + type: 'post', + dataType: 'json', + success: step4 + }); + }; // step 4. + + + var step4 = function (json) { + // enable + acf.stopButtonLoading($button); // remove prev notice + + if (notice) { + notice.remove(); + } // success + + + if (acf.isAjaxSuccess(json)) { + // clear name + $name.val(''); // update term lists + + step5(json.data); // notice + + notice = acf.newNotice({ + type: 'success', + text: acf.getAjaxMessage(json), + target: $form, + timeout: 2000, + dismiss: false + }); + } else { + // notice + notice = acf.newNotice({ + type: 'error', + text: acf.getAjaxError(json), + target: $form, + timeout: 2000, + dismiss: false + }); + } // focus + + + $name.trigger('focus'); + }; // step 5. + + + var step5 = function (term) { + // update parent dropdown + var $option = $(''); + + if (term.term_parent) { + $parent.children('option[value="' + term.term_parent + '"]').after($option); + } else { + $parent.append($option); + } // add this new term to all taxonomy field + + + var fields = acf.getFields({ + type: 'taxonomy' + }); + fields.map(function (otherField) { + if (otherField.get('taxonomy') == field.get('taxonomy')) { + otherField.appendTerm(term); + } + }); // select + + field.selectTerm(term.term_id); + }; // run + + + step1(); + }, + appendTerm: function (term) { + if (this.getRelatedType() == 'select') { + this.appendTermSelect(term); + } else { + this.appendTermCheckbox(term); + } + }, + appendTermSelect: function (term) { + this.select2.addOption({ + id: term.term_id, + text: term.term_label + }); + }, + appendTermCheckbox: function (term) { + // vars + var name = this.$('[name]:first').attr('name'); + var $ul = this.$('ul:first'); // allow multiple selection + + if (this.getRelatedType() == 'checkbox') { + name += '[]'; + } // create new li + + + var $li = $(['
        • ', '', '
        • '].join('')); // find parent + + if (term.term_parent) { + // vars + var $parent = $ul.find('li[data-id="' + term.term_parent + '"]'); // update vars + + $ul = $parent.children('ul'); // create ul + + if (!$ul.exists()) { + $ul = $('
            '); + $parent.append($ul); + } + } // append + + + $ul.append($li); + }, + selectTerm: function (id) { + if (this.getRelatedType() == 'select') { + this.select2.selectOption(id); + } else { + var $input = this.$('input[value="' + id + '"]'); + $input.prop('checked', true).trigger('change'); + } + }, + onClickRadio: function (e, $el) { + // vars + var $label = $el.parent('label'); + var selected = $label.hasClass('selected'); // remove previous selected + + this.$('.selected').removeClass('selected'); // add active class + + $label.addClass('selected'); // allow null + + if (this.get('allow_null') && selected) { + $label.removeClass('selected'); + $el.prop('checked', false).trigger('change'); + } + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'true_false', - - events: { - 'change .acf-switch-input': 'onChange', - 'focus .acf-switch-input': 'onFocus', - 'blur .acf-switch-input': 'onBlur', - 'keypress .acf-switch-input': 'onKeypress' - }, - - $input: function(){ - return this.$('input[type="checkbox"]'); - }, - - $switch: function(){ - return this.$('.acf-switch'); - }, - - getValue: function(){ - return this.$input().prop('checked') ? 1 : 0; - }, - - initialize: function(){ - this.render(); - }, - - render: function(){ - - // vars - var $switch = this.$switch(); - - // bail ealry if no $switch - if( !$switch.length ) return; - - // vars - var $on = $switch.children('.acf-switch-on'); - var $off = $switch.children('.acf-switch-off'); - var width = Math.max( $on.width(), $off.width() ); - - // bail ealry if no width - if( !width ) return; - - // set widths - $on.css( 'min-width', width ); - $off.css( 'min-width', width ); - - }, - - switchOn: function() { - this.$input().prop('checked', true); - this.$switch().addClass('-on'); - }, - - switchOff: function() { - this.$input().prop('checked', false); - this.$switch().removeClass('-on'); - }, - - onChange: function( e, $el ){ - if( $el.prop('checked') ) { - this.switchOn(); - } else { - this.switchOff(); - } - }, - - onFocus: function( e, $el ){ - this.$switch().addClass('-focus'); - }, - - onBlur: function( e, $el ){ - this.$switch().removeClass('-focus'); - }, - - onKeypress: function( e, $el ){ - - // left - if( e.keyCode === 37 ) { - return this.switchOff(); - } - - // right - if( e.keyCode === 39 ) { - return this.switchOn(); - } - - } - }); - - acf.registerFieldType( Field ); - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-time-picker.js": +/*!********************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-time-picker.js ***! + \********************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.models.DatePickerField.extend({ + type: 'time_picker', + $control: function () { + return this.$('.acf-time-picker'); + }, + initialize: function () { + // vars + var $input = this.$input(); + var $inputText = this.$inputText(); // args + + var args = { + timeFormat: this.get('time_format'), + altField: $input, + altFieldTimeOnly: false, + altTimeFormat: 'HH:mm:ss', + showButtonPanel: true, + controlType: 'select', + oneLine: true, + closeText: acf.get('dateTimePickerL10n').selectText, + timeOnly: true + }; // add custom 'Close = Select' functionality + + args.onClose = function (value, dp_instance, t_instance) { + // vars + var $close = dp_instance.dpDiv.find('.ui-datepicker-close'); // if clicking close button + + if (!value && $close.is(':hover')) { + t_instance._updateDateTime(); + } + }; // filter + + + args = acf.applyFilters('time_picker_args', args, this); // add date time picker + + acf.newTimePicker($inputText, args); // action + + acf.doAction('time_picker_init', $inputText, args, this); + } + }); + acf.registerFieldType(Field); // add + + acf.newTimePicker = function ($input, args) { + // bail ealry if no datepicker library + if (typeof $.timepicker === 'undefined') { + return false; + } // defaults + + + args = args || {}; // initialize + + $input.timepicker(args); // wrap the datepicker (only if it hasn't already been wrapped) + + if ($('body > #ui-datepicker-div').exists()) { + $('body > #ui-datepicker-div').wrap('
            '); + } + }; })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'url', - - events: { - 'keyup input[type="url"]': 'onkeyup' - }, - - $control: function(){ - return this.$('.acf-input-wrap'); - }, - - $input: function(){ - return this.$('input[type="url"]'); - }, - - initialize: function(){ - this.render(); - }, - - isValid: function(){ - - // vars - var val = this.val(); - - // bail early if no val - if( !val ) { - return false; - } - - // url - if( val.indexOf('://') !== -1 ) { - return true; - } - - // protocol relative url - if( val.indexOf('//') === 0 ) { - return true; - } - - // return - return false; - }, - - render: function(){ - - // add class - if( this.isValid() ) { - this.$control().addClass('-valid'); - } else { - this.$control().removeClass('-valid'); - } - }, - - onkeyup: function( e, $el ){ - this.render(); - } - }); - - acf.registerFieldType( Field ); - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-true-false.js": +/*!*******************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-true-false.js ***! + \*******************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'true_false', + events: { + 'change .acf-switch-input': 'onChange', + 'focus .acf-switch-input': 'onFocus', + 'blur .acf-switch-input': 'onBlur', + 'keypress .acf-switch-input': 'onKeypress' + }, + $input: function () { + return this.$('input[type="checkbox"]'); + }, + $switch: function () { + return this.$('.acf-switch'); + }, + getValue: function () { + return this.$input().prop('checked') ? 1 : 0; + }, + initialize: function () { + this.render(); + }, + render: function () { + // vars + var $switch = this.$switch(); // bail ealry if no $switch + + if (!$switch.length) return; // vars + + var $on = $switch.children('.acf-switch-on'); + var $off = $switch.children('.acf-switch-off'); + var width = Math.max($on.width(), $off.width()); // bail ealry if no width + + if (!width) return; // set widths + + $on.css('min-width', width); + $off.css('min-width', width); + }, + switchOn: function () { + this.$input().prop('checked', true); + this.$switch().addClass('-on'); + }, + switchOff: function () { + this.$input().prop('checked', false); + this.$switch().removeClass('-on'); + }, + onChange: function (e, $el) { + if ($el.prop('checked')) { + this.switchOn(); + } else { + this.switchOff(); + } + }, + onFocus: function (e, $el) { + this.$switch().addClass('-focus'); + }, + onBlur: function (e, $el) { + this.$switch().removeClass('-focus'); + }, + onKeypress: function (e, $el) { + // left + if (e.keyCode === 37) { + return this.switchOff(); + } // right + + + if (e.keyCode === 39) { + return this.switchOn(); + } + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var Field = acf.Field.extend({ - - type: 'wysiwyg', - - wait: 'load', - - events: { - 'mousedown .acf-editor-wrap.delay': 'onMousedown', - 'unmountField': 'disableEditor', - 'remountField': 'enableEditor', - 'removeField': 'disableEditor' - }, - - $control: function(){ - return this.$('.acf-editor-wrap'); - }, - - $input: function(){ - return this.$('textarea'); - }, - - getMode: function(){ - return this.$control().hasClass('tmce-active') ? 'visual' : 'text'; - }, - - initialize: function(){ - - // initializeEditor if no delay - if( !this.$control().hasClass('delay') ) { - this.initializeEditor(); - } - }, - - initializeEditor: function(){ - - // vars - var $wrap = this.$control(); - var $textarea = this.$input(); - var args = { - tinymce: true, - quicktags: true, - toolbar: this.get('toolbar'), - mode: this.getMode(), - field: this - }; - - // generate new id - var oldId = $textarea.attr('id'); - var newId = acf.uniqueId('acf-editor-'); - - // Backup textarea data. - var inputData = $textarea.data(); - var inputVal = $textarea.val(); - - // rename - acf.rename({ - target: $wrap, - search: oldId, - replace: newId, - destructive: true - }); - - // update id - this.set('id', newId, true); - - // apply data to new textarea (acf.rename creates a new textarea element due to destructive mode) - // fixes bug where conditional logic "disabled" is lost during "screen_check" - this.$input().data( inputData ).val( inputVal ); - // initialize - acf.tinymce.initialize( newId, args ); - }, - - onMousedown: function( e ){ - - // prevent default - e.preventDefault(); - - // remove delay class - var $wrap = this.$control(); - $wrap.removeClass('delay'); - $wrap.find('.acf-editor-toolbar').remove(); - - // initialize - this.initializeEditor(); - }, - - enableEditor: function(){ - if( this.getMode() == 'visual' ) { - acf.tinymce.enable( this.get('id') ); - } - }, - - disableEditor: function(){ - acf.tinymce.destroy( this.get('id') ); - } - }); - - acf.registerFieldType( Field ); - +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-url.js": +/*!************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-url.js ***! + \************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'url', + events: { + 'keyup input[type="url"]': 'onkeyup' + }, + $control: function () { + return this.$('.acf-input-wrap'); + }, + $input: function () { + return this.$('input[type="url"]'); + }, + initialize: function () { + this.render(); + }, + isValid: function () { + // vars + var val = this.val(); // bail early if no val + + if (!val) { + return false; + } // url + + + if (val.indexOf('://') !== -1) { + return true; + } // protocol relative url + + + if (val.indexOf('//') === 0) { + return true; + } // return + + + return false; + }, + render: function () { + // add class + if (this.isValid()) { + this.$control().addClass('-valid'); + } else { + this.$control().removeClass('-valid'); + } + }, + onkeyup: function (e, $el) { + this.render(); + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - // vars - var storage = []; - - /** - * acf.Condition - * - * description - * - * @date 23/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.Condition = acf.Model.extend({ - - type: '', // used for model name - operator: '==', // rule operator - label: '', // label shown when editing fields - choiceType: 'input', // input, select - fieldTypes: [], // auto connect this conditions with these field types - - data: { - conditions: false, // the parent instance - field: false, // the field which we query against - rule: {} // the rule [field, operator, value] - }, - - events: { - 'change': 'change', - 'keyup': 'change', - 'enableField': 'change', - 'disableField': 'change' - }, - - setup: function( props ){ - $.extend(this.data, props); - }, - - getEventTarget: function( $el, event ){ - return $el || this.get('field').$el; - }, - - change: function( e, $el ){ - this.get('conditions').change( e ); - }, - - match: function( rule, field ){ - return false; - }, - - calculate: function(){ - return this.match( this.get('rule'), this.get('field') ); - }, - - choices: function( field ){ - return ''; - } - }); - - /** - * acf.newCondition - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.newCondition = function( rule, conditions ){ - - // currently setting up conditions for fieldX, this field is the 'target' - var target = conditions.get('field'); - - // use the 'target' to find the 'trigger' field. - // - this field is used to setup the conditional logic events - var field = target.getField( rule.field ); - - // bail ealry if no target or no field (possible if field doesn't exist due to HTML error) - if( !target || !field ) { - return false; - } - - // vars - var args = { - rule: rule, - target: target, - conditions: conditions, - field: field - }; - - // vars - var fieldType = field.get('type'); - var operator = rule.operator; - - // get avaibale conditions - var conditionTypes = acf.getConditionTypes({ - fieldType: fieldType, - operator: operator, - }); - - // instantiate - var model = conditionTypes[0] || acf.Condition; - - // instantiate - var condition = new model( args ); - - // return - return condition; - }; - /** - * mid - * - * Calculates the model ID for a field type - * - * @date 15/12/17 - * @since 5.6.5 - * - * @param string type - * @return string - */ - - var modelId = function( type ) { - return acf.strPascalCase( type || '' ) + 'Condition'; - }; - - /** - * acf.registerConditionType - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.registerConditionType = function( model ){ - - // vars - var proto = model.prototype; - var type = proto.type; - var mid = modelId( type ); - - // store model - acf.models[ mid ] = model; - - // store reference - storage.push( type ); - }; - - /** - * acf.getConditionType - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getConditionType = function( type ){ - var mid = modelId( type ); - return acf.models[ mid ] || false; - } - - /** - * acf.registerConditionForFieldType - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.registerConditionForFieldType = function( conditionType, fieldType ){ - - // get model - var model = acf.getConditionType( conditionType ); - - // append - if( model ) { - model.prototype.fieldTypes.push( fieldType ); - } - }; - - /** - * acf.getConditionTypes - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getConditionTypes = function( args ){ - - // defaults - args = acf.parseArgs(args, { - fieldType: '', - operator: '' - }); - - // clonse available types - var types = []; - - // loop - storage.map(function( type ){ - - // vars - var model = acf.getConditionType(type); - var ProtoFieldTypes = model.prototype.fieldTypes; - var ProtoOperator = model.prototype.operator; - - // check fieldType - if( args.fieldType && ProtoFieldTypes.indexOf( args.fieldType ) === -1 ) { - return; - } - - // check operator - if( args.operator && ProtoOperator !== args.operator ) { - return; - } - - // append - types.push( model ); - }); - - // return - return types; - }; - +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-user.js": +/*!*************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-user.js ***! + \*************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.models.SelectField.extend({ + type: 'user' + }); + acf.registerFieldType(Field); + acf.addFilter('select2_ajax_data', function (data, args, $input, field, select2) { + if (!field) { + return data; + } + + const query_nonce = field.get('queryNonce'); + + if (query_nonce && query_nonce.length) { + data.user_query_nonce = query_nonce; + } + + return data; + }); })(jQuery); -(function($, undefined){ - - // vars - var CONTEXT = 'conditional_logic'; - - /** - * conditionsManager - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var conditionsManager = new acf.Model({ - - id: 'conditionsManager', - - priority: 20, // run actions later - - actions: { - 'new_field': 'onNewField', - }, - - onNewField: function( field ){ - if( field.has('conditions') ) { - field.getConditions().render(); - } - }, - }); - - /** - * acf.Field.prototype.getField - * - * Finds a field that is related to another field - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var getSiblingField = function( field, key ){ - - // find sibling (very fast) - var fields = acf.getFields({ - key: key, - sibling: field.$el, - suppressFilters: true, - }); - - // find sibling-children (fast) - // needed for group fields, accordions, etc - if( !fields.length ) { - fields = acf.getFields({ - key: key, - parent: field.$el.parent(), - suppressFilters: true, - }); - } - - // return - if( fields.length ) { - return fields[0]; - } - return false; - }; - - acf.Field.prototype.getField = function( key ){ - - // get sibling field - var field = getSiblingField( this, key ); - - // return early - if( field ) { - return field; - } - - // move up through each parent and try again - var parents = this.parents(); - for( var i = 0; i < parents.length; i++ ) { - - // get sibling field - field = getSiblingField( parents[i], key ); - - // return early - if( field ) { - return field; - } - } - - // return - return false; - }; - - - /** - * acf.Field.prototype.getConditions - * - * Returns the field's conditions instance - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.Field.prototype.getConditions = function(){ - - // instantiate - if( !this.conditions ) { - this.conditions = new Conditions( this ); - } - - // return - return this.conditions; - }; - - - /** - * Conditions - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - var timeout = false; - var Conditions = acf.Model.extend({ - - id: 'Conditions', - - data: { - field: false, // The field with "data-conditions" (target). - timeStamp: false, // Reference used during "change" event. - groups: [], // The groups of condition instances. - }, - - setup: function( field ){ - - // data - this.data.field = field; - - // vars - var conditions = field.get('conditions'); - - // detect groups - if( conditions instanceof Array ) { - - // detect groups - if( conditions[0] instanceof Array ) { - // loop - conditions.map(function(rules, i){ - this.addRules( rules, i ); - }, this); - - // detect rules - } else { - this.addRules( conditions ); - } - - // detect rule - } else { - this.addRule( conditions ); - } - }, - - change: function( e ){ - - // this function may be triggered multiple times per event due to multiple condition classes - // compare timestamp to allow only 1 trigger per event - if( this.get('timeStamp') === e.timeStamp ) { - return false; - } else { - this.set('timeStamp', e.timeStamp, true); - } - - // render condition and store result - var changed = this.render(); - }, - - render: function(){ - return this.calculate() ? this.show() : this.hide(); - }, - - show: function(){ - return this.get('field').showEnable(this.cid, CONTEXT); - }, - - hide: function(){ - return this.get('field').hideDisable(this.cid, CONTEXT); - }, - - calculate: function(){ - - // vars - var pass = false; - - // loop - this.getGroups().map(function( group ){ - - // igrnore this group if another group passed - if( pass ) return; - - // find passed - var passed = group.filter(function(condition){ - return condition.calculate(); - }); - - // if all conditions passed, update the global var - if( passed.length == group.length ) { - pass = true; - } - }); - - return pass; - }, - - hasGroups: function(){ - return this.data.groups != null; - }, - - getGroups: function(){ - return this.data.groups; - }, - - addGroup: function(){ - var group = []; - this.data.groups.push( group ); - return group; - }, - - hasGroup: function( i ){ - return this.data.groups[i] != null; - }, - - getGroup: function( i ){ - return this.data.groups[i]; - }, - - removeGroup: function( i ){ - this.data.groups[i].delete; - return this; - }, - - addRules: function( rules, group ){ - rules.map(function( rule ){ - this.addRule( rule, group ); - }, this); - }, - - addRule: function( rule, group ){ - - // defaults - group = group || 0; - - // vars - var groupArray; - - // get group - if( this.hasGroup(group) ) { - groupArray = this.getGroup(group); - } else { - groupArray = this.addGroup(); - } - - // instantiate - var condition = acf.newCondition( rule, this ); - - // bail ealry if condition failed (field did not exist) - if( !condition ) { - return false; - } - - // add rule - groupArray.push(condition); - }, - - hasRule: function(){ - - }, - - getRule: function( rule, group ){ - - // defaults - rule = rule || 0; - group = group || 0; - - return this.data.groups[ group ][ rule ]; - }, - - removeRule: function(){ - - } - }); - +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-wysiwyg.js": +/*!****************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-wysiwyg.js ***! + \****************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + var Field = acf.Field.extend({ + type: 'wysiwyg', + wait: 'load', + events: { + 'mousedown .acf-editor-wrap.delay': 'onMousedown', + unmountField: 'disableEditor', + remountField: 'enableEditor', + removeField: 'disableEditor' + }, + $control: function () { + return this.$('.acf-editor-wrap'); + }, + $input: function () { + return this.$('textarea'); + }, + getMode: function () { + return this.$control().hasClass('tmce-active') ? 'visual' : 'text'; + }, + initialize: function () { + // initializeEditor if no delay + if (!this.$control().hasClass('delay')) { + this.initializeEditor(); + } + }, + initializeEditor: function () { + // vars + var $wrap = this.$control(); + var $textarea = this.$input(); + var args = { + tinymce: true, + quicktags: true, + toolbar: this.get('toolbar'), + mode: this.getMode(), + field: this + }; // generate new id + + var oldId = $textarea.attr('id'); + var newId = acf.uniqueId('acf-editor-'); // Backup textarea data. + + var inputData = $textarea.data(); + var inputVal = $textarea.val(); // rename + + acf.rename({ + target: $wrap, + search: oldId, + replace: newId, + destructive: true + }); // update id + + this.set('id', newId, true); // apply data to new textarea (acf.rename creates a new textarea element due to destructive mode) + // fixes bug where conditional logic "disabled" is lost during "screen_check" + + this.$input().data(inputData).val(inputVal); // initialize + + acf.tinymce.initialize(newId, args); + }, + onMousedown: function (e) { + // prevent default + e.preventDefault(); // remove delay class + + var $wrap = this.$control(); + $wrap.removeClass('delay'); + $wrap.find('.acf-editor-toolbar').remove(); // initialize + + this.initializeEditor(); + }, + enableEditor: function () { + if (this.getMode() == 'visual') { + acf.tinymce.enable(this.get('id')); + } + }, + disableEditor: function () { + acf.tinymce.destroy(this.get('id')); + } + }); + acf.registerFieldType(Field); })(jQuery); -(function($, undefined){ - - var __ = acf.__; - - var parseString = function( val ){ - return val ? '' + val : ''; - }; - - var isEqualTo = function( v1, v2 ){ - return ( parseString(v1).toLowerCase() === parseString(v2).toLowerCase() ); - }; - - var isEqualToNumber = function( v1, v2 ){ - return ( parseFloat(v1) === parseFloat(v2) ); - }; - - var isGreaterThan = function( v1, v2 ){ - return ( parseFloat(v1) > parseFloat(v2) ); - }; - - var isLessThan = function( v1, v2 ){ - return ( parseFloat(v1) < parseFloat(v2) ); - }; - - var inArray = function( v1, array ){ - - // cast all values as string - array = array.map(function(v2){ - return parseString(v2); - }); - - return (array.indexOf( v1 ) > -1); - } - - var containsString = function( haystack, needle ){ - return ( parseString(haystack).indexOf( parseString(needle) ) > -1 ); - }; - - var matchesPattern = function( v1, pattern ){ - var regexp = new RegExp(parseString(pattern), 'gi'); - return parseString(v1).match( regexp ); - }; - - /** - * hasValue - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var HasValue = acf.Condition.extend({ - type: 'hasValue', - operator: '!=empty', - label: __('Has any value'), - fieldTypes: [ 'text', 'textarea', 'number', 'range', 'email', 'url', 'password', 'image', 'file', 'wysiwyg', 'oembed', 'select', 'checkbox', 'radio', 'button_group', 'link', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user', 'google_map', 'date_picker', 'date_time_picker', 'time_picker', 'color_picker' ], - match: function( rule, field ){ - return (field.val() ? true : false); - }, - choices: function( fieldObject ){ - return ''; - } - }); - - acf.registerConditionType( HasValue ); - - /** - * hasValue - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var HasNoValue = HasValue.extend({ - type: 'hasNoValue', - operator: '==empty', - label: __('Has no value'), - match: function( rule, field ){ - return !HasValue.prototype.match.apply(this, arguments); - } - }); - - acf.registerConditionType( HasNoValue ); - - - - /** - * EqualTo - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var EqualTo = acf.Condition.extend({ - type: 'equalTo', - operator: '==', - label: __('Value is equal to'), - fieldTypes: [ 'text', 'textarea', 'number', 'range', 'email', 'url', 'password' ], - match: function( rule, field ){ - if( acf.isNumeric(rule.value) ) { - return isEqualToNumber( rule.value, field.val() ); - } else { - return isEqualTo( rule.value, field.val() ); - } - }, - choices: function( fieldObject ){ - return ''; - } - }); - - acf.registerConditionType( EqualTo ); - - /** - * NotEqualTo - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var NotEqualTo = EqualTo.extend({ - type: 'notEqualTo', - operator: '!=', - label: __('Value is not equal to'), - match: function( rule, field ){ - return !EqualTo.prototype.match.apply(this, arguments); - } - }); - - acf.registerConditionType( NotEqualTo ); - - /** - * PatternMatch - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var PatternMatch = acf.Condition.extend({ - type: 'patternMatch', - operator: '==pattern', - label: __('Value matches pattern'), - fieldTypes: [ 'text', 'textarea', 'email', 'url', 'password', 'wysiwyg' ], - match: function( rule, field ){ - return matchesPattern( field.val(), rule.value ); - }, - choices: function( fieldObject ){ - return ''; - } - }); - - acf.registerConditionType( PatternMatch ); - - /** - * Contains - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var Contains = acf.Condition.extend({ - type: 'contains', - operator: '==contains', - label: __('Value contains'), - fieldTypes: [ 'text', 'textarea', 'number', 'email', 'url', 'password', 'wysiwyg', 'oembed', 'select' ], - match: function( rule, field ){ - return containsString( field.val(), rule.value ); - }, - choices: function( fieldObject ){ - return ''; - } - }); - - acf.registerConditionType( Contains ); - - /** - * TrueFalseEqualTo - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var TrueFalseEqualTo = EqualTo.extend({ - type: 'trueFalseEqualTo', - choiceType: 'select', - fieldTypes: [ 'true_false' ], - choices: function( field ){ - return [ - { - id: 1, - text: __('Checked') - } - ]; - }, - }); - - acf.registerConditionType( TrueFalseEqualTo ); - - /** - * TrueFalseNotEqualTo - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var TrueFalseNotEqualTo = NotEqualTo.extend({ - type: 'trueFalseNotEqualTo', - choiceType: 'select', - fieldTypes: [ 'true_false' ], - choices: function( field ){ - return [ - { - id: 1, - text: __('Checked') - } - ]; - }, - }); - - acf.registerConditionType( TrueFalseNotEqualTo ); - - /** - * SelectEqualTo - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var SelectEqualTo = acf.Condition.extend({ - type: 'selectEqualTo', - operator: '==', - label: __('Value is equal to'), - fieldTypes: [ 'select', 'checkbox', 'radio', 'button_group' ], - match: function( rule, field ){ - var val = field.val(); - if( val instanceof Array ) { - return inArray( rule.value, val ); - } else { - return isEqualTo( rule.value, val ); - } - }, - choices: function( fieldObject ){ - - // vars - var choices = []; - var lines = fieldObject.$setting('choices textarea').val().split("\n"); - - // allow null - if( fieldObject.$input('allow_null').prop('checked') ) { - choices.push({ - id: '', - text: __('Null') - }); - } - - // loop - lines.map(function( line ){ - - // split - line = line.split(':'); - - // default label to value - line[1] = line[1] || line[0]; - - // append - choices.push({ - id: line[0].trim(), - text: line[1].trim() - }); - }); - - // return - return choices; - }, - }); - - acf.registerConditionType( SelectEqualTo ); - - /** - * SelectNotEqualTo - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var SelectNotEqualTo = SelectEqualTo.extend({ - type: 'selectNotEqualTo', - operator: '!=', - label: __('Value is not equal to'), - match: function( rule, field ){ - return !SelectEqualTo.prototype.match.apply(this, arguments); - } - }); - - acf.registerConditionType( SelectNotEqualTo ); - - /** - * GreaterThan - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var GreaterThan = acf.Condition.extend({ - type: 'greaterThan', - operator: '>', - label: __('Value is greater than'), - fieldTypes: [ 'number', 'range' ], - match: function( rule, field ){ - var val = field.val(); - if( val instanceof Array ) { - val = val.length; - } - return isGreaterThan( val, rule.value ); - }, - choices: function( fieldObject ){ - return ''; - } - }); - - acf.registerConditionType( GreaterThan ); - - - /** - * LessThan - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var LessThan = GreaterThan.extend({ - type: 'lessThan', - operator: '<', - label: __('Value is less than'), - match: function( rule, field ){ - var val = field.val(); - if( val instanceof Array ) { - val = val.length; - } - return isLessThan( val, rule.value ); - }, - choices: function( fieldObject ){ - return ''; - } - }); - - acf.registerConditionType( LessThan ); - - /** - * SelectedGreaterThan - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var SelectionGreaterThan = GreaterThan.extend({ - type: 'selectionGreaterThan', - label: __('Selection is greater than'), - fieldTypes: [ 'checkbox', 'select', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user' ], - }); - - acf.registerConditionType( SelectionGreaterThan ); - - /** - * SelectedGreaterThan - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - - var SelectionLessThan = LessThan.extend({ - type: 'selectionLessThan', - label: __('Selection is less than'), - fieldTypes: [ 'checkbox', 'select', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user' ], - }); - - acf.registerConditionType( SelectionLessThan ); - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field.js": +/*!********************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field.js ***! + \********************************************************************/ +/***/ (function() { + +(function ($, undefined) { + // vars + var storage = []; + /** + * acf.Field + * + * description + * + * @date 23/3/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.Field = acf.Model.extend({ + // field type + type: '', + // class used to avoid nested event triggers + eventScope: '.acf-field', + // initialize events on 'ready' + wait: 'ready', + + /** + * setup + * + * Called during the constructor function to setup this field ready for initialization + * + * @date 8/5/18 + * @since 5.6.9 + * + * @param jQuery $field The field element. + * @return void + */ + setup: function ($field) { + // set $el + this.$el = $field; // inherit $field data + + this.inherit($field); // inherit controll data + + this.inherit(this.$control()); + }, + + /** + * val + * + * Sets or returns the field's value + * + * @date 8/5/18 + * @since 5.6.9 + * + * @param mixed val Optional. The value to set + * @return mixed + */ + val: function (val) { + // Set. + if (val !== undefined) { + return this.setValue(val); // Get. + } else { + return this.prop('disabled') ? null : this.getValue(); + } + }, + + /** + * getValue + * + * returns the field's value + * + * @date 8/5/18 + * @since 5.6.9 + * + * @param void + * @return mixed + */ + getValue: function () { + return this.$input().val(); + }, + + /** + * setValue + * + * sets the field's value and returns true if changed + * + * @date 8/5/18 + * @since 5.6.9 + * + * @param mixed val + * @return boolean. True if changed. + */ + setValue: function (val) { + return acf.val(this.$input(), val); + }, + + /** + * __ + * + * i18n helper to be removed + * + * @date 8/5/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + __: function (string) { + return acf._e(this.type, string); + }, + + /** + * $control + * + * returns the control jQuery element used for inheriting data. Uses this.control setting. + * + * @date 8/5/18 + * @since 5.6.9 + * + * @param void + * @return jQuery + */ + $control: function () { + return false; + }, + + /** + * $input + * + * returns the input jQuery element used for saving values. Uses this.input setting. + * + * @date 8/5/18 + * @since 5.6.9 + * + * @param void + * @return jQuery + */ + $input: function () { + return this.$('[name]:first'); + }, + + /** + * $inputWrap + * + * description + * + * @date 12/5/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + $inputWrap: function () { + return this.$('.acf-input:first'); + }, + + /** + * $inputWrap + * + * description + * + * @date 12/5/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + $labelWrap: function () { + return this.$('.acf-label:first'); + }, + + /** + * getInputName + * + * Returns the field's input name + * + * @date 8/5/18 + * @since 5.6.9 + * + * @param void + * @return string + */ + getInputName: function () { + return this.$input().attr('name') || ''; + }, + + /** + * parent + * + * returns the field's parent field or false on failure. + * + * @date 8/5/18 + * @since 5.6.9 + * + * @param void + * @return object|false + */ + parent: function () { + // vars + var parents = this.parents(); // return + + return parents.length ? parents[0] : false; + }, + + /** + * parents + * + * description + * + * @date 9/7/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + parents: function () { + // vars + var $parents = this.$el.parents('.acf-field'); // convert + + var parents = acf.getFields($parents); // return + + return parents; + }, + show: function (lockKey, context) { + // show field and store result + var changed = acf.show(this.$el, lockKey); // do action if visibility has changed + + if (changed) { + this.prop('hidden', false); + acf.doAction('show_field', this, context); + } // return + + + return changed; + }, + hide: function (lockKey, context) { + // hide field and store result + var changed = acf.hide(this.$el, lockKey); // do action if visibility has changed + + if (changed) { + this.prop('hidden', true); + acf.doAction('hide_field', this, context); + } // return + + + return changed; + }, + enable: function (lockKey, context) { + // enable field and store result + var changed = acf.enable(this.$el, lockKey); // do action if disabled has changed + + if (changed) { + this.prop('disabled', false); + acf.doAction('enable_field', this, context); + } // return + + + return changed; + }, + disable: function (lockKey, context) { + // disabled field and store result + var changed = acf.disable(this.$el, lockKey); // do action if disabled has changed + + if (changed) { + this.prop('disabled', true); + acf.doAction('disable_field', this, context); + } // return + + + return changed; + }, + showEnable: function (lockKey, context) { + // enable + this.enable.apply(this, arguments); // show and return true if changed + + return this.show.apply(this, arguments); + }, + hideDisable: function (lockKey, context) { + // disable + this.disable.apply(this, arguments); // hide and return true if changed + + return this.hide.apply(this, arguments); + }, + showNotice: function (props) { + // ensure object + if (typeof props !== 'object') { + props = { + text: props + }; + } // remove old notice + + + if (this.notice) { + this.notice.remove(); + } // create new notice + + + props.target = this.$inputWrap(); + this.notice = acf.newNotice(props); + }, + removeNotice: function (timeout) { + if (this.notice) { + this.notice.away(timeout || 0); + this.notice = false; + } + }, + showError: function (message) { + // add class + this.$el.addClass('acf-error'); // add message + + if (message !== undefined) { + this.showNotice({ + text: message, + type: 'error', + dismiss: false + }); + } // action + + + acf.doAction('invalid_field', this); // add event + + this.$el.one('focus change', 'input, select, textarea', $.proxy(this.removeError, this)); + }, + removeError: function () { + // remove class + this.$el.removeClass('acf-error'); // remove notice + + this.removeNotice(250); // action + + acf.doAction('valid_field', this); + }, + trigger: function (name, args, bubbles) { + // allow some events to bubble + if (name == 'invalidField') { + bubbles = true; + } // return + + + return acf.Model.prototype.trigger.apply(this, [name, args, bubbles]); + } + }); + /** + * newField + * + * description + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.newField = function ($field) { + // vars + var type = $field.data('type'); + var mid = modelId(type); + var model = acf.models[mid] || acf.Field; // instantiate + + var field = new model($field); // actions + + acf.doAction('new_field', field); // return + + return field; + }; + /** + * mid + * + * Calculates the model ID for a field type + * + * @date 15/12/17 + * @since 5.6.5 + * + * @param string type + * @return string + */ + + + var modelId = function (type) { + return acf.strPascalCase(type || '') + 'Field'; + }; + /** + * registerFieldType + * + * description + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + acf.registerFieldType = function (model) { + // vars + var proto = model.prototype; + var type = proto.type; + var mid = modelId(type); // store model + + acf.models[mid] = model; // store reference + + storage.push(type); + }; + /** + * acf.getFieldType + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + acf.getFieldType = function (type) { + var mid = modelId(type); + return acf.models[mid] || false; + }; + /** + * acf.getFieldTypes + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + acf.getFieldTypes = function (args) { + // defaults + args = acf.parseArgs(args, { + category: '' // hasValue: true + + }); // clonse available types + + var types = []; // loop + + storage.map(function (type) { + // vars + var model = acf.getFieldType(type); + var proto = model.prototype; // check operator + + if (args.category && proto.category !== args.category) { + return; + } // append + + + types.push(model); + }); // return + + return types; + }; })(jQuery); -(function($, undefined){ - - acf.unload = new acf.Model({ - - wait: 'load', - active: true, - changed: false, - - actions: { - 'validation_failure': 'startListening', - 'validation_success': 'stopListening' - }, - - events: { - 'change form .acf-field': 'startListening', - 'submit form': 'stopListening' - }, - - enable: function(){ - this.active = true; - }, - - disable: function(){ - this.active = false; - }, - - reset: function(){ - this.stopListening(); - }, - - startListening: function(){ - - // bail ealry if already changed, not active - if( this.changed || !this.active ) { - return; - } - - // update - this.changed = true; - - // add event - $(window).on('beforeunload', this.onUnload); - - }, - - stopListening: function(){ - - // update - this.changed = false; - - // remove event - $(window).off('beforeunload', this.onUnload); - - }, - - onUnload: function(){ - return acf.__('The changes you made will be lost if you navigate away from this page'); - } - - }); - + +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-fields.js": +/*!*********************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-fields.js ***! + \*********************************************************************/ +/***/ (function() { + +(function ($, undefined) { + /** + * findFields + * + * Returns a jQuery selection object of acf fields. + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param object $args { + * Optional. Arguments to find fields. + * + * @type string key The field's key (data-attribute). + * @type string name The field's name (data-attribute). + * @type string type The field's type (data-attribute). + * @type string is jQuery selector to compare against. + * @type jQuery parent jQuery element to search within. + * @type jQuery sibling jQuery element to search alongside. + * @type limit int The number of fields to find. + * @type suppressFilters bool Whether to allow filters to add/remove results. Default behaviour will ignore clone fields. + * } + * @return jQuery + */ + acf.findFields = function (args) { + // vars + var selector = '.acf-field'; + var $fields = false; // args + + args = acf.parseArgs(args, { + key: '', + name: '', + type: '', + is: '', + parent: false, + sibling: false, + limit: false, + visible: false, + suppressFilters: false + }); // filter args + + if (!args.suppressFilters) { + args = acf.applyFilters('find_fields_args', args); + } // key + + + if (args.key) { + selector += '[data-key="' + args.key + '"]'; + } // type + + + if (args.type) { + selector += '[data-type="' + args.type + '"]'; + } // name + + + if (args.name) { + selector += '[data-name="' + args.name + '"]'; + } // is + + + if (args.is) { + selector += args.is; + } // visibility + + + if (args.visible) { + selector += ':visible'; + } // query + + + if (args.parent) { + $fields = args.parent.find(selector); + } else if (args.sibling) { + $fields = args.sibling.siblings(selector); + } else { + $fields = $(selector); + } // filter + + + if (!args.suppressFilters) { + $fields = $fields.not('.acf-clone .acf-field'); + $fields = acf.applyFilters('find_fields', $fields); + } // limit + + + if (args.limit) { + $fields = $fields.slice(0, args.limit); + } // return + + + return $fields; + }; + /** + * findField + * + * Finds a specific field with jQuery + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param string key The field's key. + * @param jQuery $parent jQuery element to search within. + * @return jQuery + */ + + + acf.findField = function (key, $parent) { + return acf.findFields({ + key: key, + limit: 1, + parent: $parent, + suppressFilters: true + }); + }; + /** + * getField + * + * Returns a field instance + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param jQuery|string $field jQuery element or field key. + * @return object + */ + + + acf.getField = function ($field) { + // allow jQuery + if ($field instanceof jQuery) {// find fields + } else { + $field = acf.findField($field); + } // instantiate + + + var field = $field.data('acf'); + + if (!field) { + field = acf.newField($field); + } // return + + + return field; + }; + /** + * getFields + * + * Returns multiple field instances + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param jQuery|object $fields jQuery elements or query args. + * @return array + */ + + + acf.getFields = function ($fields) { + // allow jQuery + if ($fields instanceof jQuery) {// find fields + } else { + $fields = acf.findFields($fields); + } // loop + + + var fields = []; + $fields.each(function () { + var field = acf.getField($(this)); + fields.push(field); + }); // return + + return fields; + }; + /** + * findClosestField + * + * Returns the closest jQuery field element + * + * @date 9/4/18 + * @since 5.6.9 + * + * @param jQuery $el + * @return jQuery + */ + + + acf.findClosestField = function ($el) { + return $el.closest('.acf-field'); + }; + /** + * getClosestField + * + * Returns the closest field instance + * + * @date 22/1/18 + * @since 5.6.5 + * + * @param jQuery $el + * @return object + */ + + + acf.getClosestField = function ($el) { + var $field = acf.findClosestField($el); + return this.getField($field); + }; + /** + * addGlobalFieldAction + * + * Sets up callback logic for global field actions + * + * @date 15/6/18 + * @since 5.6.9 + * + * @param string action + * @return void + */ + + + var addGlobalFieldAction = function (action) { + // vars + var globalAction = action; + var pluralAction = action + '_fields'; // ready_fields + + var singleAction = action + '_field'; // ready_field + // global action + + var globalCallback = function ($el + /*, arg1, arg2, etc*/ + ) { + //console.log( action, arguments ); + // get args [$el, ...] + var args = acf.arrayArgs(arguments); + var extraArgs = args.slice(1); // find fields + + var fields = acf.getFields({ + parent: $el + }); // check + + if (fields.length) { + // pluralAction + var pluralArgs = [pluralAction, fields].concat(extraArgs); + acf.doAction.apply(null, pluralArgs); + } + }; // plural action + + + var pluralCallback = function (fields + /*, arg1, arg2, etc*/ + ) { + //console.log( pluralAction, arguments ); + // get args [fields, ...] + var args = acf.arrayArgs(arguments); + var extraArgs = args.slice(1); // loop + + fields.map(function (field, i) { + //setTimeout(function(){ + // singleAction + var singleArgs = [singleAction, field].concat(extraArgs); + acf.doAction.apply(null, singleArgs); //}, i * 100); + }); + }; // add actions + + + acf.addAction(globalAction, globalCallback); + acf.addAction(pluralAction, pluralCallback); // also add single action + + addSingleFieldAction(action); + }; + /** + * addSingleFieldAction + * + * Sets up callback logic for single field actions + * + * @date 15/6/18 + * @since 5.6.9 + * + * @param string action + * @return void + */ + + + var addSingleFieldAction = function (action) { + // vars + var singleAction = action + '_field'; // ready_field + + var singleEvent = action + 'Field'; // readyField + // single action + + var singleCallback = function (field + /*, arg1, arg2, etc*/ + ) { + //console.log( singleAction, arguments ); + // get args [field, ...] + var args = acf.arrayArgs(arguments); + var extraArgs = args.slice(1); // action variations (ready_field/type=image) + + var variations = ['type', 'name', 'key']; + variations.map(function (variation) { + // vars + var prefix = '/' + variation + '=' + field.get(variation); // singleAction + + args = [singleAction + prefix, field].concat(extraArgs); + acf.doAction.apply(null, args); + }); // event + + if (singleFieldEvents.indexOf(action) > -1) { + field.trigger(singleEvent, extraArgs); + } + }; // add actions + + + acf.addAction(singleAction, singleCallback); + }; // vars + + + var globalFieldActions = ['prepare', 'ready', 'load', 'append', 'remove', 'unmount', 'remount', 'sortstart', 'sortstop', 'show', 'hide', 'unload']; + var singleFieldActions = ['valid', 'invalid', 'enable', 'disable', 'new', 'duplicate']; + var singleFieldEvents = ['remove', 'unmount', 'remount', 'sortstart', 'sortstop', 'show', 'hide', 'unload', 'valid', 'invalid', 'enable', 'disable', 'duplicate']; // add + + globalFieldActions.map(addGlobalFieldAction); + singleFieldActions.map(addSingleFieldAction); + /** + * fieldsEventManager + * + * Manages field actions and events + * + * @date 15/12/17 + * @since 5.6.5 + * + * @param void + * @param void + */ + + var fieldsEventManager = new acf.Model({ + id: 'fieldsEventManager', + events: { + 'click .acf-field a[href="#"]': 'onClick', + 'change .acf-field': 'onChange' + }, + onClick: function (e) { + // prevent default of any link with an href of # + e.preventDefault(); + }, + onChange: function () { + // preview hack allows post to save with no title or content + $('#_acf_changed').val(1); + } + }); + var duplicateFieldsManager = new acf.Model({ + id: 'duplicateFieldsManager', + actions: { + duplicate: 'onDuplicate', + duplicate_fields: 'onDuplicateFields' + }, + onDuplicate: function ($el, $el2) { + var fields = acf.getFields({ + parent: $el + }); + + if (fields.length) { + var $fields = acf.findFields({ + parent: $el2 + }); + acf.doAction('duplicate_fields', fields, $fields); + } + }, + onDuplicateFields: function (fields, duplicates) { + fields.map(function (field, i) { + acf.doAction('duplicate_field', field, $(duplicates[i])); + }); + } + }); })(jQuery); -(function($, undefined){ - - /** - * postboxManager - * - * Manages postboxes on the screen. - * - * @date 25/5/19 - * @since 5.8.1 - * - * @param void - * @return void - */ - var postboxManager = new acf.Model({ - wait: 'prepare', - priority: 1, - initialize: function(){ - (acf.get('postboxes') || []).map( acf.newPostbox ); - }, - }); - - /** - * acf.getPostbox - * - * Returns a postbox instance. - * - * @date 23/9/18 - * @since 5.7.7 - * - * @param mixed $el Either a jQuery element or the postbox id. - * @return object - */ - acf.getPostbox = function( $el ){ - - // allow string parameter - if( typeof arguments[0] == 'string' ) { - $el = $('#' + arguments[0]); - } - - // return instance - return acf.getInstance( $el ); - }; - - /** - * acf.getPostboxes - * - * Returns an array of postbox instances. - * - * @date 23/9/18 - * @since 5.7.7 - * - * @param void - * @return array - */ - acf.getPostboxes = function(){ - return acf.getInstances( $('.acf-postbox') ); - }; - - /** - * acf.newPostbox - * - * Returns a new postbox instance for the given props. - * - * @date 20/9/18 - * @since 5.7.6 - * - * @param object props The postbox properties. - * @return object - */ - acf.newPostbox = function( props ){ - return new acf.models.Postbox( props ); - }; - - /** - * acf.models.Postbox - * - * The postbox model. - * - * @date 20/9/18 - * @since 5.7.6 - * - * @param void - * @return void - */ - acf.models.Postbox = acf.Model.extend({ - - data: { - id: '', - key: '', - style: 'default', - label: 'top', - edit: '' - }, - - setup: function( props ){ - - // compatibilty - if( props.editLink ) { - props.edit = props.editLink; - } - - // extend data - $.extend(this.data, props); - - // set $el - this.$el = this.$postbox(); - }, - - $postbox: function(){ - return $('#' + this.get('id')); - }, - - $hide: function(){ - return $('#' + this.get('id') + '-hide'); - }, - - $hideLabel: function(){ - return this.$hide().parent(); - }, - - $hndle: function(){ - return this.$('> .hndle'); - }, - $handleActions: function(){ - return this.$('> .postbox-header .handle-actions'); - }, - - $inside: function(){ - return this.$('> .inside'); - }, - - isVisible: function(){ - return this.$el.hasClass('acf-hidden'); - }, - - initialize: function(){ - - // Add default class. - this.$el.addClass('acf-postbox'); - - // Remove 'hide-if-js class. - // This class is added by WP to postboxes that are hidden via the "Screen Options" tab. - this.$el.removeClass('hide-if-js'); - - // Add field group style class (ignore in block editor). - if( acf.get('editor') !== 'block' ) { - var style = this.get('style'); - if( style !== 'default' ) { - this.$el.addClass( style ); - } - } - - // Add .inside class. - this.$inside().addClass('acf-fields').addClass('-' + this.get('label')); - - // Append edit link. - var edit = this.get('edit'); - if( edit ) { - var html = ''; - var $handleActions = this.$handleActions(); - if( $handleActions.length ) { - $handleActions.prepend( html ); - } else { - this.$hndle().append( html ); - } - } - - // Show postbox. - this.show(); - }, - - show: function(){ - - // Show label. - this.$hideLabel().show(); - - // toggle on checkbox - this.$hide().prop('checked', true); - - // Show postbox - this.$el.show().removeClass('acf-hidden'); - - // Do action. - acf.doAction('show_postbox', this); - }, - - enable: function(){ - acf.enable( this.$el, 'postbox' ); - }, - - showEnable: function(){ - this.enable(); - this.show(); - }, - - hide: function(){ - - // Hide label. - this.$hideLabel().hide(); - - // Hide postbox - this.$el.hide().addClass('acf-hidden'); - - // Do action. - acf.doAction('hide_postbox', this); - }, - - disable: function(){ - acf.disable( this.$el, 'postbox' ); - }, - - hideDisable: function(){ - this.disable(); - this.hide(); - }, - - html: function( html ){ - - // Update HTML. - this.$inside().html( html ); - - // Do action. - acf.doAction('append', this.$el); - } - }); - +/***/ }), + +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-helpers.js": +/*!**********************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-helpers.js ***! + \**********************************************************************/ +/***/ (function() { + +(function ($, undefined) { + /** + * refreshHelper + * + * description + * + * @date 1/7/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + var refreshHelper = new acf.Model({ + priority: 90, + actions: { + new_field: 'refresh', + show_field: 'refresh', + hide_field: 'refresh', + remove_field: 'refresh', + unmount_field: 'refresh', + remount_field: 'refresh' + }, + refresh: function () { + acf.refresh(); + } + }); + /** + * mountHelper + * + * Adds compatiblity for the 'unmount' and 'remount' actions added in 5.8.0 + * + * @date 7/3/19 + * @since 5.7.14 + * + * @param void + * @return void + */ + + var mountHelper = new acf.Model({ + priority: 1, + actions: { + sortstart: 'onSortstart', + sortstop: 'onSortstop' + }, + onSortstart: function ($item) { + acf.doAction('unmount', $item); + }, + onSortstop: function ($item) { + acf.doAction('remount', $item); + } + }); + /** + * sortableHelper + * + * Adds compatibility for sorting a
            element + * + * @date 6/3/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + var sortableHelper = new acf.Model({ + actions: { + sortstart: 'onSortstart' + }, + onSortstart: function ($item, $placeholder) { + // if $item is a tr, apply some css to the elements + if ($item.is('tr')) { + // replace $placeholder children with a single td + // fixes "width calculation issues" due to conditional logic hiding some children + $placeholder.html(''); // add helper class to remove absolute positioning + + $item.addClass('acf-sortable-tr-helper'); // set fixed widths for children + + $item.children().each(function () { + $(this).width($(this).width()); + }); // mimic height + + $placeholder.height($item.height() + 'px'); // remove class + + $item.removeClass('acf-sortable-tr-helper'); + } + } + }); + /** + * duplicateHelper + * + * Fixes browser bugs when duplicating an element + * + * @date 6/3/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + var duplicateHelper = new acf.Model({ + actions: { + after_duplicate: 'onAfterDuplicate' + }, + onAfterDuplicate: function ($el, $el2) { + // get original values + var vals = []; + $el.find('select').each(function (i) { + vals.push($(this).val()); + }); // set duplicate values + + $el2.find('select').each(function (i) { + $(this).val(vals[i]); + }); + } + }); + /** + * tableHelper + * + * description + * + * @date 6/3/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var tableHelper = new acf.Model({ + id: 'tableHelper', + priority: 20, + actions: { + refresh: 'renderTables' + }, + renderTables: function ($el) { + // loop + var self = this; + $('.acf-table:visible').each(function () { + self.renderTable($(this)); + }); + }, + renderTable: function ($table) { + // vars + var $ths = $table.find('> thead > tr:visible > th[data-key]'); + var $tds = $table.find('> tbody > tr:visible > td[data-key]'); // bail early if no thead + + if (!$ths.length || !$tds.length) { + return false; + } // visiblity + + + $ths.each(function (i) { + // vars + var $th = $(this); + var key = $th.data('key'); + var $cells = $tds.filter('[data-key="' + key + '"]'); + var $hidden = $cells.filter('.acf-hidden'); // always remove empty and allow cells to be hidden + + $cells.removeClass('acf-empty'); // hide $th if all cells are hidden + + if ($cells.length === $hidden.length) { + acf.hide($th); // force all hidden cells to appear empty + } else { + acf.show($th); + $hidden.addClass('acf-empty'); + } + }); // clear width + + $ths.css('width', 'auto'); // get visible + + $ths = $ths.not('.acf-hidden'); // vars + + var availableWidth = 100; + var colspan = $ths.length; // set custom widths first + + var $fixedWidths = $ths.filter('[data-width]'); + $fixedWidths.each(function () { + var width = $(this).data('width'); + $(this).css('width', width + '%'); + availableWidth -= width; + }); // set auto widths + + var $auoWidths = $ths.not('[data-width]'); + + if ($auoWidths.length) { + var width = availableWidth / $auoWidths.length; + $auoWidths.css('width', width + '%'); + availableWidth = 0; + } // avoid stretching issue + + + if (availableWidth > 0) { + $ths.last().css('width', 'auto'); + } // update colspan on collapsed + + + $tds.filter('.-collapsed-target').each(function () { + // vars + var $td = $(this); // check if collapsed + + if ($td.parent().hasClass('-collapsed')) { + $td.attr('colspan', $ths.length); + } else { + $td.removeAttr('colspan'); + } + }); + } + }); + /** + * fieldsHelper + * + * description + * + * @date 6/3/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var fieldsHelper = new acf.Model({ + id: 'fieldsHelper', + priority: 30, + actions: { + refresh: 'renderGroups' + }, + renderGroups: function () { + // loop + var self = this; + $('.acf-fields:visible').each(function () { + self.renderGroup($(this)); + }); + }, + renderGroup: function ($el) { + // vars + var top = 0; + var height = 0; + var $row = $(); // get fields + + var $fields = $el.children('.acf-field[data-width]:visible'); // bail early if no fields + + if (!$fields.length) { + return false; + } // bail ealry if is .-left + + + if ($el.hasClass('-left')) { + $fields.removeAttr('data-width'); + $fields.css('width', 'auto'); + return false; + } // reset fields + + + $fields.removeClass('-r0 -c0').css({ + 'min-height': 0 + }); // loop + + $fields.each(function (i) { + // vars + var $field = $(this); + var position = $field.position(); + var thisTop = Math.ceil(position.top); + var thisLeft = Math.ceil(position.left); // detect change in row + + if ($row.length && thisTop > top) { + // set previous heights + $row.css({ + 'min-height': height + 'px' + }); // update position due to change in row above + + position = $field.position(); + thisTop = Math.ceil(position.top); + thisLeft = Math.ceil(position.left); // reset vars + + top = 0; + height = 0; + $row = $(); + } // rtl + + + if (acf.get('rtl')) { + thisLeft = Math.ceil($field.parent().width() - (position.left + $field.outerWidth())); + } // add classes + + + if (thisTop == 0) { + $field.addClass('-r0'); + } else if (thisLeft == 0) { + $field.addClass('-c0'); + } // get height after class change + // - add 1 for subpixel rendering + + + var thisHeight = Math.ceil($field.outerHeight()) + 1; // set height + + height = Math.max(height, thisHeight); // set y + + top = Math.max(top, thisTop); // append + + $row = $row.add($field); + }); // clean up + + if ($row.length) { + $row.css({ + 'min-height': height + 'px' + }); + } + } + }); + /** + * Adds a body class when holding down the "shift" key. + * + * @date 06/05/2020 + * @since 5.9.0 + */ + + var bodyClassShiftHelper = new acf.Model({ + id: 'bodyClassShiftHelper', + events: { + keydown: 'onKeyDown', + keyup: 'onKeyUp' + }, + isShiftKey: function (e) { + return e.keyCode === 16; + }, + onKeyDown: function (e) { + if (this.isShiftKey(e)) { + $('body').addClass('acf-keydown-shift'); + } + }, + onKeyUp: function (e) { + if (this.isShiftKey(e)) { + $('body').removeClass('acf-keydown-shift'); + } + } + }); })(jQuery); -(function($, undefined){ - - /** - * acf.newMediaPopup - * - * description - * - * @date 10/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.newMediaPopup = function( args ){ - - // args - var popup = null; - var args = acf.parseArgs(args, { - mode: 'select', // 'select', 'edit' - title: '', // 'Upload Image' - button: '', // 'Select Image' - type: '', // 'image', '' - field: false, // field instance - allowedTypes: '', // '.jpg, .png, etc' - library: 'all', // 'all', 'uploadedTo' - multiple: false, // false, true, 'add' - attachment: 0, // the attachment to edit - autoOpen: true, // open the popup automatically - open: function(){}, // callback after close - select: function(){}, // callback after select - close: function(){} // callback after close - }); - - // initialize - if( args.mode == 'edit' ) { - popup = new acf.models.EditMediaPopup( args ); - } else { - popup = new acf.models.SelectMediaPopup( args ); - } - - // open popup (allow frame customization before opening) - if( args.autoOpen ) { - setTimeout(function(){ - popup.open(); - }, 1); - } - - // action - acf.doAction('new_media_popup', popup); - - // return - return popup; - }; - - - /** - * getPostID - * - * description - * - * @date 10/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var getPostID = function() { - var postID = acf.get('post_id'); - return acf.isNumeric(postID) ? postID : 0; - } - - - /** - * acf.getMimeTypes - * - * description - * - * @date 11/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getMimeTypes = function(){ - return this.get('mimeTypes'); - }; - - acf.getMimeType = function( name ){ - - // vars - var allTypes = acf.getMimeTypes(); - - // search - if( allTypes[name] !== undefined ) { - return allTypes[name]; - } - - // some types contain a mixed key such as "jpg|jpeg|jpe" - for( var key in allTypes ) { - if( key.indexOf(name) !== -1 ) { - return allTypes[key]; - } - } - - // return - return false; - }; - - - /** - * MediaPopup - * - * description - * - * @date 10/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var MediaPopup = acf.Model.extend({ - - id: 'MediaPopup', - data: {}, - defaults: {}, - frame: false, - - setup: function( props ){ - $.extend(this.data, props); - }, - - initialize: function(){ - - // vars - var options = this.getFrameOptions(); - - // add states - this.addFrameStates( options ); - - // create frame - var frame = wp.media( options ); - - // add args reference - frame.acf = this; - - // add events - this.addFrameEvents( frame, options ); - - // strore frame - this.frame = frame; - }, - - open: function(){ - this.frame.open(); - }, - - close: function(){ - this.frame.close(); - }, - - remove: function(){ - this.frame.detach(); - this.frame.remove(); - }, - - getFrameOptions: function(){ - - // vars - var options = { - title: this.get('title'), - multiple: this.get('multiple'), - library: {}, - states: [] - }; - - // type - if( this.get('type') ) { - options.library.type = this.get('type'); - } - - // type - if( this.get('library') === 'uploadedTo' ) { - options.library.uploadedTo = getPostID(); - } - - // attachment - if( this.get('attachment') ) { - options.library.post__in = [ this.get('attachment') ]; - } - - // button - if( this.get('button') ) { - options.button = { - text: this.get('button') - }; - } - - // return - return options; - }, - - addFrameStates: function( options ){ - - // create query - var Query = wp.media.query( options.library ); - - // add _acfuploader - // this is super wack! - // if you add _acfuploader to the options.library args, new uploads will not be added to the library view. - // this has been traced back to the wp.media.model.Query initialize function (which can't be overriden) - // Adding any custom args will cause the Attahcments to not observe the uploader queue - // To bypass this security issue, we add in the args AFTER the Query has been initialized - // options.library._acfuploader = settings.field; - if( this.get('field') && acf.isset(Query, 'mirroring', 'args') ) { - Query.mirroring.args._acfuploader = this.get('field'); - } - - // add states - options.states.push( - - // main state - new wp.media.controller.Library({ - library: Query, - multiple: this.get('multiple'), - title: this.get('title'), - priority: 20, - filterable: 'all', - editable: true, - allowLocalEdits: true - }) - - ); - - // edit image functionality (added in WP 3.9) - if( acf.isset(wp, 'media', 'controller', 'EditImage') ) { - options.states.push( new wp.media.controller.EditImage() ); - } - }, - - addFrameEvents: function( frame, options ){ - - // log all events - //frame.on('all', function( e ) { - // console.log( 'frame all: %o', e ); - //}); - - // add class - frame.on('open',function() { - this.$el.closest('.media-modal').addClass('acf-media-modal -' + this.acf.get('mode') ); - }, frame); - - // edit image view - // source: media-views.js:2410 editImageContent() - frame.on('content:render:edit-image', function(){ - - var image = this.state().get('image'); - var view = new wp.media.view.EditImage({ model: image, controller: this }).render(); - this.content.set( view ); - - // after creating the wrapper view, load the actual editor via an ajax call - view.loadEditor(); - - }, frame); - - // update toolbar button - //frame.on( 'toolbar:create:select', function( toolbar ) { - // toolbar.view = new wp.media.view.Toolbar.Select({ - // text: frame.options._button, - // controller: this - // }); - //}, frame ); - // on select - frame.on('select', function() { - - // vars - var selection = frame.state().get('selection'); - - // if selecting images - if( selection ) { - - // loop - selection.each(function( attachment, i ){ - frame.acf.get('select').apply( frame.acf, [attachment, i] ); - }); - } - }); - - // on close - frame.on('close',function(){ - - // callback and remove - setTimeout(function(){ - frame.acf.get('close').apply( frame.acf ); - frame.acf.remove(); - }, 1); - }); - } - }); - - - /** - * acf.models.SelectMediaPopup - * - * description - * - * @date 10/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.models.SelectMediaPopup = MediaPopup.extend({ - id: 'SelectMediaPopup', - setup: function( props ){ - - // default button - if( !props.button ) { - props.button = acf._x('Select', 'verb'); - } - - // parent - MediaPopup.prototype.setup.apply(this, arguments); - }, - - addFrameEvents: function( frame, options ){ - - // plupload - // adds _acfuploader param to validate uploads - if( acf.isset(_wpPluploadSettings, 'defaults', 'multipart_params') ) { - - // add _acfuploader so that Uploader will inherit - _wpPluploadSettings.defaults.multipart_params._acfuploader = this.get('field'); - - // remove acf_field so future Uploaders won't inherit - frame.on('open', function(){ - delete _wpPluploadSettings.defaults.multipart_params._acfuploader; - }); - } - - // browse - frame.on('content:activate:browse', function(){ - - // vars - var toolbar = false; - - // populate above vars making sure to allow for failure - // perhaps toolbar does not exist because the frame open is Upload Files - try { - toolbar = frame.content.get().toolbar; - } catch(e) { - console.log(e); - return; - } - - // callback - frame.acf.customizeFilters.apply(frame.acf, [toolbar]); - }); - - // parent - MediaPopup.prototype.addFrameEvents.apply(this, arguments); - - }, - - customizeFilters: function( toolbar ){ - - // vars - var filters = toolbar.get('filters'); - - // image - if( this.get('type') == 'image' ) { - - // update all - filters.filters.all.text = acf.__('All images'); - - // remove some filters - delete filters.filters.audio; - delete filters.filters.video; - delete filters.filters.image; - - // update all filters to show images - $.each(filters.filters, function( i, filter ){ - filter.props.type = filter.props.type || 'image'; - }); - } - - // specific types - if( this.get('allowedTypes') ) { - - // convert ".jpg, .png" into ["jpg", "png"] - var allowedTypes = this.get('allowedTypes').split(' ').join('').split('.').join('').split(','); - - // loop - allowedTypes.map(function( name ){ - - // get type - var mimeType = acf.getMimeType( name ); - - // bail early if no type - if( !mimeType ) return; - - // create new filter - var newFilter = { - text: mimeType, - props: { - status: null, - type: mimeType, - uploadedTo: null, - orderby: 'date', - order: 'DESC' - }, - priority: 20 - }; - - // append - filters.filters[ mimeType ] = newFilter; - - }); - } - - - - // uploaded to post - if( this.get('library') === 'uploadedTo' ) { - - // vars - var uploadedTo = this.frame.options.library.uploadedTo; - - // remove some filters - delete filters.filters.unattached; - delete filters.filters.uploaded; - - // add uploadedTo to filters - $.each(filters.filters, function( i, filter ){ - filter.text += ' (' + acf.__('Uploaded to this post') + ')'; - filter.props.uploadedTo = uploadedTo; - }); - } - - // add _acfuploader to filters - var field = this.get('field'); - $.each(filters.filters, function( k, filter ){ - filter.props._acfuploader = field; - }); - - // add _acfuplaoder to search - var search = toolbar.get('search'); - search.model.attributes._acfuploader = field; - - // render (custom function added to prototype) - if( filters.renderFilters ) { - filters.renderFilters(); - } - } - }); - - - /** - * acf.models.EditMediaPopup - * - * description - * - * @date 10/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.models.EditMediaPopup = MediaPopup.extend({ - id: 'SelectMediaPopup', - setup: function( props ){ - - // default button - if( !props.button ) { - props.button = acf._x('Update', 'verb'); - } - - // parent - MediaPopup.prototype.setup.apply(this, arguments); - }, - - addFrameEvents: function( frame, options ){ - - // add class - frame.on('open',function() { - - // add class - this.$el.closest('.media-modal').addClass('acf-expanded'); - - // set to browse - if( this.content.mode() != 'browse' ) { - this.content.mode('browse'); - } - - // set selection - var state = this.state(); - var selection = state.get('selection'); - var attachment = wp.media.attachment( frame.acf.get('attachment') ); - selection.add( attachment ); - - }, frame); - - // parent - MediaPopup.prototype.addFrameEvents.apply(this, arguments); - - } - }); - - - /** - * customizePrototypes - * - * description - * - * @date 11/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var customizePrototypes = new acf.Model({ - id: 'customizePrototypes', - wait: 'ready', - - initialize: function(){ - - // bail early if no media views - if( !acf.isset(window, 'wp', 'media', 'view') ) { - return; - } - - // fix bug where CPT without "editor" does not set post.id setting which then prevents uploadedTo from working - var postID = getPostID(); - if( postID && acf.isset(wp, 'media', 'view', 'settings', 'post') ) { - wp.media.view.settings.post.id = postID; - } - - // customize - this.customizeAttachmentsButton(); - this.customizeAttachmentsRouter(); - this.customizeAttachmentFilters(); - this.customizeAttachmentCompat(); - this.customizeAttachmentLibrary(); - }, - - customizeAttachmentsButton: function(){ - - // validate - if( !acf.isset(wp, 'media', 'view', 'Button') ) { - return; - } - - // Extend - var Button = wp.media.view.Button; - wp.media.view.Button = Button.extend({ - - // Fix bug where "Select" button appears blank after editing an image. - // Do this by simplifying Button initialize function and avoid deleting this.options. - initialize: function() { - var options = _.defaults( this.options, this.defaults ); - this.model = new Backbone.Model( options ); - this.listenTo( this.model, 'change', this.render ); - } - }); - - }, - - customizeAttachmentsRouter: function(){ - - // validate - if( !acf.isset(wp, 'media', 'view', 'Router') ) { - return; - } - - // vars - var Parent = wp.media.view.Router; - - // extend - wp.media.view.Router = Parent.extend({ - - addExpand: function(){ - - // vars - var $a = $([ - '', - '' + acf.__('Expand Details') + '', - '' + acf.__('Collapse Details') + '', - '' - ].join('')); - - // add events - $a.on('click', function( e ){ - e.preventDefault(); - var $div = $(this).closest('.media-modal'); - if( $div.hasClass('acf-expanded') ) { - $div.removeClass('acf-expanded'); - } else { - $div.addClass('acf-expanded'); - } - }); - - // append - this.$el.append( $a ); - }, - - initialize: function(){ - - // initialize - Parent.prototype.initialize.apply( this, arguments ); - - // add buttons - this.addExpand(); - - // return - return this; - } - }); - }, - - customizeAttachmentFilters: function(){ - - // validate - if( !acf.isset(wp, 'media', 'view', 'AttachmentFilters', 'All') ) { - return; - } - - // vars - var Parent = wp.media.view.AttachmentFilters.All; - - // renderFilters - // copied from media-views.js:6939 - Parent.prototype.renderFilters = function(){ - - // Build `' ).val( value ).html( filter.text )[0], - priority: filter.priority || 50 - }; - }, this ).sortBy('priority').pluck('el').value() ); - - }; - }, - - customizeAttachmentCompat: function(){ - - // validate - if( !acf.isset(wp, 'media', 'view', 'AttachmentCompat') ) { - return; - } - - // vars - var AttachmentCompat = wp.media.view.AttachmentCompat; - var timeout = false; - - // extend - wp.media.view.AttachmentCompat = AttachmentCompat.extend({ - - render: function() { - - // WP bug - // When multiple media frames exist on the same page (WP content, WYSIWYG, image, file ), - // WP creates multiple instances of this AttachmentCompat view. - // Each instance will attempt to render when a new modal is created. - // Use a property to avoid this and only render once per instance. - if( this.rendered ) { - return this; - } - - // render HTML - AttachmentCompat.prototype.render.apply( this, arguments ); - - // when uploading, render is called twice. - // ignore first render by checking for #acf-form-data element - if( !this.$('#acf-form-data').length ) { - return this; - } - - // clear timeout - clearTimeout( timeout ); - - // setTimeout - timeout = setTimeout($.proxy(function(){ - this.rendered = true; - acf.doAction('append', this.$el); - }, this), 50); - - // return - return this; - }, - - save: function( event ) { - var data = {}; - - if ( event ) { - event.preventDefault(); - } - - //_.each( this.$el.serializeArray(), function( pair ) { - // data[ pair.name ] = pair.value; - //}); - - // Serialize data more thoroughly to allow chckbox inputs to save. - data = acf.serializeForAjax(this.$el); - - this.controller.trigger( 'attachment:compat:waiting', ['waiting'] ); - this.model.saveCompat( data ).always( _.bind( this.postSave, this ) ); - } - }); +/***/ }), - }, - - customizeAttachmentLibrary: function(){ - - // validate - if( !acf.isset(wp, 'media', 'view', 'Attachment', 'Library') ) { - return; - } - - // vars - var AttachmentLibrary = wp.media.view.Attachment.Library; - - // extend - wp.media.view.Attachment.Library = AttachmentLibrary.extend({ - - render: function() { - - // vars - var popup = acf.isget(this, 'controller', 'acf'); - var attributes = acf.isget(this, 'model', 'attributes'); - - // check vars exist to avoid errors - if( popup && attributes ) { - - // show errors - if( attributes.acf_errors ) { - this.$el.addClass('acf-disabled'); - } - - // disable selected - var selected = popup.get('selected'); - if( selected && selected.indexOf(attributes.id) > -1 ) { - this.$el.addClass('acf-selected'); - } - } - - // render - return AttachmentLibrary.prototype.render.apply( this, arguments ); - - }, - - - /* - * toggleSelection - * - * This function is called before an attachment is selected - * A good place to check for errors and prevent the 'select' function from being fired - * - * @type function - * @date 29/09/2016 - * @since 5.4.0 - * - * @param options (object) - * @return n/a - */ - - toggleSelection: function( options ) { - - // vars - // source: wp-includes/js/media-views.js:2880 - var collection = this.collection, - selection = this.options.selection, - model = this.model, - single = selection.single(); - - - // vars - var frame = this.controller; - var errors = acf.isget(this, 'model', 'attributes', 'acf_errors'); - var $sidebar = frame.$el.find('.media-frame-content .media-sidebar'); - - // remove previous error - $sidebar.children('.acf-selection-error').remove(); - - // show attachment details - $sidebar.children().removeClass('acf-hidden'); - - // add message - if( frame && errors ) { - - // vars - var filename = acf.isget(this, 'model', 'attributes', 'filename'); - - // hide attachment details - // Gallery field continues to show previously selected attachment... - $sidebar.children().addClass('acf-hidden'); - - // append message - $sidebar.prepend([ - '
            ', - '' + acf.__('Restricted') +'', - '' + filename + '', - '' + errors + '', - '
            ' - ].join('')); - - // reset selection (unselects all attachments) - selection.reset(); - - // set single (attachment displayed in sidebar) - selection.single( model ); - - // return and prevent 'select' form being fired - return; - - } - - // return - return AttachmentLibrary.prototype.toggleSelection.apply( this, arguments ); - } - }); - } - }); +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-media.js": +/*!********************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-media.js ***! + \********************************************************************/ +/***/ (function() { +(function ($, undefined) { + /** + * acf.newMediaPopup + * + * description + * + * @date 10/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + acf.newMediaPopup = function (args) { + // args + var popup = null; + var args = acf.parseArgs(args, { + mode: 'select', + // 'select', 'edit' + title: '', + // 'Upload Image' + button: '', + // 'Select Image' + type: '', + // 'image', '' + field: false, + // field instance + allowedTypes: '', + // '.jpg, .png, etc' + library: 'all', + // 'all', 'uploadedTo' + multiple: false, + // false, true, 'add' + attachment: 0, + // the attachment to edit + autoOpen: true, + // open the popup automatically + open: function () {}, + // callback after close + select: function () {}, + // callback after select + close: function () {} // callback after close + + }); // initialize + + if (args.mode == 'edit') { + popup = new acf.models.EditMediaPopup(args); + } else { + popup = new acf.models.SelectMediaPopup(args); + } // open popup (allow frame customization before opening) + + + if (args.autoOpen) { + setTimeout(function () { + popup.open(); + }, 1); + } // action + + + acf.doAction('new_media_popup', popup); // return + + return popup; + }; + /** + * getPostID + * + * description + * + * @date 10/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + var getPostID = function () { + var postID = acf.get('post_id'); + return acf.isNumeric(postID) ? postID : 0; + }; + /** + * acf.getMimeTypes + * + * description + * + * @date 11/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + acf.getMimeTypes = function () { + return this.get('mimeTypes'); + }; + + acf.getMimeType = function (name) { + // vars + var allTypes = acf.getMimeTypes(); // search + + if (allTypes[name] !== undefined) { + return allTypes[name]; + } // some types contain a mixed key such as "jpg|jpeg|jpe" + + + for (var key in allTypes) { + if (key.indexOf(name) !== -1) { + return allTypes[key]; + } + } // return + + + return false; + }; + /** + * MediaPopup + * + * description + * + * @date 10/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + var MediaPopup = acf.Model.extend({ + id: 'MediaPopup', + data: {}, + defaults: {}, + frame: false, + setup: function (props) { + $.extend(this.data, props); + }, + initialize: function () { + // vars + var options = this.getFrameOptions(); // add states + + this.addFrameStates(options); // create frame + + var frame = wp.media(options); // add args reference + + frame.acf = this; // add events + + this.addFrameEvents(frame, options); // strore frame + + this.frame = frame; + }, + open: function () { + this.frame.open(); + }, + close: function () { + this.frame.close(); + }, + remove: function () { + this.frame.detach(); + this.frame.remove(); + }, + getFrameOptions: function () { + // vars + var options = { + title: this.get('title'), + multiple: this.get('multiple'), + library: {}, + states: [] + }; // type + + if (this.get('type')) { + options.library.type = this.get('type'); + } // type + + + if (this.get('library') === 'uploadedTo') { + options.library.uploadedTo = getPostID(); + } // attachment + + + if (this.get('attachment')) { + options.library.post__in = [this.get('attachment')]; + } // button + + + if (this.get('button')) { + options.button = { + text: this.get('button') + }; + } // return + + + return options; + }, + addFrameStates: function (options) { + // create query + var Query = wp.media.query(options.library); // add _acfuploader + // this is super wack! + // if you add _acfuploader to the options.library args, new uploads will not be added to the library view. + // this has been traced back to the wp.media.model.Query initialize function (which can't be overriden) + // Adding any custom args will cause the Attahcments to not observe the uploader queue + // To bypass this security issue, we add in the args AFTER the Query has been initialized + // options.library._acfuploader = settings.field; + + if (this.get('field') && acf.isset(Query, 'mirroring', 'args')) { + Query.mirroring.args._acfuploader = this.get('field'); + } // add states + + + options.states.push( // main state + new wp.media.controller.Library({ + library: Query, + multiple: this.get('multiple'), + title: this.get('title'), + priority: 20, + filterable: 'all', + editable: true, + allowLocalEdits: true + })); // edit image functionality (added in WP 3.9) + + if (acf.isset(wp, 'media', 'controller', 'EditImage')) { + options.states.push(new wp.media.controller.EditImage()); + } + }, + addFrameEvents: function (frame, options) { + // log all events + //frame.on('all', function( e ) { + // console.log( 'frame all: %o', e ); + //}); + // add class + frame.on('open', function () { + this.$el.closest('.media-modal').addClass('acf-media-modal -' + this.acf.get('mode')); + }, frame); // edit image view + // source: media-views.js:2410 editImageContent() + + frame.on('content:render:edit-image', function () { + var image = this.state().get('image'); + var view = new wp.media.view.EditImage({ + model: image, + controller: this + }).render(); + this.content.set(view); // after creating the wrapper view, load the actual editor via an ajax call + + view.loadEditor(); + }, frame); // update toolbar button + //frame.on( 'toolbar:create:select', function( toolbar ) { + // toolbar.view = new wp.media.view.Toolbar.Select({ + // text: frame.options._button, + // controller: this + // }); + //}, frame ); + // on select + + frame.on('select', function () { + // vars + var selection = frame.state().get('selection'); // if selecting images + + if (selection) { + // loop + selection.each(function (attachment, i) { + frame.acf.get('select').apply(frame.acf, [attachment, i]); + }); + } + }); // on close + + frame.on('close', function () { + // callback and remove + setTimeout(function () { + frame.acf.get('close').apply(frame.acf); + frame.acf.remove(); + }, 1); + }); + } + }); + /** + * acf.models.SelectMediaPopup + * + * description + * + * @date 10/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.models.SelectMediaPopup = MediaPopup.extend({ + id: 'SelectMediaPopup', + setup: function (props) { + // default button + if (!props.button) { + props.button = acf._x('Select', 'verb'); + } // parent + + + MediaPopup.prototype.setup.apply(this, arguments); + }, + addFrameEvents: function (frame, options) { + // plupload + // adds _acfuploader param to validate uploads + if (acf.isset(_wpPluploadSettings, 'defaults', 'multipart_params')) { + // add _acfuploader so that Uploader will inherit + _wpPluploadSettings.defaults.multipart_params._acfuploader = this.get('field'); // remove acf_field so future Uploaders won't inherit + + frame.on('open', function () { + delete _wpPluploadSettings.defaults.multipart_params._acfuploader; + }); + } // browse + + + frame.on('content:activate:browse', function () { + // vars + var toolbar = false; // populate above vars making sure to allow for failure + // perhaps toolbar does not exist because the frame open is Upload Files + + try { + toolbar = frame.content.get().toolbar; + } catch (e) { + console.log(e); + return; + } // callback + + + frame.acf.customizeFilters.apply(frame.acf, [toolbar]); + }); // parent + + MediaPopup.prototype.addFrameEvents.apply(this, arguments); + }, + customizeFilters: function (toolbar) { + // vars + var filters = toolbar.get('filters'); // image + + if (this.get('type') == 'image') { + // update all + filters.filters.all.text = acf.__('All images'); // remove some filters + + delete filters.filters.audio; + delete filters.filters.video; + delete filters.filters.image; // update all filters to show images + + $.each(filters.filters, function (i, filter) { + filter.props.type = filter.props.type || 'image'; + }); + } // specific types + + + if (this.get('allowedTypes')) { + // convert ".jpg, .png" into ["jpg", "png"] + var allowedTypes = this.get('allowedTypes').split(' ').join('').split('.').join('').split(','); // loop + + allowedTypes.map(function (name) { + // get type + var mimeType = acf.getMimeType(name); // bail early if no type + + if (!mimeType) return; // create new filter + + var newFilter = { + text: mimeType, + props: { + status: null, + type: mimeType, + uploadedTo: null, + orderby: 'date', + order: 'DESC' + }, + priority: 20 + }; // append + + filters.filters[mimeType] = newFilter; + }); + } // uploaded to post + + + if (this.get('library') === 'uploadedTo') { + // vars + var uploadedTo = this.frame.options.library.uploadedTo; // remove some filters + + delete filters.filters.unattached; + delete filters.filters.uploaded; // add uploadedTo to filters + + $.each(filters.filters, function (i, filter) { + filter.text += ' (' + acf.__('Uploaded to this post') + ')'; + filter.props.uploadedTo = uploadedTo; + }); + } // add _acfuploader to filters + + + var field = this.get('field'); + $.each(filters.filters, function (k, filter) { + filter.props._acfuploader = field; + }); // add _acfuplaoder to search + + var search = toolbar.get('search'); + search.model.attributes._acfuploader = field; // render (custom function added to prototype) + + if (filters.renderFilters) { + filters.renderFilters(); + } + } + }); + /** + * acf.models.EditMediaPopup + * + * description + * + * @date 10/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.models.EditMediaPopup = MediaPopup.extend({ + id: 'SelectMediaPopup', + setup: function (props) { + // default button + if (!props.button) { + props.button = acf._x('Update', 'verb'); + } // parent + + + MediaPopup.prototype.setup.apply(this, arguments); + }, + addFrameEvents: function (frame, options) { + // add class + frame.on('open', function () { + // add class + this.$el.closest('.media-modal').addClass('acf-expanded'); // set to browse + + if (this.content.mode() != 'browse') { + this.content.mode('browse'); + } // set selection + + + var state = this.state(); + var selection = state.get('selection'); + var attachment = wp.media.attachment(frame.acf.get('attachment')); + selection.add(attachment); + }, frame); // parent + + MediaPopup.prototype.addFrameEvents.apply(this, arguments); + } + }); + /** + * customizePrototypes + * + * description + * + * @date 11/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var customizePrototypes = new acf.Model({ + id: 'customizePrototypes', + wait: 'ready', + initialize: function () { + // bail early if no media views + if (!acf.isset(window, 'wp', 'media', 'view')) { + return; + } // fix bug where CPT without "editor" does not set post.id setting which then prevents uploadedTo from working + + + var postID = getPostID(); + + if (postID && acf.isset(wp, 'media', 'view', 'settings', 'post')) { + wp.media.view.settings.post.id = postID; + } // customize + + + this.customizeAttachmentsButton(); + this.customizeAttachmentsRouter(); + this.customizeAttachmentFilters(); + this.customizeAttachmentCompat(); + this.customizeAttachmentLibrary(); + }, + customizeAttachmentsButton: function () { + // validate + if (!acf.isset(wp, 'media', 'view', 'Button')) { + return; + } // Extend + + + var Button = wp.media.view.Button; + wp.media.view.Button = Button.extend({ + // Fix bug where "Select" button appears blank after editing an image. + // Do this by simplifying Button initialize function and avoid deleting this.options. + initialize: function () { + var options = _.defaults(this.options, this.defaults); + + this.model = new Backbone.Model(options); + this.listenTo(this.model, 'change', this.render); + } + }); + }, + customizeAttachmentsRouter: function () { + // validate + if (!acf.isset(wp, 'media', 'view', 'Router')) { + return; + } // vars + + + var Parent = wp.media.view.Router; // extend + + wp.media.view.Router = Parent.extend({ + addExpand: function () { + // vars + var $a = $(['', '' + acf.__('Expand Details') + '', '' + acf.__('Collapse Details') + '', ''].join('')); // add events + + $a.on('click', function (e) { + e.preventDefault(); + var $div = $(this).closest('.media-modal'); + + if ($div.hasClass('acf-expanded')) { + $div.removeClass('acf-expanded'); + } else { + $div.addClass('acf-expanded'); + } + }); // append + + this.$el.append($a); + }, + initialize: function () { + // initialize + Parent.prototype.initialize.apply(this, arguments); // add buttons + + this.addExpand(); // return + + return this; + } + }); + }, + customizeAttachmentFilters: function () { + // validate + if (!acf.isset(wp, 'media', 'view', 'AttachmentFilters', 'All')) { + return; + } // vars + + + var Parent = wp.media.view.AttachmentFilters.All; // renderFilters + // copied from media-views.js:6939 + + Parent.prototype.renderFilters = function () { + // Build `').val(value).html(filter.text)[0], + priority: filter.priority || 50 + }; + }, this).sortBy('priority').pluck('el').value()); + }; + }, + customizeAttachmentCompat: function () { + // validate + if (!acf.isset(wp, 'media', 'view', 'AttachmentCompat')) { + return; + } // vars + + + var AttachmentCompat = wp.media.view.AttachmentCompat; + var timeout = false; // extend + + wp.media.view.AttachmentCompat = AttachmentCompat.extend({ + render: function () { + // WP bug + // When multiple media frames exist on the same page (WP content, WYSIWYG, image, file ), + // WP creates multiple instances of this AttachmentCompat view. + // Each instance will attempt to render when a new modal is created. + // Use a property to avoid this and only render once per instance. + if (this.rendered) { + return this; + } // render HTML + + + AttachmentCompat.prototype.render.apply(this, arguments); // when uploading, render is called twice. + // ignore first render by checking for #acf-form-data element + + if (!this.$('#acf-form-data').length) { + return this; + } // clear timeout + + + clearTimeout(timeout); // setTimeout + + timeout = setTimeout($.proxy(function () { + this.rendered = true; + acf.doAction('append', this.$el); + }, this), 50); // return + + return this; + }, + save: function (event) { + var data = {}; + + if (event) { + event.preventDefault(); + } //_.each( this.$el.serializeArray(), function( pair ) { + // data[ pair.name ] = pair.value; + //}); + // Serialize data more thoroughly to allow chckbox inputs to save. + + + data = acf.serializeForAjax(this.$el); + this.controller.trigger('attachment:compat:waiting', ['waiting']); + this.model.saveCompat(data).always(_.bind(this.postSave, this)); + } + }); + }, + customizeAttachmentLibrary: function () { + // validate + if (!acf.isset(wp, 'media', 'view', 'Attachment', 'Library')) { + return; + } // vars + + + var AttachmentLibrary = wp.media.view.Attachment.Library; // extend + + wp.media.view.Attachment.Library = AttachmentLibrary.extend({ + render: function () { + // vars + var popup = acf.isget(this, 'controller', 'acf'); + var attributes = acf.isget(this, 'model', 'attributes'); // check vars exist to avoid errors + + if (popup && attributes) { + // show errors + if (attributes.acf_errors) { + this.$el.addClass('acf-disabled'); + } // disable selected + + + var selected = popup.get('selected'); + + if (selected && selected.indexOf(attributes.id) > -1) { + this.$el.addClass('acf-selected'); + } + } // render + + + return AttachmentLibrary.prototype.render.apply(this, arguments); + }, + + /* + * toggleSelection + * + * This function is called before an attachment is selected + * A good place to check for errors and prevent the 'select' function from being fired + * + * @type function + * @date 29/09/2016 + * @since 5.4.0 + * + * @param options (object) + * @return n/a + */ + toggleSelection: function (options) { + // vars + // source: wp-includes/js/media-views.js:2880 + var collection = this.collection, + selection = this.options.selection, + model = this.model, + single = selection.single(); // vars + + var frame = this.controller; + var errors = acf.isget(this, 'model', 'attributes', 'acf_errors'); + var $sidebar = frame.$el.find('.media-frame-content .media-sidebar'); // remove previous error + + $sidebar.children('.acf-selection-error').remove(); // show attachment details + + $sidebar.children().removeClass('acf-hidden'); // add message + + if (frame && errors) { + // vars + var filename = acf.isget(this, 'model', 'attributes', 'filename'); // hide attachment details + // Gallery field continues to show previously selected attachment... + + $sidebar.children().addClass('acf-hidden'); // append message + + $sidebar.prepend(['
            ', '' + acf.__('Restricted') + '', '' + filename + '', '' + errors + '', '
            '].join('')); // reset selection (unselects all attachments) + + selection.reset(); // set single (attachment displayed in sidebar) + + selection.single(model); // return and prevent 'select' form being fired + + return; + } // return + + + return AttachmentLibrary.prototype.toggleSelection.apply(this, arguments); + } + }); + } + }); })(jQuery); -(function($, undefined){ - - acf.screen = new acf.Model({ - - active: true, - - xhr: false, - - timeout: false, - - wait: 'load', - - events: { - 'change #page_template': 'onChange', - 'change #parent_id': 'onChange', - 'change #post-formats-select': 'onChange', - 'change .categorychecklist': 'onChange', - 'change .tagsdiv': 'onChange', - 'change .acf-taxonomy-field[data-save="1"]': 'onChange', - 'change #product-type': 'onChange' - }, - - isPost: function(){ - return acf.get('screen') === 'post'; - }, - - isUser: function(){ - return acf.get('screen') === 'user'; - }, - - isTaxonomy: function(){ - return acf.get('screen') === 'taxonomy'; - }, - - isAttachment: function(){ - return acf.get('screen') === 'attachment'; - }, - - isNavMenu: function(){ - return acf.get('screen') === 'nav_menu'; - }, - - isWidget: function(){ - return acf.get('screen') === 'widget'; - }, - - isComment: function(){ - return acf.get('screen') === 'comment'; - }, - - getPageTemplate: function(){ - var $el = $('#page_template'); - return $el.length ? $el.val() : null; - }, - - getPageParent: function( e, $el ){ - var $el = $('#parent_id'); - return $el.length ? $el.val() : null; - }, - - getPageType: function( e, $el ){ - return this.getPageParent() ? 'child' : 'parent'; - }, - - getPostType: function(){ - return $('#post_type').val(); - }, - - getPostFormat: function( e, $el ){ - var $el = $('#post-formats-select input:checked'); - if( $el.length ) { - var val = $el.val(); - return (val == '0') ? 'standard' : val; - } - return null; - }, - - getPostCoreTerms: function(){ - - // vars - var terms = {}; - - // serialize WP taxonomy postboxes - var data = acf.serialize( $('.categorydiv, .tagsdiv') ); - - // use tax_input (tag, custom-taxonomy) when possible. - // this data is already formatted in taxonomy => [terms]. - if( data.tax_input ) { - terms = data.tax_input; - } - - // append "category" which uses a different name - if( data.post_category ) { - terms.category = data.post_category; - } - - // convert any string values (tags) into array format - for( var tax in terms ) { - if( !acf.isArray(terms[tax]) ) { - terms[tax] = terms[tax].split(/,[\s]?/); - } - } - - // return - return terms; - }, - - getPostTerms: function(){ - - // Get core terms. - var terms = this.getPostCoreTerms(); - - // loop over taxonomy fields and add their values - acf.getFields({type: 'taxonomy'}).map(function( field ){ - - // ignore fields that don't save - if( !field.get('save') ) { - return; - } - - // vars - var val = field.val(); - var tax = field.get('taxonomy'); - - // check val - if( val ) { - - // ensure terms exists - terms[ tax ] = terms[ tax ] || []; - - // ensure val is an array - val = acf.isArray(val) ? val : [val]; - - // append - terms[ tax ] = terms[ tax ].concat( val ); - } - }); - - // add WC product type - if( (productType = this.getProductType()) !== null ) { - terms.product_type = [productType]; - } - - // remove duplicate values - for( var tax in terms ) { - terms[tax] = acf.uniqueArray(terms[tax]); - } - - // return - return terms; - }, - - getProductType: function(){ - var $el = $('#product-type'); - return $el.length ? $el.val() : null; - }, - - check: function(){ - - // bail early if not for post - if( acf.get('screen') !== 'post' ) { - return; - } - - // abort XHR if is already loading AJAX data - if( this.xhr ) { - this.xhr.abort(); - } - - // vars - var ajaxData = acf.parseArgs(this.data, { - action: 'acf/ajax/check_screen', - screen: acf.get('screen'), - exists: [] - }); - - // post id - if( this.isPost() ) { - ajaxData.post_id = acf.get('post_id'); - } - - // post type - if( (postType = this.getPostType()) !== null ) { - ajaxData.post_type = postType; - } - - // page template - if( (pageTemplate = this.getPageTemplate()) !== null ) { - ajaxData.page_template = pageTemplate; - } - - // page parent - if( (pageParent = this.getPageParent()) !== null ) { - ajaxData.page_parent = pageParent; - } - - // page type - if( (pageType = this.getPageType()) !== null ) { - ajaxData.page_type = pageType; - } - - // post format - if( (postFormat = this.getPostFormat()) !== null ) { - ajaxData.post_format = postFormat; - } - - // post terms - if( (postTerms = this.getPostTerms()) !== null ) { - ajaxData.post_terms = postTerms; - } - - // add array of existing postboxes to increase performance and reduce JSON HTML - acf.getPostboxes().map(function( postbox ){ - ajaxData.exists.push( postbox.get('key') ); - }); - - // filter - ajaxData = acf.applyFilters('check_screen_args', ajaxData); - - // success - var onSuccess = function( json ){ - - // Render post screen. - if( acf.get('screen') == 'post' ) { - this.renderPostScreen( json ); - - // Render user screen. - } else if( acf.get('screen') == 'user' ) { - this.renderUserScreen( json ); - } - - // action - acf.doAction('check_screen_complete', json, ajaxData); - }; - - // ajax - this.xhr = $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax( ajaxData ), - type: 'post', - dataType: 'json', - context: this, - success: onSuccess - }); - }, - - onChange: function( e, $el ){ - this.setTimeout(this.check, 1); - }, - - renderPostScreen: function( data ){ - - // Helper function to copy events - var copyEvents = function( $from, $to ){ - var events = $._data($from[0]).events; - for( var type in events ) { - for( var i = 0; i < events[type].length; i++ ) { - $to.on( type, events[type][i].handler ); - } - } - } - - // Helper function to sort metabox. - var sortMetabox = function( id, ids ){ - - // Find position of id within ids. - var index = ids.indexOf( id ); - - // Bail early if index not found. - if( index == -1 ) { - return false; - } - - // Loop over metaboxes behind (in reverse order). - for( var i = index-1; i >= 0; i-- ) { - if( $('#'+ids[i]).length ) { - return $('#'+ids[i]).after( $('#'+id) ); - } - } - - // Loop over metaboxes infront. - for( var i = index+1; i < ids.length; i++ ) { - if( $('#'+ids[i]).length ) { - return $('#'+ids[i]).before( $('#'+id) ); - } - } - - // Return false if not sorted. - return false; - }; - - // Keep track of visible and hidden postboxes. - data.visible = []; - data.hidden = []; - - // Show these postboxes. - data.results = data.results.map(function( result, i ){ - - // vars - var postbox = acf.getPostbox( result.id ); - - // Prevent "acf_after_title" position in Block Editor. - if( acf.isGutenberg() && result.position == "acf_after_title" ) { - result.position = 'normal'; - } - - // Create postbox if doesn't exist. - if( !postbox ) { - var wpMinorVersion = parseFloat( acf.get('wp_version') ); - if( wpMinorVersion >= 5.5 ) { - var postboxHeader = [ - '
            ', - '

            ', - '' + acf.escHtml( result.title ) + '', - '

            ', - '
            ', - '', - '
            ', - '
            ' - ].join(''); - } else { - var postboxHeader = [ - '', - '

            ', - '' + acf.escHtml( result.title ) + '', - '

            ', - ].join(''); - } - - // Create it. - var $postbox = $([ - '
            ', - postboxHeader, - '
            ', - result.html, - '
            ', - '
            ' - ].join('')); - - // Create new hide toggle. - if( $('#adv-settings').length ) { - var $prefs = $('#adv-settings .metabox-prefs'); - var $label = $([ - '' - ].join('')); - - // Copy default WP events onto checkbox. - copyEvents( $prefs.find('input').first(), $label.find('input') ); - - // Append hide label - $prefs.append( $label ); - } - - // Copy default WP events onto metabox. - if( $('.postbox').length ) { - copyEvents( $('.postbox .handlediv').first(), $postbox.children('.handlediv') ); - copyEvents( $('.postbox .hndle').first(), $postbox.children('.hndle') ); - } - - // Append metabox to the bottom of "side-sortables". - if( result.position === 'side' ) { - $('#' + result.position + '-sortables').append( $postbox ); - - // Prepend metabox to the top of "normal-sortbables". - } else { - $('#' + result.position + '-sortables').prepend( $postbox ); - } - - // Position metabox amongst existing ACF metaboxes within the same location. - var order = []; - data.results.map(function( _result ){ - if( result.position === _result.position && $('#' + result.position + '-sortables #' + _result.id).length ) { - order.push( _result.id ); - } - }); - sortMetabox(result.id, order) - - // Check 'sorted' for user preference. - if( data.sorted ) { - - // Loop over each position (acf_after_title, side, normal). - for( var position in data.sorted ) { - - // Explode string into array of ids. - var order = data.sorted[position].split(','); - - // Position metabox relative to order. - if( sortMetabox(result.id, order) ) { - break; - } - } - } - - // Initalize it (modifies HTML). - postbox = acf.newPostbox( result ); - - // Trigger action. - acf.doAction('append', $postbox); - acf.doAction('append_postbox', postbox); - } - - // show postbox - postbox.showEnable(); - - // append - data.visible.push( result.id ); - - // Return result (may have changed). - return result; - }); - - // Hide these postboxes. - acf.getPostboxes().map(function( postbox ){ - if( data.visible.indexOf( postbox.get('id') ) === -1 ) { - - // Hide postbox. - postbox.hideDisable(); - - // Append to data. - data.hidden.push( postbox.get('id') ); - } - }); - - // Update style. - $('#acf-style').html( data.style ); - - // Do action. - acf.doAction( 'refresh_post_screen', data ); - }, - - renderUserScreen: function( json ){ - - } - }); - - /** - * gutenScreen - * - * Adds compatibility with the Gutenberg edit screen. - * - * @date 11/12/18 - * @since 5.8.0 - * - * @param void - * @return void - */ - var gutenScreen = new acf.Model({ - - // Keep a reference to the most recent post attributes. - postEdits: {}, - - // Wait until assets have been loaded. - wait: 'prepare', - initialize: function(){ - - // Bail early if not Gutenberg. - if( !acf.isGutenberg() ) { - return; - } - - // Listen for changes (use debounced version as this can fires often). - wp.data.subscribe( acf.debounce(this.onChange).bind(this) ); - - // Customize "acf.screen.get" functions. - acf.screen.getPageTemplate = this.getPageTemplate; - acf.screen.getPageParent = this.getPageParent; - acf.screen.getPostType = this.getPostType; - acf.screen.getPostFormat = this.getPostFormat; - acf.screen.getPostCoreTerms = this.getPostCoreTerms; - - // Disable unload - acf.unload.disable(); - - // Refresh metaboxes since WP 5.3. - var wpMinorVersion = parseFloat( acf.get('wp_version') ); - if( wpMinorVersion >= 5.3 ) { - this.addAction( 'refresh_post_screen', this.onRefreshPostScreen ); - } +/***/ }), - // Trigger "refresh" after WP has moved metaboxes into place. - wp.domReady( acf.refresh ); - }, - - onChange: function(){ - - // Determine attributes that can trigger a refresh. - var attributes = [ 'template', 'parent', 'format' ]; - - // Append taxonomy attribute names to this list. - ( wp.data.select( 'core' ).getTaxonomies() || [] ).map(function( taxonomy ){ - attributes.push( taxonomy.rest_base ); - }); - - // Get relevant current post edits. - var _postEdits = wp.data.select( 'core/editor' ).getPostEdits(); - var postEdits = {}; - attributes.map(function( k ){ - if( _postEdits[k] !== undefined ) { - postEdits[k] = _postEdits[k]; - } - }); - - // Detect change. - if( JSON.stringify(postEdits) !== JSON.stringify(this.postEdits) ) { - this.postEdits = postEdits; - - // Check screen. - acf.screen.check(); - } - }, - - getPageTemplate: function(){ - return wp.data.select( 'core/editor' ).getEditedPostAttribute( 'template' ); - }, - - getPageParent: function( e, $el ){ - return wp.data.select( 'core/editor' ).getEditedPostAttribute( 'parent' ); - }, - - getPostType: function(){ - return wp.data.select( 'core/editor' ).getEditedPostAttribute( 'type' ); - }, - - getPostFormat: function( e, $el ){ - return wp.data.select( 'core/editor' ).getEditedPostAttribute( 'format' ); - }, - - getPostCoreTerms: function(){ - - // vars - var terms = {}; - - // Loop over taxonomies. - var taxonomies = wp.data.select( 'core' ).getTaxonomies() || []; - taxonomies.map(function( taxonomy ){ - - // Append selected taxonomies to terms object. - var postTerms = wp.data.select( 'core/editor' ).getEditedPostAttribute( taxonomy.rest_base ); - if( postTerms ) { - terms[ taxonomy.slug ] = postTerms; - } - }); - - // return - return terms; - }, - - /** - * onRefreshPostScreen - * - * Fires after the Post edit screen metaboxs are refreshed to update the Block Editor API state. - * - * @date 11/11/19 - * @since 5.8.7 - * - * @param object data The "check_screen" JSON response data. - * @return void - */ - onRefreshPostScreen: function( data ) { - - // Extract vars. - var select = wp.data.select( 'core/edit-post' ); - var dispatch = wp.data.dispatch( 'core/edit-post' ); - - // Load current metabox locations and data. - var locations = {}; - select.getActiveMetaBoxLocations().map(function( location ){ - locations[ location ] = select.getMetaBoxesPerLocation( location ); - }); - - // Generate flat array of existing ids. - var ids = []; - for( var k in locations ) { - locations[k].map(function( m ){ - ids.push( m.id ); - }); - } - - // Append new ACF metaboxes (ignore those which already exist). - data.results.filter(function( r ){ - return ( ids.indexOf( r.id ) === -1 ); - }).map(function( result, i ){ - - // Ensure location exists. - var location = result.position; - locations[ location ] = locations[ location ] || []; - - // Append. - locations[ location ].push({ - id: result.id, - title: result.title - }); - }); - - // Remove hidden ACF metaboxes. - for( var k in locations ) { - locations[k] = locations[k].filter(function( m ){ - return ( data.hidden.indexOf( m.id ) === -1 ); - }); - } - - // Update state. - dispatch.setAvailableMetaBoxesPerLocation( locations ); - } - }); +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-postbox.js": +/*!**********************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-postbox.js ***! + \**********************************************************************/ +/***/ (function() { +(function ($, undefined) { + /** + * postboxManager + * + * Manages postboxes on the screen. + * + * @date 25/5/19 + * @since 5.8.1 + * + * @param void + * @return void + */ + var postboxManager = new acf.Model({ + wait: 'prepare', + priority: 1, + initialize: function () { + (acf.get('postboxes') || []).map(acf.newPostbox); + } + }); + /** + * acf.getPostbox + * + * Returns a postbox instance. + * + * @date 23/9/18 + * @since 5.7.7 + * + * @param mixed $el Either a jQuery element or the postbox id. + * @return object + */ + + acf.getPostbox = function ($el) { + // allow string parameter + if (typeof arguments[0] == 'string') { + $el = $('#' + arguments[0]); + } // return instance + + + return acf.getInstance($el); + }; + /** + * acf.getPostboxes + * + * Returns an array of postbox instances. + * + * @date 23/9/18 + * @since 5.7.7 + * + * @param void + * @return array + */ + + + acf.getPostboxes = function () { + return acf.getInstances($('.acf-postbox')); + }; + /** + * acf.newPostbox + * + * Returns a new postbox instance for the given props. + * + * @date 20/9/18 + * @since 5.7.6 + * + * @param object props The postbox properties. + * @return object + */ + + + acf.newPostbox = function (props) { + return new acf.models.Postbox(props); + }; + /** + * acf.models.Postbox + * + * The postbox model. + * + * @date 20/9/18 + * @since 5.7.6 + * + * @param void + * @return void + */ + + + acf.models.Postbox = acf.Model.extend({ + data: { + id: '', + key: '', + style: 'default', + label: 'top', + edit: '' + }, + setup: function (props) { + // compatibilty + if (props.editLink) { + props.edit = props.editLink; + } // extend data + + + $.extend(this.data, props); // set $el + + this.$el = this.$postbox(); + }, + $postbox: function () { + return $('#' + this.get('id')); + }, + $hide: function () { + return $('#' + this.get('id') + '-hide'); + }, + $hideLabel: function () { + return this.$hide().parent(); + }, + $hndle: function () { + return this.$('> .hndle'); + }, + $handleActions: function () { + return this.$('> .postbox-header .handle-actions'); + }, + $inside: function () { + return this.$('> .inside'); + }, + isVisible: function () { + return this.$el.hasClass('acf-hidden'); + }, + isHiddenByScreenOptions: function () { + return this.$el.hasClass('hide-if-js') || this.$el.css('display') == 'none'; + }, + initialize: function () { + // Add default class. + this.$el.addClass('acf-postbox'); // Add field group style class (ignore in block editor). + + if (acf.get('editor') !== 'block') { + var style = this.get('style'); + + if (style !== 'default') { + this.$el.addClass(style); + } + } // Add .inside class. + + + this.$inside().addClass('acf-fields').addClass('-' + this.get('label')); // Append edit link. + + var edit = this.get('edit'); + + if (edit) { + var html = ''; + var $handleActions = this.$handleActions(); + + if ($handleActions.length) { + $handleActions.prepend(html); + } else { + this.$hndle().append(html); + } + } // Show postbox. + + + this.show(); + }, + show: function () { + // If disabled by screen options, set checked to false and return. + if (this.$el.hasClass('hide-if-js')) { + this.$hide().prop('checked', false); + return; + } // Show label. + + + this.$hideLabel().show(); // toggle on checkbox + + this.$hide().prop('checked', true); // Show postbox + + this.$el.show().removeClass('acf-hidden'); // Do action. + + acf.doAction('show_postbox', this); + }, + enable: function () { + acf.enable(this.$el, 'postbox'); + }, + showEnable: function () { + this.enable(); + this.show(); + }, + hide: function () { + // Hide label. + this.$hideLabel().hide(); // Hide postbox + + this.$el.hide().addClass('acf-hidden'); // Do action. + + acf.doAction('hide_postbox', this); + }, + disable: function () { + acf.disable(this.$el, 'postbox'); + }, + hideDisable: function () { + this.disable(); + this.hide(); + }, + html: function (html) { + // Update HTML. + this.$inside().html(html); // Do action. + + acf.doAction('append', this.$el); + } + }); })(jQuery); -(function($, undefined){ - - /** - * acf.newSelect2 - * - * description - * - * @date 13/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.newSelect2 = function( $select, props ){ - - // defaults - props = acf.parseArgs(props, { - allowNull: false, - placeholder: '', - multiple: false, - field: false, - ajax: false, - ajaxAction: '', - ajaxData: function( data ){ return data; }, - ajaxResults: function( json ){ return json; }, - }); - - // initialize - if( getVersion() == 4 ) { - var select2 = new Select2_4( $select, props ); - } else { - var select2 = new Select2_3( $select, props ); - } - - // actions - acf.doAction('new_select2', select2); - - // return - return select2; - }; - - /** - * getVersion - * - * description - * - * @date 13/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - function getVersion() { - - // v4 - if( acf.isset(window, 'jQuery', 'fn', 'select2', 'amd') ) { - return 4; - } - - // v3 - if( acf.isset(window, 'Select2') ) { - return 3; - } - - // return - return false; - } - - /** - * Select2 - * - * description - * - * @date 13/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var Select2 = acf.Model.extend({ - - setup: function( $select, props ){ - $.extend(this.data, props); - this.$el = $select; - }, - - initialize: function(){ - - }, - - selectOption: function( value ){ - var $option = this.getOption( value ); - if( !$option.prop('selected') ) { - $option.prop('selected', true).trigger('change'); - } - }, - - unselectOption: function( value ){ - var $option = this.getOption( value ); - if( $option.prop('selected') ) { - $option.prop('selected', false).trigger('change'); - } - }, - - getOption: function( value ){ - return this.$('option[value="' + value + '"]'); - }, - - addOption: function( option ){ - - // defaults - option = acf.parseArgs(option, { - id: '', - text: '', - selected: false - }); - - // vars - var $option = this.getOption( option.id ); - - // append - if( !$option.length ) { - $option = $(''); - $option.html( option.text ); - $option.attr('value', option.id); - $option.prop('selected', option.selected); - this.$el.append($option); - } - - // chain - return $option; - }, - - getValue: function(){ - - // vars - var val = []; - var $options = this.$el.find('option:selected'); - - // bail early if no selected - if( !$options.exists() ) { - return val; - } - - // sort by attribute - $options = $options.sort(function(a, b) { - return +a.getAttribute('data-i') - +b.getAttribute('data-i'); - }); - - // loop - $options.each(function(){ - var $el = $(this); - val.push({ - $el: $el, - id: $el.attr('value'), - text: $el.text(), - }); - }); - - // return - return val; - - }, - - mergeOptions: function(){ - - }, - - getChoices: function(){ - - // callback - var crawl = function( $parent ){ - - // vars - var choices = []; - - // loop - $parent.children().each(function(){ - - // vars - var $child = $(this); - - // optgroup - if( $child.is('optgroup') ) { - - choices.push({ - text: $child.attr('label'), - children: crawl( $child ) - }); - - // option - } else { - - choices.push({ - id: $child.attr('value'), - text: $child.text() - }); - } - }); - - // return - return choices; - }; - - // crawl - return crawl( this.$el ); - }, - - getAjaxData: function( params ){ - - // vars - var ajaxData = { - action: this.get('ajaxAction'), - s: params.term || '', - paged: params.page || 1 - }; - - // field helper - var field = this.get('field'); - if( field ) { - ajaxData.field_key = field.get('key'); - } - - // callback - var callback = this.get('ajaxData'); - if( callback ) { - ajaxData = callback.apply( this, [ajaxData, params] ); - } - - // filter - ajaxData = acf.applyFilters( 'select2_ajax_data', ajaxData, this.data, this.$el, (field || false), this ); - - // return - return acf.prepareForAjax(ajaxData); - }, - - getAjaxResults: function( json, params ){ - - // defaults - json = acf.parseArgs(json, { - results: false, - more: false, - }); - - // callback - var callback = this.get('ajaxResults'); - if( callback ) { - json = callback.apply( this, [json, params] ); - } - - // filter - json = acf.applyFilters( 'select2_ajax_results', json, params, this ); - - // return - return json; - }, - - processAjaxResults: function( json, params ){ - - // vars - var json = this.getAjaxResults( json, params ); - - // change more to pagination - if( json.more ) { - json.pagination = { more: true }; - } - - // merge together groups - setTimeout($.proxy(this.mergeOptions, this), 1); - - // return - return json; - }, - - destroy: function(){ - - // destroy via api - if( this.$el.data('select2') ) { - this.$el.select2('destroy'); - } - - // destory via HTML (duplicating HTML does not contain data) - this.$el.siblings('.select2-container').remove(); - } - - }); - - - /** - * Select2_4 - * - * description - * - * @date 13/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var Select2_4 = Select2.extend({ - - initialize: function(){ - - // vars - var $select = this.$el; - var options = { - width: '100%', - allowClear: this.get('allowNull'), - placeholder: this.get('placeholder'), - multiple: this.get('multiple'), - data: [], - escapeMarkup: function( markup ) { - if (typeof markup !== 'string') { - return markup; - } - return acf.escHtml( markup ); - } - }; - // Only use the template if SelectWoo is not loaded to work around https://github.com/woocommerce/woocommerce/pull/30473 - if ( ! acf.isset(window, 'jQuery', 'fn', 'selectWoo') ) { +/***/ }), - options.templateSelection = function( selection ) { - var $selection = $(''); - $selection.html( acf.escHtml( selection.text ) ); - $selection.data('element', selection.element); - return $selection; - }; +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-screen.js": +/*!*********************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-screen.js ***! + \*********************************************************************/ +/***/ (function() { - } - - // multiple - if( options.multiple ) { - - // reorder options - this.getValue().map(function( item ){ - item.$el.detach().appendTo( $select ); - }); - } - - // Temporarily remove conflicting attribute. - var attrAjax = $select.attr( 'data-ajax' ); - if( attrAjax !== undefined ) { - $select.removeData('ajax'); - $select.removeAttr('data-ajax'); - } - - // ajax - if( this.get('ajax') ) { - - options.ajax = { - url: acf.get('ajaxurl'), - delay: 250, - dataType: 'json', - type: 'post', - cache: false, - data: $.proxy(this.getAjaxData, this), - processResults: $.proxy(this.processAjaxResults, this), - }; - } - - // filter for 3rd party customization - //options = acf.applyFilters( 'select2_args', options, $select, this ); - var field = this.get('field'); - options = acf.applyFilters( 'select2_args', options, $select, this.data, (field || false), this ); - - // add select2 - $select.select2( options ); - - // get container (Select2 v4 does not return this from constructor) - var $container = $select.next('.select2-container'); - - // multiple - if( options.multiple ) { - - // vars - var $ul = $container.find('ul'); - - // sortable - $ul.sortable({ - stop: function( e ) { - - // loop - $ul.find('.select2-selection__choice').each(function() { - - // Attempt to use .data if it exists (select2 version < 4.0.6) or use our template data instead. - if ( $(this).data('data') ) { - var $option = $( $(this).data('data').element ); - } else { - var $option = $( $(this).children('span.acf-selection').data('element') ); - } - - // detach and re-append to end - $option.detach().appendTo( $select ); - }); - - // trigger change on input (JS error if trigger on select) - $select.trigger('change'); - } - }); - - // on select, move to end - $select.on('select2:select', this.proxy(function( e ){ - this.getOption( e.params.data.id ).detach().appendTo( this.$el ); - })); - } - - // add class - $container.addClass('-acf'); - - // Add back temporarily removed attr. - if( attrAjax !== undefined ) { - $select.attr('data-ajax', attrAjax); - } - - // action for 3rd party customization - acf.doAction('select2_init', $select, options, this.data, (field || false), this); - }, - - mergeOptions: function(){ - - // vars - var $prevOptions = false; - var $prevGroup = false; - - // loop - $('.select2-results__option[role="group"]').each(function(){ - - // vars - var $options = $(this).children('ul'); - var $group = $(this).children('strong'); - - // compare to previous - if( $prevGroup && $prevGroup.text() === $group.text() ) { - $prevOptions.append( $options.children() ); - $(this).remove(); - return; - } - - // update vars - $prevOptions = $options; - $prevGroup = $group; - - }); - }, - - }); - - /** - * Select2_3 - * - * description - * - * @date 13/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var Select2_3 = Select2.extend({ - - initialize: function(){ - - // vars - var $select = this.$el; - var value = this.getValue(); - var multiple = this.get('multiple'); - var options = { - width: '100%', - allowClear: this.get('allowNull'), - placeholder: this.get('placeholder'), - separator: '||', - multiple: this.get('multiple'), - data: this.getChoices(), - escapeMarkup: function( string ){ - return acf.escHtml( string ); - }, - dropdownCss: { - 'z-index': '999999999' - }, - initSelection: function( element, callback ) { - if( multiple ) { - callback( value ); - } else { - callback( value.shift() ); - } - } - }; - - // get hidden input - var $input = $select.siblings('input'); - if( !$input.length ) { - $input = $(''); - $select.before( $input ); - } - - // set input value - inputValue = value.map(function(item){ return item.id }).join('||'); - $input.val( inputValue ); - - // multiple - if( options.multiple ) { - - // reorder options - value.map(function( item ){ - item.$el.detach().appendTo( $select ); - }); - } - - // remove blank option as we have a clear all button - if( options.allowClear ) { - options.data = options.data.filter(function(item){ - return item.id !== ''; - }); - } - - // remove conflicting atts - $select.removeData('ajax'); - $select.removeAttr('data-ajax'); - - // ajax - if( this.get('ajax') ) { - - options.ajax = { - url: acf.get('ajaxurl'), - quietMillis: 250, - dataType: 'json', - type: 'post', - cache: false, - data: $.proxy(this.getAjaxData, this), - results: $.proxy(this.processAjaxResults, this), - }; - } - - // filter for 3rd party customization - var field = this.get('field'); - options = acf.applyFilters( 'select2_args', options, $select, this.data, (field || false), this ); - - // add select2 - $input.select2( options ); - - // get container - var $container = $input.select2('container'); - - // helper to find this select's option - var getOption = $.proxy(this.getOption, this); - - // multiple - if( options.multiple ) { - - // vars - var $ul = $container.find('ul'); - - // sortable - $ul.sortable({ - stop: function() { - - // loop - $ul.find('.select2-search-choice').each(function() { - - // vars - var data = $(this).data('select2Data'); - var $option = getOption( data.id ); - - // detach and re-append to end - $option.detach().appendTo( $select ); - }); - - // trigger change on input (JS error if trigger on select) - $select.trigger('change'); - } - }); - } - - // on select, create option and move to end - $input.on('select2-selecting', function( e ){ - - // vars - var item = e.choice; - var $option = getOption( item.id ); - - // create if doesn't exist - if( !$option.length ) { - $option = $(''); - } - - // detach and re-append to end - $option.detach().appendTo( $select ); - }); - - // add class - $container.addClass('-acf'); - - // action for 3rd party customization - acf.doAction('select2_init', $select, options, this.data, (field || false), this); - - // change - $input.on('change', function(){ - var val = $input.val(); - if( val.indexOf('||') ) { - val = val.split('||'); - } - $select.val( val ).trigger('change'); - }); - - // hide select - $select.hide(); - }, - - mergeOptions: function(){ - - // vars - var $prevOptions = false; - var $prevGroup = false; - - // loop - $('#select2-drop .select2-result-with-children').each(function(){ - - // vars - var $options = $(this).children('ul'); - var $group = $(this).children('.select2-result-label'); - - // compare to previous - if( $prevGroup && $prevGroup.text() === $group.text() ) { - $prevGroup.append( $options.children() ); - $(this).remove(); - return; - } - - // update vars - $prevOptions = $options; - $prevGroup = $group; - - }); - - }, - - getAjaxData: function( term, page ){ - - // create Select2 v4 params - var params = { - term: term, - page: page - } - - // return - return Select2.prototype.getAjaxData.apply(this, [params]); - }, - - }); - - - // manager - var select2Manager = new acf.Model({ - priority: 5, - wait: 'prepare', - actions: { - 'duplicate': 'onDuplicate' - }, - initialize: function(){ - - // vars - var locale = acf.get('locale'); - var rtl = acf.get('rtl'); - var l10n = acf.get('select2L10n'); - var version = getVersion(); - - // bail ealry if no l10n - if( !l10n ) { - return false; - } - - // bail early if 'en' - if( locale.indexOf('en') === 0 ) { - return false; - } - - // initialize - if( version == 4 ) { - this.addTranslations4(); - } else if( version == 3 ) { - this.addTranslations3(); - } - }, - - addTranslations4: function(){ - - // vars - var l10n = acf.get('select2L10n'); - var locale = acf.get('locale'); - - // modify local to match html[lang] attribute (used by Select2) - locale = locale.replace('_', '-'); - - // select2L10n - var select2L10n = { - errorLoading: function () { - return l10n.load_fail; - }, - inputTooLong: function (args) { - var overChars = args.input.length - args.maximum; - if( overChars > 1 ) { - return l10n.input_too_long_n.replace( '%d', overChars ); - } - return l10n.input_too_long_1; - }, - inputTooShort: function( args ){ - var remainingChars = args.minimum - args.input.length; - if( remainingChars > 1 ) { - return l10n.input_too_short_n.replace( '%d', remainingChars ); - } - return l10n.input_too_short_1; - }, - loadingMore: function () { - return l10n.load_more; - }, - maximumSelected: function( args ) { - var maximum = args.maximum; - if( maximum > 1 ) { - return l10n.selection_too_long_n.replace( '%d', maximum ); - } - return l10n.selection_too_long_1; - }, - noResults: function () { - return l10n.matches_0; - }, - searching: function () { - return l10n.searching; - } - }; - - // append - jQuery.fn.select2.amd.define('select2/i18n/' + locale, [], function(){ - return select2L10n; - }); - }, - - addTranslations3: function(){ - - // vars - var l10n = acf.get('select2L10n'); - var locale = acf.get('locale'); - - // modify local to match html[lang] attribute (used by Select2) - locale = locale.replace('_', '-'); - - // select2L10n - var select2L10n = { - formatMatches: function( matches ) { - if( matches > 1 ) { - return l10n.matches_n.replace( '%d', matches ); - } - return l10n.matches_1; - }, - formatNoMatches: function() { - return l10n.matches_0; - }, - formatAjaxError: function() { - return l10n.load_fail; - }, - formatInputTooShort: function( input, min ) { - var remainingChars = min - input.length; - if( remainingChars > 1 ) { - return l10n.input_too_short_n.replace( '%d', remainingChars ); - } - return l10n.input_too_short_1; - }, - formatInputTooLong: function( input, max ) { - var overChars = input.length - max; - if( overChars > 1 ) { - return l10n.input_too_long_n.replace( '%d', overChars ); - } - return l10n.input_too_long_1; - }, - formatSelectionTooBig: function( maximum ) { - if( maximum > 1 ) { - return l10n.selection_too_long_n.replace( '%d', maximum ); - } - return l10n.selection_too_long_1; - }, - formatLoadMore: function() { - return l10n.load_more; - }, - formatSearching: function() { - return l10n.searching; - } - }; - - // ensure locales exists - $.fn.select2.locales = $.fn.select2.locales || {}; - - // append - $.fn.select2.locales[ locale ] = select2L10n; - $.extend($.fn.select2.defaults, select2L10n); - }, - - onDuplicate: function( $el, $el2 ){ - $el2.find('.select2-container').remove(); - } - - }); - +(function ($, undefined) { + acf.screen = new acf.Model({ + active: true, + xhr: false, + timeout: false, + wait: 'load', + events: { + 'change #page_template': 'onChange', + 'change #parent_id': 'onChange', + 'change #post-formats-select': 'onChange', + 'change .categorychecklist': 'onChange', + 'change .tagsdiv': 'onChange', + 'change .acf-taxonomy-field[data-save="1"]': 'onChange', + 'change #product-type': 'onChange' + }, + isPost: function () { + return acf.get('screen') === 'post'; + }, + isUser: function () { + return acf.get('screen') === 'user'; + }, + isTaxonomy: function () { + return acf.get('screen') === 'taxonomy'; + }, + isAttachment: function () { + return acf.get('screen') === 'attachment'; + }, + isNavMenu: function () { + return acf.get('screen') === 'nav_menu'; + }, + isWidget: function () { + return acf.get('screen') === 'widget'; + }, + isComment: function () { + return acf.get('screen') === 'comment'; + }, + getPageTemplate: function () { + var $el = $('#page_template'); + return $el.length ? $el.val() : null; + }, + getPageParent: function (e, $el) { + var $el = $('#parent_id'); + return $el.length ? $el.val() : null; + }, + getPageType: function (e, $el) { + return this.getPageParent() ? 'child' : 'parent'; + }, + getPostType: function () { + return $('#post_type').val(); + }, + getPostFormat: function (e, $el) { + var $el = $('#post-formats-select input:checked'); + + if ($el.length) { + var val = $el.val(); + return val == '0' ? 'standard' : val; + } + + return null; + }, + getPostCoreTerms: function () { + // vars + var terms = {}; // serialize WP taxonomy postboxes + + var data = acf.serialize($('.categorydiv, .tagsdiv')); // use tax_input (tag, custom-taxonomy) when possible. + // this data is already formatted in taxonomy => [terms]. + + if (data.tax_input) { + terms = data.tax_input; + } // append "category" which uses a different name + + + if (data.post_category) { + terms.category = data.post_category; + } // convert any string values (tags) into array format + + + for (var tax in terms) { + if (!acf.isArray(terms[tax])) { + terms[tax] = terms[tax].split(/,[\s]?/); + } + } // return + + + return terms; + }, + getPostTerms: function () { + // Get core terms. + var terms = this.getPostCoreTerms(); // loop over taxonomy fields and add their values + + acf.getFields({ + type: 'taxonomy' + }).map(function (field) { + // ignore fields that don't save + if (!field.get('save')) { + return; + } // vars + + + var val = field.val(); + var tax = field.get('taxonomy'); // check val + + if (val) { + // ensure terms exists + terms[tax] = terms[tax] || []; // ensure val is an array + + val = acf.isArray(val) ? val : [val]; // append + + terms[tax] = terms[tax].concat(val); + } + }); // add WC product type + + if ((productType = this.getProductType()) !== null) { + terms.product_type = [productType]; + } // remove duplicate values + + + for (var tax in terms) { + terms[tax] = acf.uniqueArray(terms[tax]); + } // return + + + return terms; + }, + getProductType: function () { + var $el = $('#product-type'); + return $el.length ? $el.val() : null; + }, + check: function () { + // bail early if not for post + if (acf.get('screen') !== 'post') { + return; + } // abort XHR if is already loading AJAX data + + + if (this.xhr) { + this.xhr.abort(); + } // vars + + + var ajaxData = acf.parseArgs(this.data, { + action: 'acf/ajax/check_screen', + screen: acf.get('screen'), + exists: [] + }); // post id + + if (this.isPost()) { + ajaxData.post_id = acf.get('post_id'); + } // post type + + + if ((postType = this.getPostType()) !== null) { + ajaxData.post_type = postType; + } // page template + + + if ((pageTemplate = this.getPageTemplate()) !== null) { + ajaxData.page_template = pageTemplate; + } // page parent + + + if ((pageParent = this.getPageParent()) !== null) { + ajaxData.page_parent = pageParent; + } // page type + + + if ((pageType = this.getPageType()) !== null) { + ajaxData.page_type = pageType; + } // post format + + + if ((postFormat = this.getPostFormat()) !== null) { + ajaxData.post_format = postFormat; + } // post terms + + + if ((postTerms = this.getPostTerms()) !== null) { + ajaxData.post_terms = postTerms; + } // add array of existing postboxes to increase performance and reduce JSON HTML + + + acf.getPostboxes().map(function (postbox) { + ajaxData.exists.push(postbox.get('key')); + }); // filter + + ajaxData = acf.applyFilters('check_screen_args', ajaxData); // success + + var onSuccess = function (json) { + // Render post screen. + if (acf.get('screen') == 'post') { + this.renderPostScreen(json); // Render user screen. + } else if (acf.get('screen') == 'user') { + this.renderUserScreen(json); + } // action + + + acf.doAction('check_screen_complete', json, ajaxData); + }; // ajax + + + this.xhr = $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxData), + type: 'post', + dataType: 'json', + context: this, + success: onSuccess + }); + }, + onChange: function (e, $el) { + this.setTimeout(this.check, 1); + }, + renderPostScreen: function (data) { + // Helper function to copy events + var copyEvents = function ($from, $to) { + var events = $._data($from[0]).events; + + for (var type in events) { + for (var i = 0; i < events[type].length; i++) { + $to.on(type, events[type][i].handler); + } + } + }; // Helper function to sort metabox. + + + var sortMetabox = function (id, ids) { + // Find position of id within ids. + var index = ids.indexOf(id); // Bail early if index not found. + + if (index == -1) { + return false; + } // Loop over metaboxes behind (in reverse order). + + + for (var i = index - 1; i >= 0; i--) { + if ($('#' + ids[i]).length) { + return $('#' + ids[i]).after($('#' + id)); + } + } // Loop over metaboxes infront. + + + for (var i = index + 1; i < ids.length; i++) { + if ($('#' + ids[i]).length) { + return $('#' + ids[i]).before($('#' + id)); + } + } // Return false if not sorted. + + + return false; + }; // Keep track of visible and hidden postboxes. + + + data.visible = []; + data.hidden = []; // Show these postboxes. + + data.results = data.results.map(function (result, i) { + // vars + var postbox = acf.getPostbox(result.id); // Prevent "acf_after_title" position in Block Editor. + + if (acf.isGutenberg() && result.position == 'acf_after_title') { + result.position = 'normal'; + } // Create postbox if doesn't exist. + + + if (!postbox) { + var wpMinorVersion = parseFloat(acf.get('wp_version')); + + if (wpMinorVersion >= 5.5) { + var postboxHeader = ['
            ', '

            ', '' + acf.escHtml(result.title) + '', '

            ', '
            ', '', '
            ', '
            '].join(''); + } else { + var postboxHeader = ['', '

            ', '' + acf.escHtml(result.title) + '', '

            '].join(''); + } // Ensure result.classes is set. + + + if (!result.classes) result.classes = ''; // Create it. + + var $postbox = $(['
            ', postboxHeader, '
            ', result.html, '
            ', '
            '].join('')); // Create new hide toggle. + + if ($('#adv-settings').length) { + var $prefs = $('#adv-settings .metabox-prefs'); + var $label = $([''].join('')); // Copy default WP events onto checkbox. + + copyEvents($prefs.find('input').first(), $label.find('input')); // Append hide label + + $prefs.append($label); + } // Copy default WP events onto metabox. + + + if ($('.postbox').length) { + copyEvents($('.postbox .handlediv').first(), $postbox.children('.handlediv')); + copyEvents($('.postbox .hndle').first(), $postbox.children('.hndle')); + } // Append metabox to the bottom of "side-sortables". + + + if (result.position === 'side') { + $('#' + result.position + '-sortables').append($postbox); // Prepend metabox to the top of "normal-sortbables". + } else { + $('#' + result.position + '-sortables').prepend($postbox); + } // Position metabox amongst existing ACF metaboxes within the same location. + + + var order = []; + data.results.map(function (_result) { + if (result.position === _result.position && $('#' + result.position + '-sortables #' + _result.id).length) { + order.push(_result.id); + } + }); + sortMetabox(result.id, order); // Check 'sorted' for user preference. + + if (data.sorted) { + // Loop over each position (acf_after_title, side, normal). + for (var position in data.sorted) { + // Explode string into array of ids. + var order = data.sorted[position].split(','); // Position metabox relative to order. + + if (sortMetabox(result.id, order)) { + break; + } + } + } // Initalize it (modifies HTML). + + + postbox = acf.newPostbox(result); // Trigger action. + + acf.doAction('append', $postbox); + acf.doAction('append_postbox', postbox); + } // show postbox + + + postbox.showEnable(); // append + + data.visible.push(result.id); // Return result (may have changed). + + return result; + }); // Hide these postboxes. + + acf.getPostboxes().map(function (postbox) { + if (data.visible.indexOf(postbox.get('id')) === -1) { + // Hide postbox. + postbox.hideDisable(); // Append to data. + + data.hidden.push(postbox.get('id')); + } + }); // Update style. + + $('#acf-style').html(data.style); // Do action. + + acf.doAction('refresh_post_screen', data); + }, + renderUserScreen: function (json) {} + }); + /** + * gutenScreen + * + * Adds compatibility with the Gutenberg edit screen. + * + * @date 11/12/18 + * @since 5.8.0 + * + * @param void + * @return void + */ + + var gutenScreen = new acf.Model({ + // Keep a reference to the most recent post attributes. + postEdits: {}, + // Wait until assets have been loaded. + wait: 'prepare', + initialize: function () { + // Bail early if not Gutenberg. + if (!acf.isGutenberg()) { + return; + } // Listen for changes (use debounced version as this can fires often). + + + wp.data.subscribe(acf.debounce(this.onChange).bind(this)); // Customize "acf.screen.get" functions. + + acf.screen.getPageTemplate = this.getPageTemplate; + acf.screen.getPageParent = this.getPageParent; + acf.screen.getPostType = this.getPostType; + acf.screen.getPostFormat = this.getPostFormat; + acf.screen.getPostCoreTerms = this.getPostCoreTerms; // Disable unload + + acf.unload.disable(); // Refresh metaboxes since WP 5.3. + + var wpMinorVersion = parseFloat(acf.get('wp_version')); + + if (wpMinorVersion >= 5.3) { + this.addAction('refresh_post_screen', this.onRefreshPostScreen); + } // Trigger "refresh" after WP has moved metaboxes into place. + + + wp.domReady(acf.refresh); + }, + onChange: function () { + // Determine attributes that can trigger a refresh. + var attributes = ['template', 'parent', 'format']; // Append taxonomy attribute names to this list. + + (wp.data.select('core').getTaxonomies() || []).map(function (taxonomy) { + attributes.push(taxonomy.rest_base); + }); // Get relevant current post edits. + + var _postEdits = wp.data.select('core/editor').getPostEdits(); + + var postEdits = {}; + attributes.map(function (k) { + if (_postEdits[k] !== undefined) { + postEdits[k] = _postEdits[k]; + } + }); // Detect change. + + if (JSON.stringify(postEdits) !== JSON.stringify(this.postEdits)) { + this.postEdits = postEdits; // Check screen. + + acf.screen.check(); + } + }, + getPageTemplate: function () { + return wp.data.select('core/editor').getEditedPostAttribute('template'); + }, + getPageParent: function (e, $el) { + return wp.data.select('core/editor').getEditedPostAttribute('parent'); + }, + getPostType: function () { + return wp.data.select('core/editor').getEditedPostAttribute('type'); + }, + getPostFormat: function (e, $el) { + return wp.data.select('core/editor').getEditedPostAttribute('format'); + }, + getPostCoreTerms: function () { + // vars + var terms = {}; // Loop over taxonomies. + + var taxonomies = wp.data.select('core').getTaxonomies() || []; + taxonomies.map(function (taxonomy) { + // Append selected taxonomies to terms object. + var postTerms = wp.data.select('core/editor').getEditedPostAttribute(taxonomy.rest_base); + + if (postTerms) { + terms[taxonomy.slug] = postTerms; + } + }); // return + + return terms; + }, + + /** + * onRefreshPostScreen + * + * Fires after the Post edit screen metaboxs are refreshed to update the Block Editor API state. + * + * @date 11/11/19 + * @since 5.8.7 + * + * @param object data The "check_screen" JSON response data. + * @return void + */ + onRefreshPostScreen: function (data) { + // Extract vars. + var select = wp.data.select('core/edit-post'); + var dispatch = wp.data.dispatch('core/edit-post'); // Load current metabox locations and data. + + var locations = {}; + select.getActiveMetaBoxLocations().map(function (location) { + locations[location] = select.getMetaBoxesPerLocation(location); + }); // Generate flat array of existing ids. + + var ids = []; + + for (var k in locations) { + locations[k].map(function (m) { + ids.push(m.id); + }); + } // Append new ACF metaboxes (ignore those which already exist). + + + data.results.filter(function (r) { + return ids.indexOf(r.id) === -1; + }).map(function (result, i) { + // Ensure location exists. + var location = result.position; + locations[location] = locations[location] || []; // Append. + + locations[location].push({ + id: result.id, + title: result.title + }); + }); // Remove hidden ACF metaboxes. + + for (var k in locations) { + locations[k] = locations[k].filter(function (m) { + return data.hidden.indexOf(m.id) === -1; + }); + } // Update state. + + + dispatch.setAvailableMetaBoxesPerLocation(locations); + } + }); })(jQuery); -(function($, undefined){ - - acf.tinymce = { - - /* - * defaults - * - * This function will return default mce and qt settings - * - * @type function - * @date 18/8/17 - * @since 5.6.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - defaults: function(){ - - // bail early if no tinyMCEPreInit - if( typeof tinyMCEPreInit === 'undefined' ) return false; - - // vars - var defaults = { - tinymce: tinyMCEPreInit.mceInit.acf_content, - quicktags: tinyMCEPreInit.qtInit.acf_content - }; - - // return - return defaults; - }, - - - /* - * initialize - * - * This function will initialize the tinymce and quicktags instances - * - * @type function - * @date 18/8/17 - * @since 5.6.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - initialize: function( id, args ){ - - // defaults - args = acf.parseArgs(args, { - tinymce: true, - quicktags: true, - toolbar: 'full', - mode: 'visual', // visual,text - field: false - }); - - // tinymce - if( args.tinymce ) { - this.initializeTinymce( id, args ); - } - - // quicktags - if( args.quicktags ) { - this.initializeQuicktags( id, args ); - } - }, - - - /* - * initializeTinymce - * - * This function will initialize the tinymce instance - * - * @type function - * @date 18/8/17 - * @since 5.6.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - initializeTinymce: function( id, args ){ - - // vars - var $textarea = $('#'+id); - var defaults = this.defaults(); - var toolbars = acf.get('toolbars'); - var field = args.field || false; - var $field = field.$el || false; - - // bail early - if( typeof tinymce === 'undefined' ) return false; - if( !defaults ) return false; - - // check if exists - if( tinymce.get(id) ) { - return this.enable( id ); - } - - // settings - var init = $.extend( {}, defaults.tinymce, args.tinymce ); - init.id = id; - init.selector = '#' + id; - - // toolbar - var toolbar = args.toolbar; - if( toolbar && toolbars && toolbars[toolbar] ) { - - for( var i = 1; i <= 4; i++ ) { - init[ 'toolbar' + i ] = toolbars[toolbar][i] || ''; - } - } - - // event - init.setup = function( ed ){ - - ed.on('change', function(e) { - ed.save(); // save to textarea - $textarea.trigger('change'); - }); - - // Fix bug where Gutenberg does not hear "mouseup" event and tries to select multiple blocks. - ed.on('mouseup', function(e) { - var event = new MouseEvent('mouseup'); - window.dispatchEvent(event); - }); - - // Temporarily comment out. May not be necessary due to wysiwyg field actions. - //ed.on('unload', function(e) { - // acf.tinymce.remove( id ); - //}); - }; - - // disable wp_autoresize_on (no solution yet for fixed toolbar) - init.wp_autoresize_on = false; - - // Enable wpautop allowing value to save without

            tags. - // Only if the "TinyMCE Advanced" plugin hasn't already set this functionality. - if( !init.tadv_noautop ) { - init.wpautop = true; - } - - // hook for 3rd party customization - init = acf.applyFilters('wysiwyg_tinymce_settings', init, id, field); - - // z-index fix (caused too many conflicts) - //if( acf.isset(tinymce,'ui','FloatPanel') ) { - // tinymce.ui.FloatPanel.zIndex = 900000; - //} - - // store settings - tinyMCEPreInit.mceInit[ id ] = init; - - // visual tab is active - if( args.mode == 'visual' ) { - - // init - var result = tinymce.init( init ); - - // get editor - var ed = tinymce.get( id ); - - // validate - if( !ed ) { - return false; - } - - // add reference - ed.acf = args.field; - - // action - acf.doAction('wysiwyg_tinymce_init', ed, ed.id, init, field); - } - }, - - /* - * initializeQuicktags - * - * This function will initialize the quicktags instance - * - * @type function - * @date 18/8/17 - * @since 5.6.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - initializeQuicktags: function( id, args ){ - - // vars - var defaults = this.defaults(); - - // bail early - if( typeof quicktags === 'undefined' ) return false; - if( !defaults ) return false; - - // settings - var init = $.extend( {}, defaults.quicktags, args.quicktags ); - init.id = id; - - // filter - var field = args.field || false; - var $field = field.$el || false; - init = acf.applyFilters('wysiwyg_quicktags_settings', init, init.id, field); - - // store settings - tinyMCEPreInit.qtInit[ id ] = init; - - // init - var ed = quicktags( init ); - - // validate - if( !ed ) { - return false; - } - - // generate HTML - this.buildQuicktags( ed ); - - // action for 3rd party customization - acf.doAction('wysiwyg_quicktags_init', ed, ed.id, init, field); - }, - - - /* - * buildQuicktags - * - * This function will build the quicktags HTML - * - * @type function - * @date 18/8/17 - * @since 5.6.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - buildQuicktags: function( ed ){ - - var canvas, name, settings, theButtons, html, ed, id, i, use, instanceId, - defaults = ',strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,'; - - canvas = ed.canvas; - name = ed.name; - settings = ed.settings; - html = ''; - theButtons = {}; - use = ''; - instanceId = ed.id; - - // set buttons - if ( settings.buttons ) { - use = ','+settings.buttons+','; - } - for ( i in edButtons ) { - if ( ! edButtons[i] ) { - continue; - } +/***/ }), - id = edButtons[i].id; - if ( use && defaults.indexOf( ',' + id + ',' ) !== -1 && use.indexOf( ',' + id + ',' ) === -1 ) { - continue; - } +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-select2.js": +/*!**********************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-select2.js ***! + \**********************************************************************/ +/***/ (function() { - if ( ! edButtons[i].instance || edButtons[i].instance === instanceId ) { - theButtons[id] = edButtons[i]; +(function ($, undefined) { + /** + * acf.newSelect2 + * + * description + * + * @date 13/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + acf.newSelect2 = function ($select, props) { + // defaults + props = acf.parseArgs(props, { + allowNull: false, + placeholder: '', + multiple: false, + field: false, + ajax: false, + ajaxAction: '', + ajaxData: function (data) { + return data; + }, + ajaxResults: function (json) { + return json; + } + }); // initialize - if ( edButtons[i].html ) { - html += edButtons[i].html( name + '_' ); - } - } - } + if (getVersion() == 4) { + var select2 = new Select2_4($select, props); + } else { + var select2 = new Select2_3($select, props); + } // actions - if ( use && use.indexOf(',dfw,') !== -1 ) { - theButtons.dfw = new QTags.DFWButton(); - html += theButtons.dfw.html( name + '_' ); - } - if ( 'rtl' === document.getElementsByTagName( 'html' )[0].dir ) { - theButtons.textdirection = new QTags.TextDirectionButton(); - html += theButtons.textdirection.html( name + '_' ); - } + acf.doAction('new_select2', select2); // return - ed.toolbar.innerHTML = html; - ed.theButtons = theButtons; + return select2; + }; + /** + * getVersion + * + * description + * + * @date 13/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ - if ( typeof jQuery !== 'undefined' ) { - jQuery( document ).triggerHandler( 'quicktags-init', [ ed ] ); - } - - }, - - disable: function( id ){ - this.destroyTinymce( id ); - }, - - remove: function( id ){ - this.destroyTinymce( id ); - }, - - destroy: function( id ){ - this.destroyTinymce( id ); - }, - - destroyTinymce: function( id ){ - - // bail early - if( typeof tinymce === 'undefined' ) return false; - - // get editor - var ed = tinymce.get( id ); - - // bail early if no editor - if( !ed ) return false; - - // save - ed.save(); - - // destroy editor - ed.destroy(); - - // return - return true; - }, - - enable: function( id ){ - this.enableTinymce( id ); - }, - - enableTinymce: function( id ){ - - // bail early - if( typeof switchEditors === 'undefined' ) return false; - - // bail ealry if not initialized - if( typeof tinyMCEPreInit.mceInit[ id ] === 'undefined' ) return false; - - // Ensure textarea element is visible - // - Fixes bug in block editor when switching between "Block" and "Document" tabs. - $('#'+id).show(); - // toggle - switchEditors.go( id, 'tmce'); - - // return - return true; - } - }; - - var editorManager = new acf.Model({ - - // hook in before fieldsEventManager, conditions, etc - priority: 5, - - actions: { - 'prepare': 'onPrepare', - 'ready': 'onReady', - }, - onPrepare: function(){ - - // find hidden editor which may exist within a field - var $div = $('#acf-hidden-wp-editor'); - - // move to footer - if( $div.exists() ) { - $div.appendTo('body'); - } - }, - onReady: function(){ - - // Restore wp.editor functions used by tinymce removed in WP5. - if( acf.isset(window,'wp','oldEditor') ) { - wp.editor.autop = wp.oldEditor.autop; - wp.editor.removep = wp.oldEditor.removep; - } - - // bail early if no tinymce - if( !acf.isset(window,'tinymce','on') ) return; - - // restore default activeEditor - tinymce.on('AddEditor', function( data ){ - - // vars - var editor = data.editor; - - // bail early if not 'acf' - if( editor.id.substr(0, 3) !== 'acf' ) return; - - // override if 'content' exists - editor = tinymce.editors.content || editor; - - // update vars - tinymce.activeEditor = editor; - wpActiveEditor = editor.id; - }); - } - }); - + function getVersion() { + // v4 + if (acf.isset(window, 'jQuery', 'fn', 'select2', 'amd')) { + return 4; + } // v3 + + + if (acf.isset(window, 'Select2')) { + return 3; + } // return + + + return false; + } + /** + * Select2 + * + * description + * + * @date 13/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + + var Select2 = acf.Model.extend({ + setup: function ($select, props) { + $.extend(this.data, props); + this.$el = $select; + }, + initialize: function () {}, + selectOption: function (value) { + var $option = this.getOption(value); + + if (!$option.prop('selected')) { + $option.prop('selected', true).trigger('change'); + } + }, + unselectOption: function (value) { + var $option = this.getOption(value); + + if ($option.prop('selected')) { + $option.prop('selected', false).trigger('change'); + } + }, + getOption: function (value) { + return this.$('option[value="' + value + '"]'); + }, + addOption: function (option) { + // defaults + option = acf.parseArgs(option, { + id: '', + text: '', + selected: false + }); // vars + + var $option = this.getOption(option.id); // append + + if (!$option.length) { + $option = $(''); + $option.html(option.text); + $option.attr('value', option.id); + $option.prop('selected', option.selected); + this.$el.append($option); + } // chain + + + return $option; + }, + getValue: function () { + // vars + var val = []; + var $options = this.$el.find('option:selected'); // bail early if no selected + + if (!$options.exists()) { + return val; + } // sort by attribute + + + $options = $options.sort(function (a, b) { + return +a.getAttribute('data-i') - +b.getAttribute('data-i'); + }); // loop + + $options.each(function () { + var $el = $(this); + val.push({ + $el: $el, + id: $el.attr('value'), + text: $el.text() + }); + }); // return + + return val; + }, + mergeOptions: function () {}, + getChoices: function () { + // callback + var crawl = function ($parent) { + // vars + var choices = []; // loop + + $parent.children().each(function () { + // vars + var $child = $(this); // optgroup + + if ($child.is('optgroup')) { + choices.push({ + text: $child.attr('label'), + children: crawl($child) + }); // option + } else { + choices.push({ + id: $child.attr('value'), + text: $child.text() + }); + } + }); // return + + return choices; + }; // crawl + + + return crawl(this.$el); + }, + getAjaxData: function (params) { + // vars + var ajaxData = { + action: this.get('ajaxAction'), + s: params.term || '', + paged: params.page || 1 + }; // field helper + + var field = this.get('field'); + + if (field) { + ajaxData.field_key = field.get('key'); + } // callback + + + var callback = this.get('ajaxData'); + + if (callback) { + ajaxData = callback.apply(this, [ajaxData, params]); + } // filter + + + ajaxData = acf.applyFilters('select2_ajax_data', ajaxData, this.data, this.$el, field || false, this); // return + + return acf.prepareForAjax(ajaxData); + }, + getAjaxResults: function (json, params) { + // defaults + json = acf.parseArgs(json, { + results: false, + more: false + }); // callback + + var callback = this.get('ajaxResults'); + + if (callback) { + json = callback.apply(this, [json, params]); + } // filter + + + json = acf.applyFilters('select2_ajax_results', json, params, this); // return + + return json; + }, + processAjaxResults: function (json, params) { + // vars + var json = this.getAjaxResults(json, params); // change more to pagination + + if (json.more) { + json.pagination = { + more: true + }; + } // merge together groups + + + setTimeout($.proxy(this.mergeOptions, this), 1); // return + + return json; + }, + destroy: function () { + // destroy via api + if (this.$el.data('select2')) { + this.$el.select2('destroy'); + } // destory via HTML (duplicating HTML does not contain data) + + + this.$el.siblings('.select2-container').remove(); + } + }); + /** + * Select2_4 + * + * description + * + * @date 13/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var Select2_4 = Select2.extend({ + initialize: function () { + // vars + var $select = this.$el; + var options = { + width: '100%', + allowClear: this.get('allowNull'), + placeholder: this.get('placeholder'), + multiple: this.get('multiple'), + data: [], + escapeMarkup: function (markup) { + if (typeof markup !== 'string') { + return markup; + } + + return acf.escHtml(markup); + } + }; // Only use the template if SelectWoo is not loaded to work around https://github.com/woocommerce/woocommerce/pull/30473 + + if (!acf.isset(window, 'jQuery', 'fn', 'selectWoo')) { + options.templateSelection = function (selection) { + var $selection = $(''); + $selection.html(acf.escHtml(selection.text)); + $selection.data('element', selection.element); + return $selection; + }; + } // multiple + + + if (options.multiple) { + // reorder options + this.getValue().map(function (item) { + item.$el.detach().appendTo($select); + }); + } // Temporarily remove conflicting attribute. + + + var attrAjax = $select.attr('data-ajax'); + + if (attrAjax !== undefined) { + $select.removeData('ajax'); + $select.removeAttr('data-ajax'); + } // ajax + + + if (this.get('ajax')) { + options.ajax = { + url: acf.get('ajaxurl'), + delay: 250, + dataType: 'json', + type: 'post', + cache: false, + data: $.proxy(this.getAjaxData, this), + processResults: $.proxy(this.processAjaxResults, this) + }; + } // filter for 3rd party customization + //options = acf.applyFilters( 'select2_args', options, $select, this ); + + + var field = this.get('field'); + options = acf.applyFilters('select2_args', options, $select, this.data, field || false, this); // add select2 + + $select.select2(options); // get container (Select2 v4 does not return this from constructor) + + var $container = $select.next('.select2-container'); // multiple + + if (options.multiple) { + // vars + var $ul = $container.find('ul'); // sortable + + $ul.sortable({ + stop: function (e) { + // loop + $ul.find('.select2-selection__choice').each(function () { + // Attempt to use .data if it exists (select2 version < 4.0.6) or use our template data instead. + if ($(this).data('data')) { + var $option = $($(this).data('data').element); + } else { + var $option = $($(this).find('span.acf-selection').data('element')); + } // detach and re-append to end + + + $option.detach().appendTo($select); + }); // trigger change on input (JS error if trigger on select) + + $select.trigger('change'); + } + }); // on select, move to end + + $select.on('select2:select', this.proxy(function (e) { + this.getOption(e.params.data.id).detach().appendTo(this.$el); + })); + } // add handler to auto-focus searchbox (for jQuery 3.6) + + + $select.on('select2:open', () => { + $('.select2-container--open .select2-search__field').get(-1).focus(); + }); // add class + + $container.addClass('-acf'); // Add back temporarily removed attr. + + if (attrAjax !== undefined) { + $select.attr('data-ajax', attrAjax); + } // action for 3rd party customization + + + acf.doAction('select2_init', $select, options, this.data, field || false, this); + }, + mergeOptions: function () { + // vars + var $prevOptions = false; + var $prevGroup = false; // loop + + $('.select2-results__option[role="group"]').each(function () { + // vars + var $options = $(this).children('ul'); + var $group = $(this).children('strong'); // compare to previous + + if ($prevGroup && $prevGroup.text() === $group.text()) { + $prevOptions.append($options.children()); + $(this).remove(); + return; + } // update vars + + + $prevOptions = $options; + $prevGroup = $group; + }); + } + }); + /** + * Select2_3 + * + * description + * + * @date 13/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var Select2_3 = Select2.extend({ + initialize: function () { + // vars + var $select = this.$el; + var value = this.getValue(); + var multiple = this.get('multiple'); + var options = { + width: '100%', + allowClear: this.get('allowNull'), + placeholder: this.get('placeholder'), + separator: '||', + multiple: this.get('multiple'), + data: this.getChoices(), + escapeMarkup: function (string) { + return acf.escHtml(string); + }, + dropdownCss: { + 'z-index': '999999999' + }, + initSelection: function (element, callback) { + if (multiple) { + callback(value); + } else { + callback(value.shift()); + } + } + }; // get hidden input + + var $input = $select.siblings('input'); + + if (!$input.length) { + $input = $(''); + $select.before($input); + } // set input value + + + inputValue = value.map(function (item) { + return item.id; + }).join('||'); + $input.val(inputValue); // multiple + + if (options.multiple) { + // reorder options + value.map(function (item) { + item.$el.detach().appendTo($select); + }); + } // remove blank option as we have a clear all button + + + if (options.allowClear) { + options.data = options.data.filter(function (item) { + return item.id !== ''; + }); + } // remove conflicting atts + + + $select.removeData('ajax'); + $select.removeAttr('data-ajax'); // ajax + + if (this.get('ajax')) { + options.ajax = { + url: acf.get('ajaxurl'), + quietMillis: 250, + dataType: 'json', + type: 'post', + cache: false, + data: $.proxy(this.getAjaxData, this), + results: $.proxy(this.processAjaxResults, this) + }; + } // filter for 3rd party customization + + + var field = this.get('field'); + options = acf.applyFilters('select2_args', options, $select, this.data, field || false, this); // add select2 + + $input.select2(options); // get container + + var $container = $input.select2('container'); // helper to find this select's option + + var getOption = $.proxy(this.getOption, this); // multiple + + if (options.multiple) { + // vars + var $ul = $container.find('ul'); // sortable + + $ul.sortable({ + stop: function () { + // loop + $ul.find('.select2-search-choice').each(function () { + // vars + var data = $(this).data('select2Data'); + var $option = getOption(data.id); // detach and re-append to end + + $option.detach().appendTo($select); + }); // trigger change on input (JS error if trigger on select) + + $select.trigger('change'); + } + }); + } // on select, create option and move to end + + + $input.on('select2-selecting', function (e) { + // vars + var item = e.choice; + var $option = getOption(item.id); // create if doesn't exist + + if (!$option.length) { + $option = $(''); + } // detach and re-append to end + + + $option.detach().appendTo($select); + }); // add class + + $container.addClass('-acf'); // action for 3rd party customization + + acf.doAction('select2_init', $select, options, this.data, field || false, this); // change + + $input.on('change', function () { + var val = $input.val(); + + if (val.indexOf('||')) { + val = val.split('||'); + } + + $select.val(val).trigger('change'); + }); // hide select + + $select.hide(); + }, + mergeOptions: function () { + // vars + var $prevOptions = false; + var $prevGroup = false; // loop + + $('#select2-drop .select2-result-with-children').each(function () { + // vars + var $options = $(this).children('ul'); + var $group = $(this).children('.select2-result-label'); // compare to previous + + if ($prevGroup && $prevGroup.text() === $group.text()) { + $prevGroup.append($options.children()); + $(this).remove(); + return; + } // update vars + + + $prevOptions = $options; + $prevGroup = $group; + }); + }, + getAjaxData: function (term, page) { + // create Select2 v4 params + var params = { + term: term, + page: page + }; // filter + + var field = this.get('field'); + params = acf.applyFilters('select2_ajax_data', params, this.data, this.$el, field || false, this); // return + + return Select2.prototype.getAjaxData.apply(this, [params]); + } + }); // manager + + var select2Manager = new acf.Model({ + priority: 5, + wait: 'prepare', + actions: { + duplicate: 'onDuplicate' + }, + initialize: function () { + // vars + var locale = acf.get('locale'); + var rtl = acf.get('rtl'); + var l10n = acf.get('select2L10n'); + var version = getVersion(); // bail ealry if no l10n + + if (!l10n) { + return false; + } // bail early if 'en' + + + if (locale.indexOf('en') === 0) { + return false; + } // initialize + + + if (version == 4) { + this.addTranslations4(); + } else if (version == 3) { + this.addTranslations3(); + } + }, + addTranslations4: function () { + // vars + var l10n = acf.get('select2L10n'); + var locale = acf.get('locale'); // modify local to match html[lang] attribute (used by Select2) + + locale = locale.replace('_', '-'); // select2L10n + + var select2L10n = { + errorLoading: function () { + return l10n.load_fail; + }, + inputTooLong: function (args) { + var overChars = args.input.length - args.maximum; + + if (overChars > 1) { + return l10n.input_too_long_n.replace('%d', overChars); + } + + return l10n.input_too_long_1; + }, + inputTooShort: function (args) { + var remainingChars = args.minimum - args.input.length; + + if (remainingChars > 1) { + return l10n.input_too_short_n.replace('%d', remainingChars); + } + + return l10n.input_too_short_1; + }, + loadingMore: function () { + return l10n.load_more; + }, + maximumSelected: function (args) { + var maximum = args.maximum; + + if (maximum > 1) { + return l10n.selection_too_long_n.replace('%d', maximum); + } + + return l10n.selection_too_long_1; + }, + noResults: function () { + return l10n.matches_0; + }, + searching: function () { + return l10n.searching; + } + }; // append + + jQuery.fn.select2.amd.define('select2/i18n/' + locale, [], function () { + return select2L10n; + }); + }, + addTranslations3: function () { + // vars + var l10n = acf.get('select2L10n'); + var locale = acf.get('locale'); // modify local to match html[lang] attribute (used by Select2) + + locale = locale.replace('_', '-'); // select2L10n + + var select2L10n = { + formatMatches: function (matches) { + if (matches > 1) { + return l10n.matches_n.replace('%d', matches); + } + + return l10n.matches_1; + }, + formatNoMatches: function () { + return l10n.matches_0; + }, + formatAjaxError: function () { + return l10n.load_fail; + }, + formatInputTooShort: function (input, min) { + var remainingChars = min - input.length; + + if (remainingChars > 1) { + return l10n.input_too_short_n.replace('%d', remainingChars); + } + + return l10n.input_too_short_1; + }, + formatInputTooLong: function (input, max) { + var overChars = input.length - max; + + if (overChars > 1) { + return l10n.input_too_long_n.replace('%d', overChars); + } + + return l10n.input_too_long_1; + }, + formatSelectionTooBig: function (maximum) { + if (maximum > 1) { + return l10n.selection_too_long_n.replace('%d', maximum); + } + + return l10n.selection_too_long_1; + }, + formatLoadMore: function () { + return l10n.load_more; + }, + formatSearching: function () { + return l10n.searching; + } + }; // ensure locales exists + + $.fn.select2.locales = $.fn.select2.locales || {}; // append + + $.fn.select2.locales[locale] = select2L10n; + $.extend($.fn.select2.defaults, select2L10n); + }, + onDuplicate: function ($el, $el2) { + $el2.find('.select2-container').remove(); + } + }); })(jQuery); -(function($, undefined){ - - /** - * Validator - * - * The model for validating forms - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - var Validator = acf.Model.extend({ - - /** @var string The model identifier. */ - id: 'Validator', - - /** @var object The model data. */ - data: { - - /** @var array The form errors. */ - errors: [], - - /** @var object The form notice. */ - notice: null, - - /** @var string The form status. loading, invalid, valid */ - status: '' - }, - - /** @var object The model events. */ - events: { - 'changed:status': 'onChangeStatus' - }, - - /** - * addErrors - * - * Adds errors to the form. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param array errors An array of errors. - * @return void - */ - addErrors: function( errors ){ - errors.map( this.addError, this ); - }, - - /** - * addError - * - * Adds and error to the form. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object error An error object containing input and message. - * @return void - */ - addError: function( error ){ - this.data.errors.push( error ); - }, - - /** - * hasErrors - * - * Returns true if the form has errors. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return bool - */ - hasErrors: function(){ - return this.data.errors.length; - }, - - /** - * clearErrors - * - * Removes any errors. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - clearErrors: function(){ - return this.data.errors = []; - }, - - /** - * getErrors - * - * Returns the forms errors. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return array - */ - getErrors: function(){ - return this.data.errors; - }, - - /** - * getFieldErrors - * - * Returns the forms field errors. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return array - */ - getFieldErrors: function(){ - - // vars - var errors = []; - var inputs = []; - - // loop - this.getErrors().map(function(error){ - - // bail early if global - if( !error.input ) return; - - // update if exists - var i = inputs.indexOf(error.input); - if( i > -1 ) { - errors[ i ] = error; - - // update - } else { - errors.push( error ); - inputs.push( error.input ); - } - }); - - // return - return errors; - }, - - /** - * getGlobalErrors - * - * Returns the forms global errors (errors without a specific input). - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return array - */ - getGlobalErrors: function(){ - - // return array of errors that contain no input - return this.getErrors().filter(function(error){ - return !error.input; - }); - }, - - /** - * showErrors - * - * Displays all errors for this form. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - showErrors: function(){ - - // bail early if no errors - if( !this.hasErrors() ) { - return; - } - - // vars - var fieldErrors = this.getFieldErrors(); - var globalErrors = this.getGlobalErrors(); - - // vars - var errorCount = 0; - var $scrollTo = false; - - // loop - fieldErrors.map(function( error ){ - - // get input - var $input = this.$('[name="' + error.input + '"]').first(); - - // if $_POST value was an array, this $input may not exist - if( !$input.length ) { - $input = this.$('[name^="' + error.input + '"]').first(); - } - - // bail early if input doesn't exist - if( !$input.length ) { - return; - } - - // increase - errorCount++; - - // get field - var field = acf.getClosestField( $input ); - - // show error - field.showError( error.message ); - - // set $scrollTo - if( !$scrollTo ) { - $scrollTo = field.$el; - } - }, this); - - // errorMessage - var errorMessage = acf.__('Validation failed'); - globalErrors.map(function( error ){ - errorMessage += '. ' + error.message; - }); - if( errorCount == 1 ) { - errorMessage += '. ' + acf.__('1 field requires attention'); - } else if( errorCount > 1 ) { - errorMessage += '. ' + acf.__('%d fields require attention').replace('%d', errorCount); - } - - // notice - if( this.has('notice') ) { - this.get('notice').update({ - type: 'error', - text: errorMessage - }); - } else { - var notice = acf.newNotice({ - type: 'error', - text: errorMessage, - target: this.$el - }); - this.set('notice', notice); - } - - // if no $scrollTo, set to message - if( !$scrollTo ) { - $scrollTo = this.get('notice').$el; - } - - // timeout - setTimeout(function(){ - $("html, body").animate({ scrollTop: $scrollTo.offset().top - ( $(window).height() / 2 ) }, 500); - }, 10); - }, - - /** - * onChangeStatus - * - * Update the form class when changing the 'status' data - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object e The event object. - * @param jQuery $el The form element. - * @param string value The new status. - * @param string prevValue The old status. - * @return void - */ - onChangeStatus: function( e, $el, value, prevValue ){ - this.$el.removeClass('is-'+prevValue).addClass('is-'+value); - }, - - /** - * validate - * - * Vaildates the form via AJAX. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object args A list of settings to customize the validation process. - * @return bool True if the form is valid. - */ - validate: function( args ){ - - // default args - args = acf.parseArgs(args, { - - // trigger event - event: false, - - // reset the form after submit - reset: false, - - // loading callback - loading: function(){}, - - // complete callback - complete: function(){}, - - // failure callback - failure: function(){}, - - // success callback - success: function( $form ){ - $form.submit(); - } - }); - - // return true if is valid - allows form submit - if( this.get('status') == 'valid' ) { - return true; - } - - // return false if is currently validating - prevents form submit - if( this.get('status') == 'validating' ) { - return false; - } - - // return true if no ACF fields exist (no need to validate) - if( !this.$('.acf-field').length ) { - return true; - } - - // if event is provided, create a new success callback. - if( args.event ) { - var event = $.Event(null, args.event); - args.success = function(){ - acf.enableSubmit( $(event.target) ).trigger( event ); - } - } - - // action for 3rd party - acf.doAction('validation_begin', this.$el); - - // lock form - acf.lockForm( this.$el ); - - // loading callback - args.loading( this.$el, this ); - - // update status - this.set('status', 'validating'); - - // success callback - var onSuccess = function( json ){ - - // validate - if( !acf.isAjaxSuccess(json) ) { - return; - } - - // filter - var data = acf.applyFilters('validation_complete', json.data, this.$el, this); - - // add errors - if( !data.valid ) { - this.addErrors( data.errors ); - } - }; - - // complete - var onComplete = function(){ - - // unlock form - acf.unlockForm( this.$el ); - - // failure - if( this.hasErrors() ) { - - // update status - this.set('status', 'invalid'); - - // action - acf.doAction('validation_failure', this.$el, this); - - // display errors - this.showErrors(); - - // failure callback - args.failure( this.$el, this ); - - // success - } else { - - // update status - this.set('status', 'valid'); - - // remove previous error message - if( this.has('notice') ) { - this.get('notice').update({ - type: 'success', - text: acf.__('Validation successful'), - timeout: 1000 - }); - } - - // action - acf.doAction('validation_success', this.$el, this); - acf.doAction('submit', this.$el); - - // success callback (submit form) - args.success( this.$el, this ); - - // lock form - acf.lockForm( this.$el ); - - // reset - if( args.reset ) { - this.reset(); - } - } - - // complete callback - args.complete( this.$el, this ); - - // clear errors - this.clearErrors(); - }; - - // serialize form data - var data = acf.serialize( this.$el ); - data.action = 'acf/validate_save_post'; - - // ajax - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(data), - type: 'post', - dataType: 'json', - context: this, - success: onSuccess, - complete: onComplete - }); - - // return false to fail validation and allow AJAX - return false - }, - - /** - * setup - * - * Called during the constructor function to setup this instance - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $form The form element. - * @return void - */ - setup: function( $form ){ - - // set $el - this.$el = $form; - }, - - /** - * reset - * - * Rests the validation to be used again. - * - * @date 6/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - reset: function(){ - - // reset data - this.set('errors', []); - this.set('notice', null); - this.set('status', ''); - - // unlock form - acf.unlockForm( this.$el ); - } - }); - - /** - * getValidator - * - * Returns the instance for a given form element. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $el The form element. - * @return object - */ - var getValidator = function( $el ){ - - // instantiate - var validator = $el.data('acf'); - if( !validator ) { - validator = new Validator( $el ); - } - - // return - return validator; - }; - - /** - * acf.validateForm - * - * A helper function for the Validator.validate() function. - * Returns true if form is valid, or fetches a validation request and returns false. - * - * @date 4/4/18 - * @since 5.6.9 - * - * @param object args A list of settings to customize the validation process. - * @return bool - */ - - acf.validateForm = function( args ){ - return getValidator( args.form ).validate( args ); - }; - - /** - * acf.enableSubmit - * - * Enables a submit button and returns the element. - * - * @date 30/8/18 - * @since 5.7.4 - * - * @param jQuery $submit The submit button. - * @return jQuery - */ - acf.enableSubmit = function( $submit ){ - return $submit.removeClass('disabled'); - }; - - /** - * acf.disableSubmit - * - * Disables a submit button and returns the element. - * - * @date 30/8/18 - * @since 5.7.4 - * - * @param jQuery $submit The submit button. - * @return jQuery - */ - acf.disableSubmit = function( $submit ){ - return $submit.addClass('disabled'); - }; - - /** - * acf.showSpinner - * - * Shows the spinner element. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $spinner The spinner element. - * @return jQuery - */ - acf.showSpinner = function( $spinner ){ - $spinner.addClass('is-active'); // add class (WP > 4.2) - $spinner.css('display', 'inline-block'); // css (WP < 4.2) - return $spinner; - }; - - /** - * acf.hideSpinner - * - * Hides the spinner element. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $spinner The spinner element. - * @return jQuery - */ - acf.hideSpinner = function( $spinner ){ - $spinner.removeClass('is-active'); // add class (WP > 4.2) - $spinner.css('display', 'none'); // css (WP < 4.2) - return $spinner; - }; - - /** - * acf.lockForm - * - * Locks a form by disabeling its primary inputs and showing a spinner. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $form The form element. - * @return jQuery - */ - acf.lockForm = function( $form ){ - - // vars - var $wrap = findSubmitWrap( $form ); - var $submit = $wrap.find('.button, [type="submit"]'); - var $spinner = $wrap.find('.spinner, .acf-spinner'); - - // hide all spinners (hides the preview spinner) - acf.hideSpinner( $spinner ); - - // lock - acf.disableSubmit( $submit ); - acf.showSpinner( $spinner.last() ); - return $form; - }; - - /** - * acf.unlockForm - * - * Unlocks a form by enabeling its primary inputs and hiding all spinners. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $form The form element. - * @return jQuery - */ - acf.unlockForm = function( $form ){ - - // vars - var $wrap = findSubmitWrap( $form ); - var $submit = $wrap.find('.button, [type="submit"]'); - var $spinner = $wrap.find('.spinner, .acf-spinner'); - - // unlock - acf.enableSubmit( $submit ); - acf.hideSpinner( $spinner ); - return $form; - }; - - /** - * findSubmitWrap - * - * An internal function to find the 'primary' form submit wrapping element. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $form The form element. - * @return jQuery - */ - var findSubmitWrap = function( $form ){ - - // default post submit div - var $wrap = $form.find('#submitdiv'); - if( $wrap.length ) { - return $wrap; - } - - // 3rd party publish box - var $wrap = $form.find('#submitpost'); - if( $wrap.length ) { - return $wrap; - } - - // term, user - var $wrap = $form.find('p.submit').last(); - if( $wrap.length ) { - return $wrap; - } - - // front end form - var $wrap = $form.find('.acf-form-submit'); - if( $wrap.length ) { - return $wrap; - } - - // default - return $form; - }; - /** - * A debounced function to trigger a form submission. - * - * @date 15/07/2020 - * @since 5.9.0 - * - * @param type Var Description. - * @return type Description. - */ - var submitFormDebounced = acf.debounce(function( $form ){ - $form.submit(); - }); +/***/ }), - /** - * acf.validation - * - * Global validation logic - * - * @date 4/4/18 - * @since 5.6.9 - * - * @param void - * @return void - */ - - acf.validation = new acf.Model({ - - /** @var string The model identifier. */ - id: 'validation', - - /** @var bool The active state. Set to false before 'prepare' to prevent validation. */ - active: true, - - /** @var string The model initialize time. */ - wait: 'prepare', - - /** @var object The model actions. */ - actions: { - 'ready': 'addInputEvents', - 'append': 'addInputEvents' - }, - - /** @var object The model events. */ - events: { - 'click input[type="submit"]': 'onClickSubmit', - 'click button[type="submit"]': 'onClickSubmit', - //'click #editor .editor-post-publish-button': 'onClickSubmitGutenberg', - 'click #save-post': 'onClickSave', - 'submit form#post': 'onSubmitPost', - 'submit form': 'onSubmit', - }, - - /** - * initialize - * - * Called when initializing the model. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - initialize: function(){ - - // check 'validation' setting - if( !acf.get('validation') ) { - this.active = false; - this.actions = {}; - this.events = {}; - } - }, - - /** - * enable - * - * Enables validation. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - enable: function(){ - this.active = true; - }, - - /** - * disable - * - * Disables validation. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - disable: function(){ - this.active = false; - }, - - /** - * reset - * - * Rests the form validation to be used again - * - * @date 6/9/18 - * @since 5.7.5 - * - * @param jQuery $form The form element. - * @return void - */ - reset: function( $form ){ - getValidator( $form ).reset(); - }, - - /** - * addInputEvents - * - * Adds 'invalid' event listeners to HTML inputs. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $el The element being added / readied. - * @return void - */ - addInputEvents: function( $el ){ - - // Bug exists in Safari where custom "invalid" handeling prevents draft from saving. - if( acf.get('browser') === 'safari' ) - return; - - // vars - var $inputs = $('.acf-field [name]', $el); - - // check - if( $inputs.length ) { - this.on( $inputs, 'invalid', 'onInvalid' ); - } - }, - - /** - * onInvalid - * - * Callback for the 'invalid' event. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object e The event object. - * @param jQuery $el The input element. - * @return void - */ - onInvalid: function( e, $el ){ - - // prevent default - // - prevents browser error message - // - also fixes chrome bug where 'hidden-by-tab' field throws focus error - e.preventDefault(); - - // vars - var $form = $el.closest('form'); - - // check form exists - if( $form.length ) { - - // add error to validator - getValidator( $form ).addError({ - input: $el.attr('name'), - message: acf.strEscape( e.target.validationMessage ) - }); - - // trigger submit on $form - // - allows for "save", "preview" and "publish" to work - submitFormDebounced( $form ); - } - }, - - /** - * onClickSubmit - * - * Callback when clicking submit. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object e The event object. - * @param jQuery $el The input element. - * @return void - */ - onClickSubmit: function( e, $el ){ - - // store the "click event" for later use in this.onSubmit() - this.set('originalEvent', e); - }, - - /** - * onClickSave - * - * Set ignore to true when saving a draft. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object e The event object. - * @param jQuery $el The input element. - * @return void - */ - onClickSave: function( e, $el ) { - this.set('ignore', true); - }, - - /** - * onClickSubmitGutenberg - * - * Custom validation event for the gutenberg editor. - * - * @date 29/10/18 - * @since 5.8.0 - * - * @param object e The event object. - * @param jQuery $el The input element. - * @return void - */ - onClickSubmitGutenberg: function( e, $el ){ - - // validate - var valid = acf.validateForm({ - form: $('#editor'), - event: e, - reset: true, - failure: function( $form, validator ){ - var $notice = validator.get('notice').$el; - $notice.appendTo('.components-notice-list'); - $notice.find('.acf-notice-dismiss').removeClass('small'); - } - }); - - // if not valid, stop event and allow validation to continue - if( !valid ) { - e.preventDefault(); - e.stopImmediatePropagation(); - } - }, - - /** - * onSubmitPost - * - * Callback when the 'post' form is submit. - * - * @date 5/3/19 - * @since 5.7.13 - * - * @param object e The event object. - * @param jQuery $el The input element. - * @return void - */ - onSubmitPost: function( e, $el ) { - - // Check if is preview. - if( $('input#wp-preview').val() === 'dopreview' ) { - - // Ignore validation. - this.set('ignore', true); - - // Unlock form to fix conflict with core "submit.edit-post" event causing all submit buttons to be disabled. - acf.unlockForm( $el ) - } - }, - - /** - * onSubmit - * - * Callback when the form is submit. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object e The event object. - * @param jQuery $el The input element. - * @return void - */ - onSubmit: function( e, $el ){ - - // Allow form to submit if... - if( - // Validation has been disabled. - !this.active - - // Or this event is to be ignored. - || this.get('ignore') - - // Or this event has already been prevented. - || e.isDefaultPrevented() - ) { - // Return early and call reset function. - return this.allowSubmit(); - } - - // Validate form. - var valid = acf.validateForm({ - form: $el, - event: this.get('originalEvent') - }); - - // If not valid, stop event to prevent form submit. - if( !valid ) { - e.preventDefault(); - } - }, - - /** - * allowSubmit - * - * Resets data during onSubmit when the form is allowed to submit. - * - * @date 5/3/19 - * @since 5.7.13 - * - * @param void - * @return void - */ - allowSubmit: function(){ - - // Reset "ignore" state. - this.set('ignore', false); - - // Reset "originalEvent" object. - this.set('originalEvent', false); - - // Return true - return true; - } - }); - - var gutenbergValidation = new acf.Model({ - wait: 'prepare', - initialize: function(){ - - // Bail early if not Gutenberg. - if( !acf.isGutenberg() ) { - return; - } - - // Custommize the editor. - this.customizeEditor(); - }, - customizeEditor: function(){ - - // Extract vars. - var editor = wp.data.dispatch( 'core/editor' ); - var editorSelect = wp.data.select( 'core/editor' ); - var notices = wp.data.dispatch( 'core/notices' ); - - // Backup original method. - var savePost = editor.savePost; - - // Listen for changes to post status and perform actions: - // a) Enable validation for "publish" action. - // b) Remember last non "publish" status used for restoring after validation fail. - var useValidation = false; - var lastPostStatus = ''; - wp.data.subscribe(function() { - var postStatus = editorSelect.getEditedPostAttribute( 'status' ); - useValidation = ( postStatus === 'publish' || postStatus === 'future' ); - lastPostStatus = ( postStatus !== 'publish' ) ? postStatus : lastPostStatus; - }); +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-tinymce.js": +/*!**********************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-tinymce.js ***! + \**********************************************************************/ +/***/ (function() { - // Create validation version. - editor.savePost = function( options ){ - options = options || {}; +(function ($, undefined) { + acf.tinymce = { + /* + * defaults + * + * This function will return default mce and qt settings + * + * @type function + * @date 18/8/17 + * @since 5.6.0 + * + * @param $post_id (int) + * @return $post_id (int) + */ + defaults: function () { + // bail early if no tinyMCEPreInit + if (typeof tinyMCEPreInit === 'undefined') return false; // vars - // Backup vars. - var _this = this; - var _args = arguments; + var defaults = { + tinymce: tinyMCEPreInit.mceInit.acf_content, + quicktags: tinyMCEPreInit.qtInit.acf_content + }; // return - // Perform validation within a Promise. - return new Promise(function( resolve, reject ) { - - // Bail early if is autosave or preview. - if( options.isAutosave || options.isPreview ) { - return resolve( 'Validation ignored (autosave).' ); - } + return defaults; + }, - // Bail early if validation is not needed. - if( !useValidation ) { - return resolve( 'Validation ignored (draft).' ); - } + /* + * initialize + * + * This function will initialize the tinymce and quicktags instances + * + * @type function + * @date 18/8/17 + * @since 5.6.0 + * + * @param $post_id (int) + * @return $post_id (int) + */ + initialize: function (id, args) { + // defaults + args = acf.parseArgs(args, { + tinymce: true, + quicktags: true, + toolbar: 'full', + mode: 'visual', + // visual,text + field: false + }); // tinymce - // Validate the editor form. - var valid = acf.validateForm({ - form: $('#editor'), - reset: true, - complete: function( $form, validator ){ + if (args.tinymce) { + this.initializeTinymce(id, args); + } // quicktags - // Always unlock the form after AJAX. - editor.unlockPostSaving( 'acf' ); - }, - failure: function( $form, validator ){ - - // Get validation error and append to Gutenberg notices. - var notice = validator.get('notice'); - notices.createErrorNotice( notice.get('text'), { - id: 'acf-validation', - isDismissible: true - }); - notice.remove(); - // Restore last non "publish" status. - if( lastPostStatus ) { - editor.editPost({ - status: lastPostStatus - }); - } + if (args.quicktags) { + this.initializeQuicktags(id, args); + } + }, - // Rejext promise and prevent savePost(). - reject( 'Validation failed.' ); - }, - success: function(){ - notices.removeNotice( 'acf-validation' ); - - // Resolve promise and allow savePost(). - resolve( 'Validation success.' ); - } - }); + /* + * initializeTinymce + * + * This function will initialize the tinymce instance + * + * @type function + * @date 18/8/17 + * @since 5.6.0 + * + * @param $post_id (int) + * @return $post_id (int) + */ + initializeTinymce: function (id, args) { + // vars + var $textarea = $('#' + id); + var defaults = this.defaults(); + var toolbars = acf.get('toolbars'); + var field = args.field || false; + var $field = field.$el || false; // bail early - // Resolve promise and allow savePost() if no validation is needed. - if( valid ) { - resolve( 'Validation bypassed.' ); - - // Otherwise, lock the form and wait for AJAX response. - } else { - editor.lockPostSaving( 'acf' ); - } - }).then(function(){ - return savePost.apply(_this, _args); - }).catch(function(err){ - // Nothing to do here, user is alerted of validation issues. - }); - }; - } - }); - + if (typeof tinymce === 'undefined') return false; + if (!defaults) return false; // check if exists + + if (tinymce.get(id)) { + return this.enable(id); + } // settings + + + var init = $.extend({}, defaults.tinymce, args.tinymce); + init.id = id; + init.selector = '#' + id; // toolbar + + var toolbar = args.toolbar; + + if (toolbar && toolbars && toolbars[toolbar]) { + for (var i = 1; i <= 4; i++) { + init['toolbar' + i] = toolbars[toolbar][i] || ''; + } + } // event + + + init.setup = function (ed) { + ed.on('change', function (e) { + ed.save(); // save to textarea + + $textarea.trigger('change'); + }); // Fix bug where Gutenberg does not hear "mouseup" event and tries to select multiple blocks. + + ed.on('mouseup', function (e) { + var event = new MouseEvent('mouseup'); + window.dispatchEvent(event); + }); // Temporarily comment out. May not be necessary due to wysiwyg field actions. + //ed.on('unload', function(e) { + // acf.tinymce.remove( id ); + //}); + }; // disable wp_autoresize_on (no solution yet for fixed toolbar) + + + init.wp_autoresize_on = false; // Enable wpautop allowing value to save without

            tags. + // Only if the "TinyMCE Advanced" plugin hasn't already set this functionality. + + if (!init.tadv_noautop) { + init.wpautop = true; + } // hook for 3rd party customization + + + init = acf.applyFilters('wysiwyg_tinymce_settings', init, id, field); // z-index fix (caused too many conflicts) + //if( acf.isset(tinymce,'ui','FloatPanel') ) { + // tinymce.ui.FloatPanel.zIndex = 900000; + //} + // store settings + + tinyMCEPreInit.mceInit[id] = init; // visual tab is active + + if (args.mode == 'visual') { + // init + var result = tinymce.init(init); // get editor + + var ed = tinymce.get(id); // validate + + if (!ed) { + return false; + } // add reference + + + ed.acf = args.field; // action + + acf.doAction('wysiwyg_tinymce_init', ed, ed.id, init, field); + } + }, + + /* + * initializeQuicktags + * + * This function will initialize the quicktags instance + * + * @type function + * @date 18/8/17 + * @since 5.6.0 + * + * @param $post_id (int) + * @return $post_id (int) + */ + initializeQuicktags: function (id, args) { + // vars + var defaults = this.defaults(); // bail early + + if (typeof quicktags === 'undefined') return false; + if (!defaults) return false; // settings + + var init = $.extend({}, defaults.quicktags, args.quicktags); + init.id = id; // filter + + var field = args.field || false; + var $field = field.$el || false; + init = acf.applyFilters('wysiwyg_quicktags_settings', init, init.id, field); // store settings + + tinyMCEPreInit.qtInit[id] = init; // init + + var ed = quicktags(init); // validate + + if (!ed) { + return false; + } // generate HTML + + + this.buildQuicktags(ed); // action for 3rd party customization + + acf.doAction('wysiwyg_quicktags_init', ed, ed.id, init, field); + }, + + /* + * buildQuicktags + * + * This function will build the quicktags HTML + * + * @type function + * @date 18/8/17 + * @since 5.6.0 + * + * @param $post_id (int) + * @return $post_id (int) + */ + buildQuicktags: function (ed) { + var canvas, + name, + settings, + theButtons, + html, + ed, + id, + i, + use, + instanceId, + defaults = ',strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,'; + canvas = ed.canvas; + name = ed.name; + settings = ed.settings; + html = ''; + theButtons = {}; + use = ''; + instanceId = ed.id; // set buttons + + if (settings.buttons) { + use = ',' + settings.buttons + ','; + } + + for (i in edButtons) { + if (!edButtons[i]) { + continue; + } + + id = edButtons[i].id; + + if (use && defaults.indexOf(',' + id + ',') !== -1 && use.indexOf(',' + id + ',') === -1) { + continue; + } + + if (!edButtons[i].instance || edButtons[i].instance === instanceId) { + theButtons[id] = edButtons[i]; + + if (edButtons[i].html) { + html += edButtons[i].html(name + '_'); + } + } + } + + if (use && use.indexOf(',dfw,') !== -1) { + theButtons.dfw = new QTags.DFWButton(); + html += theButtons.dfw.html(name + '_'); + } + + if ('rtl' === document.getElementsByTagName('html')[0].dir) { + theButtons.textdirection = new QTags.TextDirectionButton(); + html += theButtons.textdirection.html(name + '_'); + } + + ed.toolbar.innerHTML = html; + ed.theButtons = theButtons; + + if (typeof jQuery !== 'undefined') { + jQuery(document).triggerHandler('quicktags-init', [ed]); + } + }, + disable: function (id) { + this.destroyTinymce(id); + }, + remove: function (id) { + this.destroyTinymce(id); + }, + destroy: function (id) { + this.destroyTinymce(id); + }, + destroyTinymce: function (id) { + // bail early + if (typeof tinymce === 'undefined') return false; // get editor + + var ed = tinymce.get(id); // bail early if no editor + + if (!ed) return false; // save + + ed.save(); // destroy editor + + ed.destroy(); // return + + return true; + }, + enable: function (id) { + this.enableTinymce(id); + }, + enableTinymce: function (id) { + // bail early + if (typeof switchEditors === 'undefined') return false; // bail ealry if not initialized + + if (typeof tinyMCEPreInit.mceInit[id] === 'undefined') return false; // Ensure textarea element is visible + // - Fixes bug in block editor when switching between "Block" and "Document" tabs. + + $('#' + id).show(); // toggle + + switchEditors.go(id, 'tmce'); // return + + return true; + } + }; + var editorManager = new acf.Model({ + // hook in before fieldsEventManager, conditions, etc + priority: 5, + actions: { + prepare: 'onPrepare', + ready: 'onReady' + }, + onPrepare: function () { + // find hidden editor which may exist within a field + var $div = $('#acf-hidden-wp-editor'); // move to footer + + if ($div.exists()) { + $div.appendTo('body'); + } + }, + onReady: function () { + // Restore wp.editor functions used by tinymce removed in WP5. + if (acf.isset(window, 'wp', 'oldEditor')) { + wp.editor.autop = wp.oldEditor.autop; + wp.editor.removep = wp.oldEditor.removep; + } // bail early if no tinymce + + + if (!acf.isset(window, 'tinymce', 'on')) return; // restore default activeEditor + + tinymce.on('AddEditor', function (data) { + // vars + var editor = data.editor; // bail early if not 'acf' + + if (editor.id.substr(0, 3) !== 'acf') return; // override if 'content' exists + + editor = tinymce.editors.content || editor; // update vars + + tinymce.activeEditor = editor; + wpActiveEditor = editor.id; + }); + } + }); })(jQuery); -(function($, undefined){ - - /** - * refreshHelper - * - * description - * - * @date 1/7/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var refreshHelper = new acf.Model({ - priority: 90, - actions: { - 'new_field': 'refresh', - 'show_field': 'refresh', - 'hide_field': 'refresh', - 'remove_field': 'refresh', - 'unmount_field': 'refresh', - 'remount_field': 'refresh', - }, - refresh: function(){ - acf.refresh(); - } - }); - - /** - * mountHelper - * - * Adds compatiblity for the 'unmount' and 'remount' actions added in 5.8.0 - * - * @date 7/3/19 - * @since 5.7.14 - * - * @param void - * @return void - */ - var mountHelper = new acf.Model({ - priority: 1, - actions: { - 'sortstart': 'onSortstart', - 'sortstop': 'onSortstop' - }, - onSortstart: function( $item ){ - acf.doAction('unmount', $item); - }, - onSortstop: function( $item ){ - acf.doAction('remount', $item); - } - }); - - /** - * sortableHelper - * - * Adds compatibility for sorting a

            element - * - * @date 6/3/18 - * @since 5.6.9 - * - * @param void - * @return void - */ - - var sortableHelper = new acf.Model({ - actions: { - 'sortstart': 'onSortstart' - }, - onSortstart: function( $item, $placeholder ){ - - // if $item is a tr, apply some css to the elements - if( $item.is('tr') ) { - - // replace $placeholder children with a single td - // fixes "width calculation issues" due to conditional logic hiding some children - $placeholder.html(''); - - // add helper class to remove absolute positioning - $item.addClass('acf-sortable-tr-helper'); - - // set fixed widths for children - $item.children().each(function(){ - $(this).width( $(this).width() ); - }); - - // mimic height - $placeholder.height( $item.height() + 'px' ); - - // remove class - $item.removeClass('acf-sortable-tr-helper'); - } - } - }); - - /** - * duplicateHelper - * - * Fixes browser bugs when duplicating an element - * - * @date 6/3/18 - * @since 5.6.9 - * - * @param void - * @return void - */ - - var duplicateHelper = new acf.Model({ - actions: { - 'after_duplicate': 'onAfterDuplicate' - }, - onAfterDuplicate: function( $el, $el2 ){ - - // get original values - var vals = []; - $el.find('select').each(function(i){ - vals.push( $(this).val() ); - }); - - // set duplicate values - $el2.find('select').each(function(i){ - $(this).val( vals[i] ); - }); - } - }); - - /** - * tableHelper - * - * description - * - * @date 6/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var tableHelper = new acf.Model({ - - id: 'tableHelper', - - priority: 20, - - actions: { - 'refresh': 'renderTables' - }, - - renderTables: function( $el ){ - - // loop - var self = this; - $('.acf-table:visible').each(function(){ - self.renderTable( $(this) ); - }); - }, - - renderTable: function( $table ){ - - // vars - var $ths = $table.find('> thead > tr:visible > th[data-key]'); - var $tds = $table.find('> tbody > tr:visible > td[data-key]'); - - // bail early if no thead - if( !$ths.length || !$tds.length ) { - return false; - } - - - // visiblity - $ths.each(function( i ){ - - // vars - var $th = $(this); - var key = $th.data('key'); - var $cells = $tds.filter('[data-key="' + key + '"]'); - var $hidden = $cells.filter('.acf-hidden'); - - // always remove empty and allow cells to be hidden - $cells.removeClass('acf-empty'); - - // hide $th if all cells are hidden - if( $cells.length === $hidden.length ) { - acf.hide( $th ); - - // force all hidden cells to appear empty - } else { - acf.show( $th ); - $hidden.addClass('acf-empty'); - } - }); - - - // clear width - $ths.css('width', 'auto'); - - // get visible - $ths = $ths.not('.acf-hidden'); - - // vars - var availableWidth = 100; - var colspan = $ths.length; - - // set custom widths first - var $fixedWidths = $ths.filter('[data-width]'); - $fixedWidths.each(function(){ - var width = $(this).data('width'); - $(this).css('width', width + '%'); - availableWidth -= width; - }); - - // set auto widths - var $auoWidths = $ths.not('[data-width]'); - if( $auoWidths.length ) { - var width = availableWidth / $auoWidths.length; - $auoWidths.css('width', width + '%'); - availableWidth = 0; - } - - // avoid stretching issue - if( availableWidth > 0 ) { - $ths.last().css('width', 'auto'); - } - - - // update colspan on collapsed - $tds.filter('.-collapsed-target').each(function(){ - - // vars - var $td = $(this); - - // check if collapsed - if( $td.parent().hasClass('-collapsed') ) { - $td.attr('colspan', $ths.length); - } else { - $td.removeAttr('colspan'); - } - }); - } - }); - - - /** - * fieldsHelper - * - * description - * - * @date 6/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var fieldsHelper = new acf.Model({ - - id: 'fieldsHelper', - - priority: 30, - - actions: { - 'refresh': 'renderGroups' - }, - - renderGroups: function(){ - - // loop - var self = this; - $('.acf-fields:visible').each(function(){ - self.renderGroup( $(this) ); - }); - }, - - renderGroup: function( $el ){ - - // vars - var top = 0; - var height = 0; - var $row = $(); - - // get fields - var $fields = $el.children('.acf-field[data-width]:visible'); - - // bail early if no fields - if( !$fields.length ) { - return false; - } - - // bail ealry if is .-left - if( $el.hasClass('-left') ) { - $fields.removeAttr('data-width'); - $fields.css('width', 'auto'); - return false; - } - - // reset fields - $fields.removeClass('-r0 -c0').css({'min-height': 0}); - - // loop - $fields.each(function( i ){ - - // vars - var $field = $(this); - var position = $field.position(); - var thisTop = Math.ceil( position.top ); - var thisLeft = Math.ceil( position.left ); - - // detect change in row - if( $row.length && thisTop > top ) { - // set previous heights - $row.css({'min-height': height+'px'}); - - // update position due to change in row above - position = $field.position(); - thisTop = Math.ceil( position.top ); - thisLeft = Math.ceil( position.left ); - - // reset vars - top = 0; - height = 0; - $row = $(); - } - - // rtl - if( acf.get('rtl') ) { - thisLeft = Math.ceil( $field.parent().width() - (position.left + $field.outerWidth()) ); - } - - // add classes - if( thisTop == 0 ) { - $field.addClass('-r0'); - } else if( thisLeft == 0 ) { - $field.addClass('-c0'); - } - - // get height after class change - // - add 1 for subpixel rendering - var thisHeight = Math.ceil( $field.outerHeight() ) + 1; - - // set height - height = Math.max( height, thisHeight ); - - // set y - top = Math.max( top, thisTop ); - - // append - $row = $row.add( $field ); - }); - - // clean up - if( $row.length ) { - $row.css({'min-height': height+'px'}); - } - } - }); +/***/ }), - /** - * Adds a body class when holding down the "shift" key. - * - * @date 06/05/2020 - * @since 5.9.0 - */ - var bodyClassShiftHelper = new acf.Model({ - id: 'bodyClassShiftHelper', - events: { - 'keydown': 'onKeyDown', - 'keyup': 'onKeyUp' - }, - isShiftKey: function( e ){ - return ( e.keyCode === 16 ); - }, - onKeyDown: function( e ){ - if( this.isShiftKey(e) ) { - $('body').addClass('acf-keydown-shift'); - } - }, - onKeyUp: function( e ){ - if( this.isShiftKey(e) ) { - $('body').removeClass('acf-keydown-shift'); - } - }, - }); - +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-unload.js": +/*!*********************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-unload.js ***! + \*********************************************************************/ +/***/ (function() { + +(function ($, undefined) { + acf.unload = new acf.Model({ + wait: 'load', + active: true, + changed: false, + actions: { + validation_failure: 'startListening', + validation_success: 'stopListening' + }, + events: { + 'change form .acf-field': 'startListening', + 'submit form': 'stopListening' + }, + enable: function () { + this.active = true; + }, + disable: function () { + this.active = false; + }, + reset: function () { + this.stopListening(); + }, + startListening: function () { + // bail ealry if already changed, not active + if (this.changed || !this.active) { + return; + } // update + + + this.changed = true; // add event + + $(window).on('beforeunload', this.onUnload); + }, + stopListening: function () { + // update + this.changed = false; // remove event + + $(window).off('beforeunload', this.onUnload); + }, + onUnload: function () { + return acf.__('The changes you made will be lost if you navigate away from this page'); + } + }); })(jQuery); -(function($, undefined){ - - /** - * acf.newCompatibility - * - * Inserts a new __proto__ object compatibility layer - * - * @date 15/2/18 - * @since 5.6.9 - * - * @param object instance The object to modify. - * @param object compatibilty Optional. The compatibilty layer. - * @return object compatibilty - */ - - acf.newCompatibility = function( instance, compatibilty ){ - - // defaults - compatibilty = compatibilty || {}; - - // inherit __proto_- - compatibilty.__proto__ = instance.__proto__; - - // inject - instance.__proto__ = compatibilty; - - // reference - instance.compatibility = compatibilty; - - // return - return compatibilty; - }; - - /** - * acf.getCompatibility - * - * Returns the compatibility layer for a given instance - * - * @date 13/3/18 - * @since 5.6.9 - * - * @param object instance The object to look in. - * @return object|null compatibility The compatibility object or null on failure. - */ - - acf.getCompatibility = function( instance ) { - return instance.compatibility || null; - }; - - /** - * acf (compatibility) - * - * Compatibility layer for the acf object - * - * @date 15/2/18 - * @since 5.6.9 - * - * @param void - * @return void - */ - - var _acf = acf.newCompatibility(acf, { - - // storage - l10n: {}, - o: {}, - fields: {}, - - // changed function names - update: acf.set, - add_action: acf.addAction, - remove_action: acf.removeAction, - do_action: acf.doAction, - add_filter: acf.addFilter, - remove_filter: acf.removeFilter, - apply_filters: acf.applyFilters, - parse_args: acf.parseArgs, - disable_el: acf.disable, - disable_form: acf.disable, - enable_el: acf.enable, - enable_form: acf.enable, - update_user_setting: acf.updateUserSetting, - prepare_for_ajax: acf.prepareForAjax, - is_ajax_success: acf.isAjaxSuccess, - remove_el: acf.remove, - remove_tr: acf.remove, - str_replace: acf.strReplace, - render_select: acf.renderSelect, - get_uniqid: acf.uniqid, - serialize_form: acf.serialize, - esc_html: acf.strEscape, - str_sanitize: acf.strSanitize, - - }); - - _acf._e = function( k1, k2 ){ - - // defaults - k1 = k1 || ''; - k2 = k2 || ''; - - // compability - var compatKey = k2 ? k1 + '.' + k2 : k1; - var compats = { - 'image.select': 'Select Image', - 'image.edit': 'Edit Image', - 'image.update': 'Update Image' - }; - if( compats[compatKey] ) { - return acf.__(compats[compatKey]); - } - - // try k1 - var string = this.l10n[ k1 ] || ''; - - // try k2 - if( k2 ) { - string = string[ k2 ] || ''; - } - - // return - return string; - }; - - _acf.get_selector = function( s ) { - - // vars - var selector = '.acf-field'; - - // bail early if no search - if( !s ) { - return selector; - } - - // compatibility with object - if( $.isPlainObject(s) ) { - if( $.isEmptyObject(s) ) { - return selector; - } else { - for( var k in s ) { s = s[k]; break; } - } - } - // append - selector += '-' + s; - - // replace underscores (split/join replaces all and is faster than regex!) - selector = acf.strReplace('_', '-', selector); - - // remove potential double up - selector = acf.strReplace('field-field-', 'field-', selector); - - // return - return selector; - }; - - _acf.get_fields = function( s, $el, all ){ - - // args - var args = { - is: s || '', - parent: $el || false, - suppressFilters: all || false, - }; - - // change 'field_123' to '.acf-field-123' - if( args.is ) { - args.is = this.get_selector( args.is ); - } - - // return - return acf.findFields(args); - }; - - _acf.get_field = function( s, $el ){ - - // get fields - var $fields = this.get_fields.apply(this, arguments); - - // return - if( $fields.length ) { - return $fields.first(); - } else { - return false; - } - }; - - _acf.get_closest_field = function( $el, s ){ - return $el.closest( this.get_selector(s) ); - }; - - _acf.get_field_wrap = function( $el ){ - return $el.closest( this.get_selector() ); - }; - - _acf.get_field_key = function( $field ){ - return $field.data('key'); - }; - - _acf.get_field_type = function( $field ){ - return $field.data('type'); - }; - - _acf.get_data = function( $el, defaults ){ - return acf.parseArgs( $el.data(), defaults ); - }; - - _acf.maybe_get = function( obj, key, value ){ - - // default - if( value === undefined ) { - value = null; - } - - // get keys - keys = String(key).split('.'); - - // acf.isget - for( var i = 0; i < keys.length; i++ ) { - if( !obj.hasOwnProperty(keys[i]) ) { - return value; - } - obj = obj[ keys[i] ]; - } - return obj; - }; - - - /** - * hooks - * - * Modify add_action and add_filter functions to add compatibility with changed $field parameter - * Using the acf.add_action() or acf.add_filter() functions will interpret new field parameters as jQuery $field - * - * @date 12/5/18 - * @since 5.6.9 - * - * @param void - * @return void - */ - - var compatibleArgument = function( arg ){ - return ( arg instanceof acf.Field ) ? arg.$el : arg; - }; - - var compatibleArguments = function( args ){ - return acf.arrayArgs( args ).map( compatibleArgument ); - } - - var compatibleCallback = function( origCallback ){ - return function(){ - - // convert to compatible arguments - if( arguments.length ) { - var args = compatibleArguments(arguments); - - // add default argument for 'ready', 'append' and 'load' events - } else { - var args = [ $(document) ]; - } - - // return - return origCallback.apply(this, args); - } - } - - _acf.add_action = function( action, callback, priority, context ){ - - // handle multiple actions - var actions = action.split(' '); - var length = actions.length; - if( length > 1 ) { - for( var i = 0; i < length; i++) { - action = actions[i]; - _acf.add_action.apply(this, arguments); - } - return this; - } - - // single - var callback = compatibleCallback(callback); - return acf.addAction.apply(this, arguments); - }; - - _acf.add_filter = function( action, callback, priority, context ){ - var callback = compatibleCallback(callback); - return acf.addFilter.apply(this, arguments); - }; +/***/ }), - /* - * acf.model - * - * This model acts as a scafold for action.event driven modules - * - * @type object - * @date 8/09/2014 - * @since 5.0.0 - * - * @param (object) - * @return (object) - */ - - _acf.model = { - actions: {}, - filters: {}, - events: {}, - extend: function( args ){ - - // extend - var model = $.extend( {}, this, args ); - - // setup actions - $.each(model.actions, function( name, callback ){ - model._add_action( name, callback ); - }); - - // setup filters - $.each(model.filters, function( name, callback ){ - model._add_filter( name, callback ); - }); - - // setup events - $.each(model.events, function( name, callback ){ - model._add_event( name, callback ); - }); - - // return - return model; - }, - - _add_action: function( name, callback ) { - - // split - var model = this, - data = name.split(' '); - - // add missing priority - var name = data[0] || '', - priority = data[1] || 10; - - // add action - acf.add_action(name, model[ callback ], priority, model); - - }, - - _add_filter: function( name, callback ) { - - // split - var model = this, - data = name.split(' '); - - // add missing priority - var name = data[0] || '', - priority = data[1] || 10; - - // add action - acf.add_filter(name, model[ callback ], priority, model); - }, - - _add_event: function( name, callback ) { - - // vars - var model = this, - i = name.indexOf(' '), - event = (i > 0) ? name.substr(0,i) : name, - selector = (i > 0) ? name.substr(i+1) : ''; - - // event - var fn = function( e ){ - - // append $el to event object - e.$el = $(this); - - // append $field to event object (used in field group) - if( acf.field_group ) { - e.$field = e.$el.closest('.acf-field-object'); - } - - // event - if( typeof model.event === 'function' ) { - e = model.event( e ); - } - - // callback - model[ callback ].apply(model, arguments); - - }; - - // add event - if( selector ) { - $(document).on(event, selector, fn); - } else { - $(document).on(event, fn); - } - }, - - get: function( name, value ){ - - // defaults - value = value || null; - - // get - if( typeof this[ name ] !== 'undefined' ) { - value = this[ name ]; - } - - // return - return value; - }, - - set: function( name, value ){ - - // set - this[ name ] = value; - - // function for 3rd party - if( typeof this[ '_set_' + name ] === 'function' ) { - this[ '_set_' + name ].apply(this); - } - - // return for chaining - return this; - } - }; - - /* - * field - * - * This model sets up many of the field's interactions - * - * @type function - * @date 21/02/2014 - * @since 3.5.1 - * - * @param n/a - * @return n/a - */ - - _acf.field = acf.model.extend({ - type: '', - o: {}, - $field: null, - _add_action: function( name, callback ) { - - // vars - var model = this; - - // update name - name = name + '_field/type=' + model.type; - - // add action - acf.add_action(name, function( $field ){ - - // focus - model.set('$field', $field); - - // callback - model[ callback ].apply(model, arguments); - }); - }, - - _add_filter: function( name, callback ) { - - // vars - var model = this; - - // update name - name = name + '_field/type=' + model.type; - - // add action - acf.add_filter(name, function( $field ){ - - // focus - model.set('$field', $field); - - // callback - model[ callback ].apply(model, arguments); - }); - }, - - _add_event: function( name, callback ) { - - // vars - var model = this, - event = name.substr(0,name.indexOf(' ')), - selector = name.substr(name.indexOf(' ')+1), - context = acf.get_selector(model.type); - - // add event - $(document).on(event, context + ' ' + selector, function( e ){ - - // vars - var $el = $(this); - var $field = acf.get_closest_field( $el, model.type ); - - // bail early if no field - if( !$field.length ) return; - - // focus - if( !$field.is(model.$field) ) { - model.set('$field', $field); - } - - // append to event - e.$el = $el; - e.$field = $field; - - // callback - model[ callback ].apply(model, [e]); - }); - }, - - _set_$field: function(){ - - // callback - if( typeof this.focus === 'function' ) { - this.focus(); - } - }, - - // depreciated - doFocus: function( $field ){ - return this.set('$field', $field); - } - }); - - - /** - * validation - * - * description - * - * @date 15/2/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var _validation = acf.newCompatibility(acf.validation, { - remove_error: function( $field ){ - acf.getField( $field ).removeError(); - }, - add_warning: function( $field, message ){ - acf.getField( $field ).showNotice({ - text: message, - type: 'warning', - timeout: 1000 - }); - }, - fetch: acf.validateForm, - enableSubmit: acf.enableSubmit, - disableSubmit: acf.disableSubmit, - showSpinner: acf.showSpinner, - hideSpinner: acf.hideSpinner, - unlockForm: acf.unlockForm, - lockForm: acf.lockForm - }); - - - /** - * tooltip - * - * description - * - * @date 15/2/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - _acf.tooltip = { - - tooltip: function( text, $el ){ - - var tooltip = acf.newTooltip({ - text: text, - target: $el - }); - - // return - return tooltip.$el; - }, - - temp: function( text, $el ){ - - var tooltip = acf.newTooltip({ - text: text, - target: $el, - timeout: 250 - }); - }, - - confirm: function( $el, callback, text, button_y, button_n ){ - - var tooltip = acf.newTooltip({ - confirm: true, - text: text, - target: $el, - confirm: function(){ - callback(true); - }, - cancel: function(){ - callback(false); - } - }); - }, - - confirm_remove: function( $el, callback ){ - - var tooltip = acf.newTooltip({ - confirmRemove: true, - target: $el, - confirm: function(){ - callback(true); - }, - cancel: function(){ - callback(false); - } - }); - }, - }; - - /** - * tooltip - * - * description - * - * @date 15/2/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - _acf.media = new acf.Model({ - activeFrame: false, - actions: { - 'new_media_popup': 'onNewMediaPopup' - }, - - frame: function(){ - return this.activeFrame; - }, - - onNewMediaPopup: function( popup ){ - this.activeFrame = popup.frame; - }, - - popup: function( props ){ - - // update props - if( props.mime_types ) { - props.allowedTypes = props.mime_types; - } - if( props.id ) { - props.attachment = props.id; - } - - // new - var popup = acf.newMediaPopup( props ); - - // append -/* - if( props.selected ) { - popup.selected = props.selected; - } -*/ - - // return - return popup.frame; - } - }); - - - /** - * Select2 - * - * description - * - * @date 11/6/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - _acf.select2 = { - init: function( $select, args, $field ){ - - // compatible args - if( args.allow_null ) { - args.allowNull = args.allow_null; - } - if( args.ajax_action ) { - args.ajaxAction = args.ajax_action; - } - if( $field ) { - args.field = acf.getField($field); - } - - // return - return acf.newSelect2( $select, args ); - }, - - destroy: function( $select ){ - return acf.getInstance( $select ).destroy(); - - }, - }; - - /** - * postbox - * - * description - * - * @date 11/6/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - _acf.postbox = { - render: function( args ){ - - // compatible args - if( args.edit_url ) { - args.editLink = args.edit_url; - } - if( args.edit_title ) { - args.editTitle = args.edit_title; - } - - // return - return acf.newPostbox( args ); - } - }; - - /** - * acf.screen - * - * description - * - * @date 11/6/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.newCompatibility(acf.screen, { - update: function(){ - return this.set.apply(this, arguments); - }, - fetch: acf.screen.check - }); - _acf.ajax = acf.screen; - -})(jQuery); \ No newline at end of file +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-validation.js": +/*!*************************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-validation.js ***! + \*************************************************************************/ +/***/ (function() { + +(function ($, undefined) { + /** + * Validator + * + * The model for validating forms + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param void + * @return void + */ + var Validator = acf.Model.extend({ + /** @var string The model identifier. */ + id: 'Validator', + + /** @var object The model data. */ + data: { + /** @var array The form errors. */ + errors: [], + + /** @var object The form notice. */ + notice: null, + + /** @var string The form status. loading, invalid, valid */ + status: '' + }, + + /** @var object The model events. */ + events: { + 'changed:status': 'onChangeStatus' + }, + + /** + * addErrors + * + * Adds errors to the form. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param array errors An array of errors. + * @return void + */ + addErrors: function (errors) { + errors.map(this.addError, this); + }, + + /** + * addError + * + * Adds and error to the form. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param object error An error object containing input and message. + * @return void + */ + addError: function (error) { + this.data.errors.push(error); + }, + + /** + * hasErrors + * + * Returns true if the form has errors. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param void + * @return bool + */ + hasErrors: function () { + return this.data.errors.length; + }, + + /** + * clearErrors + * + * Removes any errors. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param void + * @return void + */ + clearErrors: function () { + return this.data.errors = []; + }, + + /** + * getErrors + * + * Returns the forms errors. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param void + * @return array + */ + getErrors: function () { + return this.data.errors; + }, + + /** + * getFieldErrors + * + * Returns the forms field errors. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param void + * @return array + */ + getFieldErrors: function () { + // vars + var errors = []; + var inputs = []; // loop + + this.getErrors().map(function (error) { + // bail early if global + if (!error.input) return; // update if exists + + var i = inputs.indexOf(error.input); + + if (i > -1) { + errors[i] = error; // update + } else { + errors.push(error); + inputs.push(error.input); + } + }); // return + + return errors; + }, + + /** + * getGlobalErrors + * + * Returns the forms global errors (errors without a specific input). + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param void + * @return array + */ + getGlobalErrors: function () { + // return array of errors that contain no input + return this.getErrors().filter(function (error) { + return !error.input; + }); + }, + + /** + * showErrors + * + * Displays all errors for this form. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param void + * @return void + */ + showErrors: function () { + // bail early if no errors + if (!this.hasErrors()) { + return; + } // vars + + + var fieldErrors = this.getFieldErrors(); + var globalErrors = this.getGlobalErrors(); // vars + + var errorCount = 0; + var $scrollTo = false; // loop + + fieldErrors.map(function (error) { + // get input + var $input = this.$('[name="' + error.input + '"]').first(); // if $_POST value was an array, this $input may not exist + + if (!$input.length) { + $input = this.$('[name^="' + error.input + '"]').first(); + } // bail early if input doesn't exist + + + if (!$input.length) { + return; + } // increase + + + errorCount++; // get field + + var field = acf.getClosestField($input); // make sure the postbox containing this field is not hidden by screen options + + ensureFieldPostBoxIsVisible(field.$el); // show error + + field.showError(error.message); // set $scrollTo + + if (!$scrollTo) { + $scrollTo = field.$el; + } + }, this); // errorMessage + + var errorMessage = acf.__('Validation failed'); + + globalErrors.map(function (error) { + errorMessage += '. ' + error.message; + }); + + if (errorCount == 1) { + errorMessage += '. ' + acf.__('1 field requires attention'); + } else if (errorCount > 1) { + errorMessage += '. ' + acf.__('%d fields require attention').replace('%d', errorCount); + } // notice + + + if (this.has('notice')) { + this.get('notice').update({ + type: 'error', + text: errorMessage + }); + } else { + var notice = acf.newNotice({ + type: 'error', + text: errorMessage, + target: this.$el + }); + this.set('notice', notice); + } // if no $scrollTo, set to message + + + if (!$scrollTo) { + $scrollTo = this.get('notice').$el; + } // timeout + + + setTimeout(function () { + $('html, body').animate({ + scrollTop: $scrollTo.offset().top - $(window).height() / 2 + }, 500); + }, 10); + }, + + /** + * onChangeStatus + * + * Update the form class when changing the 'status' data + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param object e The event object. + * @param jQuery $el The form element. + * @param string value The new status. + * @param string prevValue The old status. + * @return void + */ + onChangeStatus: function (e, $el, value, prevValue) { + this.$el.removeClass('is-' + prevValue).addClass('is-' + value); + }, + + /** + * validate + * + * Vaildates the form via AJAX. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param object args A list of settings to customize the validation process. + * @return bool True if the form is valid. + */ + validate: function (args) { + // default args + args = acf.parseArgs(args, { + // trigger event + event: false, + // reset the form after submit + reset: false, + // loading callback + loading: function () {}, + // complete callback + complete: function () {}, + // failure callback + failure: function () {}, + // success callback + success: function ($form) { + $form.submit(); + } + }); // return true if is valid - allows form submit + + if (this.get('status') == 'valid') { + return true; + } // return false if is currently validating - prevents form submit + + + if (this.get('status') == 'validating') { + return false; + } // return true if no ACF fields exist (no need to validate) + + + if (!this.$('.acf-field').length) { + return true; + } // if event is provided, create a new success callback. + + + if (args.event) { + var event = $.Event(null, args.event); + + args.success = function () { + acf.enableSubmit($(event.target)).trigger(event); + }; + } // action for 3rd party + + + acf.doAction('validation_begin', this.$el); // lock form + + acf.lockForm(this.$el); // loading callback + + args.loading(this.$el, this); // update status + + this.set('status', 'validating'); // success callback + + var onSuccess = function (json) { + // validate + if (!acf.isAjaxSuccess(json)) { + return; + } // filter + + + var data = acf.applyFilters('validation_complete', json.data, this.$el, this); // add errors + + if (!data.valid) { + this.addErrors(data.errors); + } + }; // complete + + + var onComplete = function () { + // unlock form + acf.unlockForm(this.$el); // failure + + if (this.hasErrors()) { + // update status + this.set('status', 'invalid'); // action + + acf.doAction('validation_failure', this.$el, this); // display errors + + this.showErrors(); // failure callback + + args.failure(this.$el, this); // success + } else { + // update status + this.set('status', 'valid'); // remove previous error message + + if (this.has('notice')) { + this.get('notice').update({ + type: 'success', + text: acf.__('Validation successful'), + timeout: 1000 + }); + } // action + + + acf.doAction('validation_success', this.$el, this); + acf.doAction('submit', this.$el); // success callback (submit form) + + args.success(this.$el, this); // lock form + + acf.lockForm(this.$el); // reset + + if (args.reset) { + this.reset(); + } + } // complete callback + + + args.complete(this.$el, this); // clear errors + + this.clearErrors(); + }; // serialize form data + + + var data = acf.serialize(this.$el); + data.action = 'acf/validate_save_post'; // ajax + + $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(data), + type: 'post', + dataType: 'json', + context: this, + success: onSuccess, + complete: onComplete + }); // return false to fail validation and allow AJAX + + return false; + }, + + /** + * setup + * + * Called during the constructor function to setup this instance + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param jQuery $form The form element. + * @return void + */ + setup: function ($form) { + // set $el + this.$el = $form; + }, + + /** + * reset + * + * Rests the validation to be used again. + * + * @date 6/9/18 + * @since 5.7.5 + * + * @param void + * @return void + */ + reset: function () { + // reset data + this.set('errors', []); + this.set('notice', null); + this.set('status', ''); // unlock form + + acf.unlockForm(this.$el); + } + }); + /** + * getValidator + * + * Returns the instance for a given form element. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param jQuery $el The form element. + * @return object + */ + + var getValidator = function ($el) { + // instantiate + var validator = $el.data('acf'); + + if (!validator) { + validator = new Validator($el); + } // return + + + return validator; + }; + /** + * acf.validateForm + * + * A helper function for the Validator.validate() function. + * Returns true if form is valid, or fetches a validation request and returns false. + * + * @date 4/4/18 + * @since 5.6.9 + * + * @param object args A list of settings to customize the validation process. + * @return bool + */ + + + acf.validateForm = function (args) { + return getValidator(args.form).validate(args); + }; + /** + * acf.enableSubmit + * + * Enables a submit button and returns the element. + * + * @date 30/8/18 + * @since 5.7.4 + * + * @param jQuery $submit The submit button. + * @return jQuery + */ + + + acf.enableSubmit = function ($submit) { + return $submit.removeClass('disabled'); + }; + /** + * acf.disableSubmit + * + * Disables a submit button and returns the element. + * + * @date 30/8/18 + * @since 5.7.4 + * + * @param jQuery $submit The submit button. + * @return jQuery + */ + + + acf.disableSubmit = function ($submit) { + return $submit.addClass('disabled'); + }; + /** + * acf.showSpinner + * + * Shows the spinner element. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param jQuery $spinner The spinner element. + * @return jQuery + */ + + + acf.showSpinner = function ($spinner) { + $spinner.addClass('is-active'); // add class (WP > 4.2) + + $spinner.css('display', 'inline-block'); // css (WP < 4.2) + + return $spinner; + }; + /** + * acf.hideSpinner + * + * Hides the spinner element. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param jQuery $spinner The spinner element. + * @return jQuery + */ + + + acf.hideSpinner = function ($spinner) { + $spinner.removeClass('is-active'); // add class (WP > 4.2) + + $spinner.css('display', 'none'); // css (WP < 4.2) + + return $spinner; + }; + /** + * acf.lockForm + * + * Locks a form by disabeling its primary inputs and showing a spinner. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param jQuery $form The form element. + * @return jQuery + */ + + + acf.lockForm = function ($form) { + // vars + var $wrap = findSubmitWrap($form); + var $submit = $wrap.find('.button, [type="submit"]'); + var $spinner = $wrap.find('.spinner, .acf-spinner'); // hide all spinners (hides the preview spinner) + + acf.hideSpinner($spinner); // lock + + acf.disableSubmit($submit); + acf.showSpinner($spinner.last()); + return $form; + }; + /** + * acf.unlockForm + * + * Unlocks a form by enabeling its primary inputs and hiding all spinners. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param jQuery $form The form element. + * @return jQuery + */ + + + acf.unlockForm = function ($form) { + // vars + var $wrap = findSubmitWrap($form); + var $submit = $wrap.find('.button, [type="submit"]'); + var $spinner = $wrap.find('.spinner, .acf-spinner'); // unlock + + acf.enableSubmit($submit); + acf.hideSpinner($spinner); + return $form; + }; + /** + * findSubmitWrap + * + * An internal function to find the 'primary' form submit wrapping element. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param jQuery $form The form element. + * @return jQuery + */ + + + var findSubmitWrap = function ($form) { + // default post submit div + var $wrap = $form.find('#submitdiv'); + + if ($wrap.length) { + return $wrap; + } // 3rd party publish box + + + var $wrap = $form.find('#submitpost'); + + if ($wrap.length) { + return $wrap; + } // term, user + + + var $wrap = $form.find('p.submit').last(); + + if ($wrap.length) { + return $wrap; + } // front end form + + + var $wrap = $form.find('.acf-form-submit'); + + if ($wrap.length) { + return $wrap; + } // default + + + return $form; + }; + /** + * A debounced function to trigger a form submission. + * + * @date 15/07/2020 + * @since 5.9.0 + * + * @param type Var Description. + * @return type Description. + */ + + + var submitFormDebounced = acf.debounce(function ($form) { + $form.submit(); + }); + /** + * Ensure field is visible for validation errors + * + * @date 20/10/2021 + * @since 5.11.0 + */ + + var ensureFieldPostBoxIsVisible = function ($el) { + // Find the postbox element containing this field. + var $postbox = $el.parents('.acf-postbox'); + + if ($postbox.length) { + var acf_postbox = acf.getPostbox($postbox); + + if (acf_postbox && acf_postbox.isHiddenByScreenOptions()) { + // Rather than using .show() here, we don't want the field to appear next reload. + // So just temporarily show the field group so validation can complete. + acf_postbox.$el.removeClass('hide-if-js'); + acf_postbox.$el.css('display', ''); + } + } + }; + /** + * Ensure metaboxes which contain browser validation failures are visible. + * + * @date 20/10/2021 + * @since 5.11.0 + */ + + + var ensureInvalidFieldVisibility = function () { + // Load each ACF input field and check it's browser validation state. + var $inputs = $('.acf-field input'); + $inputs.each(function () { + if (!this.checkValidity()) { + // Field is invalid, so we need to make sure it's metabox is visible. + ensureFieldPostBoxIsVisible($(this)); + } + }); + }; + /** + * acf.validation + * + * Global validation logic + * + * @date 4/4/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + + acf.validation = new acf.Model({ + /** @var string The model identifier. */ + id: 'validation', + + /** @var bool The active state. Set to false before 'prepare' to prevent validation. */ + active: true, + + /** @var string The model initialize time. */ + wait: 'prepare', + + /** @var object The model actions. */ + actions: { + ready: 'addInputEvents', + append: 'addInputEvents' + }, + + /** @var object The model events. */ + events: { + 'click input[type="submit"]': 'onClickSubmit', + 'click button[type="submit"]': 'onClickSubmit', + //'click #editor .editor-post-publish-button': 'onClickSubmitGutenberg', + 'click #save-post': 'onClickSave', + 'submit form#post': 'onSubmitPost', + 'submit form': 'onSubmit' + }, + + /** + * initialize + * + * Called when initializing the model. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param void + * @return void + */ + initialize: function () { + // check 'validation' setting + if (!acf.get('validation')) { + this.active = false; + this.actions = {}; + this.events = {}; + } + }, + + /** + * enable + * + * Enables validation. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param void + * @return void + */ + enable: function () { + this.active = true; + }, + + /** + * disable + * + * Disables validation. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param void + * @return void + */ + disable: function () { + this.active = false; + }, + + /** + * reset + * + * Rests the form validation to be used again + * + * @date 6/9/18 + * @since 5.7.5 + * + * @param jQuery $form The form element. + * @return void + */ + reset: function ($form) { + getValidator($form).reset(); + }, + + /** + * addInputEvents + * + * Adds 'invalid' event listeners to HTML inputs. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param jQuery $el The element being added / readied. + * @return void + */ + addInputEvents: function ($el) { + // Bug exists in Safari where custom "invalid" handling prevents draft from saving. + if (acf.get('browser') === 'safari') return; // vars + + var $inputs = $('.acf-field [name]', $el); // check + + if ($inputs.length) { + this.on($inputs, 'invalid', 'onInvalid'); + } + }, + + /** + * onInvalid + * + * Callback for the 'invalid' event. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param object e The event object. + * @param jQuery $el The input element. + * @return void + */ + onInvalid: function (e, $el) { + // prevent default + // - prevents browser error message + // - also fixes chrome bug where 'hidden-by-tab' field throws focus error + e.preventDefault(); // vars + + var $form = $el.closest('form'); // check form exists + + if ($form.length) { + // add error to validator + getValidator($form).addError({ + input: $el.attr('name'), + message: acf.strEscape(e.target.validationMessage) + }); // trigger submit on $form + // - allows for "save", "preview" and "publish" to work + + submitFormDebounced($form); + } + }, + + /** + * onClickSubmit + * + * Callback when clicking submit. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param object e The event object. + * @param jQuery $el The input element. + * @return void + */ + onClickSubmit: function (e, $el) { + // Some browsers (safari) force their browser validation before our AJAX validation, + // so we need to make sure fields are visible earlier than showErrors() + ensureInvalidFieldVisibility(); // store the "click event" for later use in this.onSubmit() + + this.set('originalEvent', e); + }, + + /** + * onClickSave + * + * Set ignore to true when saving a draft. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param object e The event object. + * @param jQuery $el The input element. + * @return void + */ + onClickSave: function (e, $el) { + this.set('ignore', true); + }, + + /** + * onClickSubmitGutenberg + * + * Custom validation event for the gutenberg editor. + * + * @date 29/10/18 + * @since 5.8.0 + * + * @param object e The event object. + * @param jQuery $el The input element. + * @return void + */ + onClickSubmitGutenberg: function (e, $el) { + // validate + var valid = acf.validateForm({ + form: $('#editor'), + event: e, + reset: true, + failure: function ($form, validator) { + var $notice = validator.get('notice').$el; + $notice.appendTo('.components-notice-list'); + $notice.find('.acf-notice-dismiss').removeClass('small'); + } + }); // if not valid, stop event and allow validation to continue + + if (!valid) { + e.preventDefault(); + e.stopImmediatePropagation(); + } + }, + + /** + * onSubmitPost + * + * Callback when the 'post' form is submit. + * + * @date 5/3/19 + * @since 5.7.13 + * + * @param object e The event object. + * @param jQuery $el The input element. + * @return void + */ + onSubmitPost: function (e, $el) { + // Check if is preview. + if ($('input#wp-preview').val() === 'dopreview') { + // Ignore validation. + this.set('ignore', true); // Unlock form to fix conflict with core "submit.edit-post" event causing all submit buttons to be disabled. + + acf.unlockForm($el); + } + }, + + /** + * onSubmit + * + * Callback when the form is submit. + * + * @date 4/9/18 + * @since 5.7.5 + * + * @param object e The event object. + * @param jQuery $el The input element. + * @return void + */ + onSubmit: function (e, $el) { + // Allow form to submit if... + if ( // Validation has been disabled. + !this.active || // Or this event is to be ignored. + this.get('ignore') || // Or this event has already been prevented. + e.isDefaultPrevented()) { + // Return early and call reset function. + return this.allowSubmit(); + } // Validate form. + + + var valid = acf.validateForm({ + form: $el, + event: this.get('originalEvent') + }); // If not valid, stop event to prevent form submit. + + if (!valid) { + e.preventDefault(); + } + }, + + /** + * allowSubmit + * + * Resets data during onSubmit when the form is allowed to submit. + * + * @date 5/3/19 + * @since 5.7.13 + * + * @param void + * @return void + */ + allowSubmit: function () { + // Reset "ignore" state. + this.set('ignore', false); // Reset "originalEvent" object. + + this.set('originalEvent', false); // Return true + + return true; + } + }); + var gutenbergValidation = new acf.Model({ + wait: 'prepare', + initialize: function () { + // Bail early if not Gutenberg. + if (!acf.isGutenberg()) { + return; + } // Custommize the editor. + + + this.customizeEditor(); + }, + customizeEditor: function () { + // Extract vars. + var editor = wp.data.dispatch('core/editor'); + var editorSelect = wp.data.select('core/editor'); + var notices = wp.data.dispatch('core/notices'); // Backup original method. + + var savePost = editor.savePost; // Listen for changes to post status and perform actions: + // a) Enable validation for "publish" action. + // b) Remember last non "publish" status used for restoring after validation fail. + + var useValidation = false; + var lastPostStatus = ''; + wp.data.subscribe(function () { + var postStatus = editorSelect.getEditedPostAttribute('status'); + useValidation = postStatus === 'publish' || postStatus === 'future'; + lastPostStatus = postStatus !== 'publish' ? postStatus : lastPostStatus; + }); // Create validation version. + + editor.savePost = function (options) { + options = options || {}; // Backup vars. + + var _this = this; + + var _args = arguments; // Perform validation within a Promise. + + return new Promise(function (resolve, reject) { + // Bail early if is autosave or preview. + if (options.isAutosave || options.isPreview) { + return resolve('Validation ignored (autosave).'); + } // Bail early if validation is not needed. + + + if (!useValidation) { + return resolve('Validation ignored (draft).'); + } // Validate the editor form. + + + var valid = acf.validateForm({ + form: $('#editor'), + reset: true, + complete: function ($form, validator) { + // Always unlock the form after AJAX. + editor.unlockPostSaving('acf'); + }, + failure: function ($form, validator) { + // Get validation error and append to Gutenberg notices. + var notice = validator.get('notice'); + notices.createErrorNotice(notice.get('text'), { + id: 'acf-validation', + isDismissible: true + }); + notice.remove(); // Restore last non "publish" status. + + if (lastPostStatus) { + editor.editPost({ + status: lastPostStatus + }); + } // Rejext promise and prevent savePost(). + + + reject('Validation failed.'); + }, + success: function () { + notices.removeNotice('acf-validation'); // Resolve promise and allow savePost(). + + resolve('Validation success.'); + } + }); // Resolve promise and allow savePost() if no validation is needed. + + if (valid) { + resolve('Validation bypassed.'); // Otherwise, lock the form and wait for AJAX response. + } else { + editor.lockPostSaving('acf'); + } + }).then(function () { + return savePost.apply(_this, _args); + }).catch(function (err) {// Nothing to do here, user is alerted of validation issues. + }); + }; + } + }); +})(jQuery); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ !function() { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function() { return module['default']; } : +/******/ function() { return module; }; +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ !function() { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +!function() { +"use strict"; +/*!*******************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/acf-input.js ***! + \*******************************************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _acf_field_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_acf-field.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field.js"); +/* harmony import */ var _acf_field_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_acf_field_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _acf_fields_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_acf-fields.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-fields.js"); +/* harmony import */ var _acf_fields_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_acf_fields_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _acf_field_accordion_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_acf-field-accordion.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-accordion.js"); +/* harmony import */ var _acf_field_accordion_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_acf_field_accordion_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _acf_field_button_group_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_acf-field-button-group.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-button-group.js"); +/* harmony import */ var _acf_field_button_group_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_acf_field_button_group_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _acf_field_checkbox_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_acf-field-checkbox.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-checkbox.js"); +/* harmony import */ var _acf_field_checkbox_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_acf_field_checkbox_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _acf_field_color_picker_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_acf-field-color-picker.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-color-picker.js"); +/* harmony import */ var _acf_field_color_picker_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_acf_field_color_picker_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _acf_field_date_picker_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_acf-field-date-picker.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-picker.js"); +/* harmony import */ var _acf_field_date_picker_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_acf_field_date_picker_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _acf_field_date_time_picker_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_acf-field-date-time-picker.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-time-picker.js"); +/* harmony import */ var _acf_field_date_time_picker_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_acf_field_date_time_picker_js__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _acf_field_google_map_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_acf-field-google-map.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-google-map.js"); +/* harmony import */ var _acf_field_google_map_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_acf_field_google_map_js__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _acf_field_image_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./_acf-field-image.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-image.js"); +/* harmony import */ var _acf_field_image_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_acf_field_image_js__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _acf_field_file_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./_acf-field-file.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-file.js"); +/* harmony import */ var _acf_field_file_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_acf_field_file_js__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var _acf_field_link_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./_acf-field-link.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-link.js"); +/* harmony import */ var _acf_field_link_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_acf_field_link_js__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _acf_field_oembed_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./_acf-field-oembed.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-oembed.js"); +/* harmony import */ var _acf_field_oembed_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_acf_field_oembed_js__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var _acf_field_radio_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./_acf-field-radio.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-radio.js"); +/* harmony import */ var _acf_field_radio_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_acf_field_radio_js__WEBPACK_IMPORTED_MODULE_13__); +/* harmony import */ var _acf_field_range_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./_acf-field-range.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-range.js"); +/* harmony import */ var _acf_field_range_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_acf_field_range_js__WEBPACK_IMPORTED_MODULE_14__); +/* harmony import */ var _acf_field_relationship_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./_acf-field-relationship.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-relationship.js"); +/* harmony import */ var _acf_field_relationship_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_acf_field_relationship_js__WEBPACK_IMPORTED_MODULE_15__); +/* harmony import */ var _acf_field_select_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./_acf-field-select.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-select.js"); +/* harmony import */ var _acf_field_select_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_acf_field_select_js__WEBPACK_IMPORTED_MODULE_16__); +/* harmony import */ var _acf_field_tab_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./_acf-field-tab.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-tab.js"); +/* harmony import */ var _acf_field_tab_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_acf_field_tab_js__WEBPACK_IMPORTED_MODULE_17__); +/* harmony import */ var _acf_field_post_object_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./_acf-field-post-object.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-post-object.js"); +/* harmony import */ var _acf_field_post_object_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_acf_field_post_object_js__WEBPACK_IMPORTED_MODULE_18__); +/* harmony import */ var _acf_field_page_link_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./_acf-field-page-link.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-page-link.js"); +/* harmony import */ var _acf_field_page_link_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_acf_field_page_link_js__WEBPACK_IMPORTED_MODULE_19__); +/* harmony import */ var _acf_field_user_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./_acf-field-user.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-user.js"); +/* harmony import */ var _acf_field_user_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_acf_field_user_js__WEBPACK_IMPORTED_MODULE_20__); +/* harmony import */ var _acf_field_taxonomy_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./_acf-field-taxonomy.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-taxonomy.js"); +/* harmony import */ var _acf_field_taxonomy_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_acf_field_taxonomy_js__WEBPACK_IMPORTED_MODULE_21__); +/* harmony import */ var _acf_field_time_picker_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./_acf-field-time-picker.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-time-picker.js"); +/* harmony import */ var _acf_field_time_picker_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_acf_field_time_picker_js__WEBPACK_IMPORTED_MODULE_22__); +/* harmony import */ var _acf_field_true_false_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./_acf-field-true-false.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-true-false.js"); +/* harmony import */ var _acf_field_true_false_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_acf_field_true_false_js__WEBPACK_IMPORTED_MODULE_23__); +/* harmony import */ var _acf_field_url_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./_acf-field-url.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-url.js"); +/* harmony import */ var _acf_field_url_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_acf_field_url_js__WEBPACK_IMPORTED_MODULE_24__); +/* harmony import */ var _acf_field_wysiwyg_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./_acf-field-wysiwyg.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-wysiwyg.js"); +/* harmony import */ var _acf_field_wysiwyg_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_acf_field_wysiwyg_js__WEBPACK_IMPORTED_MODULE_25__); +/* harmony import */ var _acf_condition_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./_acf-condition.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-condition.js"); +/* harmony import */ var _acf_condition_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_acf_condition_js__WEBPACK_IMPORTED_MODULE_26__); +/* harmony import */ var _acf_conditions_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./_acf-conditions.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-conditions.js"); +/* harmony import */ var _acf_conditions_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_acf_conditions_js__WEBPACK_IMPORTED_MODULE_27__); +/* harmony import */ var _acf_condition_types_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./_acf-condition-types.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-condition-types.js"); +/* harmony import */ var _acf_condition_types_js__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_acf_condition_types_js__WEBPACK_IMPORTED_MODULE_28__); +/* harmony import */ var _acf_unload_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./_acf-unload.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-unload.js"); +/* harmony import */ var _acf_unload_js__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(_acf_unload_js__WEBPACK_IMPORTED_MODULE_29__); +/* harmony import */ var _acf_postbox_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./_acf-postbox.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-postbox.js"); +/* harmony import */ var _acf_postbox_js__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_acf_postbox_js__WEBPACK_IMPORTED_MODULE_30__); +/* harmony import */ var _acf_media_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./_acf-media.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-media.js"); +/* harmony import */ var _acf_media_js__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(_acf_media_js__WEBPACK_IMPORTED_MODULE_31__); +/* harmony import */ var _acf_screen_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./_acf-screen.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-screen.js"); +/* harmony import */ var _acf_screen_js__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(_acf_screen_js__WEBPACK_IMPORTED_MODULE_32__); +/* harmony import */ var _acf_select2_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./_acf-select2.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-select2.js"); +/* harmony import */ var _acf_select2_js__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(_acf_select2_js__WEBPACK_IMPORTED_MODULE_33__); +/* harmony import */ var _acf_tinymce_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./_acf-tinymce.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-tinymce.js"); +/* harmony import */ var _acf_tinymce_js__WEBPACK_IMPORTED_MODULE_34___default = /*#__PURE__*/__webpack_require__.n(_acf_tinymce_js__WEBPACK_IMPORTED_MODULE_34__); +/* harmony import */ var _acf_validation_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./_acf-validation.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-validation.js"); +/* harmony import */ var _acf_validation_js__WEBPACK_IMPORTED_MODULE_35___default = /*#__PURE__*/__webpack_require__.n(_acf_validation_js__WEBPACK_IMPORTED_MODULE_35__); +/* harmony import */ var _acf_helpers_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./_acf-helpers.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-helpers.js"); +/* harmony import */ var _acf_helpers_js__WEBPACK_IMPORTED_MODULE_36___default = /*#__PURE__*/__webpack_require__.n(_acf_helpers_js__WEBPACK_IMPORTED_MODULE_36__); +/* harmony import */ var _acf_compatibility_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./_acf-compatibility.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-compatibility.js"); +/* harmony import */ var _acf_compatibility_js__WEBPACK_IMPORTED_MODULE_37___default = /*#__PURE__*/__webpack_require__.n(_acf_compatibility_js__WEBPACK_IMPORTED_MODULE_37__); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +}(); +/******/ })() +; +//# sourceMappingURL=acf-input.js.map \ No newline at end of file diff --git a/assets/build/js/acf-input.js.map b/assets/build/js/acf-input.js.map new file mode 100644 index 0000000..f344894 --- /dev/null +++ b/assets/build/js/acf-input.js.map @@ -0,0 +1 @@ +{"version":3,"file":"acf-input.js","mappings":";;;;;;;;;AAAA,CAAE,UAAWA,CAAX,EAAcC,SAAd,EAA0B;AAC3B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAECC,EAAAA,GAAG,CAACC,gBAAJ,GAAuB,UAAWC,QAAX,EAAqBC,YAArB,EAAoC;AAC1D;AACAA,IAAAA,YAAY,GAAGA,YAAY,IAAI,EAA/B,CAF0D,CAI1D;;AACAA,IAAAA,YAAY,CAACC,SAAb,GAAyBF,QAAQ,CAACE,SAAlC,CAL0D,CAO1D;;AACAF,IAAAA,QAAQ,CAACE,SAAT,GAAqBD,YAArB,CAR0D,CAU1D;;AACAD,IAAAA,QAAQ,CAACG,aAAT,GAAyBF,YAAzB,CAX0D,CAa1D;;AACA,WAAOA,YAAP;AACA,GAfD;AAiBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECH,EAAAA,GAAG,CAACM,gBAAJ,GAAuB,UAAWJ,QAAX,EAAsB;AAC5C,WAAOA,QAAQ,CAACG,aAAT,IAA0B,IAAjC;AACA,GAFD;AAIA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC,MAAIE,IAAI,GAAGP,GAAG,CAACC,gBAAJ,CAAsBD,GAAtB,EAA2B;AACrC;AACAQ,IAAAA,IAAI,EAAE,EAF+B;AAGrCC,IAAAA,CAAC,EAAE,EAHkC;AAIrCC,IAAAA,MAAM,EAAE,EAJ6B;AAMrC;AACAC,IAAAA,MAAM,EAAEX,GAAG,CAACY,GAPyB;AAQrCC,IAAAA,UAAU,EAAEb,GAAG,CAACc,SARqB;AASrCC,IAAAA,aAAa,EAAEf,GAAG,CAACgB,YATkB;AAUrCC,IAAAA,SAAS,EAAEjB,GAAG,CAACkB,QAVsB;AAWrCC,IAAAA,UAAU,EAAEnB,GAAG,CAACoB,SAXqB;AAYrCC,IAAAA,aAAa,EAAErB,GAAG,CAACsB,YAZkB;AAarCC,IAAAA,aAAa,EAAEvB,GAAG,CAACwB,YAbkB;AAcrCC,IAAAA,UAAU,EAAEzB,GAAG,CAAC0B,SAdqB;AAerCC,IAAAA,UAAU,EAAE3B,GAAG,CAAC4B,OAfqB;AAgBrCC,IAAAA,YAAY,EAAE7B,GAAG,CAAC4B,OAhBmB;AAiBrCE,IAAAA,SAAS,EAAE9B,GAAG,CAAC+B,MAjBsB;AAkBrCC,IAAAA,WAAW,EAAEhC,GAAG,CAAC+B,MAlBoB;AAmBrCE,IAAAA,mBAAmB,EAAEjC,GAAG,CAACkC,iBAnBY;AAoBrCC,IAAAA,gBAAgB,EAAEnC,GAAG,CAACoC,cApBe;AAqBrCC,IAAAA,eAAe,EAAErC,GAAG,CAACsC,aArBgB;AAsBrCC,IAAAA,SAAS,EAAEvC,GAAG,CAACwC,MAtBsB;AAuBrCC,IAAAA,SAAS,EAAEzC,GAAG,CAACwC,MAvBsB;AAwBrCE,IAAAA,WAAW,EAAE1C,GAAG,CAAC2C,UAxBoB;AAyBrCC,IAAAA,aAAa,EAAE5C,GAAG,CAAC6C,YAzBkB;AA0BrCC,IAAAA,UAAU,EAAE9C,GAAG,CAAC+C,MA1BqB;AA2BrCC,IAAAA,cAAc,EAAEhD,GAAG,CAACiD,SA3BiB;AA4BrCC,IAAAA,QAAQ,EAAElD,GAAG,CAACmD,SA5BuB;AA6BrCC,IAAAA,YAAY,EAAEpD,GAAG,CAACqD;AA7BmB,GAA3B,CAAX;;AAgCA9C,EAAAA,IAAI,CAAC+C,EAAL,GAAU,UAAWC,EAAX,EAAeC,EAAf,EAAoB;AAC7B;AACAD,IAAAA,EAAE,GAAGA,EAAE,IAAI,EAAX;AACAC,IAAAA,EAAE,GAAGA,EAAE,IAAI,EAAX,CAH6B,CAK7B;;AACA,QAAIC,SAAS,GAAGD,EAAE,GAAGD,EAAE,GAAG,GAAL,GAAWC,EAAd,GAAmBD,EAArC;AACA,QAAIG,OAAO,GAAG;AACb,sBAAgB,cADH;AAEb,oBAAc,YAFD;AAGb,sBAAgB;AAHH,KAAd;;AAKA,QAAKA,OAAO,CAAED,SAAF,CAAZ,EAA4B;AAC3B,aAAOzD,GAAG,CAAC2D,EAAJ,CAAQD,OAAO,CAAED,SAAF,CAAf,CAAP;AACA,KAd4B,CAgB7B;;;AACA,QAAIG,MAAM,GAAG,KAAKpD,IAAL,CAAW+C,EAAX,KAAmB,EAAhC,CAjB6B,CAmB7B;;AACA,QAAKC,EAAL,EAAU;AACTI,MAAAA,MAAM,GAAGA,MAAM,CAAEJ,EAAF,CAAN,IAAgB,EAAzB;AACA,KAtB4B,CAwB7B;;;AACA,WAAOI,MAAP;AACA,GA1BD;;AA4BArD,EAAAA,IAAI,CAACsD,YAAL,GAAoB,UAAWC,CAAX,EAAe;AAClC;AACA,QAAIC,QAAQ,GAAG,YAAf,CAFkC,CAIlC;;AACA,QAAK,CAAED,CAAP,EAAW;AACV,aAAOC,QAAP;AACA,KAPiC,CASlC;;;AACA,QAAKjE,CAAC,CAACkE,aAAF,CAAiBF,CAAjB,CAAL,EAA4B;AAC3B,UAAKhE,CAAC,CAACmE,aAAF,CAAiBH,CAAjB,CAAL,EAA4B;AAC3B,eAAOC,QAAP;AACA,OAFD,MAEO;AACN,aAAM,IAAIG,CAAV,IAAeJ,CAAf,EAAmB;AAClBA,UAAAA,CAAC,GAAGA,CAAC,CAAEI,CAAF,CAAL;AACA;AACA;AACD;AACD,KAnBiC,CAqBlC;;;AACAH,IAAAA,QAAQ,IAAI,MAAMD,CAAlB,CAtBkC,CAwBlC;;AACAC,IAAAA,QAAQ,GAAG/D,GAAG,CAAC2C,UAAJ,CAAgB,GAAhB,EAAqB,GAArB,EAA0BoB,QAA1B,CAAX,CAzBkC,CA2BlC;;AACAA,IAAAA,QAAQ,GAAG/D,GAAG,CAAC2C,UAAJ,CAAgB,cAAhB,EAAgC,QAAhC,EAA0CoB,QAA1C,CAAX,CA5BkC,CA8BlC;;AACA,WAAOA,QAAP;AACA,GAhCD;;AAkCAxD,EAAAA,IAAI,CAAC4D,UAAL,GAAkB,UAAWL,CAAX,EAAcM,GAAd,EAAmBC,GAAnB,EAAyB;AAC1C;AACA,QAAIC,IAAI,GAAG;AACVC,MAAAA,EAAE,EAAET,CAAC,IAAI,EADC;AAEVU,MAAAA,MAAM,EAAEJ,GAAG,IAAI,KAFL;AAGVK,MAAAA,eAAe,EAAEJ,GAAG,IAAI;AAHd,KAAX,CAF0C,CAQ1C;;AACA,QAAKC,IAAI,CAACC,EAAV,EAAe;AACdD,MAAAA,IAAI,CAACC,EAAL,GAAU,KAAKV,YAAL,CAAmBS,IAAI,CAACC,EAAxB,CAAV;AACA,KAXyC,CAa1C;;;AACA,WAAOvE,GAAG,CAAC0E,UAAJ,CAAgBJ,IAAhB,CAAP;AACA,GAfD;;AAiBA/D,EAAAA,IAAI,CAACoE,SAAL,GAAiB,UAAWb,CAAX,EAAcM,GAAd,EAAoB;AACpC;AACA,QAAIQ,OAAO,GAAG,KAAKT,UAAL,CAAgBU,KAAhB,CAAuB,IAAvB,EAA6BC,SAA7B,CAAd,CAFoC,CAIpC;;AACA,QAAKF,OAAO,CAACG,MAAb,EAAsB;AACrB,aAAOH,OAAO,CAACI,KAAR,EAAP;AACA,KAFD,MAEO;AACN,aAAO,KAAP;AACA;AACD,GAVD;;AAYAzE,EAAAA,IAAI,CAAC0E,iBAAL,GAAyB,UAAWb,GAAX,EAAgBN,CAAhB,EAAoB;AAC5C,WAAOM,GAAG,CAACc,OAAJ,CAAa,KAAKrB,YAAL,CAAmBC,CAAnB,CAAb,CAAP;AACA,GAFD;;AAIAvD,EAAAA,IAAI,CAAC4E,cAAL,GAAsB,UAAWf,GAAX,EAAiB;AACtC,WAAOA,GAAG,CAACc,OAAJ,CAAa,KAAKrB,YAAL,EAAb,CAAP;AACA,GAFD;;AAIAtD,EAAAA,IAAI,CAAC6E,aAAL,GAAqB,UAAWC,MAAX,EAAoB;AACxC,WAAOA,MAAM,CAACC,IAAP,CAAa,KAAb,CAAP;AACA,GAFD;;AAIA/E,EAAAA,IAAI,CAACgF,cAAL,GAAsB,UAAWF,MAAX,EAAoB;AACzC,WAAOA,MAAM,CAACC,IAAP,CAAa,MAAb,CAAP;AACA,GAFD;;AAIA/E,EAAAA,IAAI,CAACiF,QAAL,GAAgB,UAAWpB,GAAX,EAAgBqB,QAAhB,EAA2B;AAC1C,WAAOzF,GAAG,CAAC0B,SAAJ,CAAe0C,GAAG,CAACkB,IAAJ,EAAf,EAA2BG,QAA3B,CAAP;AACA,GAFD;;AAIAlF,EAAAA,IAAI,CAACmF,SAAL,GAAiB,UAAWC,GAAX,EAAgBC,GAAhB,EAAqBC,KAArB,EAA6B;AAC7C;AACA,QAAKA,KAAK,KAAK9F,SAAf,EAA2B;AAC1B8F,MAAAA,KAAK,GAAG,IAAR;AACA,KAJ4C,CAM7C;;;AACAC,IAAAA,IAAI,GAAGC,MAAM,CAAEH,GAAF,CAAN,CAAcI,KAAd,CAAqB,GAArB,CAAP,CAP6C,CAS7C;;AACA,SAAM,IAAIC,CAAC,GAAG,CAAd,EAAiBA,CAAC,GAAGH,IAAI,CAACf,MAA1B,EAAkCkB,CAAC,EAAnC,EAAwC;AACvC,UAAK,CAAEN,GAAG,CAACO,cAAJ,CAAoBJ,IAAI,CAAEG,CAAF,CAAxB,CAAP,EAAyC;AACxC,eAAOJ,KAAP;AACA;;AACDF,MAAAA,GAAG,GAAGA,GAAG,CAAEG,IAAI,CAAEG,CAAF,CAAN,CAAT;AACA;;AACD,WAAON,GAAP;AACA,GAjBD;AAmBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC,MAAIQ,kBAAkB,GAAG,UAAWC,GAAX,EAAiB;AACzC,WAAOA,GAAG,YAAYpG,GAAG,CAACqG,KAAnB,GAA2BD,GAAG,CAAChC,GAA/B,GAAqCgC,GAA5C;AACA,GAFD;;AAIA,MAAIE,mBAAmB,GAAG,UAAWhC,IAAX,EAAkB;AAC3C,WAAOtE,GAAG,CAACuG,SAAJ,CAAejC,IAAf,EAAsBkC,GAAtB,CAA2BL,kBAA3B,CAAP;AACA,GAFD;;AAIA,MAAIM,kBAAkB,GAAG,UAAWC,YAAX,EAA0B;AAClD,WAAO,YAAY;AAClB;AACA,UAAK5B,SAAS,CAACC,MAAf,EAAwB;AACvB,YAAIT,IAAI,GAAGgC,mBAAmB,CAAExB,SAAF,CAA9B,CADuB,CAGvB;AACA,OAJD,MAIO;AACN,YAAIR,IAAI,GAAG,CAAExE,CAAC,CAAE6G,QAAF,CAAH,CAAX;AACA,OARiB,CAUlB;;;AACA,aAAOD,YAAY,CAAC7B,KAAb,CAAoB,IAApB,EAA0BP,IAA1B,CAAP;AACA,KAZD;AAaA,GAdD;;AAgBA/D,EAAAA,IAAI,CAACM,UAAL,GAAkB,UAAW+F,MAAX,EAAmBC,QAAnB,EAA6BC,QAA7B,EAAuCC,OAAvC,EAAiD;AAClE;AACA,QAAIC,OAAO,GAAGJ,MAAM,CAACZ,KAAP,CAAc,GAAd,CAAd;AACA,QAAIjB,MAAM,GAAGiC,OAAO,CAACjC,MAArB;;AACA,QAAKA,MAAM,GAAG,CAAd,EAAkB;AACjB,WAAM,IAAIkB,CAAC,GAAG,CAAd,EAAiBA,CAAC,GAAGlB,MAArB,EAA6BkB,CAAC,EAA9B,EAAmC;AAClCW,QAAAA,MAAM,GAAGI,OAAO,CAAEf,CAAF,CAAhB;;AACA1F,QAAAA,IAAI,CAACM,UAAL,CAAgBgE,KAAhB,CAAuB,IAAvB,EAA6BC,SAA7B;AACA;;AACD,aAAO,IAAP;AACA,KAViE,CAYlE;;;AACA,QAAI+B,QAAQ,GAAGJ,kBAAkB,CAAEI,QAAF,CAAjC;AACA,WAAO7G,GAAG,CAACc,SAAJ,CAAc+D,KAAd,CAAqB,IAArB,EAA2BC,SAA3B,CAAP;AACA,GAfD;;AAiBAvE,EAAAA,IAAI,CAACY,UAAL,GAAkB,UAAWyF,MAAX,EAAmBC,QAAnB,EAA6BC,QAA7B,EAAuCC,OAAvC,EAAiD;AAClE,QAAIF,QAAQ,GAAGJ,kBAAkB,CAAEI,QAAF,CAAjC;AACA,WAAO7G,GAAG,CAACoB,SAAJ,CAAcyD,KAAd,CAAqB,IAArB,EAA2BC,SAA3B,CAAP;AACA,GAHD;AAKA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECvE,EAAAA,IAAI,CAAC0G,KAAL,GAAa;AACZD,IAAAA,OAAO,EAAE,EADG;AAEZE,IAAAA,OAAO,EAAE,EAFG;AAGZC,IAAAA,MAAM,EAAE,EAHI;AAIZC,IAAAA,MAAM,EAAE,UAAW9C,IAAX,EAAkB;AACzB;AACA,UAAI2C,KAAK,GAAGnH,CAAC,CAACsH,MAAF,CAAU,EAAV,EAAc,IAAd,EAAoB9C,IAApB,CAAZ,CAFyB,CAIzB;;AACAxE,MAAAA,CAAC,CAACuH,IAAF,CAAQJ,KAAK,CAACD,OAAd,EAAuB,UAAWM,IAAX,EAAiBT,QAAjB,EAA4B;AAClDI,QAAAA,KAAK,CAACM,WAAN,CAAmBD,IAAnB,EAAyBT,QAAzB;AACA,OAFD,EALyB,CASzB;;AACA/G,MAAAA,CAAC,CAACuH,IAAF,CAAQJ,KAAK,CAACC,OAAd,EAAuB,UAAWI,IAAX,EAAiBT,QAAjB,EAA4B;AAClDI,QAAAA,KAAK,CAACO,WAAN,CAAmBF,IAAnB,EAAyBT,QAAzB;AACA,OAFD,EAVyB,CAczB;;AACA/G,MAAAA,CAAC,CAACuH,IAAF,CAAQJ,KAAK,CAACE,MAAd,EAAsB,UAAWG,IAAX,EAAiBT,QAAjB,EAA4B;AACjDI,QAAAA,KAAK,CAACQ,UAAN,CAAkBH,IAAlB,EAAwBT,QAAxB;AACA,OAFD,EAfyB,CAmBzB;;AACA,aAAOI,KAAP;AACA,KAzBW;AA2BZM,IAAAA,WAAW,EAAE,UAAWD,IAAX,EAAiBT,QAAjB,EAA4B;AACxC;AACA,UAAII,KAAK,GAAG,IAAZ;AAAA,UACC3B,IAAI,GAAGgC,IAAI,CAACtB,KAAL,CAAY,GAAZ,CADR,CAFwC,CAKxC;;AACA,UAAIsB,IAAI,GAAGhC,IAAI,CAAE,CAAF,CAAJ,IAAa,EAAxB;AAAA,UACCwB,QAAQ,GAAGxB,IAAI,CAAE,CAAF,CAAJ,IAAa,EADzB,CANwC,CASxC;;AACAtF,MAAAA,GAAG,CAACa,UAAJ,CAAgByG,IAAhB,EAAsBL,KAAK,CAAEJ,QAAF,CAA3B,EAAyCC,QAAzC,EAAmDG,KAAnD;AACA,KAtCW;AAwCZO,IAAAA,WAAW,EAAE,UAAWF,IAAX,EAAiBT,QAAjB,EAA4B;AACxC;AACA,UAAII,KAAK,GAAG,IAAZ;AAAA,UACC3B,IAAI,GAAGgC,IAAI,CAACtB,KAAL,CAAY,GAAZ,CADR,CAFwC,CAKxC;;AACA,UAAIsB,IAAI,GAAGhC,IAAI,CAAE,CAAF,CAAJ,IAAa,EAAxB;AAAA,UACCwB,QAAQ,GAAGxB,IAAI,CAAE,CAAF,CAAJ,IAAa,EADzB,CANwC,CASxC;;AACAtF,MAAAA,GAAG,CAACmB,UAAJ,CAAgBmG,IAAhB,EAAsBL,KAAK,CAAEJ,QAAF,CAA3B,EAAyCC,QAAzC,EAAmDG,KAAnD;AACA,KAnDW;AAqDZQ,IAAAA,UAAU,EAAE,UAAWH,IAAX,EAAiBT,QAAjB,EAA4B;AACvC;AACA,UAAII,KAAK,GAAG,IAAZ;AAAA,UACChB,CAAC,GAAGqB,IAAI,CAACI,OAAL,CAAc,GAAd,CADL;AAAA,UAECC,KAAK,GAAG1B,CAAC,GAAG,CAAJ,GAAQqB,IAAI,CAACM,MAAL,CAAa,CAAb,EAAgB3B,CAAhB,CAAR,GAA8BqB,IAFvC;AAAA,UAGCvD,QAAQ,GAAGkC,CAAC,GAAG,CAAJ,GAAQqB,IAAI,CAACM,MAAL,CAAa3B,CAAC,GAAG,CAAjB,CAAR,GAA+B,EAH3C,CAFuC,CAOvC;;AACA,UAAI4B,EAAE,GAAG,UAAWC,CAAX,EAAe;AACvB;AACAA,QAAAA,CAAC,CAAC1D,GAAF,GAAQtE,CAAC,CAAE,IAAF,CAAT,CAFuB,CAIvB;;AACA,YAAKE,GAAG,CAAC+H,WAAT,EAAuB;AACtBD,UAAAA,CAAC,CAACzC,MAAF,GAAWyC,CAAC,CAAC1D,GAAF,CAAMc,OAAN,CAAe,mBAAf,CAAX;AACA,SAPsB,CASvB;;;AACA,YAAK,OAAO+B,KAAK,CAACU,KAAb,KAAuB,UAA5B,EAAyC;AACxCG,UAAAA,CAAC,GAAGb,KAAK,CAACU,KAAN,CAAaG,CAAb,CAAJ;AACA,SAZsB,CAcvB;;;AACAb,QAAAA,KAAK,CAAEJ,QAAF,CAAL,CAAkBhC,KAAlB,CAAyBoC,KAAzB,EAAgCnC,SAAhC;AACA,OAhBD,CARuC,CA0BvC;;;AACA,UAAKf,QAAL,EAAgB;AACfjE,QAAAA,CAAC,CAAE6G,QAAF,CAAD,CAAcqB,EAAd,CAAkBL,KAAlB,EAAyB5D,QAAzB,EAAmC8D,EAAnC;AACA,OAFD,MAEO;AACN/H,QAAAA,CAAC,CAAE6G,QAAF,CAAD,CAAcqB,EAAd,CAAkBL,KAAlB,EAAyBE,EAAzB;AACA;AACD,KArFW;AAuFZI,IAAAA,GAAG,EAAE,UAAWX,IAAX,EAAiBzB,KAAjB,EAAyB;AAC7B;AACAA,MAAAA,KAAK,GAAGA,KAAK,IAAI,IAAjB,CAF6B,CAI7B;;AACA,UAAK,OAAO,KAAMyB,IAAN,CAAP,KAAwB,WAA7B,EAA2C;AAC1CzB,QAAAA,KAAK,GAAG,KAAMyB,IAAN,CAAR;AACA,OAP4B,CAS7B;;;AACA,aAAOzB,KAAP;AACA,KAlGW;AAoGZjF,IAAAA,GAAG,EAAE,UAAW0G,IAAX,EAAiBzB,KAAjB,EAAyB;AAC7B;AACA,WAAMyB,IAAN,IAAezB,KAAf,CAF6B,CAI7B;;AACA,UAAK,OAAO,KAAM,UAAUyB,IAAhB,CAAP,KAAkC,UAAvC,EAAoD;AACnD,aAAM,UAAUA,IAAhB,EAAuBzC,KAAvB,CAA8B,IAA9B;AACA,OAP4B,CAS7B;;;AACA,aAAO,IAAP;AACA;AA/GW,GAAb;AAkHA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAECtE,EAAAA,IAAI,CAAC2H,KAAL,GAAalI,GAAG,CAACiH,KAAJ,CAAUG,MAAV,CAAkB;AAC9Be,IAAAA,IAAI,EAAE,EADwB;AAE9B1H,IAAAA,CAAC,EAAE,EAF2B;AAG9B4E,IAAAA,MAAM,EAAE,IAHsB;AAI9BkC,IAAAA,WAAW,EAAE,UAAWD,IAAX,EAAiBT,QAAjB,EAA4B;AACxC;AACA,UAAII,KAAK,GAAG,IAAZ,CAFwC,CAIxC;;AACAK,MAAAA,IAAI,GAAGA,IAAI,GAAG,cAAP,GAAwBL,KAAK,CAACkB,IAArC,CALwC,CAOxC;;AACAnI,MAAAA,GAAG,CAACa,UAAJ,CAAgByG,IAAhB,EAAsB,UAAWjC,MAAX,EAAoB;AACzC;AACA4B,QAAAA,KAAK,CAACrG,GAAN,CAAW,QAAX,EAAqByE,MAArB,EAFyC,CAIzC;;AACA4B,QAAAA,KAAK,CAAEJ,QAAF,CAAL,CAAkBhC,KAAlB,CAAyBoC,KAAzB,EAAgCnC,SAAhC;AACA,OAND;AAOA,KAnB6B;AAqB9B0C,IAAAA,WAAW,EAAE,UAAWF,IAAX,EAAiBT,QAAjB,EAA4B;AACxC;AACA,UAAII,KAAK,GAAG,IAAZ,CAFwC,CAIxC;;AACAK,MAAAA,IAAI,GAAGA,IAAI,GAAG,cAAP,GAAwBL,KAAK,CAACkB,IAArC,CALwC,CAOxC;;AACAnI,MAAAA,GAAG,CAACmB,UAAJ,CAAgBmG,IAAhB,EAAsB,UAAWjC,MAAX,EAAoB;AACzC;AACA4B,QAAAA,KAAK,CAACrG,GAAN,CAAW,QAAX,EAAqByE,MAArB,EAFyC,CAIzC;;AACA4B,QAAAA,KAAK,CAAEJ,QAAF,CAAL,CAAkBhC,KAAlB,CAAyBoC,KAAzB,EAAgCnC,SAAhC;AACA,OAND;AAOA,KApC6B;AAsC9B2C,IAAAA,UAAU,EAAE,UAAWH,IAAX,EAAiBT,QAAjB,EAA4B;AACvC;AACA,UAAII,KAAK,GAAG,IAAZ;AAAA,UACCU,KAAK,GAAGL,IAAI,CAACM,MAAL,CAAa,CAAb,EAAgBN,IAAI,CAACI,OAAL,CAAc,GAAd,CAAhB,CADT;AAAA,UAEC3D,QAAQ,GAAGuD,IAAI,CAACM,MAAL,CAAaN,IAAI,CAACI,OAAL,CAAc,GAAd,IAAsB,CAAnC,CAFZ;AAAA,UAGCX,OAAO,GAAG/G,GAAG,CAAC6D,YAAJ,CAAkBoD,KAAK,CAACkB,IAAxB,CAHX,CAFuC,CAOvC;;AACArI,MAAAA,CAAC,CAAE6G,QAAF,CAAD,CAAcqB,EAAd,CAAkBL,KAAlB,EAAyBZ,OAAO,GAAG,GAAV,GAAgBhD,QAAzC,EAAmD,UAAW+D,CAAX,EAAe;AACjE;AACA,YAAI1D,GAAG,GAAGtE,CAAC,CAAE,IAAF,CAAX;AACA,YAAIuF,MAAM,GAAGrF,GAAG,CAACiF,iBAAJ,CAAuBb,GAAvB,EAA4B6C,KAAK,CAACkB,IAAlC,CAAb,CAHiE,CAKjE;;AACA,YAAK,CAAE9C,MAAM,CAACN,MAAd,EAAuB,OAN0C,CAQjE;;AACA,YAAK,CAAEM,MAAM,CAACd,EAAP,CAAW0C,KAAK,CAAC5B,MAAjB,CAAP,EAAmC;AAClC4B,UAAAA,KAAK,CAACrG,GAAN,CAAW,QAAX,EAAqByE,MAArB;AACA,SAXgE,CAajE;;;AACAyC,QAAAA,CAAC,CAAC1D,GAAF,GAAQA,GAAR;AACA0D,QAAAA,CAAC,CAACzC,MAAF,GAAWA,MAAX,CAfiE,CAiBjE;;AACA4B,QAAAA,KAAK,CAAEJ,QAAF,CAAL,CAAkBhC,KAAlB,CAAyBoC,KAAzB,EAAgC,CAAEa,CAAF,CAAhC;AACA,OAnBD;AAoBA,KAlE6B;AAoE9BM,IAAAA,WAAW,EAAE,YAAY;AACxB;AACA,UAAK,OAAO,KAAKC,KAAZ,KAAsB,UAA3B,EAAwC;AACvC,aAAKA,KAAL;AACA;AACD,KAzE6B;AA2E9B;AACAC,IAAAA,OAAO,EAAE,UAAWjD,MAAX,EAAoB;AAC5B,aAAO,KAAKzE,GAAL,CAAU,QAAV,EAAoByE,MAApB,CAAP;AACA;AA9E6B,GAAlB,CAAb;AAiFA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIkD,WAAW,GAAGvI,GAAG,CAACC,gBAAJ,CAAsBD,GAAG,CAACwI,UAA1B,EAAsC;AACvDC,IAAAA,YAAY,EAAE,UAAWpD,MAAX,EAAoB;AACjCrF,MAAAA,GAAG,CAAC0I,QAAJ,CAAcrD,MAAd,EAAuBsD,WAAvB;AACA,KAHsD;AAIvDC,IAAAA,WAAW,EAAE,UAAWvD,MAAX,EAAmBwD,OAAnB,EAA6B;AACzC7I,MAAAA,GAAG,CAAC0I,QAAJ,CAAcrD,MAAd,EAAuByD,UAAvB,CAAmC;AAClCC,QAAAA,IAAI,EAAEF,OAD4B;AAElCV,QAAAA,IAAI,EAAE,SAF4B;AAGlCa,QAAAA,OAAO,EAAE;AAHyB,OAAnC;AAKA,KAVsD;AAWvDC,IAAAA,KAAK,EAAEjJ,GAAG,CAACkJ,YAX4C;AAYvDC,IAAAA,YAAY,EAAEnJ,GAAG,CAACmJ,YAZqC;AAavDC,IAAAA,aAAa,EAAEpJ,GAAG,CAACoJ,aAboC;AAcvDC,IAAAA,WAAW,EAAErJ,GAAG,CAACqJ,WAdsC;AAevDC,IAAAA,WAAW,EAAEtJ,GAAG,CAACsJ,WAfsC;AAgBvDC,IAAAA,UAAU,EAAEvJ,GAAG,CAACuJ,UAhBuC;AAiBvDC,IAAAA,QAAQ,EAAExJ,GAAG,CAACwJ;AAjByC,GAAtC,CAAlB;AAoBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECjJ,EAAAA,IAAI,CAACkJ,OAAL,GAAe;AACdA,IAAAA,OAAO,EAAE,UAAWV,IAAX,EAAiB3E,GAAjB,EAAuB;AAC/B,UAAIqF,OAAO,GAAGzJ,GAAG,CAAC0J,UAAJ,CAAgB;AAC7BX,QAAAA,IAAI,EAAEA,IADuB;AAE7BY,QAAAA,MAAM,EAAEvF;AAFqB,OAAhB,CAAd,CAD+B,CAM/B;;AACA,aAAOqF,OAAO,CAACrF,GAAf;AACA,KATa;AAWdwF,IAAAA,IAAI,EAAE,UAAWb,IAAX,EAAiB3E,GAAjB,EAAuB;AAC5B,UAAIqF,OAAO,GAAGzJ,GAAG,CAAC0J,UAAJ,CAAgB;AAC7BX,QAAAA,IAAI,EAAEA,IADuB;AAE7BY,QAAAA,MAAM,EAAEvF,GAFqB;AAG7B4E,QAAAA,OAAO,EAAE;AAHoB,OAAhB,CAAd;AAKA,KAjBa;AAmBda,IAAAA,OAAO,EAAE,UAAWzF,GAAX,EAAgByC,QAAhB,EAA0BkC,IAA1B,EAAgCe,QAAhC,EAA0CC,QAA1C,EAAqD;AAC7D,UAAIN,OAAO,GAAGzJ,GAAG,CAAC0J,UAAJ,CAAgB;AAC7BG,QAAAA,OAAO,EAAE,IADoB;AAE7Bd,QAAAA,IAAI,EAAEA,IAFuB;AAG7BY,QAAAA,MAAM,EAAEvF,GAHqB;AAI7ByF,QAAAA,OAAO,EAAE,YAAY;AACpBhD,UAAAA,QAAQ,CAAE,IAAF,CAAR;AACA,SAN4B;AAO7BmD,QAAAA,MAAM,EAAE,YAAY;AACnBnD,UAAAA,QAAQ,CAAE,KAAF,CAAR;AACA;AAT4B,OAAhB,CAAd;AAWA,KA/Ba;AAiCdoD,IAAAA,cAAc,EAAE,UAAW7F,GAAX,EAAgByC,QAAhB,EAA2B;AAC1C,UAAI4C,OAAO,GAAGzJ,GAAG,CAAC0J,UAAJ,CAAgB;AAC7BQ,QAAAA,aAAa,EAAE,IADc;AAE7BP,QAAAA,MAAM,EAAEvF,GAFqB;AAG7ByF,QAAAA,OAAO,EAAE,YAAY;AACpBhD,UAAAA,QAAQ,CAAE,IAAF,CAAR;AACA,SAL4B;AAM7BmD,QAAAA,MAAM,EAAE,YAAY;AACnBnD,UAAAA,QAAQ,CAAE,KAAF,CAAR;AACA;AAR4B,OAAhB,CAAd;AAUA;AA5Ca,GAAf;AA+CA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAECtG,EAAAA,IAAI,CAAC4J,KAAL,GAAa,IAAInK,GAAG,CAACoK,KAAR,CAAe;AAC3BC,IAAAA,WAAW,EAAE,KADc;AAE3BrD,IAAAA,OAAO,EAAE;AACRsD,MAAAA,eAAe,EAAE;AADT,KAFkB;AAM3BC,IAAAA,KAAK,EAAE,YAAY;AAClB,aAAO,KAAKF,WAAZ;AACA,KAR0B;AAU3BG,IAAAA,eAAe,EAAE,UAAWC,KAAX,EAAmB;AACnC,WAAKJ,WAAL,GAAmBI,KAAK,CAACF,KAAzB;AACA,KAZ0B;AAc3BE,IAAAA,KAAK,EAAE,UAAWC,KAAX,EAAmB;AACzB;AACA,UAAKA,KAAK,CAACC,UAAX,EAAwB;AACvBD,QAAAA,KAAK,CAACE,YAAN,GAAqBF,KAAK,CAACC,UAA3B;AACA;;AACD,UAAKD,KAAK,CAACG,EAAX,EAAgB;AACfH,QAAAA,KAAK,CAACI,UAAN,GAAmBJ,KAAK,CAACG,EAAzB;AACA,OAPwB,CASzB;;;AACA,UAAIJ,KAAK,GAAGzK,GAAG,CAAC+K,aAAJ,CAAmBL,KAAnB,CAAZ,CAVyB,CAYzB;;AACA;AACH;AACA;AACA;AACA;AAEG;;AACA,aAAOD,KAAK,CAACF,KAAb;AACA;AAnC0B,GAAf,CAAb;AAsCA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEChK,EAAAA,IAAI,CAACyK,OAAL,GAAe;AACdC,IAAAA,IAAI,EAAE,UAAWC,OAAX,EAAoB5G,IAApB,EAA0Be,MAA1B,EAAmC;AACxC;AACA,UAAKf,IAAI,CAAC6G,UAAV,EAAuB;AACtB7G,QAAAA,IAAI,CAAC8G,SAAL,GAAiB9G,IAAI,CAAC6G,UAAtB;AACA;;AACD,UAAK7G,IAAI,CAAC+G,WAAV,EAAwB;AACvB/G,QAAAA,IAAI,CAACgH,UAAL,GAAkBhH,IAAI,CAAC+G,WAAvB;AACA;;AACD,UAAKhG,MAAL,EAAc;AACbf,QAAAA,IAAI,CAAC4D,KAAL,GAAalI,GAAG,CAAC0I,QAAJ,CAAcrD,MAAd,CAAb;AACA,OAVuC,CAYxC;;;AACA,aAAOrF,GAAG,CAACuL,UAAJ,CAAgBL,OAAhB,EAAyB5G,IAAzB,CAAP;AACA,KAfa;AAiBdkH,IAAAA,OAAO,EAAE,UAAWN,OAAX,EAAqB;AAC7B,aAAOlL,GAAG,CAACyL,WAAJ,CAAiBP,OAAjB,EAA2BM,OAA3B,EAAP;AACA;AAnBa,GAAf;AAsBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAECjL,EAAAA,IAAI,CAACmL,OAAL,GAAe;AACdC,IAAAA,MAAM,EAAE,UAAWrH,IAAX,EAAkB;AACzB;AACA,UAAKA,IAAI,CAACsH,QAAV,EAAqB;AACpBtH,QAAAA,IAAI,CAACuH,QAAL,GAAgBvH,IAAI,CAACsH,QAArB;AACA;;AACD,UAAKtH,IAAI,CAACwH,UAAV,EAAuB;AACtBxH,QAAAA,IAAI,CAACyH,SAAL,GAAiBzH,IAAI,CAACwH,UAAtB;AACA,OAPwB,CASzB;;;AACA,aAAO9L,GAAG,CAACgM,UAAJ,CAAgB1H,IAAhB,CAAP;AACA;AAZa,GAAf;AAeA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAECtE,EAAAA,GAAG,CAACC,gBAAJ,CAAsBD,GAAG,CAACiM,MAA1B,EAAkC;AACjCtL,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKC,GAAL,CAASiE,KAAT,CAAgB,IAAhB,EAAsBC,SAAtB,CAAP;AACA,KAHgC;AAIjCmE,IAAAA,KAAK,EAAEjJ,GAAG,CAACiM,MAAJ,CAAWC;AAJe,GAAlC;AAMA3L,EAAAA,IAAI,CAAC4L,IAAL,GAAYnM,GAAG,CAACiM,MAAhB;AACA,CAltBD,EAktBKG,MAltBL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAI4D,EAAE,GAAG3D,GAAG,CAAC2D,EAAb;;AAEA,MAAI0I,WAAW,GAAG,UAAWC,GAAX,EAAiB;AAClC,WAAOA,GAAG,GAAG,KAAKA,GAAR,GAAc,EAAxB;AACA,GAFD;;AAIA,MAAIC,SAAS,GAAG,UAAWC,EAAX,EAAeC,EAAf,EAAoB;AACnC,WACCJ,WAAW,CAAEG,EAAF,CAAX,CAAkBE,WAAlB,OAAoCL,WAAW,CAAEI,EAAF,CAAX,CAAkBC,WAAlB,EADrC;AAGA,GAJD;;AAMA,MAAIC,eAAe,GAAG,UAAWH,EAAX,EAAeC,EAAf,EAAoB;AACzC,WAAOG,UAAU,CAAEJ,EAAF,CAAV,KAAqBI,UAAU,CAAEH,EAAF,CAAtC;AACA,GAFD;;AAIA,MAAII,aAAa,GAAG,UAAWL,EAAX,EAAeC,EAAf,EAAoB;AACvC,WAAOG,UAAU,CAAEJ,EAAF,CAAV,GAAmBI,UAAU,CAAEH,EAAF,CAApC;AACA,GAFD;;AAIA,MAAIK,UAAU,GAAG,UAAWN,EAAX,EAAeC,EAAf,EAAoB;AACpC,WAAOG,UAAU,CAAEJ,EAAF,CAAV,GAAmBI,UAAU,CAAEH,EAAF,CAApC;AACA,GAFD;;AAIA,MAAIM,OAAO,GAAG,UAAWP,EAAX,EAAeQ,KAAf,EAAuB;AACpC;AACAA,IAAAA,KAAK,GAAGA,KAAK,CAACxG,GAAN,CAAW,UAAWiG,EAAX,EAAgB;AAClC,aAAOJ,WAAW,CAAEI,EAAF,CAAlB;AACA,KAFO,CAAR;AAIA,WAAOO,KAAK,CAACtF,OAAN,CAAe8E,EAAf,IAAsB,CAAC,CAA9B;AACA,GAPD;;AASA,MAAIS,cAAc,GAAG,UAAWC,QAAX,EAAqBC,MAArB,EAA8B;AAClD,WAAOd,WAAW,CAAEa,QAAF,CAAX,CAAwBxF,OAAxB,CAAiC2E,WAAW,CAAEc,MAAF,CAA5C,IAA2D,CAAC,CAAnE;AACA,GAFD;;AAIA,MAAIC,cAAc,GAAG,UAAWZ,EAAX,EAAea,OAAf,EAAyB;AAC7C,QAAIC,MAAM,GAAG,IAAIC,MAAJ,CAAYlB,WAAW,CAAEgB,OAAF,CAAvB,EAAoC,IAApC,CAAb;AACA,WAAOhB,WAAW,CAAEG,EAAF,CAAX,CAAkBgB,KAAlB,CAAyBF,MAAzB,CAAP;AACA,GAHD;AAKA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC,MAAIG,QAAQ,GAAGzN,GAAG,CAAC0N,SAAJ,CAActG,MAAd,CAAsB;AACpCe,IAAAA,IAAI,EAAE,UAD8B;AAEpCwF,IAAAA,QAAQ,EAAE,SAF0B;AAGpCC,IAAAA,KAAK,EAAEjK,EAAE,CAAE,eAAF,CAH2B;AAIpCkK,IAAAA,UAAU,EAAE,CACX,MADW,EAEX,UAFW,EAGX,QAHW,EAIX,OAJW,EAKX,OALW,EAMX,KANW,EAOX,UAPW,EAQX,OARW,EASX,MATW,EAUX,SAVW,EAWX,QAXW,EAYX,QAZW,EAaX,UAbW,EAcX,OAdW,EAeX,cAfW,EAgBX,MAhBW,EAiBX,aAjBW,EAkBX,WAlBW,EAmBX,cAnBW,EAoBX,UApBW,EAqBX,MArBW,EAsBX,YAtBW,EAuBX,aAvBW,EAwBX,kBAxBW,EAyBX,aAzBW,EA0BX,cA1BW,CAJwB;AAgCpCL,IAAAA,KAAK,EAAE,UAAWM,IAAX,EAAiB5F,KAAjB,EAAyB;AAC/B,UAAIoE,GAAG,GAAGpE,KAAK,CAACoE,GAAN,EAAV;;AACA,UAAKA,GAAG,YAAYyB,KAApB,EAA4B;AAC3BzB,QAAAA,GAAG,GAAGA,GAAG,CAACvH,MAAV;AACA;;AACD,aAAOuH,GAAG,GAAG,IAAH,GAAU,KAApB;AACA,KAtCmC;AAuCpC0B,IAAAA,OAAO,EAAE,UAAWC,WAAX,EAAyB;AACjC,aAAO,mCAAP;AACA;AAzCmC,GAAtB,CAAf;AA4CAjO,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BT,QAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIU,UAAU,GAAGV,QAAQ,CAACrG,MAAT,CAAiB;AACjCe,IAAAA,IAAI,EAAE,YAD2B;AAEjCwF,IAAAA,QAAQ,EAAE,SAFuB;AAGjCC,IAAAA,KAAK,EAAEjK,EAAE,CAAE,cAAF,CAHwB;AAIjC6J,IAAAA,KAAK,EAAE,UAAWM,IAAX,EAAiB5F,KAAjB,EAAyB;AAC/B,aAAO,CAAEuF,QAAQ,CAACW,SAAT,CAAmBZ,KAAnB,CAAyB3I,KAAzB,CAAgC,IAAhC,EAAsCC,SAAtC,CAAT;AACA;AANgC,GAAjB,CAAjB;AASA9E,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BC,UAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIE,OAAO,GAAGrO,GAAG,CAAC0N,SAAJ,CAActG,MAAd,CAAsB;AACnCe,IAAAA,IAAI,EAAE,SAD6B;AAEnCwF,IAAAA,QAAQ,EAAE,IAFyB;AAGnCC,IAAAA,KAAK,EAAEjK,EAAE,CAAE,mBAAF,CAH0B;AAInCkK,IAAAA,UAAU,EAAE,CACX,MADW,EAEX,UAFW,EAGX,QAHW,EAIX,OAJW,EAKX,OALW,EAMX,KANW,EAOX,UAPW,CAJuB;AAanCL,IAAAA,KAAK,EAAE,UAAWM,IAAX,EAAiB5F,KAAjB,EAAyB;AAC/B,UAAKlI,GAAG,CAACsO,SAAJ,CAAeR,IAAI,CAACjI,KAApB,CAAL,EAAmC;AAClC,eAAO8G,eAAe,CAAEmB,IAAI,CAACjI,KAAP,EAAcqC,KAAK,CAACoE,GAAN,EAAd,CAAtB;AACA,OAFD,MAEO;AACN,eAAOC,SAAS,CAAEuB,IAAI,CAACjI,KAAP,EAAcqC,KAAK,CAACoE,GAAN,EAAd,CAAhB;AACA;AACD,KAnBkC;AAoBnC0B,IAAAA,OAAO,EAAE,UAAWC,WAAX,EAAyB;AACjC,aAAO,uBAAP;AACA;AAtBkC,GAAtB,CAAd;AAyBAjO,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BG,OAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIE,UAAU,GAAGF,OAAO,CAACjH,MAAR,CAAgB;AAChCe,IAAAA,IAAI,EAAE,YAD0B;AAEhCwF,IAAAA,QAAQ,EAAE,IAFsB;AAGhCC,IAAAA,KAAK,EAAEjK,EAAE,CAAE,uBAAF,CAHuB;AAIhC6J,IAAAA,KAAK,EAAE,UAAWM,IAAX,EAAiB5F,KAAjB,EAAyB;AAC/B,aAAO,CAAEmG,OAAO,CAACD,SAAR,CAAkBZ,KAAlB,CAAwB3I,KAAxB,CAA+B,IAA/B,EAAqCC,SAArC,CAAT;AACA;AAN+B,GAAhB,CAAjB;AASA9E,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BK,UAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIC,YAAY,GAAGxO,GAAG,CAAC0N,SAAJ,CAActG,MAAd,CAAsB;AACxCe,IAAAA,IAAI,EAAE,cADkC;AAExCwF,IAAAA,QAAQ,EAAE,WAF8B;AAGxCC,IAAAA,KAAK,EAAEjK,EAAE,CAAE,uBAAF,CAH+B;AAIxCkK,IAAAA,UAAU,EAAE,CACX,MADW,EAEX,UAFW,EAGX,OAHW,EAIX,KAJW,EAKX,UALW,EAMX,SANW,CAJ4B;AAYxCL,IAAAA,KAAK,EAAE,UAAWM,IAAX,EAAiB5F,KAAjB,EAAyB;AAC/B,aAAOkF,cAAc,CAAElF,KAAK,CAACoE,GAAN,EAAF,EAAewB,IAAI,CAACjI,KAApB,CAArB;AACA,KAduC;AAexCmI,IAAAA,OAAO,EAAE,UAAWC,WAAX,EAAyB;AACjC,aAAO,8CAAP;AACA;AAjBuC,GAAtB,CAAnB;AAoBAjO,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BM,YAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIC,QAAQ,GAAGzO,GAAG,CAAC0N,SAAJ,CAActG,MAAd,CAAsB;AACpCe,IAAAA,IAAI,EAAE,UAD8B;AAEpCwF,IAAAA,QAAQ,EAAE,YAF0B;AAGpCC,IAAAA,KAAK,EAAEjK,EAAE,CAAE,gBAAF,CAH2B;AAIpCkK,IAAAA,UAAU,EAAE,CACX,MADW,EAEX,UAFW,EAGX,QAHW,EAIX,OAJW,EAKX,KALW,EAMX,UANW,EAOX,SAPW,EAQX,QARW,EASX,QATW,CAJwB;AAepCL,IAAAA,KAAK,EAAE,UAAWM,IAAX,EAAiB5F,KAAjB,EAAyB;AAC/B,aAAO+E,cAAc,CAAE/E,KAAK,CAACoE,GAAN,EAAF,EAAewB,IAAI,CAACjI,KAApB,CAArB;AACA,KAjBmC;AAkBpCmI,IAAAA,OAAO,EAAE,UAAWC,WAAX,EAAyB;AACjC,aAAO,uBAAP;AACA;AApBmC,GAAtB,CAAf;AAuBAjO,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BO,QAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIC,gBAAgB,GAAGL,OAAO,CAACjH,MAAR,CAAgB;AACtCe,IAAAA,IAAI,EAAE,kBADgC;AAEtCwG,IAAAA,UAAU,EAAE,QAF0B;AAGtCd,IAAAA,UAAU,EAAE,CAAE,YAAF,CAH0B;AAItCG,IAAAA,OAAO,EAAE,UAAW9F,KAAX,EAAmB;AAC3B,aAAO,CACN;AACC2C,QAAAA,EAAE,EAAE,CADL;AAEC9B,QAAAA,IAAI,EAAEpF,EAAE,CAAE,SAAF;AAFT,OADM,CAAP;AAMA;AAXqC,GAAhB,CAAvB;AAcA3D,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BQ,gBAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIE,mBAAmB,GAAGL,UAAU,CAACnH,MAAX,CAAmB;AAC5Ce,IAAAA,IAAI,EAAE,qBADsC;AAE5CwG,IAAAA,UAAU,EAAE,QAFgC;AAG5Cd,IAAAA,UAAU,EAAE,CAAE,YAAF,CAHgC;AAI5CG,IAAAA,OAAO,EAAE,UAAW9F,KAAX,EAAmB;AAC3B,aAAO,CACN;AACC2C,QAAAA,EAAE,EAAE,CADL;AAEC9B,QAAAA,IAAI,EAAEpF,EAAE,CAAE,SAAF;AAFT,OADM,CAAP;AAMA;AAX2C,GAAnB,CAA1B;AAcA3D,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BU,mBAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIC,aAAa,GAAG7O,GAAG,CAAC0N,SAAJ,CAActG,MAAd,CAAsB;AACzCe,IAAAA,IAAI,EAAE,eADmC;AAEzCwF,IAAAA,QAAQ,EAAE,IAF+B;AAGzCC,IAAAA,KAAK,EAAEjK,EAAE,CAAE,mBAAF,CAHgC;AAIzCkK,IAAAA,UAAU,EAAE,CAAE,QAAF,EAAY,UAAZ,EAAwB,OAAxB,EAAiC,cAAjC,CAJ6B;AAKzCL,IAAAA,KAAK,EAAE,UAAWM,IAAX,EAAiB5F,KAAjB,EAAyB;AAC/B,UAAIoE,GAAG,GAAGpE,KAAK,CAACoE,GAAN,EAAV;;AACA,UAAKA,GAAG,YAAYyB,KAApB,EAA4B;AAC3B,eAAOhB,OAAO,CAAEe,IAAI,CAACjI,KAAP,EAAcyG,GAAd,CAAd;AACA,OAFD,MAEO;AACN,eAAOC,SAAS,CAAEuB,IAAI,CAACjI,KAAP,EAAcyG,GAAd,CAAhB;AACA;AACD,KAZwC;AAazC0B,IAAAA,OAAO,EAAE,UAAWC,WAAX,EAAyB;AACjC;AACA,UAAID,OAAO,GAAG,EAAd;AACA,UAAIc,KAAK,GAAGb,WAAW,CACrBc,QADU,CACA,kBADA,EAEVzC,GAFU,GAGVtG,KAHU,CAGH,IAHG,CAAZ,CAHiC,CAQjC;;AACA,UAAKiI,WAAW,CAACe,MAAZ,CAAoB,YAApB,EAAmCC,IAAnC,CAAyC,SAAzC,CAAL,EAA4D;AAC3DjB,QAAAA,OAAO,CAACkB,IAAR,CAAc;AACbrE,UAAAA,EAAE,EAAE,EADS;AAEb9B,UAAAA,IAAI,EAAEpF,EAAE,CAAE,MAAF;AAFK,SAAd;AAIA,OAdgC,CAgBjC;;;AACAmL,MAAAA,KAAK,CAACtI,GAAN,CAAW,UAAW2I,IAAX,EAAkB;AAC5B;AACAA,QAAAA,IAAI,GAAGA,IAAI,CAACnJ,KAAL,CAAY,GAAZ,CAAP,CAF4B,CAI5B;;AACAmJ,QAAAA,IAAI,CAAE,CAAF,CAAJ,GAAYA,IAAI,CAAE,CAAF,CAAJ,IAAaA,IAAI,CAAE,CAAF,CAA7B,CAL4B,CAO5B;;AACAnB,QAAAA,OAAO,CAACkB,IAAR,CAAc;AACbrE,UAAAA,EAAE,EAAEsE,IAAI,CAAE,CAAF,CAAJ,CAAUC,IAAV,EADS;AAEbrG,UAAAA,IAAI,EAAEoG,IAAI,CAAE,CAAF,CAAJ,CAAUC,IAAV;AAFO,SAAd;AAIA,OAZD,EAjBiC,CA+BjC;;AACA,aAAOpB,OAAP;AACA;AA9CwC,GAAtB,CAApB;AAiDAhO,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BW,aAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIQ,gBAAgB,GAAGR,aAAa,CAACzH,MAAd,CAAsB;AAC5Ce,IAAAA,IAAI,EAAE,kBADsC;AAE5CwF,IAAAA,QAAQ,EAAE,IAFkC;AAG5CC,IAAAA,KAAK,EAAEjK,EAAE,CAAE,uBAAF,CAHmC;AAI5C6J,IAAAA,KAAK,EAAE,UAAWM,IAAX,EAAiB5F,KAAjB,EAAyB;AAC/B,aAAO,CAAE2G,aAAa,CAACT,SAAd,CAAwBZ,KAAxB,CAA8B3I,KAA9B,CAAqC,IAArC,EAA2CC,SAA3C,CAAT;AACA;AAN2C,GAAtB,CAAvB;AASA9E,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BmB,gBAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIC,WAAW,GAAGtP,GAAG,CAAC0N,SAAJ,CAActG,MAAd,CAAsB;AACvCe,IAAAA,IAAI,EAAE,aADiC;AAEvCwF,IAAAA,QAAQ,EAAE,GAF6B;AAGvCC,IAAAA,KAAK,EAAEjK,EAAE,CAAE,uBAAF,CAH8B;AAIvCkK,IAAAA,UAAU,EAAE,CAAE,QAAF,EAAY,OAAZ,CAJ2B;AAKvCL,IAAAA,KAAK,EAAE,UAAWM,IAAX,EAAiB5F,KAAjB,EAAyB;AAC/B,UAAIoE,GAAG,GAAGpE,KAAK,CAACoE,GAAN,EAAV;;AACA,UAAKA,GAAG,YAAYyB,KAApB,EAA4B;AAC3BzB,QAAAA,GAAG,GAAGA,GAAG,CAACvH,MAAV;AACA;;AACD,aAAO8H,aAAa,CAAEP,GAAF,EAAOwB,IAAI,CAACjI,KAAZ,CAApB;AACA,KAXsC;AAYvCmI,IAAAA,OAAO,EAAE,UAAWC,WAAX,EAAyB;AACjC,aAAO,yBAAP;AACA;AAdsC,GAAtB,CAAlB;AAiBAjO,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BoB,WAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIC,QAAQ,GAAGD,WAAW,CAAClI,MAAZ,CAAoB;AAClCe,IAAAA,IAAI,EAAE,UAD4B;AAElCwF,IAAAA,QAAQ,EAAE,GAFwB;AAGlCC,IAAAA,KAAK,EAAEjK,EAAE,CAAE,oBAAF,CAHyB;AAIlC6J,IAAAA,KAAK,EAAE,UAAWM,IAAX,EAAiB5F,KAAjB,EAAyB;AAC/B,UAAIoE,GAAG,GAAGpE,KAAK,CAACoE,GAAN,EAAV;;AACA,UAAKA,GAAG,YAAYyB,KAApB,EAA4B;AAC3BzB,QAAAA,GAAG,GAAGA,GAAG,CAACvH,MAAV;AACA;;AACD,UAAKuH,GAAG,KAAKvM,SAAR,IAAqBuM,GAAG,KAAK,IAA7B,IAAqCA,GAAG,KAAK,KAAlD,EAA0D;AACzD,eAAO,IAAP;AACA;;AACD,aAAOQ,UAAU,CAAER,GAAF,EAAOwB,IAAI,CAACjI,KAAZ,CAAjB;AACA,KAbiC;AAclCmI,IAAAA,OAAO,EAAE,UAAWC,WAAX,EAAyB;AACjC,aAAO,yBAAP;AACA;AAhBiC,GAApB,CAAf;AAmBAjO,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BqB,QAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIC,oBAAoB,GAAGF,WAAW,CAAClI,MAAZ,CAAoB;AAC9Ce,IAAAA,IAAI,EAAE,sBADwC;AAE9CyF,IAAAA,KAAK,EAAEjK,EAAE,CAAE,2BAAF,CAFqC;AAG9CkK,IAAAA,UAAU,EAAE,CACX,UADW,EAEX,QAFW,EAGX,aAHW,EAIX,WAJW,EAKX,cALW,EAMX,UANW,EAOX,MAPW;AAHkC,GAApB,CAA3B;AAcA7N,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BsB,oBAA3B;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIC,iBAAiB,GAAGF,QAAQ,CAACnI,MAAT,CAAiB;AACxCe,IAAAA,IAAI,EAAE,mBADkC;AAExCyF,IAAAA,KAAK,EAAEjK,EAAE,CAAE,wBAAF,CAF+B;AAGxCkK,IAAAA,UAAU,EAAE,CACX,UADW,EAEX,QAFW,EAGX,aAHW,EAIX,WAJW,EAKX,cALW,EAMX,UANW,EAOX,MAPW;AAH4B,GAAjB,CAAxB;AAcA7N,EAAAA,GAAG,CAACkO,qBAAJ,CAA2BuB,iBAA3B;AACA,CAtgBD,EAsgBKrD,MAtgBL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B;AACA,MAAI2P,OAAO,GAAG,EAAd;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC1P,EAAAA,GAAG,CAAC0N,SAAJ,GAAgB1N,GAAG,CAACoK,KAAJ,CAAUhD,MAAV,CAAkB;AACjCe,IAAAA,IAAI,EAAE,EAD2B;AACvB;AACVwF,IAAAA,QAAQ,EAAE,IAFuB;AAEjB;AAChBC,IAAAA,KAAK,EAAE,EAH0B;AAGtB;AACXe,IAAAA,UAAU,EAAE,OAJqB;AAIZ;AACrBd,IAAAA,UAAU,EAAE,EALqB;AAKjB;AAEhBvI,IAAAA,IAAI,EAAE;AACLqK,MAAAA,UAAU,EAAE,KADP;AACc;AACnBzH,MAAAA,KAAK,EAAE,KAFF;AAES;AACd4F,MAAAA,IAAI,EAAE,EAHD,CAGK;;AAHL,KAP2B;AAajC3G,IAAAA,MAAM,EAAE;AACPyI,MAAAA,MAAM,EAAE,QADD;AAEPC,MAAAA,KAAK,EAAE,QAFA;AAGPC,MAAAA,WAAW,EAAE,QAHN;AAIPC,MAAAA,YAAY,EAAE;AAJP,KAbyB;AAoBjCC,IAAAA,KAAK,EAAE,UAAWtF,KAAX,EAAmB;AACzB5K,MAAAA,CAAC,CAACsH,MAAF,CAAU,KAAK9B,IAAf,EAAqBoF,KAArB;AACA,KAtBgC;AAwBjCuF,IAAAA,cAAc,EAAE,UAAW7L,GAAX,EAAgBuD,KAAhB,EAAwB;AACvC,aAAOvD,GAAG,IAAI,KAAK6D,GAAL,CAAU,OAAV,EAAoB7D,GAAlC;AACA,KA1BgC;AA4BjCwL,IAAAA,MAAM,EAAE,UAAW9H,CAAX,EAAc1D,GAAd,EAAoB;AAC3B,WAAK6D,GAAL,CAAU,YAAV,EAAyB2H,MAAzB,CAAiC9H,CAAjC;AACA,KA9BgC;AAgCjC0F,IAAAA,KAAK,EAAE,UAAWM,IAAX,EAAiB5F,KAAjB,EAAyB;AAC/B,aAAO,KAAP;AACA,KAlCgC;AAoCjCgI,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAO,KAAK1C,KAAL,CAAY,KAAKvF,GAAL,CAAU,MAAV,CAAZ,EAAgC,KAAKA,GAAL,CAAU,OAAV,CAAhC,CAAP;AACA,KAtCgC;AAwCjC+F,IAAAA,OAAO,EAAE,UAAW9F,KAAX,EAAmB;AAC3B,aAAO,uBAAP;AACA;AA1CgC,GAAlB,CAAhB;AA6CA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEClI,EAAAA,GAAG,CAACmQ,YAAJ,GAAmB,UAAWrC,IAAX,EAAiB6B,UAAjB,EAA8B;AAChD;AACA,QAAIhG,MAAM,GAAGgG,UAAU,CAAC1H,GAAX,CAAgB,OAAhB,CAAb,CAFgD,CAIhD;AACA;;AACA,QAAIC,KAAK,GAAGyB,MAAM,CAACjB,QAAP,CAAiBoF,IAAI,CAAC5F,KAAtB,CAAZ,CANgD,CAQhD;;AACA,QAAK,CAAEyB,MAAF,IAAY,CAAEzB,KAAnB,EAA2B;AAC1B,aAAO,KAAP;AACA,KAX+C,CAahD;;;AACA,QAAI5D,IAAI,GAAG;AACVwJ,MAAAA,IAAI,EAAEA,IADI;AAEVnE,MAAAA,MAAM,EAAEA,MAFE;AAGVgG,MAAAA,UAAU,EAAEA,UAHF;AAIVzH,MAAAA,KAAK,EAAEA;AAJG,KAAX,CAdgD,CAqBhD;;AACA,QAAIkI,SAAS,GAAGlI,KAAK,CAACD,GAAN,CAAW,MAAX,CAAhB;AACA,QAAI0F,QAAQ,GAAGG,IAAI,CAACH,QAApB,CAvBgD,CAyBhD;;AACA,QAAI0C,cAAc,GAAGrQ,GAAG,CAACsQ,iBAAJ,CAAuB;AAC3CF,MAAAA,SAAS,EAAEA,SADgC;AAE3CzC,MAAAA,QAAQ,EAAEA;AAFiC,KAAvB,CAArB,CA1BgD,CA+BhD;;AACA,QAAI1G,KAAK,GAAGoJ,cAAc,CAAE,CAAF,CAAd,IAAuBrQ,GAAG,CAAC0N,SAAvC,CAhCgD,CAkChD;;AACA,QAAI6C,SAAS,GAAG,IAAItJ,KAAJ,CAAW3C,IAAX,CAAhB,CAnCgD,CAqChD;;AACA,WAAOiM,SAAP;AACA,GAvCD;AAyCA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC,MAAIC,OAAO,GAAG,UAAWrI,IAAX,EAAkB;AAC/B,WAAOnI,GAAG,CAACyQ,aAAJ,CAAmBtI,IAAI,IAAI,EAA3B,IAAkC,WAAzC;AACA,GAFD;AAIA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECnI,EAAAA,GAAG,CAACkO,qBAAJ,GAA4B,UAAWjH,KAAX,EAAmB;AAC9C;AACA,QAAIyJ,KAAK,GAAGzJ,KAAK,CAACmH,SAAlB;AACA,QAAIjG,IAAI,GAAGuI,KAAK,CAACvI,IAAjB;AACA,QAAIwI,GAAG,GAAGH,OAAO,CAAErI,IAAF,CAAjB,CAJ8C,CAM9C;;AACAnI,IAAAA,GAAG,CAAC4Q,MAAJ,CAAYD,GAAZ,IAAoB1J,KAApB,CAP8C,CAS9C;;AACAyI,IAAAA,OAAO,CAACR,IAAR,CAAc/G,IAAd;AACA,GAXD;AAaA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECnI,EAAAA,GAAG,CAAC6Q,gBAAJ,GAAuB,UAAW1I,IAAX,EAAkB;AACxC,QAAIwI,GAAG,GAAGH,OAAO,CAAErI,IAAF,CAAjB;AACA,WAAOnI,GAAG,CAAC4Q,MAAJ,CAAYD,GAAZ,KAAqB,KAA5B;AACA,GAHD;AAKA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC3Q,EAAAA,GAAG,CAAC8Q,6BAAJ,GAAoC,UAAWC,aAAX,EAA0BX,SAA1B,EAAsC;AACzE;AACA,QAAInJ,KAAK,GAAGjH,GAAG,CAAC6Q,gBAAJ,CAAsBE,aAAtB,CAAZ,CAFyE,CAIzE;;AACA,QAAK9J,KAAL,EAAa;AACZA,MAAAA,KAAK,CAACmH,SAAN,CAAgBP,UAAhB,CAA2BqB,IAA3B,CAAiCkB,SAAjC;AACA;AACD,GARD;AAUA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECpQ,EAAAA,GAAG,CAACsQ,iBAAJ,GAAwB,UAAWhM,IAAX,EAAkB;AACzC;AACAA,IAAAA,IAAI,GAAGtE,GAAG,CAAC0B,SAAJ,CAAe4C,IAAf,EAAqB;AAC3B8L,MAAAA,SAAS,EAAE,EADgB;AAE3BzC,MAAAA,QAAQ,EAAE;AAFiB,KAArB,CAAP,CAFyC,CAOzC;;AACA,QAAIqD,KAAK,GAAG,EAAZ,CARyC,CAUzC;;AACAtB,IAAAA,OAAO,CAAClJ,GAAR,CAAa,UAAW2B,IAAX,EAAkB;AAC9B;AACA,UAAIlB,KAAK,GAAGjH,GAAG,CAAC6Q,gBAAJ,CAAsB1I,IAAtB,CAAZ;AACA,UAAI8I,eAAe,GAAGhK,KAAK,CAACmH,SAAN,CAAgBP,UAAtC;AACA,UAAIqD,aAAa,GAAGjK,KAAK,CAACmH,SAAN,CAAgBT,QAApC,CAJ8B,CAM9B;;AACA,UACCrJ,IAAI,CAAC8L,SAAL,IACAa,eAAe,CAACvJ,OAAhB,CAAyBpD,IAAI,CAAC8L,SAA9B,MAA8C,CAAC,CAFhD,EAGE;AACD;AACA,OAZ6B,CAc9B;;;AACA,UAAK9L,IAAI,CAACqJ,QAAL,IAAiBuD,aAAa,KAAK5M,IAAI,CAACqJ,QAA7C,EAAwD;AACvD;AACA,OAjB6B,CAmB9B;;;AACAqD,MAAAA,KAAK,CAAC9B,IAAN,CAAYjI,KAAZ;AACA,KArBD,EAXyC,CAkCzC;;AACA,WAAO+J,KAAP;AACA,GApCD;AAqCA,CAnPD,EAmPK5E,MAnPL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B;AACA,MAAIoR,OAAO,GAAG,mBAAd;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIC,iBAAiB,GAAG,IAAIpR,GAAG,CAACoK,KAAR,CAAe;AACtCS,IAAAA,EAAE,EAAE,mBADkC;AAGtC/D,IAAAA,QAAQ,EAAE,EAH4B;AAGxB;AAEdE,IAAAA,OAAO,EAAE;AACRqK,MAAAA,SAAS,EAAE;AADH,KAL6B;AAStCC,IAAAA,UAAU,EAAE,UAAWpJ,KAAX,EAAmB;AAC9B,UAAKA,KAAK,CAACqJ,GAAN,CAAW,YAAX,CAAL,EAAiC;AAChCrJ,QAAAA,KAAK,CAACsJ,aAAN,GAAsB7F,MAAtB;AACA;AACD;AAbqC,GAAf,CAAxB;AAgBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAI8F,eAAe,GAAG,UAAWvJ,KAAX,EAAkBtC,GAAlB,EAAwB;AAC7C;AACA,QAAIlF,MAAM,GAAGV,GAAG,CAAC0R,SAAJ,CAAe;AAC3B9L,MAAAA,GAAG,EAAEA,GADsB;AAE3B+L,MAAAA,OAAO,EAAEzJ,KAAK,CAAC9D,GAFY;AAG3BK,MAAAA,eAAe,EAAE;AAHU,KAAf,CAAb,CAF6C,CAQ7C;AACA;;AACA,QAAK,CAAE/D,MAAM,CAACqE,MAAd,EAAuB;AACtBrE,MAAAA,MAAM,GAAGV,GAAG,CAAC0R,SAAJ,CAAe;AACvB9L,QAAAA,GAAG,EAAEA,GADkB;AAEvBpB,QAAAA,MAAM,EAAE0D,KAAK,CAAC9D,GAAN,CAAUI,MAAV,EAFe;AAGvBC,QAAAA,eAAe,EAAE;AAHM,OAAf,CAAT;AAKA,KAhB4C,CAkB7C;;;AACA,QAAK/D,MAAM,CAACqE,MAAZ,EAAqB;AACpB,aAAOrE,MAAM,CAAE,CAAF,CAAb;AACA;;AACD,WAAO,KAAP;AACA,GAvBD;;AAyBAV,EAAAA,GAAG,CAACqG,KAAJ,CAAU+H,SAAV,CAAoB1F,QAApB,GAA+B,UAAW9C,GAAX,EAAiB;AAC/C;AACA,QAAIsC,KAAK,GAAGuJ,eAAe,CAAE,IAAF,EAAQ7L,GAAR,CAA3B,CAF+C,CAI/C;;AACA,QAAKsC,KAAL,EAAa;AACZ,aAAOA,KAAP;AACA,KAP8C,CAS/C;;;AACA,QAAI0J,OAAO,GAAG,KAAKA,OAAL,EAAd;;AACA,SAAM,IAAI3L,CAAC,GAAG,CAAd,EAAiBA,CAAC,GAAG2L,OAAO,CAAC7M,MAA7B,EAAqCkB,CAAC,EAAtC,EAA2C;AAC1C;AACAiC,MAAAA,KAAK,GAAGuJ,eAAe,CAAEG,OAAO,CAAE3L,CAAF,CAAT,EAAgBL,GAAhB,CAAvB,CAF0C,CAI1C;;AACA,UAAKsC,KAAL,EAAa;AACZ,eAAOA,KAAP;AACA;AACD,KAnB8C,CAqB/C;;;AACA,WAAO,KAAP;AACA,GAvBD;AAyBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEClI,EAAAA,GAAG,CAACqG,KAAJ,CAAU+H,SAAV,CAAoBoD,aAApB,GAAoC,YAAY;AAC/C;AACA,QAAK,CAAE,KAAK7B,UAAZ,EAAyB;AACxB,WAAKA,UAAL,GAAkB,IAAIkC,UAAJ,CAAgB,IAAhB,CAAlB;AACA,KAJ8C,CAM/C;;;AACA,WAAO,KAAKlC,UAAZ;AACA,GARD;AAUA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACC,MAAI3G,OAAO,GAAG,KAAd;AACA,MAAI6I,UAAU,GAAG7R,GAAG,CAACoK,KAAJ,CAAUhD,MAAV,CAAkB;AAClCyD,IAAAA,EAAE,EAAE,YAD8B;AAGlCvF,IAAAA,IAAI,EAAE;AACL4C,MAAAA,KAAK,EAAE,KADF;AACS;AACd4J,MAAAA,SAAS,EAAE,KAFN;AAEa;AAClBC,MAAAA,MAAM,EAAE,EAHH,CAGO;;AAHP,KAH4B;AASlC/B,IAAAA,KAAK,EAAE,UAAW9H,KAAX,EAAmB;AACzB;AACA,WAAK5C,IAAL,CAAU4C,KAAV,GAAkBA,KAAlB,CAFyB,CAIzB;;AACA,UAAIyH,UAAU,GAAGzH,KAAK,CAACD,GAAN,CAAW,YAAX,CAAjB,CALyB,CAOzB;;AACA,UAAK0H,UAAU,YAAY5B,KAA3B,EAAmC;AAClC;AACA,YAAK4B,UAAU,CAAE,CAAF,CAAV,YAA2B5B,KAAhC,EAAwC;AACvC;AACA4B,UAAAA,UAAU,CAACnJ,GAAX,CAAgB,UAAWwL,KAAX,EAAkB/L,CAAlB,EAAsB;AACrC,iBAAKgM,QAAL,CAAeD,KAAf,EAAsB/L,CAAtB;AACA,WAFD,EAEG,IAFH,EAFuC,CAMvC;AACA,SAPD,MAOO;AACN,eAAKgM,QAAL,CAAetC,UAAf;AACA,SAXiC,CAalC;;AACA,OAdD,MAcO;AACN,aAAKuC,OAAL,CAAcvC,UAAd;AACA;AACD,KAlCiC;AAoClCC,IAAAA,MAAM,EAAE,UAAW9H,CAAX,EAAe;AACtB;AACA;AACA,UAAK,KAAKG,GAAL,CAAU,WAAV,MAA4BH,CAAC,CAACgK,SAAnC,EAA+C;AAC9C,eAAO,KAAP;AACA,OAFD,MAEO;AACN,aAAKlR,GAAL,CAAU,WAAV,EAAuBkH,CAAC,CAACgK,SAAzB,EAAoC,IAApC;AACA,OAPqB,CAStB;;;AACA,UAAIK,OAAO,GAAG,KAAKxG,MAAL,EAAd;AACA,KA/CiC;AAiDlCA,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKuE,SAAL,KAAmB,KAAKkC,IAAL,EAAnB,GAAiC,KAAKC,IAAL,EAAxC;AACA,KAnDiC;AAqDlCD,IAAAA,IAAI,EAAE,YAAY;AACjB,aAAO,KAAKnK,GAAL,CAAU,OAAV,EAAoBqK,UAApB,CAAgC,KAAKC,GAArC,EAA0CpB,OAA1C,CAAP;AACA,KAvDiC;AAyDlCkB,IAAAA,IAAI,EAAE,YAAY;AACjB,aAAO,KAAKpK,GAAL,CAAU,OAAV,EAAoBuK,WAApB,CAAiC,KAAKD,GAAtC,EAA2CpB,OAA3C,CAAP;AACA,KA3DiC;AA6DlCjB,IAAAA,SAAS,EAAE,YAAY;AACtB;AACA,UAAIuC,IAAI,GAAG,KAAX,CAFsB,CAItB;;AACA,WAAKC,SAAL,GAAiBlM,GAAjB,CAAsB,UAAWmM,KAAX,EAAmB;AACxC;AACA,YAAKF,IAAL,EAAY,OAF4B,CAIxC;;AACA,YAAIG,MAAM,GAAGD,KAAK,CAACE,MAAN,CAAc,UAAWtC,SAAX,EAAuB;AACjD,iBAAOA,SAAS,CAACL,SAAV,EAAP;AACA,SAFY,CAAb,CALwC,CASxC;;AACA,YAAK0C,MAAM,CAAC7N,MAAP,IAAiB4N,KAAK,CAAC5N,MAA5B,EAAqC;AACpC0N,UAAAA,IAAI,GAAG,IAAP;AACA;AACD,OAbD;AAeA,aAAOA,IAAP;AACA,KAlFiC;AAoFlCK,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAO,KAAKxN,IAAL,CAAUyM,MAAV,IAAoB,IAA3B;AACA,KAtFiC;AAwFlCW,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAO,KAAKpN,IAAL,CAAUyM,MAAjB;AACA,KA1FiC;AA4FlCgB,IAAAA,QAAQ,EAAE,YAAY;AACrB,UAAIJ,KAAK,GAAG,EAAZ;AACA,WAAKrN,IAAL,CAAUyM,MAAV,CAAiB7C,IAAjB,CAAuByD,KAAvB;AACA,aAAOA,KAAP;AACA,KAhGiC;AAkGlCK,IAAAA,QAAQ,EAAE,UAAW/M,CAAX,EAAe;AACxB,aAAO,KAAKX,IAAL,CAAUyM,MAAV,CAAkB9L,CAAlB,KAAyB,IAAhC;AACA,KApGiC;AAsGlCgN,IAAAA,QAAQ,EAAE,UAAWhN,CAAX,EAAe;AACxB,aAAO,KAAKX,IAAL,CAAUyM,MAAV,CAAkB9L,CAAlB,CAAP;AACA,KAxGiC;AA0GlCiN,IAAAA,WAAW,EAAE,UAAWjN,CAAX,EAAe;AAC3B,WAAKX,IAAL,CAAUyM,MAAV,CAAkB9L,CAAlB,EAAsBkN,MAAtB;AACA,aAAO,IAAP;AACA,KA7GiC;AA+GlClB,IAAAA,QAAQ,EAAE,UAAWD,KAAX,EAAkBW,KAAlB,EAA0B;AACnCX,MAAAA,KAAK,CAACxL,GAAN,CAAW,UAAWsH,IAAX,EAAkB;AAC5B,aAAKoE,OAAL,CAAcpE,IAAd,EAAoB6E,KAApB;AACA,OAFD,EAEG,IAFH;AAGA,KAnHiC;AAqHlCT,IAAAA,OAAO,EAAE,UAAWpE,IAAX,EAAiB6E,KAAjB,EAAyB;AACjC;AACAA,MAAAA,KAAK,GAAGA,KAAK,IAAI,CAAjB,CAFiC,CAIjC;;AACA,UAAIS,UAAJ,CALiC,CAOjC;;AACA,UAAK,KAAKJ,QAAL,CAAeL,KAAf,CAAL,EAA8B;AAC7BS,QAAAA,UAAU,GAAG,KAAKH,QAAL,CAAeN,KAAf,CAAb;AACA,OAFD,MAEO;AACNS,QAAAA,UAAU,GAAG,KAAKL,QAAL,EAAb;AACA,OAZgC,CAcjC;;;AACA,UAAIxC,SAAS,GAAGvQ,GAAG,CAACmQ,YAAJ,CAAkBrC,IAAlB,EAAwB,IAAxB,CAAhB,CAfiC,CAiBjC;;AACA,UAAK,CAAEyC,SAAP,EAAmB;AAClB,eAAO,KAAP;AACA,OApBgC,CAsBjC;;;AACA6C,MAAAA,UAAU,CAAClE,IAAX,CAAiBqB,SAAjB;AACA,KA7IiC;AA+IlC8C,IAAAA,OAAO,EAAE,YAAY,CAAE,CA/IW;AAiJlCC,IAAAA,OAAO,EAAE,UAAWxF,IAAX,EAAiB6E,KAAjB,EAAyB;AACjC;AACA7E,MAAAA,IAAI,GAAGA,IAAI,IAAI,CAAf;AACA6E,MAAAA,KAAK,GAAGA,KAAK,IAAI,CAAjB;AAEA,aAAO,KAAKrN,IAAL,CAAUyM,MAAV,CAAkBY,KAAlB,EAA2B7E,IAA3B,CAAP;AACA,KAvJiC;AAyJlCyF,IAAAA,UAAU,EAAE,YAAY,CAAE;AAzJQ,GAAlB,CAAjB;AA2JA,CA3RD,EA2RKnH,MA3RL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIkG,CAAC,GAAG,CAAR;AAEA,MAAII,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,WADuB;AAG7BqL,IAAAA,IAAI,EAAE,EAHuB;AAK7BC,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,mBAAR,CAAP;AACA,KAP4B;AAS7B4T,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAK,KAAKtP,GAAL,CAASuP,QAAT,CAAmB,eAAnB,CAAL,EAA4C;AAC3C;AACA,OAJsB,CAMvB;;;AACA,UAAK,KAAKvP,GAAL,CAASG,EAAT,CAAa,IAAb,CAAL,EAA2B,OAPJ,CASvB;;AACA,UAAK,KAAK0D,GAAL,CAAU,UAAV,CAAL,EAA8B;AAC7B,eAAO,KAAKzF,MAAL,EAAP;AACA,OAZsB,CAcvB;;;AACA,UAAI6C,MAAM,GAAG,KAAKjB,GAAlB;AACA,UAAIwP,MAAM,GAAG,KAAKC,UAAL,EAAb;AACA,UAAI7E,MAAM,GAAG,KAAK8E,UAAL,EAAb;AACA,UAAIC,KAAK,GAAG,KAAKN,QAAL,EAAZ;AACA,UAAIO,aAAa,GAAGhF,MAAM,CAACiF,QAAP,CAAiB,cAAjB,CAApB,CAnBuB,CAqBvB;;AACA,UAAKD,aAAa,CAACjP,MAAnB,EAA4B;AAC3B6O,QAAAA,MAAM,CAACM,MAAP,CAAeF,aAAf;AACA,OAxBsB,CA0BvB;;;AACA,UAAK,KAAK5P,GAAL,CAASG,EAAT,CAAa,IAAb,CAAL,EAA2B;AAC1B;AACA,YAAI4P,MAAM,GAAG,KAAK/P,GAAL,CAASc,OAAT,CAAkB,OAAlB,CAAb;AACA,YAAIkP,SAAS,GAAGtU,CAAC,CAAE,oCAAF,CAAjB;AACA,YAAIuU,SAAS,GAAGvU,CAAC,CAAE,sCAAF,CAAjB;AACA,YAAIwU,SAAS,GAAGxU,CAAC,CAChB,mBAAmBqU,MAAM,CAACI,IAAP,CAAa,OAAb,CAAnB,GAA4C,KAD5B,CAAjB;AAGA,YAAIC,QAAQ,GAAG1U,CAAC,CAAE,UAAF,CAAhB,CAR0B,CAU1B;;AACAsU,QAAAA,SAAS,CAACF,MAAV,CAAkBN,MAAM,CAACa,IAAP,EAAlB;AACAH,QAAAA,SAAS,CAACJ,MAAV,CAAkBM,QAAlB;AACAH,QAAAA,SAAS,CAACH,MAAV,CAAkBI,SAAlB;AACAtF,QAAAA,MAAM,CAACkF,MAAP,CAAeE,SAAf;AACApF,QAAAA,MAAM,CAACkF,MAAP,CAAeG,SAAf,EAf0B,CAiB1B;;AACAT,QAAAA,MAAM,CAACpR,MAAP;AACAuR,QAAAA,KAAK,CAACvR,MAAN;AACAwM,QAAAA,MAAM,CAACuF,IAAP,CAAa,SAAb,EAAwB,CAAxB,EApB0B,CAsB1B;;AACAX,QAAAA,MAAM,GAAGQ,SAAT;AACApF,QAAAA,MAAM,GAAGqF,SAAT;AACAN,QAAAA,KAAK,GAAGS,QAAR;AACA,OArDsB,CAuDvB;;;AACAnP,MAAAA,MAAM,CAACqP,QAAP,CAAiB,eAAjB;AACAd,MAAAA,MAAM,CAACc,QAAP,CAAiB,qBAAjB;AACA1F,MAAAA,MAAM,CAAC0F,QAAP,CAAiB,uBAAjB,EA1DuB,CA4DvB;;AACAzO,MAAAA,CAAC,GA7DsB,CA+DvB;;AACA,UAAK,KAAKgC,GAAL,CAAU,cAAV,CAAL,EAAkC;AACjC5C,QAAAA,MAAM,CAACkP,IAAP,CAAa,cAAb,EAA6B,CAA7B;AACA,OAlEsB,CAoEvB;;;AACA,UAAII,KAAK,GAAG3U,GAAG,CAAC4U,aAAJ,CAAmB,iBAAnB,KAA0C,EAAtD;;AACA,UAAKD,KAAK,CAAE1O,CAAC,GAAG,CAAN,CAAL,KAAmBlG,SAAxB,EAAoC;AACnC,aAAKa,GAAL,CAAU,MAAV,EAAkB+T,KAAK,CAAE1O,CAAC,GAAG,CAAN,CAAvB;AACA;;AAED,UAAK,KAAKgC,GAAL,CAAU,MAAV,CAAL,EAA0B;AACzB5C,QAAAA,MAAM,CAACqP,QAAP,CAAiB,OAAjB;AACA1F,QAAAA,MAAM,CAAC6F,GAAP,CAAY,SAAZ,EAAuB,OAAvB,EAFyB,CAES;AAClC,OA7EsB,CA+EvB;;;AACAjB,MAAAA,MAAM,CAACkB,OAAP,CACCC,gBAAgB,CAACC,QAAjB,CAA2B;AAAEC,QAAAA,IAAI,EAAE,KAAKhN,GAAL,CAAU,MAAV;AAAR,OAA3B,CADD,EAhFuB,CAoFvB;AACA;;AACA,UAAIiN,OAAO,GAAG7P,MAAM,CAACb,MAAP,EAAd;AACAuP,MAAAA,KAAK,CAACW,QAAN,CAAgBQ,OAAO,CAACvB,QAAR,CAAkB,OAAlB,IAA8B,OAA9B,GAAwC,EAAxD;AACAI,MAAAA,KAAK,CAACW,QAAN,CAAgBQ,OAAO,CAACvB,QAAR,CAAkB,QAAlB,IAA+B,QAA/B,GAA0C,EAA1D,EAxFuB,CA0FvB;;AACAI,MAAAA,KAAK,CAACG,MAAN,CACC7O,MAAM,CAAC8P,SAAP,CAAkB,sBAAlB,EAA0C,YAA1C,CADD,EA3FuB,CA+FvB;;AACApB,MAAAA,KAAK,CAACqB,UAAN,CAAkB,2CAAlB;AACA;AA1G4B,GAAlB,CAAZ;AA6GApV,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAI0O,gBAAgB,GAAG,IAAI/U,GAAG,CAACoK,KAAR,CAAe;AACrCpD,IAAAA,OAAO,EAAE;AACRsO,MAAAA,MAAM,EAAE;AADA,KAD4B;AAKrCnO,IAAAA,MAAM,EAAE;AACP,oCAA8B,SADvB;AAEP,qCAA+B;AAFxB,KAL6B;AAUrCoO,IAAAA,MAAM,EAAE,UAAWnR,GAAX,EAAiB;AACxB,aAAOA,GAAG,CAACuP,QAAJ,CAAc,OAAd,CAAP;AACA,KAZoC;AAcrC6B,IAAAA,MAAM,EAAE,UAAWpR,GAAX,EAAiB;AACxB,UAAK,KAAKmR,MAAL,CAAanR,GAAb,CAAL,EAA0B;AACzB,aAAKqR,KAAL,CAAYrR,GAAZ;AACA,OAFD,MAEO;AACN,aAAK6Q,IAAL,CAAW7Q,GAAX;AACA;AACD,KApBoC;AAsBrC4Q,IAAAA,QAAQ,EAAE,UAAWtK,KAAX,EAAmB;AAC5B;AACA,UAAK1K,GAAG,CAAC0V,WAAJ,EAAL,EAAyB;AACxB,YAAKhL,KAAK,CAACuK,IAAX,EAAkB;AACjB,iBAAO,0SAAP;AACA,SAFD,MAEO;AACN,iBAAO,+SAAP;AACA;AACD,OAND,MAMO;AACN,YAAKvK,KAAK,CAACuK,IAAX,EAAkB;AACjB,iBAAO,mEAAP;AACA,SAFD,MAEO;AACN,iBAAO,oEAAP;AACA;AACD;AACD,KArCoC;AAuCrCA,IAAAA,IAAI,EAAE,UAAW7Q,GAAX,EAAiB;AACtB,UAAIuR,QAAQ,GAAG3V,GAAG,CAAC0V,WAAJ,KAAoB,CAApB,GAAwB,GAAvC,CADsB,CAGtB;;AACAtR,MAAAA,GAAG,CAACwR,IAAJ,CAAU,8BAAV,EACEC,SADF,CACaF,QADb,EAEEd,GAFF,CAEO,SAFP,EAEkB,OAFlB;AAGAzQ,MAAAA,GAAG,CAACwR,IAAJ,CAAU,2BAAV,EAAwCE,WAAxC,CACC,KAAKd,QAAL,CAAe;AAAEC,QAAAA,IAAI,EAAE;AAAR,OAAf,CADD;AAGA7Q,MAAAA,GAAG,CAACsQ,QAAJ,CAAc,OAAd,EAVsB,CAYtB;;AACA1U,MAAAA,GAAG,CAACkB,QAAJ,CAAc,MAAd,EAAsBkD,GAAtB,EAbsB,CAetB;;AACA,UAAK,CAAEA,GAAG,CAACmQ,IAAJ,CAAU,cAAV,CAAP,EAAoC;AACnCnQ,QAAAA,GAAG,CAAC2R,QAAJ,CAAc,sBAAd,EAAuC1O,IAAvC,CAA6C,YAAY;AACxD0N,UAAAA,gBAAgB,CAACU,KAAjB,CAAwB3V,CAAC,CAAE,IAAF,CAAzB;AACA,SAFD;AAGA;AACD,KA5DoC;AA8DrC2V,IAAAA,KAAK,EAAE,UAAWrR,GAAX,EAAiB;AACvB,UAAIuR,QAAQ,GAAG3V,GAAG,CAAC0V,WAAJ,KAAoB,CAApB,GAAwB,GAAvC,CADuB,CAGvB;;AACAtR,MAAAA,GAAG,CAACwR,IAAJ,CAAU,8BAAV,EAA2CI,OAA3C,CAAoDL,QAApD;AACAvR,MAAAA,GAAG,CAACwR,IAAJ,CAAU,2BAAV,EAAwCE,WAAxC,CACC,KAAKd,QAAL,CAAe;AAAEC,QAAAA,IAAI,EAAE;AAAR,OAAf,CADD;AAGA7Q,MAAAA,GAAG,CAAC6R,WAAJ,CAAiB,OAAjB,EARuB,CAUvB;;AACAjW,MAAAA,GAAG,CAACkB,QAAJ,CAAc,MAAd,EAAsBkD,GAAtB;AACA,KA1EoC;AA4ErC8R,IAAAA,OAAO,EAAE,UAAWpO,CAAX,EAAc1D,GAAd,EAAoB;AAC5B;AACA0D,MAAAA,CAAC,CAACqO,cAAF,GAF4B,CAI5B;;AACA,WAAKX,MAAL,CAAapR,GAAG,CAACI,MAAJ,EAAb;AACA,KAlFoC;AAoFrC4R,IAAAA,cAAc,EAAE,UAAWtO,CAAX,EAAc1D,GAAd,EAAoB;AACnC;AACA,UAAK,KAAKiS,IAAV,EAAiB;AAChB;AACA,OAJkC,CAMnC;;;AACA,WAAKA,IAAL,GAAY,IAAZ;AACA,WAAKC,UAAL,CAAiB,YAAY;AAC5B,aAAKD,IAAL,GAAY,KAAZ;AACA,OAFD,EAEG,IAFH,EARmC,CAYnC;;AACA,WAAKpB,IAAL,CAAW7Q,GAAX;AACA,KAlGoC;AAoGrCmS,IAAAA,QAAQ,EAAE,UAAWzO,CAAX,EAAe;AACxB;AACA,UAAI6M,KAAK,GAAG,EAAZ,CAFwB,CAIxB;;AACA7U,MAAAA,CAAC,CAAE,gBAAF,CAAD,CAAsBuH,IAAtB,CAA4B,YAAY;AACvC,YAAI4N,IAAI,GAAGnV,CAAC,CAAE,IAAF,CAAD,CAAU6T,QAAV,CAAoB,OAApB,IAAgC,CAAhC,GAAoC,CAA/C;AACAgB,QAAAA,KAAK,CAACzF,IAAN,CAAY+F,IAAZ;AACA,OAHD,EALwB,CAUxB;;AACA,UAAKN,KAAK,CAAC5P,MAAX,EAAoB;AACnB/E,QAAAA,GAAG,CAACwW,aAAJ,CAAmB,iBAAnB,EAAsC7B,KAAtC;AACA;AACD;AAlHoC,GAAf,CAAvB;AAoHA,CAlPD,EAkPKvI,MAlPL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,cADuB;AAG7BhB,IAAAA,MAAM,EAAE;AACP,mCAA6B;AADtB,KAHqB;AAO7BsM,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,mBAAR,CAAP;AACA,KAT4B;AAW7BkP,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,eAAR,CAAP;AACA,KAb4B;AAe7B2W,IAAAA,QAAQ,EAAE,UAAWnK,GAAX,EAAiB;AAC1B,WAAKxM,CAAL,CAAQ,kBAAkBwM,GAAlB,GAAwB,IAAhC,EACE2C,IADF,CACQ,SADR,EACmB,IADnB,EAEEyH,OAFF,CAEW,QAFX;AAGA,KAnB4B;AAqB7BR,IAAAA,OAAO,EAAE,UAAWpO,CAAX,EAAc1D,GAAd,EAAoB;AAC5B;AACA,UAAIwP,MAAM,GAAGxP,GAAG,CAACI,MAAJ,CAAY,OAAZ,CAAb;AACA,UAAImS,QAAQ,GAAG/C,MAAM,CAACD,QAAP,CAAiB,UAAjB,CAAf,CAH4B,CAK5B;;AACA,WAAK7T,CAAL,CAAQ,WAAR,EAAsBmW,WAAtB,CAAmC,UAAnC,EAN4B,CAQ5B;;AACArC,MAAAA,MAAM,CAACc,QAAP,CAAiB,UAAjB,EAT4B,CAW5B;;AACA,UAAK,KAAKzM,GAAL,CAAU,YAAV,KAA4B0O,QAAjC,EAA4C;AAC3C/C,QAAAA,MAAM,CAACqC,WAAP,CAAoB,UAApB;AACA7R,QAAAA,GAAG,CAAC6K,IAAJ,CAAU,SAAV,EAAqB,KAArB,EAA6ByH,OAA7B,CAAsC,QAAtC;AACA;AACD;AArC4B,GAAlB,CAAZ;AAwCA1W,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CA1CD,EA0CK+F,MA1CL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,UADuB;AAG7BhB,IAAAA,MAAM,EAAE;AACP,sBAAgB,UADT;AAEP,iCAA2B,YAFpB;AAGP,oCAA8B,eAHvB;AAIP,oCAA8B;AAJvB,KAHqB;AAU7BsM,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,oBAAR,CAAP;AACA,KAZ4B;AAc7B8W,IAAAA,OAAO,EAAE,YAAY;AACpB,aAAO,KAAK9W,CAAL,CAAQ,sBAAR,CAAP;AACA,KAhB4B;AAkB7BkP,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,sBAAR,CAAP;AACA,KApB4B;AAsB7B+W,IAAAA,OAAO,EAAE,YAAY;AACpB,aAAO,KAAK/W,CAAL,CAAQ,wBAAR,EAAmCgX,GAAnC,CACN,sBADM,CAAP;AAGA,KA1B4B;AA4B7BC,IAAAA,QAAQ,EAAE,YAAY;AACrB,UAAIzK,GAAG,GAAG,EAAV;AACA,WAAKxM,CAAL,CAAQ,UAAR,EAAqBuH,IAArB,CAA2B,YAAY;AACtCiF,QAAAA,GAAG,CAAC4C,IAAJ,CAAUpP,CAAC,CAAE,IAAF,CAAD,CAAUwM,GAAV,EAAV;AACA,OAFD;AAGA,aAAOA,GAAG,CAACvH,MAAJ,GAAauH,GAAb,GAAmB,KAA1B;AACA,KAlC4B;AAoC7B0K,IAAAA,QAAQ,EAAE,UAAWlP,CAAX,EAAc1D,GAAd,EAAoB;AAC7B;AACA,UAAI6S,OAAO,GAAG7S,GAAG,CAAC6K,IAAJ,CAAU,SAAV,CAAd;AACA,UAAI2E,MAAM,GAAGxP,GAAG,CAACI,MAAJ,CAAY,OAAZ,CAAb;AACA,UAAIoS,OAAO,GAAG,KAAKA,OAAL,EAAd,CAJ6B,CAM7B;;AACA,UAAKK,OAAL,EAAe;AACdrD,QAAAA,MAAM,CAACc,QAAP,CAAiB,UAAjB;AACA,OAFD,MAEO;AACNd,QAAAA,MAAM,CAACqC,WAAP,CAAoB,UAApB;AACA,OAX4B,CAa7B;;;AACA,UAAKW,OAAO,CAAC7R,MAAb,EAAsB;AACrB,YAAI8R,OAAO,GAAG,KAAKA,OAAL,EAAd,CADqB,CAGrB;;AACA,YAAKA,OAAO,CAACC,GAAR,CAAa,UAAb,EAA0B/R,MAA1B,IAAoC,CAAzC,EAA6C;AAC5C6R,UAAAA,OAAO,CAAC3H,IAAR,CAAc,SAAd,EAAyB,IAAzB;AACA,SAFD,MAEO;AACN2H,UAAAA,OAAO,CAAC3H,IAAR,CAAc,SAAd,EAAyB,KAAzB;AACA;AACD;AACD,KA5D4B;AA8D7BiI,IAAAA,UAAU,EAAE,UAAWpP,CAAX,EAAc1D,GAAd,EAAoB;AAC/B,UAAIqQ,IAAI,GACP,yGACA,KAAK0C,YAAL,EADA,GAEA,aAHD;AAIA/S,MAAAA,GAAG,CAACI,MAAJ,CAAY,IAAZ,EAAmB4S,MAAnB,CAA2B3C,IAA3B;AACA,KApE4B;AAsE7B4C,IAAAA,aAAa,EAAE,UAAWvP,CAAX,EAAc1D,GAAd,EAAoB;AAClC;AACA,UAAI6S,OAAO,GAAG7S,GAAG,CAAC6K,IAAJ,CAAU,SAAV,CAAd;AACA,UAAI4H,OAAO,GAAG,KAAK/W,CAAL,CAAQ,wBAAR,CAAd;AACA,UAAIwX,OAAO,GAAG,KAAKxX,CAAL,CAAQ,OAAR,CAAd,CAJkC,CAMlC;;AACA+W,MAAAA,OAAO,CAAC5H,IAAR,CAAc,SAAd,EAAyBgI,OAAzB,EAPkC,CASlC;;AACA,UAAKA,OAAL,EAAe;AACdK,QAAAA,OAAO,CAAC5C,QAAR,CAAkB,UAAlB;AACA,OAFD,MAEO;AACN4C,QAAAA,OAAO,CAACrB,WAAR,CAAqB,UAArB;AACA;AACD,KArF4B;AAuF7BsB,IAAAA,aAAa,EAAE,UAAWzP,CAAX,EAAc1D,GAAd,EAAoB;AAClC,UAAI6S,OAAO,GAAG7S,GAAG,CAAC6K,IAAJ,CAAU,SAAV,CAAd;AACA,UAAIuI,KAAK,GAAGpT,GAAG,CAACqT,IAAJ,CAAU,oBAAV,CAAZ,CAFkC,CAIlC;;AACA,UAAKR,OAAL,EAAe;AACdO,QAAAA,KAAK,CAACvI,IAAN,CAAY,UAAZ,EAAwB,KAAxB,EADc,CAGd;AACA,OAJD,MAIO;AACNuI,QAAAA,KAAK,CAACvI,IAAN,CAAY,UAAZ,EAAwB,IAAxB,EADM,CAGN;;AACA,YAAKuI,KAAK,CAAClL,GAAN,MAAe,EAApB,EAAyB;AACxBlI,UAAAA,GAAG,CAACI,MAAJ,CAAY,IAAZ,EAAmBhC,MAAnB;AACA;AACD;AACD;AAxG4B,GAAlB,CAAZ;AA2GAxC,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CA7GD,EA6GK+F,MA7GL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,cADuB;AAG7BqL,IAAAA,IAAI,EAAE,MAHuB;AAK7BrM,IAAAA,MAAM,EAAE;AACPuQ,MAAAA,cAAc,EAAE;AADT,KALqB;AAS7BjE,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,mBAAR,CAAP;AACA,KAX4B;AAa7BkP,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,sBAAR,CAAP;AACA,KAf4B;AAiB7B6X,IAAAA,UAAU,EAAE,YAAY;AACvB,aAAO,KAAK7X,CAAL,CAAQ,oBAAR,CAAP;AACA,KAnB4B;AAqB7B2W,IAAAA,QAAQ,EAAE,UAAWnK,GAAX,EAAiB;AAC1B;AACAtM,MAAAA,GAAG,CAACsM,GAAJ,CAAS,KAAK0C,MAAL,EAAT,EAAwB1C,GAAxB,EAF0B,CAI1B;;AACA,WAAKqL,UAAL,GAAkBC,IAAlB,CAAwB,OAAxB,EAAiCtL,GAAjC;AACA,KA3B4B;AA6B7BoH,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAI1E,MAAM,GAAG,KAAKA,MAAL,EAAb;AACA,UAAI2I,UAAU,GAAG,KAAKA,UAAL,EAAjB,CAHuB,CAKvB;;AACA,UAAIX,QAAQ,GAAG,UAAWlP,CAAX,EAAe;AAC7B;AACAwO,QAAAA,UAAU,CAAE,YAAY;AACvBtW,UAAAA,GAAG,CAACsM,GAAJ,CAAS0C,MAAT,EAAiB2I,UAAU,CAACrL,GAAX,EAAjB;AACA,SAFS,EAEP,CAFO,CAAV;AAGA,OALD,CANuB,CAavB;;;AACA,UAAIhI,IAAI,GAAG;AACVuT,QAAAA,YAAY,EAAE,KADJ;AAEVC,QAAAA,QAAQ,EAAE,IAFA;AAGVzF,QAAAA,IAAI,EAAE,IAHI;AAIVzC,QAAAA,MAAM,EAAEoH,QAJE;AAKVe,QAAAA,KAAK,EAAEf;AALG,OAAX,CAduB,CAsBvB;;AACA,UAAI1S,IAAI,GAAGtE,GAAG,CAACwB,YAAJ,CAAkB,mBAAlB,EAAuC8C,IAAvC,EAA6C,IAA7C,CAAX,CAvBuB,CAyBvB;;AACAqT,MAAAA,UAAU,CAACK,aAAX,CAA0B1T,IAA1B;AACA,KAxD4B;AA0D7B2T,IAAAA,WAAW,EAAE,UAAWnQ,CAAX,EAAc1D,GAAd,EAAmB8T,UAAnB,EAAgC;AAC5C;AACA;AACAC,MAAAA,YAAY,GAAGD,UAAU,CAACtC,IAAX,CAAiB,sBAAjB,CAAf;AACA+B,MAAAA,UAAU,GAAGO,UAAU,CAACtC,IAAX,CAAiB,oBAAjB,CAAb;AACAuC,MAAAA,YAAY,CAACrC,WAAb,CAA0B6B,UAA1B;AACA;AAhE4B,GAAlB,CAAZ;AAmEA3X,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CArED,EAqEK+F,MArEL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,aADuB;AAG7BhB,IAAAA,MAAM,EAAE;AACP,iCAA2B,QADpB;AAEPuQ,MAAAA,cAAc,EAAE;AAFT,KAHqB;AAQ7BjE,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,kBAAR,CAAP;AACA,KAV4B;AAY7BkP,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,sBAAR,CAAP;AACA,KAd4B;AAgB7B6X,IAAAA,UAAU,EAAE,YAAY;AACvB,aAAO,KAAK7X,CAAL,CAAQ,oBAAR,CAAP;AACA,KAlB4B;AAoB7B4T,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAK,KAAKnC,GAAL,CAAU,aAAV,CAAL,EAAiC;AAChC,eAAO,KAAK6G,uBAAL,EAAP;AACA,OAJsB,CAMvB;;;AACA,UAAIpJ,MAAM,GAAG,KAAKA,MAAL,EAAb;AACA,UAAI2I,UAAU,GAAG,KAAKA,UAAL,EAAjB,CARuB,CAUvB;;AACA,UAAIrT,IAAI,GAAG;AACV+T,QAAAA,UAAU,EAAE,KAAKpQ,GAAL,CAAU,aAAV,CADF;AAEVqQ,QAAAA,QAAQ,EAAEtJ,MAFA;AAGVuJ,QAAAA,SAAS,EAAE,QAHD;AAIVC,QAAAA,UAAU,EAAE,IAJF;AAKVC,QAAAA,SAAS,EAAE,WALD;AAMVC,QAAAA,WAAW,EAAE,IANH;AAOVC,QAAAA,eAAe,EAAE,IAPP;AAQVC,QAAAA,QAAQ,EAAE,KAAK3Q,GAAL,CAAU,WAAV;AARA,OAAX,CAXuB,CAsBvB;;AACA3D,MAAAA,IAAI,GAAGtE,GAAG,CAACwB,YAAJ,CAAkB,kBAAlB,EAAsC8C,IAAtC,EAA4C,IAA5C,CAAP,CAvBuB,CAyBvB;;AACAtE,MAAAA,GAAG,CAAC6Y,aAAJ,CAAmBlB,UAAnB,EAA+BrT,IAA/B,EA1BuB,CA4BvB;;AACAtE,MAAAA,GAAG,CAACkB,QAAJ,CAAc,kBAAd,EAAkCyW,UAAlC,EAA8CrT,IAA9C,EAAoD,IAApD;AACA,KAlD4B;AAoD7B8T,IAAAA,uBAAuB,EAAE,YAAY;AACpC;AACA,UAAIpJ,MAAM,GAAG,KAAKA,MAAL,EAAb;AACA,UAAI2I,UAAU,GAAG,KAAKA,UAAL,EAAjB,CAHoC,CAKpC;;AACAA,MAAAA,UAAU,CAACrL,GAAX,CAAgB0C,MAAM,CAAC1C,GAAP,EAAhB,EANoC,CAQpC;;AACA,UAAIhI,IAAI,GAAG;AACV+T,QAAAA,UAAU,EAAE,KAAKpQ,GAAL,CAAU,aAAV,CADF;AAEVqQ,QAAAA,QAAQ,EAAEtJ,MAFA;AAGVuJ,QAAAA,SAAS,EAAE,KAAKtQ,GAAL,CAAU,aAAV,CAHD;AAIVuQ,QAAAA,UAAU,EAAE,IAJF;AAKVC,QAAAA,SAAS,EAAE,WALD;AAMVC,QAAAA,WAAW,EAAE,IANH;AAOVC,QAAAA,eAAe,EAAE,IAPP;AAQVC,QAAAA,QAAQ,EAAE,KAAK3Q,GAAL,CAAU,WAAV;AARA,OAAX,CAToC,CAoBpC;;AACA3D,MAAAA,IAAI,GAAGtE,GAAG,CAACwB,YAAJ,CAAkB,kBAAlB,EAAsC8C,IAAtC,EAA4C,IAA5C,CAAP,CArBoC,CAuBpC;;AACA,UAAI+T,UAAU,GAAG/T,IAAI,CAAC+T,UAAtB,CAxBoC,CA0BpC;;AACA/T,MAAAA,IAAI,CAAC+T,UAAL,GAAkB,KAAKpQ,GAAL,CAAU,aAAV,CAAlB,CA3BoC,CA6BpC;;AACAjI,MAAAA,GAAG,CAAC6Y,aAAJ,CAAmBlB,UAAnB,EAA+BrT,IAA/B,EA9BoC,CAgCpC;;AACAqT,MAAAA,UAAU,CAACmB,UAAX,CAAuB,QAAvB,EAAiC,YAAjC,EAA+CT,UAA/C,EAjCoC,CAmCpC;;AACArY,MAAAA,GAAG,CAACkB,QAAJ,CAAc,kBAAd,EAAkCyW,UAAlC,EAA8CrT,IAA9C,EAAoD,IAApD;AACA,KAzF4B;AA2F7ByU,IAAAA,MAAM,EAAE,YAAY;AACnB,UAAK,CAAE,KAAKpB,UAAL,GAAkBrL,GAAlB,EAAP,EAAiC;AAChCtM,QAAAA,GAAG,CAACsM,GAAJ,CAAS,KAAK0C,MAAL,EAAT,EAAwB,EAAxB;AACA;AACD,KA/F4B;AAiG7BiJ,IAAAA,WAAW,EAAE,UAAWnQ,CAAX,EAAc1D,GAAd,EAAmB8T,UAAnB,EAAgC;AAC5CA,MAAAA,UAAU,CACRtC,IADF,CACQ,oBADR,EAEEK,WAFF,CAEe,eAFf,EAGEb,UAHF,CAGc,IAHd;AAIA;AAtG4B,GAAlB,CAAZ;AAyGApV,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB,EA1G2B,CA4G3B;;AACA,MAAI2S,iBAAiB,GAAG,IAAIhZ,GAAG,CAACoK,KAAR,CAAe;AACtCtD,IAAAA,QAAQ,EAAE,CAD4B;AAEtC0M,IAAAA,IAAI,EAAE,OAFgC;AAGtCE,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAIuF,MAAM,GAAGjZ,GAAG,CAACiI,GAAJ,CAAS,QAAT,CAAb;AACA,UAAIiR,GAAG,GAAGlZ,GAAG,CAACiI,GAAJ,CAAS,KAAT,CAAV;AACA,UAAIzH,IAAI,GAAGR,GAAG,CAACiI,GAAJ,CAAS,gBAAT,CAAX,CAJuB,CAMvB;;AACA,UAAK,CAAEzH,IAAP,EAAc;AACb,eAAO,KAAP;AACA,OATsB,CAWvB;;;AACA,UAAK,OAAOV,CAAC,CAACgZ,UAAT,KAAwB,WAA7B,EAA2C;AAC1C,eAAO,KAAP;AACA,OAdsB,CAgBvB;;;AACAtY,MAAAA,IAAI,CAAC2Y,KAAL,GAAaD,GAAb,CAjBuB,CAmBvB;;AACApZ,MAAAA,CAAC,CAACgZ,UAAF,CAAaM,QAAb,CAAuBH,MAAvB,IAAkCzY,IAAlC;AACAV,MAAAA,CAAC,CAACgZ,UAAF,CAAaO,WAAb,CAA0B7Y,IAA1B;AACA;AAzBqC,GAAf,CAAxB,CA7G2B,CAyI3B;;AACAR,EAAAA,GAAG,CAAC6Y,aAAJ,GAAoB,UAAW7J,MAAX,EAAmB1K,IAAnB,EAA0B;AAC7C;AACA,QAAK,OAAOxE,CAAC,CAACgZ,UAAT,KAAwB,WAA7B,EAA2C;AAC1C,aAAO,KAAP;AACA,KAJ4C,CAM7C;;;AACAxU,IAAAA,IAAI,GAAGA,IAAI,IAAI,EAAf,CAP6C,CAS7C;;AACA0K,IAAAA,MAAM,CAAC8J,UAAP,CAAmBxU,IAAnB,EAV6C,CAY7C;;AACA,QAAKxE,CAAC,CAAE,2BAAF,CAAD,CAAiCwZ,MAAjC,EAAL,EAAiD;AAChDxZ,MAAAA,CAAC,CAAE,2BAAF,CAAD,CAAiCyZ,IAAjC,CACC,mCADD;AAGA;AACD,GAlBD;AAmBA,CA7JD,EA6JKnN,MA7JL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAAC4Q,MAAJ,CAAW4I,eAAX,CAA2BpS,MAA3B,CAAmC;AAC9Ce,IAAAA,IAAI,EAAE,kBADwC;AAG9CsL,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,uBAAR,CAAP;AACA,KAL6C;AAO9C4T,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAI1E,MAAM,GAAG,KAAKA,MAAL,EAAb;AACA,UAAI2I,UAAU,GAAG,KAAKA,UAAL,EAAjB,CAHuB,CAKvB;;AACA,UAAIrT,IAAI,GAAG;AACV+T,QAAAA,UAAU,EAAE,KAAKpQ,GAAL,CAAU,aAAV,CADF;AAEVwR,QAAAA,UAAU,EAAE,KAAKxR,GAAL,CAAU,aAAV,CAFF;AAGVqQ,QAAAA,QAAQ,EAAEtJ,MAHA;AAIV0K,QAAAA,gBAAgB,EAAE,KAJR;AAKVnB,QAAAA,SAAS,EAAE,UALD;AAMVoB,QAAAA,aAAa,EAAE,UANL;AAOVnB,QAAAA,UAAU,EAAE,IAPF;AAQVC,QAAAA,SAAS,EAAE,WARD;AASVC,QAAAA,WAAW,EAAE,IATH;AAUVC,QAAAA,eAAe,EAAE,IAVP;AAWVC,QAAAA,QAAQ,EAAE,KAAK3Q,GAAL,CAAU,WAAV,CAXA;AAYV2R,QAAAA,WAAW,EAAE,QAZH;AAaVC,QAAAA,OAAO,EAAE;AAbC,OAAX,CANuB,CAsBvB;;AACAvV,MAAAA,IAAI,GAAGtE,GAAG,CAACwB,YAAJ,CAAkB,uBAAlB,EAA2C8C,IAA3C,EAAiD,IAAjD,CAAP,CAvBuB,CAyBvB;;AACAtE,MAAAA,GAAG,CAAC8Z,iBAAJ,CAAuBnC,UAAvB,EAAmCrT,IAAnC,EA1BuB,CA4BvB;;AACAtE,MAAAA,GAAG,CAACkB,QAAJ,CAAc,uBAAd,EAAuCyW,UAAvC,EAAmDrT,IAAnD,EAAyD,IAAzD;AACA;AArC6C,GAAnC,CAAZ;AAwCAtE,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB,EAzC2B,CA2C3B;;AACA,MAAI0T,qBAAqB,GAAG,IAAI/Z,GAAG,CAACoK,KAAR,CAAe;AAC1CtD,IAAAA,QAAQ,EAAE,CADgC;AAE1C0M,IAAAA,IAAI,EAAE,OAFoC;AAG1CE,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAIuF,MAAM,GAAGjZ,GAAG,CAACiI,GAAJ,CAAS,QAAT,CAAb;AACA,UAAIiR,GAAG,GAAGlZ,GAAG,CAACiI,GAAJ,CAAS,KAAT,CAAV;AACA,UAAIzH,IAAI,GAAGR,GAAG,CAACiI,GAAJ,CAAS,oBAAT,CAAX,CAJuB,CAMvB;;AACA,UAAK,CAAEzH,IAAP,EAAc;AACb,eAAO,KAAP;AACA,OATsB,CAWvB;;;AACA,UAAK,OAAOV,CAAC,CAACka,UAAT,KAAwB,WAA7B,EAA2C;AAC1C,eAAO,KAAP;AACA,OAdsB,CAgBvB;;;AACAxZ,MAAAA,IAAI,CAAC2Y,KAAL,GAAaD,GAAb,CAjBuB,CAmBvB;;AACApZ,MAAAA,CAAC,CAACka,UAAF,CAAaZ,QAAb,CAAuBH,MAAvB,IAAkCzY,IAAlC;AACAV,MAAAA,CAAC,CAACka,UAAF,CAAaX,WAAb,CAA0B7Y,IAA1B;AACA;AAzByC,GAAf,CAA5B,CA5C2B,CAwE3B;;AACAR,EAAAA,GAAG,CAAC8Z,iBAAJ,GAAwB,UAAW9K,MAAX,EAAmB1K,IAAnB,EAA0B;AACjD;AACA,QAAK,OAAOxE,CAAC,CAACka,UAAT,KAAwB,WAA7B,EAA2C;AAC1C,aAAO,KAAP;AACA,KAJgD,CAMjD;;;AACA1V,IAAAA,IAAI,GAAGA,IAAI,IAAI,EAAf,CAPiD,CASjD;;AACA0K,IAAAA,MAAM,CAACiL,cAAP,CAAuB3V,IAAvB,EAViD,CAYjD;;AACA,QAAKxE,CAAC,CAAE,2BAAF,CAAD,CAAiCwZ,MAAjC,EAAL,EAAiD;AAChDxZ,MAAAA,CAAC,CAAE,2BAAF,CAAD,CAAiCyZ,IAAjC,CACC,mCADD;AAGA;AACD,GAlBD;AAmBA,CA5FD,EA4FKnN,MA5FL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAAC4Q,MAAJ,CAAWsJ,UAAX,CAAsB9S,MAAtB,CAA8B;AACzCe,IAAAA,IAAI,EAAE,MADmC;AAGzCsL,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,oBAAR,CAAP;AACA,KALwC;AAOzCkP,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,sBAAR,CAAP;AACA,KATwC;AAWzCqa,IAAAA,kBAAkB,EAAE,UAAWrP,UAAX,EAAwB;AAC3C;AACAA,MAAAA,UAAU,GAAGA,UAAU,IAAI,EAA3B,CAF2C,CAI3C;;AACA,UAAKA,UAAU,CAACD,EAAX,KAAkB9K,SAAvB,EAAmC;AAClC+K,QAAAA,UAAU,GAAGA,UAAU,CAACsP,UAAxB;AACA,OAP0C,CAS3C;;;AACAtP,MAAAA,UAAU,GAAG9K,GAAG,CAAC0B,SAAJ,CAAeoJ,UAAf,EAA2B;AACvCuP,QAAAA,GAAG,EAAE,EADkC;AAEvCC,QAAAA,GAAG,EAAE,EAFkC;AAGvCC,QAAAA,KAAK,EAAE,EAHgC;AAIvCC,QAAAA,QAAQ,EAAE,EAJ6B;AAKvCC,QAAAA,qBAAqB,EAAE,EALgB;AAMvCC,QAAAA,IAAI,EAAE;AANiC,OAA3B,CAAb,CAV2C,CAmB3C;;AACA,aAAO5P,UAAP;AACA,KAhCwC;AAkCzCa,IAAAA,MAAM,EAAE,UAAWb,UAAX,EAAwB;AAC/B;AACAA,MAAAA,UAAU,GAAG,KAAKqP,kBAAL,CAAyBrP,UAAzB,CAAb,CAF+B,CAI/B;;AACA,WAAKhL,CAAL,CAAQ,KAAR,EAAgByU,IAAhB,CAAsB;AACrBoG,QAAAA,GAAG,EAAE7P,UAAU,CAAC4P,IADK;AAErBJ,QAAAA,GAAG,EAAExP,UAAU,CAACwP,GAFK;AAGrBC,QAAAA,KAAK,EAAEzP,UAAU,CAACyP;AAHG,OAAtB,EAL+B,CAW/B;;AACA,WAAKza,CAAL,CAAQ,qBAAR,EAAgCiJ,IAAhC,CAAsC+B,UAAU,CAACyP,KAAjD;AACA,WAAKza,CAAL,CAAQ,wBAAR,EACEiJ,IADF,CACQ+B,UAAU,CAAC0P,QADnB,EAEEjG,IAFF,CAEQ,MAFR,EAEgBzJ,UAAU,CAACuP,GAF3B;AAGA,WAAKva,CAAL,CAAQ,wBAAR,EAAmCiJ,IAAnC,CACC+B,UAAU,CAAC2P,qBADZ,EAhB+B,CAoB/B;;AACA,UAAInO,GAAG,GAAGxB,UAAU,CAACD,EAAX,IAAiB,EAA3B,CArB+B,CAuB/B;;AACA7K,MAAAA,GAAG,CAACsM,GAAJ,CAAS,KAAK0C,MAAL,EAAT,EAAwB1C,GAAxB,EAxB+B,CA0B/B;;AACA,UAAKA,GAAL,EAAW;AACV,aAAKmH,QAAL,GAAgBiB,QAAhB,CAA0B,WAA1B;AACA,OAFD,MAEO;AACN,aAAKjB,QAAL,GAAgBwC,WAAhB,CAA6B,WAA7B;AACA;AACD,KAlEwC;AAoEzC2E,IAAAA,gBAAgB,EAAE,YAAY;AAC7B;AACA,UAAIpW,MAAM,GAAG,KAAKA,MAAL,EAAb;AACA,UAAIqW,QAAQ,GAAGrW,MAAM,IAAIA,MAAM,CAACyD,GAAP,CAAY,MAAZ,MAAyB,UAAlD,CAH6B,CAK7B;;AACA,UAAIsC,KAAK,GAAGvK,GAAG,CAAC+K,aAAJ,CAAmB;AAC9B+P,QAAAA,IAAI,EAAE,QADwB;AAE9BP,QAAAA,KAAK,EAAEva,GAAG,CAAC2D,EAAJ,CAAQ,aAAR,CAFuB;AAG9BuE,QAAAA,KAAK,EAAE,KAAKD,GAAL,CAAU,KAAV,CAHuB;AAI9B4S,QAAAA,QAAQ,EAAEA,QAJoB;AAK9BE,QAAAA,OAAO,EAAE,KAAK9S,GAAL,CAAU,SAAV,CALqB;AAM9B2C,QAAAA,YAAY,EAAE,KAAK3C,GAAL,CAAU,YAAV,CANgB;AAO9B+S,QAAAA,MAAM,EAAElb,CAAC,CAACmb,KAAF,CAAS,UAAWnQ,UAAX,EAAuB7E,CAAvB,EAA2B;AAC3C,cAAKA,CAAC,GAAG,CAAT,EAAa;AACZ,iBAAKiO,MAAL,CAAapJ,UAAb,EAAyBtG,MAAzB;AACA,WAFD,MAEO;AACN,iBAAKmH,MAAL,CAAab,UAAb;AACA;AACD,SANO,EAML,IANK;AAPsB,OAAnB,CAAZ;AAeA,KAzFwC;AA2FzCoQ,IAAAA,cAAc,EAAE,YAAY;AAC3B;AACA,UAAI5O,GAAG,GAAG,KAAKA,GAAL,EAAV,CAF2B,CAI3B;;AACA,UAAK,CAAEA,GAAP,EAAa;AACZ,eAAO,KAAP;AACA,OAP0B,CAS3B;;;AACA,UAAI/B,KAAK,GAAGvK,GAAG,CAAC+K,aAAJ,CAAmB;AAC9B+P,QAAAA,IAAI,EAAE,MADwB;AAE9BP,QAAAA,KAAK,EAAEva,GAAG,CAAC2D,EAAJ,CAAQ,WAAR,CAFuB;AAG9BwX,QAAAA,MAAM,EAAEnb,GAAG,CAAC2D,EAAJ,CAAQ,aAAR,CAHsB;AAI9BmH,QAAAA,UAAU,EAAEwB,GAJkB;AAK9BpE,QAAAA,KAAK,EAAE,KAAKD,GAAL,CAAU,KAAV,CALuB;AAM9B+S,QAAAA,MAAM,EAAElb,CAAC,CAACmb,KAAF,CAAS,UAAWnQ,UAAX,EAAuB7E,CAAvB,EAA2B;AAC3C,eAAK0F,MAAL,CAAab,UAAb;AACA,SAFO,EAEL,IAFK;AANsB,OAAnB,CAAZ;AAUA;AA/GwC,GAA9B,CAAZ;AAkHA9K,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CApHD,EAoHK+F,MApHL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,YADuB;AAG7B3B,IAAAA,GAAG,EAAE,KAHwB;AAK7BgN,IAAAA,IAAI,EAAE,MALuB;AAO7BrM,IAAAA,MAAM,EAAE;AACP,oCAA8B,cADvB;AAEP,qCAA+B,eAFxB;AAGP,qCAA+B,eAHxB;AAIP,yBAAmB,iBAJZ;AAKP,uBAAiB,eALV;AAMP,uBAAiB,eANV;AAOP,sBAAgB,cAPT;AAQPiU,MAAAA,SAAS,EAAE;AARJ,KAPqB;AAkB7B3H,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,iBAAR,CAAP;AACA,KApB4B;AAsB7Bub,IAAAA,OAAO,EAAE,YAAY;AACpB,aAAO,KAAKvb,CAAL,CAAQ,SAAR,CAAP;AACA,KAxB4B;AA0B7Bwb,IAAAA,OAAO,EAAE,YAAY;AACpB,aAAO,KAAKxb,CAAL,CAAQ,SAAR,CAAP;AACA,KA5B4B;AA8B7Byb,IAAAA,QAAQ,EAAE,UAAWC,KAAX,EAAmB;AAC5B;AACA,WAAK/H,QAAL,GAAgBwC,WAAhB,CAA6B,4BAA7B,EAF4B,CAI5B;;AACA,UAAKuF,KAAK,KAAK,SAAf,EAA2B;AAC1BA,QAAAA,KAAK,GAAG,KAAKlP,GAAL,KAAa,OAAb,GAAuB,EAA/B;AACA,OAP2B,CAS5B;;;AACA,UAAKkP,KAAL,EAAa;AACZ,aAAK/H,QAAL,GAAgBiB,QAAhB,CAA0B,MAAM8G,KAAhC;AACA;AACD,KA3C4B;AA6C7BzE,IAAAA,QAAQ,EAAE,YAAY;AACrB,UAAIzK,GAAG,GAAG,KAAK0C,MAAL,GAAc1C,GAAd,EAAV;;AACA,UAAKA,GAAL,EAAW;AACV,eAAOmP,IAAI,CAACC,KAAL,CAAYpP,GAAZ,CAAP;AACA,OAFD,MAEO;AACN,eAAO,KAAP;AACA;AACD,KApD4B;AAsD7BmK,IAAAA,QAAQ,EAAE,UAAWnK,GAAX,EAAgBqP,MAAhB,EAAyB;AAClC;AACA,UAAIC,OAAO,GAAG,EAAd;;AACA,UAAKtP,GAAL,EAAW;AACVsP,QAAAA,OAAO,GAAGH,IAAI,CAACI,SAAL,CAAgBvP,GAAhB,CAAV;AACA,OALiC,CAOlC;;;AACAtM,MAAAA,GAAG,CAACsM,GAAJ,CAAS,KAAK0C,MAAL,EAAT,EAAwB4M,OAAxB,EARkC,CAUlC;;AACA,UAAKD,MAAL,EAAc;AACb;AACA,OAbiC,CAelC;;;AACA,WAAKG,SAAL,CAAgBxP,GAAhB;AAEA;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACGtM,MAAAA,GAAG,CAACkB,QAAJ,CAAc,mBAAd,EAAmCoL,GAAnC,EAAwC,KAAK9F,GAA7C,EAAkD,IAAlD;AACA,KAnF4B;AAqF7BsV,IAAAA,SAAS,EAAE,UAAWxP,GAAX,EAAiB;AAC3B;AACA,UAAKA,GAAL,EAAW;AACV,aAAKiP,QAAL,CAAe,OAAf;AACA,aAAKF,OAAL,GAAe/O,GAAf,CAAoBA,GAAG,CAACyP,OAAxB;AACA,aAAKC,WAAL,CAAkB1P,GAAG,CAAC2P,GAAtB,EAA2B3P,GAAG,CAAC4P,GAA/B,EAHU,CAKV;AACA,OAND,MAMO;AACN,aAAKX,QAAL,CAAe,EAAf;AACA,aAAKF,OAAL,GAAe/O,GAAf,CAAoB,EAApB;AACA,aAAK9F,GAAL,CAAS2V,MAAT,CAAgBC,UAAhB,CAA4B,KAA5B;AACA;AACD,KAlG4B;AAoG7BC,IAAAA,SAAS,EAAE,UAAWJ,GAAX,EAAgBC,GAAhB,EAAsB;AAChC,aAAO,IAAII,MAAM,CAACC,IAAP,CAAYC,MAAhB,CACN5P,UAAU,CAAEqP,GAAF,CADJ,EAENrP,UAAU,CAAEsP,GAAF,CAFJ,CAAP;AAIA,KAzG4B;AA2G7BF,IAAAA,WAAW,EAAE,UAAWC,GAAX,EAAgBC,GAAhB,EAAsB;AAClC;AACA,WAAK1V,GAAL,CAAS2V,MAAT,CAAgBH,WAAhB,CAA6B;AAC5BC,QAAAA,GAAG,EAAErP,UAAU,CAAEqP,GAAF,CADa;AAE5BC,QAAAA,GAAG,EAAEtP,UAAU,CAAEsP,GAAF;AAFa,OAA7B,EAFkC,CAOlC;;AACA,WAAK1V,GAAL,CAAS2V,MAAT,CAAgBC,UAAhB,CAA4B,IAA5B,EARkC,CAUlC;;AACA,WAAKK,MAAL;AACA,KAvH4B;AAyH7BA,IAAAA,MAAM,EAAE,YAAY;AACnB;AACA,UAAIC,QAAQ,GAAG,KAAKlW,GAAL,CAAS2V,MAAT,CAAgBQ,WAAhB,EAAf;;AACA,UAAKD,QAAL,EAAgB;AACf,YAAIT,GAAG,GAAGS,QAAQ,CAACT,GAAT,EAAV;AACA,YAAIC,GAAG,GAAGQ,QAAQ,CAACR,GAAT,EAAV,CAFe,CAIf;AACA,OALD,MAKO;AACN,YAAID,GAAG,GAAG,KAAKhU,GAAL,CAAU,KAAV,CAAV;AACA,YAAIiU,GAAG,GAAG,KAAKjU,GAAL,CAAU,KAAV,CAAV;AACA,OAXkB,CAanB;;;AACA,WAAKzB,GAAL,CAASoW,SAAT,CAAoB;AACnBX,QAAAA,GAAG,EAAErP,UAAU,CAAEqP,GAAF,CADI;AAEnBC,QAAAA,GAAG,EAAEtP,UAAU,CAAEsP,GAAF;AAFI,OAApB;AAIA,KA3I4B;AA6I7BxI,IAAAA,UAAU,EAAE,YAAY;AACvB;AACAmJ,MAAAA,OAAO,CAAE,KAAKC,aAAL,CAAmBC,IAAnB,CAAyB,IAAzB,CAAF,CAAP;AACA,KAhJ4B;AAkJ7BD,IAAAA,aAAa,EAAE,YAAY;AAC1B;AACA,UAAIxQ,GAAG,GAAG,KAAKyK,QAAL,EAAV,CAF0B,CAI1B;;AACA,UAAIzS,IAAI,GAAGtE,GAAG,CAAC0B,SAAJ,CAAe4K,GAAf,EAAoB;AAC9B0Q,QAAAA,IAAI,EAAE,KAAK/U,GAAL,CAAU,MAAV,CADwB;AAE9BgU,QAAAA,GAAG,EAAE,KAAKhU,GAAL,CAAU,KAAV,CAFyB;AAG9BiU,QAAAA,GAAG,EAAE,KAAKjU,GAAL,CAAU,KAAV;AAHyB,OAApB,CAAX,CAL0B,CAW1B;;AACA,UAAIgV,OAAO,GAAG;AACbC,QAAAA,WAAW,EAAE,KADA;AAEbF,QAAAA,IAAI,EAAEG,QAAQ,CAAE7Y,IAAI,CAAC0Y,IAAP,CAFD;AAGbP,QAAAA,MAAM,EAAE;AACPR,UAAAA,GAAG,EAAErP,UAAU,CAAEtI,IAAI,CAAC2X,GAAP,CADR;AAEPC,UAAAA,GAAG,EAAEtP,UAAU,CAAEtI,IAAI,CAAC4X,GAAP;AAFR,SAHK;AAObkB,QAAAA,SAAS,EAAEd,MAAM,CAACC,IAAP,CAAYc,SAAZ,CAAsBC,OAPpB;AAQbnB,QAAAA,MAAM,EAAE;AACPoB,UAAAA,SAAS,EAAE,IADJ;AAEPC,UAAAA,WAAW,EAAE;AAFN,SARK;AAYbC,QAAAA,YAAY,EAAE;AAZD,OAAd;AAcAR,MAAAA,OAAO,GAAGjd,GAAG,CAACwB,YAAJ,CAAkB,iBAAlB,EAAqCyb,OAArC,EAA8C,IAA9C,CAAV;AACA,UAAIzW,GAAG,GAAG,IAAI8V,MAAM,CAACC,IAAP,CAAYmB,GAAhB,CAAqB,KAAKpC,OAAL,GAAgB,CAAhB,CAArB,EAA0C2B,OAA1C,CAAV,CA3B0B,CA6B1B;;AACA,UAAIU,UAAU,GAAG3d,GAAG,CAAC0B,SAAJ,CAAeub,OAAO,CAACd,MAAvB,EAA+B;AAC/CoB,QAAAA,SAAS,EAAE,IADoC;AAE/CC,QAAAA,WAAW,EAAE,IAFkC;AAG/ChX,QAAAA,GAAG,EAAEA;AAH0C,OAA/B,CAAjB;AAKAmX,MAAAA,UAAU,GAAG3d,GAAG,CAACwB,YAAJ,CACZ,wBADY,EAEZmc,UAFY,EAGZ,IAHY,CAAb;AAKA,UAAIxB,MAAM,GAAG,IAAIG,MAAM,CAACC,IAAP,CAAYqB,MAAhB,CAAwBD,UAAxB,CAAb,CAxC0B,CA0C1B;;AACA,UAAIF,YAAY,GAAG,KAAnB;;AACA,UAAKzd,GAAG,CAAC6d,KAAJ,CAAWvB,MAAX,EAAmB,MAAnB,EAA2B,QAA3B,EAAqC,cAArC,CAAL,EAA6D;AAC5D,YAAIwB,gBAAgB,GAAGb,OAAO,CAACQ,YAAR,IAAwB,EAA/C;AACAK,QAAAA,gBAAgB,GAAG9d,GAAG,CAACwB,YAAJ,CAClB,8BADkB,EAElBsc,gBAFkB,EAGlB,IAHkB,CAAnB;AAKAL,QAAAA,YAAY,GAAG,IAAInB,MAAM,CAACC,IAAP,CAAYwB,MAAZ,CAAmBC,YAAvB,CACd,KAAK3C,OAAL,GAAgB,CAAhB,CADc,EAEdyC,gBAFc,CAAf;AAIAL,QAAAA,YAAY,CAACQ,MAAb,CAAqB,QAArB,EAA+BzX,GAA/B;AACA,OAxDyB,CA0D1B;;;AACA,WAAK0X,YAAL,CAAmB,IAAnB,EAAyB1X,GAAzB,EAA8B2V,MAA9B,EAAsCsB,YAAtC,EA3D0B,CA6D1B;;AACAjX,MAAAA,GAAG,CAACxG,GAAJ,GAAU,IAAV;AACAwG,MAAAA,GAAG,CAAC2V,MAAJ,GAAaA,MAAb;AACA3V,MAAAA,GAAG,CAACiX,YAAJ,GAAmBA,YAAnB;AACA,WAAKjX,GAAL,GAAWA,GAAX,CAjE0B,CAmE1B;;AACA,UAAK8F,GAAL,EAAW;AACV,aAAK0P,WAAL,CAAkB1P,GAAG,CAAC2P,GAAtB,EAA2B3P,GAAG,CAAC4P,GAA/B;AACA;AAED;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACGlc,MAAAA,GAAG,CAACkB,QAAJ,CAAc,iBAAd,EAAiCsF,GAAjC,EAAsC2V,MAAtC,EAA8C,IAA9C;AACA,KArO4B;AAuO7B+B,IAAAA,YAAY,EAAE,UAAWhW,KAAX,EAAkB1B,GAAlB,EAAuB2V,MAAvB,EAA+BsB,YAA/B,EAA8C;AAC3D;AACAnB,MAAAA,MAAM,CAACC,IAAP,CAAY5U,KAAZ,CAAkBwW,WAAlB,CAA+B3X,GAA/B,EAAoC,OAApC,EAA6C,UAAWsB,CAAX,EAAe;AAC3D,YAAImU,GAAG,GAAGnU,CAAC,CAACsW,MAAF,CAASnC,GAAT,EAAV;AACA,YAAIC,GAAG,GAAGpU,CAAC,CAACsW,MAAF,CAASlC,GAAT,EAAV;AACAhU,QAAAA,KAAK,CAACmW,cAAN,CAAsBpC,GAAtB,EAA2BC,GAA3B;AACA,OAJD,EAF2D,CAQ3D;;AACAI,MAAAA,MAAM,CAACC,IAAP,CAAY5U,KAAZ,CAAkBwW,WAAlB,CAA+BhC,MAA/B,EAAuC,SAAvC,EAAkD,YAAY;AAC7D,YAAIF,GAAG,GAAG,KAAKU,WAAL,GAAmBV,GAAnB,EAAV;AACA,YAAIC,GAAG,GAAG,KAAKS,WAAL,GAAmBT,GAAnB,EAAV;AACAhU,QAAAA,KAAK,CAACmW,cAAN,CAAsBpC,GAAtB,EAA2BC,GAA3B;AACA,OAJD,EAT2D,CAe3D;;AACA,UAAKuB,YAAL,EAAoB;AACnBnB,QAAAA,MAAM,CAACC,IAAP,CAAY5U,KAAZ,CAAkBwW,WAAlB,CACCV,YADD,EAEC,eAFD,EAGC,YAAY;AACX,cAAIa,KAAK,GAAG,KAAKC,QAAL,EAAZ;AACArW,UAAAA,KAAK,CAACsW,WAAN,CAAmBF,KAAnB;AACA,SANF;AAQA,OAzB0D,CA2B3D;;;AACAhC,MAAAA,MAAM,CAACC,IAAP,CAAY5U,KAAZ,CAAkBwW,WAAlB,CAA+B3X,GAA/B,EAAoC,cAApC,EAAoD,YAAY;AAC/D,YAAI8F,GAAG,GAAGpE,KAAK,CAACoE,GAAN,EAAV;;AACA,YAAKA,GAAL,EAAW;AACVA,UAAAA,GAAG,CAAC0Q,IAAJ,GAAWxW,GAAG,CAACiY,OAAJ,EAAX;AACAvW,UAAAA,KAAK,CAACuO,QAAN,CAAgBnK,GAAhB,EAAqB,IAArB;AACA;AACD,OAND;AAOA,KA1Q4B;AA4Q7B+R,IAAAA,cAAc,EAAE,UAAWpC,GAAX,EAAgBC,GAAhB,EAAsB;AACrC;AAEA;AACA,WAAKX,QAAL,CAAe,SAAf,EAJqC,CAMrC;;AACA,UAAI6C,MAAM,GAAG;AAAEnC,QAAAA,GAAG,EAAEA,GAAP;AAAYC,QAAAA,GAAG,EAAEA;AAAjB,OAAb;AACAwC,MAAAA,QAAQ,CAACC,OAAT,CACC;AAAEC,QAAAA,QAAQ,EAAER;AAAZ,OADD,EAEC,UAAWS,OAAX,EAAoBC,MAApB,EAA6B;AAC5B;AAEA;AACA,aAAKvD,QAAL,CAAe,EAAf,EAJ4B,CAM5B;;AACA,YAAKuD,MAAM,KAAK,IAAhB,EAAuB;AACtB,eAAKhW,UAAL,CAAiB;AAChBC,YAAAA,IAAI,EAAE/I,GAAG,CACP2D,EADI,CACA,wBADA,EAEJob,OAFI,CAEK,IAFL,EAEWD,MAFX,CADU;AAIhB3W,YAAAA,IAAI,EAAE;AAJU,WAAjB,EADsB,CAQtB;AACA,SATD,MASO;AACN,cAAImE,GAAG,GAAG,KAAK0S,WAAL,CAAkBH,OAAO,CAAE,CAAF,CAAzB,CAAV,CADM,CAGN;AACA;;AACAvS,UAAAA,GAAG,CAAC2P,GAAJ,GAAUA,GAAV;AACA3P,UAAAA,GAAG,CAAC4P,GAAJ,GAAUA,GAAV;AACA,eAAK5P,GAAL,CAAUA,GAAV;AACA;AACD,OAzBD,CAyBEyQ,IAzBF,CAyBQ,IAzBR,CAFD;AA6BA,KAjT4B;AAmT7ByB,IAAAA,WAAW,EAAE,UAAWF,KAAX,EAAmB;AAC/B;AAEA;AACA,UAAK,CAAEA,KAAP,EAAe;AACd;AACA,OAN8B,CAQ/B;AACA;;;AACA,UAAKA,KAAK,CAACW,QAAX,EAAsB;AACrBX,QAAAA,KAAK,CAACY,iBAAN,GAA0B,KAAK7D,OAAL,GAAe/O,GAAf,EAA1B;AACA,YAAIA,GAAG,GAAG,KAAK0S,WAAL,CAAkBV,KAAlB,CAAV;AACA,aAAKhS,GAAL,CAAUA,GAAV,EAHqB,CAKrB;AACA,OAND,MAMO,IAAKgS,KAAK,CAAChX,IAAX,EAAkB;AACxB,aAAK6X,aAAL,CAAoBb,KAAK,CAAChX,IAA1B;AACA;AACD,KAtU4B;AAwU7B6X,IAAAA,aAAa,EAAE,UAAWpD,OAAX,EAAqB;AACnC;AAEA;AACA,UAAK,CAAEA,OAAP,EAAiB;AAChB;AACA,OANkC,CAQnC;;;AACA,UAAIqC,MAAM,GAAGrC,OAAO,CAAC/V,KAAR,CAAe,GAAf,CAAb;;AACA,UAAKoY,MAAM,CAACrZ,MAAP,IAAiB,CAAtB,EAA0B;AACzB,YAAIkX,GAAG,GAAGrP,UAAU,CAAEwR,MAAM,CAAE,CAAF,CAAR,CAApB;AACA,YAAIlC,GAAG,GAAGtP,UAAU,CAAEwR,MAAM,CAAE,CAAF,CAAR,CAApB;;AACA,YAAKnC,GAAG,IAAIC,GAAZ,EAAkB;AACjB,iBAAO,KAAKmC,cAAL,CAAqBpC,GAArB,EAA0BC,GAA1B,CAAP;AACA;AACD,OAhBkC,CAkBnC;;;AACA,WAAKX,QAAL,CAAe,SAAf,EAnBmC,CAqBnC;;AACAmD,MAAAA,QAAQ,CAACC,OAAT,CACC;AAAE5C,QAAAA,OAAO,EAAEA;AAAX,OADD,EAEC,UAAW8C,OAAX,EAAoBC,MAApB,EAA6B;AAC5B;AAEA;AACA,aAAKvD,QAAL,CAAe,EAAf,EAJ4B,CAM5B;;AACA,YAAKuD,MAAM,KAAK,IAAhB,EAAuB;AACtB,eAAKhW,UAAL,CAAiB;AAChBC,YAAAA,IAAI,EAAE/I,GAAG,CACP2D,EADI,CACA,wBADA,EAEJob,OAFI,CAEK,IAFL,EAEWD,MAFX,CADU;AAIhB3W,YAAAA,IAAI,EAAE;AAJU,WAAjB,EADsB,CAQtB;AACA,SATD,MASO;AACN,cAAImE,GAAG,GAAG,KAAK0S,WAAL,CAAkBH,OAAO,CAAE,CAAF,CAAzB,CAAV,CADM,CAGN;;AACAvS,UAAAA,GAAG,CAACyP,OAAJ,GAAcA,OAAd,CAJM,CAMN;;AACA,eAAKzP,GAAL,CAAUA,GAAV;AACA;AACD,OAzBD,CAyBEyQ,IAzBF,CAyBQ,IAzBR,CAFD;AA6BA,KA3X4B;AA6X7BqC,IAAAA,cAAc,EAAE,YAAY;AAC3B;AAEA;AACA,UAAK,CAAEC,SAAS,CAACC,WAAjB,EAA+B;AAC9B,eAAOC,KAAK,CACXvf,GAAG,CAAC2D,EAAJ,CAAQ,kDAAR,CADW,CAAZ;AAGA,OAR0B,CAU3B;;;AACA,WAAK4X,QAAL,CAAe,SAAf,EAX2B,CAa3B;;AACA8D,MAAAA,SAAS,CAACC,WAAV,CAAsBE,kBAAtB,EACC;AACA,gBAAWX,OAAX,EAAqB;AACpB;AACA,aAAKtD,QAAL,CAAe,EAAf,EAFoB,CAIpB;;AACA,YAAIU,GAAG,GAAG4C,OAAO,CAACY,MAAR,CAAeC,QAAzB;AACA,YAAIxD,GAAG,GAAG2C,OAAO,CAACY,MAAR,CAAeE,SAAzB;AACA,aAAKtB,cAAL,CAAqBpC,GAArB,EAA0BC,GAA1B;AACA,OARD,CAQEa,IARF,CAQQ,IARR,CAFD,EAYC;AACA,gBAAW6C,KAAX,EAAmB;AAClB,aAAKrE,QAAL,CAAe,EAAf;AACA,OAFD,CAEEwB,IAFF,CAEQ,IAFR,CAbD;AAiBA,KA5Z4B;;AA8Z7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEiC,IAAAA,WAAW,EAAE,UAAWrZ,GAAX,EAAiB;AAC7B;AACA,UAAIka,MAAM,GAAG;AACZ9D,QAAAA,OAAO,EAAEpW,GAAG,CAACuZ,iBADD;AAEZjD,QAAAA,GAAG,EAAEtW,GAAG,CAACsZ,QAAJ,CAAaL,QAAb,CAAsB3C,GAAtB,EAFO;AAGZC,QAAAA,GAAG,EAAEvW,GAAG,CAACsZ,QAAJ,CAAaL,QAAb,CAAsB1C,GAAtB;AAHO,OAAb,CAF6B,CAQ7B;;AACA2D,MAAAA,MAAM,CAAC7C,IAAP,GAAc,KAAKxW,GAAL,CAASiY,OAAT,EAAd,CAT6B,CAW7B;;AACA,UAAK9Y,GAAG,CAACma,QAAT,EAAoB;AACnBD,QAAAA,MAAM,CAACC,QAAP,GAAkBna,GAAG,CAACma,QAAtB;AACA,OAd4B,CAgB7B;;;AACA,UAAKna,GAAG,CAAC2B,IAAT,EAAgB;AACfuY,QAAAA,MAAM,CAACvY,IAAP,GAAc3B,GAAG,CAAC2B,IAAlB;AACA,OAnB4B,CAqB7B;;;AACA,UAAId,GAAG,GAAG;AACTuZ,QAAAA,aAAa,EAAE,CAAE,eAAF,CADN;AAETC,QAAAA,WAAW,EAAE,CAAE,gBAAF,EAAoB,OAApB,CAFJ;AAGTC,QAAAA,IAAI,EAAE,CAAE,UAAF,EAAc,aAAd,CAHG;AAITzE,QAAAA,KAAK,EAAE,CACN,6BADM,EAEN,6BAFM,EAGN,6BAHM,EAIN,6BAJM,EAKN,6BALM,CAJE;AAWT0E,QAAAA,SAAS,EAAE,CAAE,aAAF,CAXF;AAYTC,QAAAA,OAAO,EAAE,CAAE,SAAF;AAZA,OAAV,CAtB6B,CAqC7B;;AACA,WAAM,IAAIjc,CAAV,IAAesC,GAAf,EAAqB;AACpB,YAAI4Z,QAAQ,GAAG5Z,GAAG,CAAEtC,CAAF,CAAlB,CADoB,CAGpB;;AACA,aAAM,IAAI+B,CAAC,GAAG,CAAd,EAAiBA,CAAC,GAAGN,GAAG,CAAC0a,kBAAJ,CAAuBtb,MAA5C,EAAoDkB,CAAC,EAArD,EAA0D;AACzD,cAAIqa,SAAS,GAAG3a,GAAG,CAAC0a,kBAAJ,CAAwBpa,CAAxB,CAAhB;AACA,cAAIsa,cAAc,GAAGD,SAAS,CAACtP,KAAV,CAAiB,CAAjB,CAArB,CAFyD,CAIzD;;AACA,cAAKoP,QAAQ,CAAC1Y,OAAT,CAAkB6Y,cAAlB,MAAuC,CAAC,CAA7C,EAAiD;AAChD;AACAV,YAAAA,MAAM,CAAE3b,CAAF,CAAN,GAAcoc,SAAS,CAACE,SAAxB,CAFgD,CAIhD;;AACA,gBAAKF,SAAS,CAACE,SAAV,KAAwBF,SAAS,CAACG,UAAvC,EAAoD;AACnDZ,cAAAA,MAAM,CAAE3b,CAAC,GAAG,QAAN,CAAN,GAAyBoc,SAAS,CAACG,UAAnC;AACA;AACD;AACD;AACD;AAED;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACG,aAAOzgB,GAAG,CAACwB,YAAJ,CACN,mBADM,EAENqe,MAFM,EAGNla,GAHM,EAIN,KAAKa,GAJC,EAKN,IALM,CAAP;AAOA,KApf4B;AAsf7Bka,IAAAA,YAAY,EAAE,YAAY;AACzB,WAAKpU,GAAL,CAAU,KAAV;AACA,KAxf4B;AA0f7BqU,IAAAA,aAAa,EAAE,YAAY;AAC1B,WAAKvB,cAAL;AACA,KA5f4B;AA8f7BwB,IAAAA,aAAa,EAAE,YAAY;AAC1B,WAAKzB,aAAL,CAAoB,KAAK9D,OAAL,GAAe/O,GAAf,EAApB;AACA,KAhgB4B;AAkgB7BuU,IAAAA,aAAa,EAAE,UAAW/Y,CAAX,EAAc1D,GAAd,EAAoB;AAClC,WAAKmX,QAAL,CAAe,WAAf;AACA,KApgB4B;AAsgB7BuF,IAAAA,YAAY,EAAE,UAAWhZ,CAAX,EAAc1D,GAAd,EAAoB;AACjC;AACA,UAAIkI,GAAG,GAAG,KAAKA,GAAL,EAAV;AACA,UAAIyP,OAAO,GAAGzP,GAAG,GAAGA,GAAG,CAACyP,OAAP,GAAiB,EAAlC,CAHiC,CAKjC;;AACA,UAAK3X,GAAG,CAACkI,GAAJ,OAAcyP,OAAnB,EAA6B;AAC5B,aAAKR,QAAL,CAAe,SAAf;AACA;AACD,KA/gB4B;AAihB7BwF,IAAAA,aAAa,EAAE,UAAWjZ,CAAX,EAAc1D,GAAd,EAAoB;AAClC;AACA,UAAK,CAAEA,GAAG,CAACkI,GAAJ,EAAP,EAAmB;AAClB,aAAKA,GAAL,CAAU,KAAV;AACA;AACD,KAthB4B;AAwhB7B;AACA0U,IAAAA,eAAe,EAAE,UAAWlZ,CAAX,EAAc1D,GAAd,EAAoB;AACpC,UAAK0D,CAAC,CAACmZ,KAAF,IAAW,EAAhB,EAAqB;AACpBnZ,QAAAA,CAAC,CAACqO,cAAF;AACA/R,QAAAA,GAAG,CAAC8c,IAAJ;AACA;AACD,KA9hB4B;AAgiB7B;AACAC,IAAAA,MAAM,EAAE,YAAY;AACnB,UAAK,KAAK3a,GAAV,EAAgB;AACf,aAAK8P,UAAL,CAAiB,KAAKmG,MAAtB;AACA;AACD;AAriB4B,GAAlB,CAAZ;AAwiBAzc,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB,EAziB2B,CA2iB3B;;AACA,MAAI+a,OAAO,GAAG,KAAd;AACA,MAAI1C,QAAQ,GAAG,KAAf;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,WAAS7B,OAAT,CAAkBhW,QAAlB,EAA6B;AAC5B;AACA,QAAK6X,QAAL,EAAgB;AACf,aAAO7X,QAAQ,EAAf;AACA,KAJ2B,CAM5B;;;AACA,QAAK7G,GAAG,CAAC6d,KAAJ,CAAWwD,MAAX,EAAmB,QAAnB,EAA6B,MAA7B,EAAqC,UAArC,CAAL,EAAyD;AACxD3C,MAAAA,QAAQ,GAAG,IAAIpC,MAAM,CAACC,IAAP,CAAY+E,QAAhB,EAAX;AACA,aAAOza,QAAQ,EAAf;AACA,KAV2B,CAY5B;;;AACA7G,IAAAA,GAAG,CAACc,SAAJ,CAAe,uBAAf,EAAwC+F,QAAxC,EAb4B,CAe5B;;AACA,QAAKua,OAAL,EAAe;AACd;AACA,KAlB2B,CAoB5B;;;AACA,QAAI/G,GAAG,GAAGra,GAAG,CAACiI,GAAJ,CAAS,gBAAT,CAAV;;AACA,QAAKoS,GAAL,EAAW;AACV;AACA+G,MAAAA,OAAO,GAAG,IAAV,CAFU,CAIV;;AACAthB,MAAAA,CAAC,CAACqM,IAAF,CAAQ;AACPkO,QAAAA,GAAG,EAAEA,GADE;AAEPkH,QAAAA,QAAQ,EAAE,QAFH;AAGPC,QAAAA,KAAK,EAAE,IAHA;AAIPC,QAAAA,OAAO,EAAE,YAAY;AACpB/C,UAAAA,QAAQ,GAAG,IAAIpC,MAAM,CAACC,IAAP,CAAY+E,QAAhB,EAAX;AACAthB,UAAAA,GAAG,CAACkB,QAAJ,CAAc,uBAAd;AACA;AAPM,OAAR;AASA;AACD;AACD,CAjmBD,EAimBKkL,MAjmBL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,OADuB;AAG7BsL,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,qBAAR,CAAP;AACA,KAL4B;AAO7BkP,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,sBAAR,CAAP;AACA,KAT4B;AAW7BqH,IAAAA,MAAM,EAAE;AACP,kCAA4B,YADrB;AAEP,mCAA6B,aAFtB;AAGP,qCAA+B,eAHxB;AAIP,mCAA6B;AAJtB,KAXqB;AAkB7BuM,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAK,KAAKzL,GAAL,CAAU,UAAV,MAA2B,OAAhC,EAA0C;AACzC,aAAK7D,GAAL,CACEc,OADF,CACW,MADX,EAEEqP,IAFF,CAEQ,SAFR,EAEmB,qBAFnB;AAGA;AACD,KAzB4B;AA2B7B4F,IAAAA,kBAAkB,EAAE,UAAWrP,UAAX,EAAwB;AAC3C;AACA,UAAKA,UAAU,IAAIA,UAAU,CAACsP,UAA9B,EAA2C;AAC1CtP,QAAAA,UAAU,GAAGA,UAAU,CAACsP,UAAxB;AACA,OAJ0C,CAM3C;;;AACAtP,MAAAA,UAAU,GAAG9K,GAAG,CAAC0B,SAAJ,CAAeoJ,UAAf,EAA2B;AACvCD,QAAAA,EAAE,EAAE,CADmC;AAEvCwP,QAAAA,GAAG,EAAE,EAFkC;AAGvCC,QAAAA,GAAG,EAAE,EAHkC;AAIvCC,QAAAA,KAAK,EAAE,EAJgC;AAKvCmH,QAAAA,OAAO,EAAE,EAL8B;AAMvCC,QAAAA,WAAW,EAAE,EAN0B;AAOvCC,QAAAA,KAAK,EAAE,CAPgC;AAQvCC,QAAAA,MAAM,EAAE;AAR+B,OAA3B,CAAb,CAP2C,CAkB3C;;AACA,UAAIC,IAAI,GAAG9hB,GAAG,CAAC+hB,KAAJ,CACVjX,UADU,EAEV,OAFU,EAGV,KAAK7C,GAAL,CAAU,cAAV,CAHU,CAAX;;AAKA,UAAK6Z,IAAL,EAAY;AACXhX,QAAAA,UAAU,CAACuP,GAAX,GAAiByH,IAAI,CAACzH,GAAtB;AACAvP,QAAAA,UAAU,CAAC8W,KAAX,GAAmBE,IAAI,CAACF,KAAxB;AACA9W,QAAAA,UAAU,CAAC+W,MAAX,GAAoBC,IAAI,CAACD,MAAzB;AACA,OA5B0C,CA8B3C;;;AACA,aAAO/W,UAAP;AACA,KA3D4B;AA6D7Ba,IAAAA,MAAM,EAAE,UAAWb,UAAX,EAAwB;AAC/BA,MAAAA,UAAU,GAAG,KAAKqP,kBAAL,CAAyBrP,UAAzB,CAAb,CAD+B,CAG/B;;AACA,WAAKhL,CAAL,CAAQ,KAAR,EAAgByU,IAAhB,CAAsB;AACrBoG,QAAAA,GAAG,EAAE7P,UAAU,CAACuP,GADK;AAErBC,QAAAA,GAAG,EAAExP,UAAU,CAACwP;AAFK,OAAtB;;AAIA,UAAKxP,UAAU,CAACD,EAAhB,EAAqB;AACpB,aAAKyB,GAAL,CAAUxB,UAAU,CAACD,EAArB;AACA,aAAK4I,QAAL,GAAgBiB,QAAhB,CAA0B,WAA1B;AACA,OAHD,MAGO;AACN,aAAKpI,GAAL,CAAU,EAAV;AACA,aAAKmH,QAAL,GAAgBwC,WAAhB,CAA6B,WAA7B;AACA;AACD,KA5E4B;AA8E7B;AACA/B,IAAAA,MAAM,EAAE,UAAWpJ,UAAX,EAAuBtG,MAAvB,EAAgC;AACvC;AACA,UAAIwd,OAAO,GAAG,UAAW9Z,KAAX,EAAkB1D,MAAlB,EAA2B;AACxC;AACA,YAAI9D,MAAM,GAAGV,GAAG,CAAC0R,SAAJ,CAAe;AAC3B9L,UAAAA,GAAG,EAAEsC,KAAK,CAACD,GAAN,CAAW,KAAX,CADsB;AAE3BzD,UAAAA,MAAM,EAAEA,MAAM,CAACJ;AAFY,SAAf,CAAb,CAFwC,CAOxC;;AACA,aAAM,IAAI6B,CAAC,GAAG,CAAd,EAAiBA,CAAC,GAAGvF,MAAM,CAACqE,MAA5B,EAAoCkB,CAAC,EAArC,EAA0C;AACzC,cAAK,CAAEvF,MAAM,CAAEuF,CAAF,CAAN,CAAYqG,GAAZ,EAAP,EAA2B;AAC1B,mBAAO5L,MAAM,CAAEuF,CAAF,CAAb;AACA;AACD,SAZuC,CAcxC;;;AACA,eAAO,KAAP;AACA,OAhBD,CAFuC,CAoBvC;;;AACA,UAAIiC,KAAK,GAAG8Z,OAAO,CAAE,IAAF,EAAQxd,MAAR,CAAnB,CArBuC,CAuBvC;;AACA,UAAK,CAAE0D,KAAP,EAAe;AACd1D,QAAAA,MAAM,CAAC1E,CAAP,CAAU,kBAAV,EAA+B4W,OAA/B,CAAwC,OAAxC;AACAxO,QAAAA,KAAK,GAAG8Z,OAAO,CAAE,IAAF,EAAQxd,MAAR,CAAf;AACA,OA3BsC,CA6BvC;;;AACA,UAAK0D,KAAL,EAAa;AACZA,QAAAA,KAAK,CAACyD,MAAN,CAAcb,UAAd;AACA;AACD,KAhH4B;AAkH7B8P,IAAAA,gBAAgB,EAAE,YAAY;AAC7B;AACA,UAAIpW,MAAM,GAAG,KAAKA,MAAL,EAAb;AACA,UAAIqW,QAAQ,GAAGrW,MAAM,IAAIA,MAAM,CAACyD,GAAP,CAAY,MAAZ,MAAyB,UAAlD,CAH6B,CAK7B;;AACA,UAAIsC,KAAK,GAAGvK,GAAG,CAAC+K,aAAJ,CAAmB;AAC9B+P,QAAAA,IAAI,EAAE,QADwB;AAE9B3S,QAAAA,IAAI,EAAE,OAFwB;AAG9BoS,QAAAA,KAAK,EAAEva,GAAG,CAAC2D,EAAJ,CAAQ,cAAR,CAHuB;AAI9BuE,QAAAA,KAAK,EAAE,KAAKD,GAAL,CAAU,KAAV,CAJuB;AAK9B4S,QAAAA,QAAQ,EAAEA,QALoB;AAM9BE,QAAAA,OAAO,EAAE,KAAK9S,GAAL,CAAU,SAAV,CANqB;AAO9B2C,QAAAA,YAAY,EAAE,KAAK3C,GAAL,CAAU,YAAV,CAPgB;AAQ9B+S,QAAAA,MAAM,EAAElb,CAAC,CAACmb,KAAF,CAAS,UAAWnQ,UAAX,EAAuB7E,CAAvB,EAA2B;AAC3C,cAAKA,CAAC,GAAG,CAAT,EAAa;AACZ,iBAAKiO,MAAL,CAAapJ,UAAb,EAAyBtG,MAAzB;AACA,WAFD,MAEO;AACN,iBAAKmH,MAAL,CAAab,UAAb;AACA;AACD,SANO,EAML,IANK;AARsB,OAAnB,CAAZ;AAgBA,KAxI4B;AA0I7BoQ,IAAAA,cAAc,EAAE,YAAY;AAC3B;AACA,UAAI5O,GAAG,GAAG,KAAKA,GAAL,EAAV,CAF2B,CAI3B;;AACA,UAAK,CAAEA,GAAP,EAAa,OALc,CAO3B;;AACA,UAAI/B,KAAK,GAAGvK,GAAG,CAAC+K,aAAJ,CAAmB;AAC9B+P,QAAAA,IAAI,EAAE,MADwB;AAE9BP,QAAAA,KAAK,EAAEva,GAAG,CAAC2D,EAAJ,CAAQ,YAAR,CAFuB;AAG9BwX,QAAAA,MAAM,EAAEnb,GAAG,CAAC2D,EAAJ,CAAQ,cAAR,CAHsB;AAI9BmH,QAAAA,UAAU,EAAEwB,GAJkB;AAK9BpE,QAAAA,KAAK,EAAE,KAAKD,GAAL,CAAU,KAAV,CALuB;AAM9B+S,QAAAA,MAAM,EAAElb,CAAC,CAACmb,KAAF,CAAS,UAAWnQ,UAAX,EAAuB7E,CAAvB,EAA2B;AAC3C,eAAK0F,MAAL,CAAab,UAAb;AACA,SAFO,EAEL,IAFK;AANsB,OAAnB,CAAZ;AAUA,KA5J4B;AA8J7BmX,IAAAA,gBAAgB,EAAE,YAAY;AAC7B,WAAKtW,MAAL,CAAa,KAAb;AACA,KAhK4B;AAkK7BuL,IAAAA,UAAU,EAAE,UAAWpP,CAAX,EAAc1D,GAAd,EAAoB;AAC/B,WAAKwW,gBAAL;AACA,KApK4B;AAsK7BsH,IAAAA,WAAW,EAAE,UAAWpa,CAAX,EAAc1D,GAAd,EAAoB;AAChC,WAAK8W,cAAL;AACA,KAxK4B;AA0K7BiH,IAAAA,aAAa,EAAE,UAAWra,CAAX,EAAc1D,GAAd,EAAoB;AAClC,WAAK6d,gBAAL;AACA,KA5K4B;AA8K7BjL,IAAAA,QAAQ,EAAE,UAAWlP,CAAX,EAAc1D,GAAd,EAAoB;AAC7B,UAAIge,YAAY,GAAG,KAAKpT,MAAL,EAAnB;;AAEA,UAAK,CAAE5K,GAAG,CAACkI,GAAJ,EAAP,EAAmB;AAClB8V,QAAAA,YAAY,CAAC9V,GAAb,CAAkB,EAAlB;AACA;;AAEDtM,MAAAA,GAAG,CAACqiB,gBAAJ,CAAsBje,GAAtB,EAA2B,UAAWkB,IAAX,EAAkB;AAC5C8c,QAAAA,YAAY,CAAC9V,GAAb,CAAkBxM,CAAC,CAACwiB,KAAF,CAAShd,IAAT,CAAlB;AACA,OAFD;AAGA;AAxL4B,GAAlB,CAAZ;AA2LAtF,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CA7LD,EA6LK+F,MA7LL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,MADuB;AAG7BhB,IAAAA,MAAM,EAAE;AACP,kCAA4B,aADrB;AAEP,mCAA6B,aAFtB;AAGP,qCAA+B,eAHxB;AAIP,2BAAqB;AAJd,KAHqB;AAU7BsM,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,WAAR,CAAP;AACA,KAZ4B;AAc7ByiB,IAAAA,KAAK,EAAE,YAAY;AAClB,aAAO,KAAKziB,CAAL,CAAQ,YAAR,CAAP;AACA,KAhB4B;AAkB7BiX,IAAAA,QAAQ,EAAE,YAAY;AACrB;AACA,UAAIwL,KAAK,GAAG,KAAKA,KAAL,EAAZ,CAFqB,CAIrB;;AACA,UAAK,CAAEA,KAAK,CAAChO,IAAN,CAAY,MAAZ,CAAP,EAA8B;AAC7B,eAAO,KAAP;AACA,OAPoB,CASrB;;;AACA,aAAO;AACNgG,QAAAA,KAAK,EAAEgI,KAAK,CAAC9N,IAAN,EADD;AAEN4F,QAAAA,GAAG,EAAEkI,KAAK,CAAChO,IAAN,CAAY,MAAZ,CAFC;AAGN5K,QAAAA,MAAM,EAAE4Y,KAAK,CAAChO,IAAN,CAAY,QAAZ;AAHF,OAAP;AAKA,KAjC4B;AAmC7BkC,IAAAA,QAAQ,EAAE,UAAWnK,GAAX,EAAiB;AAC1B;AACAA,MAAAA,GAAG,GAAGtM,GAAG,CAAC0B,SAAJ,CAAe4K,GAAf,EAAoB;AACzBiO,QAAAA,KAAK,EAAE,EADkB;AAEzBF,QAAAA,GAAG,EAAE,EAFoB;AAGzB1Q,QAAAA,MAAM,EAAE;AAHiB,OAApB,CAAN,CAF0B,CAQ1B;;AACA,UAAI6Y,IAAI,GAAG,KAAK/O,QAAL,EAAX;AACA,UAAI8O,KAAK,GAAG,KAAKA,KAAL,EAAZ,CAV0B,CAY1B;;AACAC,MAAAA,IAAI,CAACvM,WAAL,CAAkB,kBAAlB,EAb0B,CAe1B;;AACA,UAAK3J,GAAG,CAAC+N,GAAT,EAAemI,IAAI,CAAC9N,QAAL,CAAe,QAAf;AACf,UAAKpI,GAAG,CAAC3C,MAAJ,KAAe,QAApB,EAA+B6Y,IAAI,CAAC9N,QAAL,CAAe,WAAf,EAjBL,CAmB1B;;AACA,WAAK5U,CAAL,CAAQ,aAAR,EAAwB2U,IAAxB,CAA8BnI,GAAG,CAACiO,KAAlC;AACA,WAAKza,CAAL,CAAQ,WAAR,EAAsByU,IAAtB,CAA4B,MAA5B,EAAoCjI,GAAG,CAAC+N,GAAxC,EAA8C5F,IAA9C,CAAoDnI,GAAG,CAAC+N,GAAxD,EArB0B,CAuB1B;;AACAkI,MAAAA,KAAK,CAAC9N,IAAN,CAAYnI,GAAG,CAACiO,KAAhB;AACAgI,MAAAA,KAAK,CAAChO,IAAN,CAAY,MAAZ,EAAoBjI,GAAG,CAAC+N,GAAxB;AACAkI,MAAAA,KAAK,CAAChO,IAAN,CAAY,QAAZ,EAAsBjI,GAAG,CAAC3C,MAA1B,EA1B0B,CA4B1B;;AACA,WAAK7J,CAAL,CAAQ,cAAR,EAAyBwM,GAAzB,CAA8BA,GAAG,CAACiO,KAAlC;AACA,WAAKza,CAAL,CAAQ,eAAR,EAA0BwM,GAA1B,CAA+BA,GAAG,CAAC3C,MAAnC;AACA,WAAK7J,CAAL,CAAQ,YAAR,EAAuBwM,GAAvB,CAA4BA,GAAG,CAAC+N,GAAhC,EAAsC3D,OAAtC,CAA+C,QAA/C;AACA,KAnE4B;AAqE7BwL,IAAAA,WAAW,EAAE,UAAWpa,CAAX,EAAc1D,GAAd,EAAoB;AAChCpE,MAAAA,GAAG,CAACyiB,MAAJ,CAAWxN,IAAX,CAAiB,KAAKsN,KAAL,EAAjB;AACA,KAvE4B;AAyE7BJ,IAAAA,aAAa,EAAE,UAAWra,CAAX,EAAc1D,GAAd,EAAoB;AAClC,WAAKqS,QAAL,CAAe,KAAf;AACA,KA3E4B;AA6E7BO,IAAAA,QAAQ,EAAE,UAAWlP,CAAX,EAAc1D,GAAd,EAAoB;AAC7B;AACA,UAAIkI,GAAG,GAAG,KAAKyK,QAAL,EAAV,CAF6B,CAI7B;;AACA,WAAKN,QAAL,CAAenK,GAAf;AACA;AAnF4B,GAAlB,CAAZ;AAsFAtM,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB,EAvF2B,CAyF3B;;AACArG,EAAAA,GAAG,CAACyiB,MAAJ,GAAa,IAAIziB,GAAG,CAACoK,KAAR,CAAe;AAC3BsY,IAAAA,YAAY,EAAE,YAAY;AACzB,UAAIH,KAAK,GAAG,KAAKta,GAAL,CAAU,MAAV,CAAZ;AACA,aAAO;AACNsS,QAAAA,KAAK,EAAEva,GAAG,CAAC2iB,MAAJ,CAAYJ,KAAK,CAAC9N,IAAN,EAAZ,CADD;AAEN4F,QAAAA,GAAG,EAAEkI,KAAK,CAAChO,IAAN,CAAY,MAAZ,CAFC;AAGN5K,QAAAA,MAAM,EAAE4Y,KAAK,CAAChO,IAAN,CAAY,QAAZ;AAHF,OAAP;AAKA,KAR0B;AAU3BqO,IAAAA,YAAY,EAAE,UAAWtW,GAAX,EAAiB;AAC9B,UAAIiW,KAAK,GAAG,KAAKta,GAAL,CAAU,MAAV,CAAZ;AACAsa,MAAAA,KAAK,CAACxZ,IAAN,CAAYuD,GAAG,CAACiO,KAAhB;AACAgI,MAAAA,KAAK,CAAChO,IAAN,CAAY,MAAZ,EAAoBjI,GAAG,CAAC+N,GAAxB;AACAkI,MAAAA,KAAK,CAAChO,IAAN,CAAY,QAAZ,EAAsBjI,GAAG,CAAC3C,MAA1B;AACA4Y,MAAAA,KAAK,CAAC7L,OAAN,CAAe,QAAf;AACA,KAhB0B;AAkB3BmM,IAAAA,aAAa,EAAE,YAAY;AAC1B,aAAO;AACNtI,QAAAA,KAAK,EAAEza,CAAC,CAAE,eAAF,CAAD,CAAqBwM,GAArB,EADD;AAEN+N,QAAAA,GAAG,EAAEva,CAAC,CAAE,cAAF,CAAD,CAAoBwM,GAApB,EAFC;AAGN3C,QAAAA,MAAM,EAAE7J,CAAC,CAAE,iBAAF,CAAD,CAAuBmP,IAAvB,CAA6B,SAA7B,IACL,QADK,GAEL;AALG,OAAP;AAOA,KA1B0B;AA4B3B6T,IAAAA,aAAa,EAAE,UAAWxW,GAAX,EAAiB;AAC/BxM,MAAAA,CAAC,CAAE,eAAF,CAAD,CAAqBwM,GAArB,CAA0BA,GAAG,CAACiO,KAA9B;AACAza,MAAAA,CAAC,CAAE,cAAF,CAAD,CAAoBwM,GAApB,CAAyBA,GAAG,CAAC+N,GAA7B;AACAva,MAAAA,CAAC,CAAE,iBAAF,CAAD,CAAuBmP,IAAvB,CAA6B,SAA7B,EAAwC3C,GAAG,CAAC3C,MAAJ,KAAe,QAAvD;AACA,KAhC0B;AAkC3BsL,IAAAA,IAAI,EAAE,UAAWsN,KAAX,EAAmB;AACxB;AACA,WAAKva,EAAL,CAAS,aAAT,EAAwB,QAAxB;AACA,WAAKA,EAAL,CAAS,cAAT,EAAyB,SAAzB,EAHwB,CAKxB;;AACA,WAAKpH,GAAL,CAAU,MAAV,EAAkB2hB,KAAlB,EANwB,CAQxB;;AACA,UAAIQ,SAAS,GAAGjjB,CAAC,CAChB,oEADgB,CAAjB;AAGAA,MAAAA,CAAC,CAAE,MAAF,CAAD,CAAYoU,MAAZ,CAAoB6O,SAApB,EAZwB,CAcxB;;AACA,UAAIzW,GAAG,GAAG,KAAKoW,YAAL,EAAV,CAfwB,CAiBxB;;AACAD,MAAAA,MAAM,CAACxN,IAAP,CAAa,mBAAb,EAAkC3I,GAAG,CAAC+N,GAAtC,EAA2C/N,GAAG,CAACiO,KAA/C,EAAsD,IAAtD;AACA,KArD0B;AAuD3ByI,IAAAA,MAAM,EAAE,YAAY;AACnB;AACAljB,MAAAA,CAAC,CAAE,eAAF,CAAD,CAAqB4U,QAArB,CAA+B,gBAA/B,EAFmB,CAInB;;AACA,UAAIpI,GAAG,GAAG,KAAKoW,YAAL,EAAV;AACA,WAAKI,aAAL,CAAoBxW,GAApB,EANmB,CAQnB;;AACA,UAAKA,GAAG,CAAC+N,GAAJ,IAAW4I,UAAhB,EAA6B;AAC5BnjB,QAAAA,CAAC,CAAE,iBAAF,CAAD,CAAuBwM,GAAvB,CAA4B2W,UAAU,CAACtiB,MAAvC;AACA;AACD,KAnE0B;AAqE3B8U,IAAAA,KAAK,EAAE,YAAY;AAClBgN,MAAAA,MAAM,CAAChN,KAAP;AACA,KAvE0B;AAyE3ByN,IAAAA,OAAO,EAAE,YAAY;AACpB;AACA;AACA,UAAK,CAAE,KAAK3R,GAAL,CAAU,MAAV,CAAP,EAA4B;AAC3B,eAAO,KAAP;AACA,OALmB,CAOpB;;;AACA,UAAI4R,OAAO,GAAGrjB,CAAC,CAAE,iBAAF,CAAf;AACA,UAAIsjB,QAAQ,GAAGD,OAAO,CAAC5e,EAAR,CAAY,QAAZ,KAA0B4e,OAAO,CAAC5e,EAAR,CAAY,QAAZ,CAAzC,CAToB,CAWpB;;AACA,UAAK6e,QAAL,EAAgB;AACf,YAAI9W,GAAG,GAAG,KAAKuW,aAAL,EAAV;AACA,aAAKD,YAAL,CAAmBtW,GAAnB;AACA,OAfmB,CAiBpB;;;AACA,WAAK+W,GAAL,CAAU,aAAV;AACA,WAAKA,GAAL,CAAU,cAAV;AACAvjB,MAAAA,CAAC,CAAE,oBAAF,CAAD,CAA0B0C,MAA1B;AACA,WAAK5B,GAAL,CAAU,MAAV,EAAkB,IAAlB;AACA;AA/F0B,GAAf,CAAb;AAiGA,CA3LD,EA2LKwL,MA3LL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,QADuB;AAG7BhB,IAAAA,MAAM,EAAE;AACP,0CAAoC,cAD7B;AAEP,gCAA0B,kBAFnB;AAGP,6BAAuB,eAHhB;AAIP,8BAAwB;AAJjB,KAHqB;AAU7BsM,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,aAAR,CAAP;AACA,KAZ4B;AAc7BkP,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,cAAR,CAAP;AACA,KAhB4B;AAkB7Bub,IAAAA,OAAO,EAAE,YAAY;AACpB,aAAO,KAAKvb,CAAL,CAAQ,eAAR,CAAP;AACA,KApB4B;AAsB7BiX,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK/H,MAAL,GAAc1C,GAAd,EAAP;AACA,KAxB4B;AA0B7BgX,IAAAA,YAAY,EAAE,YAAY;AACzB,aAAO,KAAKjI,OAAL,GAAe/O,GAAf,EAAP;AACA,KA5B4B;AA8B7BmK,IAAAA,QAAQ,EAAE,UAAWnK,GAAX,EAAiB;AAC1B;AACA,UAAKA,GAAL,EAAW;AACV,aAAKmH,QAAL,GAAgBiB,QAAhB,CAA0B,WAA1B;AACA,OAFD,MAEO;AACN,aAAKjB,QAAL,GAAgBwC,WAAhB,CAA6B,WAA7B;AACA;;AAEDjW,MAAAA,GAAG,CAACsM,GAAJ,CAAS,KAAK0C,MAAL,EAAT,EAAwB1C,GAAxB;AACA,KAvC4B;AAyC7BiX,IAAAA,WAAW,EAAE,UAAWnR,IAAX,EAAkB;AAC9BpS,MAAAA,GAAG,CAACujB,WAAJ,CAAiB,KAAKzjB,CAAL,CAAQ,SAAR,CAAjB;AACA,KA3C4B;AA6C7B0jB,IAAAA,WAAW,EAAE,YAAY;AACxBxjB,MAAAA,GAAG,CAACwjB,WAAJ,CAAiB,KAAK1jB,CAAL,CAAQ,SAAR,CAAjB;AACA,KA/C4B;AAiD7B2jB,IAAAA,WAAW,EAAE,YAAY;AACxB;AACA,UAAIC,OAAO,GAAG,KAAKpX,GAAL,EAAd;AACA,UAAI+N,GAAG,GAAG,KAAKiJ,YAAL,EAAV,CAHwB,CAKxB;;AACA,UAAK,CAAEjJ,GAAP,EAAa;AACZ,eAAO,KAAKtC,KAAL,EAAP;AACA,OARuB,CAUxB;;;AACA,UAAKsC,GAAG,CAACzS,MAAJ,CAAY,CAAZ,EAAe,CAAf,KAAsB,MAA3B,EAAoC;AACnCyS,QAAAA,GAAG,GAAG,YAAYA,GAAlB;AACA,OAbuB,CAexB;;;AACA,UAAKA,GAAG,KAAKqJ,OAAb,EAAuB,OAhBC,CAkBxB;;AACA,UAAI1a,OAAO,GAAG,KAAKf,GAAL,CAAU,SAAV,CAAd;;AACA,UAAKe,OAAL,EAAe;AACd2a,QAAAA,YAAY,CAAE3a,OAAF,CAAZ;AACA,OAtBuB,CAwBxB;;;AACA,UAAInC,QAAQ,GAAG/G,CAAC,CAACmb,KAAF,CAAS,KAAK2I,MAAd,EAAsB,IAAtB,EAA4BvJ,GAA5B,CAAf;AACA,WAAKzZ,GAAL,CAAU,SAAV,EAAqB0V,UAAU,CAAEzP,QAAF,EAAY,GAAZ,CAA/B;AACA,KA5E4B;AA8E7B+c,IAAAA,MAAM,EAAE,UAAWvJ,GAAX,EAAiB;AACxB;AACA,UAAIwJ,QAAQ,GAAG;AACdjd,QAAAA,MAAM,EAAE,0BADM;AAEd9C,QAAAA,CAAC,EAAEuW,GAFW;AAGdyJ,QAAAA,SAAS,EAAE,KAAK7b,GAAL,CAAU,KAAV;AAHG,OAAf,CAFwB,CAQxB;;AACA,UAAI8b,GAAG,GAAG,KAAK9b,GAAL,CAAU,KAAV,CAAV;;AACA,UAAK8b,GAAL,EAAW;AACVA,QAAAA,GAAG,CAACC,KAAJ;AACA,OAZuB,CAcxB;;;AACA,WAAKT,WAAL,GAfwB,CAiBxB;;AACA,UAAIQ,GAAG,GAAGjkB,CAAC,CAACqM,IAAF,CAAQ;AACjBkO,QAAAA,GAAG,EAAEra,GAAG,CAACiI,GAAJ,CAAS,SAAT,CADY;AAEjB3C,QAAAA,IAAI,EAAEtF,GAAG,CAACoC,cAAJ,CAAoByhB,QAApB,CAFW;AAGjB1b,QAAAA,IAAI,EAAE,MAHW;AAIjBoZ,QAAAA,QAAQ,EAAE,MAJO;AAKjBxa,QAAAA,OAAO,EAAE,IALQ;AAMjB0a,QAAAA,OAAO,EAAE,UAAWwC,IAAX,EAAkB;AAC1B;AACA,cAAK,CAAEA,IAAF,IAAU,CAAEA,IAAI,CAACxP,IAAtB,EAA6B;AAC5BwP,YAAAA,IAAI,GAAG;AACN5J,cAAAA,GAAG,EAAE,KADC;AAEN5F,cAAAA,IAAI,EAAE;AAFA,aAAP;AAIA,WAPyB,CAS1B;;;AACA,eAAKnI,GAAL,CAAU2X,IAAI,CAAC5J,GAAf;AACA,eAAKva,CAAL,CAAQ,eAAR,EAA0B2U,IAA1B,CAAgCwP,IAAI,CAACxP,IAArC;AACA,SAlBgB;AAmBjByP,QAAAA,QAAQ,EAAE,YAAY;AACrB,eAAKV,WAAL;AACA;AArBgB,OAAR,CAAV;AAwBA,WAAK5iB,GAAL,CAAU,KAAV,EAAiBmjB,GAAjB;AACA,KAzH4B;AA2H7BhM,IAAAA,KAAK,EAAE,YAAY;AAClB,WAAKzL,GAAL,CAAU,EAAV;AACA,WAAK+O,OAAL,GAAe/O,GAAf,CAAoB,EAApB;AACA,WAAKxM,CAAL,CAAQ,eAAR,EAA0B2U,IAA1B,CAAgC,EAAhC;AACA,KA/H4B;AAiI7BiM,IAAAA,YAAY,EAAE,UAAW5Y,CAAX,EAAc1D,GAAd,EAAoB;AACjC,WAAK2T,KAAL;AACA,KAnI4B;AAqI7BoM,IAAAA,gBAAgB,EAAE,UAAWrc,CAAX,EAAc1D,GAAd,EAAoB;AACrC,UAAK0D,CAAC,CAACmZ,KAAF,IAAW,EAAhB,EAAqB;AACpBnZ,QAAAA,CAAC,CAACqO,cAAF;AACA,aAAKsN,WAAL;AACA;AACD,KA1I4B;AA4I7B1C,IAAAA,aAAa,EAAE,UAAWjZ,CAAX,EAAc1D,GAAd,EAAoB;AAClC,UAAKA,GAAG,CAACkI,GAAJ,EAAL,EAAiB;AAChB,aAAKmX,WAAL;AACA;AACD,KAhJ4B;AAkJ7BW,IAAAA,cAAc,EAAE,UAAWtc,CAAX,EAAc1D,GAAd,EAAoB;AACnC,WAAKqf,WAAL;AACA;AApJ4B,GAAlB,CAAZ;AAuJAzjB,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CAzJD,EAyJK+F,MAzJL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAAC4Q,MAAJ,CAAWyT,WAAX,CAAuBjd,MAAvB,CAA+B;AAC1Ce,IAAAA,IAAI,EAAE;AADoC,GAA/B,CAAZ;AAIAnI,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CAND,EAMK+F,MANL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAAC4Q,MAAJ,CAAWyT,WAAX,CAAuBjd,MAAvB,CAA+B;AAC1Ce,IAAAA,IAAI,EAAE;AADoC,GAA/B,CAAZ;AAIAnI,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CAND,EAMK+F,MANL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,OADuB;AAG7BhB,IAAAA,MAAM,EAAE;AACP,mCAA6B;AADtB,KAHqB;AAO7BsM,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,iBAAR,CAAP;AACA,KAT4B;AAW7BkP,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,eAAR,CAAP;AACA,KAb4B;AAe7B6X,IAAAA,UAAU,EAAE,YAAY;AACvB,aAAO,KAAK7X,CAAL,CAAQ,oBAAR,CAAP;AACA,KAjB4B;AAmB7BiX,IAAAA,QAAQ,EAAE,YAAY;AACrB,UAAIzK,GAAG,GAAG,KAAK0C,MAAL,GAAc1C,GAAd,EAAV;;AACA,UAAKA,GAAG,KAAK,OAAR,IAAmB,KAAKrE,GAAL,CAAU,cAAV,CAAxB,EAAqD;AACpDqE,QAAAA,GAAG,GAAG,KAAKqL,UAAL,GAAkBrL,GAAlB,EAAN;AACA;;AACD,aAAOA,GAAP;AACA,KAzB4B;AA2B7B4J,IAAAA,OAAO,EAAE,UAAWpO,CAAX,EAAc1D,GAAd,EAAoB;AAC5B;AACA,UAAIwP,MAAM,GAAGxP,GAAG,CAACI,MAAJ,CAAY,OAAZ,CAAb;AACA,UAAImS,QAAQ,GAAG/C,MAAM,CAACD,QAAP,CAAiB,UAAjB,CAAf;AACA,UAAIrH,GAAG,GAAGlI,GAAG,CAACkI,GAAJ,EAAV,CAJ4B,CAM5B;;AACA,WAAKxM,CAAL,CAAQ,WAAR,EAAsBmW,WAAtB,CAAmC,UAAnC,EAP4B,CAS5B;;AACArC,MAAAA,MAAM,CAACc,QAAP,CAAiB,UAAjB,EAV4B,CAY5B;;AACA,UAAK,KAAKzM,GAAL,CAAU,YAAV,KAA4B0O,QAAjC,EAA4C;AAC3C/C,QAAAA,MAAM,CAACqC,WAAP,CAAoB,UAApB;AACA7R,QAAAA,GAAG,CAAC6K,IAAJ,CAAU,SAAV,EAAqB,KAArB,EAA6ByH,OAA7B,CAAsC,QAAtC;AACApK,QAAAA,GAAG,GAAG,KAAN;AACA,OAjB2B,CAmB5B;;;AACA,UAAK,KAAKrE,GAAL,CAAU,cAAV,CAAL,EAAkC;AACjC;AACA,YAAKqE,GAAG,KAAK,OAAb,EAAuB;AACtB,eAAKqL,UAAL,GAAkB1I,IAAlB,CAAwB,UAAxB,EAAoC,KAApC,EADsB,CAGtB;AACA,SAJD,MAIO;AACN,eAAK0I,UAAL,GAAkB1I,IAAlB,CAAwB,UAAxB,EAAoC,IAApC;AACA;AACD;AACD;AAzD4B,GAAlB,CAAZ;AA4DAjP,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CA9DD,EA8DK+F,MA9DL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,OADuB;AAG7BhB,IAAAA,MAAM,EAAE;AACP,mCAA6B,UADtB;AAEP,sBAAgB;AAFT,KAHqB;AAQ7B6H,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,qBAAR,CAAP;AACA,KAV4B;AAY7BwkB,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAO,KAAKxkB,CAAL,CAAQ,sBAAR,CAAP;AACA,KAd4B;AAgB7B2W,IAAAA,QAAQ,EAAE,UAAWnK,GAAX,EAAiB;AAC1B,WAAK+J,IAAL,GAAY,IAAZ,CAD0B,CAG1B;;AACArW,MAAAA,GAAG,CAACsM,GAAJ,CAAS,KAAK0C,MAAL,EAAT,EAAwB1C,GAAxB,EAJ0B,CAM1B;AACA;;AACAtM,MAAAA,GAAG,CAACsM,GAAJ,CAAS,KAAKgY,SAAL,EAAT,EAA2B,KAAKtV,MAAL,GAAc1C,GAAd,EAA3B,EAAgD,IAAhD;AAEA,WAAK+J,IAAL,GAAY,KAAZ;AACA,KA3B4B;AA6B7BW,IAAAA,QAAQ,EAAE,UAAWlP,CAAX,EAAc1D,GAAd,EAAoB;AAC7B,UAAK,CAAE,KAAKiS,IAAZ,EAAmB;AAClB,aAAKI,QAAL,CAAerS,GAAG,CAACkI,GAAJ,EAAf;AACA;AACD;AAjC4B,GAAlB,CAAZ;AAoCAtM,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CAtCD,EAsCK+F,MAtCL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,cADuB;AAG7BhB,IAAAA,MAAM,EAAE;AACP,gCAA0B,kBADnB;AAEP,8BAAwB,gBAFjB;AAGP,6BAAuB,gBAHhB;AAIP,2CAAqC,YAJ9B;AAKP,yCAAmC;AAL5B,KAHqB;AAW7BsM,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,mBAAR,CAAP;AACA,KAb4B;AAe7BykB,IAAAA,KAAK,EAAE,UAAWC,IAAX,EAAkB;AACxB,aAAO,KAAK1kB,CAAL,CAAQ,MAAM0kB,IAAN,GAAa,OAArB,CAAP;AACA,KAjB4B;AAmB7BC,IAAAA,UAAU,EAAE,UAAWD,IAAX,EAAkB;AAC7B,aAAO,KAAKD,KAAL,CAAYC,IAAZ,EAAmB5O,IAAnB,CAAyB,eAAzB,CAAP;AACA,KArB4B;AAuB7B8O,IAAAA,SAAS,EAAE,UAAWF,IAAX,EAAiB3Z,EAAjB,EAAsB;AAChC,aAAO,KAAK0Z,KAAL,CAAYC,IAAZ,EAAmB5O,IAAnB,CACN,4BAA4B/K,EAA5B,GAAiC,IAD3B,CAAP;AAGA,KA3B4B;AA6B7BkM,IAAAA,QAAQ,EAAE,YAAY;AACrB,UAAIzK,GAAG,GAAG,EAAV;AACA,WAAKmY,UAAL,CAAiB,QAAjB,EAA4Bpd,IAA5B,CAAkC,YAAY;AAC7CiF,QAAAA,GAAG,CAAC4C,IAAJ,CAAUpP,CAAC,CAAE,IAAF,CAAD,CAAUwF,IAAV,CAAgB,IAAhB,CAAV;AACA,OAFD;AAGA,aAAOgH,GAAG,CAACvH,MAAJ,GAAauH,GAAb,GAAmB,KAA1B;AACA,KAnC4B;AAqC7BqY,IAAAA,SAAS,EAAE,UAAWja,KAAX,EAAmB;AAC7B,aAAO,CACN,MADM,EAEN,oBACCA,KAAK,CAACG,EADP,GAEC,yBAFD,GAGCH,KAAK,CAAC3B,IAHP,GAIC,SANK,EAON,OAPM,EAQL6b,IARK,CAQC,EARD,CAAP;AASA,KA/C4B;AAiD7BC,IAAAA,QAAQ,EAAE,UAAWna,KAAX,EAAmB;AAC5B,aAAO,CACN,MADM,EAEN,gCACC,KAAKyM,YAAL,EADD,GAEC,aAFD,GAGCzM,KAAK,CAACG,EAHP,GAIC,MANK,EAON,oBACCH,KAAK,CAACG,EADP,GAEC,yBAFD,GAGCH,KAAK,CAAC3B,IAVD,EAWN,6EAXM,EAYN,SAZM,EAaN,OAbM,EAcL6b,IAdK,CAcC,EAdD,CAAP;AAeA,KAjE4B;AAmE7BlR,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAIoR,OAAO,GAAG,KAAK7J,KAAL,CACbjb,GAAG,CAAC+kB,IAAJ,CAAU,YAAY;AACrB;AACA,aAAKR,KAAL,CAAY,QAAZ,EAAuBS,QAAvB,CAAiC;AAChCC,UAAAA,KAAK,EAAE,IADyB;AAEhCC,UAAAA,eAAe,EAAE,IAFe;AAGhCC,UAAAA,oBAAoB,EAAE,IAHU;AAIhCC,UAAAA,MAAM,EAAE,IAJwB;AAKhCzkB,UAAAA,MAAM,EAAE,KAAKsa,KAAL,CAAY,YAAY;AAC/B,iBAAKjM,MAAL,GAAc0H,OAAd,CAAuB,QAAvB;AACA,WAFO;AALwB,SAAjC,EAFqB,CAYrB;;AACA,aAAK6N,KAAL,CAAY,SAAZ,EACEc,SADF,CACa,CADb,EAEErd,EAFF,CAEM,QAFN,EAEgB,KAAKiT,KAAL,CAAY,KAAKqK,eAAjB,CAFhB,EAbqB,CAiBrB;;AACA,aAAKrc,KAAL;AACA,OAnBD,CADa,CAAd,CAFuB,CAyBvB;;AACA,WAAK7E,GAAL,CAASmhB,GAAT,CAAc,WAAd,EAA2BT,OAA3B;AACA,WAAK1gB,GAAL,CAASmhB,GAAT,CAAc,OAAd,EAAuB,OAAvB,EAAgCT,OAAhC,EA3BuB,CA6BvB;;AACA9kB,MAAAA,GAAG,CAACwlB,UAAJ,CAAgB,KAAKphB,GAArB,EAA0B0gB,OAA1B;AACA,KAlG4B;AAoG7BQ,IAAAA,eAAe,EAAE,UAAWxd,CAAX,EAAe;AAC/B;AACA,UAAK,KAAKG,GAAL,CAAU,SAAV,KAAyB,CAAE,KAAKA,GAAL,CAAU,MAAV,CAAhC,EAAqD;AACpD;AACA,OAJ8B,CAM/B;;;AACA,UAAIsc,KAAK,GAAG,KAAKA,KAAL,CAAY,SAAZ,CAAZ;AACA,UAAIc,SAAS,GAAGI,IAAI,CAACC,IAAL,CAAWnB,KAAK,CAACc,SAAN,EAAX,CAAhB;AACA,UAAIM,YAAY,GAAGF,IAAI,CAACC,IAAL,CAAWnB,KAAK,CAAE,CAAF,CAAL,CAAWoB,YAAtB,CAAnB;AACA,UAAIC,WAAW,GAAGH,IAAI,CAACC,IAAL,CAAWnB,KAAK,CAACqB,WAAN,EAAX,CAAlB;AACA,UAAIC,KAAK,GAAG,KAAK5d,GAAL,CAAU,OAAV,KAAuB,CAAnC;;AACA,UAAKod,SAAS,GAAGO,WAAZ,IAA2BD,YAAhC,EAA+C;AAC9C;AACA,aAAK/kB,GAAL,CAAU,OAAV,EAAmBilB,KAAK,GAAG,CAA3B,EAF8C,CAI9C;;AACA,aAAK5c,KAAL;AACA;AACD,KAvH4B;AAyH7B6c,IAAAA,gBAAgB,EAAE,UAAWhe,CAAX,EAAc1D,GAAd,EAAoB;AACrC;AACA,UAAK0D,CAAC,CAACmZ,KAAF,IAAW,EAAhB,EAAqB;AACpBnZ,QAAAA,CAAC,CAACqO,cAAF;AACA;AACD,KA9H4B;AAgI7B4P,IAAAA,cAAc,EAAE,UAAWje,CAAX,EAAc1D,GAAd,EAAoB;AACnC;AACA,UAAIkI,GAAG,GAAGlI,GAAG,CAACkI,GAAJ,EAAV;AACA,UAAIuG,MAAM,GAAGzO,GAAG,CAACkB,IAAJ,CAAU,QAAV,CAAb,CAHmC,CAKnC;;AACA,UAAK,KAAK2C,GAAL,CAAU4K,MAAV,MAAuBvG,GAA5B,EAAkC;AACjC;AACA,OARkC,CAUnC;;;AACA,WAAK1L,GAAL,CAAUiS,MAAV,EAAkBvG,GAAlB,EAXmC,CAanC;;AACA,WAAK1L,GAAL,CAAU,OAAV,EAAmB,CAAnB,EAdmC,CAgBnC;;AACA,UAAKwD,GAAG,CAACG,EAAJ,CAAQ,QAAR,CAAL,EAA0B;AACzB,aAAK0E,KAAL,GADyB,CAGzB;AACA,OAJD,MAIO;AACN,aAAK+c,UAAL;AACA;AACD,KAxJ4B;AA0J7B9O,IAAAA,UAAU,EAAE,UAAWpP,CAAX,EAAc1D,GAAd,EAAoB;AAC/B;AACA,UAAIkI,GAAG,GAAG,KAAKA,GAAL,EAAV;AACA,UAAI2Z,GAAG,GAAG9I,QAAQ,CAAE,KAAKlV,GAAL,CAAU,KAAV,CAAF,CAAlB,CAH+B,CAK/B;;AACA,UAAK7D,GAAG,CAACuP,QAAJ,CAAc,UAAd,CAAL,EAAkC;AACjC,eAAO,KAAP;AACA,OAR8B,CAU/B;;;AACA,UAAKsS,GAAG,GAAG,CAAN,IAAW3Z,GAAX,IAAkBA,GAAG,CAACvH,MAAJ,IAAckhB,GAArC,EAA2C;AAC1C;AACA,aAAKnd,UAAL,CAAiB;AAChBC,UAAAA,IAAI,EAAE/I,GAAG,CACP2D,EADI,CACA,yCADA,EAEJob,OAFI,CAEK,OAFL,EAEckH,GAFd,CADU;AAIhB9d,UAAAA,IAAI,EAAE;AAJU,SAAjB;AAMA,eAAO,KAAP;AACA,OApB8B,CAsB/B;;;AACA/D,MAAAA,GAAG,CAACsQ,QAAJ,CAAc,UAAd,EAvB+B,CAyB/B;;AACA,UAAID,IAAI,GAAG,KAAKoQ,QAAL,CAAe;AACzBha,QAAAA,EAAE,EAAEzG,GAAG,CAACkB,IAAJ,CAAU,IAAV,CADqB;AAEzByD,QAAAA,IAAI,EAAE3E,GAAG,CAACqQ,IAAJ;AAFmB,OAAf,CAAX;AAIA,WAAK8P,KAAL,CAAY,QAAZ,EAAuBrQ,MAAvB,CAA+BO,IAA/B,EA9B+B,CAgC/B;;AACA,WAAKzF,MAAL,GAAc0H,OAAd,CAAuB,QAAvB;AACA,KA5L4B;AA8L7ByL,IAAAA,aAAa,EAAE,UAAWra,CAAX,EAAc1D,GAAd,EAAoB;AAClC;AACA0D,MAAAA,CAAC,CAACqO,cAAF,GAFkC,CAIlC;;AACA,UAAI+P,KAAK,GAAG9hB,GAAG,CAACI,MAAJ,EAAZ;AACA,UAAI2hB,GAAG,GAAGD,KAAK,CAAC1hB,MAAN,EAAV;AACA,UAAIqG,EAAE,GAAGqb,KAAK,CAAC5gB,IAAN,CAAY,IAAZ,CAAT,CAPkC,CASlC;;AACA6gB,MAAAA,GAAG,CAAC3jB,MAAJ,GAVkC,CAYlC;;AACA,WAAKkiB,SAAL,CAAgB,SAAhB,EAA2B7Z,EAA3B,EAAgCoL,WAAhC,CAA6C,UAA7C,EAbkC,CAelC;;AACA,WAAKjH,MAAL,GAAc0H,OAAd,CAAuB,QAAvB;AACA,KA/M4B;AAiN7BsP,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAIhd,OAAO,GAAG,KAAKf,GAAL,CAAU,SAAV,CAAd,CAFuB,CAIvB;;AACA,UAAKe,OAAL,EAAe;AACd2a,QAAAA,YAAY,CAAE3a,OAAF,CAAZ;AACA,OAPsB,CASvB;;;AACAA,MAAAA,OAAO,GAAG,KAAKsN,UAAL,CAAiB,KAAKrN,KAAtB,EAA6B,GAA7B,CAAV;AACA,WAAKrI,GAAL,CAAU,SAAV,EAAqBoI,OAArB;AACA,KA7N4B;AA+N7Bod,IAAAA,WAAW,EAAE,YAAY;AACxB;AACA,UAAIvC,QAAQ,GAAG,KAAKpQ,QAAL,GAAgBnO,IAAhB,EAAf;;AACA,WAAM,IAAIgC,IAAV,IAAkBuc,QAAlB,EAA6B;AAC5BA,QAAAA,QAAQ,CAAEvc,IAAF,CAAR,GAAmB,KAAKW,GAAL,CAAUX,IAAV,CAAnB;AACA,OALuB,CAOxB;;;AACAuc,MAAAA,QAAQ,CAACjd,MAAT,GAAkB,+BAAlB;AACAid,MAAAA,QAAQ,CAACC,SAAT,GAAqB,KAAK7b,GAAL,CAAU,KAAV,CAArB,CATwB,CAWxB;;AACA4b,MAAAA,QAAQ,GAAG7jB,GAAG,CAACwB,YAAJ,CACV,wBADU,EAEVqiB,QAFU,EAGV,IAHU,CAAX,CAZwB,CAkBxB;;AACA,aAAOA,QAAP;AACA,KAnP4B;AAqP7B5a,IAAAA,KAAK,EAAE,YAAY;AAClB;AACA,UAAI8a,GAAG,GAAG,KAAK9b,GAAL,CAAU,KAAV,CAAV;;AACA,UAAK8b,GAAL,EAAW;AACVA,QAAAA,GAAG,CAACC,KAAJ;AACA,OALiB,CAOlB;;;AACA,UAAIH,QAAQ,GAAG,KAAKuC,WAAL,EAAf,CARkB,CAUlB;;AACA,UAAIC,YAAY,GAAG,KAAK9B,KAAL,CAAY,SAAZ,CAAnB;;AACA,UAAKV,QAAQ,CAACgC,KAAT,IAAkB,CAAvB,EAA2B;AAC1BQ,QAAAA,YAAY,CAAC5R,IAAb,CAAmB,EAAnB;AACA,OAdiB,CAgBlB;;;AACA,UAAI6R,QAAQ,GAAGxmB,CAAC,CACf,qCACCE,GAAG,CAAC2D,EAAJ,CAAQ,SAAR,CADD,GAEC,OAHc,CAAhB;AAKA0iB,MAAAA,YAAY,CAACnS,MAAb,CAAqBoS,QAArB;AACA,WAAK1lB,GAAL,CAAU,SAAV,EAAqB,IAArB,EAvBkB,CAyBlB;;AACA,UAAI2lB,UAAU,GAAG,YAAY;AAC5B,aAAK3lB,GAAL,CAAU,SAAV,EAAqB,KAArB;AACA0lB,QAAAA,QAAQ,CAAC9jB,MAAT;AACA,OAHD;;AAKA,UAAIgkB,SAAS,GAAG,UAAWvC,IAAX,EAAkB;AACjC;AACA,YAAK,CAAEA,IAAF,IAAU,CAAEA,IAAI,CAACpF,OAAjB,IAA4B,CAAEoF,IAAI,CAACpF,OAAL,CAAa9Z,MAAhD,EAAyD;AACxD;AACA,eAAKnE,GAAL,CAAU,MAAV,EAAkB,KAAlB,EAFwD,CAIxD;;AACA,cAAK,KAAKqH,GAAL,CAAU,OAAV,KAAuB,CAA5B,EAAgC;AAC/B,iBAAKsc,KAAL,CAAY,SAAZ,EAAwBrQ,MAAxB,CACC,SAASlU,GAAG,CAAC2D,EAAJ,CAAQ,kBAAR,CAAT,GAAwC,OADzC;AAGA,WATuD,CAWxD;;;AACA;AACA,SAfgC,CAiBjC;;;AACA,aAAK/C,GAAL,CAAU,MAAV,EAAkBqjB,IAAI,CAACwC,IAAvB,EAlBiC,CAoBjC;;AACA,YAAIhS,IAAI,GAAG,KAAKiS,WAAL,CAAkBzC,IAAI,CAACpF,OAAvB,CAAX;AACA,YAAI8H,KAAK,GAAG7mB,CAAC,CAAE2U,IAAF,CAAb,CAtBiC,CAwBjC;;AACA,YAAInI,GAAG,GAAG,KAAKA,GAAL,EAAV;;AACA,YAAKA,GAAG,IAAIA,GAAG,CAACvH,MAAhB,EAAyB;AACxBuH,UAAAA,GAAG,CAAC9F,GAAJ,CAAS,UAAWqE,EAAX,EAAgB;AACxB8b,YAAAA,KAAK,CACH/Q,IADF,CACQ,4BAA4B/K,EAA5B,GAAiC,IADzC,EAEE6J,QAFF,CAEY,UAFZ;AAGA,WAJD;AAKA,SAhCgC,CAkCjC;;;AACA2R,QAAAA,YAAY,CAACnS,MAAb,CAAqByS,KAArB,EAnCiC,CAqCjC;;AACA,YAAIC,UAAU,GAAG,KAAjB;AACA,YAAIC,SAAS,GAAG,KAAhB;AAEAR,QAAAA,YAAY,CAACzQ,IAAb,CAAmB,gBAAnB,EAAsCvO,IAAtC,CAA4C,YAAY;AACvD,cAAIuM,MAAM,GAAG9T,CAAC,CAAE,IAAF,CAAd;AACA,cAAIykB,KAAK,GAAG3Q,MAAM,CAACmC,QAAP,CAAiB,IAAjB,CAAZ;;AAEA,cAAK6Q,UAAU,IAAIA,UAAU,CAAC7d,IAAX,MAAqB6K,MAAM,CAAC7K,IAAP,EAAxC,EAAwD;AACvD8d,YAAAA,SAAS,CAAC3S,MAAV,CAAkBqQ,KAAK,CAACtQ,QAAN,EAAlB;AACAnU,YAAAA,CAAC,CAAE,IAAF,CAAD,CAAU0E,MAAV,GAAmBhC,MAAnB;AACA;AACA,WARsD,CAUvD;;;AACAokB,UAAAA,UAAU,GAAGhT,MAAb;AACAiT,UAAAA,SAAS,GAAGtC,KAAZ;AACA,SAbD;AAcA,OAvDD,CA/BkB,CAwFlB;;;AACA,UAAIR,GAAG,GAAGjkB,CAAC,CAACqM,IAAF,CAAQ;AACjBkO,QAAAA,GAAG,EAAEra,GAAG,CAACiI,GAAJ,CAAS,SAAT,CADY;AAEjBsZ,QAAAA,QAAQ,EAAE,MAFO;AAGjBpZ,QAAAA,IAAI,EAAE,MAHW;AAIjB7C,QAAAA,IAAI,EAAEtF,GAAG,CAACoC,cAAJ,CAAoByhB,QAApB,CAJW;AAKjB9c,QAAAA,OAAO,EAAE,IALQ;AAMjB0a,QAAAA,OAAO,EAAE+E,SANQ;AAOjBtC,QAAAA,QAAQ,EAAEqC;AAPO,OAAR,CAAV,CAzFkB,CAmGlB;;AACA,WAAK3lB,GAAL,CAAU,KAAV,EAAiBmjB,GAAjB;AACA,KA1V4B;AA4V7B2C,IAAAA,WAAW,EAAE,UAAWphB,IAAX,EAAkB;AAC9B;AACA,UAAIwhB,IAAI,GAAG,UAAWxhB,IAAX,EAAkB;AAC5B;AACA,YAAImP,IAAI,GAAG,EAAX,CAF4B,CAI5B;;AACA,YAAK3U,CAAC,CAACinB,OAAF,CAAWzhB,IAAX,CAAL,EAAyB;AACxBA,UAAAA,IAAI,CAACkB,GAAL,CAAU,UAAWwgB,IAAX,EAAkB;AAC3BvS,YAAAA,IAAI,IAAIqS,IAAI,CAAEE,IAAF,CAAZ;AACA,WAFD,EADwB,CAKxB;AACA,SAND,MAMO,IAAKlnB,CAAC,CAACkE,aAAF,CAAiBsB,IAAjB,CAAL,EAA+B;AACrC;AACA,cAAKA,IAAI,CAAC2O,QAAL,KAAkBlU,SAAvB,EAAmC;AAClC0U,YAAAA,IAAI,IACH,qCACAzU,GAAG,CAACinB,OAAJ,CAAa3hB,IAAI,CAACyD,IAAlB,CADA,GAEA,4BAHD;AAIA0L,YAAAA,IAAI,IAAIqS,IAAI,CAAExhB,IAAI,CAAC2O,QAAP,CAAZ;AACAQ,YAAAA,IAAI,IAAI,YAAR,CANkC,CAQlC;AACA,WATD,MASO;AACNA,YAAAA,IAAI,IACH,6CACAzU,GAAG,CAACknB,OAAJ,CAAa5hB,IAAI,CAACuF,EAAlB,CADA,GAEA,IAFA,GAGA7K,GAAG,CAACinB,OAAJ,CAAa3hB,IAAI,CAACyD,IAAlB,CAHA,GAIA,cALD;AAMA;AACD,SA9B2B,CAgC5B;;;AACA,eAAO0L,IAAP;AACA,OAlCD;;AAoCA,aAAOqS,IAAI,CAAExhB,IAAF,CAAX;AACA;AAnY4B,GAAlB,CAAZ;AAsYAtF,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CAxYD,EAwYK+F,MAxYL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,QADuB;AAG7B6C,IAAAA,OAAO,EAAE,KAHoB;AAK7BwI,IAAAA,IAAI,EAAE,MALuB;AAO7BrM,IAAAA,MAAM,EAAE;AACPggB,MAAAA,WAAW,EAAE,UADN;AAEPzP,MAAAA,cAAc,EAAE;AAFT,KAPqB;AAY7B1I,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,QAAR,CAAP;AACA,KAd4B;AAgB7B4T,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAIxI,OAAO,GAAG,KAAK8D,MAAL,EAAd,CAFuB,CAIvB;;AACA,WAAKoY,OAAL,CAAclc,OAAd,EALuB,CAOvB;;AACA,UAAK,KAAKjD,GAAL,CAAU,IAAV,CAAL,EAAwB;AACvB;AACA,YAAIqD,UAAU,GAAG,KAAKrD,GAAL,CAAU,aAAV,CAAjB;;AACA,YAAK,CAAEqD,UAAP,EAAoB;AACnBA,UAAAA,UAAU,GAAG,gBAAgB,KAAKrD,GAAL,CAAU,MAAV,CAAhB,GAAqC,QAAlD;AACA,SALsB,CAOvB;;;AACA,aAAK+C,OAAL,GAAehL,GAAG,CAACuL,UAAJ,CAAgBL,OAAhB,EAAyB;AACvChD,UAAAA,KAAK,EAAE,IADgC;AAEvCiE,UAAAA,IAAI,EAAE,KAAKlE,GAAL,CAAU,MAAV,CAFiC;AAGvC4S,UAAAA,QAAQ,EAAE,KAAK5S,GAAL,CAAU,UAAV,CAH6B;AAIvCof,UAAAA,WAAW,EAAE,KAAKpf,GAAL,CAAU,aAAV,CAJ0B;AAKvCmD,UAAAA,SAAS,EAAE,KAAKnD,GAAL,CAAU,YAAV,CAL4B;AAMvCqD,UAAAA,UAAU,EAAEA;AAN2B,SAAzB,CAAf;AAQA;AACD,KAzC4B;AA2C7Bgc,IAAAA,QAAQ,EAAE,YAAY;AACrB,UAAK,KAAKtc,OAAV,EAAoB;AACnB,aAAKA,OAAL,CAAaQ,OAAb;AACA;AACD,KA/C4B;AAiD7ByM,IAAAA,WAAW,EAAE,UAAWnQ,CAAX,EAAc1D,GAAd,EAAmB8T,UAAnB,EAAgC;AAC5C,UAAK,KAAKlN,OAAV,EAAoB;AACnBkN,QAAAA,UAAU,CAACtC,IAAX,CAAiB,oBAAjB,EAAwCpT,MAAxC;AACA0V,QAAAA,UAAU,CACRtC,IADF,CACQ,QADR,EAEEK,WAFF,CAEe,2BAFf;AAGA;AACD;AAxD4B,GAAlB,CAAZ;AA2DAjW,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CA7DD,EA6DK+F,MA7DL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B;AACA,MAAIoR,OAAO,GAAG,KAAd;AAEA,MAAI9K,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,KADuB;AAG7BqL,IAAAA,IAAI,EAAE,EAHuB;AAK7B+T,IAAAA,IAAI,EAAE,KALuB;AAO7BC,IAAAA,GAAG,EAAE,KAPwB;AAS7BrgB,IAAAA,MAAM,EAAE;AACPuQ,MAAAA,cAAc,EAAE;AADT,KATqB;AAa7BhT,IAAAA,UAAU,EAAE,YAAY;AACvB,aAAO,KAAKN,GAAL,CAAS+Q,SAAT,CAAoB,gBAApB,EAAsC,YAAtC,CAAP;AACA,KAf4B;AAiB7BzD,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAO1R,GAAG,CAAC0R,SAAJ,CAAe,KAAKhN,UAAL,EAAf,CAAP;AACA,KAnB4B;AAqB7B+iB,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAKrjB,GAAL,CAASsjB,OAAT,CAAkB,qBAAlB,CAAP;AACA,KAvB4B;AAyB7BC,IAAAA,OAAO,EAAE,YAAY;AACpB,aAAO,KAAK7nB,CAAL,CAAQ,iBAAR,CAAP;AACA,KA3B4B;AA6B7B4T,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAK,KAAKtP,GAAL,CAASG,EAAT,CAAa,IAAb,CAAL,EAA2B;AAC1B,aAAK4C,MAAL,GAAc,EAAd;AACA,eAAO,KAAP;AACA,OALsB,CAOvB;;;AACA,UAAIygB,KAAK,GAAG,KAAKH,QAAL,EAAZ;AACA,UAAII,IAAI,GAAG,KAAKF,OAAL,EAAX;AACA,UAAIG,QAAQ,GAAG9nB,GAAG,CAAC0B,SAAJ,CAAemmB,IAAI,CAACviB,IAAL,EAAf,EAA4B;AAC1CyiB,QAAAA,QAAQ,EAAE,KADgC;AAE1CC,QAAAA,SAAS,EAAE,EAF+B;AAG1C5Q,QAAAA,MAAM,EAAE,KAAKhT;AAH6B,OAA5B,CAAf,CAVuB,CAgBvB;;AACA,UAAK,CAAEwjB,KAAK,CAAC7iB,MAAR,IAAkB+iB,QAAQ,CAACC,QAAhC,EAA2C;AAC1C,aAAKR,IAAL,GAAY,IAAIU,IAAJ,CAAUH,QAAV,CAAZ;AACA,OAFD,MAEO;AACN,aAAKP,IAAL,GAAYK,KAAK,CAACtiB,IAAN,CAAY,KAAZ,CAAZ;AACA,OArBsB,CAuBvB;;;AACA,WAAKkiB,GAAL,GAAW,KAAKD,IAAL,CAAUW,MAAV,CAAkBL,IAAlB,EAAwB,IAAxB,CAAX;AACA,KAtD4B;AAwD7BM,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAKX,GAAL,CAASW,QAAT,EAAP;AACA,KA1D4B;AA4D7BC,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,WAAK1W,SAAL,GAAiBlL,GAAjB,CAAsB,UAAW0B,KAAX,EAAmB;AACxCA,QAAAA,KAAK,CAACkK,IAAN,CAAY,KAAKG,GAAjB,EAAsBpB,OAAtB;AACAjJ,QAAAA,KAAK,CAACmgB,WAAN,GAAoB,KAApB;AACA,OAHD,EAGG,IAHH;AAIA,KAlE4B;AAoE7BC,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,WAAK5W,SAAL,GAAiBlL,GAAjB,CAAsB,UAAW0B,KAAX,EAAmB;AACxCA,QAAAA,KAAK,CAACmK,IAAN,CAAY,KAAKE,GAAjB,EAAsBpB,OAAtB;AACAjJ,QAAAA,KAAK,CAACmgB,WAAN,GAAoB,KAAKb,GAAzB;AACA,OAHD,EAGG,IAHH;AAIA,KA1E4B;AA4E7BpV,IAAAA,IAAI,EAAE,UAAWmW,OAAX,EAAqB;AAC1B;AACA,UAAIC,OAAO,GAAGxoB,GAAG,CAACqG,KAAJ,CAAU+H,SAAV,CAAoBgE,IAApB,CAAyBvN,KAAzB,CAAgC,IAAhC,EAAsCC,SAAtC,CAAd,CAF0B,CAI1B;;AACA,UAAK0jB,OAAL,EAAe;AACd;AACA,aAAKhB,GAAL,CAASpV,IAAT,GAFc,CAId;;AACA,aAAKmV,IAAL,CAAUkB,OAAV;AACA,OAXyB,CAa1B;;;AACA,aAAOD,OAAP;AACA,KA3F4B;AA6F7BnW,IAAAA,IAAI,EAAE,UAAWkW,OAAX,EAAqB;AAC1B;AACA,UAAIG,MAAM,GAAG1oB,GAAG,CAACqG,KAAJ,CAAU+H,SAAV,CAAoBiE,IAApB,CAAyBxN,KAAzB,CAAgC,IAAhC,EAAsCC,SAAtC,CAAb,CAF0B,CAI1B;;AACA,UAAK4jB,MAAL,EAAc;AACb;AACA,aAAKlB,GAAL,CAASnV,IAAT,GAFa,CAIb;;AACA,YAAK,KAAK8V,QAAL,EAAL,EAAuB;AACtB,eAAKZ,IAAL,CAAUoB,KAAV;AACA;AACD,OAbyB,CAe1B;;;AACA,aAAOD,MAAP;AACA,KA9G4B;AAgH7B3mB,IAAAA,MAAM,EAAE,UAAWwmB,OAAX,EAAqB;AAC5B;AACA,WAAK7W,SAAL,GAAiBlL,GAAjB,CAAsB,UAAW0B,KAAX,EAAmB;AACxCA,QAAAA,KAAK,CAACnG,MAAN,CAAcoP,OAAd;AACA,OAFD;AAGA,KArH4B;AAuH7BvP,IAAAA,OAAO,EAAE,UAAW2mB,OAAX,EAAqB;AAC7B;AACA,WAAK7W,SAAL,GAAiBlL,GAAjB,CAAsB,UAAW0B,KAAX,EAAmB;AACxCA,QAAAA,KAAK,CAACtG,OAAN,CAAeuP,OAAf;AACA,OAFD;AAGA,KA5H4B;AA8H7B8G,IAAAA,WAAW,EAAE,UAAWnQ,CAAX,EAAc1D,GAAd,EAAmB8T,UAAnB,EAAgC;AAC5C,UAAK,KAAKiQ,QAAL,EAAL,EAAuB;AACtBjQ,QAAAA,UAAU,CAACwP,OAAX,CAAoB,qBAApB,EAA4CllB,MAA5C;AACA;AACD;AAlI4B,GAAlB,CAAZ;AAqIAxC,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIJ,CAAC,GAAG,CAAR;AACA,MAAIgiB,IAAI,GAAGjoB,GAAG,CAACoK,KAAJ,CAAUhD,MAAV,CAAkB;AAC5BmgB,IAAAA,IAAI,EAAE,EADsB;AAG5BqB,IAAAA,MAAM,EAAE,KAHoB;AAK5B5hB,IAAAA,OAAO,EAAE;AACRyhB,MAAAA,OAAO,EAAE;AADD,KALmB;AAS5BnjB,IAAAA,IAAI,EAAE;AACL8R,MAAAA,MAAM,EAAE,KADH;AAEL4Q,MAAAA,SAAS,EAAE,KAFN;AAGLa,MAAAA,KAAK,EAAE,CAHF;AAILC,MAAAA,WAAW,EAAE;AAJR,KATsB;AAgB5B9Y,IAAAA,KAAK,EAAE,UAAW8X,QAAX,EAAsB;AAC5B;AACAhoB,MAAAA,CAAC,CAACsH,MAAF,CAAU,KAAK9B,IAAf,EAAqBwiB,QAArB,EAF4B,CAI5B;;AACA,WAAKP,IAAL,GAAY,EAAZ;AACA,WAAKqB,MAAL,GAAc,KAAd,CAN4B,CAQ5B;;AACA,UAAIZ,SAAS,GAAG,KAAK/f,GAAL,CAAU,WAAV,CAAhB;AACA,UAAI8gB,OAAO,GAAG,KAAK9gB,GAAL,CAAU,QAAV,CAAd;AACA,UAAIiN,OAAO,GAAG6T,OAAO,CAACvkB,MAAR,EAAd,CAX4B,CAa5B;;AACA,UAAKwjB,SAAS,IAAI,MAAb,IAAuB9S,OAAO,CAACvB,QAAR,CAAkB,YAAlB,CAA5B,EAA+D;AAC9DuB,QAAAA,OAAO,CAACR,QAAR,CAAkB,UAAlB;AACA,OAhB2B,CAkB5B;;;AACA,UAAKqU,OAAO,CAACxkB,EAAR,CAAY,IAAZ,CAAL,EAA0B;AACzB,aAAKH,GAAL,GAAWtE,CAAC,CACX,2FADW,CAAZ;AAGA,OAJD,MAIO;AACN,aAAKsE,GAAL,GAAWtE,CAAC,CACX,+BACCkoB,SADD,GAEC,gDAHU,CAAZ;AAKA,OA7B2B,CA+B5B;;;AACAe,MAAAA,OAAO,CAAC3R,MAAR,CAAgB,KAAKhT,GAArB,EAhC4B,CAkC5B;;AACA,WAAKxD,GAAL,CAAU,OAAV,EAAmBqF,CAAnB,EAAsB,IAAtB;AACAA,MAAAA,CAAC;AACD,KArD2B;AAuD5B+iB,IAAAA,cAAc,EAAE,YAAY;AAC3B;AACA,UAAIxB,GAAG,GAAG,KAAKyB,UAAL,GAAkBC,KAAlB,EAAV,CAF2B,CAI3B;;AACA,UAAIvU,KAAK,GAAG3U,GAAG,CAAC4U,aAAJ,CAAmB,WAAnB,KAAoC,EAAhD;AACA,UAAIuU,UAAU,GAAG,KAAKlhB,GAAL,CAAU,OAAV,CAAjB;AACA,UAAImhB,QAAQ,GAAGzU,KAAK,CAAEwU,UAAF,CAApB;;AAEA,UAAK,KAAK5B,IAAL,CAAW6B,QAAX,KAAyB,KAAK7B,IAAL,CAAW6B,QAAX,EAAsBC,SAAtB,EAA9B,EAAkE;AACjE7B,QAAAA,GAAG,GAAG,KAAKD,IAAL,CAAW6B,QAAX,CAAN;AACA,OAX0B,CAa3B;;;AACA,UAAK5B,GAAL,EAAW;AACV,aAAK8B,SAAL,CAAgB9B,GAAhB;AACA,OAFD,MAEO;AACN,aAAK+B,SAAL;AACA,OAlB0B,CAoB3B;;;AACA,WAAK3oB,GAAL,CAAU,aAAV,EAAyB,IAAzB;AACA,KA7E2B;AA+E5BqoB,IAAAA,UAAU,EAAE,YAAY;AACvB,aAAO,KAAK1B,IAAL,CAAU1U,MAAV,CAAkB,UAAW2U,GAAX,EAAiB;AACzC,eAAOA,GAAG,CAAC6B,SAAJ,EAAP;AACA,OAFM,CAAP;AAGA,KAnF2B;AAqF5BG,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAO,KAAKZ,MAAZ;AACA,KAvF2B;AAyF5Ba,IAAAA,SAAS,EAAE,UAAWjC,GAAX,EAAiB;AAC3B,aAAS,KAAKoB,MAAL,GAAcpB,GAAvB;AACA,KA3F2B;AA6F5BkC,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAO,KAAKd,MAAL,KAAgB,KAAvB;AACA,KA/F2B;AAiG5BT,IAAAA,QAAQ,EAAE,UAAWX,GAAX,EAAiB;AAC1B,UAAIoB,MAAM,GAAG,KAAKY,SAAL,EAAb;AACA,aAAOZ,MAAM,IAAIA,MAAM,CAACrW,GAAP,KAAeiV,GAAG,CAACjV,GAApC;AACA,KApG2B;AAsG5BoX,IAAAA,WAAW,EAAE,YAAY;AACxB,UAAK,KAAKD,SAAL,EAAL,EAAwB;AACvB,aAAKE,QAAL,CAAe,KAAKJ,SAAL,EAAf;AACA;AACD,KA1G2B;AA4G5BK,IAAAA,OAAO,EAAE,UAAWrC,GAAX,EAAiB;AACzB;AACA,WAAKmC,WAAL,GAFyB,CAIzB;;AACAnC,MAAAA,GAAG,CAACvS,IAAJ,GALyB,CAOzB;;AACA,WAAKwU,SAAL,CAAgBjC,GAAhB;AACA,KArH2B;AAuH5BoC,IAAAA,QAAQ,EAAE,UAAWpC,GAAX,EAAiB;AAC1B;AACAA,MAAAA,GAAG,CAAC/R,KAAJ,GAF0B,CAI1B;;AACA,WAAKgU,SAAL,CAAgB,KAAhB;AACA,KA7H2B;AA+H5BF,IAAAA,SAAS,EAAE,YAAY;AACtB,WAAKhC,IAAL,CAAU/gB,GAAV,CAAe,KAAKojB,QAApB,EAA8B,IAA9B;AACA,KAjI2B;AAmI5BN,IAAAA,SAAS,EAAE,UAAW9B,GAAX,EAAiB;AAC3B;AACA,WAAKD,IAAL,CAAU/gB,GAAV,CAAe,UAAWsjB,CAAX,EAAe;AAC7B,YAAKtC,GAAG,CAACjV,GAAJ,KAAYuX,CAAC,CAACvX,GAAnB,EAAyB;AACxB,eAAKqX,QAAL,CAAeE,CAAf;AACA;AACD,OAJD,EAIG,IAJH,EAF2B,CAQ3B;;AACA,WAAKD,OAAL,CAAcrC,GAAd;AACA,KA7I2B;AA+I5BU,IAAAA,MAAM,EAAE,UAAW6B,EAAX,EAAe7hB,KAAf,EAAuB;AAC9B;AACA,UAAIie,GAAG,GAAGrmB,CAAC,CAAE,SAASiqB,EAAE,CAACC,SAAH,EAAT,GAA0B,OAA5B,CAAX,CAF8B,CAI9B;;AACA,WAAKlqB,CAAL,CAAQ,IAAR,EAAeoU,MAAf,CAAuBiS,GAAvB,EAL8B,CAO9B;;AACA,UAAIqB,GAAG,GAAG,IAAIyC,GAAJ,CAAS;AAClB7lB,QAAAA,GAAG,EAAE+hB,GADa;AAElBje,QAAAA,KAAK,EAAEA,KAFW;AAGlByK,QAAAA,KAAK,EAAE;AAHW,OAAT,CAAV,CAR8B,CAc9B;;AACA,WAAK4U,IAAL,CAAUrY,IAAV,CAAgBsY,GAAhB,EAf8B,CAiB9B;;AACA,aAAOA,GAAP;AACA,KAlK2B;AAoK5BmB,IAAAA,KAAK,EAAE,YAAY;AAClB;AACA,WAAKgB,WAAL,GAFkB,CAIlB;;AACA,aAAO,KAAKlB,OAAL,EAAP;AACA,KA1K2B;AA4K5BA,IAAAA,OAAO,EAAE,YAAY;AACpB;AACA,UAAK,KAAKiB,SAAL,EAAL,EAAwB;AACvB,eAAO,KAAP;AACA,OAJmB,CAMpB;;;AACA,UAAIlC,GAAG,GAAG,KAAKyB,UAAL,GAAkBC,KAAlB,EAAV,CAPoB,CASpB;;AACA,UAAK1B,GAAL,EAAW;AACV,aAAKqC,OAAL,CAAcrC,GAAd;AACA,OAZmB,CAcpB;;;AACA,aAAOA,GAAP;AACA,KA5L2B;AA8L5B0C,IAAAA,SAAS,EAAE,YAAY;AACtB;AACA,UAAK,KAAKjiB,GAAL,CAAU,WAAV,MAA4B,MAAjC,EAA0C;AACzC;AACA,OAJqB,CAMtB;;;AACA,UAAIiN,OAAO,GAAG,KAAK9Q,GAAL,CAASI,MAAT,EAAd;AACA,UAAI+f,KAAK,GAAG,KAAKngB,GAAL,CAAS6P,QAAT,CAAmB,IAAnB,CAAZ;AACA,UAAIkW,SAAS,GAAGjV,OAAO,CAAC3Q,EAAR,CAAY,IAAZ,IAAqB,QAArB,GAAgC,YAAhD,CATsB,CAWtB;;AACA,UAAIsd,MAAM,GAAG0C,KAAK,CAAC7H,QAAN,GAAiB0N,GAAjB,GAAuB7F,KAAK,CAAC8F,WAAN,CAAmB,IAAnB,CAAvB,GAAmD,CAAhE,CAZsB,CActB;;AACAnV,MAAAA,OAAO,CAACL,GAAR,CAAasV,SAAb,EAAwBtI,MAAxB;AACA;AA9M2B,GAAlB,CAAX;AAiNA,MAAIoI,GAAG,GAAGjqB,GAAG,CAACoK,KAAJ,CAAUhD,MAAV,CAAkB;AAC3BuL,IAAAA,KAAK,EAAE,KADoB;AAG3BzK,IAAAA,KAAK,EAAE,KAHoB;AAK3Bf,IAAAA,MAAM,EAAE;AACP,iBAAW;AADJ,KALmB;AAS3B0hB,IAAAA,KAAK,EAAE,YAAY;AAClB,aAAO,KAAKzkB,GAAL,CAASykB,KAAT,EAAP;AACA,KAX0B;AAa3BQ,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAOrpB,GAAG,CAACqpB,SAAJ,CAAe,KAAKjlB,GAApB,CAAP;AACA,KAf0B;AAiB3B+jB,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK/jB,GAAL,CAASuP,QAAT,CAAmB,QAAnB,CAAP;AACA,KAnB0B;AAqB3BsB,IAAAA,IAAI,EAAE,YAAY;AACjB;AACA,WAAK7Q,GAAL,CAASsQ,QAAT,CAAmB,QAAnB,EAFiB,CAIjB;;AACA,WAAKxM,KAAL,CAAWkgB,UAAX;AACA,KA3B0B;AA6B3B3S,IAAAA,KAAK,EAAE,YAAY;AAClB;AACA,WAAKrR,GAAL,CAAS6R,WAAT,CAAsB,QAAtB,EAFkB,CAIlB;;AACA,WAAK/N,KAAL,CAAWogB,UAAX;AACA,KAnC0B;AAqC3BpS,IAAAA,OAAO,EAAE,UAAWpO,CAAX,EAAc1D,GAAd,EAAoB;AAC5B;AACA0D,MAAAA,CAAC,CAACqO,cAAF,GAF4B,CAI5B;;AACA,WAAKX,MAAL;AACA,KA3C0B;AA6C3BA,IAAAA,MAAM,EAAE,YAAY;AACnB;AACA,UAAK,KAAK2S,QAAL,EAAL,EAAuB;AACtB;AACA,OAJkB,CAMnB;;;AACA,WAAKxV,KAAL,CAAWkX,OAAX,CAAoB,IAApB;AACA;AArD0B,GAAlB,CAAV;AAwDA,MAAIS,WAAW,GAAG,IAAItqB,GAAG,CAACoK,KAAR,CAAe;AAChCtD,IAAAA,QAAQ,EAAE,EADsB;AAGhCE,IAAAA,OAAO,EAAE;AACRujB,MAAAA,OAAO,EAAE,QADD;AAERrW,MAAAA,MAAM,EAAE,QAFA;AAGRoB,MAAAA,MAAM,EAAE,UAHA;AAIRkV,MAAAA,aAAa,EAAE;AAJP,KAHuB;AAUhC/C,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO3nB,CAAC,CAAE,eAAF,CAAR;AACA,KAZ+B;AAchC2qB,IAAAA,OAAO,EAAE,YAAY;AACpB,aAAOzqB,GAAG,CAAC0qB,YAAJ,CAAkB,KAAKjD,QAAL,EAAlB,CAAP;AACA,KAhB+B;AAkBhC9b,IAAAA,MAAM,EAAE,UAAWvH,GAAX,EAAiB;AACxB,WAAKqmB,OAAL,GAAejkB,GAAf,CAAoB,UAAW+gB,IAAX,EAAkB;AACrC,YAAK,CAAEA,IAAI,CAACtf,GAAL,CAAU,aAAV,CAAP,EAAmC;AAClCsf,UAAAA,IAAI,CAACyB,cAAL;AACA;AACD,OAJD;AAKA,KAxB+B;AA0BhC5S,IAAAA,cAAc,EAAE,UAAWlO,KAAX,EAAmB;AAClC;AACA,UAAK,KAAKmO,IAAV,EAAiB;AAChB;AACA,OAJiC,CAMlC;;;AACA,UAAK,CAAEnO,KAAK,CAACmgB,WAAb,EAA2B;AAC1B;AACA,OATiC,CAWlC;;;AACAngB,MAAAA,KAAK,CAACmgB,WAAN,CAAkB7S,MAAlB,GAZkC,CAclC;;AACA,WAAKa,IAAL,GAAY,IAAZ;AACA,WAAKC,UAAL,CAAiB,YAAY;AAC5B,aAAKD,IAAL,GAAY,KAAZ;AACA,OAFD,EAEG,GAFH;AAGA,KA7C+B;AA+ChCE,IAAAA,QAAQ,EAAE,YAAY;AACrB;AACA,UAAI5B,KAAK,GAAG,EAAZ,CAFqB,CAIrB;;AACA,WAAK8V,OAAL,GAAejkB,GAAf,CAAoB,UAAWmM,KAAX,EAAmB;AACtC,YAAIiW,MAAM,GAAGjW,KAAK,CAAC+W,SAAN,KAAoB/W,KAAK,CAAC6W,SAAN,GAAkBX,KAAlB,EAApB,GAAgD,CAA7D;AACAlU,QAAAA,KAAK,CAACzF,IAAN,CAAY0Z,MAAZ;AACA,OAHD,EALqB,CAUrB;;AACA,UAAK,CAAEjU,KAAK,CAAC5P,MAAb,EAAsB;AACrB;AACA,OAboB,CAerB;;;AACA/E,MAAAA,GAAG,CAACwW,aAAJ,CAAmB,WAAnB,EAAgC7B,KAAhC;AACA;AAhE+B,GAAf,CAAlB;AAkEA,CAneD,EAmeKvI,MAneL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,UADuB;AAG7B7C,IAAAA,IAAI,EAAE;AACLqlB,MAAAA,KAAK,EAAE;AADF,KAHuB;AAO7B3f,IAAAA,OAAO,EAAE,KAPoB;AAS7BwI,IAAAA,IAAI,EAAE,MATuB;AAW7BrM,IAAAA,MAAM,EAAE;AACP,kCAA4B,YADrB;AAEP,mCAA6B,cAFtB;AAGPggB,MAAAA,WAAW,EAAE;AAHN,KAXqB;AAiB7B1T,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,qBAAR,CAAP;AACA,KAnB4B;AAqB7BkP,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAK4b,mBAAL,GAA2B5b,MAA3B,CAAkCnK,KAAlC,CAAyC,IAAzC,EAA+CC,SAA/C,CAAP;AACA,KAvB4B;AAyB7B+lB,IAAAA,cAAc,EAAE,YAAY;AAC3B;AACA,UAAIza,SAAS,GAAG,KAAKnI,GAAL,CAAU,OAAV,CAAhB,CAF2B,CAI3B;;AACA,UAAKmI,SAAS,IAAI,cAAlB,EAAmC;AAClCA,QAAAA,SAAS,GAAG,QAAZ;AACA,OAP0B,CAS3B;;;AACA,aAAOA,SAAP;AACA,KApC4B;AAsC7Bwa,IAAAA,mBAAmB,EAAE,YAAY;AAChC,aAAO5qB,GAAG,CAAC8qB,YAAJ,CAAkB,KAAKD,cAAL,EAAlB,EAA0Czc,SAAjD;AACA,KAxC4B;AA0C7B2I,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK6T,mBAAL,GAA2B7T,QAA3B,CAAoClS,KAApC,CAA2C,IAA3C,EAAiDC,SAAjD,CAAP;AACA,KA5C4B;AA8C7B2R,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAKmU,mBAAL,GAA2BnU,QAA3B,CAAoC5R,KAApC,CAA2C,IAA3C,EAAiDC,SAAjD,CAAP;AACA,KAhD4B;AAkD7B4O,IAAAA,UAAU,EAAE,YAAY;AACvB,WAAKkX,mBAAL,GAA2BlX,UAA3B,CAAsC7O,KAAtC,CAA6C,IAA7C,EAAmDC,SAAnD;AACA,KApD4B;AAsD7BwiB,IAAAA,QAAQ,EAAE,YAAY;AACrB,UAAI5W,KAAK,GAAG,KAAKka,mBAAL,EAAZ;;AACA,UAAKla,KAAK,CAAC4W,QAAX,EAAsB;AACrB5W,QAAAA,KAAK,CAAC4W,QAAN,CAAeziB,KAAf,CAAsB,IAAtB,EAA4BC,SAA5B;AACA;AACD,KA3D4B;AA6D7BoS,IAAAA,UAAU,EAAE,UAAWpP,CAAX,EAAc1D,GAAd,EAAoB;AAC/B;AACA,UAAI8D,KAAK,GAAG,IAAZ;AACA,UAAIuC,KAAK,GAAG,KAAZ;AACA,UAAIsgB,KAAK,GAAG,KAAZ;AACA,UAAIC,KAAK,GAAG,KAAZ;AACA,UAAI9V,OAAO,GAAG,KAAd;AACA,UAAI+V,OAAO,GAAG,KAAd;AACA,UAAIC,QAAQ,GAAG,KAAf;AACA,UAAIC,MAAM,GAAG,KAAb,CAT+B,CAW/B;;AACA,UAAIC,KAAK,GAAG,YAAY;AACvB;AACA3gB,QAAAA,KAAK,GAAGzK,GAAG,CAACqrB,QAAJ,CAAc;AACrB9Q,UAAAA,KAAK,EAAEnW,GAAG,CAACmQ,IAAJ,CAAU,OAAV,CADc;AAErB6M,UAAAA,OAAO,EAAE,IAFY;AAGrBQ,UAAAA,KAAK,EAAE;AAHc,SAAd,CAAR,CAFuB,CAQvB;;AACA,YAAIiC,QAAQ,GAAG;AACdjd,UAAAA,MAAM,EAAE,8BADM;AAEdkd,UAAAA,SAAS,EAAE5b,KAAK,CAACD,GAAN,CAAW,KAAX;AAFG,SAAf,CATuB,CAcvB;;AACAnI,QAAAA,CAAC,CAACqM,IAAF,CAAQ;AACPkO,UAAAA,GAAG,EAAEra,GAAG,CAACiI,GAAJ,CAAS,SAAT,CADE;AAEP3C,UAAAA,IAAI,EAAEtF,GAAG,CAACoC,cAAJ,CAAoByhB,QAApB,CAFC;AAGP1b,UAAAA,IAAI,EAAE,MAHC;AAIPoZ,UAAAA,QAAQ,EAAE,MAJH;AAKPE,UAAAA,OAAO,EAAE6J;AALF,SAAR;AAOA,OAtBD,CAZ+B,CAoC/B;;;AACA,UAAIA,KAAK,GAAG,UAAW7W,IAAX,EAAkB;AAC7B;AACAhK,QAAAA,KAAK,CAAC2W,OAAN,CAAe,KAAf;AACA3W,QAAAA,KAAK,CAAC8gB,OAAN,CAAe9W,IAAf,EAH6B,CAK7B;;AACAsW,QAAAA,KAAK,GAAGtgB,KAAK,CAAC3K,CAAN,CAAS,MAAT,CAAR;AACAkrB,QAAAA,KAAK,GAAGvgB,KAAK,CAAC3K,CAAN,CAAS,yBAAT,CAAR;AACAoV,QAAAA,OAAO,GAAGzK,KAAK,CAAC3K,CAAN,CAAS,4BAAT,CAAV;AACAmrB,QAAAA,OAAO,GAAGxgB,KAAK,CAAC3K,CAAN,CAAS,oBAAT,CAAV,CAT6B,CAW7B;;AACAkrB,QAAAA,KAAK,CAACtU,OAAN,CAAe,OAAf,EAZ6B,CAc7B;;AACAjM,QAAAA,KAAK,CAACzC,EAAN,CAAU,QAAV,EAAoB,MAApB,EAA4BwjB,KAA5B;AACA,OAhBD,CArC+B,CAuD/B;;;AACA,UAAIA,KAAK,GAAG,UAAW1jB,CAAX,EAAc1D,GAAd,EAAoB;AAC/B;AACA0D,QAAAA,CAAC,CAACqO,cAAF;AACArO,QAAAA,CAAC,CAAC2jB,wBAAF,GAH+B,CAK/B;;AACA,YAAKT,KAAK,CAAC1e,GAAN,OAAgB,EAArB,EAA0B;AACzB0e,UAAAA,KAAK,CAACtU,OAAN,CAAe,OAAf;AACA,iBAAO,KAAP;AACA,SAT8B,CAW/B;;;AACA1W,QAAAA,GAAG,CAAC0rB,kBAAJ,CAAwBT,OAAxB,EAZ+B,CAc/B;;AACA,YAAIpH,QAAQ,GAAG;AACdjd,UAAAA,MAAM,EAAE,8BADM;AAEdkd,UAAAA,SAAS,EAAE5b,KAAK,CAACD,GAAN,CAAW,KAAX,CAFG;AAGd0jB,UAAAA,SAAS,EAAEX,KAAK,CAAC1e,GAAN,EAHG;AAIdsf,UAAAA,WAAW,EAAE1W,OAAO,CAACnQ,MAAR,GAAiBmQ,OAAO,CAAC5I,GAAR,EAAjB,GAAiC;AAJhC,SAAf;AAOAxM,QAAAA,CAAC,CAACqM,IAAF,CAAQ;AACPkO,UAAAA,GAAG,EAAEra,GAAG,CAACiI,GAAJ,CAAS,SAAT,CADE;AAEP3C,UAAAA,IAAI,EAAEtF,GAAG,CAACoC,cAAJ,CAAoByhB,QAApB,CAFC;AAGP1b,UAAAA,IAAI,EAAE,MAHC;AAIPoZ,UAAAA,QAAQ,EAAE,MAJH;AAKPE,UAAAA,OAAO,EAAEoK;AALF,SAAR;AAOA,OA7BD,CAxD+B,CAuF/B;;;AACA,UAAIA,KAAK,GAAG,UAAW5H,IAAX,EAAkB;AAC7B;AACAjkB,QAAAA,GAAG,CAAC8rB,iBAAJ,CAAuBb,OAAvB,EAF6B,CAI7B;;AACA,YAAKE,MAAL,EAAc;AACbA,UAAAA,MAAM,CAAC3oB,MAAP;AACA,SAP4B,CAS7B;;;AACA,YAAKxC,GAAG,CAACsC,aAAJ,CAAmB2hB,IAAnB,CAAL,EAAiC;AAChC;AACA+G,UAAAA,KAAK,CAAC1e,GAAN,CAAW,EAAX,EAFgC,CAIhC;;AACAyf,UAAAA,KAAK,CAAE9H,IAAI,CAAC3e,IAAP,CAAL,CALgC,CAOhC;;AACA6lB,UAAAA,MAAM,GAAGnrB,GAAG,CAACgsB,SAAJ,CAAe;AACvB7jB,YAAAA,IAAI,EAAE,SADiB;AAEvBY,YAAAA,IAAI,EAAE/I,GAAG,CAACisB,cAAJ,CAAoBhI,IAApB,CAFiB;AAGvBta,YAAAA,MAAM,EAAEohB,KAHe;AAIvB/hB,YAAAA,OAAO,EAAE,IAJc;AAKvBkjB,YAAAA,OAAO,EAAE;AALc,WAAf,CAAT;AAOA,SAfD,MAeO;AACN;AACAf,UAAAA,MAAM,GAAGnrB,GAAG,CAACgsB,SAAJ,CAAe;AACvB7jB,YAAAA,IAAI,EAAE,OADiB;AAEvBY,YAAAA,IAAI,EAAE/I,GAAG,CAACmsB,YAAJ,CAAkBlI,IAAlB,CAFiB;AAGvBta,YAAAA,MAAM,EAAEohB,KAHe;AAIvB/hB,YAAAA,OAAO,EAAE,IAJc;AAKvBkjB,YAAAA,OAAO,EAAE;AALc,WAAf,CAAT;AAOA,SAlC4B,CAoC7B;;;AACAlB,QAAAA,KAAK,CAACtU,OAAN,CAAe,OAAf;AACA,OAtCD,CAxF+B,CAgI/B;;;AACA,UAAIqV,KAAK,GAAG,UAAWK,IAAX,EAAkB;AAC7B;AACA,YAAIC,OAAO,GAAGvsB,CAAC,CACd,oBACCssB,IAAI,CAACE,OADN,GAEC,IAFD,GAGCF,IAAI,CAACG,UAHN,GAIC,WALa,CAAf;;AAOA,YAAKH,IAAI,CAACR,WAAV,EAAwB;AACvB1W,UAAAA,OAAO,CACLjB,QADF,CACY,mBAAmBmY,IAAI,CAACR,WAAxB,GAAsC,IADlD,EAEEY,KAFF,CAESH,OAFT;AAGA,SAJD,MAIO;AACNnX,UAAAA,OAAO,CAAChB,MAAR,CAAgBmY,OAAhB;AACA,SAf4B,CAiB7B;;;AACA,YAAI3rB,MAAM,GAAGV,GAAG,CAAC0R,SAAJ,CAAe;AAC3BvJ,UAAAA,IAAI,EAAE;AADqB,SAAf,CAAb;AAIAzH,QAAAA,MAAM,CAAC8F,GAAP,CAAY,UAAWimB,UAAX,EAAwB;AACnC,cACCA,UAAU,CAACxkB,GAAX,CAAgB,UAAhB,KAAgCC,KAAK,CAACD,GAAN,CAAW,UAAX,CADjC,EAEE;AACDwkB,YAAAA,UAAU,CAACC,UAAX,CAAuBN,IAAvB;AACA;AACD,SAND,EAtB6B,CA8B7B;;AACAlkB,QAAAA,KAAK,CAACykB,UAAN,CAAkBP,IAAI,CAACE,OAAvB;AACA,OAhCD,CAjI+B,CAmK/B;;;AACAlB,MAAAA,KAAK;AACL,KAlO4B;AAoO7BsB,IAAAA,UAAU,EAAE,UAAWN,IAAX,EAAkB;AAC7B,UAAK,KAAKvB,cAAL,MAAyB,QAA9B,EAAyC;AACxC,aAAK+B,gBAAL,CAAuBR,IAAvB;AACA,OAFD,MAEO;AACN,aAAKS,kBAAL,CAAyBT,IAAzB;AACA;AACD,KA1O4B;AA4O7BQ,IAAAA,gBAAgB,EAAE,UAAWR,IAAX,EAAkB;AACnC,WAAKphB,OAAL,CAAa8hB,SAAb,CAAwB;AACvBjiB,QAAAA,EAAE,EAAEuhB,IAAI,CAACE,OADc;AAEvBvjB,QAAAA,IAAI,EAAEqjB,IAAI,CAACG;AAFY,OAAxB;AAIA,KAjP4B;AAmP7BM,IAAAA,kBAAkB,EAAE,UAAWT,IAAX,EAAkB;AACrC;AACA,UAAI9kB,IAAI,GAAG,KAAKxH,CAAL,CAAQ,cAAR,EAAyByU,IAAzB,CAA+B,MAA/B,CAAX;AACA,UAAIwY,GAAG,GAAG,KAAKjtB,CAAL,CAAQ,UAAR,CAAV,CAHqC,CAKrC;;AACA,UAAK,KAAK+qB,cAAL,MAAyB,UAA9B,EAA2C;AAC1CvjB,QAAAA,IAAI,IAAI,IAAR;AACA,OARoC,CAUrC;;;AACA,UAAI6e,GAAG,GAAGrmB,CAAC,CACV,CACC,kBAAkBssB,IAAI,CAACE,OAAvB,GAAiC,IADlC,EAEC,SAFD,EAGC,kBACC,KAAKrkB,GAAL,CAAU,OAAV,CADD,GAEC,WAFD,GAGCmkB,IAAI,CAACE,OAHN,GAIC,UAJD,GAKChlB,IALD,GAMC,OATF,EAUC,WAAW8kB,IAAI,CAACT,SAAhB,GAA4B,SAV7B,EAWC,UAXD,EAYC,OAZD,EAaE/G,IAbF,CAaQ,EAbR,CADU,CAAX,CAXqC,CA4BrC;;AACA,UAAKwH,IAAI,CAACR,WAAV,EAAwB;AACvB;AACA,YAAI1W,OAAO,GAAG6X,GAAG,CAACnX,IAAJ,CACb,iBAAiBwW,IAAI,CAACR,WAAtB,GAAoC,IADvB,CAAd,CAFuB,CAMvB;;AACAmB,QAAAA,GAAG,GAAG7X,OAAO,CAACjB,QAAR,CAAkB,IAAlB,CAAN,CAPuB,CASvB;;AACA,YAAK,CAAE8Y,GAAG,CAACzT,MAAJ,EAAP,EAAsB;AACrByT,UAAAA,GAAG,GAAGjtB,CAAC,CAAE,mCAAF,CAAP;AACAoV,UAAAA,OAAO,CAAChB,MAAR,CAAgB6Y,GAAhB;AACA;AACD,OA3CoC,CA6CrC;;;AACAA,MAAAA,GAAG,CAAC7Y,MAAJ,CAAYiS,GAAZ;AACA,KAlS4B;AAoS7BwG,IAAAA,UAAU,EAAE,UAAW9hB,EAAX,EAAgB;AAC3B,UAAK,KAAKggB,cAAL,MAAyB,QAA9B,EAAyC;AACxC,aAAK7f,OAAL,CAAagiB,YAAb,CAA2BniB,EAA3B;AACA,OAFD,MAEO;AACN,YAAImE,MAAM,GAAG,KAAKlP,CAAL,CAAQ,kBAAkB+K,EAAlB,GAAuB,IAA/B,CAAb;AACAmE,QAAAA,MAAM,CAACC,IAAP,CAAa,SAAb,EAAwB,IAAxB,EAA+ByH,OAA/B,CAAwC,QAAxC;AACA;AACD,KA3S4B;AA6S7BuW,IAAAA,YAAY,EAAE,UAAWnlB,CAAX,EAAc1D,GAAd,EAAoB;AACjC;AACA,UAAIwP,MAAM,GAAGxP,GAAG,CAACI,MAAJ,CAAY,OAAZ,CAAb;AACA,UAAImS,QAAQ,GAAG/C,MAAM,CAACD,QAAP,CAAiB,UAAjB,CAAf,CAHiC,CAKjC;;AACA,WAAK7T,CAAL,CAAQ,WAAR,EAAsBmW,WAAtB,CAAmC,UAAnC,EANiC,CAQjC;;AACArC,MAAAA,MAAM,CAACc,QAAP,CAAiB,UAAjB,EATiC,CAWjC;;AACA,UAAK,KAAKzM,GAAL,CAAU,YAAV,KAA4B0O,QAAjC,EAA4C;AAC3C/C,QAAAA,MAAM,CAACqC,WAAP,CAAoB,UAApB;AACA7R,QAAAA,GAAG,CAAC6K,IAAJ,CAAU,SAAV,EAAqB,KAArB,EAA6ByH,OAA7B,CAAsC,QAAtC;AACA;AACD;AA7T4B,GAAlB,CAAZ;AAgUA1W,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CAlUD,EAkUK+F,MAlUL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAAC4Q,MAAJ,CAAW4I,eAAX,CAA2BpS,MAA3B,CAAmC;AAC9Ce,IAAAA,IAAI,EAAE,aADwC;AAG9CsL,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,kBAAR,CAAP;AACA,KAL6C;AAO9C4T,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAI1E,MAAM,GAAG,KAAKA,MAAL,EAAb;AACA,UAAI2I,UAAU,GAAG,KAAKA,UAAL,EAAjB,CAHuB,CAKvB;;AACA,UAAIrT,IAAI,GAAG;AACVmV,QAAAA,UAAU,EAAE,KAAKxR,GAAL,CAAU,aAAV,CADF;AAEVqQ,QAAAA,QAAQ,EAAEtJ,MAFA;AAGV0K,QAAAA,gBAAgB,EAAE,KAHR;AAIVC,QAAAA,aAAa,EAAE,UAJL;AAKVhB,QAAAA,eAAe,EAAE,IALP;AAMViB,QAAAA,WAAW,EAAE,QANH;AAOVC,QAAAA,OAAO,EAAE,IAPC;AAQVqT,QAAAA,SAAS,EAAEltB,GAAG,CAACiI,GAAJ,CAAS,oBAAT,EAAgCklB,UARjC;AASVC,QAAAA,QAAQ,EAAE;AATA,OAAX,CANuB,CAkBvB;;AACA9oB,MAAAA,IAAI,CAAC4e,OAAL,GAAe,UAAWrd,KAAX,EAAkBwnB,WAAlB,EAA+BC,UAA/B,EAA4C;AAC1D;AACA,YAAIC,MAAM,GAAGF,WAAW,CAACG,KAAZ,CAAkB5X,IAAlB,CAAwB,sBAAxB,CAAb,CAF0D,CAI1D;;AACA,YAAK,CAAE/P,KAAF,IAAW0nB,MAAM,CAAChpB,EAAP,CAAW,QAAX,CAAhB,EAAwC;AACvC+oB,UAAAA,UAAU,CAACG,eAAX;AACA;AACD,OARD,CAnBuB,CA6BvB;;;AACAnpB,MAAAA,IAAI,GAAGtE,GAAG,CAACwB,YAAJ,CAAkB,kBAAlB,EAAsC8C,IAAtC,EAA4C,IAA5C,CAAP,CA9BuB,CAgCvB;;AACAtE,MAAAA,GAAG,CAAC0tB,aAAJ,CAAmB/V,UAAnB,EAA+BrT,IAA/B,EAjCuB,CAmCvB;;AACAtE,MAAAA,GAAG,CAACkB,QAAJ,CAAc,kBAAd,EAAkCyW,UAAlC,EAA8CrT,IAA9C,EAAoD,IAApD;AACA;AA5C6C,GAAnC,CAAZ;AA+CAtE,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB,EAhD2B,CAkD3B;;AACArG,EAAAA,GAAG,CAAC0tB,aAAJ,GAAoB,UAAW1e,MAAX,EAAmB1K,IAAnB,EAA0B;AAC7C;AACA,QAAK,OAAOxE,CAAC,CAACka,UAAT,KAAwB,WAA7B,EAA2C;AAC1C,aAAO,KAAP;AACA,KAJ4C,CAM7C;;;AACA1V,IAAAA,IAAI,GAAGA,IAAI,IAAI,EAAf,CAP6C,CAS7C;;AACA0K,IAAAA,MAAM,CAACgL,UAAP,CAAmB1V,IAAnB,EAV6C,CAY7C;;AACA,QAAKxE,CAAC,CAAE,2BAAF,CAAD,CAAiCwZ,MAAjC,EAAL,EAAiD;AAChDxZ,MAAAA,CAAC,CAAE,2BAAF,CAAD,CAAiCyZ,IAAjC,CACC,mCADD;AAGA;AACD,GAlBD;AAmBA,CAtED,EAsEKnN,MAtEL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,YADuB;AAG7BhB,IAAAA,MAAM,EAAE;AACP,kCAA4B,UADrB;AAEP,iCAA2B,SAFpB;AAGP,gCAA0B,QAHnB;AAIP,oCAA8B;AAJvB,KAHqB;AAU7B6H,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,wBAAR,CAAP;AACA,KAZ4B;AAc7B6tB,IAAAA,OAAO,EAAE,YAAY;AACpB,aAAO,KAAK7tB,CAAL,CAAQ,aAAR,CAAP;AACA,KAhB4B;AAkB7BiX,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK/H,MAAL,GAAcC,IAAd,CAAoB,SAApB,IAAkC,CAAlC,GAAsC,CAA7C;AACA,KApB4B;AAsB7ByE,IAAAA,UAAU,EAAE,YAAY;AACvB,WAAK/H,MAAL;AACA,KAxB4B;AA0B7BA,IAAAA,MAAM,EAAE,YAAY;AACnB;AACA,UAAIgiB,OAAO,GAAG,KAAKA,OAAL,EAAd,CAFmB,CAInB;;AACA,UAAK,CAAEA,OAAO,CAAC5oB,MAAf,EAAwB,OALL,CAOnB;;AACA,UAAI6oB,GAAG,GAAGD,OAAO,CAAC1Z,QAAR,CAAkB,gBAAlB,CAAV;AACA,UAAI4Z,IAAI,GAAGF,OAAO,CAAC1Z,QAAR,CAAkB,iBAAlB,CAAX;AACA,UAAI2N,KAAK,GAAG6D,IAAI,CAACQ,GAAL,CAAU2H,GAAG,CAAChM,KAAJ,EAAV,EAAuBiM,IAAI,CAACjM,KAAL,EAAvB,CAAZ,CAVmB,CAYnB;;AACA,UAAK,CAAEA,KAAP,EAAe,OAbI,CAenB;;AACAgM,MAAAA,GAAG,CAAC/Y,GAAJ,CAAS,WAAT,EAAsB+M,KAAtB;AACAiM,MAAAA,IAAI,CAAChZ,GAAL,CAAU,WAAV,EAAuB+M,KAAvB;AACA,KA5C4B;AA8C7BkM,IAAAA,QAAQ,EAAE,YAAY;AACrB,WAAK9e,MAAL,GAAcC,IAAd,CAAoB,SAApB,EAA+B,IAA/B;AACA,WAAK0e,OAAL,GAAejZ,QAAf,CAAyB,KAAzB;AACA,KAjD4B;AAmD7BqZ,IAAAA,SAAS,EAAE,YAAY;AACtB,WAAK/e,MAAL,GAAcC,IAAd,CAAoB,SAApB,EAA+B,KAA/B;AACA,WAAK0e,OAAL,GAAe1X,WAAf,CAA4B,KAA5B;AACA,KAtD4B;AAwD7Be,IAAAA,QAAQ,EAAE,UAAWlP,CAAX,EAAc1D,GAAd,EAAoB;AAC7B,UAAKA,GAAG,CAAC6K,IAAJ,CAAU,SAAV,CAAL,EAA6B;AAC5B,aAAK6e,QAAL;AACA,OAFD,MAEO;AACN,aAAKC,SAAL;AACA;AACD,KA9D4B;AAgE7BC,IAAAA,OAAO,EAAE,UAAWlmB,CAAX,EAAc1D,GAAd,EAAoB;AAC5B,WAAKupB,OAAL,GAAejZ,QAAf,CAAyB,QAAzB;AACA,KAlE4B;AAoE7BqE,IAAAA,MAAM,EAAE,UAAWjR,CAAX,EAAc1D,GAAd,EAAoB;AAC3B,WAAKupB,OAAL,GAAe1X,WAAf,CAA4B,QAA5B;AACA,KAtE4B;AAwE7BgY,IAAAA,UAAU,EAAE,UAAWnmB,CAAX,EAAc1D,GAAd,EAAoB;AAC/B;AACA,UAAK0D,CAAC,CAAComB,OAAF,KAAc,EAAnB,EAAwB;AACvB,eAAO,KAAKH,SAAL,EAAP;AACA,OAJ8B,CAM/B;;;AACA,UAAKjmB,CAAC,CAAComB,OAAF,KAAc,EAAnB,EAAwB;AACvB,eAAO,KAAKJ,QAAL,EAAP;AACA;AACD;AAlF4B,GAAlB,CAAZ;AAqFA9tB,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CAvFD,EAuFK+F,MAvFL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,KADuB;AAG7BhB,IAAAA,MAAM,EAAE;AACP,iCAA2B;AADpB,KAHqB;AAO7BsM,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,iBAAR,CAAP;AACA,KAT4B;AAW7BkP,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,mBAAR,CAAP;AACA,KAb4B;AAe7B4T,IAAAA,UAAU,EAAE,YAAY;AACvB,WAAK/H,MAAL;AACA,KAjB4B;AAmB7BwiB,IAAAA,OAAO,EAAE,YAAY;AACpB;AACA,UAAI7hB,GAAG,GAAG,KAAKA,GAAL,EAAV,CAFoB,CAIpB;;AACA,UAAK,CAAEA,GAAP,EAAa;AACZ,eAAO,KAAP;AACA,OAPmB,CASpB;;;AACA,UAAKA,GAAG,CAAC5E,OAAJ,CAAa,KAAb,MAAyB,CAAC,CAA/B,EAAmC;AAClC,eAAO,IAAP;AACA,OAZmB,CAcpB;;;AACA,UAAK4E,GAAG,CAAC5E,OAAJ,CAAa,IAAb,MAAwB,CAA7B,EAAiC;AAChC,eAAO,IAAP;AACA,OAjBmB,CAmBpB;;;AACA,aAAO,KAAP;AACA,KAxC4B;AA0C7BiE,IAAAA,MAAM,EAAE,YAAY;AACnB;AACA,UAAK,KAAKwiB,OAAL,EAAL,EAAsB;AACrB,aAAK1a,QAAL,GAAgBiB,QAAhB,CAA0B,QAA1B;AACA,OAFD,MAEO;AACN,aAAKjB,QAAL,GAAgBwC,WAAhB,CAA6B,QAA7B;AACA;AACD,KAjD4B;AAmD7BmY,IAAAA,OAAO,EAAE,UAAWtmB,CAAX,EAAc1D,GAAd,EAAoB;AAC5B,WAAKuH,MAAL;AACA;AArD4B,GAAlB,CAAZ;AAwDA3L,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CA1DD,EA0DK+F,MA1DL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAAC4Q,MAAJ,CAAWyT,WAAX,CAAuBjd,MAAvB,CAA+B;AAC1Ce,IAAAA,IAAI,EAAE;AADoC,GAA/B,CAAZ;AAIAnI,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AAEArG,EAAAA,GAAG,CAACoB,SAAJ,CACC,mBADD,EAEC,UAAWkE,IAAX,EAAiBhB,IAAjB,EAAuB0K,MAAvB,EAA+B9G,KAA/B,EAAsC8C,OAAtC,EAAgD;AAC/C,QAAK,CAAE9C,KAAP,EAAe;AACd,aAAO5C,IAAP;AACA;;AAED,UAAM+oB,WAAW,GAAGnmB,KAAK,CAACD,GAAN,CAAU,YAAV,CAApB;;AACA,QAAKomB,WAAW,IAAIA,WAAW,CAACtpB,MAAhC,EAAyC;AACxCO,MAAAA,IAAI,CAACgpB,gBAAL,GAAwBD,WAAxB;AACA;;AAED,WAAO/oB,IAAP;AACA,GAbF;AAeA,CAtBD,EAsBK8G,MAtBL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B,MAAIsG,KAAK,GAAGrG,GAAG,CAACqG,KAAJ,CAAUe,MAAV,CAAkB;AAC7Be,IAAAA,IAAI,EAAE,SADuB;AAG7BqL,IAAAA,IAAI,EAAE,MAHuB;AAK7BrM,IAAAA,MAAM,EAAE;AACP,0CAAoC,aAD7B;AAEPonB,MAAAA,YAAY,EAAE,eAFP;AAGPC,MAAAA,YAAY,EAAE,cAHP;AAIPrH,MAAAA,WAAW,EAAE;AAJN,KALqB;AAY7B1T,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK3T,CAAL,CAAQ,kBAAR,CAAP;AACA,KAd4B;AAgB7BkP,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,UAAR,CAAP;AACA,KAlB4B;AAoB7B2uB,IAAAA,OAAO,EAAE,YAAY;AACpB,aAAO,KAAKhb,QAAL,GAAgBE,QAAhB,CAA0B,aAA1B,IACJ,QADI,GAEJ,MAFH;AAGA,KAxB4B;AA0B7BD,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAK,CAAE,KAAKD,QAAL,GAAgBE,QAAhB,CAA0B,OAA1B,CAAP,EAA6C;AAC5C,aAAK+a,gBAAL;AACA;AACD,KA/B4B;AAiC7BA,IAAAA,gBAAgB,EAAE,YAAY;AAC7B;AACA,UAAI3a,KAAK,GAAG,KAAKN,QAAL,EAAZ;AACA,UAAIsP,SAAS,GAAG,KAAK/T,MAAL,EAAhB;AACA,UAAI1K,IAAI,GAAG;AACVqqB,QAAAA,OAAO,EAAE,IADC;AAEVC,QAAAA,SAAS,EAAE,IAFD;AAGVC,QAAAA,OAAO,EAAE,KAAK5mB,GAAL,CAAU,SAAV,CAHC;AAIV6S,QAAAA,IAAI,EAAE,KAAK2T,OAAL,EAJI;AAKVvmB,QAAAA,KAAK,EAAE;AALG,OAAX,CAJ6B,CAY7B;;AACA,UAAI4mB,KAAK,GAAG/L,SAAS,CAACxO,IAAV,CAAgB,IAAhB,CAAZ;AACA,UAAIwa,KAAK,GAAG/uB,GAAG,CAACgvB,QAAJ,CAAc,aAAd,CAAZ,CAd6B,CAgB7B;;AACA,UAAIC,SAAS,GAAGlM,SAAS,CAACzd,IAAV,EAAhB;AACA,UAAI4pB,QAAQ,GAAGnM,SAAS,CAACzW,GAAV,EAAf,CAlB6B,CAoB7B;;AACAtM,MAAAA,GAAG,CAACmvB,MAAJ,CAAY;AACXxlB,QAAAA,MAAM,EAAEoK,KADG;AAEX6P,QAAAA,MAAM,EAAEkL,KAFG;AAGX/P,QAAAA,OAAO,EAAEgQ,KAHE;AAIXK,QAAAA,WAAW,EAAE;AAJF,OAAZ,EArB6B,CA4B7B;;AACA,WAAKxuB,GAAL,CAAU,IAAV,EAAgBmuB,KAAhB,EAAuB,IAAvB,EA7B6B,CA+B7B;AACA;;AACA,WAAK/f,MAAL,GAAc1J,IAAd,CAAoB2pB,SAApB,EAAgC3iB,GAAhC,CAAqC4iB,QAArC,EAjC6B,CAmC7B;;AACAlvB,MAAAA,GAAG,CAAC2uB,OAAJ,CAAYjb,UAAZ,CAAwBqb,KAAxB,EAA+BzqB,IAA/B;AACA,KAtE4B;AAwE7B+qB,IAAAA,WAAW,EAAE,UAAWvnB,CAAX,EAAe;AAC3B;AACAA,MAAAA,CAAC,CAACqO,cAAF,GAF2B,CAI3B;;AACA,UAAIpC,KAAK,GAAG,KAAKN,QAAL,EAAZ;AACAM,MAAAA,KAAK,CAACkC,WAAN,CAAmB,OAAnB;AACAlC,MAAAA,KAAK,CAAC6B,IAAN,CAAY,qBAAZ,EAAoCpT,MAApC,GAP2B,CAS3B;;AACA,WAAKksB,gBAAL;AACA,KAnF4B;AAqF7BY,IAAAA,YAAY,EAAE,YAAY;AACzB,UAAK,KAAKb,OAAL,MAAkB,QAAvB,EAAkC;AACjCzuB,QAAAA,GAAG,CAAC2uB,OAAJ,CAAY5sB,MAAZ,CAAoB,KAAKkG,GAAL,CAAU,IAAV,CAApB;AACA;AACD,KAzF4B;AA2F7BsnB,IAAAA,aAAa,EAAE,YAAY;AAC1BvvB,MAAAA,GAAG,CAAC2uB,OAAJ,CAAYnjB,OAAZ,CAAqB,KAAKvD,GAAL,CAAU,IAAV,CAArB;AACA;AA7F4B,GAAlB,CAAZ;AAgGAjI,EAAAA,GAAG,CAACqV,iBAAJ,CAAuBhP,KAAvB;AACA,CAlGD,EAkGK+F,MAlGL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B;AACA,MAAI2P,OAAO,GAAG,EAAd;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC1P,EAAAA,GAAG,CAACqG,KAAJ,GAAYrG,GAAG,CAACoK,KAAJ,CAAUhD,MAAV,CAAkB;AAC7B;AACAe,IAAAA,IAAI,EAAE,EAFuB;AAI7B;AACAqnB,IAAAA,UAAU,EAAE,YALiB;AAO7B;AACAhc,IAAAA,IAAI,EAAE,OARuB;;AAU7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEExD,IAAAA,KAAK,EAAE,UAAW3K,MAAX,EAAoB;AAC1B;AACA,WAAKjB,GAAL,GAAWiB,MAAX,CAF0B,CAI1B;;AACA,WAAK+hB,OAAL,CAAc/hB,MAAd,EAL0B,CAO1B;;AACA,WAAK+hB,OAAL,CAAc,KAAK3T,QAAL,EAAd;AACA,KA/B4B;;AAiC7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEEnH,IAAAA,GAAG,EAAE,UAAWA,GAAX,EAAiB;AACrB;AACA,UAAKA,GAAG,KAAKvM,SAAb,EAAyB;AACxB,eAAO,KAAK0W,QAAL,CAAenK,GAAf,CAAP,CADwB,CAGxB;AACA,OAJD,MAIO;AACN,eAAO,KAAK2C,IAAL,CAAW,UAAX,IAA0B,IAA1B,GAAiC,KAAK8H,QAAL,EAAxC;AACA;AACD,KAtD4B;;AAwD7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEEA,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAK/H,MAAL,GAAc1C,GAAd,EAAP;AACA,KAtE4B;;AAwE7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEEmK,IAAAA,QAAQ,EAAE,UAAWnK,GAAX,EAAiB;AAC1B,aAAOtM,GAAG,CAACsM,GAAJ,CAAS,KAAK0C,MAAL,EAAT,EAAwB1C,GAAxB,CAAP;AACA,KAtF4B;;AAwF7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEE3I,IAAAA,EAAE,EAAE,UAAWC,MAAX,EAAoB;AACvB,aAAO5D,GAAG,CAACsD,EAAJ,CAAQ,KAAK6E,IAAb,EAAmBvE,MAAnB,CAAP;AACA,KAtG4B;;AAwG7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEE6P,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAO,KAAP;AACA,KAtH4B;;AAwH7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEEzE,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAKlP,CAAL,CAAQ,cAAR,CAAP;AACA,KAtI4B;;AAwI7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEEgU,IAAAA,UAAU,EAAE,YAAY;AACvB,aAAO,KAAKhU,CAAL,CAAQ,kBAAR,CAAP;AACA,KAtJ4B;;AAwJ7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEE+T,IAAAA,UAAU,EAAE,YAAY;AACvB,aAAO,KAAK/T,CAAL,CAAQ,kBAAR,CAAP;AACA,KAtK4B;;AAwK7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEEqX,IAAAA,YAAY,EAAE,YAAY;AACzB,aAAO,KAAKnI,MAAL,GAAcuF,IAAd,CAAoB,MAApB,KAAgC,EAAvC;AACA,KAtL4B;;AAwL7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEE/P,IAAAA,MAAM,EAAE,YAAY;AACnB;AACA,UAAIoN,OAAO,GAAG,KAAKA,OAAL,EAAd,CAFmB,CAInB;;AACA,aAAOA,OAAO,CAAC7M,MAAR,GAAiB6M,OAAO,CAAE,CAAF,CAAxB,GAAgC,KAAvC;AACA,KA1M4B;;AA4M7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEEA,IAAAA,OAAO,EAAE,YAAY;AACpB;AACA,UAAI6d,QAAQ,GAAG,KAAKrrB,GAAL,CAASwN,OAAT,CAAkB,YAAlB,CAAf,CAFoB,CAIpB;;AACA,UAAIA,OAAO,GAAG5R,GAAG,CAAC0R,SAAJ,CAAe+d,QAAf,CAAd,CALoB,CAOpB;;AACA,aAAO7d,OAAP;AACA,KAjO4B;AAmO7BQ,IAAAA,IAAI,EAAE,UAAWmW,OAAX,EAAoBxhB,OAApB,EAA8B;AACnC;AACA,UAAIoL,OAAO,GAAGnS,GAAG,CAACoS,IAAJ,CAAU,KAAKhO,GAAf,EAAoBmkB,OAApB,CAAd,CAFmC,CAInC;;AACA,UAAKpW,OAAL,EAAe;AACd,aAAKlD,IAAL,CAAW,QAAX,EAAqB,KAArB;AACAjP,QAAAA,GAAG,CAACkB,QAAJ,CAAc,YAAd,EAA4B,IAA5B,EAAkC6F,OAAlC;AACA,OARkC,CAUnC;;;AACA,aAAOoL,OAAP;AACA,KA/O4B;AAiP7BE,IAAAA,IAAI,EAAE,UAAWkW,OAAX,EAAoBxhB,OAApB,EAA8B;AACnC;AACA,UAAIoL,OAAO,GAAGnS,GAAG,CAACqS,IAAJ,CAAU,KAAKjO,GAAf,EAAoBmkB,OAApB,CAAd,CAFmC,CAInC;;AACA,UAAKpW,OAAL,EAAe;AACd,aAAKlD,IAAL,CAAW,QAAX,EAAqB,IAArB;AACAjP,QAAAA,GAAG,CAACkB,QAAJ,CAAc,YAAd,EAA4B,IAA5B,EAAkC6F,OAAlC;AACA,OARkC,CAUnC;;;AACA,aAAOoL,OAAP;AACA,KA7P4B;AA+P7BpQ,IAAAA,MAAM,EAAE,UAAWwmB,OAAX,EAAoBxhB,OAApB,EAA8B;AACrC;AACA,UAAIoL,OAAO,GAAGnS,GAAG,CAAC+B,MAAJ,CAAY,KAAKqC,GAAjB,EAAsBmkB,OAAtB,CAAd,CAFqC,CAIrC;;AACA,UAAKpW,OAAL,EAAe;AACd,aAAKlD,IAAL,CAAW,UAAX,EAAuB,KAAvB;AACAjP,QAAAA,GAAG,CAACkB,QAAJ,CAAc,cAAd,EAA8B,IAA9B,EAAoC6F,OAApC;AACA,OARoC,CAUrC;;;AACA,aAAOoL,OAAP;AACA,KA3Q4B;AA6Q7BvQ,IAAAA,OAAO,EAAE,UAAW2mB,OAAX,EAAoBxhB,OAApB,EAA8B;AACtC;AACA,UAAIoL,OAAO,GAAGnS,GAAG,CAAC4B,OAAJ,CAAa,KAAKwC,GAAlB,EAAuBmkB,OAAvB,CAAd,CAFsC,CAItC;;AACA,UAAKpW,OAAL,EAAe;AACd,aAAKlD,IAAL,CAAW,UAAX,EAAuB,IAAvB;AACAjP,QAAAA,GAAG,CAACkB,QAAJ,CAAc,eAAd,EAA+B,IAA/B,EAAqC6F,OAArC;AACA,OARqC,CAUtC;;;AACA,aAAOoL,OAAP;AACA,KAzR4B;AA2R7BG,IAAAA,UAAU,EAAE,UAAWiW,OAAX,EAAoBxhB,OAApB,EAA8B;AACzC;AACA,WAAKhF,MAAL,CAAY8C,KAAZ,CAAmB,IAAnB,EAAyBC,SAAzB,EAFyC,CAIzC;;AACA,aAAO,KAAKsN,IAAL,CAAUvN,KAAV,CAAiB,IAAjB,EAAuBC,SAAvB,CAAP;AACA,KAjS4B;AAmS7B0N,IAAAA,WAAW,EAAE,UAAW+V,OAAX,EAAoBxhB,OAApB,EAA8B;AAC1C;AACA,WAAKnF,OAAL,CAAaiD,KAAb,CAAoB,IAApB,EAA0BC,SAA1B,EAF0C,CAI1C;;AACA,aAAO,KAAKuN,IAAL,CAAUxN,KAAV,CAAiB,IAAjB,EAAuBC,SAAvB,CAAP;AACA,KAzS4B;AA2S7BgE,IAAAA,UAAU,EAAE,UAAW4B,KAAX,EAAmB;AAC9B;AACA,UAAK,OAAOA,KAAP,KAAiB,QAAtB,EAAiC;AAChCA,QAAAA,KAAK,GAAG;AAAE3B,UAAAA,IAAI,EAAE2B;AAAR,SAAR;AACA,OAJ6B,CAM9B;;;AACA,UAAK,KAAKygB,MAAV,EAAmB;AAClB,aAAKA,MAAL,CAAY3oB,MAAZ;AACA,OAT6B,CAW9B;;;AACAkI,MAAAA,KAAK,CAACf,MAAN,GAAe,KAAKmK,UAAL,EAAf;AACA,WAAKqX,MAAL,GAAcnrB,GAAG,CAACgsB,SAAJ,CAAethB,KAAf,CAAd;AACA,KAzT4B;AA2T7BglB,IAAAA,YAAY,EAAE,UAAW1mB,OAAX,EAAqB;AAClC,UAAK,KAAKmiB,MAAV,EAAmB;AAClB,aAAKA,MAAL,CAAYwE,IAAZ,CAAkB3mB,OAAO,IAAI,CAA7B;AACA,aAAKmiB,MAAL,GAAc,KAAd;AACA;AACD,KAhU4B;AAkU7ByE,IAAAA,SAAS,EAAE,UAAW/mB,OAAX,EAAqB;AAC/B;AACA,WAAKzE,GAAL,CAASsQ,QAAT,CAAmB,WAAnB,EAF+B,CAI/B;;AACA,UAAK7L,OAAO,KAAK9I,SAAjB,EAA6B;AAC5B,aAAK+I,UAAL,CAAiB;AAChBC,UAAAA,IAAI,EAAEF,OADU;AAEhBV,UAAAA,IAAI,EAAE,OAFU;AAGhB+jB,UAAAA,OAAO,EAAE;AAHO,SAAjB;AAKA,OAX8B,CAa/B;;;AACAlsB,MAAAA,GAAG,CAACkB,QAAJ,CAAc,eAAd,EAA+B,IAA/B,EAd+B,CAgB/B;;AACA,WAAKkD,GAAL,CAASmhB,GAAT,CACC,cADD,EAEC,yBAFD,EAGCzlB,CAAC,CAACmb,KAAF,CAAS,KAAKtS,WAAd,EAA2B,IAA3B,CAHD;AAKA,KAxV4B;AA0V7BA,IAAAA,WAAW,EAAE,YAAY;AACxB;AACA,WAAKvE,GAAL,CAAS6R,WAAT,CAAsB,WAAtB,EAFwB,CAIxB;;AACA,WAAKyZ,YAAL,CAAmB,GAAnB,EALwB,CAOxB;;AACA1vB,MAAAA,GAAG,CAACkB,QAAJ,CAAc,aAAd,EAA6B,IAA7B;AACA,KAnW4B;AAqW7BwV,IAAAA,OAAO,EAAE,UAAWpP,IAAX,EAAiBhD,IAAjB,EAAuBurB,OAAvB,EAAiC;AACzC;AACA,UAAKvoB,IAAI,IAAI,cAAb,EAA8B;AAC7BuoB,QAAAA,OAAO,GAAG,IAAV;AACA,OAJwC,CAMzC;;;AACA,aAAO7vB,GAAG,CAACoK,KAAJ,CAAUgE,SAAV,CAAoBsI,OAApB,CAA4B7R,KAA5B,CAAmC,IAAnC,EAAyC,CAC/CyC,IAD+C,EAE/ChD,IAF+C,EAG/CurB,OAH+C,CAAzC,CAAP;AAKA;AAjX4B,GAAlB,CAAZ;AAoXA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC7vB,EAAAA,GAAG,CAAC8vB,QAAJ,GAAe,UAAWzqB,MAAX,EAAoB;AAClC;AACA,QAAI8C,IAAI,GAAG9C,MAAM,CAACC,IAAP,CAAa,MAAb,CAAX;AACA,QAAIqL,GAAG,GAAGH,OAAO,CAAErI,IAAF,CAAjB;AACA,QAAIlB,KAAK,GAAGjH,GAAG,CAAC4Q,MAAJ,CAAYD,GAAZ,KAAqB3Q,GAAG,CAACqG,KAArC,CAJkC,CAMlC;;AACA,QAAI6B,KAAK,GAAG,IAAIjB,KAAJ,CAAW5B,MAAX,CAAZ,CAPkC,CASlC;;AACArF,IAAAA,GAAG,CAACkB,QAAJ,CAAc,WAAd,EAA2BgH,KAA3B,EAVkC,CAYlC;;AACA,WAAOA,KAAP;AACA,GAdD;AAgBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC,MAAIsI,OAAO,GAAG,UAAWrI,IAAX,EAAkB;AAC/B,WAAOnI,GAAG,CAACyQ,aAAJ,CAAmBtI,IAAI,IAAI,EAA3B,IAAkC,OAAzC;AACA,GAFD;AAIA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECnI,EAAAA,GAAG,CAACqV,iBAAJ,GAAwB,UAAWpO,KAAX,EAAmB;AAC1C;AACA,QAAIyJ,KAAK,GAAGzJ,KAAK,CAACmH,SAAlB;AACA,QAAIjG,IAAI,GAAGuI,KAAK,CAACvI,IAAjB;AACA,QAAIwI,GAAG,GAAGH,OAAO,CAAErI,IAAF,CAAjB,CAJ0C,CAM1C;;AACAnI,IAAAA,GAAG,CAAC4Q,MAAJ,CAAYD,GAAZ,IAAoB1J,KAApB,CAP0C,CAS1C;;AACAyI,IAAAA,OAAO,CAACR,IAAR,CAAc/G,IAAd;AACA,GAXD;AAaA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECnI,EAAAA,GAAG,CAAC8qB,YAAJ,GAAmB,UAAW3iB,IAAX,EAAkB;AACpC,QAAIwI,GAAG,GAAGH,OAAO,CAAErI,IAAF,CAAjB;AACA,WAAOnI,GAAG,CAAC4Q,MAAJ,CAAYD,GAAZ,KAAqB,KAA5B;AACA,GAHD;AAKA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC3Q,EAAAA,GAAG,CAAC+vB,aAAJ,GAAoB,UAAWzrB,IAAX,EAAkB;AACrC;AACAA,IAAAA,IAAI,GAAGtE,GAAG,CAAC0B,SAAJ,CAAe4C,IAAf,EAAqB;AAC3B0rB,MAAAA,QAAQ,EAAE,EADiB,CAE3B;;AAF2B,KAArB,CAAP,CAFqC,CAOrC;;AACA,QAAIhf,KAAK,GAAG,EAAZ,CARqC,CAUrC;;AACAtB,IAAAA,OAAO,CAAClJ,GAAR,CAAa,UAAW2B,IAAX,EAAkB;AAC9B;AACA,UAAIlB,KAAK,GAAGjH,GAAG,CAAC8qB,YAAJ,CAAkB3iB,IAAlB,CAAZ;AACA,UAAIuI,KAAK,GAAGzJ,KAAK,CAACmH,SAAlB,CAH8B,CAK9B;;AACA,UAAK9J,IAAI,CAAC0rB,QAAL,IAAiBtf,KAAK,CAACsf,QAAN,KAAmB1rB,IAAI,CAAC0rB,QAA9C,EAAyD;AACxD;AACA,OAR6B,CAU9B;;;AACAhf,MAAAA,KAAK,CAAC9B,IAAN,CAAYjI,KAAZ;AACA,KAZD,EAXqC,CAyBrC;;AACA,WAAO+J,KAAP;AACA,GA3BD;AA4BA,CAlgBD,EAkgBK5E,MAlgBL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAECC,EAAAA,GAAG,CAAC0E,UAAJ,GAAiB,UAAWJ,IAAX,EAAkB;AAClC;AACA,QAAIP,QAAQ,GAAG,YAAf;AACA,QAAIa,OAAO,GAAG,KAAd,CAHkC,CAKlC;;AACAN,IAAAA,IAAI,GAAGtE,GAAG,CAAC0B,SAAJ,CAAe4C,IAAf,EAAqB;AAC3BsB,MAAAA,GAAG,EAAE,EADsB;AAE3B0B,MAAAA,IAAI,EAAE,EAFqB;AAG3Ba,MAAAA,IAAI,EAAE,EAHqB;AAI3B5D,MAAAA,EAAE,EAAE,EAJuB;AAK3BC,MAAAA,MAAM,EAAE,KALmB;AAM3BmN,MAAAA,OAAO,EAAE,KANkB;AAO3Bse,MAAAA,KAAK,EAAE,KAPoB;AAQ3BzH,MAAAA,OAAO,EAAE,KARkB;AAS3B/jB,MAAAA,eAAe,EAAE;AATU,KAArB,CAAP,CANkC,CAkBlC;;AACA,QAAK,CAAEH,IAAI,CAACG,eAAZ,EAA8B;AAC7BH,MAAAA,IAAI,GAAGtE,GAAG,CAACwB,YAAJ,CAAkB,kBAAlB,EAAsC8C,IAAtC,CAAP;AACA,KArBiC,CAuBlC;;;AACA,QAAKA,IAAI,CAACsB,GAAV,EAAgB;AACf7B,MAAAA,QAAQ,IAAI,gBAAgBO,IAAI,CAACsB,GAArB,GAA2B,IAAvC;AACA,KA1BiC,CA4BlC;;;AACA,QAAKtB,IAAI,CAAC6D,IAAV,EAAiB;AAChBpE,MAAAA,QAAQ,IAAI,iBAAiBO,IAAI,CAAC6D,IAAtB,GAA6B,IAAzC;AACA,KA/BiC,CAiClC;;;AACA,QAAK7D,IAAI,CAACgD,IAAV,EAAiB;AAChBvD,MAAAA,QAAQ,IAAI,iBAAiBO,IAAI,CAACgD,IAAtB,GAA6B,IAAzC;AACA,KApCiC,CAsClC;;;AACA,QAAKhD,IAAI,CAACC,EAAV,EAAe;AACdR,MAAAA,QAAQ,IAAIO,IAAI,CAACC,EAAjB;AACA,KAzCiC,CA2ClC;;;AACA,QAAKD,IAAI,CAACkkB,OAAV,EAAoB;AACnBzkB,MAAAA,QAAQ,IAAI,UAAZ;AACA,KA9CiC,CAgDlC;;;AACA,QAAKO,IAAI,CAACE,MAAV,EAAmB;AAClBI,MAAAA,OAAO,GAAGN,IAAI,CAACE,MAAL,CAAYoR,IAAZ,CAAkB7R,QAAlB,CAAV;AACA,KAFD,MAEO,IAAKO,IAAI,CAACqN,OAAV,EAAoB;AAC1B/M,MAAAA,OAAO,GAAGN,IAAI,CAACqN,OAAL,CAAaoE,QAAb,CAAuBhS,QAAvB,CAAV;AACA,KAFM,MAEA;AACNa,MAAAA,OAAO,GAAG9E,CAAC,CAAEiE,QAAF,CAAX;AACA,KAvDiC,CAyDlC;;;AACA,QAAK,CAAEO,IAAI,CAACG,eAAZ,EAA8B;AAC7BG,MAAAA,OAAO,GAAGA,OAAO,CAACkS,GAAR,CAAa,uBAAb,CAAV;AACAlS,MAAAA,OAAO,GAAG5E,GAAG,CAACwB,YAAJ,CAAkB,aAAlB,EAAiCoD,OAAjC,CAAV;AACA,KA7DiC,CA+DlC;;;AACA,QAAKN,IAAI,CAAC2rB,KAAV,EAAkB;AACjBrrB,MAAAA,OAAO,GAAGA,OAAO,CAACsrB,KAAR,CAAe,CAAf,EAAkB5rB,IAAI,CAAC2rB,KAAvB,CAAV;AACA,KAlEiC,CAoElC;;;AACA,WAAOrrB,OAAP;AACA,GAtED;AAwEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC5E,EAAAA,GAAG,CAACmwB,SAAJ,GAAgB,UAAWvqB,GAAX,EAAgBsP,OAAhB,EAA0B;AACzC,WAAOlV,GAAG,CAAC0E,UAAJ,CAAgB;AACtBkB,MAAAA,GAAG,EAAEA,GADiB;AAEtBqqB,MAAAA,KAAK,EAAE,CAFe;AAGtBzrB,MAAAA,MAAM,EAAE0Q,OAHc;AAItBzQ,MAAAA,eAAe,EAAE;AAJK,KAAhB,CAAP;AAMA,GAPD;AASA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECzE,EAAAA,GAAG,CAAC0I,QAAJ,GAAe,UAAWrD,MAAX,EAAoB;AAClC;AACA,QAAKA,MAAM,YAAY+G,MAAvB,EAAgC,CAC/B;AACA,KAFD,MAEO;AACN/G,MAAAA,MAAM,GAAGrF,GAAG,CAACmwB,SAAJ,CAAe9qB,MAAf,CAAT;AACA,KANiC,CAQlC;;;AACA,QAAI6C,KAAK,GAAG7C,MAAM,CAACC,IAAP,CAAa,KAAb,CAAZ;;AACA,QAAK,CAAE4C,KAAP,EAAe;AACdA,MAAAA,KAAK,GAAGlI,GAAG,CAAC8vB,QAAJ,CAAczqB,MAAd,CAAR;AACA,KAZiC,CAclC;;;AACA,WAAO6C,KAAP;AACA,GAhBD;AAkBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEClI,EAAAA,GAAG,CAAC0R,SAAJ,GAAgB,UAAW9M,OAAX,EAAqB;AACpC;AACA,QAAKA,OAAO,YAAYwH,MAAxB,EAAiC,CAChC;AACA,KAFD,MAEO;AACNxH,MAAAA,OAAO,GAAG5E,GAAG,CAAC0E,UAAJ,CAAgBE,OAAhB,CAAV;AACA,KANmC,CAQpC;;;AACA,QAAIlE,MAAM,GAAG,EAAb;AACAkE,IAAAA,OAAO,CAACyC,IAAR,CAAc,YAAY;AACzB,UAAIa,KAAK,GAAGlI,GAAG,CAAC0I,QAAJ,CAAc5I,CAAC,CAAE,IAAF,CAAf,CAAZ;AACAY,MAAAA,MAAM,CAACwO,IAAP,CAAahH,KAAb;AACA,KAHD,EAVoC,CAepC;;AACA,WAAOxH,MAAP;AACA,GAjBD;AAmBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECV,EAAAA,GAAG,CAACowB,gBAAJ,GAAuB,UAAWhsB,GAAX,EAAiB;AACvC,WAAOA,GAAG,CAACc,OAAJ,CAAa,YAAb,CAAP;AACA,GAFD;AAIA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEClF,EAAAA,GAAG,CAACqwB,eAAJ,GAAsB,UAAWjsB,GAAX,EAAiB;AACtC,QAAIiB,MAAM,GAAGrF,GAAG,CAACowB,gBAAJ,CAAsBhsB,GAAtB,CAAb;AACA,WAAO,KAAKsE,QAAL,CAAerD,MAAf,CAAP;AACA,GAHD;AAKA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC,MAAIirB,oBAAoB,GAAG,UAAW1pB,MAAX,EAAoB;AAC9C;AACA,QAAI2pB,YAAY,GAAG3pB,MAAnB;AACA,QAAI4pB,YAAY,GAAG5pB,MAAM,GAAG,SAA5B,CAH8C,CAGP;;AACvC,QAAI6pB,YAAY,GAAG7pB,MAAM,GAAG,QAA5B,CAJ8C,CAIR;AAEtC;;AACA,QAAI8pB,cAAc,GAAG,UAAWtsB;AAAI;AAAf,MAAuC;AAC3D;AAEA;AACA,UAAIE,IAAI,GAAGtE,GAAG,CAACuG,SAAJ,CAAezB,SAAf,CAAX;AACA,UAAI6rB,SAAS,GAAGrsB,IAAI,CAAC4rB,KAAL,CAAY,CAAZ,CAAhB,CAL2D,CAO3D;;AACA,UAAIxvB,MAAM,GAAGV,GAAG,CAAC0R,SAAJ,CAAe;AAAElN,QAAAA,MAAM,EAAEJ;AAAV,OAAf,CAAb,CAR2D,CAU3D;;AACA,UAAK1D,MAAM,CAACqE,MAAZ,EAAqB;AACpB;AACA,YAAI6rB,UAAU,GAAG,CAAEJ,YAAF,EAAgB9vB,MAAhB,EAAyBmwB,MAAzB,CAAiCF,SAAjC,CAAjB;AACA3wB,QAAAA,GAAG,CAACkB,QAAJ,CAAa2D,KAAb,CAAoB,IAApB,EAA0B+rB,UAA1B;AACA;AACD,KAhBD,CAP8C,CAyB9C;;;AACA,QAAIE,cAAc,GAAG,UAAWpwB;AAAO;AAAlB,MAA0C;AAC9D;AAEA;AACA,UAAI4D,IAAI,GAAGtE,GAAG,CAACuG,SAAJ,CAAezB,SAAf,CAAX;AACA,UAAI6rB,SAAS,GAAGrsB,IAAI,CAAC4rB,KAAL,CAAY,CAAZ,CAAhB,CAL8D,CAO9D;;AACAxvB,MAAAA,MAAM,CAAC8F,GAAP,CAAY,UAAW0B,KAAX,EAAkBjC,CAAlB,EAAsB;AACjC;AACA;AACA,YAAI8qB,UAAU,GAAG,CAAEN,YAAF,EAAgBvoB,KAAhB,EAAwB2oB,MAAxB,CAAgCF,SAAhC,CAAjB;AACA3wB,QAAAA,GAAG,CAACkB,QAAJ,CAAa2D,KAAb,CAAoB,IAApB,EAA0BksB,UAA1B,EAJiC,CAKjC;AACA,OAND;AAOA,KAfD,CA1B8C,CA2C9C;;;AACA/wB,IAAAA,GAAG,CAACc,SAAJ,CAAeyvB,YAAf,EAA6BG,cAA7B;AACA1wB,IAAAA,GAAG,CAACc,SAAJ,CAAe0vB,YAAf,EAA6BM,cAA7B,EA7C8C,CA+C9C;;AACAE,IAAAA,oBAAoB,CAAEpqB,MAAF,CAApB;AACA,GAjDD;AAmDA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC,MAAIoqB,oBAAoB,GAAG,UAAWpqB,MAAX,EAAoB;AAC9C;AACA,QAAI6pB,YAAY,GAAG7pB,MAAM,GAAG,QAA5B,CAF8C,CAER;;AACtC,QAAIqqB,WAAW,GAAGrqB,MAAM,GAAG,OAA3B,CAH8C,CAGV;AAEpC;;AACA,QAAIsqB,cAAc,GAAG,UAAWhpB;AAAM;AAAjB,MAAyC;AAC7D;AAEA;AACA,UAAI5D,IAAI,GAAGtE,GAAG,CAACuG,SAAJ,CAAezB,SAAf,CAAX;AACA,UAAI6rB,SAAS,GAAGrsB,IAAI,CAAC4rB,KAAL,CAAY,CAAZ,CAAhB,CAL6D,CAO7D;;AACA,UAAIiB,UAAU,GAAG,CAAE,MAAF,EAAU,MAAV,EAAkB,KAAlB,CAAjB;AACAA,MAAAA,UAAU,CAAC3qB,GAAX,CAAgB,UAAW4qB,SAAX,EAAuB;AACtC;AACA,YAAIC,MAAM,GAAG,MAAMD,SAAN,GAAkB,GAAlB,GAAwBlpB,KAAK,CAACD,GAAN,CAAWmpB,SAAX,CAArC,CAFsC,CAItC;;AACA9sB,QAAAA,IAAI,GAAG,CAAEmsB,YAAY,GAAGY,MAAjB,EAAyBnpB,KAAzB,EAAiC2oB,MAAjC,CAAyCF,SAAzC,CAAP;AACA3wB,QAAAA,GAAG,CAACkB,QAAJ,CAAa2D,KAAb,CAAoB,IAApB,EAA0BP,IAA1B;AACA,OAPD,EAT6D,CAkB7D;;AACA,UAAKgtB,iBAAiB,CAAC5pB,OAAlB,CAA2Bd,MAA3B,IAAsC,CAAC,CAA5C,EAAgD;AAC/CsB,QAAAA,KAAK,CAACwO,OAAN,CAAeua,WAAf,EAA4BN,SAA5B;AACA;AACD,KAtBD,CAN8C,CA8B9C;;;AACA3wB,IAAAA,GAAG,CAACc,SAAJ,CAAe2vB,YAAf,EAA6BS,cAA7B;AACA,GAhCD,CA/R2B,CAiU3B;;;AACA,MAAIK,kBAAkB,GAAG,CACxB,SADwB,EAExB,OAFwB,EAGxB,MAHwB,EAIxB,QAJwB,EAKxB,QALwB,EAMxB,SANwB,EAOxB,SAPwB,EAQxB,WARwB,EASxB,UATwB,EAUxB,MAVwB,EAWxB,MAXwB,EAYxB,QAZwB,CAAzB;AAcA,MAAIC,kBAAkB,GAAG,CACxB,OADwB,EAExB,SAFwB,EAGxB,QAHwB,EAIxB,SAJwB,EAKxB,KALwB,EAMxB,WANwB,CAAzB;AAQA,MAAIF,iBAAiB,GAAG,CACvB,QADuB,EAEvB,SAFuB,EAGvB,SAHuB,EAIvB,WAJuB,EAKvB,UALuB,EAMvB,MANuB,EAOvB,MAPuB,EAQvB,QARuB,EASvB,OATuB,EAUvB,SAVuB,EAWvB,QAXuB,EAYvB,SAZuB,EAavB,WAbuB,CAAxB,CAxV2B,CAwW3B;;AACAC,EAAAA,kBAAkB,CAAC/qB,GAAnB,CAAwB8pB,oBAAxB;AACAkB,EAAAA,kBAAkB,CAAChrB,GAAnB,CAAwBwqB,oBAAxB;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIS,kBAAkB,GAAG,IAAIzxB,GAAG,CAACoK,KAAR,CAAe;AACvCS,IAAAA,EAAE,EAAE,oBADmC;AAEvC1D,IAAAA,MAAM,EAAE;AACP,sCAAgC,SADzB;AAEP,2BAAqB;AAFd,KAF+B;AAMvC+O,IAAAA,OAAO,EAAE,UAAWpO,CAAX,EAAe;AACvB;AACAA,MAAAA,CAAC,CAACqO,cAAF;AACA,KATsC;AAUvCa,IAAAA,QAAQ,EAAE,YAAY;AACrB;AACAlX,MAAAA,CAAC,CAAE,eAAF,CAAD,CAAqBwM,GAArB,CAA0B,CAA1B;AACA;AAbsC,GAAf,CAAzB;AAgBA,MAAIolB,sBAAsB,GAAG,IAAI1xB,GAAG,CAACoK,KAAR,CAAe;AAC3CS,IAAAA,EAAE,EAAE,wBADuC;AAE3C7D,IAAAA,OAAO,EAAE;AACR2qB,MAAAA,SAAS,EAAE,aADH;AAERC,MAAAA,gBAAgB,EAAE;AAFV,KAFkC;AAM3C3Z,IAAAA,WAAW,EAAE,UAAW7T,GAAX,EAAgBytB,IAAhB,EAAuB;AACnC,UAAInxB,MAAM,GAAGV,GAAG,CAAC0R,SAAJ,CAAe;AAAElN,QAAAA,MAAM,EAAEJ;AAAV,OAAf,CAAb;;AACA,UAAK1D,MAAM,CAACqE,MAAZ,EAAqB;AACpB,YAAIH,OAAO,GAAG5E,GAAG,CAAC0E,UAAJ,CAAgB;AAAEF,UAAAA,MAAM,EAAEqtB;AAAV,SAAhB,CAAd;AACA7xB,QAAAA,GAAG,CAACkB,QAAJ,CAAc,kBAAd,EAAkCR,MAAlC,EAA0CkE,OAA1C;AACA;AACD,KAZ0C;AAa3CktB,IAAAA,iBAAiB,EAAE,UAAWpxB,MAAX,EAAmBqxB,UAAnB,EAAgC;AAClDrxB,MAAAA,MAAM,CAAC8F,GAAP,CAAY,UAAW0B,KAAX,EAAkBjC,CAAlB,EAAsB;AACjCjG,QAAAA,GAAG,CAACkB,QAAJ,CAAc,iBAAd,EAAiCgH,KAAjC,EAAwCpI,CAAC,CAAEiyB,UAAU,CAAE9rB,CAAF,CAAZ,CAAzC;AACA,OAFD;AAGA;AAjB0C,GAAf,CAA7B;AAmBA,CA3ZD,EA2ZKmG,MA3ZL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEC,MAAIiyB,aAAa,GAAG,IAAIhyB,GAAG,CAACoK,KAAR,CAAe;AAClCtD,IAAAA,QAAQ,EAAE,EADwB;AAElCE,IAAAA,OAAO,EAAE;AACRqK,MAAAA,SAAS,EAAE,SADH;AAER4gB,MAAAA,UAAU,EAAE,SAFJ;AAGRC,MAAAA,UAAU,EAAE,SAHJ;AAIRC,MAAAA,YAAY,EAAE,SAJN;AAKRC,MAAAA,aAAa,EAAE,SALP;AAMRC,MAAAA,aAAa,EAAE;AANP,KAFyB;AAUlC5J,IAAAA,OAAO,EAAE,YAAY;AACpBzoB,MAAAA,GAAG,CAACyoB,OAAJ;AACA;AAZiC,GAAf,CAApB;AAeA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACC,MAAI6J,WAAW,GAAG,IAAItyB,GAAG,CAACoK,KAAR,CAAe;AAChCtD,IAAAA,QAAQ,EAAE,CADsB;AAEhCE,IAAAA,OAAO,EAAE;AACRurB,MAAAA,SAAS,EAAE,aADH;AAERC,MAAAA,QAAQ,EAAE;AAFF,KAFuB;AAMhCC,IAAAA,WAAW,EAAE,UAAWC,KAAX,EAAmB;AAC/B1yB,MAAAA,GAAG,CAACkB,QAAJ,CAAc,SAAd,EAAyBwxB,KAAzB;AACA,KAR+B;AAShCC,IAAAA,UAAU,EAAE,UAAWD,KAAX,EAAmB;AAC9B1yB,MAAAA,GAAG,CAACkB,QAAJ,CAAc,SAAd,EAAyBwxB,KAAzB;AACA;AAX+B,GAAf,CAAlB;AAcA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIE,cAAc,GAAG,IAAI5yB,GAAG,CAACoK,KAAR,CAAe;AACnCpD,IAAAA,OAAO,EAAE;AACRurB,MAAAA,SAAS,EAAE;AADH,KAD0B;AAInCE,IAAAA,WAAW,EAAE,UAAWC,KAAX,EAAkBG,YAAlB,EAAiC;AAC7C;AACA,UAAKH,KAAK,CAACnuB,EAAN,CAAU,IAAV,CAAL,EAAwB;AACvB;AACA;AACAsuB,QAAAA,YAAY,CAACpe,IAAb,CACC,qCACCoe,YAAY,CAAC5e,QAAb,GAAwBlP,MADzB,GAEC,SAHF,EAHuB,CASvB;;AACA2tB,QAAAA,KAAK,CAAChe,QAAN,CAAgB,wBAAhB,EAVuB,CAYvB;;AACAge,QAAAA,KAAK,CAACze,QAAN,GAAiB5M,IAAjB,CAAuB,YAAY;AAClCvH,UAAAA,CAAC,CAAE,IAAF,CAAD,CAAU8hB,KAAV,CAAiB9hB,CAAC,CAAE,IAAF,CAAD,CAAU8hB,KAAV,EAAjB;AACA,SAFD,EAbuB,CAiBvB;;AACAiR,QAAAA,YAAY,CAAChR,MAAb,CAAqB6Q,KAAK,CAAC7Q,MAAN,KAAiB,IAAtC,EAlBuB,CAoBvB;;AACA6Q,QAAAA,KAAK,CAACzc,WAAN,CAAmB,wBAAnB;AACA;AACD;AA7BkC,GAAf,CAArB;AAgCA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAI6c,eAAe,GAAG,IAAI9yB,GAAG,CAACoK,KAAR,CAAe;AACpCpD,IAAAA,OAAO,EAAE;AACR+rB,MAAAA,eAAe,EAAE;AADT,KAD2B;AAIpCC,IAAAA,gBAAgB,EAAE,UAAW5uB,GAAX,EAAgBytB,IAAhB,EAAuB;AACxC;AACA,UAAIoB,IAAI,GAAG,EAAX;AACA7uB,MAAAA,GAAG,CAACwR,IAAJ,CAAU,QAAV,EAAqBvO,IAArB,CAA2B,UAAWpB,CAAX,EAAe;AACzCgtB,QAAAA,IAAI,CAAC/jB,IAAL,CAAWpP,CAAC,CAAE,IAAF,CAAD,CAAUwM,GAAV,EAAX;AACA,OAFD,EAHwC,CAOxC;;AACAulB,MAAAA,IAAI,CAACjc,IAAL,CAAW,QAAX,EAAsBvO,IAAtB,CAA4B,UAAWpB,CAAX,EAAe;AAC1CnG,QAAAA,CAAC,CAAE,IAAF,CAAD,CAAUwM,GAAV,CAAe2mB,IAAI,CAAEhtB,CAAF,CAAnB;AACA,OAFD;AAGA;AAfmC,GAAf,CAAtB;AAkBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIitB,WAAW,GAAG,IAAIlzB,GAAG,CAACoK,KAAR,CAAe;AAChCS,IAAAA,EAAE,EAAE,aAD4B;AAGhC/D,IAAAA,QAAQ,EAAE,EAHsB;AAKhCE,IAAAA,OAAO,EAAE;AACRyhB,MAAAA,OAAO,EAAE;AADD,KALuB;AAShC0K,IAAAA,YAAY,EAAE,UAAW/uB,GAAX,EAAiB;AAC9B;AACA,UAAIgvB,IAAI,GAAG,IAAX;AACAtzB,MAAAA,CAAC,CAAE,oBAAF,CAAD,CAA0BuH,IAA1B,CAAgC,YAAY;AAC3C+rB,QAAAA,IAAI,CAACC,WAAL,CAAkBvzB,CAAC,CAAE,IAAF,CAAnB;AACA,OAFD;AAGA,KAf+B;AAiBhCuzB,IAAAA,WAAW,EAAE,UAAWlf,MAAX,EAAoB;AAChC;AACA,UAAImf,IAAI,GAAGnf,MAAM,CAACyB,IAAP,CAAa,qCAAb,CAAX;AACA,UAAI2d,IAAI,GAAGpf,MAAM,CAACyB,IAAP,CAAa,qCAAb,CAAX,CAHgC,CAKhC;;AACA,UAAK,CAAE0d,IAAI,CAACvuB,MAAP,IAAiB,CAAEwuB,IAAI,CAACxuB,MAA7B,EAAsC;AACrC,eAAO,KAAP;AACA,OAR+B,CAUhC;;;AACAuuB,MAAAA,IAAI,CAACjsB,IAAL,CAAW,UAAWpB,CAAX,EAAe;AACzB;AACA,YAAIutB,GAAG,GAAG1zB,CAAC,CAAE,IAAF,CAAX;AACA,YAAI8F,GAAG,GAAG4tB,GAAG,CAACluB,IAAJ,CAAU,KAAV,CAAV;AACA,YAAImuB,MAAM,GAAGF,IAAI,CAAC1gB,MAAL,CAAa,gBAAgBjN,GAAhB,GAAsB,IAAnC,CAAb;AACA,YAAI8tB,OAAO,GAAGD,MAAM,CAAC5gB,MAAP,CAAe,aAAf,CAAd,CALyB,CAOzB;;AACA4gB,QAAAA,MAAM,CAACxd,WAAP,CAAoB,WAApB,EARyB,CAUzB;;AACA,YAAKwd,MAAM,CAAC1uB,MAAP,KAAkB2uB,OAAO,CAAC3uB,MAA/B,EAAwC;AACvC/E,UAAAA,GAAG,CAACqS,IAAJ,CAAUmhB,GAAV,EADuC,CAGvC;AACA,SAJD,MAIO;AACNxzB,UAAAA,GAAG,CAACoS,IAAJ,CAAUohB,GAAV;AACAE,UAAAA,OAAO,CAAChf,QAAR,CAAkB,WAAlB;AACA;AACD,OAnBD,EAXgC,CAgChC;;AACA4e,MAAAA,IAAI,CAACze,GAAL,CAAU,OAAV,EAAmB,MAAnB,EAjCgC,CAmChC;;AACAye,MAAAA,IAAI,GAAGA,IAAI,CAACxc,GAAL,CAAU,aAAV,CAAP,CApCgC,CAsChC;;AACA,UAAI6c,cAAc,GAAG,GAArB;AACA,UAAIC,OAAO,GAAGN,IAAI,CAACvuB,MAAnB,CAxCgC,CA0ChC;;AACA,UAAI8uB,YAAY,GAAGP,IAAI,CAACzgB,MAAL,CAAa,cAAb,CAAnB;AACAghB,MAAAA,YAAY,CAACxsB,IAAb,CAAmB,YAAY;AAC9B,YAAIua,KAAK,GAAG9hB,CAAC,CAAE,IAAF,CAAD,CAAUwF,IAAV,CAAgB,OAAhB,CAAZ;AACAxF,QAAAA,CAAC,CAAE,IAAF,CAAD,CAAU+U,GAAV,CAAe,OAAf,EAAwB+M,KAAK,GAAG,GAAhC;AACA+R,QAAAA,cAAc,IAAI/R,KAAlB;AACA,OAJD,EA5CgC,CAkDhC;;AACA,UAAIkS,UAAU,GAAGR,IAAI,CAACxc,GAAL,CAAU,cAAV,CAAjB;;AACA,UAAKgd,UAAU,CAAC/uB,MAAhB,EAAyB;AACxB,YAAI6c,KAAK,GAAG+R,cAAc,GAAGG,UAAU,CAAC/uB,MAAxC;AACA+uB,QAAAA,UAAU,CAACjf,GAAX,CAAgB,OAAhB,EAAyB+M,KAAK,GAAG,GAAjC;AACA+R,QAAAA,cAAc,GAAG,CAAjB;AACA,OAxD+B,CA0DhC;;;AACA,UAAKA,cAAc,GAAG,CAAtB,EAA0B;AACzBL,QAAAA,IAAI,CAACS,IAAL,GAAYlf,GAAZ,CAAiB,OAAjB,EAA0B,MAA1B;AACA,OA7D+B,CA+DhC;;;AACA0e,MAAAA,IAAI,CAAC1gB,MAAL,CAAa,oBAAb,EAAoCxL,IAApC,CAA0C,YAAY;AACrD;AACA,YAAI2sB,GAAG,GAAGl0B,CAAC,CAAE,IAAF,CAAX,CAFqD,CAIrD;;AACA,YAAKk0B,GAAG,CAACxvB,MAAJ,GAAamP,QAAb,CAAuB,YAAvB,CAAL,EAA6C;AAC5CqgB,UAAAA,GAAG,CAACzf,IAAJ,CAAU,SAAV,EAAqB+e,IAAI,CAACvuB,MAA1B;AACA,SAFD,MAEO;AACNivB,UAAAA,GAAG,CAAC5e,UAAJ,CAAgB,SAAhB;AACA;AACD,OAVD;AAWA;AA5F+B,GAAf,CAAlB;AA+FA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAI6e,YAAY,GAAG,IAAIj0B,GAAG,CAACoK,KAAR,CAAe;AACjCS,IAAAA,EAAE,EAAE,cAD6B;AAGjC/D,IAAAA,QAAQ,EAAE,EAHuB;AAKjCE,IAAAA,OAAO,EAAE;AACRyhB,MAAAA,OAAO,EAAE;AADD,KALwB;AASjCyL,IAAAA,YAAY,EAAE,YAAY;AACzB;AACA,UAAId,IAAI,GAAG,IAAX;AACAtzB,MAAAA,CAAC,CAAE,qBAAF,CAAD,CAA2BuH,IAA3B,CAAiC,YAAY;AAC5C+rB,QAAAA,IAAI,CAACe,WAAL,CAAkBr0B,CAAC,CAAE,IAAF,CAAnB;AACA,OAFD;AAGA,KAfgC;AAiBjCq0B,IAAAA,WAAW,EAAE,UAAW/vB,GAAX,EAAiB;AAC7B;AACA,UAAIgmB,GAAG,GAAG,CAAV;AACA,UAAIvI,MAAM,GAAG,CAAb;AACA,UAAIuS,IAAI,GAAGt0B,CAAC,EAAZ,CAJ6B,CAM7B;;AACA,UAAI8E,OAAO,GAAGR,GAAG,CAAC6P,QAAJ,CAAc,gCAAd,CAAd,CAP6B,CAS7B;;AACA,UAAK,CAAErP,OAAO,CAACG,MAAf,EAAwB;AACvB,eAAO,KAAP;AACA,OAZ4B,CAc7B;;;AACA,UAAKX,GAAG,CAACuP,QAAJ,CAAc,OAAd,CAAL,EAA+B;AAC9B/O,QAAAA,OAAO,CAACwQ,UAAR,CAAoB,YAApB;AACAxQ,QAAAA,OAAO,CAACiQ,GAAR,CAAa,OAAb,EAAsB,MAAtB;AACA,eAAO,KAAP;AACA,OAnB4B,CAqB7B;;;AACAjQ,MAAAA,OAAO,CAACqR,WAAR,CAAqB,SAArB,EAAiCpB,GAAjC,CAAsC;AAAE,sBAAc;AAAhB,OAAtC,EAtB6B,CAwB7B;;AACAjQ,MAAAA,OAAO,CAACyC,IAAR,CAAc,UAAWpB,CAAX,EAAe;AAC5B;AACA,YAAIZ,MAAM,GAAGvF,CAAC,CAAE,IAAF,CAAd;AACA,YAAI4c,QAAQ,GAAGrX,MAAM,CAACqX,QAAP,EAAf;AACA,YAAI2X,OAAO,GAAG5O,IAAI,CAACC,IAAL,CAAWhJ,QAAQ,CAAC0N,GAApB,CAAd;AACA,YAAIkK,QAAQ,GAAG7O,IAAI,CAACC,IAAL,CAAWhJ,QAAQ,CAAC6X,IAApB,CAAf,CAL4B,CAO5B;;AACA,YAAKH,IAAI,CAACrvB,MAAL,IAAesvB,OAAO,GAAGjK,GAA9B,EAAoC;AACnC;AACAgK,UAAAA,IAAI,CAACvf,GAAL,CAAU;AAAE,0BAAcgN,MAAM,GAAG;AAAzB,WAAV,EAFmC,CAInC;;AACAnF,UAAAA,QAAQ,GAAGrX,MAAM,CAACqX,QAAP,EAAX;AACA2X,UAAAA,OAAO,GAAG5O,IAAI,CAACC,IAAL,CAAWhJ,QAAQ,CAAC0N,GAApB,CAAV;AACAkK,UAAAA,QAAQ,GAAG7O,IAAI,CAACC,IAAL,CAAWhJ,QAAQ,CAAC6X,IAApB,CAAX,CAPmC,CASnC;;AACAnK,UAAAA,GAAG,GAAG,CAAN;AACAvI,UAAAA,MAAM,GAAG,CAAT;AACAuS,UAAAA,IAAI,GAAGt0B,CAAC,EAAR;AACA,SArB2B,CAuB5B;;;AACA,YAAKE,GAAG,CAACiI,GAAJ,CAAS,KAAT,CAAL,EAAwB;AACvBqsB,UAAAA,QAAQ,GAAG7O,IAAI,CAACC,IAAL,CACVrgB,MAAM,CAACb,MAAP,GAAgBod,KAAhB,MACGlF,QAAQ,CAAC6X,IAAT,GAAgBlvB,MAAM,CAACmvB,UAAP,EADnB,CADU,CAAX;AAIA,SA7B2B,CA+B5B;;;AACA,YAAKH,OAAO,IAAI,CAAhB,EAAoB;AACnBhvB,UAAAA,MAAM,CAACqP,QAAP,CAAiB,KAAjB;AACA,SAFD,MAEO,IAAK4f,QAAQ,IAAI,CAAjB,EAAqB;AAC3BjvB,UAAAA,MAAM,CAACqP,QAAP,CAAiB,KAAjB;AACA,SApC2B,CAsC5B;AACA;;;AACA,YAAI+f,UAAU,GAAGhP,IAAI,CAACC,IAAL,CAAWrgB,MAAM,CAACglB,WAAP,EAAX,IAAoC,CAArD,CAxC4B,CA0C5B;;AACAxI,QAAAA,MAAM,GAAG4D,IAAI,CAACQ,GAAL,CAAUpE,MAAV,EAAkB4S,UAAlB,CAAT,CA3C4B,CA6C5B;;AACArK,QAAAA,GAAG,GAAG3E,IAAI,CAACQ,GAAL,CAAUmE,GAAV,EAAeiK,OAAf,CAAN,CA9C4B,CAgD5B;;AACAD,QAAAA,IAAI,GAAGA,IAAI,CAACM,GAAL,CAAUrvB,MAAV,CAAP;AACA,OAlDD,EAzB6B,CA6E7B;;AACA,UAAK+uB,IAAI,CAACrvB,MAAV,EAAmB;AAClBqvB,QAAAA,IAAI,CAACvf,GAAL,CAAU;AAAE,wBAAcgN,MAAM,GAAG;AAAzB,SAAV;AACA;AACD;AAlGgC,GAAf,CAAnB;AAqGA;AACD;AACA;AACA;AACA;AACA;;AACC,MAAI8S,oBAAoB,GAAG,IAAI30B,GAAG,CAACoK,KAAR,CAAe;AACzCS,IAAAA,EAAE,EAAE,sBADqC;AAEzC1D,IAAAA,MAAM,EAAE;AACPytB,MAAAA,OAAO,EAAE,WADF;AAEP/kB,MAAAA,KAAK,EAAE;AAFA,KAFiC;AAMzCglB,IAAAA,UAAU,EAAE,UAAW/sB,CAAX,EAAe;AAC1B,aAAOA,CAAC,CAAComB,OAAF,KAAc,EAArB;AACA,KARwC;AASzC4G,IAAAA,SAAS,EAAE,UAAWhtB,CAAX,EAAe;AACzB,UAAK,KAAK+sB,UAAL,CAAiB/sB,CAAjB,CAAL,EAA4B;AAC3BhI,QAAAA,CAAC,CAAE,MAAF,CAAD,CAAY4U,QAAZ,CAAsB,mBAAtB;AACA;AACD,KAbwC;AAczCqgB,IAAAA,OAAO,EAAE,UAAWjtB,CAAX,EAAe;AACvB,UAAK,KAAK+sB,UAAL,CAAiB/sB,CAAjB,CAAL,EAA4B;AAC3BhI,QAAAA,CAAC,CAAE,MAAF,CAAD,CAAYmW,WAAZ,CAAyB,mBAAzB;AACA;AACD;AAlBwC,GAAf,CAA3B;AAoBA,CArXD,EAqXK7J,MArXL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAECC,EAAAA,GAAG,CAAC+K,aAAJ,GAAoB,UAAWzG,IAAX,EAAkB;AACrC;AACA,QAAImG,KAAK,GAAG,IAAZ;AACA,QAAInG,IAAI,GAAGtE,GAAG,CAAC0B,SAAJ,CAAe4C,IAAf,EAAqB;AAC/BwW,MAAAA,IAAI,EAAE,QADyB;AACf;AAChBP,MAAAA,KAAK,EAAE,EAFwB;AAEpB;AACXY,MAAAA,MAAM,EAAE,EAHuB;AAGnB;AACZhT,MAAAA,IAAI,EAAE,EAJyB;AAIrB;AACVD,MAAAA,KAAK,EAAE,KALwB;AAKjB;AACd0C,MAAAA,YAAY,EAAE,EANiB;AAMb;AAClBmQ,MAAAA,OAAO,EAAE,KAPsB;AAOf;AAChBF,MAAAA,QAAQ,EAAE,KARqB;AAQd;AACjB/P,MAAAA,UAAU,EAAE,CATmB;AAShB;AACfkqB,MAAAA,QAAQ,EAAE,IAVqB;AAUf;AAChB/f,MAAAA,IAAI,EAAE,YAAY,CAAE,CAXW;AAWT;AACtB+F,MAAAA,MAAM,EAAE,YAAY,CAAE,CAZS;AAYP;AACxBvF,MAAAA,KAAK,EAAE,YAAY,CAAE,CAbU,CAaR;;AAbQ,KAArB,CAAX,CAHqC,CAmBrC;;AACA,QAAKnR,IAAI,CAACwW,IAAL,IAAa,MAAlB,EAA2B;AAC1BrQ,MAAAA,KAAK,GAAG,IAAIzK,GAAG,CAAC4Q,MAAJ,CAAWqkB,cAAf,CAA+B3wB,IAA/B,CAAR;AACA,KAFD,MAEO;AACNmG,MAAAA,KAAK,GAAG,IAAIzK,GAAG,CAAC4Q,MAAJ,CAAWskB,gBAAf,CAAiC5wB,IAAjC,CAAR;AACA,KAxBoC,CA0BrC;;;AACA,QAAKA,IAAI,CAAC0wB,QAAV,EAAqB;AACpB1e,MAAAA,UAAU,CAAE,YAAY;AACvB7L,QAAAA,KAAK,CAACwK,IAAN;AACA,OAFS,EAEP,CAFO,CAAV;AAGA,KA/BoC,CAiCrC;;;AACAjV,IAAAA,GAAG,CAACkB,QAAJ,CAAc,iBAAd,EAAiCuJ,KAAjC,EAlCqC,CAoCrC;;AACA,WAAOA,KAAP;AACA,GAtCD;AAwCA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC,MAAI0qB,SAAS,GAAG,YAAY;AAC3B,QAAIC,MAAM,GAAGp1B,GAAG,CAACiI,GAAJ,CAAS,SAAT,CAAb;AACA,WAAOjI,GAAG,CAACsO,SAAJ,CAAe8mB,MAAf,IAA0BA,MAA1B,GAAmC,CAA1C;AACA,GAHD;AAKA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECp1B,EAAAA,GAAG,CAACq1B,YAAJ,GAAmB,YAAY;AAC9B,WAAO,KAAKptB,GAAL,CAAU,WAAV,CAAP;AACA,GAFD;;AAIAjI,EAAAA,GAAG,CAACs1B,WAAJ,GAAkB,UAAWhuB,IAAX,EAAkB;AACnC;AACA,QAAIiuB,QAAQ,GAAGv1B,GAAG,CAACq1B,YAAJ,EAAf,CAFmC,CAInC;;AACA,QAAKE,QAAQ,CAAEjuB,IAAF,CAAR,KAAqBvH,SAA1B,EAAsC;AACrC,aAAOw1B,QAAQ,CAAEjuB,IAAF,CAAf;AACA,KAPkC,CASnC;;;AACA,SAAM,IAAI1B,GAAV,IAAiB2vB,QAAjB,EAA4B;AAC3B,UAAK3vB,GAAG,CAAC8B,OAAJ,CAAaJ,IAAb,MAAwB,CAAC,CAA9B,EAAkC;AACjC,eAAOiuB,QAAQ,CAAE3vB,GAAF,CAAf;AACA;AACD,KAdkC,CAgBnC;;;AACA,WAAO,KAAP;AACA,GAlBD;AAoBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC,MAAI4vB,UAAU,GAAGx1B,GAAG,CAACoK,KAAJ,CAAUhD,MAAV,CAAkB;AAClCyD,IAAAA,EAAE,EAAE,YAD8B;AAElCvF,IAAAA,IAAI,EAAE,EAF4B;AAGlCG,IAAAA,QAAQ,EAAE,EAHwB;AAIlC8E,IAAAA,KAAK,EAAE,KAJ2B;AAMlCyF,IAAAA,KAAK,EAAE,UAAWtF,KAAX,EAAmB;AACzB5K,MAAAA,CAAC,CAACsH,MAAF,CAAU,KAAK9B,IAAf,EAAqBoF,KAArB;AACA,KARiC;AAUlCgJ,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAI+hB,OAAO,GAAG,KAAKC,eAAL,EAAd,CAFuB,CAIvB;;AACA,WAAKC,cAAL,CAAqBF,OAArB,EALuB,CAOvB;;AACA,UAAIlrB,KAAK,GAAGqrB,EAAE,CAACzrB,KAAH,CAAUsrB,OAAV,CAAZ,CARuB,CAUvB;;AACAlrB,MAAAA,KAAK,CAACvK,GAAN,GAAY,IAAZ,CAXuB,CAavB;;AACA,WAAK61B,cAAL,CAAqBtrB,KAArB,EAA4BkrB,OAA5B,EAduB,CAgBvB;;AACA,WAAKlrB,KAAL,GAAaA,KAAb;AACA,KA5BiC;AA8BlC0K,IAAAA,IAAI,EAAE,YAAY;AACjB,WAAK1K,KAAL,CAAW0K,IAAX;AACA,KAhCiC;AAkClCQ,IAAAA,KAAK,EAAE,YAAY;AAClB,WAAKlL,KAAL,CAAWkL,KAAX;AACA,KApCiC;AAsClCjT,IAAAA,MAAM,EAAE,YAAY;AACnB,WAAK+H,KAAL,CAAWurB,MAAX;AACA,WAAKvrB,KAAL,CAAW/H,MAAX;AACA,KAzCiC;AA2ClCkzB,IAAAA,eAAe,EAAE,YAAY;AAC5B;AACA,UAAID,OAAO,GAAG;AACblb,QAAAA,KAAK,EAAE,KAAKtS,GAAL,CAAU,OAAV,CADM;AAEb4S,QAAAA,QAAQ,EAAE,KAAK5S,GAAL,CAAU,UAAV,CAFG;AAGb8S,QAAAA,OAAO,EAAE,EAHI;AAIbgb,QAAAA,MAAM,EAAE;AAJK,OAAd,CAF4B,CAS5B;;AACA,UAAK,KAAK9tB,GAAL,CAAU,MAAV,CAAL,EAA0B;AACzBwtB,QAAAA,OAAO,CAAC1a,OAAR,CAAgB5S,IAAhB,GAAuB,KAAKF,GAAL,CAAU,MAAV,CAAvB;AACA,OAZ2B,CAc5B;;;AACA,UAAK,KAAKA,GAAL,CAAU,SAAV,MAA0B,YAA/B,EAA8C;AAC7CwtB,QAAAA,OAAO,CAAC1a,OAAR,CAAgBib,UAAhB,GAA6Bb,SAAS,EAAtC;AACA,OAjB2B,CAmB5B;;;AACA,UAAK,KAAKltB,GAAL,CAAU,YAAV,CAAL,EAAgC;AAC/BwtB,QAAAA,OAAO,CAAC1a,OAAR,CAAgBkb,QAAhB,GAA2B,CAAE,KAAKhuB,GAAL,CAAU,YAAV,CAAF,CAA3B;AACA,OAtB2B,CAwB5B;;;AACA,UAAK,KAAKA,GAAL,CAAU,QAAV,CAAL,EAA4B;AAC3BwtB,QAAAA,OAAO,CAACta,MAAR,GAAiB;AAChBpS,UAAAA,IAAI,EAAE,KAAKd,GAAL,CAAU,QAAV;AADU,SAAjB;AAGA,OA7B2B,CA+B5B;;;AACA,aAAOwtB,OAAP;AACA,KA5EiC;AA8ElCE,IAAAA,cAAc,EAAE,UAAWF,OAAX,EAAqB;AACpC;AACA,UAAIS,KAAK,GAAGN,EAAE,CAACzrB,KAAH,CAASgsB,KAAT,CAAgBV,OAAO,CAAC1a,OAAxB,CAAZ,CAFoC,CAIpC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,UACC,KAAK9S,GAAL,CAAU,OAAV,KACAjI,GAAG,CAAC6d,KAAJ,CAAWqY,KAAX,EAAkB,WAAlB,EAA+B,MAA/B,CAFD,EAGE;AACDA,QAAAA,KAAK,CAACE,SAAN,CAAgB9xB,IAAhB,CAAqB+xB,YAArB,GAAoC,KAAKpuB,GAAL,CAAU,OAAV,CAApC;AACA,OAhBmC,CAkBpC;;;AACAwtB,MAAAA,OAAO,CAACM,MAAR,CAAe7mB,IAAf,EACC;AACA,UAAI0mB,EAAE,CAACzrB,KAAH,CAASmsB,UAAT,CAAoBC,OAAxB,CAAiC;AAChCxb,QAAAA,OAAO,EAAEmb,KADuB;AAEhCrb,QAAAA,QAAQ,EAAE,KAAK5S,GAAL,CAAU,UAAV,CAFsB;AAGhCsS,QAAAA,KAAK,EAAE,KAAKtS,GAAL,CAAU,OAAV,CAHyB;AAIhCnB,QAAAA,QAAQ,EAAE,EAJsB;AAKhC0vB,QAAAA,UAAU,EAAE,KALoB;AAMhCC,QAAAA,QAAQ,EAAE,IANsB;AAOhCC,QAAAA,eAAe,EAAE;AAPe,OAAjC,CAFD,EAnBoC,CAgCpC;;AACA,UAAK12B,GAAG,CAAC6d,KAAJ,CAAW+X,EAAX,EAAe,OAAf,EAAwB,YAAxB,EAAsC,WAAtC,CAAL,EAA2D;AAC1DH,QAAAA,OAAO,CAACM,MAAR,CAAe7mB,IAAf,CAAqB,IAAI0mB,EAAE,CAACzrB,KAAH,CAASmsB,UAAT,CAAoBK,SAAxB,EAArB;AACA;AACD,KAlHiC;AAoHlCd,IAAAA,cAAc,EAAE,UAAWtrB,KAAX,EAAkBkrB,OAAlB,EAA4B;AAC3C;AACA;AACA;AACA;AAEA;AACAlrB,MAAAA,KAAK,CAACvC,EAAN,CACC,MADD,EAEC,YAAY;AACX,aAAK5D,GAAL,CACEc,OADF,CACW,cADX,EAEEwP,QAFF,CAGE,sBAAsB,KAAK1U,GAAL,CAASiI,GAAT,CAAc,MAAd,CAHxB;AAKA,OARF,EASCsC,KATD,EAP2C,CAmB3C;AACA;;AACAA,MAAAA,KAAK,CAACvC,EAAN,CACC,2BADD,EAEC,YAAY;AACX,YAAI4uB,KAAK,GAAG,KAAKpb,KAAL,GAAavT,GAAb,CAAkB,OAAlB,CAAZ;AACA,YAAI4uB,IAAI,GAAG,IAAIjB,EAAE,CAACzrB,KAAH,CAAS0sB,IAAT,CAAcF,SAAlB,CAA6B;AACvC1vB,UAAAA,KAAK,EAAE2vB,KADgC;AAEvCN,UAAAA,UAAU,EAAE;AAF2B,SAA7B,EAGP3qB,MAHO,EAAX;AAIA,aAAK4f,OAAL,CAAa3qB,GAAb,CAAkBi2B,IAAlB,EANW,CAQX;;AACAA,QAAAA,IAAI,CAACC,UAAL;AACA,OAZF,EAaCvsB,KAbD,EArB2C,CAqC3C;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AACAA,MAAAA,KAAK,CAACvC,EAAN,CAAU,QAAV,EAAoB,YAAY;AAC/B;AACA,YAAI+uB,SAAS,GAAGxsB,KAAK,CAACiR,KAAN,GAAcvT,GAAd,CAAmB,WAAnB,CAAhB,CAF+B,CAI/B;;AACA,YAAK8uB,SAAL,EAAiB;AAChB;AACAA,UAAAA,SAAS,CAAC1vB,IAAV,CAAgB,UAAWyD,UAAX,EAAuB7E,CAAvB,EAA2B;AAC1CsE,YAAAA,KAAK,CAACvK,GAAN,CACEiI,GADF,CACO,QADP,EAEEpD,KAFF,CAES0F,KAAK,CAACvK,GAFf,EAEoB,CAAE8K,UAAF,EAAc7E,CAAd,CAFpB;AAGA,WAJD;AAKA;AACD,OAbD,EA9C2C,CA6D3C;;AACAsE,MAAAA,KAAK,CAACvC,EAAN,CAAU,OAAV,EAAmB,YAAY;AAC9B;AACAsO,QAAAA,UAAU,CAAE,YAAY;AACvB/L,UAAAA,KAAK,CAACvK,GAAN,CAAUiI,GAAV,CAAe,OAAf,EAAyBpD,KAAzB,CAAgC0F,KAAK,CAACvK,GAAtC;AACAuK,UAAAA,KAAK,CAACvK,GAAN,CAAUwC,MAAV;AACA,SAHS,EAGP,CAHO,CAAV;AAIA,OAND;AAOA;AAzLiC,GAAlB,CAAjB;AA4LA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAECxC,EAAAA,GAAG,CAAC4Q,MAAJ,CAAWskB,gBAAX,GAA8BM,UAAU,CAACpuB,MAAX,CAAmB;AAChDyD,IAAAA,EAAE,EAAE,kBAD4C;AAEhDmF,IAAAA,KAAK,EAAE,UAAWtF,KAAX,EAAmB;AACzB;AACA,UAAK,CAAEA,KAAK,CAACyQ,MAAb,EAAsB;AACrBzQ,QAAAA,KAAK,CAACyQ,MAAN,GAAenb,GAAG,CAACg3B,EAAJ,CAAQ,QAAR,EAAkB,MAAlB,CAAf;AACA,OAJwB,CAMzB;;;AACAxB,MAAAA,UAAU,CAACpnB,SAAX,CAAqB4B,KAArB,CAA2BnL,KAA3B,CAAkC,IAAlC,EAAwCC,SAAxC;AACA,KAV+C;AAYhD+wB,IAAAA,cAAc,EAAE,UAAWtrB,KAAX,EAAkBkrB,OAAlB,EAA4B;AAC3C;AACA;AACA,UACCz1B,GAAG,CAAC6d,KAAJ,CAAWoZ,mBAAX,EAAgC,UAAhC,EAA4C,kBAA5C,CADD,EAEE;AACD;AACAA,QAAAA,mBAAmB,CAACxxB,QAApB,CAA6ByxB,gBAA7B,CAA8Cb,YAA9C,GAA6D,KAAKpuB,GAAL,CAC5D,OAD4D,CAA7D,CAFC,CAMD;;AACAsC,QAAAA,KAAK,CAACvC,EAAN,CAAU,MAAV,EAAkB,YAAY;AAC7B,iBAAOivB,mBAAmB,CACxBxxB,QADK,CACIyxB,gBADJ,CACqBb,YAD5B;AAEA,SAHD;AAIA,OAhB0C,CAkB3C;;;AACA9rB,MAAAA,KAAK,CAACvC,EAAN,CAAU,yBAAV,EAAqC,YAAY;AAChD;AACA,YAAI6mB,OAAO,GAAG,KAAd,CAFgD,CAIhD;AACA;;AACA,YAAI;AACHA,UAAAA,OAAO,GAAGtkB,KAAK,CAACghB,OAAN,CAActjB,GAAd,GAAoB4mB,OAA9B;AACA,SAFD,CAEE,OAAQ/mB,CAAR,EAAY;AACbqvB,UAAAA,OAAO,CAACC,GAAR,CAAatvB,CAAb;AACA;AACA,SAX+C,CAahD;;;AACAyC,QAAAA,KAAK,CAACvK,GAAN,CAAUq3B,gBAAV,CAA2BxyB,KAA3B,CAAkC0F,KAAK,CAACvK,GAAxC,EAA6C,CAAE6uB,OAAF,CAA7C;AACA,OAfD,EAnB2C,CAoC3C;;AACA2G,MAAAA,UAAU,CAACpnB,SAAX,CAAqBynB,cAArB,CAAoChxB,KAApC,CAA2C,IAA3C,EAAiDC,SAAjD;AACA,KAlD+C;AAoDhDuyB,IAAAA,gBAAgB,EAAE,UAAWxI,OAAX,EAAqB;AACtC;AACA,UAAI3nB,OAAO,GAAG2nB,OAAO,CAAC5mB,GAAR,CAAa,SAAb,CAAd,CAFsC,CAItC;;AACA,UAAK,KAAKA,GAAL,CAAU,MAAV,KAAsB,OAA3B,EAAqC;AACpC;AACAf,QAAAA,OAAO,CAACA,OAAR,CAAgB7C,GAAhB,CAAoB0E,IAApB,GAA2B/I,GAAG,CAAC2D,EAAJ,CAAQ,YAAR,CAA3B,CAFoC,CAIpC;;AACA,eAAOuD,OAAO,CAACA,OAAR,CAAgBowB,KAAvB;AACA,eAAOpwB,OAAO,CAACA,OAAR,CAAgBqwB,KAAvB;AACA,eAAOrwB,OAAO,CAACA,OAAR,CAAgB0vB,KAAvB,CAPoC,CASpC;;AACA92B,QAAAA,CAAC,CAACuH,IAAF,CAAQH,OAAO,CAACA,OAAhB,EAAyB,UAAWjB,CAAX,EAAc4M,MAAd,EAAuB;AAC/CA,UAAAA,MAAM,CAACnI,KAAP,CAAavC,IAAb,GAAoB0K,MAAM,CAACnI,KAAP,CAAavC,IAAb,IAAqB,OAAzC;AACA,SAFD;AAGA,OAlBqC,CAoBtC;;;AACA,UAAK,KAAKF,GAAL,CAAU,cAAV,CAAL,EAAkC;AACjC;AACA,YAAI2C,YAAY,GAAG,KAAK3C,GAAL,CAAU,cAAV,EACjBjC,KADiB,CACV,GADU,EAEjB4e,IAFiB,CAEX,EAFW,EAGjB5e,KAHiB,CAGV,GAHU,EAIjB4e,IAJiB,CAIX,EAJW,EAKjB5e,KALiB,CAKV,GALU,CAAnB,CAFiC,CASjC;;AACA4E,QAAAA,YAAY,CAACpE,GAAb,CAAkB,UAAWc,IAAX,EAAkB;AACnC;AACA,cAAIkwB,QAAQ,GAAGx3B,GAAG,CAACs1B,WAAJ,CAAiBhuB,IAAjB,CAAf,CAFmC,CAInC;;AACA,cAAK,CAAEkwB,QAAP,EAAkB,OALiB,CAOnC;;AACA,cAAIC,SAAS,GAAG;AACf1uB,YAAAA,IAAI,EAAEyuB,QADS;AAEf9sB,YAAAA,KAAK,EAAE;AACNoU,cAAAA,MAAM,EAAE,IADF;AAEN3W,cAAAA,IAAI,EAAEqvB,QAFA;AAGNxB,cAAAA,UAAU,EAAE,IAHN;AAIN0B,cAAAA,OAAO,EAAE,MAJH;AAKN/iB,cAAAA,KAAK,EAAE;AALD,aAFQ;AASf7N,YAAAA,QAAQ,EAAE;AATK,WAAhB,CARmC,CAoBnC;;AACAI,UAAAA,OAAO,CAACA,OAAR,CAAiBswB,QAAjB,IAA8BC,SAA9B;AACA,SAtBD;AAuBA,OAtDqC,CAwDtC;;;AACA,UAAK,KAAKxvB,GAAL,CAAU,SAAV,MAA0B,YAA/B,EAA8C;AAC7C;AACA,YAAI+tB,UAAU,GAAG,KAAKzrB,KAAL,CAAWkrB,OAAX,CAAmB1a,OAAnB,CAA2Bib,UAA5C,CAF6C,CAI7C;;AACA,eAAO9uB,OAAO,CAACA,OAAR,CAAgBywB,UAAvB;AACA,eAAOzwB,OAAO,CAACA,OAAR,CAAgB0wB,QAAvB,CAN6C,CAQ7C;;AACA93B,QAAAA,CAAC,CAACuH,IAAF,CAAQH,OAAO,CAACA,OAAhB,EAAyB,UAAWjB,CAAX,EAAc4M,MAAd,EAAuB;AAC/CA,UAAAA,MAAM,CAAC9J,IAAP,IACC,OAAO/I,GAAG,CAAC2D,EAAJ,CAAQ,uBAAR,CAAP,GAA2C,GAD5C;AAEAkP,UAAAA,MAAM,CAACnI,KAAP,CAAasrB,UAAb,GAA0BA,UAA1B;AACA,SAJD;AAKA,OAvEqC,CAyEtC;;;AACA,UAAI9tB,KAAK,GAAG,KAAKD,GAAL,CAAU,OAAV,CAAZ;AACAnI,MAAAA,CAAC,CAACuH,IAAF,CAAQH,OAAO,CAACA,OAAhB,EAAyB,UAAWhD,CAAX,EAAc2O,MAAd,EAAuB;AAC/CA,QAAAA,MAAM,CAACnI,KAAP,CAAa2rB,YAAb,GAA4BnuB,KAA5B;AACA,OAFD,EA3EsC,CA+EtC;;AACA,UAAI0b,MAAM,GAAGiL,OAAO,CAAC5mB,GAAR,CAAa,QAAb,CAAb;AACA2b,MAAAA,MAAM,CAAC3c,KAAP,CAAamT,UAAb,CAAwBic,YAAxB,GAAuCnuB,KAAvC,CAjFsC,CAmFtC;;AACA,UAAKhB,OAAO,CAAC2wB,aAAb,EAA6B;AAC5B3wB,QAAAA,OAAO,CAAC2wB,aAAR;AACA;AACD;AA3I+C,GAAnB,CAA9B;AA8IA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC73B,EAAAA,GAAG,CAAC4Q,MAAJ,CAAWqkB,cAAX,GAA4BO,UAAU,CAACpuB,MAAX,CAAmB;AAC9CyD,IAAAA,EAAE,EAAE,kBAD0C;AAE9CmF,IAAAA,KAAK,EAAE,UAAWtF,KAAX,EAAmB;AACzB;AACA,UAAK,CAAEA,KAAK,CAACyQ,MAAb,EAAsB;AACrBzQ,QAAAA,KAAK,CAACyQ,MAAN,GAAenb,GAAG,CAACg3B,EAAJ,CAAQ,QAAR,EAAkB,MAAlB,CAAf;AACA,OAJwB,CAMzB;;;AACAxB,MAAAA,UAAU,CAACpnB,SAAX,CAAqB4B,KAArB,CAA2BnL,KAA3B,CAAkC,IAAlC,EAAwCC,SAAxC;AACA,KAV6C;AAY9C+wB,IAAAA,cAAc,EAAE,UAAWtrB,KAAX,EAAkBkrB,OAAlB,EAA4B;AAC3C;AACAlrB,MAAAA,KAAK,CAACvC,EAAN,CACC,MADD,EAEC,YAAY;AACX;AACA,aAAK5D,GAAL,CACEc,OADF,CACW,cADX,EAEEwP,QAFF,CAEY,cAFZ,EAFW,CAMX;;AACA,YAAK,KAAK6W,OAAL,CAAazQ,IAAb,MAAuB,QAA5B,EAAuC;AACtC,eAAKyQ,OAAL,CAAazQ,IAAb,CAAmB,QAAnB;AACA,SATU,CAWX;;;AACA,YAAIU,KAAK,GAAG,KAAKA,KAAL,EAAZ;AACA,YAAIub,SAAS,GAAGvb,KAAK,CAACvT,GAAN,CAAW,WAAX,CAAhB;AACA,YAAI6C,UAAU,GAAG8qB,EAAE,CAACzrB,KAAH,CAASW,UAAT,CAChBP,KAAK,CAACvK,GAAN,CAAUiI,GAAV,CAAe,YAAf,CADgB,CAAjB;AAGA8uB,QAAAA,SAAS,CAACrC,GAAV,CAAe5pB,UAAf;AACA,OApBF,EAqBCP,KArBD,EAF2C,CA0B3C;;AACAirB,MAAAA,UAAU,CAACpnB,SAAX,CAAqBynB,cAArB,CAAoChxB,KAApC,CAA2C,IAA3C,EAAiDC,SAAjD;AACA;AAxC6C,GAAnB,CAA5B;AA2CA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIgzB,mBAAmB,GAAG,IAAI93B,GAAG,CAACoK,KAAR,CAAe;AACxCS,IAAAA,EAAE,EAAE,qBADoC;AAExC2I,IAAAA,IAAI,EAAE,OAFkC;AAIxCE,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAK,CAAE1T,GAAG,CAAC6d,KAAJ,CAAWwD,MAAX,EAAmB,IAAnB,EAAyB,OAAzB,EAAkC,MAAlC,CAAP,EAAoD;AACnD;AACA,OAJsB,CAMvB;;;AACA,UAAI+T,MAAM,GAAGD,SAAS,EAAtB;;AACA,UACCC,MAAM,IACNp1B,GAAG,CAAC6d,KAAJ,CAAW+X,EAAX,EAAe,OAAf,EAAwB,MAAxB,EAAgC,UAAhC,EAA4C,MAA5C,CAFD,EAGE;AACDA,QAAAA,EAAE,CAACzrB,KAAH,CAAS0sB,IAAT,CAAc/O,QAAd,CAAuBiQ,IAAvB,CAA4BltB,EAA5B,GAAiCuqB,MAAjC;AACA,OAbsB,CAevB;;;AACA,WAAK4C,0BAAL;AACA,WAAKC,0BAAL;AACA,WAAKC,0BAAL;AACA,WAAKC,yBAAL;AACA,WAAKC,0BAAL;AACA,KAzBuC;AA2BxCJ,IAAAA,0BAA0B,EAAE,YAAY;AACvC;AACA,UAAK,CAAEh4B,GAAG,CAAC6d,KAAJ,CAAW+X,EAAX,EAAe,OAAf,EAAwB,MAAxB,EAAgC,QAAhC,CAAP,EAAoD;AACnD;AACA,OAJsC,CAMvC;;;AACA,UAAIyC,MAAM,GAAGzC,EAAE,CAACzrB,KAAH,CAAS0sB,IAAT,CAAcwB,MAA3B;AACAzC,MAAAA,EAAE,CAACzrB,KAAH,CAAS0sB,IAAT,CAAcwB,MAAd,GAAuBA,MAAM,CAACjxB,MAAP,CAAe;AACrC;AACA;AACAsM,QAAAA,UAAU,EAAE,YAAY;AACvB,cAAI+hB,OAAO,GAAG6C,CAAC,CAAC7yB,QAAF,CAAY,KAAKgwB,OAAjB,EAA0B,KAAKhwB,QAA/B,CAAd;;AACA,eAAKwB,KAAL,GAAa,IAAIsxB,QAAQ,CAACnuB,KAAb,CAAoBqrB,OAApB,CAAb;AACA,eAAK+C,QAAL,CAAe,KAAKvxB,KAApB,EAA2B,QAA3B,EAAqC,KAAK0E,MAA1C;AACA;AAPoC,OAAf,CAAvB;AASA,KA5CuC;AA8CxCssB,IAAAA,0BAA0B,EAAE,YAAY;AACvC;AACA,UAAK,CAAEj4B,GAAG,CAAC6d,KAAJ,CAAW+X,EAAX,EAAe,OAAf,EAAwB,MAAxB,EAAgC,QAAhC,CAAP,EAAoD;AACnD;AACA,OAJsC,CAMvC;;;AACA,UAAI6C,MAAM,GAAG7C,EAAE,CAACzrB,KAAH,CAAS0sB,IAAT,CAAc6B,MAA3B,CAPuC,CASvC;;AACA9C,MAAAA,EAAE,CAACzrB,KAAH,CAAS0sB,IAAT,CAAc6B,MAAd,GAAuBD,MAAM,CAACrxB,MAAP,CAAe;AACrCuxB,QAAAA,SAAS,EAAE,YAAY;AACtB;AACA,cAAI5O,EAAE,GAAGjqB,CAAC,CACT,CACC,yCADD,EAEC,kEACCE,GAAG,CAAC2D,EAAJ,CAAQ,gBAAR,CADD,GAEC,SAJF,EAKC,iEACC3D,GAAG,CAAC2D,EAAJ,CAAQ,kBAAR,CADD,GAEC,SAPF,EAQC,MARD,EASEihB,IATF,CASQ,EATR,CADS,CAAV,CAFsB,CAetB;;AACAmF,UAAAA,EAAE,CAAC/hB,EAAH,CAAO,OAAP,EAAgB,UAAWF,CAAX,EAAe;AAC9BA,YAAAA,CAAC,CAACqO,cAAF;AACA,gBAAIqM,IAAI,GAAG1iB,CAAC,CAAE,IAAF,CAAD,CAAUoF,OAAV,CAAmB,cAAnB,CAAX;;AACA,gBAAKsd,IAAI,CAAC7O,QAAL,CAAe,cAAf,CAAL,EAAuC;AACtC6O,cAAAA,IAAI,CAACvM,WAAL,CAAkB,cAAlB;AACA,aAFD,MAEO;AACNuM,cAAAA,IAAI,CAAC9N,QAAL,CAAe,cAAf;AACA;AACD,WARD,EAhBsB,CA0BtB;;AACA,eAAKtQ,GAAL,CAAS8P,MAAT,CAAiB6V,EAAjB;AACA,SA7BoC;AA+BrCrW,QAAAA,UAAU,EAAE,YAAY;AACvB;AACA+kB,UAAAA,MAAM,CAACrqB,SAAP,CAAiBsF,UAAjB,CAA4B7O,KAA5B,CAAmC,IAAnC,EAAyCC,SAAzC,EAFuB,CAIvB;;AACA,eAAK6zB,SAAL,GALuB,CAOvB;;AACA,iBAAO,IAAP;AACA;AAxCoC,OAAf,CAAvB;AA0CA,KAlGuC;AAoGxCT,IAAAA,0BAA0B,EAAE,YAAY;AACvC;AACA,UACC,CAAEl4B,GAAG,CAAC6d,KAAJ,CAAW+X,EAAX,EAAe,OAAf,EAAwB,MAAxB,EAAgC,mBAAhC,EAAqD,KAArD,CADH,EAEE;AACD;AACA,OANsC,CAQvC;;;AACA,UAAI6C,MAAM,GAAG7C,EAAE,CAACzrB,KAAH,CAAS0sB,IAAT,CAAc+B,iBAAd,CAAgCC,GAA7C,CATuC,CAWvC;AACA;;AACAJ,MAAAA,MAAM,CAACrqB,SAAP,CAAiBypB,aAAjB,GAAiC,YAAY;AAC5C;AACA,aAAKzzB,GAAL,CAASqQ,IAAT,CACC6jB,CAAC,CAACQ,KAAF,CAAS,KAAK5xB,OAAd,EACEV,GADF,CACO,UAAWqM,MAAX,EAAmBhN,KAAnB,EAA2B;AAChC,iBAAO;AACNkzB,YAAAA,EAAE,EAAEj5B,CAAC,CAAE,mBAAF,CAAD,CACFwM,GADE,CACGzG,KADH,EAEF4O,IAFE,CAEI5B,MAAM,CAAC9J,IAFX,EAEmB,CAFnB,CADE;AAINjC,YAAAA,QAAQ,EAAE+L,MAAM,CAAC/L,QAAP,IAAmB;AAJvB,WAAP;AAMA,SARF,EAQI,IARJ,EASEkyB,MATF,CASU,UATV,EAUEC,KAVF,CAUS,IAVT,EAWEpzB,KAXF,EADD;AAcA,OAhBD;AAiBA,KAlIuC;AAoIxCsyB,IAAAA,yBAAyB,EAAE,YAAY;AACtC;AACA,UAAK,CAAEn4B,GAAG,CAAC6d,KAAJ,CAAW+X,EAAX,EAAe,OAAf,EAAwB,MAAxB,EAAgC,kBAAhC,CAAP,EAA8D;AAC7D;AACA,OAJqC,CAMtC;;;AACA,UAAIsD,gBAAgB,GAAGtD,EAAE,CAACzrB,KAAH,CAAS0sB,IAAT,CAAcqC,gBAArC;AACA,UAAIlwB,OAAO,GAAG,KAAd,CARsC,CAUtC;;AACA4sB,MAAAA,EAAE,CAACzrB,KAAH,CAAS0sB,IAAT,CAAcqC,gBAAd,GAAiCA,gBAAgB,CAAC9xB,MAAjB,CAAyB;AACzDuE,QAAAA,MAAM,EAAE,YAAY;AACnB;AACA;AACA;AACA;AACA;AACA,cAAK,KAAKwtB,QAAV,EAAqB;AACpB,mBAAO,IAAP;AACA,WARkB,CAUnB;;;AACAD,UAAAA,gBAAgB,CAAC9qB,SAAjB,CAA2BzC,MAA3B,CAAkC9G,KAAlC,CAAyC,IAAzC,EAA+CC,SAA/C,EAXmB,CAanB;AACA;;AACA,cAAK,CAAE,KAAKhF,CAAL,CAAQ,gBAAR,EAA2BiF,MAAlC,EAA2C;AAC1C,mBAAO,IAAP;AACA,WAjBkB,CAmBnB;;;AACA4e,UAAAA,YAAY,CAAE3a,OAAF,CAAZ,CApBmB,CAsBnB;;AACAA,UAAAA,OAAO,GAAGsN,UAAU,CACnBxW,CAAC,CAACmb,KAAF,CAAS,YAAY;AACpB,iBAAKke,QAAL,GAAgB,IAAhB;AACAn5B,YAAAA,GAAG,CAACkB,QAAJ,CAAc,QAAd,EAAwB,KAAKkD,GAA7B;AACA,WAHD,EAGG,IAHH,CADmB,EAKnB,EALmB,CAApB,CAvBmB,CA+BnB;;AACA,iBAAO,IAAP;AACA,SAlCwD;AAoCzDg1B,QAAAA,IAAI,EAAE,UAAWzxB,KAAX,EAAmB;AACxB,cAAIrC,IAAI,GAAG,EAAX;;AAEA,cAAKqC,KAAL,EAAa;AACZA,YAAAA,KAAK,CAACwO,cAAN;AACA,WALuB,CAOxB;AACA;AACA;AAEA;;;AACA7Q,UAAAA,IAAI,GAAGtF,GAAG,CAACq5B,gBAAJ,CAAsB,KAAKj1B,GAA3B,CAAP;AAEA,eAAKkyB,UAAL,CAAgB5f,OAAhB,CAAyB,2BAAzB,EAAsD,CACrD,SADqD,CAAtD;AAGA,eAAKzP,KAAL,CACEqyB,UADF,CACch0B,IADd,EAEEi0B,MAFF,CAEUjB,CAAC,CAACvb,IAAF,CAAQ,KAAKyc,QAAb,EAAuB,IAAvB,CAFV;AAGA;AAxDwD,OAAzB,CAAjC;AA0DA,KAzMuC;AA2MxCpB,IAAAA,0BAA0B,EAAE,YAAY;AACvC;AACA,UAAK,CAAEp4B,GAAG,CAAC6d,KAAJ,CAAW+X,EAAX,EAAe,OAAf,EAAwB,MAAxB,EAAgC,YAAhC,EAA8C,SAA9C,CAAP,EAAmE;AAClE;AACA,OAJsC,CAMvC;;;AACA,UAAI6D,iBAAiB,GAAG7D,EAAE,CAACzrB,KAAH,CAAS0sB,IAAT,CAAc6C,UAAd,CAAyBnD,OAAjD,CAPuC,CASvC;;AACAX,MAAAA,EAAE,CAACzrB,KAAH,CAAS0sB,IAAT,CAAc6C,UAAd,CAAyBnD,OAAzB,GAAmCkD,iBAAiB,CAACryB,MAAlB,CAA0B;AAC5DuE,QAAAA,MAAM,EAAE,YAAY;AACnB;AACA,cAAIlB,KAAK,GAAGzK,GAAG,CAAC+hB,KAAJ,CAAW,IAAX,EAAiB,YAAjB,EAA+B,KAA/B,CAAZ;AACA,cAAI3H,UAAU,GAAGpa,GAAG,CAAC+hB,KAAJ,CAAW,IAAX,EAAiB,OAAjB,EAA0B,YAA1B,CAAjB,CAHmB,CAKnB;;AACA,cAAKtX,KAAK,IAAI2P,UAAd,EAA2B;AAC1B;AACA,gBAAKA,UAAU,CAACuf,UAAhB,EAA6B;AAC5B,mBAAKv1B,GAAL,CAASsQ,QAAT,CAAmB,cAAnB;AACA,aAJyB,CAM1B;;;AACA,gBAAIiC,QAAQ,GAAGlM,KAAK,CAACxC,GAAN,CAAW,UAAX,CAAf;;AACA,gBACC0O,QAAQ,IACRA,QAAQ,CAACjP,OAAT,CAAkB0S,UAAU,CAACvP,EAA7B,IAAoC,CAAC,CAFtC,EAGE;AACD,mBAAKzG,GAAL,CAASsQ,QAAT,CAAmB,cAAnB;AACA;AACD,WApBkB,CAsBnB;;;AACA,iBAAO+kB,iBAAiB,CAACrrB,SAAlB,CAA4BzC,MAA5B,CAAmC9G,KAAnC,CACN,IADM,EAENC,SAFM,CAAP;AAIA,SA5B2D;;AA8B5D;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEI80B,QAAAA,eAAe,EAAE,UAAWnE,OAAX,EAAqB;AACrC;AACA;AACA,cAAIoE,UAAU,GAAG,KAAKA,UAAtB;AAAA,cACC9C,SAAS,GAAG,KAAKtB,OAAL,CAAasB,SAD1B;AAAA,cAEC9vB,KAAK,GAAG,KAAKA,KAFd;AAAA,cAGC6yB,MAAM,GAAG/C,SAAS,CAAC+C,MAAV,EAHV,CAHqC,CAQrC;;AACA,cAAIvvB,KAAK,GAAG,KAAK+rB,UAAjB;AACA,cAAIyD,MAAM,GAAG/5B,GAAG,CAAC+hB,KAAJ,CACZ,IADY,EAEZ,OAFY,EAGZ,YAHY,EAIZ,YAJY,CAAb;AAMA,cAAIiY,QAAQ,GAAGzvB,KAAK,CAACnG,GAAN,CAAUwR,IAAV,CACd,qCADc,CAAf,CAhBqC,CAoBrC;;AACAokB,UAAAA,QAAQ,CAAC/lB,QAAT,CAAmB,sBAAnB,EAA4CzR,MAA5C,GArBqC,CAuBrC;;AACAw3B,UAAAA,QAAQ,CAAC/lB,QAAT,GAAoBgC,WAApB,CAAiC,YAAjC,EAxBqC,CA0BrC;;AACA,cAAK1L,KAAK,IAAIwvB,MAAd,EAAuB;AACtB;AACA,gBAAIvf,QAAQ,GAAGxa,GAAG,CAAC+hB,KAAJ,CACd,IADc,EAEd,OAFc,EAGd,YAHc,EAId,UAJc,CAAf,CAFsB,CAStB;AACA;;AACAiY,YAAAA,QAAQ,CAAC/lB,QAAT,GAAoBS,QAApB,CAA8B,YAA9B,EAXsB,CAatB;;AACAslB,YAAAA,QAAQ,CAACllB,OAAT,CACC,CACC,mCADD,EAEC,yCACC9U,GAAG,CAAC2D,EAAJ,CAAQ,YAAR,CADD,GAEC,SAJF,EAKC,4CACC6W,QADD,GAEC,SAPF,EAQC,2CACCuf,MADD,GAEC,SAVF,EAWC,QAXD,EAYEnV,IAZF,CAYQ,EAZR,CADD,EAdsB,CA8BtB;;AACAmS,YAAAA,SAAS,CAACpO,KAAV,GA/BsB,CAiCtB;;AACAoO,YAAAA,SAAS,CAAC+C,MAAV,CAAkB7yB,KAAlB,EAlCsB,CAoCtB;;AACA;AACA,WAjEoC,CAmErC;;;AACA,iBAAOwyB,iBAAiB,CAACrrB,SAAlB,CAA4BwrB,eAA5B,CAA4C/0B,KAA5C,CACN,IADM,EAENC,SAFM,CAAP;AAIA;AApH2D,OAA1B,CAAnC;AAsHA;AA3UuC,GAAf,CAA1B;AA6UA,CA51BD,EA41BKsH,MA51BL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACC,MAAIk6B,cAAc,GAAG,IAAIj6B,GAAG,CAACoK,KAAR,CAAe;AACnCoJ,IAAAA,IAAI,EAAE,SAD6B;AAEnC1M,IAAAA,QAAQ,EAAE,CAFyB;AAGnC4M,IAAAA,UAAU,EAAE,YAAY;AACvB,OAAE1T,GAAG,CAACiI,GAAJ,CAAS,WAAT,KAA0B,EAA5B,EAAiCzB,GAAjC,CAAsCxG,GAAG,CAACgM,UAA1C;AACA;AALkC,GAAf,CAArB;AAQA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACChM,EAAAA,GAAG,CAACk6B,UAAJ,GAAiB,UAAW91B,GAAX,EAAiB;AACjC;AACA,QAAK,OAAOU,SAAS,CAAE,CAAF,CAAhB,IAAyB,QAA9B,EAAyC;AACxCV,MAAAA,GAAG,GAAGtE,CAAC,CAAE,MAAMgF,SAAS,CAAE,CAAF,CAAjB,CAAP;AACA,KAJgC,CAMjC;;;AACA,WAAO9E,GAAG,CAACyL,WAAJ,CAAiBrH,GAAjB,CAAP;AACA,GARD;AAUA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACCpE,EAAAA,GAAG,CAACm6B,YAAJ,GAAmB,YAAY;AAC9B,WAAOn6B,GAAG,CAAC0qB,YAAJ,CAAkB5qB,CAAC,CAAE,cAAF,CAAnB,CAAP;AACA,GAFD;AAIA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACCE,EAAAA,GAAG,CAACgM,UAAJ,GAAiB,UAAWtB,KAAX,EAAmB;AACnC,WAAO,IAAI1K,GAAG,CAAC4Q,MAAJ,CAAWwpB,OAAf,CAAwB1vB,KAAxB,CAAP;AACA,GAFD;AAIA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACC1K,EAAAA,GAAG,CAAC4Q,MAAJ,CAAWwpB,OAAX,GAAqBp6B,GAAG,CAACoK,KAAJ,CAAUhD,MAAV,CAAkB;AACtC9B,IAAAA,IAAI,EAAE;AACLuF,MAAAA,EAAE,EAAE,EADC;AAELjF,MAAAA,GAAG,EAAE,EAFA;AAGLy0B,MAAAA,KAAK,EAAE,SAHF;AAILzsB,MAAAA,KAAK,EAAE,KAJF;AAKL0sB,MAAAA,IAAI,EAAE;AALD,KADgC;AAStCtqB,IAAAA,KAAK,EAAE,UAAWtF,KAAX,EAAmB;AACzB;AACA,UAAKA,KAAK,CAACmB,QAAX,EAAsB;AACrBnB,QAAAA,KAAK,CAAC4vB,IAAN,GAAa5vB,KAAK,CAACmB,QAAnB;AACA,OAJwB,CAMzB;;;AACA/L,MAAAA,CAAC,CAACsH,MAAF,CAAU,KAAK9B,IAAf,EAAqBoF,KAArB,EAPyB,CASzB;;AACA,WAAKtG,GAAL,GAAW,KAAKm2B,QAAL,EAAX;AACA,KApBqC;AAsBtCA,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAOz6B,CAAC,CAAE,MAAM,KAAKmI,GAAL,CAAU,IAAV,CAAR,CAAR;AACA,KAxBqC;AA0BtCuyB,IAAAA,KAAK,EAAE,YAAY;AAClB,aAAO16B,CAAC,CAAE,MAAM,KAAKmI,GAAL,CAAU,IAAV,CAAN,GAAyB,OAA3B,CAAR;AACA,KA5BqC;AA8BtCwyB,IAAAA,UAAU,EAAE,YAAY;AACvB,aAAO,KAAKD,KAAL,GAAah2B,MAAb,EAAP;AACA,KAhCqC;AAkCtCk2B,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO,KAAK56B,CAAL,CAAQ,UAAR,CAAP;AACA,KApCqC;AAsCtC66B,IAAAA,cAAc,EAAE,YAAY;AAC3B,aAAO,KAAK76B,CAAL,CAAQ,mCAAR,CAAP;AACA,KAxCqC;AA0CtC86B,IAAAA,OAAO,EAAE,YAAY;AACpB,aAAO,KAAK96B,CAAL,CAAQ,WAAR,CAAP;AACA,KA5CqC;AA8CtCupB,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAO,KAAKjlB,GAAL,CAASuP,QAAT,CAAmB,YAAnB,CAAP;AACA,KAhDqC;AAkDtCknB,IAAAA,uBAAuB,EAAE,YAAY;AACpC,aACC,KAAKz2B,GAAL,CAASuP,QAAT,CAAmB,YAAnB,KACA,KAAKvP,GAAL,CAASyQ,GAAT,CAAc,SAAd,KAA6B,MAF9B;AAIA,KAvDqC;AAyDtCnB,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,WAAKtP,GAAL,CAASsQ,QAAT,CAAmB,aAAnB,EAFuB,CAIvB;;AACA,UAAK1U,GAAG,CAACiI,GAAJ,CAAS,QAAT,MAAwB,OAA7B,EAAuC;AACtC,YAAIoyB,KAAK,GAAG,KAAKpyB,GAAL,CAAU,OAAV,CAAZ;;AACA,YAAKoyB,KAAK,KAAK,SAAf,EAA2B;AAC1B,eAAKj2B,GAAL,CAASsQ,QAAT,CAAmB2lB,KAAnB;AACA;AACD,OAVsB,CAYvB;;;AACA,WAAKO,OAAL,GACElmB,QADF,CACY,YADZ,EAEEA,QAFF,CAEY,MAAM,KAAKzM,GAAL,CAAU,OAAV,CAFlB,EAbuB,CAiBvB;;AACA,UAAIqyB,IAAI,GAAG,KAAKryB,GAAL,CAAU,MAAV,CAAX;;AACA,UAAKqyB,IAAL,EAAY;AACX,YAAI7lB,IAAI,GACP,cACA6lB,IADA,GAEA,kFAFA,GAGAt6B,GAAG,CAAC2D,EAAJ,CAAQ,kBAAR,CAHA,GAIA,QALD;AAMA,YAAIg3B,cAAc,GAAG,KAAKA,cAAL,EAArB;;AACA,YAAKA,cAAc,CAAC51B,MAApB,EAA6B;AAC5B41B,UAAAA,cAAc,CAAC7lB,OAAf,CAAwBL,IAAxB;AACA,SAFD,MAEO;AACN,eAAKimB,MAAL,GAAcxmB,MAAd,CAAsBO,IAAtB;AACA;AACD,OAhCsB,CAkCvB;;;AACA,WAAKrC,IAAL;AACA,KA7FqC;AA+FtCA,IAAAA,IAAI,EAAE,YAAY;AACjB;AACA,UAAK,KAAKhO,GAAL,CAASuP,QAAT,CAAmB,YAAnB,CAAL,EAAyC;AACxC,aAAK6mB,KAAL,GAAavrB,IAAb,CAAmB,SAAnB,EAA8B,KAA9B;AACA;AACA,OALgB,CAOjB;;;AACA,WAAKwrB,UAAL,GAAkBroB,IAAlB,GARiB,CAUjB;;AACA,WAAKooB,KAAL,GAAavrB,IAAb,CAAmB,SAAnB,EAA8B,IAA9B,EAXiB,CAajB;;AACA,WAAK7K,GAAL,CAASgO,IAAT,GAAgB6D,WAAhB,CAA6B,YAA7B,EAdiB,CAgBjB;;AACAjW,MAAAA,GAAG,CAACkB,QAAJ,CAAc,cAAd,EAA8B,IAA9B;AACA,KAjHqC;AAmHtCa,IAAAA,MAAM,EAAE,YAAY;AACnB/B,MAAAA,GAAG,CAAC+B,MAAJ,CAAY,KAAKqC,GAAjB,EAAsB,SAAtB;AACA,KArHqC;AAuHtCkO,IAAAA,UAAU,EAAE,YAAY;AACvB,WAAKvQ,MAAL;AACA,WAAKqQ,IAAL;AACA,KA1HqC;AA4HtCC,IAAAA,IAAI,EAAE,YAAY;AACjB;AACA,WAAKooB,UAAL,GAAkBpoB,IAAlB,GAFiB,CAIjB;;AACA,WAAKjO,GAAL,CAASiO,IAAT,GAAgBqC,QAAhB,CAA0B,YAA1B,EALiB,CAOjB;;AACA1U,MAAAA,GAAG,CAACkB,QAAJ,CAAc,cAAd,EAA8B,IAA9B;AACA,KArIqC;AAuItCU,IAAAA,OAAO,EAAE,YAAY;AACpB5B,MAAAA,GAAG,CAAC4B,OAAJ,CAAa,KAAKwC,GAAlB,EAAuB,SAAvB;AACA,KAzIqC;AA2ItCoO,IAAAA,WAAW,EAAE,YAAY;AACxB,WAAK5Q,OAAL;AACA,WAAKyQ,IAAL;AACA,KA9IqC;AAgJtCoC,IAAAA,IAAI,EAAE,UAAWA,IAAX,EAAkB;AACvB;AACA,WAAKmmB,OAAL,GAAenmB,IAAf,CAAqBA,IAArB,EAFuB,CAIvB;;AACAzU,MAAAA,GAAG,CAACkB,QAAJ,CAAc,QAAd,EAAwB,KAAKkD,GAA7B;AACA;AAtJqC,GAAlB,CAArB;AAwJA,CA1OD,EA0OKgI,MA1OL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3BC,EAAAA,GAAG,CAACiM,MAAJ,GAAa,IAAIjM,GAAG,CAACoK,KAAR,CAAe;AAC3Bwe,IAAAA,MAAM,EAAE,IADmB;AAG3B7E,IAAAA,GAAG,EAAE,KAHsB;AAK3B/a,IAAAA,OAAO,EAAE,KALkB;AAO3BwK,IAAAA,IAAI,EAAE,MAPqB;AAS3BrM,IAAAA,MAAM,EAAE;AACP,+BAAyB,UADlB;AAEP,2BAAqB,UAFd;AAGP,qCAA+B,UAHxB;AAIP,mCAA6B,UAJtB;AAKP,yBAAmB,UALZ;AAMP,mDAA6C,UANtC;AAOP,8BAAwB;AAPjB,KATmB;AAmB3B2zB,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO96B,GAAG,CAACiI,GAAJ,CAAS,QAAT,MAAwB,MAA/B;AACA,KArB0B;AAuB3B8yB,IAAAA,MAAM,EAAE,YAAY;AACnB,aAAO/6B,GAAG,CAACiI,GAAJ,CAAS,QAAT,MAAwB,MAA/B;AACA,KAzB0B;AA2B3B+yB,IAAAA,UAAU,EAAE,YAAY;AACvB,aAAOh7B,GAAG,CAACiI,GAAJ,CAAS,QAAT,MAAwB,UAA/B;AACA,KA7B0B;AA+B3BgzB,IAAAA,YAAY,EAAE,YAAY;AACzB,aAAOj7B,GAAG,CAACiI,GAAJ,CAAS,QAAT,MAAwB,YAA/B;AACA,KAjC0B;AAmC3BizB,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAOl7B,GAAG,CAACiI,GAAJ,CAAS,QAAT,MAAwB,UAA/B;AACA,KArC0B;AAuC3BkzB,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAOn7B,GAAG,CAACiI,GAAJ,CAAS,QAAT,MAAwB,QAA/B;AACA,KAzC0B;AA2C3BmzB,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAOp7B,GAAG,CAACiI,GAAJ,CAAS,QAAT,MAAwB,SAA/B;AACA,KA7C0B;AA+C3BozB,IAAAA,eAAe,EAAE,YAAY;AAC5B,UAAIj3B,GAAG,GAAGtE,CAAC,CAAE,gBAAF,CAAX;AACA,aAAOsE,GAAG,CAACW,MAAJ,GAAaX,GAAG,CAACkI,GAAJ,EAAb,GAAyB,IAAhC;AACA,KAlD0B;AAoD3BgvB,IAAAA,aAAa,EAAE,UAAWxzB,CAAX,EAAc1D,GAAd,EAAoB;AAClC,UAAIA,GAAG,GAAGtE,CAAC,CAAE,YAAF,CAAX;AACA,aAAOsE,GAAG,CAACW,MAAJ,GAAaX,GAAG,CAACkI,GAAJ,EAAb,GAAyB,IAAhC;AACA,KAvD0B;AAyD3BivB,IAAAA,WAAW,EAAE,UAAWzzB,CAAX,EAAc1D,GAAd,EAAoB;AAChC,aAAO,KAAKk3B,aAAL,KAAuB,OAAvB,GAAiC,QAAxC;AACA,KA3D0B;AA6D3BE,IAAAA,WAAW,EAAE,YAAY;AACxB,aAAO17B,CAAC,CAAE,YAAF,CAAD,CAAkBwM,GAAlB,EAAP;AACA,KA/D0B;AAiE3BmvB,IAAAA,aAAa,EAAE,UAAW3zB,CAAX,EAAc1D,GAAd,EAAoB;AAClC,UAAIA,GAAG,GAAGtE,CAAC,CAAE,oCAAF,CAAX;;AACA,UAAKsE,GAAG,CAACW,MAAT,EAAkB;AACjB,YAAIuH,GAAG,GAAGlI,GAAG,CAACkI,GAAJ,EAAV;AACA,eAAOA,GAAG,IAAI,GAAP,GAAa,UAAb,GAA0BA,GAAjC;AACA;;AACD,aAAO,IAAP;AACA,KAxE0B;AA0E3BovB,IAAAA,gBAAgB,EAAE,YAAY;AAC7B;AACA,UAAIC,KAAK,GAAG,EAAZ,CAF6B,CAI7B;;AACA,UAAIr2B,IAAI,GAAGtF,GAAG,CAACiD,SAAJ,CAAenD,CAAC,CAAE,wBAAF,CAAhB,CAAX,CAL6B,CAO7B;AACA;;AACA,UAAKwF,IAAI,CAACs2B,SAAV,EAAsB;AACrBD,QAAAA,KAAK,GAAGr2B,IAAI,CAACs2B,SAAb;AACA,OAX4B,CAa7B;;;AACA,UAAKt2B,IAAI,CAACu2B,aAAV,EAA0B;AACzBF,QAAAA,KAAK,CAAC3L,QAAN,GAAiB1qB,IAAI,CAACu2B,aAAtB;AACA,OAhB4B,CAkB7B;;;AACA,WAAM,IAAIC,GAAV,IAAiBH,KAAjB,EAAyB;AACxB,YAAK,CAAE37B,GAAG,CAAC+mB,OAAJ,CAAa4U,KAAK,CAAEG,GAAF,CAAlB,CAAP,EAAqC;AACpCH,UAAAA,KAAK,CAAEG,GAAF,CAAL,GAAeH,KAAK,CAAEG,GAAF,CAAL,CAAa91B,KAAb,CAAoB,QAApB,CAAf;AACA;AACD,OAvB4B,CAyB7B;;;AACA,aAAO21B,KAAP;AACA,KArG0B;AAuG3BI,IAAAA,YAAY,EAAE,YAAY;AACzB;AACA,UAAIJ,KAAK,GAAG,KAAKD,gBAAL,EAAZ,CAFyB,CAIzB;;AACA17B,MAAAA,GAAG,CAAC0R,SAAJ,CAAe;AAAEvJ,QAAAA,IAAI,EAAE;AAAR,OAAf,EAAsC3B,GAAtC,CAA2C,UAAW0B,KAAX,EAAmB;AAC7D;AACA,YAAK,CAAEA,KAAK,CAACD,GAAN,CAAW,MAAX,CAAP,EAA6B;AAC5B;AACA,SAJ4D,CAM7D;;;AACA,YAAIqE,GAAG,GAAGpE,KAAK,CAACoE,GAAN,EAAV;AACA,YAAIwvB,GAAG,GAAG5zB,KAAK,CAACD,GAAN,CAAW,UAAX,CAAV,CAR6D,CAU7D;;AACA,YAAKqE,GAAL,EAAW;AACV;AACAqvB,UAAAA,KAAK,CAAEG,GAAF,CAAL,GAAeH,KAAK,CAAEG,GAAF,CAAL,IAAgB,EAA/B,CAFU,CAIV;;AACAxvB,UAAAA,GAAG,GAAGtM,GAAG,CAAC+mB,OAAJ,CAAaza,GAAb,IAAqBA,GAArB,GAA2B,CAAEA,GAAF,CAAjC,CALU,CAOV;;AACAqvB,UAAAA,KAAK,CAAEG,GAAF,CAAL,GAAeH,KAAK,CAAEG,GAAF,CAAL,CAAajL,MAAb,CAAqBvkB,GAArB,CAAf;AACA;AACD,OArBD,EALyB,CA4BzB;;AACA,UAAK,CAAE0vB,WAAW,GAAG,KAAKC,cAAL,EAAhB,MAA4C,IAAjD,EAAwD;AACvDN,QAAAA,KAAK,CAACO,YAAN,GAAqB,CAAEF,WAAF,CAArB;AACA,OA/BwB,CAiCzB;;;AACA,WAAM,IAAIF,GAAV,IAAiBH,KAAjB,EAAyB;AACxBA,QAAAA,KAAK,CAAEG,GAAF,CAAL,GAAe97B,GAAG,CAACm8B,WAAJ,CAAiBR,KAAK,CAAEG,GAAF,CAAtB,CAAf;AACA,OApCwB,CAsCzB;;;AACA,aAAOH,KAAP;AACA,KA/I0B;AAiJ3BM,IAAAA,cAAc,EAAE,YAAY;AAC3B,UAAI73B,GAAG,GAAGtE,CAAC,CAAE,eAAF,CAAX;AACA,aAAOsE,GAAG,CAACW,MAAJ,GAAaX,GAAG,CAACkI,GAAJ,EAAb,GAAyB,IAAhC;AACA,KApJ0B;AAsJ3BJ,IAAAA,KAAK,EAAE,YAAY;AAClB;AACA,UAAKlM,GAAG,CAACiI,GAAJ,CAAS,QAAT,MAAwB,MAA7B,EAAsC;AACrC;AACA,OAJiB,CAMlB;;;AACA,UAAK,KAAK8b,GAAV,EAAgB;AACf,aAAKA,GAAL,CAASC,KAAT;AACA,OATiB,CAWlB;;;AACA,UAAIH,QAAQ,GAAG7jB,GAAG,CAAC0B,SAAJ,CAAe,KAAK4D,IAApB,EAA0B;AACxCsB,QAAAA,MAAM,EAAE,uBADgC;AAExCqF,QAAAA,MAAM,EAAEjM,GAAG,CAACiI,GAAJ,CAAS,QAAT,CAFgC;AAGxCqR,QAAAA,MAAM,EAAE;AAHgC,OAA1B,CAAf,CAZkB,CAkBlB;;AACA,UAAK,KAAKwhB,MAAL,EAAL,EAAqB;AACpBjX,QAAAA,QAAQ,CAACuY,OAAT,GAAmBp8B,GAAG,CAACiI,GAAJ,CAAS,SAAT,CAAnB;AACA,OArBiB,CAuBlB;;;AACA,UAAK,CAAEo0B,QAAQ,GAAG,KAAKb,WAAL,EAAb,MAAsC,IAA3C,EAAkD;AACjD3X,QAAAA,QAAQ,CAACyY,SAAT,GAAqBD,QAArB;AACA,OA1BiB,CA4BlB;;;AACA,UAAK,CAAEE,YAAY,GAAG,KAAKlB,eAAL,EAAjB,MAA8C,IAAnD,EAA0D;AACzDxX,QAAAA,QAAQ,CAAC2Y,aAAT,GAAyBD,YAAzB;AACA,OA/BiB,CAiClB;;;AACA,UAAK,CAAEE,UAAU,GAAG,KAAKnB,aAAL,EAAf,MAA0C,IAA/C,EAAsD;AACrDzX,QAAAA,QAAQ,CAAC6Y,WAAT,GAAuBD,UAAvB;AACA,OApCiB,CAsClB;;;AACA,UAAK,CAAEE,QAAQ,GAAG,KAAKpB,WAAL,EAAb,MAAsC,IAA3C,EAAkD;AACjD1X,QAAAA,QAAQ,CAAC+Y,SAAT,GAAqBD,QAArB;AACA,OAzCiB,CA2ClB;;;AACA,UAAK,CAAEE,UAAU,GAAG,KAAKpB,aAAL,EAAf,MAA0C,IAA/C,EAAsD;AACrD5X,QAAAA,QAAQ,CAACiZ,WAAT,GAAuBD,UAAvB;AACA,OA9CiB,CAgDlB;;;AACA,UAAK,CAAEE,SAAS,GAAG,KAAKhB,YAAL,EAAd,MAAwC,IAA7C,EAAoD;AACnDlY,QAAAA,QAAQ,CAACmZ,UAAT,GAAsBD,SAAtB;AACA,OAnDiB,CAqDlB;;;AACA/8B,MAAAA,GAAG,CAACm6B,YAAJ,GAAmB3zB,GAAnB,CAAwB,UAAWkF,OAAX,EAAqB;AAC5CmY,QAAAA,QAAQ,CAACvK,MAAT,CAAgBpK,IAAhB,CAAsBxD,OAAO,CAACzD,GAAR,CAAa,KAAb,CAAtB;AACA,OAFD,EAtDkB,CA0DlB;;AACA4b,MAAAA,QAAQ,GAAG7jB,GAAG,CAACwB,YAAJ,CAAkB,mBAAlB,EAAuCqiB,QAAvC,CAAX,CA3DkB,CA6DlB;;AACA,UAAI2C,SAAS,GAAG,UAAWvC,IAAX,EAAkB;AACjC;AACA,YAAKjkB,GAAG,CAACiI,GAAJ,CAAS,QAAT,KAAuB,MAA5B,EAAqC;AACpC,eAAKg1B,gBAAL,CAAuBhZ,IAAvB,EADoC,CAGpC;AACA,SAJD,MAIO,IAAKjkB,GAAG,CAACiI,GAAJ,CAAS,QAAT,KAAuB,MAA5B,EAAqC;AAC3C,eAAKi1B,gBAAL,CAAuBjZ,IAAvB;AACA,SARgC,CAUjC;;;AACAjkB,QAAAA,GAAG,CAACkB,QAAJ,CAAc,uBAAd,EAAuC+iB,IAAvC,EAA6CJ,QAA7C;AACA,OAZD,CA9DkB,CA4ElB;;;AACA,WAAKE,GAAL,GAAWjkB,CAAC,CAACqM,IAAF,CAAQ;AAClBkO,QAAAA,GAAG,EAAEra,GAAG,CAACiI,GAAJ,CAAS,SAAT,CADa;AAElB3C,QAAAA,IAAI,EAAEtF,GAAG,CAACoC,cAAJ,CAAoByhB,QAApB,CAFY;AAGlB1b,QAAAA,IAAI,EAAE,MAHY;AAIlBoZ,QAAAA,QAAQ,EAAE,MAJQ;AAKlBxa,QAAAA,OAAO,EAAE,IALS;AAMlB0a,QAAAA,OAAO,EAAE+E;AANS,OAAR,CAAX;AAQA,KA3O0B;AA6O3BxP,IAAAA,QAAQ,EAAE,UAAWlP,CAAX,EAAc1D,GAAd,EAAoB;AAC7B,WAAKkS,UAAL,CAAiB,KAAKpK,KAAtB,EAA6B,CAA7B;AACA,KA/O0B;AAiP3B+wB,IAAAA,gBAAgB,EAAE,UAAW33B,IAAX,EAAkB;AACnC;AACA,UAAI63B,UAAU,GAAG,UAAWC,KAAX,EAAkBC,GAAlB,EAAwB;AACxC,YAAIl2B,MAAM,GAAGrH,CAAC,CAACw9B,KAAF,CAASF,KAAK,CAAE,CAAF,CAAd,EAAsBj2B,MAAnC;;AACA,aAAM,IAAIgB,IAAV,IAAkBhB,MAAlB,EAA2B;AAC1B,eAAM,IAAIlB,CAAC,GAAG,CAAd,EAAiBA,CAAC,GAAGkB,MAAM,CAAEgB,IAAF,CAAN,CAAepD,MAApC,EAA4CkB,CAAC,EAA7C,EAAkD;AACjDo3B,YAAAA,GAAG,CAACr1B,EAAJ,CAAQG,IAAR,EAAchB,MAAM,CAAEgB,IAAF,CAAN,CAAgBlC,CAAhB,EAAoBs3B,OAAlC;AACA;AACD;AACD,OAPD,CAFmC,CAWnC;;;AACA,UAAIC,WAAW,GAAG,UAAW3yB,EAAX,EAAe4yB,GAAf,EAAqB;AACtC;AACA,YAAI5U,KAAK,GAAG4U,GAAG,CAAC/1B,OAAJ,CAAamD,EAAb,CAAZ,CAFsC,CAItC;;AACA,YAAKge,KAAK,IAAI,CAAC,CAAf,EAAmB;AAClB,iBAAO,KAAP;AACA,SAPqC,CAStC;;;AACA,aAAM,IAAI5iB,CAAC,GAAG4iB,KAAK,GAAG,CAAtB,EAAyB5iB,CAAC,IAAI,CAA9B,EAAiCA,CAAC,EAAlC,EAAuC;AACtC,cAAKnG,CAAC,CAAE,MAAM29B,GAAG,CAAEx3B,CAAF,CAAX,CAAD,CAAoBlB,MAAzB,EAAkC;AACjC,mBAAOjF,CAAC,CAAE,MAAM29B,GAAG,CAAEx3B,CAAF,CAAX,CAAD,CAAoBumB,KAApB,CAA2B1sB,CAAC,CAAE,MAAM+K,EAAR,CAA5B,CAAP;AACA;AACD,SAdqC,CAgBtC;;;AACA,aAAM,IAAI5E,CAAC,GAAG4iB,KAAK,GAAG,CAAtB,EAAyB5iB,CAAC,GAAGw3B,GAAG,CAAC14B,MAAjC,EAAyCkB,CAAC,EAA1C,EAA+C;AAC9C,cAAKnG,CAAC,CAAE,MAAM29B,GAAG,CAAEx3B,CAAF,CAAX,CAAD,CAAoBlB,MAAzB,EAAkC;AACjC,mBAAOjF,CAAC,CAAE,MAAM29B,GAAG,CAAEx3B,CAAF,CAAX,CAAD,CAAoBmR,MAApB,CAA4BtX,CAAC,CAAE,MAAM+K,EAAR,CAA7B,CAAP;AACA;AACD,SArBqC,CAuBtC;;;AACA,eAAO,KAAP;AACA,OAzBD,CAZmC,CAuCnC;;;AACAvF,MAAAA,IAAI,CAACkjB,OAAL,GAAe,EAAf;AACAljB,MAAAA,IAAI,CAACojB,MAAL,GAAc,EAAd,CAzCmC,CA2CnC;;AACApjB,MAAAA,IAAI,CAACuZ,OAAL,GAAevZ,IAAI,CAACuZ,OAAL,CAAarY,GAAb,CAAkB,UAAWqZ,MAAX,EAAmB5Z,CAAnB,EAAuB;AACvD;AACA,YAAIyF,OAAO,GAAG1L,GAAG,CAACk6B,UAAJ,CAAgBra,MAAM,CAAChV,EAAvB,CAAd,CAFuD,CAIvD;;AACA,YACC7K,GAAG,CAAC0V,WAAJ,MACAmK,MAAM,CAACnD,QAAP,IAAmB,iBAFpB,EAGE;AACDmD,UAAAA,MAAM,CAACnD,QAAP,GAAkB,QAAlB;AACA,SAVsD,CAYvD;;;AACA,YAAK,CAAEhR,OAAP,EAAiB;AAChB,cAAIgyB,cAAc,GAAG9wB,UAAU,CAAE5M,GAAG,CAACiI,GAAJ,CAAS,YAAT,CAAF,CAA/B;;AACA,cAAKy1B,cAAc,IAAI,GAAvB,EAA6B;AAC5B,gBAAIC,aAAa,GAAG,CACnB,8BADmB,EAEnB,uCAFmB,EAGnB,WAAW39B,GAAG,CAACinB,OAAJ,CAAapH,MAAM,CAACtF,KAApB,CAAX,GAAyC,SAHtB,EAInB,OAJmB,EAKnB,4CALmB,EAMnB,+DANmB,EAOnB,oDACCva,GAAG,CAACinB,OAAJ,CAAapH,MAAM,CAACtF,KAApB,CADD,GAEC,SATkB,EAUnB,2DAVmB,EAWnB,WAXmB,EAYnB,QAZmB,EAanB,QAbmB,EAclBqK,IAdkB,CAcZ,EAdY,CAApB;AAeA,WAhBD,MAgBO;AACN,gBAAI+Y,aAAa,GAAG,CACnB,+DADmB,EAEnB,oDACC39B,GAAG,CAACinB,OAAJ,CAAapH,MAAM,CAACtF,KAApB,CADD,GAEC,SAJkB,EAKnB,2DALmB,EAMnB,WANmB,EAOnB,uCAPmB,EAQnB,WAAWva,GAAG,CAACinB,OAAJ,CAAapH,MAAM,CAACtF,KAApB,CAAX,GAAyC,SARtB,EASnB,OATmB,EAUlBqK,IAVkB,CAUZ,EAVY,CAApB;AAWA,WA9Be,CAgChB;;;AACA,cAAK,CAAE/E,MAAM,CAAC+d,OAAd,EAAwB/d,MAAM,CAAC+d,OAAP,GAAiB,EAAjB,CAjCR,CAmChB;;AACA,cAAIrD,QAAQ,GAAGz6B,CAAC,CACf,CACC,cACC+f,MAAM,CAAChV,EADR,GAEC,mBAFD,GAGCgV,MAAM,CAAC+d,OAHR,GAIC,IALF,EAMCD,aAND,EAOC,sBAPD,EAQC9d,MAAM,CAACpL,IARR,EASC,QATD,EAUC,QAVD,EAWEmQ,IAXF,CAWQ,EAXR,CADe,CAAhB,CApCgB,CAmDhB;;AACA,cAAK9kB,CAAC,CAAE,eAAF,CAAD,CAAqBiF,MAA1B,EAAmC;AAClC,gBAAI84B,MAAM,GAAG/9B,CAAC,CAAE,8BAAF,CAAd;AACA,gBAAI8T,MAAM,GAAG9T,CAAC,CACb,CACC,iBAAiB+f,MAAM,CAAChV,EAAxB,GAA6B,SAD9B,EAEC,2CACCgV,MAAM,CAAChV,EADR,GAEC,6BAFD,GAGCgV,MAAM,CAAChV,EAHR,GAIC,gBAJD,GAKCgV,MAAM,CAAChV,EALR,GAMC,sBARF,EASC,MAAMgV,MAAM,CAACtF,KATd,EAUC,UAVD,EAWEqK,IAXF,CAWQ,EAXR,CADa,CAAd,CAFkC,CAiBlC;;AACAuY,YAAAA,UAAU,CACTU,MAAM,CAACjoB,IAAP,CAAa,OAAb,EAAuB5Q,KAAvB,EADS,EAET4O,MAAM,CAACgC,IAAP,CAAa,OAAb,CAFS,CAAV,CAlBkC,CAuBlC;;AACAioB,YAAAA,MAAM,CAAC3pB,MAAP,CAAeN,MAAf;AACA,WA7Ee,CA+EhB;;;AACA,cAAK9T,CAAC,CAAE,UAAF,CAAD,CAAgBiF,MAArB,EAA8B;AAC7Bo4B,YAAAA,UAAU,CACTr9B,CAAC,CAAE,qBAAF,CAAD,CAA2BkF,KAA3B,EADS,EAETu1B,QAAQ,CAACtmB,QAAT,CAAmB,YAAnB,CAFS,CAAV;AAIAkpB,YAAAA,UAAU,CACTr9B,CAAC,CAAE,iBAAF,CAAD,CAAuBkF,KAAvB,EADS,EAETu1B,QAAQ,CAACtmB,QAAT,CAAmB,QAAnB,CAFS,CAAV;AAIA,WAzFe,CA2FhB;;;AACA,cAAK4L,MAAM,CAACnD,QAAP,KAAoB,MAAzB,EAAkC;AACjC5c,YAAAA,CAAC,CAAE,MAAM+f,MAAM,CAACnD,QAAb,GAAwB,YAA1B,CAAD,CAA0CxI,MAA1C,CACCqmB,QADD,EADiC,CAKjC;AACA,WAND,MAMO;AACNz6B,YAAAA,CAAC,CAAE,MAAM+f,MAAM,CAACnD,QAAb,GAAwB,YAA1B,CAAD,CAA0C5H,OAA1C,CACCylB,QADD;AAGA,WAtGe,CAwGhB;;;AACA,cAAI5lB,KAAK,GAAG,EAAZ;AACArP,UAAAA,IAAI,CAACuZ,OAAL,CAAarY,GAAb,CAAkB,UAAWs3B,OAAX,EAAqB;AACtC,gBACCje,MAAM,CAACnD,QAAP,KAAoBohB,OAAO,CAACphB,QAA5B,IACA5c,CAAC,CACA,MACC+f,MAAM,CAACnD,QADR,GAEC,cAFD,GAGCohB,OAAO,CAACjzB,EAJT,CAAD,CAKE9F,MAPH,EAQE;AACD4P,cAAAA,KAAK,CAACzF,IAAN,CAAY4uB,OAAO,CAACjzB,EAApB;AACA;AACD,WAZD;AAaA2yB,UAAAA,WAAW,CAAE3d,MAAM,CAAChV,EAAT,EAAa8J,KAAb,CAAX,CAvHgB,CAyHhB;;AACA,cAAKrP,IAAI,CAACy4B,MAAV,EAAmB;AAClB;AACA,iBAAM,IAAIrhB,QAAV,IAAsBpX,IAAI,CAACy4B,MAA3B,EAAoC;AACnC;AACA,kBAAIppB,KAAK,GAAGrP,IAAI,CAACy4B,MAAL,CAAarhB,QAAb,EAAwB1W,KAAxB,CAA+B,GAA/B,CAAZ,CAFmC,CAInC;;AACA,kBAAKw3B,WAAW,CAAE3d,MAAM,CAAChV,EAAT,EAAa8J,KAAb,CAAhB,EAAuC;AACtC;AACA;AACD;AACD,WArIe,CAuIhB;;;AACAjJ,UAAAA,OAAO,GAAG1L,GAAG,CAACgM,UAAJ,CAAgB6T,MAAhB,CAAV,CAxIgB,CA0IhB;;AACA7f,UAAAA,GAAG,CAACkB,QAAJ,CAAc,QAAd,EAAwBq5B,QAAxB;AACAv6B,UAAAA,GAAG,CAACkB,QAAJ,CAAc,gBAAd,EAAgCwK,OAAhC;AACA,SA1JsD,CA4JvD;;;AACAA,QAAAA,OAAO,CAAC4G,UAAR,GA7JuD,CA+JvD;;AACAhN,QAAAA,IAAI,CAACkjB,OAAL,CAAatZ,IAAb,CAAmB2Q,MAAM,CAAChV,EAA1B,EAhKuD,CAkKvD;;AACA,eAAOgV,MAAP;AACA,OApKc,CAAf,CA5CmC,CAkNnC;;AACA7f,MAAAA,GAAG,CAACm6B,YAAJ,GAAmB3zB,GAAnB,CAAwB,UAAWkF,OAAX,EAAqB;AAC5C,YAAKpG,IAAI,CAACkjB,OAAL,CAAa9gB,OAAb,CAAsBgE,OAAO,CAACzD,GAAR,CAAa,IAAb,CAAtB,MAAgD,CAAC,CAAtD,EAA0D;AACzD;AACAyD,UAAAA,OAAO,CAAC8G,WAAR,GAFyD,CAIzD;;AACAlN,UAAAA,IAAI,CAACojB,MAAL,CAAYxZ,IAAZ,CAAkBxD,OAAO,CAACzD,GAAR,CAAa,IAAb,CAAlB;AACA;AACD,OARD,EAnNmC,CA6NnC;;AACAnI,MAAAA,CAAC,CAAE,YAAF,CAAD,CAAkB2U,IAAlB,CAAwBnP,IAAI,CAAC+0B,KAA7B,EA9NmC,CAgOnC;;AACAr6B,MAAAA,GAAG,CAACkB,QAAJ,CAAc,qBAAd,EAAqCoE,IAArC;AACA,KAnd0B;AAqd3B43B,IAAAA,gBAAgB,EAAE,UAAWjZ,IAAX,EAAkB,CAAE;AArdX,GAAf,CAAb;AAwdA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACC,MAAI+Z,WAAW,GAAG,IAAIh+B,GAAG,CAACoK,KAAR,CAAe;AAChC;AACA6zB,IAAAA,SAAS,EAAE,EAFqB;AAIhC;AACAzqB,IAAAA,IAAI,EAAE,SAL0B;AAOhCE,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAK,CAAE1T,GAAG,CAAC0V,WAAJ,EAAP,EAA2B;AAC1B;AACA,OAJsB,CAMvB;;;AACAkgB,MAAAA,EAAE,CAACtwB,IAAH,CAAQ44B,SAAR,CAAmBl+B,GAAG,CAACm+B,QAAJ,CAAc,KAAKnnB,QAAnB,EAA8B+F,IAA9B,CAAoC,IAApC,CAAnB,EAPuB,CASvB;;AACA/c,MAAAA,GAAG,CAACiM,MAAJ,CAAWovB,eAAX,GAA6B,KAAKA,eAAlC;AACAr7B,MAAAA,GAAG,CAACiM,MAAJ,CAAWqvB,aAAX,GAA2B,KAAKA,aAAhC;AACAt7B,MAAAA,GAAG,CAACiM,MAAJ,CAAWuvB,WAAX,GAAyB,KAAKA,WAA9B;AACAx7B,MAAAA,GAAG,CAACiM,MAAJ,CAAWwvB,aAAX,GAA2B,KAAKA,aAAhC;AACAz7B,MAAAA,GAAG,CAACiM,MAAJ,CAAWyvB,gBAAX,GAA8B,KAAKA,gBAAnC,CAduB,CAgBvB;;AACA17B,MAAAA,GAAG,CAACsV,MAAJ,CAAW1T,OAAX,GAjBuB,CAmBvB;;AACA,UAAI87B,cAAc,GAAG9wB,UAAU,CAAE5M,GAAG,CAACiI,GAAJ,CAAS,YAAT,CAAF,CAA/B;;AACA,UAAKy1B,cAAc,IAAI,GAAvB,EAA6B;AAC5B,aAAK58B,SAAL,CACC,qBADD,EAEC,KAAKs9B,mBAFN;AAIA,OA1BsB,CA4BvB;;;AACAxI,MAAAA,EAAE,CAACyI,QAAH,CAAar+B,GAAG,CAACyoB,OAAjB;AACA,KArC+B;AAuChCzR,IAAAA,QAAQ,EAAE,YAAY;AACrB;AACA,UAAIoD,UAAU,GAAG,CAAE,UAAF,EAAc,QAAd,EAAwB,QAAxB,CAAjB,CAFqB,CAIrB;;AACA,OAAEwb,EAAE,CAACtwB,IAAH,CAAQ0V,MAAR,CAAgB,MAAhB,EAAyBsjB,aAAzB,MAA4C,EAA9C,EAAmD93B,GAAnD,CAAwD,UACvD+3B,QADuD,EAEtD;AACDnkB,QAAAA,UAAU,CAAClL,IAAX,CAAiBqvB,QAAQ,CAACC,SAA1B;AACA,OAJD,EALqB,CAWrB;;AACA,UAAIC,UAAU,GAAG7I,EAAE,CAACtwB,IAAH,CAAQ0V,MAAR,CAAgB,aAAhB,EAAgC0jB,YAAhC,EAAjB;;AACA,UAAIT,SAAS,GAAG,EAAhB;AACA7jB,MAAAA,UAAU,CAAC5T,GAAX,CAAgB,UAAWtC,CAAX,EAAe;AAC9B,YAAKu6B,UAAU,CAAEv6B,CAAF,CAAV,KAAoBnE,SAAzB,EAAqC;AACpCk+B,UAAAA,SAAS,CAAE/5B,CAAF,CAAT,GAAiBu6B,UAAU,CAAEv6B,CAAF,CAA3B;AACA;AACD,OAJD,EAdqB,CAoBrB;;AACA,UACCuX,IAAI,CAACI,SAAL,CAAgBoiB,SAAhB,MAAgCxiB,IAAI,CAACI,SAAL,CAAgB,KAAKoiB,SAArB,CADjC,EAEE;AACD,aAAKA,SAAL,GAAiBA,SAAjB,CADC,CAGD;;AACAj+B,QAAAA,GAAG,CAACiM,MAAJ,CAAWC,KAAX;AACA;AACD,KApE+B;AAsEhCmvB,IAAAA,eAAe,EAAE,YAAY;AAC5B,aAAOzF,EAAE,CAACtwB,IAAH,CACL0V,MADK,CACG,aADH,EAEL2jB,sBAFK,CAEmB,UAFnB,CAAP;AAGA,KA1E+B;AA4EhCrD,IAAAA,aAAa,EAAE,UAAWxzB,CAAX,EAAc1D,GAAd,EAAoB;AAClC,aAAOwxB,EAAE,CAACtwB,IAAH,CACL0V,MADK,CACG,aADH,EAEL2jB,sBAFK,CAEmB,QAFnB,CAAP;AAGA,KAhF+B;AAkFhCnD,IAAAA,WAAW,EAAE,YAAY;AACxB,aAAO5F,EAAE,CAACtwB,IAAH,CACL0V,MADK,CACG,aADH,EAEL2jB,sBAFK,CAEmB,MAFnB,CAAP;AAGA,KAtF+B;AAwFhClD,IAAAA,aAAa,EAAE,UAAW3zB,CAAX,EAAc1D,GAAd,EAAoB;AAClC,aAAOwxB,EAAE,CAACtwB,IAAH,CACL0V,MADK,CACG,aADH,EAEL2jB,sBAFK,CAEmB,QAFnB,CAAP;AAGA,KA5F+B;AA8FhCjD,IAAAA,gBAAgB,EAAE,YAAY;AAC7B;AACA,UAAIC,KAAK,GAAG,EAAZ,CAF6B,CAI7B;;AACA,UAAIiD,UAAU,GAAGhJ,EAAE,CAACtwB,IAAH,CAAQ0V,MAAR,CAAgB,MAAhB,EAAyBsjB,aAAzB,MAA4C,EAA7D;AACAM,MAAAA,UAAU,CAACp4B,GAAX,CAAgB,UAAW+3B,QAAX,EAAsB;AACrC;AACA,YAAIxB,SAAS,GAAGnH,EAAE,CAACtwB,IAAH,CACd0V,MADc,CACN,aADM,EAEd2jB,sBAFc,CAEUJ,QAAQ,CAACC,SAFnB,CAAhB;;AAGA,YAAKzB,SAAL,EAAiB;AAChBpB,UAAAA,KAAK,CAAE4C,QAAQ,CAACM,IAAX,CAAL,GAAyB9B,SAAzB;AACA;AACD,OARD,EAN6B,CAgB7B;;AACA,aAAOpB,KAAP;AACA,KAhH+B;;AAkHhC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEyC,IAAAA,mBAAmB,EAAE,UAAW94B,IAAX,EAAkB;AACtC;AACA,UAAI0V,MAAM,GAAG4a,EAAE,CAACtwB,IAAH,CAAQ0V,MAAR,CAAgB,gBAAhB,CAAb;AACA,UAAI8jB,QAAQ,GAAGlJ,EAAE,CAACtwB,IAAH,CAAQw5B,QAAR,CAAkB,gBAAlB,CAAf,CAHsC,CAKtC;;AACA,UAAIC,SAAS,GAAG,EAAhB;AACA/jB,MAAAA,MAAM,CAACgkB,yBAAP,GAAmCx4B,GAAnC,CAAwC,UAAWoY,QAAX,EAAsB;AAC7DmgB,QAAAA,SAAS,CAAEngB,QAAF,CAAT,GAAwB5D,MAAM,CAACikB,uBAAP,CACvBrgB,QADuB,CAAxB;AAGA,OAJD,EAPsC,CAatC;;AACA,UAAI6e,GAAG,GAAG,EAAV;;AACA,WAAM,IAAIv5B,CAAV,IAAe66B,SAAf,EAA2B;AAC1BA,QAAAA,SAAS,CAAE76B,CAAF,CAAT,CAAesC,GAAf,CAAoB,UAAW04B,CAAX,EAAe;AAClCzB,UAAAA,GAAG,CAACvuB,IAAJ,CAAUgwB,CAAC,CAACr0B,EAAZ;AACA,SAFD;AAGA,OAnBqC,CAqBtC;;;AACAvF,MAAAA,IAAI,CAACuZ,OAAL,CACEhM,MADF,CACU,UAAWssB,CAAX,EAAe;AACvB,eAAO1B,GAAG,CAAC/1B,OAAJ,CAAay3B,CAAC,CAACt0B,EAAf,MAAwB,CAAC,CAAhC;AACA,OAHF,EAIErE,GAJF,CAIO,UAAWqZ,MAAX,EAAmB5Z,CAAnB,EAAuB;AAC5B;AACA,YAAI2Y,QAAQ,GAAGiB,MAAM,CAACnD,QAAtB;AACAqiB,QAAAA,SAAS,CAAEngB,QAAF,CAAT,GAAwBmgB,SAAS,CAAEngB,QAAF,CAAT,IAAyB,EAAjD,CAH4B,CAK5B;;AACAmgB,QAAAA,SAAS,CAAEngB,QAAF,CAAT,CAAsB1P,IAAtB,CAA4B;AAC3BrE,UAAAA,EAAE,EAAEgV,MAAM,CAAChV,EADgB;AAE3B0P,UAAAA,KAAK,EAAEsF,MAAM,CAACtF;AAFa,SAA5B;AAIA,OAdF,EAtBsC,CAsCtC;;AACA,WAAM,IAAIrW,CAAV,IAAe66B,SAAf,EAA2B;AAC1BA,QAAAA,SAAS,CAAE76B,CAAF,CAAT,GAAiB66B,SAAS,CAAE76B,CAAF,CAAT,CAAe2O,MAAf,CAAuB,UAAWqsB,CAAX,EAAe;AACtD,iBAAO55B,IAAI,CAACojB,MAAL,CAAYhhB,OAAZ,CAAqBw3B,CAAC,CAACr0B,EAAvB,MAAgC,CAAC,CAAxC;AACA,SAFgB,CAAjB;AAGA,OA3CqC,CA6CtC;;;AACAi0B,MAAAA,QAAQ,CAACM,gCAAT,CAA2CL,SAA3C;AACA;AA5K+B,GAAf,CAAlB;AA8KA,CAlpBD,EAkpBK3yB,MAlpBL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAECC,EAAAA,GAAG,CAACuL,UAAJ,GAAiB,UAAWL,OAAX,EAAoBR,KAApB,EAA4B;AAC5C;AACAA,IAAAA,KAAK,GAAG1K,GAAG,CAAC0B,SAAJ,CAAegJ,KAAf,EAAsB;AAC7BU,MAAAA,SAAS,EAAE,KADkB;AAE7Bic,MAAAA,WAAW,EAAE,EAFgB;AAG7BxM,MAAAA,QAAQ,EAAE,KAHmB;AAI7B3S,MAAAA,KAAK,EAAE,KAJsB;AAK7BiE,MAAAA,IAAI,EAAE,KALuB;AAM7Bb,MAAAA,UAAU,EAAE,EANiB;AAO7BuY,MAAAA,QAAQ,EAAE,UAAWve,IAAX,EAAkB;AAC3B,eAAOA,IAAP;AACA,OAT4B;AAU7B+5B,MAAAA,WAAW,EAAE,UAAWpb,IAAX,EAAkB;AAC9B,eAAOA,IAAP;AACA;AAZ4B,KAAtB,CAAR,CAF4C,CAiB5C;;AACA,QAAKqb,UAAU,MAAM,CAArB,EAAyB;AACxB,UAAIt0B,OAAO,GAAG,IAAIu0B,SAAJ,CAAer0B,OAAf,EAAwBR,KAAxB,CAAd;AACA,KAFD,MAEO;AACN,UAAIM,OAAO,GAAG,IAAIw0B,SAAJ,CAAet0B,OAAf,EAAwBR,KAAxB,CAAd;AACA,KAtB2C,CAwB5C;;;AACA1K,IAAAA,GAAG,CAACkB,QAAJ,CAAc,aAAd,EAA6B8J,OAA7B,EAzB4C,CA2B5C;;AACA,WAAOA,OAAP;AACA,GA7BD;AA+BA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC,WAASs0B,UAAT,GAAsB;AACrB;AACA,QAAKt/B,GAAG,CAAC6d,KAAJ,CAAWwD,MAAX,EAAmB,QAAnB,EAA6B,IAA7B,EAAmC,SAAnC,EAA8C,KAA9C,CAAL,EAA6D;AAC5D,aAAO,CAAP;AACA,KAJoB,CAMrB;;;AACA,QAAKrhB,GAAG,CAAC6d,KAAJ,CAAWwD,MAAX,EAAmB,SAAnB,CAAL,EAAsC;AACrC,aAAO,CAAP;AACA,KAToB,CAWrB;;;AACA,WAAO,KAAP;AACA;AAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEC,MAAIoe,OAAO,GAAGz/B,GAAG,CAACoK,KAAJ,CAAUhD,MAAV,CAAkB;AAC/B4I,IAAAA,KAAK,EAAE,UAAW9E,OAAX,EAAoBR,KAApB,EAA4B;AAClC5K,MAAAA,CAAC,CAACsH,MAAF,CAAU,KAAK9B,IAAf,EAAqBoF,KAArB;AACA,WAAKtG,GAAL,GAAW8G,OAAX;AACA,KAJ8B;AAM/BwI,IAAAA,UAAU,EAAE,YAAY,CAAE,CANK;AAQ/BsZ,IAAAA,YAAY,EAAE,UAAWnnB,KAAX,EAAmB;AAChC,UAAIwmB,OAAO,GAAG,KAAKqT,SAAL,CAAgB75B,KAAhB,CAAd;;AACA,UAAK,CAAEwmB,OAAO,CAACpd,IAAR,CAAc,UAAd,CAAP,EAAoC;AACnCod,QAAAA,OAAO,CAACpd,IAAR,CAAc,UAAd,EAA0B,IAA1B,EAAiCyH,OAAjC,CAA0C,QAA1C;AACA;AACD,KAb8B;AAe/BipB,IAAAA,cAAc,EAAE,UAAW95B,KAAX,EAAmB;AAClC,UAAIwmB,OAAO,GAAG,KAAKqT,SAAL,CAAgB75B,KAAhB,CAAd;;AACA,UAAKwmB,OAAO,CAACpd,IAAR,CAAc,UAAd,CAAL,EAAkC;AACjCod,QAAAA,OAAO,CAACpd,IAAR,CAAc,UAAd,EAA0B,KAA1B,EAAkCyH,OAAlC,CAA2C,QAA3C;AACA;AACD,KApB8B;AAsB/BgpB,IAAAA,SAAS,EAAE,UAAW75B,KAAX,EAAmB;AAC7B,aAAO,KAAK/F,CAAL,CAAQ,mBAAmB+F,KAAnB,GAA2B,IAAnC,CAAP;AACA,KAxB8B;AA0B/BinB,IAAAA,SAAS,EAAE,UAAW8S,MAAX,EAAoB;AAC9B;AACAA,MAAAA,MAAM,GAAG5/B,GAAG,CAAC0B,SAAJ,CAAek+B,MAAf,EAAuB;AAC/B/0B,QAAAA,EAAE,EAAE,EAD2B;AAE/B9B,QAAAA,IAAI,EAAE,EAFyB;AAG/B4N,QAAAA,QAAQ,EAAE;AAHqB,OAAvB,CAAT,CAF8B,CAQ9B;;AACA,UAAI0V,OAAO,GAAG,KAAKqT,SAAL,CAAgBE,MAAM,CAAC/0B,EAAvB,CAAd,CAT8B,CAW9B;;AACA,UAAK,CAAEwhB,OAAO,CAACtnB,MAAf,EAAwB;AACvBsnB,QAAAA,OAAO,GAAGvsB,CAAC,CAAE,mBAAF,CAAX;AACAusB,QAAAA,OAAO,CAAC5X,IAAR,CAAcmrB,MAAM,CAAC72B,IAArB;AACAsjB,QAAAA,OAAO,CAAC9X,IAAR,CAAc,OAAd,EAAuBqrB,MAAM,CAAC/0B,EAA9B;AACAwhB,QAAAA,OAAO,CAACpd,IAAR,CAAc,UAAd,EAA0B2wB,MAAM,CAACjpB,QAAjC;AACA,aAAKvS,GAAL,CAAS8P,MAAT,CAAiBmY,OAAjB;AACA,OAlB6B,CAoB9B;;;AACA,aAAOA,OAAP;AACA,KAhD8B;AAkD/BtV,IAAAA,QAAQ,EAAE,YAAY;AACrB;AACA,UAAIzK,GAAG,GAAG,EAAV;AACA,UAAIuzB,QAAQ,GAAG,KAAKz7B,GAAL,CAASwR,IAAT,CAAe,iBAAf,CAAf,CAHqB,CAKrB;;AACA,UAAK,CAAEiqB,QAAQ,CAACvmB,MAAT,EAAP,EAA2B;AAC1B,eAAOhN,GAAP;AACA,OARoB,CAUrB;;;AACAuzB,MAAAA,QAAQ,GAAGA,QAAQ,CAACC,IAAT,CAAe,UAAWC,CAAX,EAAcC,CAAd,EAAkB;AAC3C,eACC,CAACD,CAAC,CAACE,YAAF,CAAgB,QAAhB,CAAD,GAA8B,CAACD,CAAC,CAACC,YAAF,CAAgB,QAAhB,CADhC;AAGA,OAJU,CAAX,CAXqB,CAiBrB;;AACAJ,MAAAA,QAAQ,CAACx4B,IAAT,CAAe,YAAY;AAC1B,YAAIjD,GAAG,GAAGtE,CAAC,CAAE,IAAF,CAAX;AACAwM,QAAAA,GAAG,CAAC4C,IAAJ,CAAU;AACT9K,UAAAA,GAAG,EAAEA,GADI;AAETyG,UAAAA,EAAE,EAAEzG,GAAG,CAACmQ,IAAJ,CAAU,OAAV,CAFK;AAGTxL,UAAAA,IAAI,EAAE3E,GAAG,CAAC2E,IAAJ;AAHG,SAAV;AAKA,OAPD,EAlBqB,CA2BrB;;AACA,aAAOuD,GAAP;AACA,KA/E8B;AAiF/B4zB,IAAAA,YAAY,EAAE,YAAY,CAAE,CAjFG;AAmF/BC,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAIC,KAAK,GAAG,UAAWlrB,OAAX,EAAqB;AAChC;AACA,YAAIlH,OAAO,GAAG,EAAd,CAFgC,CAIhC;;AACAkH,QAAAA,OAAO,CAACjB,QAAR,GAAmB5M,IAAnB,CAAyB,YAAY;AACpC;AACA,cAAIg5B,MAAM,GAAGvgC,CAAC,CAAE,IAAF,CAAd,CAFoC,CAIpC;;AACA,cAAKugC,MAAM,CAAC97B,EAAP,CAAW,UAAX,CAAL,EAA+B;AAC9ByJ,YAAAA,OAAO,CAACkB,IAAR,CAAc;AACbnG,cAAAA,IAAI,EAAEs3B,MAAM,CAAC9rB,IAAP,CAAa,OAAb,CADO;AAEbN,cAAAA,QAAQ,EAAEmsB,KAAK,CAAEC,MAAF;AAFF,aAAd,EAD8B,CAM9B;AACA,WAPD,MAOO;AACNryB,YAAAA,OAAO,CAACkB,IAAR,CAAc;AACbrE,cAAAA,EAAE,EAAEw1B,MAAM,CAAC9rB,IAAP,CAAa,OAAb,CADS;AAEbxL,cAAAA,IAAI,EAAEs3B,MAAM,CAACt3B,IAAP;AAFO,aAAd;AAIA;AACD,SAlBD,EALgC,CAyBhC;;AACA,eAAOiF,OAAP;AACA,OA3BD,CAFuB,CA+BvB;;;AACA,aAAOoyB,KAAK,CAAE,KAAKh8B,GAAP,CAAZ;AACA,KApH8B;AAsH/BgiB,IAAAA,WAAW,EAAE,UAAWka,MAAX,EAAoB;AAChC;AACA,UAAIzc,QAAQ,GAAG;AACdjd,QAAAA,MAAM,EAAE,KAAKqB,GAAL,CAAU,YAAV,CADM;AAEdnE,QAAAA,CAAC,EAAEw8B,MAAM,CAAClU,IAAP,IAAe,EAFJ;AAGdvG,QAAAA,KAAK,EAAEya,MAAM,CAACC,IAAP,IAAe;AAHR,OAAf,CAFgC,CAQhC;;AACA,UAAIr4B,KAAK,GAAG,KAAKD,GAAL,CAAU,OAAV,CAAZ;;AACA,UAAKC,KAAL,EAAa;AACZ2b,QAAAA,QAAQ,CAACC,SAAT,GAAqB5b,KAAK,CAACD,GAAN,CAAW,KAAX,CAArB;AACA,OAZ+B,CAchC;;;AACA,UAAIpB,QAAQ,GAAG,KAAKoB,GAAL,CAAU,UAAV,CAAf;;AACA,UAAKpB,QAAL,EAAgB;AACfgd,QAAAA,QAAQ,GAAGhd,QAAQ,CAAChC,KAAT,CAAgB,IAAhB,EAAsB,CAAEgf,QAAF,EAAYyc,MAAZ,CAAtB,CAAX;AACA,OAlB+B,CAoBhC;;;AACAzc,MAAAA,QAAQ,GAAG7jB,GAAG,CAACwB,YAAJ,CACV,mBADU,EAEVqiB,QAFU,EAGV,KAAKve,IAHK,EAIV,KAAKlB,GAJK,EAKV8D,KAAK,IAAI,KALC,EAMV,IANU,CAAX,CArBgC,CA8BhC;;AACA,aAAOlI,GAAG,CAACoC,cAAJ,CAAoByhB,QAApB,CAAP;AACA,KAtJ8B;AAwJ/B2c,IAAAA,cAAc,EAAE,UAAWvc,IAAX,EAAiBqc,MAAjB,EAA0B;AACzC;AACArc,MAAAA,IAAI,GAAGjkB,GAAG,CAAC0B,SAAJ,CAAeuiB,IAAf,EAAqB;AAC3BpF,QAAAA,OAAO,EAAE,KADkB;AAE3B4H,QAAAA,IAAI,EAAE;AAFqB,OAArB,CAAP,CAFyC,CAOzC;;AACA,UAAI5f,QAAQ,GAAG,KAAKoB,GAAL,CAAU,aAAV,CAAf;;AACA,UAAKpB,QAAL,EAAgB;AACfod,QAAAA,IAAI,GAAGpd,QAAQ,CAAChC,KAAT,CAAgB,IAAhB,EAAsB,CAAEof,IAAF,EAAQqc,MAAR,CAAtB,CAAP;AACA,OAXwC,CAazC;;;AACArc,MAAAA,IAAI,GAAGjkB,GAAG,CAACwB,YAAJ,CACN,sBADM,EAENyiB,IAFM,EAGNqc,MAHM,EAIN,IAJM,CAAP,CAdyC,CAqBzC;;AACA,aAAOrc,IAAP;AACA,KA/K8B;AAiL/Bwc,IAAAA,kBAAkB,EAAE,UAAWxc,IAAX,EAAiBqc,MAAjB,EAA0B;AAC7C;AACA,UAAIrc,IAAI,GAAG,KAAKuc,cAAL,CAAqBvc,IAArB,EAA2Bqc,MAA3B,CAAX,CAF6C,CAI7C;;AACA,UAAKrc,IAAI,CAACwC,IAAV,EAAiB;AAChBxC,QAAAA,IAAI,CAACyc,UAAL,GAAkB;AAAEja,UAAAA,IAAI,EAAE;AAAR,SAAlB;AACA,OAP4C,CAS7C;;;AACAnQ,MAAAA,UAAU,CAAExW,CAAC,CAACmb,KAAF,CAAS,KAAKilB,YAAd,EAA4B,IAA5B,CAAF,EAAsC,CAAtC,CAAV,CAV6C,CAY7C;;AACA,aAAOjc,IAAP;AACA,KA/L8B;AAiM/BzY,IAAAA,OAAO,EAAE,YAAY;AACpB;AACA,UAAK,KAAKpH,GAAL,CAASkB,IAAT,CAAe,SAAf,CAAL,EAAkC;AACjC,aAAKlB,GAAL,CAAS4G,OAAT,CAAkB,SAAlB;AACA,OAJmB,CAMpB;;;AACA,WAAK5G,GAAL,CAAS2R,QAAT,CAAmB,oBAAnB,EAA0CvT,MAA1C;AACA;AAzM8B,GAAlB,CAAd;AA4MA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAI+8B,SAAS,GAAGE,OAAO,CAACr4B,MAAR,CAAgB;AAC/BsM,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAIxI,OAAO,GAAG,KAAK9G,GAAnB;AACA,UAAIqxB,OAAO,GAAG;AACb7T,QAAAA,KAAK,EAAE,MADM;AAEb+e,QAAAA,UAAU,EAAE,KAAK14B,GAAL,CAAU,WAAV,CAFC;AAGbof,QAAAA,WAAW,EAAE,KAAKpf,GAAL,CAAU,aAAV,CAHA;AAIb4S,QAAAA,QAAQ,EAAE,KAAK5S,GAAL,CAAU,UAAV,CAJG;AAKb3C,QAAAA,IAAI,EAAE,EALO;AAMbs7B,QAAAA,YAAY,EAAE,UAAWC,MAAX,EAAoB;AACjC,cAAK,OAAOA,MAAP,KAAkB,QAAvB,EAAkC;AACjC,mBAAOA,MAAP;AACA;;AACD,iBAAO7gC,GAAG,CAACinB,OAAJ,CAAa4Z,MAAb,CAAP;AACA;AAXY,OAAd,CAHuB,CAiBvB;;AACA,UAAK,CAAE7gC,GAAG,CAAC6d,KAAJ,CAAWwD,MAAX,EAAmB,QAAnB,EAA6B,IAA7B,EAAmC,WAAnC,CAAP,EAA0D;AACzDoU,QAAAA,OAAO,CAACqL,iBAAR,GAA4B,UAAW/J,SAAX,EAAuB;AAClD,cAAIgK,UAAU,GAAGjhC,CAAC,CAAE,qCAAF,CAAlB;AACAihC,UAAAA,UAAU,CAACtsB,IAAX,CAAiBzU,GAAG,CAACinB,OAAJ,CAAa8P,SAAS,CAAChuB,IAAvB,CAAjB;AACAg4B,UAAAA,UAAU,CAACz7B,IAAX,CAAiB,SAAjB,EAA4ByxB,SAAS,CAACiK,OAAtC;AACA,iBAAOD,UAAP;AACA,SALD;AAMA,OAzBsB,CA2BvB;;;AACA,UAAKtL,OAAO,CAAC5a,QAAb,EAAwB;AACvB;AACA,aAAK9D,QAAL,GAAgBvQ,GAAhB,CAAqB,UAAWwgB,IAAX,EAAkB;AACtCA,UAAAA,IAAI,CAAC5iB,GAAL,CAAS0xB,MAAT,GAAkBmL,QAAlB,CAA4B/1B,OAA5B;AACA,SAFD;AAGA,OAjCsB,CAmCvB;;;AACA,UAAIg2B,QAAQ,GAAGh2B,OAAO,CAACqJ,IAAR,CAAc,WAAd,CAAf;;AACA,UAAK2sB,QAAQ,KAAKnhC,SAAlB,EAA8B;AAC7BmL,QAAAA,OAAO,CAACi2B,UAAR,CAAoB,MAApB;AACAj2B,QAAAA,OAAO,CAACkK,UAAR,CAAoB,WAApB;AACA,OAxCsB,CA0CvB;;;AACA,UAAK,KAAKnN,GAAL,CAAU,MAAV,CAAL,EAA0B;AACzBwtB,QAAAA,OAAO,CAACtpB,IAAR,GAAe;AACdkO,UAAAA,GAAG,EAAEra,GAAG,CAACiI,GAAJ,CAAS,SAAT,CADS;AAEdm5B,UAAAA,KAAK,EAAE,GAFO;AAGd7f,UAAAA,QAAQ,EAAE,MAHI;AAIdpZ,UAAAA,IAAI,EAAE,MAJQ;AAKdqZ,UAAAA,KAAK,EAAE,KALO;AAMdlc,UAAAA,IAAI,EAAExF,CAAC,CAACmb,KAAF,CAAS,KAAKmL,WAAd,EAA2B,IAA3B,CANQ;AAOdib,UAAAA,cAAc,EAAEvhC,CAAC,CAACmb,KAAF,CAAS,KAAKwlB,kBAAd,EAAkC,IAAlC;AAPF,SAAf;AASA,OArDsB,CAuDvB;AACA;;;AACA,UAAIv4B,KAAK,GAAG,KAAKD,GAAL,CAAU,OAAV,CAAZ;AACAwtB,MAAAA,OAAO,GAAGz1B,GAAG,CAACwB,YAAJ,CACT,cADS,EAETi0B,OAFS,EAGTvqB,OAHS,EAIT,KAAK5F,IAJI,EAKT4C,KAAK,IAAI,KALA,EAMT,IANS,CAAV,CA1DuB,CAmEvB;;AACAgD,MAAAA,OAAO,CAACF,OAAR,CAAiByqB,OAAjB,EApEuB,CAsEvB;;AACA,UAAI6L,UAAU,GAAGp2B,OAAO,CAACuM,IAAR,CAAc,oBAAd,CAAjB,CAvEuB,CAyEvB;;AACA,UAAKge,OAAO,CAAC5a,QAAb,EAAwB;AACvB;AACA,YAAIkS,GAAG,GAAGuU,UAAU,CAAC1rB,IAAX,CAAiB,IAAjB,CAAV,CAFuB,CAIvB;;AACAmX,QAAAA,GAAG,CAAC/H,QAAJ,CAAc;AACbuc,UAAAA,IAAI,EAAE,UAAWz5B,CAAX,EAAe;AACpB;AACAilB,YAAAA,GAAG,CAACnX,IAAJ,CAAU,4BAAV,EAAyCvO,IAAzC,CACC,YAAY;AACX;AACA,kBAAKvH,CAAC,CAAE,IAAF,CAAD,CAAUwF,IAAV,CAAgB,MAAhB,CAAL,EAAgC;AAC/B,oBAAI+mB,OAAO,GAAGvsB,CAAC,CACdA,CAAC,CAAE,IAAF,CAAD,CAAUwF,IAAV,CAAgB,MAAhB,EAAyB07B,OADX,CAAf;AAGA,eAJD,MAIO;AACN,oBAAI3U,OAAO,GAAGvsB,CAAC,CACdA,CAAC,CAAE,IAAF,CAAD,CACE8V,IADF,CACQ,oBADR,EAEEtQ,IAFF,CAEQ,SAFR,CADc,CAAf;AAKA,eAZU,CAcX;;;AACA+mB,cAAAA,OAAO,CAACyJ,MAAR,GAAiBmL,QAAjB,CAA2B/1B,OAA3B;AACA,aAjBF,EAFoB,CAsBpB;;AACAA,YAAAA,OAAO,CAACwL,OAAR,CAAiB,QAAjB;AACA;AAzBY,SAAd,EALuB,CAiCvB;;AACAxL,QAAAA,OAAO,CAAClD,EAAR,CACC,gBADD,EAEC,KAAKiT,KAAL,CAAY,UAAWnT,CAAX,EAAe;AAC1B,eAAK43B,SAAL,CAAgB53B,CAAC,CAACw4B,MAAF,CAASh7B,IAAT,CAAcuF,EAA9B,EACEirB,MADF,GAEEmL,QAFF,CAEY,KAAK78B,GAFjB;AAGA,SAJD,CAFD;AAQA,OApHsB,CAsHvB;;;AACA8G,MAAAA,OAAO,CAAClD,EAAR,CAAW,cAAX,EAA2B,MAAM;AAChClI,QAAAA,CAAC,CAAC,iDAAD,CAAD,CAAqDmI,GAArD,CAAyD,CAAC,CAA1D,EAA6DI,KAA7D;AACA,OAFD,EAvHuB,CA2HvB;;AACAi5B,MAAAA,UAAU,CAAC5sB,QAAX,CAAqB,MAArB,EA5HuB,CA8HvB;;AACA,UAAKwsB,QAAQ,KAAKnhC,SAAlB,EAA8B;AAC7BmL,QAAAA,OAAO,CAACqJ,IAAR,CAAc,WAAd,EAA2B2sB,QAA3B;AACA,OAjIsB,CAmIvB;;;AACAlhC,MAAAA,GAAG,CAACkB,QAAJ,CACC,cADD,EAECgK,OAFD,EAGCuqB,OAHD,EAIC,KAAKnwB,IAJN,EAKC4C,KAAK,IAAI,KALV,EAMC,IAND;AAQA,KA7I8B;AA+I/Bg4B,IAAAA,YAAY,EAAE,YAAY;AACzB;AACA,UAAIsB,YAAY,GAAG,KAAnB;AACA,UAAIC,UAAU,GAAG,KAAjB,CAHyB,CAKzB;;AACA3hC,MAAAA,CAAC,CAAE,wCAAF,CAAD,CAA8CuH,IAA9C,CAAoD,YAAY;AAC/D;AACA,YAAIw4B,QAAQ,GAAG//B,CAAC,CAAE,IAAF,CAAD,CAAUmU,QAAV,CAAoB,IAApB,CAAf;AACA,YAAIytB,MAAM,GAAG5hC,CAAC,CAAE,IAAF,CAAD,CAAUmU,QAAV,CAAoB,QAApB,CAAb,CAH+D,CAK/D;;AACA,YAAKwtB,UAAU,IAAIA,UAAU,CAAC14B,IAAX,OAAsB24B,MAAM,CAAC34B,IAAP,EAAzC,EAAyD;AACxDy4B,UAAAA,YAAY,CAACttB,MAAb,CAAqB2rB,QAAQ,CAAC5rB,QAAT,EAArB;AACAnU,UAAAA,CAAC,CAAE,IAAF,CAAD,CAAU0C,MAAV;AACA;AACA,SAV8D,CAY/D;;;AACAg/B,QAAAA,YAAY,GAAG3B,QAAf;AACA4B,QAAAA,UAAU,GAAGC,MAAb;AACA,OAfD;AAgBA;AArK8B,GAAhB,CAAhB;AAwKA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,MAAIlC,SAAS,GAAGC,OAAO,CAACr4B,MAAR,CAAgB;AAC/BsM,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAIxI,OAAO,GAAG,KAAK9G,GAAnB;AACA,UAAIyB,KAAK,GAAG,KAAKkR,QAAL,EAAZ;AACA,UAAI8D,QAAQ,GAAG,KAAK5S,GAAL,CAAU,UAAV,CAAf;AACA,UAAIwtB,OAAO,GAAG;AACb7T,QAAAA,KAAK,EAAE,MADM;AAEb+e,QAAAA,UAAU,EAAE,KAAK14B,GAAL,CAAU,WAAV,CAFC;AAGbof,QAAAA,WAAW,EAAE,KAAKpf,GAAL,CAAU,aAAV,CAHA;AAIb05B,QAAAA,SAAS,EAAE,IAJE;AAKb9mB,QAAAA,QAAQ,EAAE,KAAK5S,GAAL,CAAU,UAAV,CALG;AAMb3C,QAAAA,IAAI,EAAE,KAAK66B,UAAL,EANO;AAObS,QAAAA,YAAY,EAAE,UAAWh9B,MAAX,EAAoB;AACjC,iBAAO5D,GAAG,CAACinB,OAAJ,CAAarjB,MAAb,CAAP;AACA,SATY;AAUbg+B,QAAAA,WAAW,EAAE;AACZ,qBAAW;AADC,SAVA;AAabC,QAAAA,aAAa,EAAE,UAAWb,OAAX,EAAoBn6B,QAApB,EAA+B;AAC7C,cAAKgU,QAAL,EAAgB;AACfhU,YAAAA,QAAQ,CAAEhB,KAAF,CAAR;AACA,WAFD,MAEO;AACNgB,YAAAA,QAAQ,CAAEhB,KAAK,CAACqjB,KAAN,EAAF,CAAR;AACA;AACD;AAnBY,OAAd,CALuB,CA2BvB;;AACA,UAAIla,MAAM,GAAG9D,OAAO,CAAC6K,QAAR,CAAkB,OAAlB,CAAb;;AACA,UAAK,CAAE/G,MAAM,CAACjK,MAAd,EAAuB;AACtBiK,QAAAA,MAAM,GAAGlP,CAAC,CAAE,yBAAF,CAAV;AACAoL,QAAAA,OAAO,CAACkM,MAAR,CAAgBpI,MAAhB;AACA,OAhCsB,CAkCvB;;;AACA8yB,MAAAA,UAAU,GAAGj8B,KAAK,CAChBW,GADW,CACN,UAAWwgB,IAAX,EAAkB;AACvB,eAAOA,IAAI,CAACnc,EAAZ;AACA,OAHW,EAIX+Z,IAJW,CAIL,IAJK,CAAb;AAKA5V,MAAAA,MAAM,CAAC1C,GAAP,CAAYw1B,UAAZ,EAxCuB,CA0CvB;;AACA,UAAKrM,OAAO,CAAC5a,QAAb,EAAwB;AACvB;AACAhV,QAAAA,KAAK,CAACW,GAAN,CAAW,UAAWwgB,IAAX,EAAkB;AAC5BA,UAAAA,IAAI,CAAC5iB,GAAL,CAAS0xB,MAAT,GAAkBmL,QAAlB,CAA4B/1B,OAA5B;AACA,SAFD;AAGA,OAhDsB,CAkDvB;;;AACA,UAAKuqB,OAAO,CAACkL,UAAb,EAA0B;AACzBlL,QAAAA,OAAO,CAACnwB,IAAR,GAAemwB,OAAO,CAACnwB,IAAR,CAAauN,MAAb,CAAqB,UAAWmU,IAAX,EAAkB;AACrD,iBAAOA,IAAI,CAACnc,EAAL,KAAY,EAAnB;AACA,SAFc,CAAf;AAGA,OAvDsB,CAyDvB;;;AACAK,MAAAA,OAAO,CAACi2B,UAAR,CAAoB,MAApB;AACAj2B,MAAAA,OAAO,CAACkK,UAAR,CAAoB,WAApB,EA3DuB,CA6DvB;;AACA,UAAK,KAAKnN,GAAL,CAAU,MAAV,CAAL,EAA0B;AACzBwtB,QAAAA,OAAO,CAACtpB,IAAR,GAAe;AACdkO,UAAAA,GAAG,EAAEra,GAAG,CAACiI,GAAJ,CAAS,SAAT,CADS;AAEd85B,UAAAA,WAAW,EAAE,GAFC;AAGdxgB,UAAAA,QAAQ,EAAE,MAHI;AAIdpZ,UAAAA,IAAI,EAAE,MAJQ;AAKdqZ,UAAAA,KAAK,EAAE,KALO;AAMdlc,UAAAA,IAAI,EAAExF,CAAC,CAACmb,KAAF,CAAS,KAAKmL,WAAd,EAA2B,IAA3B,CANQ;AAOdvH,UAAAA,OAAO,EAAE/e,CAAC,CAACmb,KAAF,CAAS,KAAKwlB,kBAAd,EAAkC,IAAlC;AAPK,SAAf;AASA,OAxEsB,CA0EvB;;;AACA,UAAIv4B,KAAK,GAAG,KAAKD,GAAL,CAAU,OAAV,CAAZ;AACAwtB,MAAAA,OAAO,GAAGz1B,GAAG,CAACwB,YAAJ,CACT,cADS,EAETi0B,OAFS,EAGTvqB,OAHS,EAIT,KAAK5F,IAJI,EAKT4C,KAAK,IAAI,KALA,EAMT,IANS,CAAV,CA5EuB,CAqFvB;;AACA8G,MAAAA,MAAM,CAAChE,OAAP,CAAgByqB,OAAhB,EAtFuB,CAwFvB;;AACA,UAAI6L,UAAU,GAAGtyB,MAAM,CAAChE,OAAP,CAAgB,WAAhB,CAAjB,CAzFuB,CA2FvB;;AACA,UAAI00B,SAAS,GAAG5/B,CAAC,CAACmb,KAAF,CAAS,KAAKykB,SAAd,EAAyB,IAAzB,CAAhB,CA5FuB,CA8FvB;;AACA,UAAKjK,OAAO,CAAC5a,QAAb,EAAwB;AACvB;AACA,YAAIkS,GAAG,GAAGuU,UAAU,CAAC1rB,IAAX,CAAiB,IAAjB,CAAV,CAFuB,CAIvB;;AACAmX,QAAAA,GAAG,CAAC/H,QAAJ,CAAc;AACbuc,UAAAA,IAAI,EAAE,YAAY;AACjB;AACAxU,YAAAA,GAAG,CAACnX,IAAJ,CAAU,wBAAV,EAAqCvO,IAArC,CAA2C,YAAY;AACtD;AACA,kBAAI/B,IAAI,GAAGxF,CAAC,CAAE,IAAF,CAAD,CAAUwF,IAAV,CAAgB,aAAhB,CAAX;AACA,kBAAI+mB,OAAO,GAAGqT,SAAS,CAAEp6B,IAAI,CAACuF,EAAP,CAAvB,CAHsD,CAKtD;;AACAwhB,cAAAA,OAAO,CAACyJ,MAAR,GAAiBmL,QAAjB,CAA2B/1B,OAA3B;AACA,aAPD,EAFiB,CAWjB;;AACAA,YAAAA,OAAO,CAACwL,OAAR,CAAiB,QAAjB;AACA;AAdY,SAAd;AAgBA,OApHsB,CAsHvB;;;AACA1H,MAAAA,MAAM,CAAChH,EAAP,CAAW,mBAAX,EAAgC,UAAWF,CAAX,EAAe;AAC9C;AACA,YAAIkf,IAAI,GAAGlf,CAAC,CAACk6B,MAAb;AACA,YAAI3V,OAAO,GAAGqT,SAAS,CAAE1Y,IAAI,CAACnc,EAAP,CAAvB,CAH8C,CAK9C;;AACA,YAAK,CAAEwhB,OAAO,CAACtnB,MAAf,EAAwB;AACvBsnB,UAAAA,OAAO,GAAGvsB,CAAC,CACV,oBACCknB,IAAI,CAACnc,EADN,GAEC,IAFD,GAGCmc,IAAI,CAACje,IAHN,GAIC,WALS,CAAX;AAOA,SAd6C,CAgB9C;;;AACAsjB,QAAAA,OAAO,CAACyJ,MAAR,GAAiBmL,QAAjB,CAA2B/1B,OAA3B;AACA,OAlBD,EAvHuB,CA2IvB;;AACAo2B,MAAAA,UAAU,CAAC5sB,QAAX,CAAqB,MAArB,EA5IuB,CA8IvB;;AACA1U,MAAAA,GAAG,CAACkB,QAAJ,CACC,cADD,EAECgK,OAFD,EAGCuqB,OAHD,EAIC,KAAKnwB,IAJN,EAKC4C,KAAK,IAAI,KALV,EAMC,IAND,EA/IuB,CAwJvB;;AACA8G,MAAAA,MAAM,CAAChH,EAAP,CAAW,QAAX,EAAqB,YAAY;AAChC,YAAIsE,GAAG,GAAG0C,MAAM,CAAC1C,GAAP,EAAV;;AACA,YAAKA,GAAG,CAAC5E,OAAJ,CAAa,IAAb,CAAL,EAA2B;AAC1B4E,UAAAA,GAAG,GAAGA,GAAG,CAACtG,KAAJ,CAAW,IAAX,CAAN;AACA;;AACDkF,QAAAA,OAAO,CAACoB,GAAR,CAAaA,GAAb,EAAmBoK,OAAnB,CAA4B,QAA5B;AACA,OAND,EAzJuB,CAiKvB;;AACAxL,MAAAA,OAAO,CAACmH,IAAR;AACA,KApK8B;AAsK/B6tB,IAAAA,YAAY,EAAE,YAAY;AACzB;AACA,UAAIsB,YAAY,GAAG,KAAnB;AACA,UAAIC,UAAU,GAAG,KAAjB,CAHyB,CAKzB;;AACA3hC,MAAAA,CAAC,CAAE,6CAAF,CAAD,CAAmDuH,IAAnD,CACC,YAAY;AACX;AACA,YAAIw4B,QAAQ,GAAG//B,CAAC,CAAE,IAAF,CAAD,CAAUmU,QAAV,CAAoB,IAApB,CAAf;AACA,YAAIytB,MAAM,GAAG5hC,CAAC,CAAE,IAAF,CAAD,CAAUmU,QAAV,CAAoB,uBAApB,CAAb,CAHW,CAKX;;AACA,YAAKwtB,UAAU,IAAIA,UAAU,CAAC14B,IAAX,OAAsB24B,MAAM,CAAC34B,IAAP,EAAzC,EAAyD;AACxD04B,UAAAA,UAAU,CAACvtB,MAAX,CAAmB2rB,QAAQ,CAAC5rB,QAAT,EAAnB;AACAnU,UAAAA,CAAC,CAAE,IAAF,CAAD,CAAU0C,MAAV;AACA;AACA,SAVU,CAYX;;;AACAg/B,QAAAA,YAAY,GAAG3B,QAAf;AACA4B,QAAAA,UAAU,GAAGC,MAAb;AACA,OAhBF;AAkBA,KA9L8B;AAgM/Btb,IAAAA,WAAW,EAAE,UAAWgG,IAAX,EAAiBmU,IAAjB,EAAwB;AACpC;AACA,UAAID,MAAM,GAAG;AACZlU,QAAAA,IAAI,EAAEA,IADM;AAEZmU,QAAAA,IAAI,EAAEA;AAFM,OAAb,CAFoC,CAOpC;;AACA,UAAIr4B,KAAK,GAAG,KAAKD,GAAL,CAAU,OAAV,CAAZ;AACAq4B,MAAAA,MAAM,GAAGtgC,GAAG,CAACwB,YAAJ,CACR,mBADQ,EAER8+B,MAFQ,EAGR,KAAKh7B,IAHG,EAIR,KAAKlB,GAJG,EAKR8D,KAAK,IAAI,KALD,EAMR,IANQ,CAAT,CAToC,CAkBpC;;AACA,aAAOu3B,OAAO,CAACrxB,SAAR,CAAkBgY,WAAlB,CAA8BvhB,KAA9B,CAAqC,IAArC,EAA2C,CAAEy7B,MAAF,CAA3C,CAAP;AACA;AApN8B,GAAhB,CAAhB,CA/d2B,CAsrB3B;;AACA,MAAI2B,cAAc,GAAG,IAAIjiC,GAAG,CAACoK,KAAR,CAAe;AACnCtD,IAAAA,QAAQ,EAAE,CADyB;AAEnC0M,IAAAA,IAAI,EAAE,SAF6B;AAGnCxM,IAAAA,OAAO,EAAE;AACR2qB,MAAAA,SAAS,EAAE;AADH,KAH0B;AAMnCje,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAIuF,MAAM,GAAGjZ,GAAG,CAACiI,GAAJ,CAAS,QAAT,CAAb;AACA,UAAIiR,GAAG,GAAGlZ,GAAG,CAACiI,GAAJ,CAAS,KAAT,CAAV;AACA,UAAIzH,IAAI,GAAGR,GAAG,CAACiI,GAAJ,CAAS,aAAT,CAAX;AACA,UAAIi6B,OAAO,GAAG5C,UAAU,EAAxB,CALuB,CAOvB;;AACA,UAAK,CAAE9+B,IAAP,EAAc;AACb,eAAO,KAAP;AACA,OAVsB,CAYvB;;;AACA,UAAKyY,MAAM,CAACvR,OAAP,CAAgB,IAAhB,MAA2B,CAAhC,EAAoC;AACnC,eAAO,KAAP;AACA,OAfsB,CAiBvB;;;AACA,UAAKw6B,OAAO,IAAI,CAAhB,EAAoB;AACnB,aAAKC,gBAAL;AACA,OAFD,MAEO,IAAKD,OAAO,IAAI,CAAhB,EAAoB;AAC1B,aAAKE,gBAAL;AACA;AACD,KA7BkC;AA+BnCD,IAAAA,gBAAgB,EAAE,YAAY;AAC7B;AACA,UAAI3hC,IAAI,GAAGR,GAAG,CAACiI,GAAJ,CAAS,aAAT,CAAX;AACA,UAAIgR,MAAM,GAAGjZ,GAAG,CAACiI,GAAJ,CAAS,QAAT,CAAb,CAH6B,CAK7B;;AACAgR,MAAAA,MAAM,GAAGA,MAAM,CAAC8F,OAAP,CAAgB,GAAhB,EAAqB,GAArB,CAAT,CAN6B,CAQ7B;;AACA,UAAIsjB,WAAW,GAAG;AACjBC,QAAAA,YAAY,EAAE,YAAY;AACzB,iBAAO9hC,IAAI,CAAC+hC,SAAZ;AACA,SAHgB;AAIjBC,QAAAA,YAAY,EAAE,UAAWl+B,IAAX,EAAkB;AAC/B,cAAIm+B,SAAS,GAAGn+B,IAAI,CAACo+B,KAAL,CAAW39B,MAAX,GAAoBT,IAAI,CAACq+B,OAAzC;;AACA,cAAKF,SAAS,GAAG,CAAjB,EAAqB;AACpB,mBAAOjiC,IAAI,CAACoiC,gBAAL,CAAsB7jB,OAAtB,CAA+B,IAA/B,EAAqC0jB,SAArC,CAAP;AACA;;AACD,iBAAOjiC,IAAI,CAACqiC,gBAAZ;AACA,SAVgB;AAWjBC,QAAAA,aAAa,EAAE,UAAWx+B,IAAX,EAAkB;AAChC,cAAIy+B,cAAc,GAAGz+B,IAAI,CAAC0+B,OAAL,GAAe1+B,IAAI,CAACo+B,KAAL,CAAW39B,MAA/C;;AACA,cAAKg+B,cAAc,GAAG,CAAtB,EAA0B;AACzB,mBAAOviC,IAAI,CAACyiC,iBAAL,CAAuBlkB,OAAvB,CACN,IADM,EAENgkB,cAFM,CAAP;AAIA;;AACD,iBAAOviC,IAAI,CAAC0iC,iBAAZ;AACA,SApBgB;AAqBjBC,QAAAA,WAAW,EAAE,YAAY;AACxB,iBAAO3iC,IAAI,CAAC4iC,SAAZ;AACA,SAvBgB;AAwBjBC,QAAAA,eAAe,EAAE,UAAW/+B,IAAX,EAAkB;AAClC,cAAIq+B,OAAO,GAAGr+B,IAAI,CAACq+B,OAAnB;;AACA,cAAKA,OAAO,GAAG,CAAf,EAAmB;AAClB,mBAAOniC,IAAI,CAAC8iC,oBAAL,CAA0BvkB,OAA1B,CACN,IADM,EAEN4jB,OAFM,CAAP;AAIA;;AACD,iBAAOniC,IAAI,CAAC+iC,oBAAZ;AACA,SAjCgB;AAkCjBC,QAAAA,SAAS,EAAE,YAAY;AACtB,iBAAOhjC,IAAI,CAACijC,SAAZ;AACA,SApCgB;AAqCjBC,QAAAA,SAAS,EAAE,YAAY;AACtB,iBAAOljC,IAAI,CAACkjC,SAAZ;AACA;AAvCgB,OAAlB,CAT6B,CAmD7B;;AACAt3B,MAAAA,MAAM,CAACvE,EAAP,CAAUmD,OAAV,CAAkB24B,GAAlB,CAAsBC,MAAtB,CACC,kBAAkB3qB,MADnB,EAEC,EAFD,EAGC,YAAY;AACX,eAAOopB,WAAP;AACA,OALF;AAOA,KA1FkC;AA4FnCD,IAAAA,gBAAgB,EAAE,YAAY;AAC7B;AACA,UAAI5hC,IAAI,GAAGR,GAAG,CAACiI,GAAJ,CAAS,aAAT,CAAX;AACA,UAAIgR,MAAM,GAAGjZ,GAAG,CAACiI,GAAJ,CAAS,QAAT,CAAb,CAH6B,CAK7B;;AACAgR,MAAAA,MAAM,GAAGA,MAAM,CAAC8F,OAAP,CAAgB,GAAhB,EAAqB,GAArB,CAAT,CAN6B,CAQ7B;;AACA,UAAIsjB,WAAW,GAAG;AACjBwB,QAAAA,aAAa,EAAE,UAAWC,OAAX,EAAqB;AACnC,cAAKA,OAAO,GAAG,CAAf,EAAmB;AAClB,mBAAOtjC,IAAI,CAACujC,SAAL,CAAehlB,OAAf,CAAwB,IAAxB,EAA8B+kB,OAA9B,CAAP;AACA;;AACD,iBAAOtjC,IAAI,CAACwjC,SAAZ;AACA,SANgB;AAOjBC,QAAAA,eAAe,EAAE,YAAY;AAC5B,iBAAOzjC,IAAI,CAACijC,SAAZ;AACA,SATgB;AAUjBS,QAAAA,eAAe,EAAE,YAAY;AAC5B,iBAAO1jC,IAAI,CAAC+hC,SAAZ;AACA,SAZgB;AAajB4B,QAAAA,mBAAmB,EAAE,UAAWzB,KAAX,EAAkB0B,GAAlB,EAAwB;AAC5C,cAAIrB,cAAc,GAAGqB,GAAG,GAAG1B,KAAK,CAAC39B,MAAjC;;AACA,cAAKg+B,cAAc,GAAG,CAAtB,EAA0B;AACzB,mBAAOviC,IAAI,CAACyiC,iBAAL,CAAuBlkB,OAAvB,CACN,IADM,EAENgkB,cAFM,CAAP;AAIA;;AACD,iBAAOviC,IAAI,CAAC0iC,iBAAZ;AACA,SAtBgB;AAuBjBmB,QAAAA,kBAAkB,EAAE,UAAW3B,KAAX,EAAkBzc,GAAlB,EAAwB;AAC3C,cAAIwc,SAAS,GAAGC,KAAK,CAAC39B,MAAN,GAAekhB,GAA/B;;AACA,cAAKwc,SAAS,GAAG,CAAjB,EAAqB;AACpB,mBAAOjiC,IAAI,CAACoiC,gBAAL,CAAsB7jB,OAAtB,CAA+B,IAA/B,EAAqC0jB,SAArC,CAAP;AACA;;AACD,iBAAOjiC,IAAI,CAACqiC,gBAAZ;AACA,SA7BgB;AA8BjByB,QAAAA,qBAAqB,EAAE,UAAW3B,OAAX,EAAqB;AAC3C,cAAKA,OAAO,GAAG,CAAf,EAAmB;AAClB,mBAAOniC,IAAI,CAAC8iC,oBAAL,CAA0BvkB,OAA1B,CACN,IADM,EAEN4jB,OAFM,CAAP;AAIA;;AACD,iBAAOniC,IAAI,CAAC+iC,oBAAZ;AACA,SAtCgB;AAuCjBgB,QAAAA,cAAc,EAAE,YAAY;AAC3B,iBAAO/jC,IAAI,CAAC4iC,SAAZ;AACA,SAzCgB;AA0CjBoB,QAAAA,eAAe,EAAE,YAAY;AAC5B,iBAAOhkC,IAAI,CAACkjC,SAAZ;AACA;AA5CgB,OAAlB,CAT6B,CAwD7B;;AACA5jC,MAAAA,CAAC,CAAC+H,EAAF,CAAKmD,OAAL,CAAay5B,OAAb,GAAuB3kC,CAAC,CAAC+H,EAAF,CAAKmD,OAAL,CAAay5B,OAAb,IAAwB,EAA/C,CAzD6B,CA2D7B;;AACA3kC,MAAAA,CAAC,CAAC+H,EAAF,CAAKmD,OAAL,CAAay5B,OAAb,CAAsBxrB,MAAtB,IAAiCopB,WAAjC;AACAviC,MAAAA,CAAC,CAACsH,MAAF,CAAUtH,CAAC,CAAC+H,EAAF,CAAKmD,OAAL,CAAavF,QAAvB,EAAiC48B,WAAjC;AACA,KA1JkC;AA4JnCpqB,IAAAA,WAAW,EAAE,UAAW7T,GAAX,EAAgBytB,IAAhB,EAAuB;AACnCA,MAAAA,IAAI,CAACjc,IAAL,CAAW,oBAAX,EAAkCpT,MAAlC;AACA;AA9JkC,GAAf,CAArB;AAgKA,CAv1BD,EAu1BK4J,MAv1BL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3BC,EAAAA,GAAG,CAAC2uB,OAAJ,GAAc;AACb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEElpB,IAAAA,QAAQ,EAAE,YAAY;AACrB;AACA,UAAK,OAAOi/B,cAAP,KAA0B,WAA/B,EAA6C,OAAO,KAAP,CAFxB,CAIrB;;AACA,UAAIj/B,QAAQ,GAAG;AACdkpB,QAAAA,OAAO,EAAE+V,cAAc,CAACC,OAAf,CAAuBC,WADlB;AAEdhW,QAAAA,SAAS,EAAE8V,cAAc,CAACG,MAAf,CAAsBD;AAFnB,OAAf,CALqB,CAUrB;;AACA,aAAOn/B,QAAP;AACA,KA1BY;;AA4Bb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEEiO,IAAAA,UAAU,EAAE,UAAW7I,EAAX,EAAevG,IAAf,EAAsB;AACjC;AACAA,MAAAA,IAAI,GAAGtE,GAAG,CAAC0B,SAAJ,CAAe4C,IAAf,EAAqB;AAC3BqqB,QAAAA,OAAO,EAAE,IADkB;AAE3BC,QAAAA,SAAS,EAAE,IAFgB;AAG3BC,QAAAA,OAAO,EAAE,MAHkB;AAI3B/T,QAAAA,IAAI,EAAE,QAJqB;AAIX;AAChB5S,QAAAA,KAAK,EAAE;AALoB,OAArB,CAAP,CAFiC,CAUjC;;AACA,UAAK5D,IAAI,CAACqqB,OAAV,EAAoB;AACnB,aAAKmW,iBAAL,CAAwBj6B,EAAxB,EAA4BvG,IAA5B;AACA,OAbgC,CAejC;;;AACA,UAAKA,IAAI,CAACsqB,SAAV,EAAsB;AACrB,aAAKmW,mBAAL,CAA0Bl6B,EAA1B,EAA8BvG,IAA9B;AACA;AACD,KA5DY;;AA8Db;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEEwgC,IAAAA,iBAAiB,EAAE,UAAWj6B,EAAX,EAAevG,IAAf,EAAsB;AACxC;AACA,UAAIye,SAAS,GAAGjjB,CAAC,CAAE,MAAM+K,EAAR,CAAjB;AACA,UAAIpF,QAAQ,GAAG,KAAKA,QAAL,EAAf;AACA,UAAIu/B,QAAQ,GAAGhlC,GAAG,CAACiI,GAAJ,CAAS,UAAT,CAAf;AACA,UAAIC,KAAK,GAAG5D,IAAI,CAAC4D,KAAL,IAAc,KAA1B;AACA,UAAI7C,MAAM,GAAG6C,KAAK,CAAC9D,GAAN,IAAa,KAA1B,CANwC,CAQxC;;AACA,UAAK,OAAOuqB,OAAP,KAAmB,WAAxB,EAAsC,OAAO,KAAP;AACtC,UAAK,CAAElpB,QAAP,EAAkB,OAAO,KAAP,CAVsB,CAYxC;;AACA,UAAKkpB,OAAO,CAAC1mB,GAAR,CAAa4C,EAAb,CAAL,EAAyB;AACxB,eAAO,KAAK9I,MAAL,CAAa8I,EAAb,CAAP;AACA,OAfuC,CAiBxC;;;AACA,UAAII,IAAI,GAAGnL,CAAC,CAACsH,MAAF,CAAU,EAAV,EAAc3B,QAAQ,CAACkpB,OAAvB,EAAgCrqB,IAAI,CAACqqB,OAArC,CAAX;AACA1jB,MAAAA,IAAI,CAACJ,EAAL,GAAUA,EAAV;AACAI,MAAAA,IAAI,CAAClH,QAAL,GAAgB,MAAM8G,EAAtB,CApBwC,CAsBxC;;AACA,UAAIgkB,OAAO,GAAGvqB,IAAI,CAACuqB,OAAnB;;AACA,UAAKA,OAAO,IAAImW,QAAX,IAAuBA,QAAQ,CAAEnW,OAAF,CAApC,EAAkD;AACjD,aAAM,IAAI5oB,CAAC,GAAG,CAAd,EAAiBA,CAAC,IAAI,CAAtB,EAAyBA,CAAC,EAA1B,EAA+B;AAC9BgF,UAAAA,IAAI,CAAE,YAAYhF,CAAd,CAAJ,GAAwB++B,QAAQ,CAAEnW,OAAF,CAAR,CAAqB5oB,CAArB,KAA4B,EAApD;AACA;AACD,OA5BuC,CA8BxC;;;AACAgF,MAAAA,IAAI,CAAC+E,KAAL,GAAa,UAAWi1B,EAAX,EAAgB;AAC5BA,QAAAA,EAAE,CAACj9B,EAAH,CAAO,QAAP,EAAiB,UAAWF,CAAX,EAAe;AAC/Bm9B,UAAAA,EAAE,CAAC7L,IAAH,GAD+B,CACpB;;AACXrW,UAAAA,SAAS,CAACrM,OAAV,CAAmB,QAAnB;AACA,SAHD,EAD4B,CAM5B;;AACAuuB,QAAAA,EAAE,CAACj9B,EAAH,CAAO,SAAP,EAAkB,UAAWF,CAAX,EAAe;AAChC,cAAIH,KAAK,GAAG,IAAIu9B,UAAJ,CAAgB,SAAhB,CAAZ;AACA7jB,UAAAA,MAAM,CAAC8jB,aAAP,CAAsBx9B,KAAtB;AACA,SAHD,EAP4B,CAY5B;AACA;AACA;AACA;AACA,OAhBD,CA/BwC,CAiDxC;;;AACAsD,MAAAA,IAAI,CAACm6B,gBAAL,GAAwB,KAAxB,CAlDwC,CAoDxC;AACA;;AACA,UAAK,CAAEn6B,IAAI,CAACo6B,YAAZ,EAA2B;AAC1Bp6B,QAAAA,IAAI,CAACq6B,OAAL,GAAe,IAAf;AACA,OAxDuC,CA0DxC;;;AACAr6B,MAAAA,IAAI,GAAGjL,GAAG,CAACwB,YAAJ,CACN,0BADM,EAENyJ,IAFM,EAGNJ,EAHM,EAIN3C,KAJM,CAAP,CA3DwC,CAkExC;AACA;AACA;AACA;AAEA;;AACAw8B,MAAAA,cAAc,CAACC,OAAf,CAAwB95B,EAAxB,IAA+BI,IAA/B,CAxEwC,CA0ExC;;AACA,UAAK3G,IAAI,CAACwW,IAAL,IAAa,QAAlB,EAA6B;AAC5B;AACA,YAAI+E,MAAM,GAAG8O,OAAO,CAAC1jB,IAAR,CAAcA,IAAd,CAAb,CAF4B,CAI5B;;AACA,YAAIg6B,EAAE,GAAGtW,OAAO,CAAC1mB,GAAR,CAAa4C,EAAb,CAAT,CAL4B,CAO5B;;AACA,YAAK,CAAEo6B,EAAP,EAAY;AACX,iBAAO,KAAP;AACA,SAV2B,CAY5B;;;AACAA,QAAAA,EAAE,CAACjlC,GAAH,GAASsE,IAAI,CAAC4D,KAAd,CAb4B,CAe5B;;AACAlI,QAAAA,GAAG,CAACkB,QAAJ,CAAc,sBAAd,EAAsC+jC,EAAtC,EAA0CA,EAAE,CAACp6B,EAA7C,EAAiDI,IAAjD,EAAuD/C,KAAvD;AACA;AACD,KAxKY;;AA0Kb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEE68B,IAAAA,mBAAmB,EAAE,UAAWl6B,EAAX,EAAevG,IAAf,EAAsB;AAC1C;AACA,UAAImB,QAAQ,GAAG,KAAKA,QAAL,EAAf,CAF0C,CAI1C;;AACA,UAAK,OAAOmpB,SAAP,KAAqB,WAA1B,EAAwC,OAAO,KAAP;AACxC,UAAK,CAAEnpB,QAAP,EAAkB,OAAO,KAAP,CANwB,CAQ1C;;AACA,UAAIwF,IAAI,GAAGnL,CAAC,CAACsH,MAAF,CAAU,EAAV,EAAc3B,QAAQ,CAACmpB,SAAvB,EAAkCtqB,IAAI,CAACsqB,SAAvC,CAAX;AACA3jB,MAAAA,IAAI,CAACJ,EAAL,GAAUA,EAAV,CAV0C,CAY1C;;AACA,UAAI3C,KAAK,GAAG5D,IAAI,CAAC4D,KAAL,IAAc,KAA1B;AACA,UAAI7C,MAAM,GAAG6C,KAAK,CAAC9D,GAAN,IAAa,KAA1B;AACA6G,MAAAA,IAAI,GAAGjL,GAAG,CAACwB,YAAJ,CACN,4BADM,EAENyJ,IAFM,EAGNA,IAAI,CAACJ,EAHC,EAIN3C,KAJM,CAAP,CAf0C,CAsB1C;;AACAw8B,MAAAA,cAAc,CAACG,MAAf,CAAuBh6B,EAAvB,IAA8BI,IAA9B,CAvB0C,CAyB1C;;AACA,UAAIg6B,EAAE,GAAGrW,SAAS,CAAE3jB,IAAF,CAAlB,CA1B0C,CA4B1C;;AACA,UAAK,CAAEg6B,EAAP,EAAY;AACX,eAAO,KAAP;AACA,OA/ByC,CAiC1C;;;AACA,WAAKM,cAAL,CAAqBN,EAArB,EAlC0C,CAoC1C;;AACAjlC,MAAAA,GAAG,CAACkB,QAAJ,CAAc,wBAAd,EAAwC+jC,EAAxC,EAA4CA,EAAE,CAACp6B,EAA/C,EAAmDI,IAAnD,EAAyD/C,KAAzD;AACA,KA7NY;;AA+Nb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEEq9B,IAAAA,cAAc,EAAE,UAAWN,EAAX,EAAgB;AAC/B,UAAIO,MAAJ;AAAA,UACCl+B,IADD;AAAA,UAECwgB,QAFD;AAAA,UAGC2d,UAHD;AAAA,UAIChxB,IAJD;AAAA,UAKCwwB,EALD;AAAA,UAMCp6B,EAND;AAAA,UAOC5E,CAPD;AAAA,UAQCy/B,GARD;AAAA,UASCC,UATD;AAAA,UAUClgC,QAAQ,GACP,6DAXF;AAaA+/B,MAAAA,MAAM,GAAGP,EAAE,CAACO,MAAZ;AACAl+B,MAAAA,IAAI,GAAG29B,EAAE,CAAC39B,IAAV;AACAwgB,MAAAA,QAAQ,GAAGmd,EAAE,CAACnd,QAAd;AACArT,MAAAA,IAAI,GAAG,EAAP;AACAgxB,MAAAA,UAAU,GAAG,EAAb;AACAC,MAAAA,GAAG,GAAG,EAAN;AACAC,MAAAA,UAAU,GAAGV,EAAE,CAACp6B,EAAhB,CApB+B,CAsB/B;;AACA,UAAKid,QAAQ,CAAC8d,OAAd,EAAwB;AACvBF,QAAAA,GAAG,GAAG,MAAM5d,QAAQ,CAAC8d,OAAf,GAAyB,GAA/B;AACA;;AAED,WAAM3/B,CAAN,IAAW4/B,SAAX,EAAuB;AACtB,YAAK,CAAEA,SAAS,CAAE5/B,CAAF,CAAhB,EAAwB;AACvB;AACA;;AAED4E,QAAAA,EAAE,GAAGg7B,SAAS,CAAE5/B,CAAF,CAAT,CAAe4E,EAApB;;AACA,YACC66B,GAAG,IACHjgC,QAAQ,CAACiC,OAAT,CAAkB,MAAMmD,EAAN,GAAW,GAA7B,MAAuC,CAAC,CADxC,IAEA66B,GAAG,CAACh+B,OAAJ,CAAa,MAAMmD,EAAN,GAAW,GAAxB,MAAkC,CAAC,CAHpC,EAIE;AACD;AACA;;AAED,YACC,CAAEg7B,SAAS,CAAE5/B,CAAF,CAAT,CAAe/F,QAAjB,IACA2lC,SAAS,CAAE5/B,CAAF,CAAT,CAAe/F,QAAf,KAA4BylC,UAF7B,EAGE;AACDF,UAAAA,UAAU,CAAE56B,EAAF,CAAV,GAAmBg7B,SAAS,CAAE5/B,CAAF,CAA5B;;AAEA,cAAK4/B,SAAS,CAAE5/B,CAAF,CAAT,CAAewO,IAApB,EAA2B;AAC1BA,YAAAA,IAAI,IAAIoxB,SAAS,CAAE5/B,CAAF,CAAT,CAAewO,IAAf,CAAqBnN,IAAI,GAAG,GAA5B,CAAR;AACA;AACD;AACD;;AAED,UAAKo+B,GAAG,IAAIA,GAAG,CAACh+B,OAAJ,CAAa,OAAb,MAA2B,CAAC,CAAxC,EAA4C;AAC3C+9B,QAAAA,UAAU,CAACK,GAAX,GAAiB,IAAIC,KAAK,CAACC,SAAV,EAAjB;AACAvxB,QAAAA,IAAI,IAAIgxB,UAAU,CAACK,GAAX,CAAerxB,IAAf,CAAqBnN,IAAI,GAAG,GAA5B,CAAR;AACA;;AAED,UAAK,UAAUX,QAAQ,CAACs/B,oBAAT,CAA+B,MAA/B,EAAyC,CAAzC,EAA6CC,GAA5D,EAAkE;AACjET,QAAAA,UAAU,CAACU,aAAX,GAA2B,IAAIJ,KAAK,CAACK,mBAAV,EAA3B;AACA3xB,QAAAA,IAAI,IAAIgxB,UAAU,CAACU,aAAX,CAAyB1xB,IAAzB,CAA+BnN,IAAI,GAAG,GAAtC,CAAR;AACA;;AAED29B,MAAAA,EAAE,CAACpW,OAAH,CAAWwX,SAAX,GAAuB5xB,IAAvB;AACAwwB,MAAAA,EAAE,CAACQ,UAAH,GAAgBA,UAAhB;;AAEA,UAAK,OAAOr5B,MAAP,KAAkB,WAAvB,EAAqC;AACpCA,QAAAA,MAAM,CAAEzF,QAAF,CAAN,CAAmB2/B,cAAnB,CAAmC,gBAAnC,EAAqD,CAAErB,EAAF,CAArD;AACA;AACD,KAjTY;AAmTbrjC,IAAAA,OAAO,EAAE,UAAWiJ,EAAX,EAAgB;AACxB,WAAK07B,cAAL,CAAqB17B,EAArB;AACA,KArTY;AAuTbrI,IAAAA,MAAM,EAAE,UAAWqI,EAAX,EAAgB;AACvB,WAAK07B,cAAL,CAAqB17B,EAArB;AACA,KAzTY;AA2TbW,IAAAA,OAAO,EAAE,UAAWX,EAAX,EAAgB;AACxB,WAAK07B,cAAL,CAAqB17B,EAArB;AACA,KA7TY;AA+Tb07B,IAAAA,cAAc,EAAE,UAAW17B,EAAX,EAAgB;AAC/B;AACA,UAAK,OAAO8jB,OAAP,KAAmB,WAAxB,EAAsC,OAAO,KAAP,CAFP,CAI/B;;AACA,UAAIsW,EAAE,GAAGtW,OAAO,CAAC1mB,GAAR,CAAa4C,EAAb,CAAT,CAL+B,CAO/B;;AACA,UAAK,CAAEo6B,EAAP,EAAY,OAAO,KAAP,CARmB,CAU/B;;AACAA,MAAAA,EAAE,CAAC7L,IAAH,GAX+B,CAa/B;;AACA6L,MAAAA,EAAE,CAACz5B,OAAH,GAd+B,CAgB/B;;AACA,aAAO,IAAP;AACA,KAjVY;AAmVbzJ,IAAAA,MAAM,EAAE,UAAW8I,EAAX,EAAgB;AACvB,WAAK27B,aAAL,CAAoB37B,EAApB;AACA,KArVY;AAuVb27B,IAAAA,aAAa,EAAE,UAAW37B,EAAX,EAAgB;AAC9B;AACA,UAAK,OAAO47B,aAAP,KAAyB,WAA9B,EAA4C,OAAO,KAAP,CAFd,CAI9B;;AACA,UAAK,OAAO/B,cAAc,CAACC,OAAf,CAAwB95B,EAAxB,CAAP,KAAwC,WAA7C,EACC,OAAO,KAAP,CAN6B,CAQ9B;AACA;;AACA/K,MAAAA,CAAC,CAAE,MAAM+K,EAAR,CAAD,CAAcuH,IAAd,GAV8B,CAY9B;;AACAq0B,MAAAA,aAAa,CAACC,EAAd,CAAkB77B,EAAlB,EAAsB,MAAtB,EAb8B,CAe9B;;AACA,aAAO,IAAP;AACA;AAxWY,GAAd;AA2WA,MAAI87B,aAAa,GAAG,IAAI3mC,GAAG,CAACoK,KAAR,CAAe;AAClC;AACAtD,IAAAA,QAAQ,EAAE,CAFwB;AAIlCE,IAAAA,OAAO,EAAE;AACRujB,MAAAA,OAAO,EAAE,WADD;AAERqc,MAAAA,KAAK,EAAE;AAFC,KAJyB;AAQlCC,IAAAA,SAAS,EAAE,YAAY;AACtB;AACA,UAAIrkB,IAAI,GAAG1iB,CAAC,CAAE,uBAAF,CAAZ,CAFsB,CAItB;;AACA,UAAK0iB,IAAI,CAAClJ,MAAL,EAAL,EAAqB;AACpBkJ,QAAAA,IAAI,CAACye,QAAL,CAAe,MAAf;AACA;AACD,KAhBiC;AAiBlC6F,IAAAA,OAAO,EAAE,YAAY;AACpB;AACA,UAAK9mC,GAAG,CAAC6d,KAAJ,CAAWwD,MAAX,EAAmB,IAAnB,EAAyB,WAAzB,CAAL,EAA8C;AAC7CuU,QAAAA,EAAE,CAACmR,MAAH,CAAUC,KAAV,GAAkBpR,EAAE,CAACqR,SAAH,CAAaD,KAA/B;AACApR,QAAAA,EAAE,CAACmR,MAAH,CAAUG,OAAV,GAAoBtR,EAAE,CAACqR,SAAH,CAAaC,OAAjC;AACA,OALmB,CAOpB;;;AACA,UAAK,CAAElnC,GAAG,CAAC6d,KAAJ,CAAWwD,MAAX,EAAmB,SAAnB,EAA8B,IAA9B,CAAP,EAA8C,OAR1B,CAUpB;;AACAsN,MAAAA,OAAO,CAAC3mB,EAAR,CAAY,WAAZ,EAAyB,UAAW1C,IAAX,EAAkB;AAC1C;AACA,YAAIyhC,MAAM,GAAGzhC,IAAI,CAACyhC,MAAlB,CAF0C,CAI1C;;AACA,YAAKA,MAAM,CAACl8B,EAAP,CAAUjD,MAAV,CAAkB,CAAlB,EAAqB,CAArB,MAA6B,KAAlC,EAA0C,OALA,CAO1C;;AACAm/B,QAAAA,MAAM,GAAGpY,OAAO,CAACwY,OAAR,CAAgB5b,OAAhB,IAA2Bwb,MAApC,CAR0C,CAU1C;;AACApY,QAAAA,OAAO,CAACyY,YAAR,GAAuBL,MAAvB;AACAM,QAAAA,cAAc,GAAGN,MAAM,CAACl8B,EAAxB;AACA,OAbD;AAcA;AA1CiC,GAAf,CAApB;AA4CA,CAxZD,EAwZKuB,MAxZL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3BC,EAAAA,GAAG,CAACsV,MAAJ,GAAa,IAAItV,GAAG,CAACoK,KAAR,CAAe;AAC3BoJ,IAAAA,IAAI,EAAE,MADqB;AAE3BoV,IAAAA,MAAM,EAAE,IAFmB;AAG3BzW,IAAAA,OAAO,EAAE,KAHkB;AAK3BnL,IAAAA,OAAO,EAAE;AACRsgC,MAAAA,kBAAkB,EAAE,gBADZ;AAERC,MAAAA,kBAAkB,EAAE;AAFZ,KALkB;AAU3BpgC,IAAAA,MAAM,EAAE;AACP,gCAA0B,gBADnB;AAEP,qBAAe;AAFR,KAVmB;AAe3BpF,IAAAA,MAAM,EAAE,YAAY;AACnB,WAAK6mB,MAAL,GAAc,IAAd;AACA,KAjB0B;AAmB3BhnB,IAAAA,OAAO,EAAE,YAAY;AACpB,WAAKgnB,MAAL,GAAc,KAAd;AACA,KArB0B;AAuB3BD,IAAAA,KAAK,EAAE,YAAY;AAClB,WAAK6e,aAAL;AACA,KAzB0B;AA2B3BC,IAAAA,cAAc,EAAE,YAAY;AAC3B;AACA,UAAK,KAAKt1B,OAAL,IAAgB,CAAE,KAAKyW,MAA5B,EAAqC;AACpC;AACA,OAJ0B,CAM3B;;;AACA,WAAKzW,OAAL,GAAe,IAAf,CAP2B,CAS3B;;AACArS,MAAAA,CAAC,CAAEuhB,MAAF,CAAD,CAAYrZ,EAAZ,CAAgB,cAAhB,EAAgC,KAAKuO,QAArC;AACA,KAtC0B;AAwC3BixB,IAAAA,aAAa,EAAE,YAAY;AAC1B;AACA,WAAKr1B,OAAL,GAAe,KAAf,CAF0B,CAI1B;;AACArS,MAAAA,CAAC,CAAEuhB,MAAF,CAAD,CAAYgC,GAAZ,CAAiB,cAAjB,EAAiC,KAAK9M,QAAtC;AACA,KA9C0B;AAgD3BA,IAAAA,QAAQ,EAAE,YAAY;AACrB,aAAOvW,GAAG,CAAC2D,EAAJ,CACN,uEADM,CAAP;AAGA;AApD0B,GAAf,CAAb;AAsDA,CAvDD,EAuDKyI,MAvDL;;;;;;;;;;ACAA,CAAE,UAAWtM,CAAX,EAAcC,SAAd,EAA0B;AAC3B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACC,MAAI2nC,SAAS,GAAG1nC,GAAG,CAACoK,KAAJ,CAAUhD,MAAV,CAAkB;AACjC;AACAyD,IAAAA,EAAE,EAAE,WAF6B;;AAIjC;AACAvF,IAAAA,IAAI,EAAE;AACL;AACAy0B,MAAAA,MAAM,EAAE,EAFH;;AAIL;AACA5O,MAAAA,MAAM,EAAE,IALH;;AAOL;AACArM,MAAAA,MAAM,EAAE;AARH,KAL2B;;AAgBjC;AACA3X,IAAAA,MAAM,EAAE;AACP,wBAAkB;AADX,KAjByB;;AAqBjC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEwgC,IAAAA,SAAS,EAAE,UAAW5N,MAAX,EAAoB;AAC9BA,MAAAA,MAAM,CAACvzB,GAAP,CAAY,KAAKohC,QAAjB,EAA2B,IAA3B;AACA,KAlCgC;;AAoCjC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEA,IAAAA,QAAQ,EAAE,UAAWhoB,KAAX,EAAmB;AAC5B,WAAKta,IAAL,CAAUy0B,MAAV,CAAiB7qB,IAAjB,CAAuB0Q,KAAvB;AACA,KAjDgC;;AAmDjC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEioB,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAO,KAAKviC,IAAL,CAAUy0B,MAAV,CAAiBh1B,MAAxB;AACA,KAhEgC;;AAkEjC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE+iC,IAAAA,WAAW,EAAE,YAAY;AACxB,aAAS,KAAKxiC,IAAL,CAAUy0B,MAAV,GAAmB,EAA5B;AACA,KA/EgC;;AAiFjC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEgO,IAAAA,SAAS,EAAE,YAAY;AACtB,aAAO,KAAKziC,IAAL,CAAUy0B,MAAjB;AACA,KA9FgC;;AAgGjC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEiO,IAAAA,cAAc,EAAE,YAAY;AAC3B;AACA,UAAIjO,MAAM,GAAG,EAAb;AACA,UAAIkO,MAAM,GAAG,EAAb,CAH2B,CAK3B;;AACA,WAAKF,SAAL,GAAiBvhC,GAAjB,CAAsB,UAAWoZ,KAAX,EAAmB;AACxC;AACA,YAAK,CAAEA,KAAK,CAAC8iB,KAAb,EAAqB,OAFmB,CAIxC;;AACA,YAAIz8B,CAAC,GAAGgiC,MAAM,CAACvgC,OAAP,CAAgBkY,KAAK,CAAC8iB,KAAtB,CAAR;;AACA,YAAKz8B,CAAC,GAAG,CAAC,CAAV,EAAc;AACb8zB,UAAAA,MAAM,CAAE9zB,CAAF,CAAN,GAAc2Z,KAAd,CADa,CAGb;AACA,SAJD,MAIO;AACNma,UAAAA,MAAM,CAAC7qB,IAAP,CAAa0Q,KAAb;AACAqoB,UAAAA,MAAM,CAAC/4B,IAAP,CAAa0Q,KAAK,CAAC8iB,KAAnB;AACA;AACD,OAdD,EAN2B,CAsB3B;;AACA,aAAO3I,MAAP;AACA,KAnIgC;;AAqIjC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEmO,IAAAA,eAAe,EAAE,YAAY;AAC5B;AACA,aAAO,KAAKH,SAAL,GAAiBl1B,MAAjB,CAAyB,UAAW+M,KAAX,EAAmB;AAClD,eAAO,CAAEA,KAAK,CAAC8iB,KAAf;AACA,OAFM,CAAP;AAGA,KArJgC;;AAuJjC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEyF,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAK,CAAE,KAAKN,SAAL,EAAP,EAA0B;AACzB;AACA,OAJsB,CAMvB;;;AACA,UAAIO,WAAW,GAAG,KAAKJ,cAAL,EAAlB;AACA,UAAIK,YAAY,GAAG,KAAKH,eAAL,EAAnB,CARuB,CAUvB;;AACA,UAAII,UAAU,GAAG,CAAjB;AACA,UAAIC,SAAS,GAAG,KAAhB,CAZuB,CAcvB;;AACAH,MAAAA,WAAW,CAAC5hC,GAAZ,CAAiB,UAAWoZ,KAAX,EAAmB;AACnC;AACA,YAAI5Q,MAAM,GAAG,KAAKlP,CAAL,CAAQ,YAAY8f,KAAK,CAAC8iB,KAAlB,GAA0B,IAAlC,EAAyC19B,KAAzC,EAAb,CAFmC,CAInC;;AACA,YAAK,CAAEgK,MAAM,CAACjK,MAAd,EAAuB;AACtBiK,UAAAA,MAAM,GAAG,KAAKlP,CAAL,CAAQ,aAAa8f,KAAK,CAAC8iB,KAAnB,GAA2B,IAAnC,EAA0C19B,KAA1C,EAAT;AACA,SAPkC,CASnC;;;AACA,YAAK,CAAEgK,MAAM,CAACjK,MAAd,EAAuB;AACtB;AACA,SAZkC,CAcnC;;;AACAujC,QAAAA,UAAU,GAfyB,CAiBnC;;AACA,YAAIpgC,KAAK,GAAGlI,GAAG,CAACqwB,eAAJ,CAAqBrhB,MAArB,CAAZ,CAlBmC,CAoBnC;;AACAw5B,QAAAA,2BAA2B,CAAEtgC,KAAK,CAAC9D,GAAR,CAA3B,CArBmC,CAuBnC;;AACA8D,QAAAA,KAAK,CAAC0nB,SAAN,CAAiBhQ,KAAK,CAAC/W,OAAvB,EAxBmC,CA0BnC;;AACA,YAAK,CAAE0/B,SAAP,EAAmB;AAClBA,UAAAA,SAAS,GAAGrgC,KAAK,CAAC9D,GAAlB;AACA;AACD,OA9BD,EA8BG,IA9BH,EAfuB,CA+CvB;;AACA,UAAIqkC,YAAY,GAAGzoC,GAAG,CAAC2D,EAAJ,CAAQ,mBAAR,CAAnB;;AACA0kC,MAAAA,YAAY,CAAC7hC,GAAb,CAAkB,UAAWoZ,KAAX,EAAmB;AACpC6oB,QAAAA,YAAY,IAAI,OAAO7oB,KAAK,CAAC/W,OAA7B;AACA,OAFD;;AAGA,UAAKy/B,UAAU,IAAI,CAAnB,EAAuB;AACtBG,QAAAA,YAAY,IAAI,OAAOzoC,GAAG,CAAC2D,EAAJ,CAAQ,4BAAR,CAAvB;AACA,OAFD,MAEO,IAAK2kC,UAAU,GAAG,CAAlB,EAAsB;AAC5BG,QAAAA,YAAY,IACX,OACAzoC,GAAG,CACD2D,EADF,CACM,6BADN,EAEEob,OAFF,CAEW,IAFX,EAEiBupB,UAFjB,CAFD;AAKA,OA5DsB,CA8DvB;;;AACA,UAAK,KAAK/2B,GAAL,CAAU,QAAV,CAAL,EAA4B;AAC3B,aAAKtJ,GAAL,CAAU,QAAV,EAAqBtH,MAArB,CAA6B;AAC5BwH,UAAAA,IAAI,EAAE,OADsB;AAE5BY,UAAAA,IAAI,EAAE0/B;AAFsB,SAA7B;AAIA,OALD,MAKO;AACN,YAAItd,MAAM,GAAGnrB,GAAG,CAACgsB,SAAJ,CAAe;AAC3B7jB,UAAAA,IAAI,EAAE,OADqB;AAE3BY,UAAAA,IAAI,EAAE0/B,YAFqB;AAG3B9+B,UAAAA,MAAM,EAAE,KAAKvF;AAHc,SAAf,CAAb;AAKA,aAAKxD,GAAL,CAAU,QAAV,EAAoBuqB,MAApB;AACA,OA3EsB,CA6EvB;;;AACA,UAAK,CAAEod,SAAP,EAAmB;AAClBA,QAAAA,SAAS,GAAG,KAAKtgC,GAAL,CAAU,QAAV,EAAqB7D,GAAjC;AACA,OAhFsB,CAkFvB;;;AACAkS,MAAAA,UAAU,CAAE,YAAY;AACvBxW,QAAAA,CAAC,CAAE,YAAF,CAAD,CAAkB4oC,OAAlB,CACC;AACCrjB,UAAAA,SAAS,EACRkjB,SAAS,CAACI,MAAV,GAAmBve,GAAnB,GAAyBtqB,CAAC,CAAEuhB,MAAF,CAAD,CAAYQ,MAAZ,KAAuB;AAFlD,SADD,EAKC,GALD;AAOA,OARS,EAQP,EARO,CAAV;AASA,KA9PgC;;AAgQjC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE+mB,IAAAA,cAAc,EAAE,UAAW9gC,CAAX,EAAc1D,GAAd,EAAmByB,KAAnB,EAA0BgjC,SAA1B,EAAsC;AACrD,WAAKzkC,GAAL,CAAS6R,WAAT,CAAsB,QAAQ4yB,SAA9B,EAA0Cn0B,QAA1C,CAAoD,QAAQ7O,KAA5D;AACA,KAhRgC;;AAkRjC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEijC,IAAAA,QAAQ,EAAE,UAAWxkC,IAAX,EAAkB;AAC3B;AACAA,MAAAA,IAAI,GAAGtE,GAAG,CAAC0B,SAAJ,CAAe4C,IAAf,EAAqB;AAC3B;AACAqD,QAAAA,KAAK,EAAE,KAFoB;AAI3B;AACAghB,QAAAA,KAAK,EAAE,KALoB;AAO3B;AACAvH,QAAAA,OAAO,EAAE,YAAY,CAAE,CARI;AAU3B;AACA8C,QAAAA,QAAQ,EAAE,YAAY,CAAE,CAXG;AAa3B;AACA6kB,QAAAA,OAAO,EAAE,YAAY,CAAE,CAdI;AAgB3B;AACAtnB,QAAAA,OAAO,EAAE,UAAWsJ,KAAX,EAAmB;AAC3BA,UAAAA,KAAK,CAACie,MAAN;AACA;AAnB0B,OAArB,CAAP,CAF2B,CAwB3B;;AACA,UAAK,KAAK/gC,GAAL,CAAU,QAAV,KAAwB,OAA7B,EAAuC;AACtC,eAAO,IAAP;AACA,OA3B0B,CA6B3B;;;AACA,UAAK,KAAKA,GAAL,CAAU,QAAV,KAAwB,YAA7B,EAA4C;AAC3C,eAAO,KAAP;AACA,OAhC0B,CAkC3B;;;AACA,UAAK,CAAE,KAAKnI,CAAL,CAAQ,YAAR,EAAuBiF,MAA9B,EAAuC;AACtC,eAAO,IAAP;AACA,OArC0B,CAuC3B;;;AACA,UAAKT,IAAI,CAACqD,KAAV,EAAkB;AACjB,YAAIA,KAAK,GAAG7H,CAAC,CAACmpC,KAAF,CAAS,IAAT,EAAe3kC,IAAI,CAACqD,KAApB,CAAZ;;AACArD,QAAAA,IAAI,CAACmd,OAAL,GAAe,YAAY;AAC1BzhB,UAAAA,GAAG,CAACmJ,YAAJ,CAAkBrJ,CAAC,CAAE6H,KAAK,CAACgC,MAAR,CAAnB,EAAsC+M,OAAtC,CAA+C/O,KAA/C;AACA,SAFD;AAGA,OA7C0B,CA+C3B;;;AACA3H,MAAAA,GAAG,CAACkB,QAAJ,CAAc,kBAAd,EAAkC,KAAKkD,GAAvC,EAhD2B,CAkD3B;;AACApE,MAAAA,GAAG,CAACwJ,QAAJ,CAAc,KAAKpF,GAAnB,EAnD2B,CAqD3B;;AACAE,MAAAA,IAAI,CAAC8c,OAAL,CAAc,KAAKhd,GAAnB,EAAwB,IAAxB,EAtD2B,CAwD3B;;AACA,WAAKxD,GAAL,CAAU,QAAV,EAAoB,YAApB,EAzD2B,CA2D3B;;AACA,UAAI4lB,SAAS,GAAG,UAAWvC,IAAX,EAAkB;AACjC;AACA,YAAK,CAAEjkB,GAAG,CAACsC,aAAJ,CAAmB2hB,IAAnB,CAAP,EAAmC;AAClC;AACA,SAJgC,CAMjC;;;AACA,YAAI3e,IAAI,GAAGtF,GAAG,CAACwB,YAAJ,CACV,qBADU,EAEVyiB,IAAI,CAAC3e,IAFK,EAGV,KAAKlB,GAHK,EAIV,IAJU,CAAX,CAPiC,CAcjC;;AACA,YAAK,CAAEkB,IAAI,CAAC4jC,KAAZ,EAAoB;AACnB,eAAKvB,SAAL,CAAgBriC,IAAI,CAACy0B,MAArB;AACA;AACD,OAlBD,CA5D2B,CAgF3B;;;AACA,UAAIxT,UAAU,GAAG,YAAY;AAC5B;AACAvmB,QAAAA,GAAG,CAACuJ,UAAJ,CAAgB,KAAKnF,GAArB,EAF4B,CAI5B;;AACA,YAAK,KAAKyjC,SAAL,EAAL,EAAwB;AACvB;AACA,eAAKjnC,GAAL,CAAU,QAAV,EAAoB,SAApB,EAFuB,CAIvB;;AACAZ,UAAAA,GAAG,CAACkB,QAAJ,CAAc,oBAAd,EAAoC,KAAKkD,GAAzC,EAA8C,IAA9C,EALuB,CAOvB;;AACA,eAAK+jC,UAAL,GARuB,CAUvB;;AACA7jC,UAAAA,IAAI,CAACykC,OAAL,CAAc,KAAK3kC,GAAnB,EAAwB,IAAxB,EAXuB,CAavB;AACA,SAdD,MAcO;AACN;AACA,eAAKxD,GAAL,CAAU,QAAV,EAAoB,OAApB,EAFM,CAIN;;AACA,cAAK,KAAK2Q,GAAL,CAAU,QAAV,CAAL,EAA4B;AAC3B,iBAAKtJ,GAAL,CAAU,QAAV,EAAqBtH,MAArB,CAA6B;AAC5BwH,cAAAA,IAAI,EAAE,SADsB;AAE5BY,cAAAA,IAAI,EAAE/I,GAAG,CAAC2D,EAAJ,CAAQ,uBAAR,CAFsB;AAG5BqF,cAAAA,OAAO,EAAE;AAHmB,aAA7B;AAKA,WAXK,CAaN;;;AACAhJ,UAAAA,GAAG,CAACkB,QAAJ,CAAc,oBAAd,EAAoC,KAAKkD,GAAzC,EAA8C,IAA9C;AACApE,UAAAA,GAAG,CAACkB,QAAJ,CAAc,QAAd,EAAwB,KAAKkD,GAA7B,EAfM,CAiBN;;AACAE,UAAAA,IAAI,CAACmd,OAAL,CAAc,KAAKrd,GAAnB,EAAwB,IAAxB,EAlBM,CAoBN;;AACApE,UAAAA,GAAG,CAACwJ,QAAJ,CAAc,KAAKpF,GAAnB,EArBM,CAuBN;;AACA,cAAKE,IAAI,CAACqkB,KAAV,EAAkB;AACjB,iBAAKA,KAAL;AACA;AACD,SA9C2B,CAgD5B;;;AACArkB,QAAAA,IAAI,CAAC4f,QAAL,CAAe,KAAK9f,GAApB,EAAyB,IAAzB,EAjD4B,CAmD5B;;AACA,aAAK0jC,WAAL;AACA,OArDD,CAjF2B,CAwI3B;;;AACA,UAAIxiC,IAAI,GAAGtF,GAAG,CAACiD,SAAJ,CAAe,KAAKmB,GAApB,CAAX;AACAkB,MAAAA,IAAI,CAACsB,MAAL,GAAc,wBAAd,CA1I2B,CA4I3B;;AACA9G,MAAAA,CAAC,CAACqM,IAAF,CAAQ;AACPkO,QAAAA,GAAG,EAAEra,GAAG,CAACiI,GAAJ,CAAS,SAAT,CADE;AAEP3C,QAAAA,IAAI,EAAEtF,GAAG,CAACoC,cAAJ,CAAoBkD,IAApB,CAFC;AAGP6C,QAAAA,IAAI,EAAE,MAHC;AAIPoZ,QAAAA,QAAQ,EAAE,MAJH;AAKPxa,QAAAA,OAAO,EAAE,IALF;AAMP0a,QAAAA,OAAO,EAAE+E,SANF;AAOPtC,QAAAA,QAAQ,EAAEqC;AAPH,OAAR,EA7I2B,CAuJ3B;;AACA,aAAO,KAAP;AACA,KAtbgC;;AAwbjC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEvW,IAAAA,KAAK,EAAE,UAAW+a,KAAX,EAAmB;AACzB;AACA,WAAK3mB,GAAL,GAAW2mB,KAAX;AACA,KAtcgC;;AAwcjC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEpC,IAAAA,KAAK,EAAE,YAAY;AAClB;AACA,WAAK/nB,GAAL,CAAU,QAAV,EAAoB,EAApB;AACA,WAAKA,GAAL,CAAU,QAAV,EAAoB,IAApB;AACA,WAAKA,GAAL,CAAU,QAAV,EAAoB,EAApB,EAJkB,CAMlB;;AACAZ,MAAAA,GAAG,CAACuJ,UAAJ,CAAgB,KAAKnF,GAArB;AACA;AA3dgC,GAAlB,CAAhB;AA8dA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACC,MAAI+kC,YAAY,GAAG,UAAW/kC,GAAX,EAAiB;AACnC;AACA,QAAIglC,SAAS,GAAGhlC,GAAG,CAACkB,IAAJ,CAAU,KAAV,CAAhB;;AACA,QAAK,CAAE8jC,SAAP,EAAmB;AAClBA,MAAAA,SAAS,GAAG,IAAI1B,SAAJ,CAAetjC,GAAf,CAAZ;AACA,KALkC,CAOnC;;;AACA,WAAOglC,SAAP;AACA,GATD;AAWA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECppC,EAAAA,GAAG,CAACkJ,YAAJ,GAAmB,UAAW5E,IAAX,EAAkB;AACpC,WAAO6kC,YAAY,CAAE7kC,IAAI,CAAC+kC,IAAP,CAAZ,CAA0BP,QAA1B,CAAoCxkC,IAApC,CAAP;AACA,GAFD;AAIA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACCtE,EAAAA,GAAG,CAACmJ,YAAJ,GAAmB,UAAWga,OAAX,EAAqB;AACvC,WAAOA,OAAO,CAAClN,WAAR,CAAqB,UAArB,CAAP;AACA,GAFD;AAIA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACCjW,EAAAA,GAAG,CAACoJ,aAAJ,GAAoB,UAAW+Z,OAAX,EAAqB;AACxC,WAAOA,OAAO,CAACzO,QAAR,CAAkB,UAAlB,CAAP;AACA,GAFD;AAIA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACC1U,EAAAA,GAAG,CAACqJ,WAAJ,GAAkB,UAAWigC,QAAX,EAAsB;AACvCA,IAAAA,QAAQ,CAAC50B,QAAT,CAAmB,WAAnB,EADuC,CACL;;AAClC40B,IAAAA,QAAQ,CAACz0B,GAAT,CAAc,SAAd,EAAyB,cAAzB,EAFuC,CAEI;;AAC3C,WAAOy0B,QAAP;AACA,GAJD;AAMA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACCtpC,EAAAA,GAAG,CAACsJ,WAAJ,GAAkB,UAAWggC,QAAX,EAAsB;AACvCA,IAAAA,QAAQ,CAACrzB,WAAT,CAAsB,WAAtB,EADuC,CACF;;AACrCqzB,IAAAA,QAAQ,CAACz0B,GAAT,CAAc,SAAd,EAAyB,MAAzB,EAFuC,CAEJ;;AACnC,WAAOy0B,QAAP;AACA,GAJD;AAMA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACCtpC,EAAAA,GAAG,CAACwJ,QAAJ,GAAe,UAAWuhB,KAAX,EAAmB;AACjC;AACA,QAAIhX,KAAK,GAAGw1B,cAAc,CAAExe,KAAF,CAA1B;AACA,QAAI5H,OAAO,GAAGpP,KAAK,CAAC6B,IAAN,CAAY,0BAAZ,CAAd;AACA,QAAI0zB,QAAQ,GAAGv1B,KAAK,CAAC6B,IAAN,CAAY,wBAAZ,CAAf,CAJiC,CAMjC;;AACA5V,IAAAA,GAAG,CAACsJ,WAAJ,CAAiBggC,QAAjB,EAPiC,CASjC;;AACAtpC,IAAAA,GAAG,CAACoJ,aAAJ,CAAmB+Z,OAAnB;AACAnjB,IAAAA,GAAG,CAACqJ,WAAJ,CAAiBigC,QAAQ,CAACvV,IAAT,EAAjB;AACA,WAAOhJ,KAAP;AACA,GAbD;AAeA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACC/qB,EAAAA,GAAG,CAACuJ,UAAJ,GAAiB,UAAWwhB,KAAX,EAAmB;AACnC;AACA,QAAIhX,KAAK,GAAGw1B,cAAc,CAAExe,KAAF,CAA1B;AACA,QAAI5H,OAAO,GAAGpP,KAAK,CAAC6B,IAAN,CAAY,0BAAZ,CAAd;AACA,QAAI0zB,QAAQ,GAAGv1B,KAAK,CAAC6B,IAAN,CAAY,wBAAZ,CAAf,CAJmC,CAMnC;;AACA5V,IAAAA,GAAG,CAACmJ,YAAJ,CAAkBga,OAAlB;AACAnjB,IAAAA,GAAG,CAACsJ,WAAJ,CAAiBggC,QAAjB;AACA,WAAOve,KAAP;AACA,GAVD;AAYA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACC,MAAIwe,cAAc,GAAG,UAAWxe,KAAX,EAAmB;AACvC;AACA,QAAIhX,KAAK,GAAGgX,KAAK,CAACnV,IAAN,CAAY,YAAZ,CAAZ;;AACA,QAAK7B,KAAK,CAAChP,MAAX,EAAoB;AACnB,aAAOgP,KAAP;AACA,KALsC,CAOvC;;;AACA,QAAIA,KAAK,GAAGgX,KAAK,CAACnV,IAAN,CAAY,aAAZ,CAAZ;;AACA,QAAK7B,KAAK,CAAChP,MAAX,EAAoB;AACnB,aAAOgP,KAAP;AACA,KAXsC,CAavC;;;AACA,QAAIA,KAAK,GAAGgX,KAAK,CAACnV,IAAN,CAAY,UAAZ,EAAyBme,IAAzB,EAAZ;;AACA,QAAKhgB,KAAK,CAAChP,MAAX,EAAoB;AACnB,aAAOgP,KAAP;AACA,KAjBsC,CAmBvC;;;AACA,QAAIA,KAAK,GAAGgX,KAAK,CAACnV,IAAN,CAAY,kBAAZ,CAAZ;;AACA,QAAK7B,KAAK,CAAChP,MAAX,EAAoB;AACnB,aAAOgP,KAAP;AACA,KAvBsC,CAyBvC;;;AACA,WAAOgX,KAAP;AACA,GA3BD;AA6BA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACC,MAAIye,mBAAmB,GAAGxpC,GAAG,CAACm+B,QAAJ,CAAc,UAAWpT,KAAX,EAAmB;AAC1DA,IAAAA,KAAK,CAACie,MAAN;AACA,GAFyB,CAA1B;AAIA;AACD;AACA;AACA;AACA;AACA;;AACC,MAAIR,2BAA2B,GAAG,UAAWpkC,GAAX,EAAiB;AAClD;AACA,QAAIm2B,QAAQ,GAAGn2B,GAAG,CAACwN,OAAJ,CAAa,cAAb,CAAf;;AACA,QAAK2oB,QAAQ,CAACx1B,MAAd,EAAuB;AACtB,UAAI0kC,WAAW,GAAGzpC,GAAG,CAACk6B,UAAJ,CAAgBK,QAAhB,CAAlB;;AACA,UAAKkP,WAAW,IAAIA,WAAW,CAAC5O,uBAAZ,EAApB,EAA4D;AAC3D;AACA;AACA4O,QAAAA,WAAW,CAACrlC,GAAZ,CAAgB6R,WAAhB,CAA6B,YAA7B;AACAwzB,QAAAA,WAAW,CAACrlC,GAAZ,CAAgByQ,GAAhB,CAAqB,SAArB,EAAgC,EAAhC;AACA;AACD;AACD,GAZD;AAcA;AACD;AACA;AACA;AACA;AACA;;;AACC,MAAI60B,4BAA4B,GAAG,YAAY;AAC9C;AACA,QAAI7yB,OAAO,GAAG/W,CAAC,CAAE,kBAAF,CAAf;AACA+W,IAAAA,OAAO,CAACxP,IAAR,CAAc,YAAY;AACzB,UAAK,CAAE,KAAKsiC,aAAL,EAAP,EAA8B;AAC7B;AACAnB,QAAAA,2BAA2B,CAAE1oC,CAAC,CAAE,IAAF,CAAH,CAA3B;AACA;AACD,KALD;AAMA,GATD;AAWA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAECE,EAAAA,GAAG,CAACwI,UAAJ,GAAiB,IAAIxI,GAAG,CAACoK,KAAR,CAAe;AAC/B;AACAS,IAAAA,EAAE,EAAE,YAF2B;;AAI/B;AACA+d,IAAAA,MAAM,EAAE,IALuB;;AAO/B;AACApV,IAAAA,IAAI,EAAE,SARyB;;AAU/B;AACAxM,IAAAA,OAAO,EAAE;AACR4/B,MAAAA,KAAK,EAAE,gBADC;AAER1yB,MAAAA,MAAM,EAAE;AAFA,KAXsB;;AAgB/B;AACA/M,IAAAA,MAAM,EAAE;AACP,oCAA8B,eADvB;AAEP,qCAA+B,eAFxB;AAGP;AACA,0BAAoB,aAJb;AAKP,0BAAoB,cALb;AAMP,qBAAe;AANR,KAjBuB;;AA0B/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEuM,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAK,CAAE1T,GAAG,CAACiI,GAAJ,CAAS,YAAT,CAAP,EAAiC;AAChC,aAAK2gB,MAAL,GAAc,KAAd;AACA,aAAK5hB,OAAL,GAAe,EAAf;AACA,aAAKG,MAAL,GAAc,EAAd;AACA;AACD,KA5C8B;;AA8C/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEpF,IAAAA,MAAM,EAAE,YAAY;AACnB,WAAK6mB,MAAL,GAAc,IAAd;AACA,KA3D8B;;AA6D/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEhnB,IAAAA,OAAO,EAAE,YAAY;AACpB,WAAKgnB,MAAL,GAAc,KAAd;AACA,KA1E8B;;AA4E/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACED,IAAAA,KAAK,EAAE,UAAWoC,KAAX,EAAmB;AACzBoe,MAAAA,YAAY,CAAEpe,KAAF,CAAZ,CAAsBpC,KAAtB;AACA,KAzF8B;;AA2F/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEihB,IAAAA,cAAc,EAAE,UAAWxlC,GAAX,EAAiB;AAChC;AACA,UAAKpE,GAAG,CAACiI,GAAJ,CAAS,SAAT,MAAyB,QAA9B,EAAyC,OAFT,CAIhC;;AACA,UAAI4O,OAAO,GAAG/W,CAAC,CAAE,mBAAF,EAAuBsE,GAAvB,CAAf,CALgC,CAOhC;;AACA,UAAKyS,OAAO,CAAC9R,MAAb,EAAsB;AACrB,aAAKiD,EAAL,CAAS6O,OAAT,EAAkB,SAAlB,EAA6B,WAA7B;AACA;AACD,KAjH8B;;AAmH/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEgzB,IAAAA,SAAS,EAAE,UAAW/hC,CAAX,EAAc1D,GAAd,EAAoB;AAC9B;AACA;AACA;AACA0D,MAAAA,CAAC,CAACqO,cAAF,GAJ8B,CAM9B;;AACA,UAAI4U,KAAK,GAAG3mB,GAAG,CAACc,OAAJ,CAAa,MAAb,CAAZ,CAP8B,CAS9B;;AACA,UAAK6lB,KAAK,CAAChmB,MAAX,EAAoB;AACnB;AACAokC,QAAAA,YAAY,CAAEpe,KAAF,CAAZ,CAAsB6c,QAAtB,CAAgC;AAC/BlF,UAAAA,KAAK,EAAEt+B,GAAG,CAACmQ,IAAJ,CAAU,MAAV,CADwB;AAE/B1L,UAAAA,OAAO,EAAE7I,GAAG,CAACmD,SAAJ,CAAe2E,CAAC,CAAC6B,MAAF,CAASmgC,iBAAxB;AAFsB,SAAhC,EAFmB,CAOnB;AACA;;AACAN,QAAAA,mBAAmB,CAAEze,KAAF,CAAnB;AACA;AACD,KApJ8B;;AAsJ/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEgf,IAAAA,aAAa,EAAE,UAAWjiC,CAAX,EAAc1D,GAAd,EAAoB;AAClC;AACA;AACAslC,MAAAA,4BAA4B,GAHM,CAKlC;;AACA,WAAK9oC,GAAL,CAAU,eAAV,EAA2BkH,CAA3B;AACA,KAzK8B;;AA2K/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEkiC,IAAAA,WAAW,EAAE,UAAWliC,CAAX,EAAc1D,GAAd,EAAoB;AAChC,WAAKxD,GAAL,CAAU,QAAV,EAAoB,IAApB;AACA,KAzL8B;;AA2L/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEqpC,IAAAA,sBAAsB,EAAE,UAAWniC,CAAX,EAAc1D,GAAd,EAAoB;AAC3C;AACA,UAAI8kC,KAAK,GAAGlpC,GAAG,CAACkJ,YAAJ,CAAkB;AAC7BmgC,QAAAA,IAAI,EAAEvpC,CAAC,CAAE,SAAF,CADsB;AAE7B6H,QAAAA,KAAK,EAAEG,CAFsB;AAG7B6gB,QAAAA,KAAK,EAAE,IAHsB;AAI7BogB,QAAAA,OAAO,EAAE,UAAWhe,KAAX,EAAkBqe,SAAlB,EAA8B;AACtC,cAAIc,OAAO,GAAGd,SAAS,CAACnhC,GAAV,CAAe,QAAf,EAA0B7D,GAAxC;AACA8lC,UAAAA,OAAO,CAACjJ,QAAR,CAAkB,yBAAlB;AACAiJ,UAAAA,OAAO,CACLt0B,IADF,CACQ,qBADR,EAEEK,WAFF,CAEe,OAFf;AAGA;AAV4B,OAAlB,CAAZ,CAF2C,CAe3C;;AACA,UAAK,CAAEizB,KAAP,EAAe;AACdphC,QAAAA,CAAC,CAACqO,cAAF;AACArO,QAAAA,CAAC,CAAC2jB,wBAAF;AACA;AACD,KA3N8B;;AA6N/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE0e,IAAAA,YAAY,EAAE,UAAWriC,CAAX,EAAc1D,GAAd,EAAoB;AACjC;AACA,UAAKtE,CAAC,CAAE,kBAAF,CAAD,CAAwBwM,GAAxB,OAAkC,WAAvC,EAAqD;AACpD;AACA,aAAK1L,GAAL,CAAU,QAAV,EAAoB,IAApB,EAFoD,CAIpD;;AACAZ,QAAAA,GAAG,CAACuJ,UAAJ,CAAgBnF,GAAhB;AACA;AACD,KAlP8B;;AAoP/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEgmC,IAAAA,QAAQ,EAAE,UAAWtiC,CAAX,EAAc1D,GAAd,EAAoB;AAC7B;AACA,WACC;AACA,OAAE,KAAKwkB,MAAP,IACA;AACA,WAAK3gB,GAAL,CAAU,QAAV,CAFA,IAGA;AACAH,MAAAA,CAAC,CAACuiC,kBAAF,EAND,EAOE;AACD;AACA,eAAO,KAAKC,WAAL,EAAP;AACA,OAZ4B,CAc7B;;;AACA,UAAIpB,KAAK,GAAGlpC,GAAG,CAACkJ,YAAJ,CAAkB;AAC7BmgC,QAAAA,IAAI,EAAEjlC,GADuB;AAE7BuD,QAAAA,KAAK,EAAE,KAAKM,GAAL,CAAU,eAAV;AAFsB,OAAlB,CAAZ,CAf6B,CAoB7B;;AACA,UAAK,CAAEihC,KAAP,EAAe;AACdphC,QAAAA,CAAC,CAACqO,cAAF;AACA;AACD,KAxR8B;;AA0R/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEm0B,IAAAA,WAAW,EAAE,YAAY;AACxB;AACA,WAAK1pC,GAAL,CAAU,QAAV,EAAoB,KAApB,EAFwB,CAIxB;;AACA,WAAKA,GAAL,CAAU,eAAV,EAA2B,KAA3B,EALwB,CAOxB;;AACA,aAAO,IAAP;AACA;AA9S8B,GAAf,CAAjB;AAiTA,MAAI2pC,mBAAmB,GAAG,IAAIvqC,GAAG,CAACoK,KAAR,CAAe;AACxCoJ,IAAAA,IAAI,EAAE,SADkC;AAExCE,IAAAA,UAAU,EAAE,YAAY;AACvB;AACA,UAAK,CAAE1T,GAAG,CAAC0V,WAAJ,EAAP,EAA2B;AAC1B;AACA,OAJsB,CAMvB;;;AACA,WAAK80B,eAAL;AACA,KAVuC;AAWxCA,IAAAA,eAAe,EAAE,YAAY;AAC5B;AACA,UAAIzD,MAAM,GAAGnR,EAAE,CAACtwB,IAAH,CAAQw5B,QAAR,CAAkB,aAAlB,CAAb;AACA,UAAI2L,YAAY,GAAG7U,EAAE,CAACtwB,IAAH,CAAQ0V,MAAR,CAAgB,aAAhB,CAAnB;AACA,UAAI0vB,OAAO,GAAG9U,EAAE,CAACtwB,IAAH,CAAQw5B,QAAR,CAAkB,cAAlB,CAAd,CAJ4B,CAM5B;;AACA,UAAI6L,QAAQ,GAAG5D,MAAM,CAAC4D,QAAtB,CAP4B,CAS5B;AACA;AACA;;AACA,UAAIC,aAAa,GAAG,KAApB;AACA,UAAIC,cAAc,GAAG,EAArB;AACAjV,MAAAA,EAAE,CAACtwB,IAAH,CAAQ44B,SAAR,CAAmB,YAAY;AAC9B,YAAI4M,UAAU,GAAGL,YAAY,CAAC9L,sBAAb,CAChB,QADgB,CAAjB;AAGAiM,QAAAA,aAAa,GACZE,UAAU,KAAK,SAAf,IAA4BA,UAAU,KAAK,QAD5C;AAEAD,QAAAA,cAAc,GACbC,UAAU,KAAK,SAAf,GAA2BA,UAA3B,GAAwCD,cADzC;AAEA,OARD,EAd4B,CAwB5B;;AACA9D,MAAAA,MAAM,CAAC4D,QAAP,GAAkB,UAAWlV,OAAX,EAAqB;AACtCA,QAAAA,OAAO,GAAGA,OAAO,IAAI,EAArB,CADsC,CAGtC;;AACA,YAAIsV,KAAK,GAAG,IAAZ;;AACA,YAAIC,KAAK,GAAGlmC,SAAZ,CALsC,CAOtC;;AACA,eAAO,IAAImmC,OAAJ,CAAa,UAAWC,OAAX,EAAoBC,MAApB,EAA6B;AAChD;AACA,cAAK1V,OAAO,CAAC2V,UAAR,IAAsB3V,OAAO,CAAC4V,SAAnC,EAA+C;AAC9C,mBAAOH,OAAO,CAAE,gCAAF,CAAd;AACA,WAJ+C,CAMhD;;;AACA,cAAK,CAAEN,aAAP,EAAuB;AACtB,mBAAOM,OAAO,CAAE,6BAAF,CAAd;AACA,WAT+C,CAWhD;;;AACA,cAAIhC,KAAK,GAAGlpC,GAAG,CAACkJ,YAAJ,CAAkB;AAC7BmgC,YAAAA,IAAI,EAAEvpC,CAAC,CAAE,SAAF,CADsB;AAE7B6oB,YAAAA,KAAK,EAAE,IAFsB;AAG7BzE,YAAAA,QAAQ,EAAE,UAAW6G,KAAX,EAAkBqe,SAAlB,EAA8B;AACvC;AACArC,cAAAA,MAAM,CAACuE,gBAAP,CAAyB,KAAzB;AACA,aAN4B;AAO7BvC,YAAAA,OAAO,EAAE,UAAWhe,KAAX,EAAkBqe,SAAlB,EAA8B;AACtC;AACA,kBAAIje,MAAM,GAAGie,SAAS,CAACnhC,GAAV,CAAe,QAAf,CAAb;AACAyiC,cAAAA,OAAO,CAACa,iBAAR,CAA2BpgB,MAAM,CAACljB,GAAP,CAAY,MAAZ,CAA3B,EAAiD;AAChD4C,gBAAAA,EAAE,EAAE,gBAD4C;AAEhD2gC,gBAAAA,aAAa,EAAE;AAFiC,eAAjD;AAIArgB,cAAAA,MAAM,CAAC3oB,MAAP,GAPsC,CAStC;;AACA,kBAAKqoC,cAAL,EAAsB;AACrB9D,gBAAAA,MAAM,CAAC0E,QAAP,CAAiB;AAChB3sB,kBAAAA,MAAM,EAAE+rB;AADQ,iBAAjB;AAGA,eAdqC,CAgBtC;;;AACAM,cAAAA,MAAM,CAAE,oBAAF,CAAN;AACA,aAzB4B;AA0B7B1pB,YAAAA,OAAO,EAAE,YAAY;AACpBipB,cAAAA,OAAO,CAAChb,YAAR,CAAsB,gBAAtB,EADoB,CAGpB;;AACAwb,cAAAA,OAAO,CAAE,qBAAF,CAAP;AACA;AA/B4B,WAAlB,CAAZ,CAZgD,CA8ChD;;AACA,cAAKhC,KAAL,EAAa;AACZgC,YAAAA,OAAO,CAAE,sBAAF,CAAP,CADY,CAGZ;AACA,WAJD,MAIO;AACNnE,YAAAA,MAAM,CAAC2E,cAAP,CAAuB,KAAvB;AACA;AACD,SAtDM,EAuDLC,IAvDK,CAuDC,YAAY;AAClB,iBAAOhB,QAAQ,CAAC9lC,KAAT,CAAgBkmC,KAAhB,EAAuBC,KAAvB,CAAP;AACA,SAzDK,EA0DLY,KA1DK,CA0DE,UAAWC,GAAX,EAAiB,CACxB;AACA,SA5DK,CAAP;AA6DA,OArED;AAsEA;AA1GuC,GAAf,CAA1B;AA4GA,CAroCD,EAqoCKz/B,MAroCL;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA,eAAe,4BAA4B;WAC3C,eAAe;WACf,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA,8CAA8C;;;;;WCA9C;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-compatibility.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-condition-types.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-condition.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-conditions.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-accordion.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-button-group.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-checkbox.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-color-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-time-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-file.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-google-map.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-image.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-link.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-oembed.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-page-link.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-post-object.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-radio.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-range.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-relationship.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-select.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-tab.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-taxonomy.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-time-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-true-false.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-url.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-user.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-wysiwyg.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-fields.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-helpers.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-media.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-postbox.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-screen.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-select2.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-tinymce.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-unload.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-validation.js","webpack://advanced-custom-fields-pro/webpack/bootstrap","webpack://advanced-custom-fields-pro/webpack/runtime/compat get default export","webpack://advanced-custom-fields-pro/webpack/runtime/define property getters","webpack://advanced-custom-fields-pro/webpack/runtime/hasOwnProperty shorthand","webpack://advanced-custom-fields-pro/webpack/runtime/make namespace object","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/acf-input.js"],"sourcesContent":["( function ( $, undefined ) {\n\t/**\n\t * acf.newCompatibility\n\t *\n\t * Inserts a new __proto__ object compatibility layer\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tobject instance The object to modify.\n\t * @param\tobject compatibilty Optional. The compatibilty layer.\n\t * @return\tobject compatibilty\n\t */\n\n\tacf.newCompatibility = function ( instance, compatibilty ) {\n\t\t// defaults\n\t\tcompatibilty = compatibilty || {};\n\n\t\t// inherit __proto_-\n\t\tcompatibilty.__proto__ = instance.__proto__;\n\n\t\t// inject\n\t\tinstance.__proto__ = compatibilty;\n\n\t\t// reference\n\t\tinstance.compatibility = compatibilty;\n\n\t\t// return\n\t\treturn compatibilty;\n\t};\n\n\t/**\n\t * acf.getCompatibility\n\t *\n\t * Returns the compatibility layer for a given instance\n\t *\n\t * @date\t13/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tobject\t\tinstance\t\tThe object to look in.\n\t * @return\tobject|null\tcompatibility\tThe compatibility object or null on failure.\n\t */\n\n\tacf.getCompatibility = function ( instance ) {\n\t\treturn instance.compatibility || null;\n\t};\n\n\t/**\n\t * acf (compatibility)\n\t *\n\t * Compatibility layer for the acf object\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar _acf = acf.newCompatibility( acf, {\n\t\t// storage\n\t\tl10n: {},\n\t\to: {},\n\t\tfields: {},\n\n\t\t// changed function names\n\t\tupdate: acf.set,\n\t\tadd_action: acf.addAction,\n\t\tremove_action: acf.removeAction,\n\t\tdo_action: acf.doAction,\n\t\tadd_filter: acf.addFilter,\n\t\tremove_filter: acf.removeFilter,\n\t\tapply_filters: acf.applyFilters,\n\t\tparse_args: acf.parseArgs,\n\t\tdisable_el: acf.disable,\n\t\tdisable_form: acf.disable,\n\t\tenable_el: acf.enable,\n\t\tenable_form: acf.enable,\n\t\tupdate_user_setting: acf.updateUserSetting,\n\t\tprepare_for_ajax: acf.prepareForAjax,\n\t\tis_ajax_success: acf.isAjaxSuccess,\n\t\tremove_el: acf.remove,\n\t\tremove_tr: acf.remove,\n\t\tstr_replace: acf.strReplace,\n\t\trender_select: acf.renderSelect,\n\t\tget_uniqid: acf.uniqid,\n\t\tserialize_form: acf.serialize,\n\t\tesc_html: acf.strEscape,\n\t\tstr_sanitize: acf.strSanitize,\n\t} );\n\n\t_acf._e = function ( k1, k2 ) {\n\t\t// defaults\n\t\tk1 = k1 || '';\n\t\tk2 = k2 || '';\n\n\t\t// compability\n\t\tvar compatKey = k2 ? k1 + '.' + k2 : k1;\n\t\tvar compats = {\n\t\t\t'image.select': 'Select Image',\n\t\t\t'image.edit': 'Edit Image',\n\t\t\t'image.update': 'Update Image',\n\t\t};\n\t\tif ( compats[ compatKey ] ) {\n\t\t\treturn acf.__( compats[ compatKey ] );\n\t\t}\n\n\t\t// try k1\n\t\tvar string = this.l10n[ k1 ] || '';\n\n\t\t// try k2\n\t\tif ( k2 ) {\n\t\t\tstring = string[ k2 ] || '';\n\t\t}\n\n\t\t// return\n\t\treturn string;\n\t};\n\n\t_acf.get_selector = function ( s ) {\n\t\t// vars\n\t\tvar selector = '.acf-field';\n\n\t\t// bail early if no search\n\t\tif ( ! s ) {\n\t\t\treturn selector;\n\t\t}\n\n\t\t// compatibility with object\n\t\tif ( $.isPlainObject( s ) ) {\n\t\t\tif ( $.isEmptyObject( s ) ) {\n\t\t\t\treturn selector;\n\t\t\t} else {\n\t\t\t\tfor ( var k in s ) {\n\t\t\t\t\ts = s[ k ];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// append\n\t\tselector += '-' + s;\n\n\t\t// replace underscores (split/join replaces all and is faster than regex!)\n\t\tselector = acf.strReplace( '_', '-', selector );\n\n\t\t// remove potential double up\n\t\tselector = acf.strReplace( 'field-field-', 'field-', selector );\n\n\t\t// return\n\t\treturn selector;\n\t};\n\n\t_acf.get_fields = function ( s, $el, all ) {\n\t\t// args\n\t\tvar args = {\n\t\t\tis: s || '',\n\t\t\tparent: $el || false,\n\t\t\tsuppressFilters: all || false,\n\t\t};\n\n\t\t// change 'field_123' to '.acf-field-123'\n\t\tif ( args.is ) {\n\t\t\targs.is = this.get_selector( args.is );\n\t\t}\n\n\t\t// return\n\t\treturn acf.findFields( args );\n\t};\n\n\t_acf.get_field = function ( s, $el ) {\n\t\t// get fields\n\t\tvar $fields = this.get_fields.apply( this, arguments );\n\n\t\t// return\n\t\tif ( $fields.length ) {\n\t\t\treturn $fields.first();\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t_acf.get_closest_field = function ( $el, s ) {\n\t\treturn $el.closest( this.get_selector( s ) );\n\t};\n\n\t_acf.get_field_wrap = function ( $el ) {\n\t\treturn $el.closest( this.get_selector() );\n\t};\n\n\t_acf.get_field_key = function ( $field ) {\n\t\treturn $field.data( 'key' );\n\t};\n\n\t_acf.get_field_type = function ( $field ) {\n\t\treturn $field.data( 'type' );\n\t};\n\n\t_acf.get_data = function ( $el, defaults ) {\n\t\treturn acf.parseArgs( $el.data(), defaults );\n\t};\n\n\t_acf.maybe_get = function ( obj, key, value ) {\n\t\t// default\n\t\tif ( value === undefined ) {\n\t\t\tvalue = null;\n\t\t}\n\n\t\t// get keys\n\t\tkeys = String( key ).split( '.' );\n\n\t\t// acf.isget\n\t\tfor ( var i = 0; i < keys.length; i++ ) {\n\t\t\tif ( ! obj.hasOwnProperty( keys[ i ] ) ) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tobj = obj[ keys[ i ] ];\n\t\t}\n\t\treturn obj;\n\t};\n\n\t/**\n\t * hooks\n\t *\n\t * Modify add_action and add_filter functions to add compatibility with changed $field parameter\n\t * Using the acf.add_action() or acf.add_filter() functions will interpret new field parameters as jQuery $field\n\t *\n\t * @date\t12/5/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar compatibleArgument = function ( arg ) {\n\t\treturn arg instanceof acf.Field ? arg.$el : arg;\n\t};\n\n\tvar compatibleArguments = function ( args ) {\n\t\treturn acf.arrayArgs( args ).map( compatibleArgument );\n\t};\n\n\tvar compatibleCallback = function ( origCallback ) {\n\t\treturn function () {\n\t\t\t// convert to compatible arguments\n\t\t\tif ( arguments.length ) {\n\t\t\t\tvar args = compatibleArguments( arguments );\n\n\t\t\t\t// add default argument for 'ready', 'append' and 'load' events\n\t\t\t} else {\n\t\t\t\tvar args = [ $( document ) ];\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn origCallback.apply( this, args );\n\t\t};\n\t};\n\n\t_acf.add_action = function ( action, callback, priority, context ) {\n\t\t// handle multiple actions\n\t\tvar actions = action.split( ' ' );\n\t\tvar length = actions.length;\n\t\tif ( length > 1 ) {\n\t\t\tfor ( var i = 0; i < length; i++ ) {\n\t\t\t\taction = actions[ i ];\n\t\t\t\t_acf.add_action.apply( this, arguments );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\n\t\t// single\n\t\tvar callback = compatibleCallback( callback );\n\t\treturn acf.addAction.apply( this, arguments );\n\t};\n\n\t_acf.add_filter = function ( action, callback, priority, context ) {\n\t\tvar callback = compatibleCallback( callback );\n\t\treturn acf.addFilter.apply( this, arguments );\n\t};\n\n\t/*\n\t * acf.model\n\t *\n\t * This model acts as a scafold for action.event driven modules\n\t *\n\t * @type\tobject\n\t * @date\t8/09/2014\n\t * @since\t5.0.0\n\t *\n\t * @param\t(object)\n\t * @return\t(object)\n\t */\n\n\t_acf.model = {\n\t\tactions: {},\n\t\tfilters: {},\n\t\tevents: {},\n\t\textend: function ( args ) {\n\t\t\t// extend\n\t\t\tvar model = $.extend( {}, this, args );\n\n\t\t\t// setup actions\n\t\t\t$.each( model.actions, function ( name, callback ) {\n\t\t\t\tmodel._add_action( name, callback );\n\t\t\t} );\n\n\t\t\t// setup filters\n\t\t\t$.each( model.filters, function ( name, callback ) {\n\t\t\t\tmodel._add_filter( name, callback );\n\t\t\t} );\n\n\t\t\t// setup events\n\t\t\t$.each( model.events, function ( name, callback ) {\n\t\t\t\tmodel._add_event( name, callback );\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn model;\n\t\t},\n\n\t\t_add_action: function ( name, callback ) {\n\t\t\t// split\n\t\t\tvar model = this,\n\t\t\t\tdata = name.split( ' ' );\n\n\t\t\t// add missing priority\n\t\t\tvar name = data[ 0 ] || '',\n\t\t\t\tpriority = data[ 1 ] || 10;\n\n\t\t\t// add action\n\t\t\tacf.add_action( name, model[ callback ], priority, model );\n\t\t},\n\n\t\t_add_filter: function ( name, callback ) {\n\t\t\t// split\n\t\t\tvar model = this,\n\t\t\t\tdata = name.split( ' ' );\n\n\t\t\t// add missing priority\n\t\t\tvar name = data[ 0 ] || '',\n\t\t\t\tpriority = data[ 1 ] || 10;\n\n\t\t\t// add action\n\t\t\tacf.add_filter( name, model[ callback ], priority, model );\n\t\t},\n\n\t\t_add_event: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this,\n\t\t\t\ti = name.indexOf( ' ' ),\n\t\t\t\tevent = i > 0 ? name.substr( 0, i ) : name,\n\t\t\t\tselector = i > 0 ? name.substr( i + 1 ) : '';\n\n\t\t\t// event\n\t\t\tvar fn = function ( e ) {\n\t\t\t\t// append $el to event object\n\t\t\t\te.$el = $( this );\n\n\t\t\t\t// append $field to event object (used in field group)\n\t\t\t\tif ( acf.field_group ) {\n\t\t\t\t\te.$field = e.$el.closest( '.acf-field-object' );\n\t\t\t\t}\n\n\t\t\t\t// event\n\t\t\t\tif ( typeof model.event === 'function' ) {\n\t\t\t\t\te = model.event( e );\n\t\t\t\t}\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t};\n\n\t\t\t// add event\n\t\t\tif ( selector ) {\n\t\t\t\t$( document ).on( event, selector, fn );\n\t\t\t} else {\n\t\t\t\t$( document ).on( event, fn );\n\t\t\t}\n\t\t},\n\n\t\tget: function ( name, value ) {\n\t\t\t// defaults\n\t\t\tvalue = value || null;\n\n\t\t\t// get\n\t\t\tif ( typeof this[ name ] !== 'undefined' ) {\n\t\t\t\tvalue = this[ name ];\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn value;\n\t\t},\n\n\t\tset: function ( name, value ) {\n\t\t\t// set\n\t\t\tthis[ name ] = value;\n\n\t\t\t// function for 3rd party\n\t\t\tif ( typeof this[ '_set_' + name ] === 'function' ) {\n\t\t\t\tthis[ '_set_' + name ].apply( this );\n\t\t\t}\n\n\t\t\t// return for chaining\n\t\t\treturn this;\n\t\t},\n\t};\n\n\t/*\n\t * field\n\t *\n\t * This model sets up many of the field's interactions\n\t *\n\t * @type\tfunction\n\t * @date\t21/02/2014\n\t * @since\t3.5.1\n\t *\n\t * @param\tn/a\n\t * @return\tn/a\n\t */\n\n\t_acf.field = acf.model.extend( {\n\t\ttype: '',\n\t\to: {},\n\t\t$field: null,\n\t\t_add_action: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\n\t\t\t// update name\n\t\t\tname = name + '_field/type=' + model.type;\n\n\t\t\t// add action\n\t\t\tacf.add_action( name, function ( $field ) {\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', $field );\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t} );\n\t\t},\n\n\t\t_add_filter: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\n\t\t\t// update name\n\t\t\tname = name + '_field/type=' + model.type;\n\n\t\t\t// add action\n\t\t\tacf.add_filter( name, function ( $field ) {\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', $field );\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t} );\n\t\t},\n\n\t\t_add_event: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this,\n\t\t\t\tevent = name.substr( 0, name.indexOf( ' ' ) ),\n\t\t\t\tselector = name.substr( name.indexOf( ' ' ) + 1 ),\n\t\t\t\tcontext = acf.get_selector( model.type );\n\n\t\t\t// add event\n\t\t\t$( document ).on( event, context + ' ' + selector, function ( e ) {\n\t\t\t\t// vars\n\t\t\t\tvar $el = $( this );\n\t\t\t\tvar $field = acf.get_closest_field( $el, model.type );\n\n\t\t\t\t// bail early if no field\n\t\t\t\tif ( ! $field.length ) return;\n\n\t\t\t\t// focus\n\t\t\t\tif ( ! $field.is( model.$field ) ) {\n\t\t\t\t\tmodel.set( '$field', $field );\n\t\t\t\t}\n\n\t\t\t\t// append to event\n\t\t\t\te.$el = $el;\n\t\t\t\te.$field = $field;\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, [ e ] );\n\t\t\t} );\n\t\t},\n\n\t\t_set_$field: function () {\n\t\t\t// callback\n\t\t\tif ( typeof this.focus === 'function' ) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\t\t},\n\n\t\t// depreciated\n\t\tdoFocus: function ( $field ) {\n\t\t\treturn this.set( '$field', $field );\n\t\t},\n\t} );\n\n\t/**\n\t * validation\n\t *\n\t * description\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar _validation = acf.newCompatibility( acf.validation, {\n\t\tremove_error: function ( $field ) {\n\t\t\tacf.getField( $field ).removeError();\n\t\t},\n\t\tadd_warning: function ( $field, message ) {\n\t\t\tacf.getField( $field ).showNotice( {\n\t\t\t\ttext: message,\n\t\t\t\ttype: 'warning',\n\t\t\t\ttimeout: 1000,\n\t\t\t} );\n\t\t},\n\t\tfetch: acf.validateForm,\n\t\tenableSubmit: acf.enableSubmit,\n\t\tdisableSubmit: acf.disableSubmit,\n\t\tshowSpinner: acf.showSpinner,\n\t\thideSpinner: acf.hideSpinner,\n\t\tunlockForm: acf.unlockForm,\n\t\tlockForm: acf.lockForm,\n\t} );\n\n\t/**\n\t * tooltip\n\t *\n\t * description\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t_acf.tooltip = {\n\t\ttooltip: function ( text, $el ) {\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\ttext: text,\n\t\t\t\ttarget: $el,\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn tooltip.$el;\n\t\t},\n\n\t\ttemp: function ( text, $el ) {\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\ttext: text,\n\t\t\t\ttarget: $el,\n\t\t\t\ttimeout: 250,\n\t\t\t} );\n\t\t},\n\n\t\tconfirm: function ( $el, callback, text, button_y, button_n ) {\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\tconfirm: true,\n\t\t\t\ttext: text,\n\t\t\t\ttarget: $el,\n\t\t\t\tconfirm: function () {\n\t\t\t\t\tcallback( true );\n\t\t\t\t},\n\t\t\t\tcancel: function () {\n\t\t\t\t\tcallback( false );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tconfirm_remove: function ( $el, callback ) {\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\tconfirmRemove: true,\n\t\t\t\ttarget: $el,\n\t\t\t\tconfirm: function () {\n\t\t\t\t\tcallback( true );\n\t\t\t\t},\n\t\t\t\tcancel: function () {\n\t\t\t\t\tcallback( false );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\t};\n\n\t/**\n\t * tooltip\n\t *\n\t * description\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t_acf.media = new acf.Model( {\n\t\tactiveFrame: false,\n\t\tactions: {\n\t\t\tnew_media_popup: 'onNewMediaPopup',\n\t\t},\n\n\t\tframe: function () {\n\t\t\treturn this.activeFrame;\n\t\t},\n\n\t\tonNewMediaPopup: function ( popup ) {\n\t\t\tthis.activeFrame = popup.frame;\n\t\t},\n\n\t\tpopup: function ( props ) {\n\t\t\t// update props\n\t\t\tif ( props.mime_types ) {\n\t\t\t\tprops.allowedTypes = props.mime_types;\n\t\t\t}\n\t\t\tif ( props.id ) {\n\t\t\t\tprops.attachment = props.id;\n\t\t\t}\n\n\t\t\t// new\n\t\t\tvar popup = acf.newMediaPopup( props );\n\n\t\t\t// append\n\t\t\t/*\n\t\t\tif( props.selected ) {\n\t\t\t\tpopup.selected = props.selected;\n\t\t\t}\n*/\n\n\t\t\t// return\n\t\t\treturn popup.frame;\n\t\t},\n\t} );\n\n\t/**\n\t * Select2\n\t *\n\t * description\n\t *\n\t * @date\t11/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t_acf.select2 = {\n\t\tinit: function ( $select, args, $field ) {\n\t\t\t// compatible args\n\t\t\tif ( args.allow_null ) {\n\t\t\t\targs.allowNull = args.allow_null;\n\t\t\t}\n\t\t\tif ( args.ajax_action ) {\n\t\t\t\targs.ajaxAction = args.ajax_action;\n\t\t\t}\n\t\t\tif ( $field ) {\n\t\t\t\targs.field = acf.getField( $field );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn acf.newSelect2( $select, args );\n\t\t},\n\n\t\tdestroy: function ( $select ) {\n\t\t\treturn acf.getInstance( $select ).destroy();\n\t\t},\n\t};\n\n\t/**\n\t * postbox\n\t *\n\t * description\n\t *\n\t * @date\t11/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t_acf.postbox = {\n\t\trender: function ( args ) {\n\t\t\t// compatible args\n\t\t\tif ( args.edit_url ) {\n\t\t\t\targs.editLink = args.edit_url;\n\t\t\t}\n\t\t\tif ( args.edit_title ) {\n\t\t\t\targs.editTitle = args.edit_title;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn acf.newPostbox( args );\n\t\t},\n\t};\n\n\t/**\n\t * acf.screen\n\t *\n\t * description\n\t *\n\t * @date\t11/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newCompatibility( acf.screen, {\n\t\tupdate: function () {\n\t\t\treturn this.set.apply( this, arguments );\n\t\t},\n\t\tfetch: acf.screen.check,\n\t} );\n\t_acf.ajax = acf.screen;\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar __ = acf.__;\n\n\tvar parseString = function ( val ) {\n\t\treturn val ? '' + val : '';\n\t};\n\n\tvar isEqualTo = function ( v1, v2 ) {\n\t\treturn (\n\t\t\tparseString( v1 ).toLowerCase() === parseString( v2 ).toLowerCase()\n\t\t);\n\t};\n\n\tvar isEqualToNumber = function ( v1, v2 ) {\n\t\treturn parseFloat( v1 ) === parseFloat( v2 );\n\t};\n\n\tvar isGreaterThan = function ( v1, v2 ) {\n\t\treturn parseFloat( v1 ) > parseFloat( v2 );\n\t};\n\n\tvar isLessThan = function ( v1, v2 ) {\n\t\treturn parseFloat( v1 ) < parseFloat( v2 );\n\t};\n\n\tvar inArray = function ( v1, array ) {\n\t\t// cast all values as string\n\t\tarray = array.map( function ( v2 ) {\n\t\t\treturn parseString( v2 );\n\t\t} );\n\n\t\treturn array.indexOf( v1 ) > -1;\n\t};\n\n\tvar containsString = function ( haystack, needle ) {\n\t\treturn parseString( haystack ).indexOf( parseString( needle ) ) > -1;\n\t};\n\n\tvar matchesPattern = function ( v1, pattern ) {\n\t\tvar regexp = new RegExp( parseString( pattern ), 'gi' );\n\t\treturn parseString( v1 ).match( regexp );\n\t};\n\n\t/**\n\t * hasValue\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar HasValue = acf.Condition.extend( {\n\t\ttype: 'hasValue',\n\t\toperator: '!=empty',\n\t\tlabel: __( 'Has any value' ),\n\t\tfieldTypes: [\n\t\t\t'text',\n\t\t\t'textarea',\n\t\t\t'number',\n\t\t\t'range',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'password',\n\t\t\t'image',\n\t\t\t'file',\n\t\t\t'wysiwyg',\n\t\t\t'oembed',\n\t\t\t'select',\n\t\t\t'checkbox',\n\t\t\t'radio',\n\t\t\t'button_group',\n\t\t\t'link',\n\t\t\t'post_object',\n\t\t\t'page_link',\n\t\t\t'relationship',\n\t\t\t'taxonomy',\n\t\t\t'user',\n\t\t\t'google_map',\n\t\t\t'date_picker',\n\t\t\t'date_time_picker',\n\t\t\t'time_picker',\n\t\t\t'color_picker',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn val ? true : false;\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasValue );\n\n\t/**\n\t * hasValue\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar HasNoValue = HasValue.extend( {\n\t\ttype: 'hasNoValue',\n\t\toperator: '==empty',\n\t\tlabel: __( 'Has no value' ),\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! HasValue.prototype.match.apply( this, arguments );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasNoValue );\n\n\t/**\n\t * EqualTo\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar EqualTo = acf.Condition.extend( {\n\t\ttype: 'equalTo',\n\t\toperator: '==',\n\t\tlabel: __( 'Value is equal to' ),\n\t\tfieldTypes: [\n\t\t\t'text',\n\t\t\t'textarea',\n\t\t\t'number',\n\t\t\t'range',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'password',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\tif ( acf.isNumeric( rule.value ) ) {\n\t\t\t\treturn isEqualToNumber( rule.value, field.val() );\n\t\t\t} else {\n\t\t\t\treturn isEqualTo( rule.value, field.val() );\n\t\t\t}\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( EqualTo );\n\n\t/**\n\t * NotEqualTo\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar NotEqualTo = EqualTo.extend( {\n\t\ttype: 'notEqualTo',\n\t\toperator: '!=',\n\t\tlabel: __( 'Value is not equal to' ),\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! EqualTo.prototype.match.apply( this, arguments );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( NotEqualTo );\n\n\t/**\n\t * PatternMatch\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar PatternMatch = acf.Condition.extend( {\n\t\ttype: 'patternMatch',\n\t\toperator: '==pattern',\n\t\tlabel: __( 'Value matches pattern' ),\n\t\tfieldTypes: [\n\t\t\t'text',\n\t\t\t'textarea',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'password',\n\t\t\t'wysiwyg',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn matchesPattern( field.val(), rule.value );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( PatternMatch );\n\n\t/**\n\t * Contains\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar Contains = acf.Condition.extend( {\n\t\ttype: 'contains',\n\t\toperator: '==contains',\n\t\tlabel: __( 'Value contains' ),\n\t\tfieldTypes: [\n\t\t\t'text',\n\t\t\t'textarea',\n\t\t\t'number',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'password',\n\t\t\t'wysiwyg',\n\t\t\t'oembed',\n\t\t\t'select',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn containsString( field.val(), rule.value );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( Contains );\n\n\t/**\n\t * TrueFalseEqualTo\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar TrueFalseEqualTo = EqualTo.extend( {\n\t\ttype: 'trueFalseEqualTo',\n\t\tchoiceType: 'select',\n\t\tfieldTypes: [ 'true_false' ],\n\t\tchoices: function ( field ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tid: 1,\n\t\t\t\t\ttext: __( 'Checked' ),\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\t} );\n\n\tacf.registerConditionType( TrueFalseEqualTo );\n\n\t/**\n\t * TrueFalseNotEqualTo\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar TrueFalseNotEqualTo = NotEqualTo.extend( {\n\t\ttype: 'trueFalseNotEqualTo',\n\t\tchoiceType: 'select',\n\t\tfieldTypes: [ 'true_false' ],\n\t\tchoices: function ( field ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tid: 1,\n\t\t\t\t\ttext: __( 'Checked' ),\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\t} );\n\n\tacf.registerConditionType( TrueFalseNotEqualTo );\n\n\t/**\n\t * SelectEqualTo\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar SelectEqualTo = acf.Condition.extend( {\n\t\ttype: 'selectEqualTo',\n\t\toperator: '==',\n\t\tlabel: __( 'Value is equal to' ),\n\t\tfieldTypes: [ 'select', 'checkbox', 'radio', 'button_group' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tvar val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\treturn inArray( rule.value, val );\n\t\t\t} else {\n\t\t\t\treturn isEqualTo( rule.value, val );\n\t\t\t}\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\t// vars\n\t\t\tvar choices = [];\n\t\t\tvar lines = fieldObject\n\t\t\t\t.$setting( 'choices textarea' )\n\t\t\t\t.val()\n\t\t\t\t.split( '\\n' );\n\n\t\t\t// allow null\n\t\t\tif ( fieldObject.$input( 'allow_null' ).prop( 'checked' ) ) {\n\t\t\t\tchoices.push( {\n\t\t\t\t\tid: '',\n\t\t\t\t\ttext: __( 'Null' ),\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// loop\n\t\t\tlines.map( function ( line ) {\n\t\t\t\t// split\n\t\t\t\tline = line.split( ':' );\n\n\t\t\t\t// default label to value\n\t\t\t\tline[ 1 ] = line[ 1 ] || line[ 0 ];\n\n\t\t\t\t// append\n\t\t\t\tchoices.push( {\n\t\t\t\t\tid: line[ 0 ].trim(),\n\t\t\t\t\ttext: line[ 1 ].trim(),\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn choices;\n\t\t},\n\t} );\n\n\tacf.registerConditionType( SelectEqualTo );\n\n\t/**\n\t * SelectNotEqualTo\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar SelectNotEqualTo = SelectEqualTo.extend( {\n\t\ttype: 'selectNotEqualTo',\n\t\toperator: '!=',\n\t\tlabel: __( 'Value is not equal to' ),\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! SelectEqualTo.prototype.match.apply( this, arguments );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( SelectNotEqualTo );\n\n\t/**\n\t * GreaterThan\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar GreaterThan = acf.Condition.extend( {\n\t\ttype: 'greaterThan',\n\t\toperator: '>',\n\t\tlabel: __( 'Value is greater than' ),\n\t\tfieldTypes: [ 'number', 'range' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tvar val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn isGreaterThan( val, rule.value );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( GreaterThan );\n\n\t/**\n\t * LessThan\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar LessThan = GreaterThan.extend( {\n\t\ttype: 'lessThan',\n\t\toperator: '<',\n\t\tlabel: __( 'Value is less than' ),\n\t\tmatch: function ( rule, field ) {\n\t\t\tvar val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\tif ( val === undefined || val === null || val === false ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn isLessThan( val, rule.value );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( LessThan );\n\n\t/**\n\t * SelectedGreaterThan\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar SelectionGreaterThan = GreaterThan.extend( {\n\t\ttype: 'selectionGreaterThan',\n\t\tlabel: __( 'Selection is greater than' ),\n\t\tfieldTypes: [\n\t\t\t'checkbox',\n\t\t\t'select',\n\t\t\t'post_object',\n\t\t\t'page_link',\n\t\t\t'relationship',\n\t\t\t'taxonomy',\n\t\t\t'user',\n\t\t],\n\t} );\n\n\tacf.registerConditionType( SelectionGreaterThan );\n\n\t/**\n\t * SelectedGreaterThan\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar SelectionLessThan = LessThan.extend( {\n\t\ttype: 'selectionLessThan',\n\t\tlabel: __( 'Selection is less than' ),\n\t\tfieldTypes: [\n\t\t\t'checkbox',\n\t\t\t'select',\n\t\t\t'post_object',\n\t\t\t'page_link',\n\t\t\t'relationship',\n\t\t\t'taxonomy',\n\t\t\t'user',\n\t\t],\n\t} );\n\n\tacf.registerConditionType( SelectionLessThan );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar storage = [];\n\n\t/**\n\t * acf.Condition\n\t *\n\t * description\n\t *\n\t * @date\t23/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.Condition = acf.Model.extend( {\n\t\ttype: '', // used for model name\n\t\toperator: '==', // rule operator\n\t\tlabel: '', // label shown when editing fields\n\t\tchoiceType: 'input', // input, select\n\t\tfieldTypes: [], // auto connect this conditions with these field types\n\n\t\tdata: {\n\t\t\tconditions: false, // the parent instance\n\t\t\tfield: false, // the field which we query against\n\t\t\trule: {}, // the rule [field, operator, value]\n\t\t},\n\n\t\tevents: {\n\t\t\tchange: 'change',\n\t\t\tkeyup: 'change',\n\t\t\tenableField: 'change',\n\t\t\tdisableField: 'change',\n\t\t},\n\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t},\n\n\t\tgetEventTarget: function ( $el, event ) {\n\t\t\treturn $el || this.get( 'field' ).$el;\n\t\t},\n\n\t\tchange: function ( e, $el ) {\n\t\t\tthis.get( 'conditions' ).change( e );\n\t\t},\n\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn false;\n\t\t},\n\n\t\tcalculate: function () {\n\t\t\treturn this.match( this.get( 'rule' ), this.get( 'field' ) );\n\t\t},\n\n\t\tchoices: function ( field ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\t/**\n\t * acf.newCondition\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newCondition = function ( rule, conditions ) {\n\t\t// currently setting up conditions for fieldX, this field is the 'target'\n\t\tvar target = conditions.get( 'field' );\n\n\t\t// use the 'target' to find the 'trigger' field.\n\t\t// - this field is used to setup the conditional logic events\n\t\tvar field = target.getField( rule.field );\n\n\t\t// bail ealry if no target or no field (possible if field doesn't exist due to HTML error)\n\t\tif ( ! target || ! field ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// vars\n\t\tvar args = {\n\t\t\trule: rule,\n\t\t\ttarget: target,\n\t\t\tconditions: conditions,\n\t\t\tfield: field,\n\t\t};\n\n\t\t// vars\n\t\tvar fieldType = field.get( 'type' );\n\t\tvar operator = rule.operator;\n\n\t\t// get avaibale conditions\n\t\tvar conditionTypes = acf.getConditionTypes( {\n\t\t\tfieldType: fieldType,\n\t\t\toperator: operator,\n\t\t} );\n\n\t\t// instantiate\n\t\tvar model = conditionTypes[ 0 ] || acf.Condition;\n\n\t\t// instantiate\n\t\tvar condition = new model( args );\n\n\t\t// return\n\t\treturn condition;\n\t};\n\n\t/**\n\t * mid\n\t *\n\t * Calculates the model ID for a field type\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring type\n\t * @return\tstring\n\t */\n\n\tvar modelId = function ( type ) {\n\t\treturn acf.strPascalCase( type || '' ) + 'Condition';\n\t};\n\n\t/**\n\t * acf.registerConditionType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.registerConditionType = function ( model ) {\n\t\t// vars\n\t\tvar proto = model.prototype;\n\t\tvar type = proto.type;\n\t\tvar mid = modelId( type );\n\n\t\t// store model\n\t\tacf.models[ mid ] = model;\n\n\t\t// store reference\n\t\tstorage.push( type );\n\t};\n\n\t/**\n\t * acf.getConditionType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getConditionType = function ( type ) {\n\t\tvar mid = modelId( type );\n\t\treturn acf.models[ mid ] || false;\n\t};\n\n\t/**\n\t * acf.registerConditionForFieldType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.registerConditionForFieldType = function ( conditionType, fieldType ) {\n\t\t// get model\n\t\tvar model = acf.getConditionType( conditionType );\n\n\t\t// append\n\t\tif ( model ) {\n\t\t\tmodel.prototype.fieldTypes.push( fieldType );\n\t\t}\n\t};\n\n\t/**\n\t * acf.getConditionTypes\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getConditionTypes = function ( args ) {\n\t\t// defaults\n\t\targs = acf.parseArgs( args, {\n\t\t\tfieldType: '',\n\t\t\toperator: '',\n\t\t} );\n\n\t\t// clonse available types\n\t\tvar types = [];\n\n\t\t// loop\n\t\tstorage.map( function ( type ) {\n\t\t\t// vars\n\t\t\tvar model = acf.getConditionType( type );\n\t\t\tvar ProtoFieldTypes = model.prototype.fieldTypes;\n\t\t\tvar ProtoOperator = model.prototype.operator;\n\n\t\t\t// check fieldType\n\t\t\tif (\n\t\t\t\targs.fieldType &&\n\t\t\t\tProtoFieldTypes.indexOf( args.fieldType ) === -1\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// check operator\n\t\t\tif ( args.operator && ProtoOperator !== args.operator ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// append\n\t\t\ttypes.push( model );\n\t\t} );\n\n\t\t// return\n\t\treturn types;\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar CONTEXT = 'conditional_logic';\n\n\t/**\n\t * conditionsManager\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar conditionsManager = new acf.Model( {\n\t\tid: 'conditionsManager',\n\n\t\tpriority: 20, // run actions later\n\n\t\tactions: {\n\t\t\tnew_field: 'onNewField',\n\t\t},\n\n\t\tonNewField: function ( field ) {\n\t\t\tif ( field.has( 'conditions' ) ) {\n\t\t\t\tfield.getConditions().render();\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * acf.Field.prototype.getField\n\t *\n\t * Finds a field that is related to another field\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar getSiblingField = function ( field, key ) {\n\t\t// find sibling (very fast)\n\t\tvar fields = acf.getFields( {\n\t\t\tkey: key,\n\t\t\tsibling: field.$el,\n\t\t\tsuppressFilters: true,\n\t\t} );\n\n\t\t// find sibling-children (fast)\n\t\t// needed for group fields, accordions, etc\n\t\tif ( ! fields.length ) {\n\t\t\tfields = acf.getFields( {\n\t\t\t\tkey: key,\n\t\t\t\tparent: field.$el.parent(),\n\t\t\t\tsuppressFilters: true,\n\t\t\t} );\n\t\t}\n\n\t\t// return\n\t\tif ( fields.length ) {\n\t\t\treturn fields[ 0 ];\n\t\t}\n\t\treturn false;\n\t};\n\n\tacf.Field.prototype.getField = function ( key ) {\n\t\t// get sibling field\n\t\tvar field = getSiblingField( this, key );\n\n\t\t// return early\n\t\tif ( field ) {\n\t\t\treturn field;\n\t\t}\n\n\t\t// move up through each parent and try again\n\t\tvar parents = this.parents();\n\t\tfor ( var i = 0; i < parents.length; i++ ) {\n\t\t\t// get sibling field\n\t\t\tfield = getSiblingField( parents[ i ], key );\n\n\t\t\t// return early\n\t\t\tif ( field ) {\n\t\t\t\treturn field;\n\t\t\t}\n\t\t}\n\n\t\t// return\n\t\treturn false;\n\t};\n\n\t/**\n\t * acf.Field.prototype.getConditions\n\t *\n\t * Returns the field's conditions instance\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.Field.prototype.getConditions = function () {\n\t\t// instantiate\n\t\tif ( ! this.conditions ) {\n\t\t\tthis.conditions = new Conditions( this );\n\t\t}\n\n\t\t// return\n\t\treturn this.conditions;\n\t};\n\n\t/**\n\t * Conditions\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\tvar timeout = false;\n\tvar Conditions = acf.Model.extend( {\n\t\tid: 'Conditions',\n\n\t\tdata: {\n\t\t\tfield: false, // The field with \"data-conditions\" (target).\n\t\t\ttimeStamp: false, // Reference used during \"change\" event.\n\t\t\tgroups: [], // The groups of condition instances.\n\t\t},\n\n\t\tsetup: function ( field ) {\n\t\t\t// data\n\t\t\tthis.data.field = field;\n\n\t\t\t// vars\n\t\t\tvar conditions = field.get( 'conditions' );\n\n\t\t\t// detect groups\n\t\t\tif ( conditions instanceof Array ) {\n\t\t\t\t// detect groups\n\t\t\t\tif ( conditions[ 0 ] instanceof Array ) {\n\t\t\t\t\t// loop\n\t\t\t\t\tconditions.map( function ( rules, i ) {\n\t\t\t\t\t\tthis.addRules( rules, i );\n\t\t\t\t\t}, this );\n\n\t\t\t\t\t// detect rules\n\t\t\t\t} else {\n\t\t\t\t\tthis.addRules( conditions );\n\t\t\t\t}\n\n\t\t\t\t// detect rule\n\t\t\t} else {\n\t\t\t\tthis.addRule( conditions );\n\t\t\t}\n\t\t},\n\n\t\tchange: function ( e ) {\n\t\t\t// this function may be triggered multiple times per event due to multiple condition classes\n\t\t\t// compare timestamp to allow only 1 trigger per event\n\t\t\tif ( this.get( 'timeStamp' ) === e.timeStamp ) {\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tthis.set( 'timeStamp', e.timeStamp, true );\n\t\t\t}\n\n\t\t\t// render condition and store result\n\t\t\tvar changed = this.render();\n\t\t},\n\n\t\trender: function () {\n\t\t\treturn this.calculate() ? this.show() : this.hide();\n\t\t},\n\n\t\tshow: function () {\n\t\t\treturn this.get( 'field' ).showEnable( this.cid, CONTEXT );\n\t\t},\n\n\t\thide: function () {\n\t\t\treturn this.get( 'field' ).hideDisable( this.cid, CONTEXT );\n\t\t},\n\n\t\tcalculate: function () {\n\t\t\t// vars\n\t\t\tvar pass = false;\n\n\t\t\t// loop\n\t\t\tthis.getGroups().map( function ( group ) {\n\t\t\t\t// igrnore this group if another group passed\n\t\t\t\tif ( pass ) return;\n\n\t\t\t\t// find passed\n\t\t\t\tvar passed = group.filter( function ( condition ) {\n\t\t\t\t\treturn condition.calculate();\n\t\t\t\t} );\n\n\t\t\t\t// if all conditions passed, update the global var\n\t\t\t\tif ( passed.length == group.length ) {\n\t\t\t\t\tpass = true;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn pass;\n\t\t},\n\n\t\thasGroups: function () {\n\t\t\treturn this.data.groups != null;\n\t\t},\n\n\t\tgetGroups: function () {\n\t\t\treturn this.data.groups;\n\t\t},\n\n\t\taddGroup: function () {\n\t\t\tvar group = [];\n\t\t\tthis.data.groups.push( group );\n\t\t\treturn group;\n\t\t},\n\n\t\thasGroup: function ( i ) {\n\t\t\treturn this.data.groups[ i ] != null;\n\t\t},\n\n\t\tgetGroup: function ( i ) {\n\t\t\treturn this.data.groups[ i ];\n\t\t},\n\n\t\tremoveGroup: function ( i ) {\n\t\t\tthis.data.groups[ i ].delete;\n\t\t\treturn this;\n\t\t},\n\n\t\taddRules: function ( rules, group ) {\n\t\t\trules.map( function ( rule ) {\n\t\t\t\tthis.addRule( rule, group );\n\t\t\t}, this );\n\t\t},\n\n\t\taddRule: function ( rule, group ) {\n\t\t\t// defaults\n\t\t\tgroup = group || 0;\n\n\t\t\t// vars\n\t\t\tvar groupArray;\n\n\t\t\t// get group\n\t\t\tif ( this.hasGroup( group ) ) {\n\t\t\t\tgroupArray = this.getGroup( group );\n\t\t\t} else {\n\t\t\t\tgroupArray = this.addGroup();\n\t\t\t}\n\n\t\t\t// instantiate\n\t\t\tvar condition = acf.newCondition( rule, this );\n\n\t\t\t// bail ealry if condition failed (field did not exist)\n\t\t\tif ( ! condition ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// add rule\n\t\t\tgroupArray.push( condition );\n\t\t},\n\n\t\thasRule: function () {},\n\n\t\tgetRule: function ( rule, group ) {\n\t\t\t// defaults\n\t\t\trule = rule || 0;\n\t\t\tgroup = group || 0;\n\n\t\t\treturn this.data.groups[ group ][ rule ];\n\t\t},\n\n\t\tremoveRule: function () {},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar i = 0;\n\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'accordion',\n\n\t\twait: '',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-fields:first' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Bail early if this is a duplicate of an existing initialized accordion.\n\t\t\tif ( this.$el.hasClass( 'acf-accordion' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// bail early if is cell\n\t\t\tif ( this.$el.is( 'td' ) ) return;\n\n\t\t\t// enpoint\n\t\t\tif ( this.get( 'endpoint' ) ) {\n\t\t\t\treturn this.remove();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $field = this.$el;\n\t\t\tvar $label = this.$labelWrap();\n\t\t\tvar $input = this.$inputWrap();\n\t\t\tvar $wrap = this.$control();\n\t\t\tvar $instructions = $input.children( '.description' );\n\n\t\t\t// force description into label\n\t\t\tif ( $instructions.length ) {\n\t\t\t\t$label.append( $instructions );\n\t\t\t}\n\n\t\t\t// table\n\t\t\tif ( this.$el.is( 'tr' ) ) {\n\t\t\t\t// vars\n\t\t\t\tvar $table = this.$el.closest( 'table' );\n\t\t\t\tvar $newLabel = $( '
            ' );\n\t\t\t\tvar $newInput = $( '
            ' );\n\t\t\t\tvar $newTable = $(\n\t\t\t\t\t'
                '\n\t\t\t\t);\n\t\t\t\tvar $newWrap = $( '' );\n\n\t\t\t\t// dom\n\t\t\t\t$newLabel.append( $label.html() );\n\t\t\t\t$newTable.append( $newWrap );\n\t\t\t\t$newInput.append( $newTable );\n\t\t\t\t$input.append( $newLabel );\n\t\t\t\t$input.append( $newInput );\n\n\t\t\t\t// modify\n\t\t\t\t$label.remove();\n\t\t\t\t$wrap.remove();\n\t\t\t\t$input.attr( 'colspan', 2 );\n\n\t\t\t\t// update vars\n\t\t\t\t$label = $newLabel;\n\t\t\t\t$input = $newInput;\n\t\t\t\t$wrap = $newWrap;\n\t\t\t}\n\n\t\t\t// add classes\n\t\t\t$field.addClass( 'acf-accordion' );\n\t\t\t$label.addClass( 'acf-accordion-title' );\n\t\t\t$input.addClass( 'acf-accordion-content' );\n\n\t\t\t// index\n\t\t\ti++;\n\n\t\t\t// multi-expand\n\t\t\tif ( this.get( 'multi_expand' ) ) {\n\t\t\t\t$field.attr( 'multi-expand', 1 );\n\t\t\t}\n\n\t\t\t// open\n\t\t\tvar order = acf.getPreference( 'this.accordions' ) || [];\n\t\t\tif ( order[ i - 1 ] !== undefined ) {\n\t\t\t\tthis.set( 'open', order[ i - 1 ] );\n\t\t\t}\n\n\t\t\tif ( this.get( 'open' ) ) {\n\t\t\t\t$field.addClass( '-open' );\n\t\t\t\t$input.css( 'display', 'block' ); // needed for accordion to close smoothly\n\t\t\t}\n\n\t\t\t// add icon\n\t\t\t$label.prepend(\n\t\t\t\taccordionManager.iconHtml( { open: this.get( 'open' ) } )\n\t\t\t);\n\n\t\t\t// classes\n\t\t\t// - remove 'inside' which is a #poststuff WP class\n\t\t\tvar $parent = $field.parent();\n\t\t\t$wrap.addClass( $parent.hasClass( '-left' ) ? '-left' : '' );\n\t\t\t$wrap.addClass( $parent.hasClass( '-clear' ) ? '-clear' : '' );\n\n\t\t\t// append\n\t\t\t$wrap.append(\n\t\t\t\t$field.nextUntil( '.acf-field-accordion', '.acf-field' )\n\t\t\t);\n\n\t\t\t// clean up\n\t\t\t$wrap.removeAttr( 'data-open data-multi_expand data-endpoint' );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t/**\n\t * accordionManager\n\t *\n\t * Events manager for the acf accordion\n\t *\n\t * @date\t14/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar accordionManager = new acf.Model( {\n\t\tactions: {\n\t\t\tunload: 'onUnload',\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .acf-accordion-title': 'onClick',\n\t\t\t'invalidField .acf-accordion': 'onInvalidField',\n\t\t},\n\n\t\tisOpen: function ( $el ) {\n\t\t\treturn $el.hasClass( '-open' );\n\t\t},\n\n\t\ttoggle: function ( $el ) {\n\t\t\tif ( this.isOpen( $el ) ) {\n\t\t\t\tthis.close( $el );\n\t\t\t} else {\n\t\t\t\tthis.open( $el );\n\t\t\t}\n\t\t},\n\n\t\ticonHtml: function ( props ) {\n\t\t\t// Use SVG inside Gutenberg editor.\n\t\t\tif ( acf.isGutenberg() ) {\n\t\t\t\tif ( props.open ) {\n\t\t\t\t\treturn '';\n\t\t\t\t} else {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ( props.open ) {\n\t\t\t\t\treturn '';\n\t\t\t\t} else {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\topen: function ( $el ) {\n\t\t\tvar duration = acf.isGutenberg() ? 0 : 300;\n\n\t\t\t// open\n\t\t\t$el.find( '.acf-accordion-content:first' )\n\t\t\t\t.slideDown( duration )\n\t\t\t\t.css( 'display', 'block' );\n\t\t\t$el.find( '.acf-accordion-icon:first' ).replaceWith(\n\t\t\t\tthis.iconHtml( { open: true } )\n\t\t\t);\n\t\t\t$el.addClass( '-open' );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'show', $el );\n\n\t\t\t// close siblings\n\t\t\tif ( ! $el.attr( 'multi-expand' ) ) {\n\t\t\t\t$el.siblings( '.acf-accordion.-open' ).each( function () {\n\t\t\t\t\taccordionManager.close( $( this ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\tclose: function ( $el ) {\n\t\t\tvar duration = acf.isGutenberg() ? 0 : 300;\n\n\t\t\t// close\n\t\t\t$el.find( '.acf-accordion-content:first' ).slideUp( duration );\n\t\t\t$el.find( '.acf-accordion-icon:first' ).replaceWith(\n\t\t\t\tthis.iconHtml( { open: false } )\n\t\t\t);\n\t\t\t$el.removeClass( '-open' );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'hide', $el );\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// prevent Defailt\n\t\t\te.preventDefault();\n\n\t\t\t// open close\n\t\t\tthis.toggle( $el.parent() );\n\t\t},\n\n\t\tonInvalidField: function ( e, $el ) {\n\t\t\t// bail early if already focused\n\t\t\tif ( this.busy ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// disable functionality for 1sec (allow next validation to work)\n\t\t\tthis.busy = true;\n\t\t\tthis.setTimeout( function () {\n\t\t\t\tthis.busy = false;\n\t\t\t}, 1000 );\n\n\t\t\t// open accordion\n\t\t\tthis.open( $el );\n\t\t},\n\n\t\tonUnload: function ( e ) {\n\t\t\t// vars\n\t\t\tvar order = [];\n\n\t\t\t// loop\n\t\t\t$( '.acf-accordion' ).each( function () {\n\t\t\t\tvar open = $( this ).hasClass( '-open' ) ? 1 : 0;\n\t\t\t\torder.push( open );\n\t\t\t} );\n\n\t\t\t// set\n\t\t\tif ( order.length ) {\n\t\t\t\tacf.setPreference( 'this.accordions', order );\n\t\t\t}\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'button_group',\n\n\t\tevents: {\n\t\t\t'click input[type=\"radio\"]': 'onClick',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-button-group' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input:checked' );\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\tthis.$( 'input[value=\"' + val + '\"]' )\n\t\t\t\t.prop( 'checked', true )\n\t\t\t\t.trigger( 'change' );\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar selected = $label.hasClass( 'selected' );\n\n\t\t\t// remove previous selected\n\t\t\tthis.$( '.selected' ).removeClass( 'selected' );\n\n\t\t\t// add active class\n\t\t\t$label.addClass( 'selected' );\n\n\t\t\t// allow null\n\t\t\tif ( this.get( 'allow_null' ) && selected ) {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t\t$el.prop( 'checked', false ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'checkbox',\n\n\t\tevents: {\n\t\t\t'change input': 'onChange',\n\t\t\t'click .acf-add-checkbox': 'onClickAdd',\n\t\t\t'click .acf-checkbox-toggle': 'onClickToggle',\n\t\t\t'click .acf-checkbox-custom': 'onClickCustom',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-checkbox-list' );\n\t\t},\n\n\t\t$toggle: function () {\n\t\t\treturn this.$( '.acf-checkbox-toggle' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\t$inputs: function () {\n\t\t\treturn this.$( 'input[type=\"checkbox\"]' ).not(\n\t\t\t\t'.acf-checkbox-toggle'\n\t\t\t);\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = [];\n\t\t\tthis.$( ':checked' ).each( function () {\n\t\t\t\tval.push( $( this ).val() );\n\t\t\t} );\n\t\t\treturn val.length ? val : false;\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\t// Vars.\n\t\t\tvar checked = $el.prop( 'checked' );\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar $toggle = this.$toggle();\n\n\t\t\t// Add or remove \"selected\" class.\n\t\t\tif ( checked ) {\n\t\t\t\t$label.addClass( 'selected' );\n\t\t\t} else {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t}\n\n\t\t\t// Update toggle state if all inputs are checked.\n\t\t\tif ( $toggle.length ) {\n\t\t\t\tvar $inputs = this.$inputs();\n\n\t\t\t\t// all checked\n\t\t\t\tif ( $inputs.not( ':checked' ).length == 0 ) {\n\t\t\t\t\t$toggle.prop( 'checked', true );\n\t\t\t\t} else {\n\t\t\t\t\t$toggle.prop( 'checked', false );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\tvar html =\n\t\t\t\t'
              • ';\n\t\t\t$el.parent( 'li' ).before( html );\n\t\t},\n\n\t\tonClickToggle: function ( e, $el ) {\n\t\t\t// Vars.\n\t\t\tvar checked = $el.prop( 'checked' );\n\t\t\tvar $inputs = this.$( 'input[type=\"checkbox\"]' );\n\t\t\tvar $labels = this.$( 'label' );\n\n\t\t\t// Update \"checked\" state.\n\t\t\t$inputs.prop( 'checked', checked );\n\n\t\t\t// Add or remove \"selected\" class.\n\t\t\tif ( checked ) {\n\t\t\t\t$labels.addClass( 'selected' );\n\t\t\t} else {\n\t\t\t\t$labels.removeClass( 'selected' );\n\t\t\t}\n\t\t},\n\n\t\tonClickCustom: function ( e, $el ) {\n\t\t\tvar checked = $el.prop( 'checked' );\n\t\t\tvar $text = $el.next( 'input[type=\"text\"]' );\n\n\t\t\t// checked\n\t\t\tif ( checked ) {\n\t\t\t\t$text.prop( 'disabled', false );\n\n\t\t\t\t// not checked\n\t\t\t} else {\n\t\t\t\t$text.prop( 'disabled', true );\n\n\t\t\t\t// remove\n\t\t\t\tif ( $text.val() == '' ) {\n\t\t\t\t\t$el.parent( 'li' ).remove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'color_picker',\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-color-picker' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\t$inputText: function () {\n\t\t\treturn this.$( 'input[type=\"text\"]' );\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\t// update input (with change)\n\t\t\tacf.val( this.$input(), val );\n\n\t\t\t// update iris\n\t\t\tthis.$inputText().iris( 'color', val );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// event\n\t\t\tvar onChange = function ( e ) {\n\t\t\t\t// timeout is required to ensure the $input val is correct\n\t\t\t\tsetTimeout( function () {\n\t\t\t\t\tacf.val( $input, $inputText.val() );\n\t\t\t\t}, 1 );\n\t\t\t};\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdefaultColor: false,\n\t\t\t\tpalettes: true,\n\t\t\t\thide: true,\n\t\t\t\tchange: onChange,\n\t\t\t\tclear: onChange,\n\t\t\t};\n\n\t\t\t// filter\n\t\t\tvar args = acf.applyFilters( 'color_picker_args', args, this );\n\n\t\t\t// initialize\n\t\t\t$inputText.wpColorPicker( args );\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\t// The wpColorPicker library does not provide a destroy method.\n\t\t\t// Manually reset DOM by replacing elements back to their original state.\n\t\t\t$colorPicker = $duplicate.find( '.wp-picker-container' );\n\t\t\t$inputText = $duplicate.find( 'input[type=\"text\"]' );\n\t\t\t$colorPicker.replaceWith( $inputText );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'date_picker',\n\n\t\tevents: {\n\t\t\t'blur input[type=\"text\"]': 'onBlur',\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-date-picker' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\t$inputText: function () {\n\t\t\treturn this.$( 'input[type=\"text\"]' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// save_format: compatibility with ACF < 5.0.0\n\t\t\tif ( this.has( 'save_format' ) ) {\n\t\t\t\treturn this.initializeCompatibility();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdateFormat: this.get( 'date_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFormat: 'yymmdd',\n\t\t\t\tchangeYear: true,\n\t\t\t\tyearRange: '-100:+100',\n\t\t\t\tchangeMonth: true,\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tfirstDay: this.get( 'first_day' ),\n\t\t\t};\n\n\t\t\t// filter\n\t\t\targs = acf.applyFilters( 'date_picker_args', args, this );\n\n\t\t\t// add date picker\n\t\t\tacf.newDatePicker( $inputText, args );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'date_picker_init', $inputText, args, this );\n\t\t},\n\n\t\tinitializeCompatibility: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// get and set value from alt field\n\t\t\t$inputText.val( $input.val() );\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdateFormat: this.get( 'date_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFormat: this.get( 'save_format' ),\n\t\t\t\tchangeYear: true,\n\t\t\t\tyearRange: '-100:+100',\n\t\t\t\tchangeMonth: true,\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tfirstDay: this.get( 'first_day' ),\n\t\t\t};\n\n\t\t\t// filter for 3rd party customization\n\t\t\targs = acf.applyFilters( 'date_picker_args', args, this );\n\n\t\t\t// backup\n\t\t\tvar dateFormat = args.dateFormat;\n\n\t\t\t// change args.dateFormat\n\t\t\targs.dateFormat = this.get( 'save_format' );\n\n\t\t\t// add date picker\n\t\t\tacf.newDatePicker( $inputText, args );\n\n\t\t\t// now change the format back to how it should be.\n\t\t\t$inputText.datepicker( 'option', 'dateFormat', dateFormat );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'date_picker_init', $inputText, args, this );\n\t\t},\n\n\t\tonBlur: function () {\n\t\t\tif ( ! this.$inputText().val() ) {\n\t\t\t\tacf.val( this.$input(), '' );\n\t\t\t}\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\t$duplicate\n\t\t\t\t.find( 'input[type=\"text\"]' )\n\t\t\t\t.removeClass( 'hasDatepicker' )\n\t\t\t\t.removeAttr( 'id' );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// manager\n\tvar datePickerManager = new acf.Model( {\n\t\tpriority: 5,\n\t\twait: 'ready',\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar locale = acf.get( 'locale' );\n\t\t\tvar rtl = acf.get( 'rtl' );\n\t\t\tvar l10n = acf.get( 'datePickerL10n' );\n\n\t\t\t// bail ealry if no l10n\n\t\t\tif ( ! l10n ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail ealry if no datepicker library\n\t\t\tif ( typeof $.datepicker === 'undefined' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// rtl\n\t\t\tl10n.isRTL = rtl;\n\n\t\t\t// append\n\t\t\t$.datepicker.regional[ locale ] = l10n;\n\t\t\t$.datepicker.setDefaults( l10n );\n\t\t},\n\t} );\n\n\t// add\n\tacf.newDatePicker = function ( $input, args ) {\n\t\t// bail ealry if no datepicker library\n\t\tif ( typeof $.datepicker === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// defaults\n\t\targs = args || {};\n\n\t\t// initialize\n\t\t$input.datepicker( args );\n\n\t\t// wrap the datepicker (only if it hasn't already been wrapped)\n\t\tif ( $( 'body > #ui-datepicker-div' ).exists() ) {\n\t\t\t$( 'body > #ui-datepicker-div' ).wrap(\n\t\t\t\t'
                '\n\t\t\t);\n\t\t}\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.DatePickerField.extend( {\n\t\ttype: 'date_time_picker',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-date-time-picker' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdateFormat: this.get( 'date_format' ),\n\t\t\t\ttimeFormat: this.get( 'time_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFieldTimeOnly: false,\n\t\t\t\taltFormat: 'yy-mm-dd',\n\t\t\t\taltTimeFormat: 'HH:mm:ss',\n\t\t\t\tchangeYear: true,\n\t\t\t\tyearRange: '-100:+100',\n\t\t\t\tchangeMonth: true,\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tfirstDay: this.get( 'first_day' ),\n\t\t\t\tcontrolType: 'select',\n\t\t\t\toneLine: true,\n\t\t\t};\n\n\t\t\t// filter\n\t\t\targs = acf.applyFilters( 'date_time_picker_args', args, this );\n\n\t\t\t// add date time picker\n\t\t\tacf.newDateTimePicker( $inputText, args );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'date_time_picker_init', $inputText, args, this );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// manager\n\tvar dateTimePickerManager = new acf.Model( {\n\t\tpriority: 5,\n\t\twait: 'ready',\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar locale = acf.get( 'locale' );\n\t\t\tvar rtl = acf.get( 'rtl' );\n\t\t\tvar l10n = acf.get( 'dateTimePickerL10n' );\n\n\t\t\t// bail ealry if no l10n\n\t\t\tif ( ! l10n ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail ealry if no datepicker library\n\t\t\tif ( typeof $.timepicker === 'undefined' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// rtl\n\t\t\tl10n.isRTL = rtl;\n\n\t\t\t// append\n\t\t\t$.timepicker.regional[ locale ] = l10n;\n\t\t\t$.timepicker.setDefaults( l10n );\n\t\t},\n\t} );\n\n\t// add\n\tacf.newDateTimePicker = function ( $input, args ) {\n\t\t// bail ealry if no datepicker library\n\t\tif ( typeof $.timepicker === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// defaults\n\t\targs = args || {};\n\n\t\t// initialize\n\t\t$input.datetimepicker( args );\n\n\t\t// wrap the datepicker (only if it hasn't already been wrapped)\n\t\tif ( $( 'body > #ui-datepicker-div' ).exists() ) {\n\t\t\t$( 'body > #ui-datepicker-div' ).wrap(\n\t\t\t\t'
                '\n\t\t\t);\n\t\t}\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.ImageField.extend( {\n\t\ttype: 'file',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-file-uploader' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\tvalidateAttachment: function ( attachment ) {\n\t\t\t// defaults\n\t\t\tattachment = attachment || {};\n\n\t\t\t// WP attachment\n\t\t\tif ( attachment.id !== undefined ) {\n\t\t\t\tattachment = attachment.attributes;\n\t\t\t}\n\n\t\t\t// args\n\t\t\tattachment = acf.parseArgs( attachment, {\n\t\t\t\turl: '',\n\t\t\t\talt: '',\n\t\t\t\ttitle: '',\n\t\t\t\tfilename: '',\n\t\t\t\tfilesizeHumanReadable: '',\n\t\t\t\ticon: '/wp-includes/images/media/default.png',\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn attachment;\n\t\t},\n\n\t\trender: function ( attachment ) {\n\t\t\t// vars\n\t\t\tattachment = this.validateAttachment( attachment );\n\n\t\t\t// update image\n\t\t\tthis.$( 'img' ).attr( {\n\t\t\t\tsrc: attachment.icon,\n\t\t\t\talt: attachment.alt,\n\t\t\t\ttitle: attachment.title,\n\t\t\t} );\n\n\t\t\t// update elements\n\t\t\tthis.$( '[data-name=\"title\"]' ).text( attachment.title );\n\t\t\tthis.$( '[data-name=\"filename\"]' )\n\t\t\t\t.text( attachment.filename )\n\t\t\t\t.attr( 'href', attachment.url );\n\t\t\tthis.$( '[data-name=\"filesize\"]' ).text(\n\t\t\t\tattachment.filesizeHumanReadable\n\t\t\t);\n\n\t\t\t// vars\n\t\t\tvar val = attachment.id || '';\n\n\t\t\t// update val\n\t\t\tacf.val( this.$input(), val );\n\n\t\t\t// update class\n\t\t\tif ( val ) {\n\t\t\t\tthis.$control().addClass( 'has-value' );\n\t\t\t} else {\n\t\t\t\tthis.$control().removeClass( 'has-value' );\n\t\t\t}\n\t\t},\n\n\t\tselectAttachment: function () {\n\t\t\t// vars\n\t\t\tvar parent = this.parent();\n\t\t\tvar multiple = parent && parent.get( 'type' ) === 'repeater';\n\n\t\t\t// new frame\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'select',\n\t\t\t\ttitle: acf.__( 'Select File' ),\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tmultiple: multiple,\n\t\t\t\tlibrary: this.get( 'library' ),\n\t\t\t\tallowedTypes: this.get( 'mime_types' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tif ( i > 0 ) {\n\t\t\t\t\t\tthis.append( attachment, parent );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.render( attachment );\n\t\t\t\t\t}\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\n\t\teditAttachment: function () {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\n\t\t\t// bail early if no val\n\t\t\tif ( ! val ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// popup\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'edit',\n\t\t\t\ttitle: acf.__( 'Edit File' ),\n\t\t\t\tbutton: acf.__( 'Update File' ),\n\t\t\t\tattachment: val,\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tthis.render( attachment );\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'google_map',\n\n\t\tmap: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"clear\"]': 'onClickClear',\n\t\t\t'click a[data-name=\"locate\"]': 'onClickLocate',\n\t\t\t'click a[data-name=\"search\"]': 'onClickSearch',\n\t\t\t'keydown .search': 'onKeydownSearch',\n\t\t\t'keyup .search': 'onKeyupSearch',\n\t\t\t'focus .search': 'onFocusSearch',\n\t\t\t'blur .search': 'onBlurSearch',\n\t\t\tshowField: 'onShow',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-google-map' );\n\t\t},\n\n\t\t$search: function () {\n\t\t\treturn this.$( '.search' );\n\t\t},\n\n\t\t$canvas: function () {\n\t\t\treturn this.$( '.canvas' );\n\t\t},\n\n\t\tsetState: function ( state ) {\n\t\t\t// Remove previous state classes.\n\t\t\tthis.$control().removeClass( '-value -loading -searching' );\n\n\t\t\t// Determine auto state based of current value.\n\t\t\tif ( state === 'default' ) {\n\t\t\t\tstate = this.val() ? 'value' : '';\n\t\t\t}\n\n\t\t\t// Update state class.\n\t\t\tif ( state ) {\n\t\t\t\tthis.$control().addClass( '-' + state );\n\t\t\t}\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = this.$input().val();\n\t\t\tif ( val ) {\n\t\t\t\treturn JSON.parse( val );\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\n\t\tsetValue: function ( val, silent ) {\n\t\t\t// Convert input value.\n\t\t\tvar valAttr = '';\n\t\t\tif ( val ) {\n\t\t\t\tvalAttr = JSON.stringify( val );\n\t\t\t}\n\n\t\t\t// Update input (with change).\n\t\t\tacf.val( this.$input(), valAttr );\n\n\t\t\t// Bail early if silent update.\n\t\t\tif ( silent ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Render.\n\t\t\tthis.renderVal( val );\n\n\t\t\t/**\n\t\t\t * Fires immediately after the value has changed.\n\t\t\t *\n\t\t\t * @date\t12/02/2014\n\t\t\t * @since\t5.0.0\n\t\t\t *\n\t\t\t * @param\tobject|string val The new value.\n\t\t\t * @param\tobject map The Google Map isntance.\n\t\t\t * @param\tobject field The field instance.\n\t\t\t */\n\t\t\tacf.doAction( 'google_map_change', val, this.map, this );\n\t\t},\n\n\t\trenderVal: function ( val ) {\n\t\t\t// Value.\n\t\t\tif ( val ) {\n\t\t\t\tthis.setState( 'value' );\n\t\t\t\tthis.$search().val( val.address );\n\t\t\t\tthis.setPosition( val.lat, val.lng );\n\n\t\t\t\t// No value.\n\t\t\t} else {\n\t\t\t\tthis.setState( '' );\n\t\t\t\tthis.$search().val( '' );\n\t\t\t\tthis.map.marker.setVisible( false );\n\t\t\t}\n\t\t},\n\n\t\tnewLatLng: function ( lat, lng ) {\n\t\t\treturn new google.maps.LatLng(\n\t\t\t\tparseFloat( lat ),\n\t\t\t\tparseFloat( lng )\n\t\t\t);\n\t\t},\n\n\t\tsetPosition: function ( lat, lng ) {\n\t\t\t// Update marker position.\n\t\t\tthis.map.marker.setPosition( {\n\t\t\t\tlat: parseFloat( lat ),\n\t\t\t\tlng: parseFloat( lng ),\n\t\t\t} );\n\n\t\t\t// Show marker.\n\t\t\tthis.map.marker.setVisible( true );\n\n\t\t\t// Center map.\n\t\t\tthis.center();\n\t\t},\n\n\t\tcenter: function () {\n\t\t\t// Find marker position.\n\t\t\tvar position = this.map.marker.getPosition();\n\t\t\tif ( position ) {\n\t\t\t\tvar lat = position.lat();\n\t\t\t\tvar lng = position.lng();\n\n\t\t\t\t// Or find default settings.\n\t\t\t} else {\n\t\t\t\tvar lat = this.get( 'lat' );\n\t\t\t\tvar lng = this.get( 'lng' );\n\t\t\t}\n\n\t\t\t// Center map.\n\t\t\tthis.map.setCenter( {\n\t\t\t\tlat: parseFloat( lat ),\n\t\t\t\tlng: parseFloat( lng ),\n\t\t\t} );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Ensure Google API is loaded and then initialize map.\n\t\t\twithAPI( this.initializeMap.bind( this ) );\n\t\t},\n\n\t\tinitializeMap: function () {\n\t\t\t// Get value ignoring conditional logic status.\n\t\t\tvar val = this.getValue();\n\n\t\t\t// Construct default args.\n\t\t\tvar args = acf.parseArgs( val, {\n\t\t\t\tzoom: this.get( 'zoom' ),\n\t\t\t\tlat: this.get( 'lat' ),\n\t\t\t\tlng: this.get( 'lng' ),\n\t\t\t} );\n\n\t\t\t// Create Map.\n\t\t\tvar mapArgs = {\n\t\t\t\tscrollwheel: false,\n\t\t\t\tzoom: parseInt( args.zoom ),\n\t\t\t\tcenter: {\n\t\t\t\t\tlat: parseFloat( args.lat ),\n\t\t\t\t\tlng: parseFloat( args.lng ),\n\t\t\t\t},\n\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP,\n\t\t\t\tmarker: {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\traiseOnDrag: true,\n\t\t\t\t},\n\t\t\t\tautocomplete: {},\n\t\t\t};\n\t\t\tmapArgs = acf.applyFilters( 'google_map_args', mapArgs, this );\n\t\t\tvar map = new google.maps.Map( this.$canvas()[ 0 ], mapArgs );\n\n\t\t\t// Create Marker.\n\t\t\tvar markerArgs = acf.parseArgs( mapArgs.marker, {\n\t\t\t\tdraggable: true,\n\t\t\t\traiseOnDrag: true,\n\t\t\t\tmap: map,\n\t\t\t} );\n\t\t\tmarkerArgs = acf.applyFilters(\n\t\t\t\t'google_map_marker_args',\n\t\t\t\tmarkerArgs,\n\t\t\t\tthis\n\t\t\t);\n\t\t\tvar marker = new google.maps.Marker( markerArgs );\n\n\t\t\t// Maybe Create Autocomplete.\n\t\t\tvar autocomplete = false;\n\t\t\tif ( acf.isset( google, 'maps', 'places', 'Autocomplete' ) ) {\n\t\t\t\tvar autocompleteArgs = mapArgs.autocomplete || {};\n\t\t\t\tautocompleteArgs = acf.applyFilters(\n\t\t\t\t\t'google_map_autocomplete_args',\n\t\t\t\t\tautocompleteArgs,\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t\tautocomplete = new google.maps.places.Autocomplete(\n\t\t\t\t\tthis.$search()[ 0 ],\n\t\t\t\t\tautocompleteArgs\n\t\t\t\t);\n\t\t\t\tautocomplete.bindTo( 'bounds', map );\n\t\t\t}\n\n\t\t\t// Add map events.\n\t\t\tthis.addMapEvents( this, map, marker, autocomplete );\n\n\t\t\t// Append references.\n\t\t\tmap.acf = this;\n\t\t\tmap.marker = marker;\n\t\t\tmap.autocomplete = autocomplete;\n\t\t\tthis.map = map;\n\n\t\t\t// Set position.\n\t\t\tif ( val ) {\n\t\t\t\tthis.setPosition( val.lat, val.lng );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Fires immediately after the Google Map has been initialized.\n\t\t\t *\n\t\t\t * @date\t12/02/2014\n\t\t\t * @since\t5.0.0\n\t\t\t *\n\t\t\t * @param\tobject map The Google Map isntance.\n\t\t\t * @param\tobject marker The Google Map marker isntance.\n\t\t\t * @param\tobject field The field instance.\n\t\t\t */\n\t\t\tacf.doAction( 'google_map_init', map, marker, this );\n\t\t},\n\n\t\taddMapEvents: function ( field, map, marker, autocomplete ) {\n\t\t\t// Click map.\n\t\t\tgoogle.maps.event.addListener( map, 'click', function ( e ) {\n\t\t\t\tvar lat = e.latLng.lat();\n\t\t\t\tvar lng = e.latLng.lng();\n\t\t\t\tfield.searchPosition( lat, lng );\n\t\t\t} );\n\n\t\t\t// Drag marker.\n\t\t\tgoogle.maps.event.addListener( marker, 'dragend', function () {\n\t\t\t\tvar lat = this.getPosition().lat();\n\t\t\t\tvar lng = this.getPosition().lng();\n\t\t\t\tfield.searchPosition( lat, lng );\n\t\t\t} );\n\n\t\t\t// Autocomplete search.\n\t\t\tif ( autocomplete ) {\n\t\t\t\tgoogle.maps.event.addListener(\n\t\t\t\t\tautocomplete,\n\t\t\t\t\t'place_changed',\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\tvar place = this.getPlace();\n\t\t\t\t\t\tfield.searchPlace( place );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Detect zoom change.\n\t\t\tgoogle.maps.event.addListener( map, 'zoom_changed', function () {\n\t\t\t\tvar val = field.val();\n\t\t\t\tif ( val ) {\n\t\t\t\t\tval.zoom = map.getZoom();\n\t\t\t\t\tfield.setValue( val, true );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tsearchPosition: function ( lat, lng ) {\n\t\t\t//console.log('searchPosition', lat, lng );\n\n\t\t\t// Start Loading.\n\t\t\tthis.setState( 'loading' );\n\n\t\t\t// Query Geocoder.\n\t\t\tvar latLng = { lat: lat, lng: lng };\n\t\t\tgeocoder.geocode(\n\t\t\t\t{ location: latLng },\n\t\t\t\tfunction ( results, status ) {\n\t\t\t\t\t//console.log('searchPosition', arguments );\n\n\t\t\t\t\t// End Loading.\n\t\t\t\t\tthis.setState( '' );\n\n\t\t\t\t\t// Status failure.\n\t\t\t\t\tif ( status !== 'OK' ) {\n\t\t\t\t\t\tthis.showNotice( {\n\t\t\t\t\t\t\ttext: acf\n\t\t\t\t\t\t\t\t.__( 'Location not found: %s' )\n\t\t\t\t\t\t\t\t.replace( '%s', status ),\n\t\t\t\t\t\t\ttype: 'warning',\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// Success.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar val = this.parseResult( results[ 0 ] );\n\n\t\t\t\t\t\t// Override lat/lng to match user defined marker location.\n\t\t\t\t\t\t// Avoids issue where marker \"snaps\" to nearest result.\n\t\t\t\t\t\tval.lat = lat;\n\t\t\t\t\t\tval.lng = lng;\n\t\t\t\t\t\tthis.val( val );\n\t\t\t\t\t}\n\t\t\t\t}.bind( this )\n\t\t\t);\n\t\t},\n\n\t\tsearchPlace: function ( place ) {\n\t\t\t//console.log('searchPlace', place );\n\n\t\t\t// Bail early if no place.\n\t\t\tif ( ! place ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Selecting from the autocomplete dropdown will return a rich PlaceResult object.\n\t\t\t// Be sure to over-write the \"formatted_address\" value with the one displayed to the user for best UX.\n\t\t\tif ( place.geometry ) {\n\t\t\t\tplace.formatted_address = this.$search().val();\n\t\t\t\tvar val = this.parseResult( place );\n\t\t\t\tthis.val( val );\n\n\t\t\t\t// Searching a custom address will return an empty PlaceResult object.\n\t\t\t} else if ( place.name ) {\n\t\t\t\tthis.searchAddress( place.name );\n\t\t\t}\n\t\t},\n\n\t\tsearchAddress: function ( address ) {\n\t\t\t//console.log('searchAddress', address );\n\n\t\t\t// Bail early if no address.\n\t\t\tif ( ! address ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Allow \"lat,lng\" search.\n\t\t\tvar latLng = address.split( ',' );\n\t\t\tif ( latLng.length == 2 ) {\n\t\t\t\tvar lat = parseFloat( latLng[ 0 ] );\n\t\t\t\tvar lng = parseFloat( latLng[ 1 ] );\n\t\t\t\tif ( lat && lng ) {\n\t\t\t\t\treturn this.searchPosition( lat, lng );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start Loading.\n\t\t\tthis.setState( 'loading' );\n\n\t\t\t// Query Geocoder.\n\t\t\tgeocoder.geocode(\n\t\t\t\t{ address: address },\n\t\t\t\tfunction ( results, status ) {\n\t\t\t\t\t//console.log('searchPosition', arguments );\n\n\t\t\t\t\t// End Loading.\n\t\t\t\t\tthis.setState( '' );\n\n\t\t\t\t\t// Status failure.\n\t\t\t\t\tif ( status !== 'OK' ) {\n\t\t\t\t\t\tthis.showNotice( {\n\t\t\t\t\t\t\ttext: acf\n\t\t\t\t\t\t\t\t.__( 'Location not found: %s' )\n\t\t\t\t\t\t\t\t.replace( '%s', status ),\n\t\t\t\t\t\t\ttype: 'warning',\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// Success.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar val = this.parseResult( results[ 0 ] );\n\n\t\t\t\t\t\t// Override address data with parameter allowing custom address to be defined in search.\n\t\t\t\t\t\tval.address = address;\n\n\t\t\t\t\t\t// Update value.\n\t\t\t\t\t\tthis.val( val );\n\t\t\t\t\t}\n\t\t\t\t}.bind( this )\n\t\t\t);\n\t\t},\n\n\t\tsearchLocation: function () {\n\t\t\t//console.log('searchLocation' );\n\n\t\t\t// Check HTML5 geolocation.\n\t\t\tif ( ! navigator.geolocation ) {\n\t\t\t\treturn alert(\n\t\t\t\t\tacf.__( 'Sorry, this browser does not support geolocation' )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Start Loading.\n\t\t\tthis.setState( 'loading' );\n\n\t\t\t// Query Geolocation.\n\t\t\tnavigator.geolocation.getCurrentPosition(\n\t\t\t\t// Success.\n\t\t\t\tfunction ( results ) {\n\t\t\t\t\t// End Loading.\n\t\t\t\t\tthis.setState( '' );\n\n\t\t\t\t\t// Search position.\n\t\t\t\t\tvar lat = results.coords.latitude;\n\t\t\t\t\tvar lng = results.coords.longitude;\n\t\t\t\t\tthis.searchPosition( lat, lng );\n\t\t\t\t}.bind( this ),\n\n\t\t\t\t// Failure.\n\t\t\t\tfunction ( error ) {\n\t\t\t\t\tthis.setState( '' );\n\t\t\t\t}.bind( this )\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * parseResult\n\t\t *\n\t\t * Returns location data for the given GeocoderResult object.\n\t\t *\n\t\t * @date\t15/10/19\n\t\t * @since\t5.8.6\n\t\t *\n\t\t * @param\tobject obj A GeocoderResult object.\n\t\t * @return\tobject\n\t\t */\n\t\tparseResult: function ( obj ) {\n\t\t\t// Construct basic data.\n\t\t\tvar result = {\n\t\t\t\taddress: obj.formatted_address,\n\t\t\t\tlat: obj.geometry.location.lat(),\n\t\t\t\tlng: obj.geometry.location.lng(),\n\t\t\t};\n\n\t\t\t// Add zoom level.\n\t\t\tresult.zoom = this.map.getZoom();\n\n\t\t\t// Add place ID.\n\t\t\tif ( obj.place_id ) {\n\t\t\t\tresult.place_id = obj.place_id;\n\t\t\t}\n\n\t\t\t// Add place name.\n\t\t\tif ( obj.name ) {\n\t\t\t\tresult.name = obj.name;\n\t\t\t}\n\n\t\t\t// Create search map for address component data.\n\t\t\tvar map = {\n\t\t\t\tstreet_number: [ 'street_number' ],\n\t\t\t\tstreet_name: [ 'street_address', 'route' ],\n\t\t\t\tcity: [ 'locality', 'postal_town' ],\n\t\t\t\tstate: [\n\t\t\t\t\t'administrative_area_level_1',\n\t\t\t\t\t'administrative_area_level_2',\n\t\t\t\t\t'administrative_area_level_3',\n\t\t\t\t\t'administrative_area_level_4',\n\t\t\t\t\t'administrative_area_level_5',\n\t\t\t\t],\n\t\t\t\tpost_code: [ 'postal_code' ],\n\t\t\t\tcountry: [ 'country' ],\n\t\t\t};\n\n\t\t\t// Loop over map.\n\t\t\tfor ( var k in map ) {\n\t\t\t\tvar keywords = map[ k ];\n\n\t\t\t\t// Loop over address components.\n\t\t\t\tfor ( var i = 0; i < obj.address_components.length; i++ ) {\n\t\t\t\t\tvar component = obj.address_components[ i ];\n\t\t\t\t\tvar component_type = component.types[ 0 ];\n\n\t\t\t\t\t// Look for matching component type.\n\t\t\t\t\tif ( keywords.indexOf( component_type ) !== -1 ) {\n\t\t\t\t\t\t// Append to result.\n\t\t\t\t\t\tresult[ k ] = component.long_name;\n\n\t\t\t\t\t\t// Append short version.\n\t\t\t\t\t\tif ( component.long_name !== component.short_name ) {\n\t\t\t\t\t\t\tresult[ k + '_short' ] = component.short_name;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Filters the parsed result.\n\t\t\t *\n\t\t\t * @date\t18/10/19\n\t\t\t * @since\t5.8.6\n\t\t\t *\n\t\t\t * @param\tobject result The parsed result value.\n\t\t\t * @param\tobject obj The GeocoderResult object.\n\t\t\t */\n\t\t\treturn acf.applyFilters(\n\t\t\t\t'google_map_result',\n\t\t\t\tresult,\n\t\t\t\tobj,\n\t\t\t\tthis.map,\n\t\t\t\tthis\n\t\t\t);\n\t\t},\n\n\t\tonClickClear: function () {\n\t\t\tthis.val( false );\n\t\t},\n\n\t\tonClickLocate: function () {\n\t\t\tthis.searchLocation();\n\t\t},\n\n\t\tonClickSearch: function () {\n\t\t\tthis.searchAddress( this.$search().val() );\n\t\t},\n\n\t\tonFocusSearch: function ( e, $el ) {\n\t\t\tthis.setState( 'searching' );\n\t\t},\n\n\t\tonBlurSearch: function ( e, $el ) {\n\t\t\t// Get saved address value.\n\t\t\tvar val = this.val();\n\t\t\tvar address = val ? val.address : '';\n\n\t\t\t// Remove 'is-searching' if value has not changed.\n\t\t\tif ( $el.val() === address ) {\n\t\t\t\tthis.setState( 'default' );\n\t\t\t}\n\t\t},\n\n\t\tonKeyupSearch: function ( e, $el ) {\n\t\t\t// Clear empty value.\n\t\t\tif ( ! $el.val() ) {\n\t\t\t\tthis.val( false );\n\t\t\t}\n\t\t},\n\n\t\t// Prevent form from submitting.\n\t\tonKeydownSearch: function ( e, $el ) {\n\t\t\tif ( e.which == 13 ) {\n\t\t\t\te.preventDefault();\n\t\t\t\t$el.blur();\n\t\t\t}\n\t\t},\n\n\t\t// Center map once made visible.\n\t\tonShow: function () {\n\t\t\tif ( this.map ) {\n\t\t\t\tthis.setTimeout( this.center );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// Vars.\n\tvar loading = false;\n\tvar geocoder = false;\n\n\t/**\n\t * withAPI\n\t *\n\t * Loads the Google Maps API library and troggers callback.\n\t *\n\t * @date\t28/3/19\n\t * @since\t5.7.14\n\t *\n\t * @param\tfunction callback The callback to excecute.\n\t * @return\tvoid\n\t */\n\n\tfunction withAPI( callback ) {\n\t\t// Check if geocoder exists.\n\t\tif ( geocoder ) {\n\t\t\treturn callback();\n\t\t}\n\n\t\t// Check if geocoder API exists.\n\t\tif ( acf.isset( window, 'google', 'maps', 'Geocoder' ) ) {\n\t\t\tgeocoder = new google.maps.Geocoder();\n\t\t\treturn callback();\n\t\t}\n\n\t\t// Geocoder will need to be loaded. Hook callback to action.\n\t\tacf.addAction( 'google_map_api_loaded', callback );\n\n\t\t// Bail early if already loading API.\n\t\tif ( loading ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// load api\n\t\tvar url = acf.get( 'google_map_api' );\n\t\tif ( url ) {\n\t\t\t// Set loading status.\n\t\t\tloading = true;\n\n\t\t\t// Load API\n\t\t\t$.ajax( {\n\t\t\t\turl: url,\n\t\t\t\tdataType: 'script',\n\t\t\t\tcache: true,\n\t\t\t\tsuccess: function () {\n\t\t\t\t\tgeocoder = new google.maps.Geocoder();\n\t\t\t\t\tacf.doAction( 'google_map_api_loaded' );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'image',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-image-uploader' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"add\"]': 'onClickAdd',\n\t\t\t'click a[data-name=\"edit\"]': 'onClickEdit',\n\t\t\t'click a[data-name=\"remove\"]': 'onClickRemove',\n\t\t\t'change input[type=\"file\"]': 'onChange',\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// add attribute to form\n\t\t\tif ( this.get( 'uploader' ) === 'basic' ) {\n\t\t\t\tthis.$el\n\t\t\t\t\t.closest( 'form' )\n\t\t\t\t\t.attr( 'enctype', 'multipart/form-data' );\n\t\t\t}\n\t\t},\n\n\t\tvalidateAttachment: function ( attachment ) {\n\t\t\t// Use WP attachment attributes when available.\n\t\t\tif ( attachment && attachment.attributes ) {\n\t\t\t\tattachment = attachment.attributes;\n\t\t\t}\n\n\t\t\t// Apply defaults.\n\t\t\tattachment = acf.parseArgs( attachment, {\n\t\t\t\tid: 0,\n\t\t\t\turl: '',\n\t\t\t\talt: '',\n\t\t\t\ttitle: '',\n\t\t\t\tcaption: '',\n\t\t\t\tdescription: '',\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t} );\n\n\t\t\t// Override with \"preview size\".\n\t\t\tvar size = acf.isget(\n\t\t\t\tattachment,\n\t\t\t\t'sizes',\n\t\t\t\tthis.get( 'preview_size' )\n\t\t\t);\n\t\t\tif ( size ) {\n\t\t\t\tattachment.url = size.url;\n\t\t\t\tattachment.width = size.width;\n\t\t\t\tattachment.height = size.height;\n\t\t\t}\n\n\t\t\t// Return.\n\t\t\treturn attachment;\n\t\t},\n\n\t\trender: function ( attachment ) {\n\t\t\tattachment = this.validateAttachment( attachment );\n\n\t\t\t// Update DOM.\n\t\t\tthis.$( 'img' ).attr( {\n\t\t\t\tsrc: attachment.url,\n\t\t\t\talt: attachment.alt,\n\t\t\t} );\n\t\t\tif ( attachment.id ) {\n\t\t\t\tthis.val( attachment.id );\n\t\t\t\tthis.$control().addClass( 'has-value' );\n\t\t\t} else {\n\t\t\t\tthis.val( '' );\n\t\t\t\tthis.$control().removeClass( 'has-value' );\n\t\t\t}\n\t\t},\n\n\t\t// create a new repeater row and render value\n\t\tappend: function ( attachment, parent ) {\n\t\t\t// create function to find next available field within parent\n\t\t\tvar getNext = function ( field, parent ) {\n\t\t\t\t// find existing file fields within parent\n\t\t\t\tvar fields = acf.getFields( {\n\t\t\t\t\tkey: field.get( 'key' ),\n\t\t\t\t\tparent: parent.$el,\n\t\t\t\t} );\n\n\t\t\t\t// find the first field with no value\n\t\t\t\tfor ( var i = 0; i < fields.length; i++ ) {\n\t\t\t\t\tif ( ! fields[ i ].val() ) {\n\t\t\t\t\t\treturn fields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// return\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\t// find existing file fields within parent\n\t\t\tvar field = getNext( this, parent );\n\n\t\t\t// add new row if no available field\n\t\t\tif ( ! field ) {\n\t\t\t\tparent.$( '.acf-button:last' ).trigger( 'click' );\n\t\t\t\tfield = getNext( this, parent );\n\t\t\t}\n\n\t\t\t// render\n\t\t\tif ( field ) {\n\t\t\t\tfield.render( attachment );\n\t\t\t}\n\t\t},\n\n\t\tselectAttachment: function () {\n\t\t\t// vars\n\t\t\tvar parent = this.parent();\n\t\t\tvar multiple = parent && parent.get( 'type' ) === 'repeater';\n\n\t\t\t// new frame\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'select',\n\t\t\t\ttype: 'image',\n\t\t\t\ttitle: acf.__( 'Select Image' ),\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tmultiple: multiple,\n\t\t\t\tlibrary: this.get( 'library' ),\n\t\t\t\tallowedTypes: this.get( 'mime_types' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tif ( i > 0 ) {\n\t\t\t\t\t\tthis.append( attachment, parent );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.render( attachment );\n\t\t\t\t\t}\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\n\t\teditAttachment: function () {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\n\t\t\t// bail early if no val\n\t\t\tif ( ! val ) return;\n\n\t\t\t// popup\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'edit',\n\t\t\t\ttitle: acf.__( 'Edit Image' ),\n\t\t\t\tbutton: acf.__( 'Update Image' ),\n\t\t\t\tattachment: val,\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tthis.render( attachment );\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\n\t\tremoveAttachment: function () {\n\t\t\tthis.render( false );\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\tthis.selectAttachment();\n\t\t},\n\n\t\tonClickEdit: function ( e, $el ) {\n\t\t\tthis.editAttachment();\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\tthis.removeAttachment();\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tvar $hiddenInput = this.$input();\n\n\t\t\tif ( ! $el.val() ) {\n\t\t\t\t$hiddenInput.val( '' );\n\t\t\t}\n\n\t\t\tacf.getFileInputData( $el, function ( data ) {\n\t\t\t\t$hiddenInput.val( $.param( data ) );\n\t\t\t} );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'link',\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"add\"]': 'onClickEdit',\n\t\t\t'click a[data-name=\"edit\"]': 'onClickEdit',\n\t\t\t'click a[data-name=\"remove\"]': 'onClickRemove',\n\t\t\t'change .link-node': 'onChange',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-link' );\n\t\t},\n\n\t\t$node: function () {\n\t\t\treturn this.$( '.link-node' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\t// vars\n\t\t\tvar $node = this.$node();\n\n\t\t\t// return false if empty\n\t\t\tif ( ! $node.attr( 'href' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn {\n\t\t\t\ttitle: $node.html(),\n\t\t\t\turl: $node.attr( 'href' ),\n\t\t\t\ttarget: $node.attr( 'target' ),\n\t\t\t};\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\t// default\n\t\t\tval = acf.parseArgs( val, {\n\t\t\t\ttitle: '',\n\t\t\t\turl: '',\n\t\t\t\ttarget: '',\n\t\t\t} );\n\n\t\t\t// vars\n\t\t\tvar $div = this.$control();\n\t\t\tvar $node = this.$node();\n\n\t\t\t// remove class\n\t\t\t$div.removeClass( '-value -external' );\n\n\t\t\t// add class\n\t\t\tif ( val.url ) $div.addClass( '-value' );\n\t\t\tif ( val.target === '_blank' ) $div.addClass( '-external' );\n\n\t\t\t// update text\n\t\t\tthis.$( '.link-title' ).html( val.title );\n\t\t\tthis.$( '.link-url' ).attr( 'href', val.url ).html( val.url );\n\n\t\t\t// update node\n\t\t\t$node.html( val.title );\n\t\t\t$node.attr( 'href', val.url );\n\t\t\t$node.attr( 'target', val.target );\n\n\t\t\t// update inputs\n\t\t\tthis.$( '.input-title' ).val( val.title );\n\t\t\tthis.$( '.input-target' ).val( val.target );\n\t\t\tthis.$( '.input-url' ).val( val.url ).trigger( 'change' );\n\t\t},\n\n\t\tonClickEdit: function ( e, $el ) {\n\t\t\tacf.wpLink.open( this.$node() );\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\tthis.setValue( false );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\t// get the changed value\n\t\t\tvar val = this.getValue();\n\n\t\t\t// update inputs\n\t\t\tthis.setValue( val );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// manager\n\tacf.wpLink = new acf.Model( {\n\t\tgetNodeValue: function () {\n\t\t\tvar $node = this.get( 'node' );\n\t\t\treturn {\n\t\t\t\ttitle: acf.decode( $node.html() ),\n\t\t\t\turl: $node.attr( 'href' ),\n\t\t\t\ttarget: $node.attr( 'target' ),\n\t\t\t};\n\t\t},\n\n\t\tsetNodeValue: function ( val ) {\n\t\t\tvar $node = this.get( 'node' );\n\t\t\t$node.text( val.title );\n\t\t\t$node.attr( 'href', val.url );\n\t\t\t$node.attr( 'target', val.target );\n\t\t\t$node.trigger( 'change' );\n\t\t},\n\n\t\tgetInputValue: function () {\n\t\t\treturn {\n\t\t\t\ttitle: $( '#wp-link-text' ).val(),\n\t\t\t\turl: $( '#wp-link-url' ).val(),\n\t\t\t\ttarget: $( '#wp-link-target' ).prop( 'checked' )\n\t\t\t\t\t? '_blank'\n\t\t\t\t\t: '',\n\t\t\t};\n\t\t},\n\n\t\tsetInputValue: function ( val ) {\n\t\t\t$( '#wp-link-text' ).val( val.title );\n\t\t\t$( '#wp-link-url' ).val( val.url );\n\t\t\t$( '#wp-link-target' ).prop( 'checked', val.target === '_blank' );\n\t\t},\n\n\t\topen: function ( $node ) {\n\t\t\t// add events\n\t\t\tthis.on( 'wplink-open', 'onOpen' );\n\t\t\tthis.on( 'wplink-close', 'onClose' );\n\n\t\t\t// set node\n\t\t\tthis.set( 'node', $node );\n\n\t\t\t// create textarea\n\t\t\tvar $textarea = $(\n\t\t\t\t''\n\t\t\t);\n\t\t\t$( 'body' ).append( $textarea );\n\n\t\t\t// vars\n\t\t\tvar val = this.getNodeValue();\n\n\t\t\t// open popup\n\t\t\twpLink.open( 'acf-link-textarea', val.url, val.title, null );\n\t\t},\n\n\t\tonOpen: function () {\n\t\t\t// always show title (WP will hide title if empty)\n\t\t\t$( '#wp-link-wrap' ).addClass( 'has-text-field' );\n\n\t\t\t// set inputs\n\t\t\tvar val = this.getNodeValue();\n\t\t\tthis.setInputValue( val );\n\n\t\t\t// Update button text.\n\t\t\tif ( val.url && wpLinkL10n ) {\n\t\t\t\t$( '#wp-link-submit' ).val( wpLinkL10n.update );\n\t\t\t}\n\t\t},\n\n\t\tclose: function () {\n\t\t\twpLink.close();\n\t\t},\n\n\t\tonClose: function () {\n\t\t\t// Bail early if no node.\n\t\t\t// Needed due to WP triggering this event twice.\n\t\t\tif ( ! this.has( 'node' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Determine context.\n\t\t\tvar $submit = $( '#wp-link-submit' );\n\t\t\tvar isSubmit = $submit.is( ':hover' ) || $submit.is( ':focus' );\n\n\t\t\t// Set value\n\t\t\tif ( isSubmit ) {\n\t\t\t\tvar val = this.getInputValue();\n\t\t\t\tthis.setNodeValue( val );\n\t\t\t}\n\n\t\t\t// Cleanup.\n\t\t\tthis.off( 'wplink-open' );\n\t\t\tthis.off( 'wplink-close' );\n\t\t\t$( '#acf-link-textarea' ).remove();\n\t\t\tthis.set( 'node', null );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'oembed',\n\n\t\tevents: {\n\t\t\t'click [data-name=\"clear-button\"]': 'onClickClear',\n\t\t\t'keypress .input-search': 'onKeypressSearch',\n\t\t\t'keyup .input-search': 'onKeyupSearch',\n\t\t\t'change .input-search': 'onChangeSearch',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-oembed' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( '.input-value' );\n\t\t},\n\n\t\t$search: function () {\n\t\t\treturn this.$( '.input-search' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\treturn this.$input().val();\n\t\t},\n\n\t\tgetSearchVal: function () {\n\t\t\treturn this.$search().val();\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\t// class\n\t\t\tif ( val ) {\n\t\t\t\tthis.$control().addClass( 'has-value' );\n\t\t\t} else {\n\t\t\t\tthis.$control().removeClass( 'has-value' );\n\t\t\t}\n\n\t\t\tacf.val( this.$input(), val );\n\t\t},\n\n\t\tshowLoading: function ( show ) {\n\t\t\tacf.showLoading( this.$( '.canvas' ) );\n\t\t},\n\n\t\thideLoading: function () {\n\t\t\tacf.hideLoading( this.$( '.canvas' ) );\n\t\t},\n\n\t\tmaybeSearch: function () {\n\t\t\t// vars\n\t\t\tvar prevUrl = this.val();\n\t\t\tvar url = this.getSearchVal();\n\n\t\t\t// no value\n\t\t\tif ( ! url ) {\n\t\t\t\treturn this.clear();\n\t\t\t}\n\n\t\t\t// fix missing 'http://' - causes the oembed code to error and fail\n\t\t\tif ( url.substr( 0, 4 ) != 'http' ) {\n\t\t\t\turl = 'http://' + url;\n\t\t\t}\n\n\t\t\t// bail early if no change\n\t\t\tif ( url === prevUrl ) return;\n\n\t\t\t// clear existing timeout\n\t\t\tvar timeout = this.get( 'timeout' );\n\t\t\tif ( timeout ) {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t}\n\n\t\t\t// set new timeout\n\t\t\tvar callback = $.proxy( this.search, this, url );\n\t\t\tthis.set( 'timeout', setTimeout( callback, 300 ) );\n\t\t},\n\n\t\tsearch: function ( url ) {\n\t\t\t// ajax\n\t\t\tvar ajaxData = {\n\t\t\t\taction: 'acf/fields/oembed/search',\n\t\t\t\ts: url,\n\t\t\t\tfield_key: this.get( 'key' ),\n\t\t\t};\n\n\t\t\t// clear existing timeout\n\t\t\tvar xhr = this.get( 'xhr' );\n\t\t\tif ( xhr ) {\n\t\t\t\txhr.abort();\n\t\t\t}\n\n\t\t\t// loading\n\t\t\tthis.showLoading();\n\n\t\t\t// query\n\t\t\tvar xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: function ( json ) {\n\t\t\t\t\t// error\n\t\t\t\t\tif ( ! json || ! json.html ) {\n\t\t\t\t\t\tjson = {\n\t\t\t\t\t\t\turl: false,\n\t\t\t\t\t\t\thtml: '',\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\t// update vars\n\t\t\t\t\tthis.val( json.url );\n\t\t\t\t\tthis.$( '.canvas-media' ).html( json.html );\n\t\t\t\t},\n\t\t\t\tcomplete: function () {\n\t\t\t\t\tthis.hideLoading();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tthis.set( 'xhr', xhr );\n\t\t},\n\n\t\tclear: function () {\n\t\t\tthis.val( '' );\n\t\t\tthis.$search().val( '' );\n\t\t\tthis.$( '.canvas-media' ).html( '' );\n\t\t},\n\n\t\tonClickClear: function ( e, $el ) {\n\t\t\tthis.clear();\n\t\t},\n\n\t\tonKeypressSearch: function ( e, $el ) {\n\t\t\tif ( e.which == 13 ) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.maybeSearch();\n\t\t\t}\n\t\t},\n\n\t\tonKeyupSearch: function ( e, $el ) {\n\t\t\tif ( $el.val() ) {\n\t\t\t\tthis.maybeSearch();\n\t\t\t}\n\t\t},\n\n\t\tonChangeSearch: function ( e, $el ) {\n\t\t\tthis.maybeSearch();\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.SelectField.extend( {\n\t\ttype: 'page_link',\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.SelectField.extend( {\n\t\ttype: 'post_object',\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'radio',\n\n\t\tevents: {\n\t\t\t'click input[type=\"radio\"]': 'onClick',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-radio-list' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input:checked' );\n\t\t},\n\n\t\t$inputText: function () {\n\t\t\treturn this.$( 'input[type=\"text\"]' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = this.$input().val();\n\t\t\tif ( val === 'other' && this.get( 'other_choice' ) ) {\n\t\t\t\tval = this.$inputText().val();\n\t\t\t}\n\t\t\treturn val;\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar selected = $label.hasClass( 'selected' );\n\t\t\tvar val = $el.val();\n\n\t\t\t// remove previous selected\n\t\t\tthis.$( '.selected' ).removeClass( 'selected' );\n\n\t\t\t// add active class\n\t\t\t$label.addClass( 'selected' );\n\n\t\t\t// allow null\n\t\t\tif ( this.get( 'allow_null' ) && selected ) {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t\t$el.prop( 'checked', false ).trigger( 'change' );\n\t\t\t\tval = false;\n\t\t\t}\n\n\t\t\t// other\n\t\t\tif ( this.get( 'other_choice' ) ) {\n\t\t\t\t// enable\n\t\t\t\tif ( val === 'other' ) {\n\t\t\t\t\tthis.$inputText().prop( 'disabled', false );\n\n\t\t\t\t\t// disable\n\t\t\t\t} else {\n\t\t\t\t\tthis.$inputText().prop( 'disabled', true );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'range',\n\n\t\tevents: {\n\t\t\t'input input[type=\"range\"]': 'onChange',\n\t\t\t'change input': 'onChange',\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"range\"]' );\n\t\t},\n\n\t\t$inputAlt: function () {\n\t\t\treturn this.$( 'input[type=\"number\"]' );\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\tthis.busy = true;\n\n\t\t\t// Update range input (with change).\n\t\t\tacf.val( this.$input(), val );\n\n\t\t\t// Update alt input (without change).\n\t\t\t// Read in input value to inherit min/max validation.\n\t\t\tacf.val( this.$inputAlt(), this.$input().val(), true );\n\n\t\t\tthis.busy = false;\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tif ( ! this.busy ) {\n\t\t\t\tthis.setValue( $el.val() );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'relationship',\n\n\t\tevents: {\n\t\t\t'keypress [data-filter]': 'onKeypressFilter',\n\t\t\t'change [data-filter]': 'onChangeFilter',\n\t\t\t'keyup [data-filter]': 'onChangeFilter',\n\t\t\t'click .choices-list .acf-rel-item': 'onClickAdd',\n\t\t\t'click [data-name=\"remove_item\"]': 'onClickRemove',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-relationship' );\n\t\t},\n\n\t\t$list: function ( list ) {\n\t\t\treturn this.$( '.' + list + '-list' );\n\t\t},\n\n\t\t$listItems: function ( list ) {\n\t\t\treturn this.$list( list ).find( '.acf-rel-item' );\n\t\t},\n\n\t\t$listItem: function ( list, id ) {\n\t\t\treturn this.$list( list ).find(\n\t\t\t\t'.acf-rel-item[data-id=\"' + id + '\"]'\n\t\t\t);\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = [];\n\t\t\tthis.$listItems( 'values' ).each( function () {\n\t\t\t\tval.push( $( this ).data( 'id' ) );\n\t\t\t} );\n\t\t\treturn val.length ? val : false;\n\t\t},\n\n\t\tnewChoice: function ( props ) {\n\t\t\treturn [\n\t\t\t\t'
              • ',\n\t\t\t\t'' +\n\t\t\t\t\tprops.text +\n\t\t\t\t\t'',\n\t\t\t\t'
              • ',\n\t\t\t].join( '' );\n\t\t},\n\n\t\tnewValue: function ( props ) {\n\t\t\treturn [\n\t\t\t\t'
              • ',\n\t\t\t\t'',\n\t\t\t\t'' +\n\t\t\t\t\tprops.text,\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'
              • ',\n\t\t\t].join( '' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Delay initialization until \"interacted with\" or \"in view\".\n\t\t\tvar delayed = this.proxy(\n\t\t\t\tacf.once( function () {\n\t\t\t\t\t// Add sortable.\n\t\t\t\t\tthis.$list( 'values' ).sortable( {\n\t\t\t\t\t\titems: 'li',\n\t\t\t\t\t\tforceHelperSize: true,\n\t\t\t\t\t\tforcePlaceholderSize: true,\n\t\t\t\t\t\tscroll: true,\n\t\t\t\t\t\tupdate: this.proxy( function () {\n\t\t\t\t\t\t\tthis.$input().trigger( 'change' );\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Avoid browser remembering old scroll position and add event.\n\t\t\t\t\tthis.$list( 'choices' )\n\t\t\t\t\t\t.scrollTop( 0 )\n\t\t\t\t\t\t.on( 'scroll', this.proxy( this.onScrollChoices ) );\n\n\t\t\t\t\t// Fetch choices.\n\t\t\t\t\tthis.fetch();\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\t// Bind \"interacted with\".\n\t\t\tthis.$el.one( 'mouseover', delayed );\n\t\t\tthis.$el.one( 'focus', 'input', delayed );\n\n\t\t\t// Bind \"in view\".\n\t\t\tacf.onceInView( this.$el, delayed );\n\t\t},\n\n\t\tonScrollChoices: function ( e ) {\n\t\t\t// bail early if no more results\n\t\t\tif ( this.get( 'loading' ) || ! this.get( 'more' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Scrolled to bottom\n\t\t\tvar $list = this.$list( 'choices' );\n\t\t\tvar scrollTop = Math.ceil( $list.scrollTop() );\n\t\t\tvar scrollHeight = Math.ceil( $list[ 0 ].scrollHeight );\n\t\t\tvar innerHeight = Math.ceil( $list.innerHeight() );\n\t\t\tvar paged = this.get( 'paged' ) || 1;\n\t\t\tif ( scrollTop + innerHeight >= scrollHeight ) {\n\t\t\t\t// update paged\n\t\t\t\tthis.set( 'paged', paged + 1 );\n\n\t\t\t\t// fetch\n\t\t\t\tthis.fetch();\n\t\t\t}\n\t\t},\n\n\t\tonKeypressFilter: function ( e, $el ) {\n\t\t\t// don't submit form\n\t\t\tif ( e.which == 13 ) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\tonChangeFilter: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar val = $el.val();\n\t\t\tvar filter = $el.data( 'filter' );\n\n\t\t\t// Bail early if filter has not changed\n\t\t\tif ( this.get( filter ) === val ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// update attr\n\t\t\tthis.set( filter, val );\n\n\t\t\t// reset paged\n\t\t\tthis.set( 'paged', 1 );\n\n\t\t\t// fetch\n\t\t\tif ( $el.is( 'select' ) ) {\n\t\t\t\tthis.fetch();\n\n\t\t\t\t// search must go through timeout\n\t\t\t} else {\n\t\t\t\tthis.maybeFetch();\n\t\t\t}\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\t\t\tvar max = parseInt( this.get( 'max' ) );\n\n\t\t\t// can be added?\n\t\t\tif ( $el.hasClass( 'disabled' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// validate\n\t\t\tif ( max > 0 && val && val.length >= max ) {\n\t\t\t\t// add notice\n\t\t\t\tthis.showNotice( {\n\t\t\t\t\ttext: acf\n\t\t\t\t\t\t.__( 'Maximum values reached ( {max} values )' )\n\t\t\t\t\t\t.replace( '{max}', max ),\n\t\t\t\t\ttype: 'warning',\n\t\t\t\t} );\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// disable\n\t\t\t$el.addClass( 'disabled' );\n\n\t\t\t// add\n\t\t\tvar html = this.newValue( {\n\t\t\t\tid: $el.data( 'id' ),\n\t\t\t\ttext: $el.html(),\n\t\t\t} );\n\t\t\tthis.$list( 'values' ).append( html );\n\n\t\t\t// trigger change\n\t\t\tthis.$input().trigger( 'change' );\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\t// Prevent default here because generic handler wont be triggered.\n\t\t\te.preventDefault();\n\n\t\t\t// vars\n\t\t\tvar $span = $el.parent();\n\t\t\tvar $li = $span.parent();\n\t\t\tvar id = $span.data( 'id' );\n\n\t\t\t// remove value\n\t\t\t$li.remove();\n\n\t\t\t// show choice\n\t\t\tthis.$listItem( 'choices', id ).removeClass( 'disabled' );\n\n\t\t\t// trigger change\n\t\t\tthis.$input().trigger( 'change' );\n\t\t},\n\n\t\tmaybeFetch: function () {\n\t\t\t// vars\n\t\t\tvar timeout = this.get( 'timeout' );\n\n\t\t\t// abort timeout\n\t\t\tif ( timeout ) {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t}\n\n\t\t\t// fetch\n\t\t\ttimeout = this.setTimeout( this.fetch, 300 );\n\t\t\tthis.set( 'timeout', timeout );\n\t\t},\n\n\t\tgetAjaxData: function () {\n\t\t\t// load data based on element attributes\n\t\t\tvar ajaxData = this.$control().data();\n\t\t\tfor ( var name in ajaxData ) {\n\t\t\t\tajaxData[ name ] = this.get( name );\n\t\t\t}\n\n\t\t\t// extra\n\t\t\tajaxData.action = 'acf/fields/relationship/query';\n\t\t\tajaxData.field_key = this.get( 'key' );\n\n\t\t\t// Filter.\n\t\t\tajaxData = acf.applyFilters(\n\t\t\t\t'relationship_ajax_data',\n\t\t\t\tajaxData,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn ajaxData;\n\t\t},\n\n\t\tfetch: function () {\n\t\t\t// abort XHR if this field is already loading AJAX data\n\t\t\tvar xhr = this.get( 'xhr' );\n\t\t\tif ( xhr ) {\n\t\t\t\txhr.abort();\n\t\t\t}\n\n\t\t\t// add to this.o\n\t\t\tvar ajaxData = this.getAjaxData();\n\n\t\t\t// clear html if is new query\n\t\t\tvar $choiceslist = this.$list( 'choices' );\n\t\t\tif ( ajaxData.paged == 1 ) {\n\t\t\t\t$choiceslist.html( '' );\n\t\t\t}\n\n\t\t\t// loading\n\t\t\tvar $loading = $(\n\t\t\t\t'
              • ' +\n\t\t\t\t\tacf.__( 'Loading' ) +\n\t\t\t\t\t'
              • '\n\t\t\t);\n\t\t\t$choiceslist.append( $loading );\n\t\t\tthis.set( 'loading', true );\n\n\t\t\t// callback\n\t\t\tvar onComplete = function () {\n\t\t\t\tthis.set( 'loading', false );\n\t\t\t\t$loading.remove();\n\t\t\t};\n\n\t\t\tvar onSuccess = function ( json ) {\n\t\t\t\t// no results\n\t\t\t\tif ( ! json || ! json.results || ! json.results.length ) {\n\t\t\t\t\t// prevent pagination\n\t\t\t\t\tthis.set( 'more', false );\n\n\t\t\t\t\t// add message\n\t\t\t\t\tif ( this.get( 'paged' ) == 1 ) {\n\t\t\t\t\t\tthis.$list( 'choices' ).append(\n\t\t\t\t\t\t\t'
              • ' + acf.__( 'No matches found' ) + '
              • '\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// set more (allows pagination scroll)\n\t\t\t\tthis.set( 'more', json.more );\n\n\t\t\t\t// get new results\n\t\t\t\tvar html = this.walkChoices( json.results );\n\t\t\t\tvar $html = $( html );\n\n\t\t\t\t// apply .disabled to left li's\n\t\t\t\tvar val = this.val();\n\t\t\t\tif ( val && val.length ) {\n\t\t\t\t\tval.map( function ( id ) {\n\t\t\t\t\t\t$html\n\t\t\t\t\t\t\t.find( '.acf-rel-item[data-id=\"' + id + '\"]' )\n\t\t\t\t\t\t\t.addClass( 'disabled' );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// append\n\t\t\t\t$choiceslist.append( $html );\n\n\t\t\t\t// merge together groups\n\t\t\t\tvar $prevLabel = false;\n\t\t\t\tvar $prevList = false;\n\n\t\t\t\t$choiceslist.find( '.acf-rel-label' ).each( function () {\n\t\t\t\t\tvar $label = $( this );\n\t\t\t\t\tvar $list = $label.siblings( 'ul' );\n\n\t\t\t\t\tif ( $prevLabel && $prevLabel.text() == $label.text() ) {\n\t\t\t\t\t\t$prevList.append( $list.children() );\n\t\t\t\t\t\t$( this ).parent().remove();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// update vars\n\t\t\t\t\t$prevLabel = $label;\n\t\t\t\t\t$prevList = $list;\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// get results\n\t\t\tvar xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdataType: 'json',\n\t\t\t\ttype: 'post',\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: onSuccess,\n\t\t\t\tcomplete: onComplete,\n\t\t\t} );\n\n\t\t\t// set\n\t\t\tthis.set( 'xhr', xhr );\n\t\t},\n\n\t\twalkChoices: function ( data ) {\n\t\t\t// walker\n\t\t\tvar walk = function ( data ) {\n\t\t\t\t// vars\n\t\t\t\tvar html = '';\n\n\t\t\t\t// is array\n\t\t\t\tif ( $.isArray( data ) ) {\n\t\t\t\t\tdata.map( function ( item ) {\n\t\t\t\t\t\thtml += walk( item );\n\t\t\t\t\t} );\n\n\t\t\t\t\t// is item\n\t\t\t\t} else if ( $.isPlainObject( data ) ) {\n\t\t\t\t\t// group\n\t\t\t\t\tif ( data.children !== undefined ) {\n\t\t\t\t\t\thtml +=\n\t\t\t\t\t\t\t'
              • ' +\n\t\t\t\t\t\t\tacf.escHtml( data.text ) +\n\t\t\t\t\t\t\t'
                  ';\n\t\t\t\t\t\thtml += walk( data.children );\n\t\t\t\t\t\thtml += '
              • ';\n\n\t\t\t\t\t\t// single\n\t\t\t\t\t} else {\n\t\t\t\t\t\thtml +=\n\t\t\t\t\t\t\t'
              • ' +\n\t\t\t\t\t\t\tacf.escHtml( data.text ) +\n\t\t\t\t\t\t\t'
              • ';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// return\n\t\t\t\treturn html;\n\t\t\t};\n\n\t\t\treturn walk( data );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'select',\n\n\t\tselect2: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\tremoveField: 'onRemove',\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'select' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $select = this.$input();\n\n\t\t\t// inherit data\n\t\t\tthis.inherit( $select );\n\n\t\t\t// select2\n\t\t\tif ( this.get( 'ui' ) ) {\n\t\t\t\t// populate ajax_data (allowing custom attribute to already exist)\n\t\t\t\tvar ajaxAction = this.get( 'ajax_action' );\n\t\t\t\tif ( ! ajaxAction ) {\n\t\t\t\t\tajaxAction = 'acf/fields/' + this.get( 'type' ) + '/query';\n\t\t\t\t}\n\n\t\t\t\t// select2\n\t\t\t\tthis.select2 = acf.newSelect2( $select, {\n\t\t\t\t\tfield: this,\n\t\t\t\t\tajax: this.get( 'ajax' ),\n\t\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\t\tplaceholder: this.get( 'placeholder' ),\n\t\t\t\t\tallowNull: this.get( 'allow_null' ),\n\t\t\t\t\tajaxAction: ajaxAction,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\tonRemove: function () {\n\t\t\tif ( this.select2 ) {\n\t\t\t\tthis.select2.destroy();\n\t\t\t}\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\tif ( this.select2 ) {\n\t\t\t\t$duplicate.find( '.select2-container' ).remove();\n\t\t\t\t$duplicate\n\t\t\t\t\t.find( 'select' )\n\t\t\t\t\t.removeClass( 'select2-hidden-accessible' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar CONTEXT = 'tab';\n\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'tab',\n\n\t\twait: '',\n\n\t\ttabs: false,\n\n\t\ttab: false,\n\n\t\tevents: {\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\tfindFields: function () {\n\t\t\treturn this.$el.nextUntil( '.acf-field-tab', '.acf-field' );\n\t\t},\n\n\t\tgetFields: function () {\n\t\t\treturn acf.getFields( this.findFields() );\n\t\t},\n\n\t\tfindTabs: function () {\n\t\t\treturn this.$el.prevAll( '.acf-tab-wrap:first' );\n\t\t},\n\n\t\tfindTab: function () {\n\t\t\treturn this.$( '.acf-tab-button' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// bail early if is td\n\t\t\tif ( this.$el.is( 'td' ) ) {\n\t\t\t\tthis.events = {};\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $tabs = this.findTabs();\n\t\t\tvar $tab = this.findTab();\n\t\t\tvar settings = acf.parseArgs( $tab.data(), {\n\t\t\t\tendpoint: false,\n\t\t\t\tplacement: '',\n\t\t\t\tbefore: this.$el,\n\t\t\t} );\n\n\t\t\t// create wrap\n\t\t\tif ( ! $tabs.length || settings.endpoint ) {\n\t\t\t\tthis.tabs = new Tabs( settings );\n\t\t\t} else {\n\t\t\t\tthis.tabs = $tabs.data( 'acf' );\n\t\t\t}\n\n\t\t\t// add tab\n\t\t\tthis.tab = this.tabs.addTab( $tab, this );\n\t\t},\n\n\t\tisActive: function () {\n\t\t\treturn this.tab.isActive();\n\t\t},\n\n\t\tshowFields: function () {\n\t\t\t// show fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.show( this.cid, CONTEXT );\n\t\t\t\tfield.hiddenByTab = false;\n\t\t\t}, this );\n\t\t},\n\n\t\thideFields: function () {\n\t\t\t// hide fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.hide( this.cid, CONTEXT );\n\t\t\t\tfield.hiddenByTab = this.tab;\n\t\t\t}, this );\n\t\t},\n\n\t\tshow: function ( lockKey ) {\n\t\t\t// show field and store result\n\t\t\tvar visible = acf.Field.prototype.show.apply( this, arguments );\n\n\t\t\t// check if now visible\n\t\t\tif ( visible ) {\n\t\t\t\t// show tab\n\t\t\t\tthis.tab.show();\n\n\t\t\t\t// check active tabs\n\t\t\t\tthis.tabs.refresh();\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn visible;\n\t\t},\n\n\t\thide: function ( lockKey ) {\n\t\t\t// hide field and store result\n\t\t\tvar hidden = acf.Field.prototype.hide.apply( this, arguments );\n\n\t\t\t// check if now hidden\n\t\t\tif ( hidden ) {\n\t\t\t\t// hide tab\n\t\t\t\tthis.tab.hide();\n\n\t\t\t\t// reset tabs if this was active\n\t\t\t\tif ( this.isActive() ) {\n\t\t\t\t\tthis.tabs.reset();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn hidden;\n\t\t},\n\n\t\tenable: function ( lockKey ) {\n\t\t\t// enable fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.enable( CONTEXT );\n\t\t\t} );\n\t\t},\n\n\t\tdisable: function ( lockKey ) {\n\t\t\t// disable fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.disable( CONTEXT );\n\t\t\t} );\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\tif ( this.isActive() ) {\n\t\t\t\t$duplicate.prevAll( '.acf-tab-wrap:first' ).remove();\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t/**\n\t * tabs\n\t *\n\t * description\n\t *\n\t * @date\t8/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar i = 0;\n\tvar Tabs = acf.Model.extend( {\n\t\ttabs: [],\n\n\t\tactive: false,\n\n\t\tactions: {\n\t\t\trefresh: 'onRefresh',\n\t\t},\n\n\t\tdata: {\n\t\t\tbefore: false,\n\t\t\tplacement: 'top',\n\t\t\tindex: 0,\n\t\t\tinitialized: false,\n\t\t},\n\n\t\tsetup: function ( settings ) {\n\t\t\t// data\n\t\t\t$.extend( this.data, settings );\n\n\t\t\t// define this prop to avoid scope issues\n\t\t\tthis.tabs = [];\n\t\t\tthis.active = false;\n\n\t\t\t// vars\n\t\t\tvar placement = this.get( 'placement' );\n\t\t\tvar $before = this.get( 'before' );\n\t\t\tvar $parent = $before.parent();\n\n\t\t\t// add sidebar for left placement\n\t\t\tif ( placement == 'left' && $parent.hasClass( 'acf-fields' ) ) {\n\t\t\t\t$parent.addClass( '-sidebar' );\n\t\t\t}\n\n\t\t\t// create wrap\n\t\t\tif ( $before.is( 'tr' ) ) {\n\t\t\t\tthis.$el = $(\n\t\t\t\t\t'
                '\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.$el = $(\n\t\t\t\t\t'
                  '\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// append\n\t\t\t$before.before( this.$el );\n\n\t\t\t// set index\n\t\t\tthis.set( 'index', i, true );\n\t\t\ti++;\n\t\t},\n\n\t\tinitializeTabs: function () {\n\t\t\t// find first visible tab\n\t\t\tvar tab = this.getVisible().shift();\n\n\t\t\t// remember previous tab state\n\t\t\tvar order = acf.getPreference( 'this.tabs' ) || [];\n\t\t\tvar groupIndex = this.get( 'index' );\n\t\t\tvar tabIndex = order[ groupIndex ];\n\n\t\t\tif ( this.tabs[ tabIndex ] && this.tabs[ tabIndex ].isVisible() ) {\n\t\t\t\ttab = this.tabs[ tabIndex ];\n\t\t\t}\n\n\t\t\t// select\n\t\t\tif ( tab ) {\n\t\t\t\tthis.selectTab( tab );\n\t\t\t} else {\n\t\t\t\tthis.closeTabs();\n\t\t\t}\n\n\t\t\t// set local variable used by tabsManager\n\t\t\tthis.set( 'initialized', true );\n\t\t},\n\n\t\tgetVisible: function () {\n\t\t\treturn this.tabs.filter( function ( tab ) {\n\t\t\t\treturn tab.isVisible();\n\t\t\t} );\n\t\t},\n\n\t\tgetActive: function () {\n\t\t\treturn this.active;\n\t\t},\n\n\t\tsetActive: function ( tab ) {\n\t\t\treturn ( this.active = tab );\n\t\t},\n\n\t\thasActive: function () {\n\t\t\treturn this.active !== false;\n\t\t},\n\n\t\tisActive: function ( tab ) {\n\t\t\tvar active = this.getActive();\n\t\t\treturn active && active.cid === tab.cid;\n\t\t},\n\n\t\tcloseActive: function () {\n\t\t\tif ( this.hasActive() ) {\n\t\t\t\tthis.closeTab( this.getActive() );\n\t\t\t}\n\t\t},\n\n\t\topenTab: function ( tab ) {\n\t\t\t// close existing tab\n\t\t\tthis.closeActive();\n\n\t\t\t// open\n\t\t\ttab.open();\n\n\t\t\t// set active\n\t\t\tthis.setActive( tab );\n\t\t},\n\n\t\tcloseTab: function ( tab ) {\n\t\t\t// close\n\t\t\ttab.close();\n\n\t\t\t// set active\n\t\t\tthis.setActive( false );\n\t\t},\n\n\t\tcloseTabs: function () {\n\t\t\tthis.tabs.map( this.closeTab, this );\n\t\t},\n\n\t\tselectTab: function ( tab ) {\n\t\t\t// close other tabs\n\t\t\tthis.tabs.map( function ( t ) {\n\t\t\t\tif ( tab.cid !== t.cid ) {\n\t\t\t\t\tthis.closeTab( t );\n\t\t\t\t}\n\t\t\t}, this );\n\n\t\t\t// open\n\t\t\tthis.openTab( tab );\n\t\t},\n\n\t\taddTab: function ( $a, field ) {\n\t\t\t// create
                • \n\t\t\tvar $li = $( '
                • ' + $a.outerHTML() + '
                • ' );\n\n\t\t\t// append\n\t\t\tthis.$( 'ul' ).append( $li );\n\n\t\t\t// initialize\n\t\t\tvar tab = new Tab( {\n\t\t\t\t$el: $li,\n\t\t\t\tfield: field,\n\t\t\t\tgroup: this,\n\t\t\t} );\n\n\t\t\t// store\n\t\t\tthis.tabs.push( tab );\n\n\t\t\t// return\n\t\t\treturn tab;\n\t\t},\n\n\t\treset: function () {\n\t\t\t// close existing tab\n\t\t\tthis.closeActive();\n\n\t\t\t// find and active a tab\n\t\t\treturn this.refresh();\n\t\t},\n\n\t\trefresh: function () {\n\t\t\t// bail early if active already exists\n\t\t\tif ( this.hasActive() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// find next active tab\n\t\t\tvar tab = this.getVisible().shift();\n\n\t\t\t// open tab\n\t\t\tif ( tab ) {\n\t\t\t\tthis.openTab( tab );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn tab;\n\t\t},\n\n\t\tonRefresh: function () {\n\t\t\t// only for left placements\n\t\t\tif ( this.get( 'placement' ) !== 'left' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $parent = this.$el.parent();\n\t\t\tvar $list = this.$el.children( 'ul' );\n\t\t\tvar attribute = $parent.is( 'td' ) ? 'height' : 'min-height';\n\n\t\t\t// find height (minus 1 for border-bottom)\n\t\t\tvar height = $list.position().top + $list.outerHeight( true ) - 1;\n\n\t\t\t// add css\n\t\t\t$parent.css( attribute, height );\n\t\t},\n\t} );\n\n\tvar Tab = acf.Model.extend( {\n\t\tgroup: false,\n\n\t\tfield: false,\n\n\t\tevents: {\n\t\t\t'click a': 'onClick',\n\t\t},\n\n\t\tindex: function () {\n\t\t\treturn this.$el.index();\n\t\t},\n\n\t\tisVisible: function () {\n\t\t\treturn acf.isVisible( this.$el );\n\t\t},\n\n\t\tisActive: function () {\n\t\t\treturn this.$el.hasClass( 'active' );\n\t\t},\n\n\t\topen: function () {\n\t\t\t// add class\n\t\t\tthis.$el.addClass( 'active' );\n\n\t\t\t// show field\n\t\t\tthis.field.showFields();\n\t\t},\n\n\t\tclose: function () {\n\t\t\t// remove class\n\t\t\tthis.$el.removeClass( 'active' );\n\n\t\t\t// hide field\n\t\t\tthis.field.hideFields();\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// prevent default\n\t\t\te.preventDefault();\n\n\t\t\t// toggle\n\t\t\tthis.toggle();\n\t\t},\n\n\t\ttoggle: function () {\n\t\t\t// bail early if already active\n\t\t\tif ( this.isActive() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// toggle this tab\n\t\t\tthis.group.openTab( this );\n\t\t},\n\t} );\n\n\tvar tabsManager = new acf.Model( {\n\t\tpriority: 50,\n\n\t\tactions: {\n\t\t\tprepare: 'render',\n\t\t\tappend: 'render',\n\t\t\tunload: 'onUnload',\n\t\t\tinvalid_field: 'onInvalidField',\n\t\t},\n\n\t\tfindTabs: function () {\n\t\t\treturn $( '.acf-tab-wrap' );\n\t\t},\n\n\t\tgetTabs: function () {\n\t\t\treturn acf.getInstances( this.findTabs() );\n\t\t},\n\n\t\trender: function ( $el ) {\n\t\t\tthis.getTabs().map( function ( tabs ) {\n\t\t\t\tif ( ! tabs.get( 'initialized' ) ) {\n\t\t\t\t\ttabs.initializeTabs();\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tonInvalidField: function ( field ) {\n\t\t\t// bail early if busy\n\t\t\tif ( this.busy ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// ignore if not hidden by tab\n\t\t\tif ( ! field.hiddenByTab ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// toggle tab\n\t\t\tfield.hiddenByTab.toggle();\n\n\t\t\t// ignore other invalid fields\n\t\t\tthis.busy = true;\n\t\t\tthis.setTimeout( function () {\n\t\t\t\tthis.busy = false;\n\t\t\t}, 100 );\n\t\t},\n\n\t\tonUnload: function () {\n\t\t\t// vars\n\t\t\tvar order = [];\n\n\t\t\t// loop\n\t\t\tthis.getTabs().map( function ( group ) {\n\t\t\t\tvar active = group.hasActive() ? group.getActive().index() : 0;\n\t\t\t\torder.push( active );\n\t\t\t} );\n\n\t\t\t// bail if no tabs\n\t\t\tif ( ! order.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// update\n\t\t\tacf.setPreference( 'this.tabs', order );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'taxonomy',\n\n\t\tdata: {\n\t\t\tftype: 'select',\n\t\t},\n\n\t\tselect2: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"add\"]': 'onClickAdd',\n\t\t\t'click input[type=\"radio\"]': 'onClickRadio',\n\t\t\tremoveField: 'onRemove',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-taxonomy-field' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.getRelatedPrototype().$input.apply( this, arguments );\n\t\t},\n\n\t\tgetRelatedType: function () {\n\t\t\t// vars\n\t\t\tvar fieldType = this.get( 'ftype' );\n\n\t\t\t// normalize\n\t\t\tif ( fieldType == 'multi_select' ) {\n\t\t\t\tfieldType = 'select';\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn fieldType;\n\t\t},\n\n\t\tgetRelatedPrototype: function () {\n\t\t\treturn acf.getFieldType( this.getRelatedType() ).prototype;\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\treturn this.getRelatedPrototype().getValue.apply( this, arguments );\n\t\t},\n\n\t\tsetValue: function () {\n\t\t\treturn this.getRelatedPrototype().setValue.apply( this, arguments );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.getRelatedPrototype().initialize.apply( this, arguments );\n\t\t},\n\n\t\tonRemove: function () {\n\t\t\tvar proto = this.getRelatedPrototype();\n\t\t\tif ( proto.onRemove ) {\n\t\t\t\tproto.onRemove.apply( this, arguments );\n\t\t\t}\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar field = this;\n\t\t\tvar popup = false;\n\t\t\tvar $form = false;\n\t\t\tvar $name = false;\n\t\t\tvar $parent = false;\n\t\t\tvar $button = false;\n\t\t\tvar $message = false;\n\t\t\tvar notice = false;\n\n\t\t\t// step 1.\n\t\t\tvar step1 = function () {\n\t\t\t\t// popup\n\t\t\t\tpopup = acf.newPopup( {\n\t\t\t\t\ttitle: $el.attr( 'title' ),\n\t\t\t\t\tloading: true,\n\t\t\t\t\twidth: '300px',\n\t\t\t\t} );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/fields/taxonomy/add_term',\n\t\t\t\t\tfield_key: field.get( 'key' ),\n\t\t\t\t};\n\n\t\t\t\t// get HTML\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'html',\n\t\t\t\t\tsuccess: step2,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// step 2.\n\t\t\tvar step2 = function ( html ) {\n\t\t\t\t// update popup\n\t\t\t\tpopup.loading( false );\n\t\t\t\tpopup.content( html );\n\n\t\t\t\t// vars\n\t\t\t\t$form = popup.$( 'form' );\n\t\t\t\t$name = popup.$( 'input[name=\"term_name\"]' );\n\t\t\t\t$parent = popup.$( 'select[name=\"term_parent\"]' );\n\t\t\t\t$button = popup.$( '.acf-submit-button' );\n\n\t\t\t\t// focus\n\t\t\t\t$name.trigger( 'focus' );\n\n\t\t\t\t// submit form\n\t\t\t\tpopup.on( 'submit', 'form', step3 );\n\t\t\t};\n\n\t\t\t// step 3.\n\t\t\tvar step3 = function ( e, $el ) {\n\t\t\t\t// prevent\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopImmediatePropagation();\n\n\t\t\t\t// basic validation\n\t\t\t\tif ( $name.val() === '' ) {\n\t\t\t\t\t$name.trigger( 'focus' );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// disable\n\t\t\t\tacf.startButtonLoading( $button );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/fields/taxonomy/add_term',\n\t\t\t\t\tfield_key: field.get( 'key' ),\n\t\t\t\t\tterm_name: $name.val(),\n\t\t\t\t\tterm_parent: $parent.length ? $parent.val() : 0,\n\t\t\t\t};\n\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tsuccess: step4,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// step 4.\n\t\t\tvar step4 = function ( json ) {\n\t\t\t\t// enable\n\t\t\t\tacf.stopButtonLoading( $button );\n\n\t\t\t\t// remove prev notice\n\t\t\t\tif ( notice ) {\n\t\t\t\t\tnotice.remove();\n\t\t\t\t}\n\n\t\t\t\t// success\n\t\t\t\tif ( acf.isAjaxSuccess( json ) ) {\n\t\t\t\t\t// clear name\n\t\t\t\t\t$name.val( '' );\n\n\t\t\t\t\t// update term lists\n\t\t\t\t\tstep5( json.data );\n\n\t\t\t\t\t// notice\n\t\t\t\t\tnotice = acf.newNotice( {\n\t\t\t\t\t\ttype: 'success',\n\t\t\t\t\t\ttext: acf.getAjaxMessage( json ),\n\t\t\t\t\t\ttarget: $form,\n\t\t\t\t\t\ttimeout: 2000,\n\t\t\t\t\t\tdismiss: false,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\t// notice\n\t\t\t\t\tnotice = acf.newNotice( {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\ttext: acf.getAjaxError( json ),\n\t\t\t\t\t\ttarget: $form,\n\t\t\t\t\t\ttimeout: 2000,\n\t\t\t\t\t\tdismiss: false,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// focus\n\t\t\t\t$name.trigger( 'focus' );\n\t\t\t};\n\n\t\t\t// step 5.\n\t\t\tvar step5 = function ( term ) {\n\t\t\t\t// update parent dropdown\n\t\t\t\tvar $option = $(\n\t\t\t\t\t''\n\t\t\t\t);\n\t\t\t\tif ( term.term_parent ) {\n\t\t\t\t\t$parent\n\t\t\t\t\t\t.children( 'option[value=\"' + term.term_parent + '\"]' )\n\t\t\t\t\t\t.after( $option );\n\t\t\t\t} else {\n\t\t\t\t\t$parent.append( $option );\n\t\t\t\t}\n\n\t\t\t\t// add this new term to all taxonomy field\n\t\t\t\tvar fields = acf.getFields( {\n\t\t\t\t\ttype: 'taxonomy',\n\t\t\t\t} );\n\n\t\t\t\tfields.map( function ( otherField ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\totherField.get( 'taxonomy' ) == field.get( 'taxonomy' )\n\t\t\t\t\t) {\n\t\t\t\t\t\totherField.appendTerm( term );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\t// select\n\t\t\t\tfield.selectTerm( term.term_id );\n\t\t\t};\n\n\t\t\t// run\n\t\t\tstep1();\n\t\t},\n\n\t\tappendTerm: function ( term ) {\n\t\t\tif ( this.getRelatedType() == 'select' ) {\n\t\t\t\tthis.appendTermSelect( term );\n\t\t\t} else {\n\t\t\t\tthis.appendTermCheckbox( term );\n\t\t\t}\n\t\t},\n\n\t\tappendTermSelect: function ( term ) {\n\t\t\tthis.select2.addOption( {\n\t\t\t\tid: term.term_id,\n\t\t\t\ttext: term.term_label,\n\t\t\t} );\n\t\t},\n\n\t\tappendTermCheckbox: function ( term ) {\n\t\t\t// vars\n\t\t\tvar name = this.$( '[name]:first' ).attr( 'name' );\n\t\t\tvar $ul = this.$( 'ul:first' );\n\n\t\t\t// allow multiple selection\n\t\t\tif ( this.getRelatedType() == 'checkbox' ) {\n\t\t\t\tname += '[]';\n\t\t\t}\n\n\t\t\t// create new li\n\t\t\tvar $li = $(\n\t\t\t\t[\n\t\t\t\t\t'
                • ',\n\t\t\t\t\t'',\n\t\t\t\t\t'
                • ',\n\t\t\t\t].join( '' )\n\t\t\t);\n\n\t\t\t// find parent\n\t\t\tif ( term.term_parent ) {\n\t\t\t\t// vars\n\t\t\t\tvar $parent = $ul.find(\n\t\t\t\t\t'li[data-id=\"' + term.term_parent + '\"]'\n\t\t\t\t);\n\n\t\t\t\t// update vars\n\t\t\t\t$ul = $parent.children( 'ul' );\n\n\t\t\t\t// create ul\n\t\t\t\tif ( ! $ul.exists() ) {\n\t\t\t\t\t$ul = $( '
                    ' );\n\t\t\t\t\t$parent.append( $ul );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// append\n\t\t\t$ul.append( $li );\n\t\t},\n\n\t\tselectTerm: function ( id ) {\n\t\t\tif ( this.getRelatedType() == 'select' ) {\n\t\t\t\tthis.select2.selectOption( id );\n\t\t\t} else {\n\t\t\t\tvar $input = this.$( 'input[value=\"' + id + '\"]' );\n\t\t\t\t$input.prop( 'checked', true ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\tonClickRadio: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar selected = $label.hasClass( 'selected' );\n\n\t\t\t// remove previous selected\n\t\t\tthis.$( '.selected' ).removeClass( 'selected' );\n\n\t\t\t// add active class\n\t\t\t$label.addClass( 'selected' );\n\n\t\t\t// allow null\n\t\t\tif ( this.get( 'allow_null' ) && selected ) {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t\t$el.prop( 'checked', false ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.DatePickerField.extend( {\n\t\ttype: 'time_picker',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-time-picker' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\ttimeFormat: this.get( 'time_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFieldTimeOnly: false,\n\t\t\t\taltTimeFormat: 'HH:mm:ss',\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tcontrolType: 'select',\n\t\t\t\toneLine: true,\n\t\t\t\tcloseText: acf.get( 'dateTimePickerL10n' ).selectText,\n\t\t\t\ttimeOnly: true,\n\t\t\t};\n\n\t\t\t// add custom 'Close = Select' functionality\n\t\t\targs.onClose = function ( value, dp_instance, t_instance ) {\n\t\t\t\t// vars\n\t\t\t\tvar $close = dp_instance.dpDiv.find( '.ui-datepicker-close' );\n\n\t\t\t\t// if clicking close button\n\t\t\t\tif ( ! value && $close.is( ':hover' ) ) {\n\t\t\t\t\tt_instance._updateDateTime();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// filter\n\t\t\targs = acf.applyFilters( 'time_picker_args', args, this );\n\n\t\t\t// add date time picker\n\t\t\tacf.newTimePicker( $inputText, args );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'time_picker_init', $inputText, args, this );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// add\n\tacf.newTimePicker = function ( $input, args ) {\n\t\t// bail ealry if no datepicker library\n\t\tif ( typeof $.timepicker === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// defaults\n\t\targs = args || {};\n\n\t\t// initialize\n\t\t$input.timepicker( args );\n\n\t\t// wrap the datepicker (only if it hasn't already been wrapped)\n\t\tif ( $( 'body > #ui-datepicker-div' ).exists() ) {\n\t\t\t$( 'body > #ui-datepicker-div' ).wrap(\n\t\t\t\t'
                    '\n\t\t\t);\n\t\t}\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'true_false',\n\n\t\tevents: {\n\t\t\t'change .acf-switch-input': 'onChange',\n\t\t\t'focus .acf-switch-input': 'onFocus',\n\t\t\t'blur .acf-switch-input': 'onBlur',\n\t\t\t'keypress .acf-switch-input': 'onKeypress',\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"checkbox\"]' );\n\t\t},\n\n\t\t$switch: function () {\n\t\t\treturn this.$( '.acf-switch' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\treturn this.$input().prop( 'checked' ) ? 1 : 0;\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\trender: function () {\n\t\t\t// vars\n\t\t\tvar $switch = this.$switch();\n\n\t\t\t// bail ealry if no $switch\n\t\t\tif ( ! $switch.length ) return;\n\n\t\t\t// vars\n\t\t\tvar $on = $switch.children( '.acf-switch-on' );\n\t\t\tvar $off = $switch.children( '.acf-switch-off' );\n\t\t\tvar width = Math.max( $on.width(), $off.width() );\n\n\t\t\t// bail ealry if no width\n\t\t\tif ( ! width ) return;\n\n\t\t\t// set widths\n\t\t\t$on.css( 'min-width', width );\n\t\t\t$off.css( 'min-width', width );\n\t\t},\n\n\t\tswitchOn: function () {\n\t\t\tthis.$input().prop( 'checked', true );\n\t\t\tthis.$switch().addClass( '-on' );\n\t\t},\n\n\t\tswitchOff: function () {\n\t\t\tthis.$input().prop( 'checked', false );\n\t\t\tthis.$switch().removeClass( '-on' );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tif ( $el.prop( 'checked' ) ) {\n\t\t\t\tthis.switchOn();\n\t\t\t} else {\n\t\t\t\tthis.switchOff();\n\t\t\t}\n\t\t},\n\n\t\tonFocus: function ( e, $el ) {\n\t\t\tthis.$switch().addClass( '-focus' );\n\t\t},\n\n\t\tonBlur: function ( e, $el ) {\n\t\t\tthis.$switch().removeClass( '-focus' );\n\t\t},\n\n\t\tonKeypress: function ( e, $el ) {\n\t\t\t// left\n\t\t\tif ( e.keyCode === 37 ) {\n\t\t\t\treturn this.switchOff();\n\t\t\t}\n\n\t\t\t// right\n\t\t\tif ( e.keyCode === 39 ) {\n\t\t\t\treturn this.switchOn();\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'url',\n\n\t\tevents: {\n\t\t\t'keyup input[type=\"url\"]': 'onkeyup',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-input-wrap' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"url\"]' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\tisValid: function () {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\n\t\t\t// bail early if no val\n\t\t\tif ( ! val ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// url\n\t\t\tif ( val.indexOf( '://' ) !== -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// protocol relative url\n\t\t\tif ( val.indexOf( '//' ) === 0 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn false;\n\t\t},\n\n\t\trender: function () {\n\t\t\t// add class\n\t\t\tif ( this.isValid() ) {\n\t\t\t\tthis.$control().addClass( '-valid' );\n\t\t\t} else {\n\t\t\t\tthis.$control().removeClass( '-valid' );\n\t\t\t}\n\t\t},\n\n\t\tonkeyup: function ( e, $el ) {\n\t\t\tthis.render();\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.SelectField.extend( {\n\t\ttype: 'user',\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\tacf.addFilter(\n\t\t'select2_ajax_data',\n\t\tfunction ( data, args, $input, field, select2 ) {\n\t\t\tif ( ! field ) {\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\tconst query_nonce = field.get('queryNonce');\n\t\t\tif ( query_nonce && query_nonce.length ) {\n\t\t\t\tdata.user_query_nonce = query_nonce;\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\t);\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'wysiwyg',\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'mousedown .acf-editor-wrap.delay': 'onMousedown',\n\t\t\tunmountField: 'disableEditor',\n\t\t\tremountField: 'enableEditor',\n\t\t\tremoveField: 'disableEditor',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-editor-wrap' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'textarea' );\n\t\t},\n\n\t\tgetMode: function () {\n\t\t\treturn this.$control().hasClass( 'tmce-active' )\n\t\t\t\t? 'visual'\n\t\t\t\t: 'text';\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// initializeEditor if no delay\n\t\t\tif ( ! this.$control().hasClass( 'delay' ) ) {\n\t\t\t\tthis.initializeEditor();\n\t\t\t}\n\t\t},\n\n\t\tinitializeEditor: function () {\n\t\t\t// vars\n\t\t\tvar $wrap = this.$control();\n\t\t\tvar $textarea = this.$input();\n\t\t\tvar args = {\n\t\t\t\ttinymce: true,\n\t\t\t\tquicktags: true,\n\t\t\t\ttoolbar: this.get( 'toolbar' ),\n\t\t\t\tmode: this.getMode(),\n\t\t\t\tfield: this,\n\t\t\t};\n\n\t\t\t// generate new id\n\t\t\tvar oldId = $textarea.attr( 'id' );\n\t\t\tvar newId = acf.uniqueId( 'acf-editor-' );\n\n\t\t\t// Backup textarea data.\n\t\t\tvar inputData = $textarea.data();\n\t\t\tvar inputVal = $textarea.val();\n\n\t\t\t// rename\n\t\t\tacf.rename( {\n\t\t\t\ttarget: $wrap,\n\t\t\t\tsearch: oldId,\n\t\t\t\treplace: newId,\n\t\t\t\tdestructive: true,\n\t\t\t} );\n\n\t\t\t// update id\n\t\t\tthis.set( 'id', newId, true );\n\n\t\t\t// apply data to new textarea (acf.rename creates a new textarea element due to destructive mode)\n\t\t\t// fixes bug where conditional logic \"disabled\" is lost during \"screen_check\"\n\t\t\tthis.$input().data( inputData ).val( inputVal );\n\n\t\t\t// initialize\n\t\t\tacf.tinymce.initialize( newId, args );\n\t\t},\n\n\t\tonMousedown: function ( e ) {\n\t\t\t// prevent default\n\t\t\te.preventDefault();\n\n\t\t\t// remove delay class\n\t\t\tvar $wrap = this.$control();\n\t\t\t$wrap.removeClass( 'delay' );\n\t\t\t$wrap.find( '.acf-editor-toolbar' ).remove();\n\n\t\t\t// initialize\n\t\t\tthis.initializeEditor();\n\t\t},\n\n\t\tenableEditor: function () {\n\t\t\tif ( this.getMode() == 'visual' ) {\n\t\t\t\tacf.tinymce.enable( this.get( 'id' ) );\n\t\t\t}\n\t\t},\n\n\t\tdisableEditor: function () {\n\t\t\tacf.tinymce.destroy( this.get( 'id' ) );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar storage = [];\n\n\t/**\n\t * acf.Field\n\t *\n\t * description\n\t *\n\t * @date\t23/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.Field = acf.Model.extend( {\n\t\t// field type\n\t\ttype: '',\n\n\t\t// class used to avoid nested event triggers\n\t\teventScope: '.acf-field',\n\n\t\t// initialize events on 'ready'\n\t\twait: 'ready',\n\n\t\t/**\n\t\t * setup\n\t\t *\n\t\t * Called during the constructor function to setup this field ready for initialization\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tjQuery $field The field element.\n\t\t * @return\tvoid\n\t\t */\n\n\t\tsetup: function ( $field ) {\n\t\t\t// set $el\n\t\t\tthis.$el = $field;\n\n\t\t\t// inherit $field data\n\t\t\tthis.inherit( $field );\n\n\t\t\t// inherit controll data\n\t\t\tthis.inherit( this.$control() );\n\t\t},\n\n\t\t/**\n\t\t * val\n\t\t *\n\t\t * Sets or returns the field's value\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tmixed val Optional. The value to set\n\t\t * @return\tmixed\n\t\t */\n\n\t\tval: function ( val ) {\n\t\t\t// Set.\n\t\t\tif ( val !== undefined ) {\n\t\t\t\treturn this.setValue( val );\n\n\t\t\t\t// Get.\n\t\t\t} else {\n\t\t\t\treturn this.prop( 'disabled' ) ? null : this.getValue();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * getValue\n\t\t *\n\t\t * returns the field's value\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tmixed\n\t\t */\n\n\t\tgetValue: function () {\n\t\t\treturn this.$input().val();\n\t\t},\n\n\t\t/**\n\t\t * setValue\n\t\t *\n\t\t * sets the field's value and returns true if changed\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tmixed val\n\t\t * @return\tboolean. True if changed.\n\t\t */\n\n\t\tsetValue: function ( val ) {\n\t\t\treturn acf.val( this.$input(), val );\n\t\t},\n\n\t\t/**\n\t\t * __\n\t\t *\n\t\t * i18n helper to be removed\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t__: function ( string ) {\n\t\t\treturn acf._e( this.type, string );\n\t\t},\n\n\t\t/**\n\t\t * $control\n\t\t *\n\t\t * returns the control jQuery element used for inheriting data. Uses this.control setting.\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tjQuery\n\t\t */\n\n\t\t$control: function () {\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * $input\n\t\t *\n\t\t * returns the input jQuery element used for saving values. Uses this.input setting.\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tjQuery\n\t\t */\n\n\t\t$input: function () {\n\t\t\treturn this.$( '[name]:first' );\n\t\t},\n\n\t\t/**\n\t\t * $inputWrap\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t12/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t$inputWrap: function () {\n\t\t\treturn this.$( '.acf-input:first' );\n\t\t},\n\n\t\t/**\n\t\t * $inputWrap\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t12/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t$labelWrap: function () {\n\t\t\treturn this.$( '.acf-label:first' );\n\t\t},\n\n\t\t/**\n\t\t * getInputName\n\t\t *\n\t\t * Returns the field's input name\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tstring\n\t\t */\n\n\t\tgetInputName: function () {\n\t\t\treturn this.$input().attr( 'name' ) || '';\n\t\t},\n\n\t\t/**\n\t\t * parent\n\t\t *\n\t\t * returns the field's parent field or false on failure.\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tobject|false\n\t\t */\n\n\t\tparent: function () {\n\t\t\t// vars\n\t\t\tvar parents = this.parents();\n\n\t\t\t// return\n\t\t\treturn parents.length ? parents[ 0 ] : false;\n\t\t},\n\n\t\t/**\n\t\t * parents\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t9/7/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\tparents: function () {\n\t\t\t// vars\n\t\t\tvar $parents = this.$el.parents( '.acf-field' );\n\n\t\t\t// convert\n\t\t\tvar parents = acf.getFields( $parents );\n\n\t\t\t// return\n\t\t\treturn parents;\n\t\t},\n\n\t\tshow: function ( lockKey, context ) {\n\t\t\t// show field and store result\n\t\t\tvar changed = acf.show( this.$el, lockKey );\n\n\t\t\t// do action if visibility has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'hidden', false );\n\t\t\t\tacf.doAction( 'show_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\thide: function ( lockKey, context ) {\n\t\t\t// hide field and store result\n\t\t\tvar changed = acf.hide( this.$el, lockKey );\n\n\t\t\t// do action if visibility has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'hidden', true );\n\t\t\t\tacf.doAction( 'hide_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\tenable: function ( lockKey, context ) {\n\t\t\t// enable field and store result\n\t\t\tvar changed = acf.enable( this.$el, lockKey );\n\n\t\t\t// do action if disabled has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'disabled', false );\n\t\t\t\tacf.doAction( 'enable_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\tdisable: function ( lockKey, context ) {\n\t\t\t// disabled field and store result\n\t\t\tvar changed = acf.disable( this.$el, lockKey );\n\n\t\t\t// do action if disabled has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'disabled', true );\n\t\t\t\tacf.doAction( 'disable_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\tshowEnable: function ( lockKey, context ) {\n\t\t\t// enable\n\t\t\tthis.enable.apply( this, arguments );\n\n\t\t\t// show and return true if changed\n\t\t\treturn this.show.apply( this, arguments );\n\t\t},\n\n\t\thideDisable: function ( lockKey, context ) {\n\t\t\t// disable\n\t\t\tthis.disable.apply( this, arguments );\n\n\t\t\t// hide and return true if changed\n\t\t\treturn this.hide.apply( this, arguments );\n\t\t},\n\n\t\tshowNotice: function ( props ) {\n\t\t\t// ensure object\n\t\t\tif ( typeof props !== 'object' ) {\n\t\t\t\tprops = { text: props };\n\t\t\t}\n\n\t\t\t// remove old notice\n\t\t\tif ( this.notice ) {\n\t\t\t\tthis.notice.remove();\n\t\t\t}\n\n\t\t\t// create new notice\n\t\t\tprops.target = this.$inputWrap();\n\t\t\tthis.notice = acf.newNotice( props );\n\t\t},\n\n\t\tremoveNotice: function ( timeout ) {\n\t\t\tif ( this.notice ) {\n\t\t\t\tthis.notice.away( timeout || 0 );\n\t\t\t\tthis.notice = false;\n\t\t\t}\n\t\t},\n\n\t\tshowError: function ( message ) {\n\t\t\t// add class\n\t\t\tthis.$el.addClass( 'acf-error' );\n\n\t\t\t// add message\n\t\t\tif ( message !== undefined ) {\n\t\t\t\tthis.showNotice( {\n\t\t\t\t\ttext: message,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tdismiss: false,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// action\n\t\t\tacf.doAction( 'invalid_field', this );\n\n\t\t\t// add event\n\t\t\tthis.$el.one(\n\t\t\t\t'focus change',\n\t\t\t\t'input, select, textarea',\n\t\t\t\t$.proxy( this.removeError, this )\n\t\t\t);\n\t\t},\n\n\t\tremoveError: function () {\n\t\t\t// remove class\n\t\t\tthis.$el.removeClass( 'acf-error' );\n\n\t\t\t// remove notice\n\t\t\tthis.removeNotice( 250 );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'valid_field', this );\n\t\t},\n\n\t\ttrigger: function ( name, args, bubbles ) {\n\t\t\t// allow some events to bubble\n\t\t\tif ( name == 'invalidField' ) {\n\t\t\t\tbubbles = true;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn acf.Model.prototype.trigger.apply( this, [\n\t\t\t\tname,\n\t\t\t\targs,\n\t\t\t\tbubbles,\n\t\t\t] );\n\t\t},\n\t} );\n\n\t/**\n\t * newField\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newField = function ( $field ) {\n\t\t// vars\n\t\tvar type = $field.data( 'type' );\n\t\tvar mid = modelId( type );\n\t\tvar model = acf.models[ mid ] || acf.Field;\n\n\t\t// instantiate\n\t\tvar field = new model( $field );\n\n\t\t// actions\n\t\tacf.doAction( 'new_field', field );\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * mid\n\t *\n\t * Calculates the model ID for a field type\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring type\n\t * @return\tstring\n\t */\n\n\tvar modelId = function ( type ) {\n\t\treturn acf.strPascalCase( type || '' ) + 'Field';\n\t};\n\n\t/**\n\t * registerFieldType\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.registerFieldType = function ( model ) {\n\t\t// vars\n\t\tvar proto = model.prototype;\n\t\tvar type = proto.type;\n\t\tvar mid = modelId( type );\n\n\t\t// store model\n\t\tacf.models[ mid ] = model;\n\n\t\t// store reference\n\t\tstorage.push( type );\n\t};\n\n\t/**\n\t * acf.getFieldType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getFieldType = function ( type ) {\n\t\tvar mid = modelId( type );\n\t\treturn acf.models[ mid ] || false;\n\t};\n\n\t/**\n\t * acf.getFieldTypes\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getFieldTypes = function ( args ) {\n\t\t// defaults\n\t\targs = acf.parseArgs( args, {\n\t\t\tcategory: '',\n\t\t\t// hasValue: true\n\t\t} );\n\n\t\t// clonse available types\n\t\tvar types = [];\n\n\t\t// loop\n\t\tstorage.map( function ( type ) {\n\t\t\t// vars\n\t\t\tvar model = acf.getFieldType( type );\n\t\t\tvar proto = model.prototype;\n\n\t\t\t// check operator\n\t\t\tif ( args.category && proto.category !== args.category ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// append\n\t\t\ttypes.push( model );\n\t\t} );\n\n\t\t// return\n\t\treturn types;\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * findFields\n\t *\n\t * Returns a jQuery selection object of acf fields.\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tobject $args {\n\t *\t\tOptional. Arguments to find fields.\n\t *\n\t *\t\t@type string\t\t\tkey\t\t\tThe field's key (data-attribute).\n\t *\t\t@type string\t\t\tname\t\tThe field's name (data-attribute).\n\t *\t\t@type string\t\t\ttype\t\tThe field's type (data-attribute).\n\t *\t\t@type string\t\t\tis\t\t\tjQuery selector to compare against.\n\t *\t\t@type jQuery\t\t\tparent\t\tjQuery element to search within.\n\t *\t\t@type jQuery\t\t\tsibling\t\tjQuery element to search alongside.\n\t *\t\t@type limit\t\t\t\tint\t\t\tThe number of fields to find.\n\t *\t\t@type suppressFilters\tbool\t\tWhether to allow filters to add/remove results. Default behaviour will ignore clone fields.\n\t * }\n\t * @return\tjQuery\n\t */\n\n\tacf.findFields = function ( args ) {\n\t\t// vars\n\t\tvar selector = '.acf-field';\n\t\tvar $fields = false;\n\n\t\t// args\n\t\targs = acf.parseArgs( args, {\n\t\t\tkey: '',\n\t\t\tname: '',\n\t\t\ttype: '',\n\t\t\tis: '',\n\t\t\tparent: false,\n\t\t\tsibling: false,\n\t\t\tlimit: false,\n\t\t\tvisible: false,\n\t\t\tsuppressFilters: false,\n\t\t} );\n\n\t\t// filter args\n\t\tif ( ! args.suppressFilters ) {\n\t\t\targs = acf.applyFilters( 'find_fields_args', args );\n\t\t}\n\n\t\t// key\n\t\tif ( args.key ) {\n\t\t\tselector += '[data-key=\"' + args.key + '\"]';\n\t\t}\n\n\t\t// type\n\t\tif ( args.type ) {\n\t\t\tselector += '[data-type=\"' + args.type + '\"]';\n\t\t}\n\n\t\t// name\n\t\tif ( args.name ) {\n\t\t\tselector += '[data-name=\"' + args.name + '\"]';\n\t\t}\n\n\t\t// is\n\t\tif ( args.is ) {\n\t\t\tselector += args.is;\n\t\t}\n\n\t\t// visibility\n\t\tif ( args.visible ) {\n\t\t\tselector += ':visible';\n\t\t}\n\n\t\t// query\n\t\tif ( args.parent ) {\n\t\t\t$fields = args.parent.find( selector );\n\t\t} else if ( args.sibling ) {\n\t\t\t$fields = args.sibling.siblings( selector );\n\t\t} else {\n\t\t\t$fields = $( selector );\n\t\t}\n\n\t\t// filter\n\t\tif ( ! args.suppressFilters ) {\n\t\t\t$fields = $fields.not( '.acf-clone .acf-field' );\n\t\t\t$fields = acf.applyFilters( 'find_fields', $fields );\n\t\t}\n\n\t\t// limit\n\t\tif ( args.limit ) {\n\t\t\t$fields = $fields.slice( 0, args.limit );\n\t\t}\n\n\t\t// return\n\t\treturn $fields;\n\t};\n\n\t/**\n\t * findField\n\t *\n\t * Finds a specific field with jQuery\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring key \t\tThe field's key.\n\t * @param\tjQuery $parent\tjQuery element to search within.\n\t * @return\tjQuery\n\t */\n\n\tacf.findField = function ( key, $parent ) {\n\t\treturn acf.findFields( {\n\t\t\tkey: key,\n\t\t\tlimit: 1,\n\t\t\tparent: $parent,\n\t\t\tsuppressFilters: true,\n\t\t} );\n\t};\n\n\t/**\n\t * getField\n\t *\n\t * Returns a field instance\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tjQuery|string $field\tjQuery element or field key.\n\t * @return\tobject\n\t */\n\n\tacf.getField = function ( $field ) {\n\t\t// allow jQuery\n\t\tif ( $field instanceof jQuery ) {\n\t\t\t// find fields\n\t\t} else {\n\t\t\t$field = acf.findField( $field );\n\t\t}\n\n\t\t// instantiate\n\t\tvar field = $field.data( 'acf' );\n\t\tif ( ! field ) {\n\t\t\tfield = acf.newField( $field );\n\t\t}\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * getFields\n\t *\n\t * Returns multiple field instances\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tjQuery|object $fields\tjQuery elements or query args.\n\t * @return\tarray\n\t */\n\n\tacf.getFields = function ( $fields ) {\n\t\t// allow jQuery\n\t\tif ( $fields instanceof jQuery ) {\n\t\t\t// find fields\n\t\t} else {\n\t\t\t$fields = acf.findFields( $fields );\n\t\t}\n\n\t\t// loop\n\t\tvar fields = [];\n\t\t$fields.each( function () {\n\t\t\tvar field = acf.getField( $( this ) );\n\t\t\tfields.push( field );\n\t\t} );\n\n\t\t// return\n\t\treturn fields;\n\t};\n\n\t/**\n\t * findClosestField\n\t *\n\t * Returns the closest jQuery field element\n\t *\n\t * @date\t9/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tjQuery $el\n\t * @return\tjQuery\n\t */\n\n\tacf.findClosestField = function ( $el ) {\n\t\treturn $el.closest( '.acf-field' );\n\t};\n\n\t/**\n\t * getClosestField\n\t *\n\t * Returns the closest field instance\n\t *\n\t * @date\t22/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tjQuery $el\n\t * @return\tobject\n\t */\n\n\tacf.getClosestField = function ( $el ) {\n\t\tvar $field = acf.findClosestField( $el );\n\t\treturn this.getField( $field );\n\t};\n\n\t/**\n\t * addGlobalFieldAction\n\t *\n\t * Sets up callback logic for global field actions\n\t *\n\t * @date\t15/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tstring action\n\t * @return\tvoid\n\t */\n\n\tvar addGlobalFieldAction = function ( action ) {\n\t\t// vars\n\t\tvar globalAction = action;\n\t\tvar pluralAction = action + '_fields'; // ready_fields\n\t\tvar singleAction = action + '_field'; // ready_field\n\n\t\t// global action\n\t\tvar globalCallback = function ( $el /*, arg1, arg2, etc*/ ) {\n\t\t\t//console.log( action, arguments );\n\n\t\t\t// get args [$el, ...]\n\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\tvar extraArgs = args.slice( 1 );\n\n\t\t\t// find fields\n\t\t\tvar fields = acf.getFields( { parent: $el } );\n\n\t\t\t// check\n\t\t\tif ( fields.length ) {\n\t\t\t\t// pluralAction\n\t\t\t\tvar pluralArgs = [ pluralAction, fields ].concat( extraArgs );\n\t\t\t\tacf.doAction.apply( null, pluralArgs );\n\t\t\t}\n\t\t};\n\n\t\t// plural action\n\t\tvar pluralCallback = function ( fields /*, arg1, arg2, etc*/ ) {\n\t\t\t//console.log( pluralAction, arguments );\n\n\t\t\t// get args [fields, ...]\n\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\tvar extraArgs = args.slice( 1 );\n\n\t\t\t// loop\n\t\t\tfields.map( function ( field, i ) {\n\t\t\t\t//setTimeout(function(){\n\t\t\t\t// singleAction\n\t\t\t\tvar singleArgs = [ singleAction, field ].concat( extraArgs );\n\t\t\t\tacf.doAction.apply( null, singleArgs );\n\t\t\t\t//}, i * 100);\n\t\t\t} );\n\t\t};\n\n\t\t// add actions\n\t\tacf.addAction( globalAction, globalCallback );\n\t\tacf.addAction( pluralAction, pluralCallback );\n\n\t\t// also add single action\n\t\taddSingleFieldAction( action );\n\t};\n\n\t/**\n\t * addSingleFieldAction\n\t *\n\t * Sets up callback logic for single field actions\n\t *\n\t * @date\t15/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tstring action\n\t * @return\tvoid\n\t */\n\n\tvar addSingleFieldAction = function ( action ) {\n\t\t// vars\n\t\tvar singleAction = action + '_field'; // ready_field\n\t\tvar singleEvent = action + 'Field'; // readyField\n\n\t\t// single action\n\t\tvar singleCallback = function ( field /*, arg1, arg2, etc*/ ) {\n\t\t\t//console.log( singleAction, arguments );\n\n\t\t\t// get args [field, ...]\n\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\tvar extraArgs = args.slice( 1 );\n\n\t\t\t// action variations (ready_field/type=image)\n\t\t\tvar variations = [ 'type', 'name', 'key' ];\n\t\t\tvariations.map( function ( variation ) {\n\t\t\t\t// vars\n\t\t\t\tvar prefix = '/' + variation + '=' + field.get( variation );\n\n\t\t\t\t// singleAction\n\t\t\t\targs = [ singleAction + prefix, field ].concat( extraArgs );\n\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t} );\n\n\t\t\t// event\n\t\t\tif ( singleFieldEvents.indexOf( action ) > -1 ) {\n\t\t\t\tfield.trigger( singleEvent, extraArgs );\n\t\t\t}\n\t\t};\n\n\t\t// add actions\n\t\tacf.addAction( singleAction, singleCallback );\n\t};\n\n\t// vars\n\tvar globalFieldActions = [\n\t\t'prepare',\n\t\t'ready',\n\t\t'load',\n\t\t'append',\n\t\t'remove',\n\t\t'unmount',\n\t\t'remount',\n\t\t'sortstart',\n\t\t'sortstop',\n\t\t'show',\n\t\t'hide',\n\t\t'unload',\n\t];\n\tvar singleFieldActions = [\n\t\t'valid',\n\t\t'invalid',\n\t\t'enable',\n\t\t'disable',\n\t\t'new',\n\t\t'duplicate',\n\t];\n\tvar singleFieldEvents = [\n\t\t'remove',\n\t\t'unmount',\n\t\t'remount',\n\t\t'sortstart',\n\t\t'sortstop',\n\t\t'show',\n\t\t'hide',\n\t\t'unload',\n\t\t'valid',\n\t\t'invalid',\n\t\t'enable',\n\t\t'disable',\n\t\t'duplicate',\n\t];\n\n\t// add\n\tglobalFieldActions.map( addGlobalFieldAction );\n\tsingleFieldActions.map( addSingleFieldAction );\n\n\t/**\n\t * fieldsEventManager\n\t *\n\t * Manages field actions and events\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @param\tvoid\n\t */\n\n\tvar fieldsEventManager = new acf.Model( {\n\t\tid: 'fieldsEventManager',\n\t\tevents: {\n\t\t\t'click .acf-field a[href=\"#\"]': 'onClick',\n\t\t\t'change .acf-field': 'onChange',\n\t\t},\n\t\tonClick: function ( e ) {\n\t\t\t// prevent default of any link with an href of #\n\t\t\te.preventDefault();\n\t\t},\n\t\tonChange: function () {\n\t\t\t// preview hack allows post to save with no title or content\n\t\t\t$( '#_acf_changed' ).val( 1 );\n\t\t},\n\t} );\n\n\tvar duplicateFieldsManager = new acf.Model( {\n\t\tid: 'duplicateFieldsManager',\n\t\tactions: {\n\t\t\tduplicate: 'onDuplicate',\n\t\t\tduplicate_fields: 'onDuplicateFields',\n\t\t},\n\t\tonDuplicate: function ( $el, $el2 ) {\n\t\t\tvar fields = acf.getFields( { parent: $el } );\n\t\t\tif ( fields.length ) {\n\t\t\t\tvar $fields = acf.findFields( { parent: $el2 } );\n\t\t\t\tacf.doAction( 'duplicate_fields', fields, $fields );\n\t\t\t}\n\t\t},\n\t\tonDuplicateFields: function ( fields, duplicates ) {\n\t\t\tfields.map( function ( field, i ) {\n\t\t\t\tacf.doAction( 'duplicate_field', field, $( duplicates[ i ] ) );\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * refreshHelper\n\t *\n\t * description\n\t *\n\t * @date\t1/7/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar refreshHelper = new acf.Model( {\n\t\tpriority: 90,\n\t\tactions: {\n\t\t\tnew_field: 'refresh',\n\t\t\tshow_field: 'refresh',\n\t\t\thide_field: 'refresh',\n\t\t\tremove_field: 'refresh',\n\t\t\tunmount_field: 'refresh',\n\t\t\tremount_field: 'refresh',\n\t\t},\n\t\trefresh: function () {\n\t\t\tacf.refresh();\n\t\t},\n\t} );\n\n\t/**\n\t * mountHelper\n\t *\n\t * Adds compatiblity for the 'unmount' and 'remount' actions added in 5.8.0\n\t *\n\t * @date\t7/3/19\n\t * @since\t5.7.14\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar mountHelper = new acf.Model( {\n\t\tpriority: 1,\n\t\tactions: {\n\t\t\tsortstart: 'onSortstart',\n\t\t\tsortstop: 'onSortstop',\n\t\t},\n\t\tonSortstart: function ( $item ) {\n\t\t\tacf.doAction( 'unmount', $item );\n\t\t},\n\t\tonSortstop: function ( $item ) {\n\t\t\tacf.doAction( 'remount', $item );\n\t\t},\n\t} );\n\n\t/**\n\t * sortableHelper\n\t *\n\t * Adds compatibility for sorting a
                    element\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar sortableHelper = new acf.Model( {\n\t\tactions: {\n\t\t\tsortstart: 'onSortstart',\n\t\t},\n\t\tonSortstart: function ( $item, $placeholder ) {\n\t\t\t// if $item is a tr, apply some css to the elements\n\t\t\tif ( $item.is( 'tr' ) ) {\n\t\t\t\t// replace $placeholder children with a single td\n\t\t\t\t// fixes \"width calculation issues\" due to conditional logic hiding some children\n\t\t\t\t$placeholder.html(\n\t\t\t\t\t''\n\t\t\t\t);\n\n\t\t\t\t// add helper class to remove absolute positioning\n\t\t\t\t$item.addClass( 'acf-sortable-tr-helper' );\n\n\t\t\t\t// set fixed widths for children\n\t\t\t\t$item.children().each( function () {\n\t\t\t\t\t$( this ).width( $( this ).width() );\n\t\t\t\t} );\n\n\t\t\t\t// mimic height\n\t\t\t\t$placeholder.height( $item.height() + 'px' );\n\n\t\t\t\t// remove class\n\t\t\t\t$item.removeClass( 'acf-sortable-tr-helper' );\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * duplicateHelper\n\t *\n\t * Fixes browser bugs when duplicating an element\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar duplicateHelper = new acf.Model( {\n\t\tactions: {\n\t\t\tafter_duplicate: 'onAfterDuplicate',\n\t\t},\n\t\tonAfterDuplicate: function ( $el, $el2 ) {\n\t\t\t// get original values\n\t\t\tvar vals = [];\n\t\t\t$el.find( 'select' ).each( function ( i ) {\n\t\t\t\tvals.push( $( this ).val() );\n\t\t\t} );\n\n\t\t\t// set duplicate values\n\t\t\t$el2.find( 'select' ).each( function ( i ) {\n\t\t\t\t$( this ).val( vals[ i ] );\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * tableHelper\n\t *\n\t * description\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar tableHelper = new acf.Model( {\n\t\tid: 'tableHelper',\n\n\t\tpriority: 20,\n\n\t\tactions: {\n\t\t\trefresh: 'renderTables',\n\t\t},\n\n\t\trenderTables: function ( $el ) {\n\t\t\t// loop\n\t\t\tvar self = this;\n\t\t\t$( '.acf-table:visible' ).each( function () {\n\t\t\t\tself.renderTable( $( this ) );\n\t\t\t} );\n\t\t},\n\n\t\trenderTable: function ( $table ) {\n\t\t\t// vars\n\t\t\tvar $ths = $table.find( '> thead > tr:visible > th[data-key]' );\n\t\t\tvar $tds = $table.find( '> tbody > tr:visible > td[data-key]' );\n\n\t\t\t// bail early if no thead\n\t\t\tif ( ! $ths.length || ! $tds.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// visiblity\n\t\t\t$ths.each( function ( i ) {\n\t\t\t\t// vars\n\t\t\t\tvar $th = $( this );\n\t\t\t\tvar key = $th.data( 'key' );\n\t\t\t\tvar $cells = $tds.filter( '[data-key=\"' + key + '\"]' );\n\t\t\t\tvar $hidden = $cells.filter( '.acf-hidden' );\n\n\t\t\t\t// always remove empty and allow cells to be hidden\n\t\t\t\t$cells.removeClass( 'acf-empty' );\n\n\t\t\t\t// hide $th if all cells are hidden\n\t\t\t\tif ( $cells.length === $hidden.length ) {\n\t\t\t\t\tacf.hide( $th );\n\n\t\t\t\t\t// force all hidden cells to appear empty\n\t\t\t\t} else {\n\t\t\t\t\tacf.show( $th );\n\t\t\t\t\t$hidden.addClass( 'acf-empty' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// clear width\n\t\t\t$ths.css( 'width', 'auto' );\n\n\t\t\t// get visible\n\t\t\t$ths = $ths.not( '.acf-hidden' );\n\n\t\t\t// vars\n\t\t\tvar availableWidth = 100;\n\t\t\tvar colspan = $ths.length;\n\n\t\t\t// set custom widths first\n\t\t\tvar $fixedWidths = $ths.filter( '[data-width]' );\n\t\t\t$fixedWidths.each( function () {\n\t\t\t\tvar width = $( this ).data( 'width' );\n\t\t\t\t$( this ).css( 'width', width + '%' );\n\t\t\t\tavailableWidth -= width;\n\t\t\t} );\n\n\t\t\t// set auto widths\n\t\t\tvar $auoWidths = $ths.not( '[data-width]' );\n\t\t\tif ( $auoWidths.length ) {\n\t\t\t\tvar width = availableWidth / $auoWidths.length;\n\t\t\t\t$auoWidths.css( 'width', width + '%' );\n\t\t\t\tavailableWidth = 0;\n\t\t\t}\n\n\t\t\t// avoid stretching issue\n\t\t\tif ( availableWidth > 0 ) {\n\t\t\t\t$ths.last().css( 'width', 'auto' );\n\t\t\t}\n\n\t\t\t// update colspan on collapsed\n\t\t\t$tds.filter( '.-collapsed-target' ).each( function () {\n\t\t\t\t// vars\n\t\t\t\tvar $td = $( this );\n\n\t\t\t\t// check if collapsed\n\t\t\t\tif ( $td.parent().hasClass( '-collapsed' ) ) {\n\t\t\t\t\t$td.attr( 'colspan', $ths.length );\n\t\t\t\t} else {\n\t\t\t\t\t$td.removeAttr( 'colspan' );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * fieldsHelper\n\t *\n\t * description\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar fieldsHelper = new acf.Model( {\n\t\tid: 'fieldsHelper',\n\n\t\tpriority: 30,\n\n\t\tactions: {\n\t\t\trefresh: 'renderGroups',\n\t\t},\n\n\t\trenderGroups: function () {\n\t\t\t// loop\n\t\t\tvar self = this;\n\t\t\t$( '.acf-fields:visible' ).each( function () {\n\t\t\t\tself.renderGroup( $( this ) );\n\t\t\t} );\n\t\t},\n\n\t\trenderGroup: function ( $el ) {\n\t\t\t// vars\n\t\t\tvar top = 0;\n\t\t\tvar height = 0;\n\t\t\tvar $row = $();\n\n\t\t\t// get fields\n\t\t\tvar $fields = $el.children( '.acf-field[data-width]:visible' );\n\n\t\t\t// bail early if no fields\n\t\t\tif ( ! $fields.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail ealry if is .-left\n\t\t\tif ( $el.hasClass( '-left' ) ) {\n\t\t\t\t$fields.removeAttr( 'data-width' );\n\t\t\t\t$fields.css( 'width', 'auto' );\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// reset fields\n\t\t\t$fields.removeClass( '-r0 -c0' ).css( { 'min-height': 0 } );\n\n\t\t\t// loop\n\t\t\t$fields.each( function ( i ) {\n\t\t\t\t// vars\n\t\t\t\tvar $field = $( this );\n\t\t\t\tvar position = $field.position();\n\t\t\t\tvar thisTop = Math.ceil( position.top );\n\t\t\t\tvar thisLeft = Math.ceil( position.left );\n\n\t\t\t\t// detect change in row\n\t\t\t\tif ( $row.length && thisTop > top ) {\n\t\t\t\t\t// set previous heights\n\t\t\t\t\t$row.css( { 'min-height': height + 'px' } );\n\n\t\t\t\t\t// update position due to change in row above\n\t\t\t\t\tposition = $field.position();\n\t\t\t\t\tthisTop = Math.ceil( position.top );\n\t\t\t\t\tthisLeft = Math.ceil( position.left );\n\n\t\t\t\t\t// reset vars\n\t\t\t\t\ttop = 0;\n\t\t\t\t\theight = 0;\n\t\t\t\t\t$row = $();\n\t\t\t\t}\n\n\t\t\t\t// rtl\n\t\t\t\tif ( acf.get( 'rtl' ) ) {\n\t\t\t\t\tthisLeft = Math.ceil(\n\t\t\t\t\t\t$field.parent().width() -\n\t\t\t\t\t\t\t( position.left + $field.outerWidth() )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// add classes\n\t\t\t\tif ( thisTop == 0 ) {\n\t\t\t\t\t$field.addClass( '-r0' );\n\t\t\t\t} else if ( thisLeft == 0 ) {\n\t\t\t\t\t$field.addClass( '-c0' );\n\t\t\t\t}\n\n\t\t\t\t// get height after class change\n\t\t\t\t// - add 1 for subpixel rendering\n\t\t\t\tvar thisHeight = Math.ceil( $field.outerHeight() ) + 1;\n\n\t\t\t\t// set height\n\t\t\t\theight = Math.max( height, thisHeight );\n\n\t\t\t\t// set y\n\t\t\t\ttop = Math.max( top, thisTop );\n\n\t\t\t\t// append\n\t\t\t\t$row = $row.add( $field );\n\t\t\t} );\n\n\t\t\t// clean up\n\t\t\tif ( $row.length ) {\n\t\t\t\t$row.css( { 'min-height': height + 'px' } );\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * Adds a body class when holding down the \"shift\" key.\n\t *\n\t * @date\t06/05/2020\n\t * @since\t5.9.0\n\t */\n\tvar bodyClassShiftHelper = new acf.Model( {\n\t\tid: 'bodyClassShiftHelper',\n\t\tevents: {\n\t\t\tkeydown: 'onKeyDown',\n\t\t\tkeyup: 'onKeyUp',\n\t\t},\n\t\tisShiftKey: function ( e ) {\n\t\t\treturn e.keyCode === 16;\n\t\t},\n\t\tonKeyDown: function ( e ) {\n\t\t\tif ( this.isShiftKey( e ) ) {\n\t\t\t\t$( 'body' ).addClass( 'acf-keydown-shift' );\n\t\t\t}\n\t\t},\n\t\tonKeyUp: function ( e ) {\n\t\t\tif ( this.isShiftKey( e ) ) {\n\t\t\t\t$( 'body' ).removeClass( 'acf-keydown-shift' );\n\t\t\t}\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * acf.newMediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newMediaPopup = function ( args ) {\n\t\t// args\n\t\tvar popup = null;\n\t\tvar args = acf.parseArgs( args, {\n\t\t\tmode: 'select', // 'select', 'edit'\n\t\t\ttitle: '', // 'Upload Image'\n\t\t\tbutton: '', // 'Select Image'\n\t\t\ttype: '', // 'image', ''\n\t\t\tfield: false, // field instance\n\t\t\tallowedTypes: '', // '.jpg, .png, etc'\n\t\t\tlibrary: 'all', // 'all', 'uploadedTo'\n\t\t\tmultiple: false, // false, true, 'add'\n\t\t\tattachment: 0, // the attachment to edit\n\t\t\tautoOpen: true, // open the popup automatically\n\t\t\topen: function () {}, // callback after close\n\t\t\tselect: function () {}, // callback after select\n\t\t\tclose: function () {}, // callback after close\n\t\t} );\n\n\t\t// initialize\n\t\tif ( args.mode == 'edit' ) {\n\t\t\tpopup = new acf.models.EditMediaPopup( args );\n\t\t} else {\n\t\t\tpopup = new acf.models.SelectMediaPopup( args );\n\t\t}\n\n\t\t// open popup (allow frame customization before opening)\n\t\tif ( args.autoOpen ) {\n\t\t\tsetTimeout( function () {\n\t\t\t\tpopup.open();\n\t\t\t}, 1 );\n\t\t}\n\n\t\t// action\n\t\tacf.doAction( 'new_media_popup', popup );\n\n\t\t// return\n\t\treturn popup;\n\t};\n\n\t/**\n\t * getPostID\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar getPostID = function () {\n\t\tvar postID = acf.get( 'post_id' );\n\t\treturn acf.isNumeric( postID ) ? postID : 0;\n\t};\n\n\t/**\n\t * acf.getMimeTypes\n\t *\n\t * description\n\t *\n\t * @date\t11/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getMimeTypes = function () {\n\t\treturn this.get( 'mimeTypes' );\n\t};\n\n\tacf.getMimeType = function ( name ) {\n\t\t// vars\n\t\tvar allTypes = acf.getMimeTypes();\n\n\t\t// search\n\t\tif ( allTypes[ name ] !== undefined ) {\n\t\t\treturn allTypes[ name ];\n\t\t}\n\n\t\t// some types contain a mixed key such as \"jpg|jpeg|jpe\"\n\t\tfor ( var key in allTypes ) {\n\t\t\tif ( key.indexOf( name ) !== -1 ) {\n\t\t\t\treturn allTypes[ key ];\n\t\t\t}\n\t\t}\n\n\t\t// return\n\t\treturn false;\n\t};\n\n\t/**\n\t * MediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar MediaPopup = acf.Model.extend( {\n\t\tid: 'MediaPopup',\n\t\tdata: {},\n\t\tdefaults: {},\n\t\tframe: false,\n\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar options = this.getFrameOptions();\n\n\t\t\t// add states\n\t\t\tthis.addFrameStates( options );\n\n\t\t\t// create frame\n\t\t\tvar frame = wp.media( options );\n\n\t\t\t// add args reference\n\t\t\tframe.acf = this;\n\n\t\t\t// add events\n\t\t\tthis.addFrameEvents( frame, options );\n\n\t\t\t// strore frame\n\t\t\tthis.frame = frame;\n\t\t},\n\n\t\topen: function () {\n\t\t\tthis.frame.open();\n\t\t},\n\n\t\tclose: function () {\n\t\t\tthis.frame.close();\n\t\t},\n\n\t\tremove: function () {\n\t\t\tthis.frame.detach();\n\t\t\tthis.frame.remove();\n\t\t},\n\n\t\tgetFrameOptions: function () {\n\t\t\t// vars\n\t\t\tvar options = {\n\t\t\t\ttitle: this.get( 'title' ),\n\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\tlibrary: {},\n\t\t\t\tstates: [],\n\t\t\t};\n\n\t\t\t// type\n\t\t\tif ( this.get( 'type' ) ) {\n\t\t\t\toptions.library.type = this.get( 'type' );\n\t\t\t}\n\n\t\t\t// type\n\t\t\tif ( this.get( 'library' ) === 'uploadedTo' ) {\n\t\t\t\toptions.library.uploadedTo = getPostID();\n\t\t\t}\n\n\t\t\t// attachment\n\t\t\tif ( this.get( 'attachment' ) ) {\n\t\t\t\toptions.library.post__in = [ this.get( 'attachment' ) ];\n\t\t\t}\n\n\t\t\t// button\n\t\t\tif ( this.get( 'button' ) ) {\n\t\t\t\toptions.button = {\n\t\t\t\t\ttext: this.get( 'button' ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn options;\n\t\t},\n\n\t\taddFrameStates: function ( options ) {\n\t\t\t// create query\n\t\t\tvar Query = wp.media.query( options.library );\n\n\t\t\t// add _acfuploader\n\t\t\t// this is super wack!\n\t\t\t// if you add _acfuploader to the options.library args, new uploads will not be added to the library view.\n\t\t\t// this has been traced back to the wp.media.model.Query initialize function (which can't be overriden)\n\t\t\t// Adding any custom args will cause the Attahcments to not observe the uploader queue\n\t\t\t// To bypass this security issue, we add in the args AFTER the Query has been initialized\n\t\t\t// options.library._acfuploader = settings.field;\n\t\t\tif (\n\t\t\t\tthis.get( 'field' ) &&\n\t\t\t\tacf.isset( Query, 'mirroring', 'args' )\n\t\t\t) {\n\t\t\t\tQuery.mirroring.args._acfuploader = this.get( 'field' );\n\t\t\t}\n\n\t\t\t// add states\n\t\t\toptions.states.push(\n\t\t\t\t// main state\n\t\t\t\tnew wp.media.controller.Library( {\n\t\t\t\t\tlibrary: Query,\n\t\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\t\ttitle: this.get( 'title' ),\n\t\t\t\t\tpriority: 20,\n\t\t\t\t\tfilterable: 'all',\n\t\t\t\t\teditable: true,\n\t\t\t\t\tallowLocalEdits: true,\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\t// edit image functionality (added in WP 3.9)\n\t\t\tif ( acf.isset( wp, 'media', 'controller', 'EditImage' ) ) {\n\t\t\t\toptions.states.push( new wp.media.controller.EditImage() );\n\t\t\t}\n\t\t},\n\n\t\taddFrameEvents: function ( frame, options ) {\n\t\t\t// log all events\n\t\t\t//frame.on('all', function( e ) {\n\t\t\t//\tconsole.log( 'frame all: %o', e );\n\t\t\t//});\n\n\t\t\t// add class\n\t\t\tframe.on(\n\t\t\t\t'open',\n\t\t\t\tfunction () {\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.closest( '.media-modal' )\n\t\t\t\t\t\t.addClass(\n\t\t\t\t\t\t\t'acf-media-modal -' + this.acf.get( 'mode' )\n\t\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tframe\n\t\t\t);\n\n\t\t\t// edit image view\n\t\t\t// source: media-views.js:2410 editImageContent()\n\t\t\tframe.on(\n\t\t\t\t'content:render:edit-image',\n\t\t\t\tfunction () {\n\t\t\t\t\tvar image = this.state().get( 'image' );\n\t\t\t\t\tvar view = new wp.media.view.EditImage( {\n\t\t\t\t\t\tmodel: image,\n\t\t\t\t\t\tcontroller: this,\n\t\t\t\t\t} ).render();\n\t\t\t\t\tthis.content.set( view );\n\n\t\t\t\t\t// after creating the wrapper view, load the actual editor via an ajax call\n\t\t\t\t\tview.loadEditor();\n\t\t\t\t},\n\t\t\t\tframe\n\t\t\t);\n\n\t\t\t// update toolbar button\n\t\t\t//frame.on( 'toolbar:create:select', function( toolbar ) {\n\t\t\t//\ttoolbar.view = new wp.media.view.Toolbar.Select({\n\t\t\t//\t\ttext: frame.options._button,\n\t\t\t//\t\tcontroller: this\n\t\t\t//\t});\n\t\t\t//}, frame );\n\n\t\t\t// on select\n\t\t\tframe.on( 'select', function () {\n\t\t\t\t// vars\n\t\t\t\tvar selection = frame.state().get( 'selection' );\n\n\t\t\t\t// if selecting images\n\t\t\t\tif ( selection ) {\n\t\t\t\t\t// loop\n\t\t\t\t\tselection.each( function ( attachment, i ) {\n\t\t\t\t\t\tframe.acf\n\t\t\t\t\t\t\t.get( 'select' )\n\t\t\t\t\t\t\t.apply( frame.acf, [ attachment, i ] );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// on close\n\t\t\tframe.on( 'close', function () {\n\t\t\t\t// callback and remove\n\t\t\t\tsetTimeout( function () {\n\t\t\t\t\tframe.acf.get( 'close' ).apply( frame.acf );\n\t\t\t\t\tframe.acf.remove();\n\t\t\t\t}, 1 );\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * acf.models.SelectMediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.models.SelectMediaPopup = MediaPopup.extend( {\n\t\tid: 'SelectMediaPopup',\n\t\tsetup: function ( props ) {\n\t\t\t// default button\n\t\t\tif ( ! props.button ) {\n\t\t\t\tprops.button = acf._x( 'Select', 'verb' );\n\t\t\t}\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.setup.apply( this, arguments );\n\t\t},\n\n\t\taddFrameEvents: function ( frame, options ) {\n\t\t\t// plupload\n\t\t\t// adds _acfuploader param to validate uploads\n\t\t\tif (\n\t\t\t\tacf.isset( _wpPluploadSettings, 'defaults', 'multipart_params' )\n\t\t\t) {\n\t\t\t\t// add _acfuploader so that Uploader will inherit\n\t\t\t\t_wpPluploadSettings.defaults.multipart_params._acfuploader = this.get(\n\t\t\t\t\t'field'\n\t\t\t\t);\n\n\t\t\t\t// remove acf_field so future Uploaders won't inherit\n\t\t\t\tframe.on( 'open', function () {\n\t\t\t\t\tdelete _wpPluploadSettings\n\t\t\t\t\t\t.defaults.multipart_params._acfuploader;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// browse\n\t\t\tframe.on( 'content:activate:browse', function () {\n\t\t\t\t// vars\n\t\t\t\tvar toolbar = false;\n\n\t\t\t\t// populate above vars making sure to allow for failure\n\t\t\t\t// perhaps toolbar does not exist because the frame open is Upload Files\n\t\t\t\ttry {\n\t\t\t\t\ttoolbar = frame.content.get().toolbar;\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\tconsole.log( e );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// callback\n\t\t\t\tframe.acf.customizeFilters.apply( frame.acf, [ toolbar ] );\n\t\t\t} );\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.addFrameEvents.apply( this, arguments );\n\t\t},\n\n\t\tcustomizeFilters: function ( toolbar ) {\n\t\t\t// vars\n\t\t\tvar filters = toolbar.get( 'filters' );\n\n\t\t\t// image\n\t\t\tif ( this.get( 'type' ) == 'image' ) {\n\t\t\t\t// update all\n\t\t\t\tfilters.filters.all.text = acf.__( 'All images' );\n\n\t\t\t\t// remove some filters\n\t\t\t\tdelete filters.filters.audio;\n\t\t\t\tdelete filters.filters.video;\n\t\t\t\tdelete filters.filters.image;\n\n\t\t\t\t// update all filters to show images\n\t\t\t\t$.each( filters.filters, function ( i, filter ) {\n\t\t\t\t\tfilter.props.type = filter.props.type || 'image';\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// specific types\n\t\t\tif ( this.get( 'allowedTypes' ) ) {\n\t\t\t\t// convert \".jpg, .png\" into [\"jpg\", \"png\"]\n\t\t\t\tvar allowedTypes = this.get( 'allowedTypes' )\n\t\t\t\t\t.split( ' ' )\n\t\t\t\t\t.join( '' )\n\t\t\t\t\t.split( '.' )\n\t\t\t\t\t.join( '' )\n\t\t\t\t\t.split( ',' );\n\n\t\t\t\t// loop\n\t\t\t\tallowedTypes.map( function ( name ) {\n\t\t\t\t\t// get type\n\t\t\t\t\tvar mimeType = acf.getMimeType( name );\n\n\t\t\t\t\t// bail early if no type\n\t\t\t\t\tif ( ! mimeType ) return;\n\n\t\t\t\t\t// create new filter\n\t\t\t\t\tvar newFilter = {\n\t\t\t\t\t\ttext: mimeType,\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tstatus: null,\n\t\t\t\t\t\t\ttype: mimeType,\n\t\t\t\t\t\t\tuploadedTo: null,\n\t\t\t\t\t\t\torderby: 'date',\n\t\t\t\t\t\t\torder: 'DESC',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpriority: 20,\n\t\t\t\t\t};\n\n\t\t\t\t\t// append\n\t\t\t\t\tfilters.filters[ mimeType ] = newFilter;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// uploaded to post\n\t\t\tif ( this.get( 'library' ) === 'uploadedTo' ) {\n\t\t\t\t// vars\n\t\t\t\tvar uploadedTo = this.frame.options.library.uploadedTo;\n\n\t\t\t\t// remove some filters\n\t\t\t\tdelete filters.filters.unattached;\n\t\t\t\tdelete filters.filters.uploaded;\n\n\t\t\t\t// add uploadedTo to filters\n\t\t\t\t$.each( filters.filters, function ( i, filter ) {\n\t\t\t\t\tfilter.text +=\n\t\t\t\t\t\t' (' + acf.__( 'Uploaded to this post' ) + ')';\n\t\t\t\t\tfilter.props.uploadedTo = uploadedTo;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// add _acfuploader to filters\n\t\t\tvar field = this.get( 'field' );\n\t\t\t$.each( filters.filters, function ( k, filter ) {\n\t\t\t\tfilter.props._acfuploader = field;\n\t\t\t} );\n\n\t\t\t// add _acfuplaoder to search\n\t\t\tvar search = toolbar.get( 'search' );\n\t\t\tsearch.model.attributes._acfuploader = field;\n\n\t\t\t// render (custom function added to prototype)\n\t\t\tif ( filters.renderFilters ) {\n\t\t\t\tfilters.renderFilters();\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * acf.models.EditMediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.models.EditMediaPopup = MediaPopup.extend( {\n\t\tid: 'SelectMediaPopup',\n\t\tsetup: function ( props ) {\n\t\t\t// default button\n\t\t\tif ( ! props.button ) {\n\t\t\t\tprops.button = acf._x( 'Update', 'verb' );\n\t\t\t}\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.setup.apply( this, arguments );\n\t\t},\n\n\t\taddFrameEvents: function ( frame, options ) {\n\t\t\t// add class\n\t\t\tframe.on(\n\t\t\t\t'open',\n\t\t\t\tfunction () {\n\t\t\t\t\t// add class\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.closest( '.media-modal' )\n\t\t\t\t\t\t.addClass( 'acf-expanded' );\n\n\t\t\t\t\t// set to browse\n\t\t\t\t\tif ( this.content.mode() != 'browse' ) {\n\t\t\t\t\t\tthis.content.mode( 'browse' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// set selection\n\t\t\t\t\tvar state = this.state();\n\t\t\t\t\tvar selection = state.get( 'selection' );\n\t\t\t\t\tvar attachment = wp.media.attachment(\n\t\t\t\t\t\tframe.acf.get( 'attachment' )\n\t\t\t\t\t);\n\t\t\t\t\tselection.add( attachment );\n\t\t\t\t},\n\t\t\t\tframe\n\t\t\t);\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.addFrameEvents.apply( this, arguments );\n\t\t},\n\t} );\n\n\t/**\n\t * customizePrototypes\n\t *\n\t * description\n\t *\n\t * @date\t11/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar customizePrototypes = new acf.Model( {\n\t\tid: 'customizePrototypes',\n\t\twait: 'ready',\n\n\t\tinitialize: function () {\n\t\t\t// bail early if no media views\n\t\t\tif ( ! acf.isset( window, 'wp', 'media', 'view' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// fix bug where CPT without \"editor\" does not set post.id setting which then prevents uploadedTo from working\n\t\t\tvar postID = getPostID();\n\t\t\tif (\n\t\t\t\tpostID &&\n\t\t\t\tacf.isset( wp, 'media', 'view', 'settings', 'post' )\n\t\t\t) {\n\t\t\t\twp.media.view.settings.post.id = postID;\n\t\t\t}\n\n\t\t\t// customize\n\t\t\tthis.customizeAttachmentsButton();\n\t\t\tthis.customizeAttachmentsRouter();\n\t\t\tthis.customizeAttachmentFilters();\n\t\t\tthis.customizeAttachmentCompat();\n\t\t\tthis.customizeAttachmentLibrary();\n\t\t},\n\n\t\tcustomizeAttachmentsButton: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'Button' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Extend\n\t\t\tvar Button = wp.media.view.Button;\n\t\t\twp.media.view.Button = Button.extend( {\n\t\t\t\t// Fix bug where \"Select\" button appears blank after editing an image.\n\t\t\t\t// Do this by simplifying Button initialize function and avoid deleting this.options.\n\t\t\t\tinitialize: function () {\n\t\t\t\t\tvar options = _.defaults( this.options, this.defaults );\n\t\t\t\t\tthis.model = new Backbone.Model( options );\n\t\t\t\t\tthis.listenTo( this.model, 'change', this.render );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tcustomizeAttachmentsRouter: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'Router' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar Parent = wp.media.view.Router;\n\n\t\t\t// extend\n\t\t\twp.media.view.Router = Parent.extend( {\n\t\t\t\taddExpand: function () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar $a = $(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\tacf.__( 'Expand Details' ) +\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\tacf.__( 'Collapse Details' ) +\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t);\n\n\t\t\t\t\t// add events\n\t\t\t\t\t$a.on( 'click', function ( e ) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tvar $div = $( this ).closest( '.media-modal' );\n\t\t\t\t\t\tif ( $div.hasClass( 'acf-expanded' ) ) {\n\t\t\t\t\t\t\t$div.removeClass( 'acf-expanded' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$div.addClass( 'acf-expanded' );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\t// append\n\t\t\t\t\tthis.$el.append( $a );\n\t\t\t\t},\n\n\t\t\t\tinitialize: function () {\n\t\t\t\t\t// initialize\n\t\t\t\t\tParent.prototype.initialize.apply( this, arguments );\n\n\t\t\t\t\t// add buttons\n\t\t\t\t\tthis.addExpand();\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tcustomizeAttachmentFilters: function () {\n\t\t\t// validate\n\t\t\tif (\n\t\t\t\t! acf.isset( wp, 'media', 'view', 'AttachmentFilters', 'All' )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar Parent = wp.media.view.AttachmentFilters.All;\n\n\t\t\t// renderFilters\n\t\t\t// copied from media-views.js:6939\n\t\t\tParent.prototype.renderFilters = function () {\n\t\t\t\t// Build `' )\n\t\t\t\t\t\t\t\t\t.val( value )\n\t\t\t\t\t\t\t\t\t.html( filter.text )[ 0 ],\n\t\t\t\t\t\t\t\tpriority: filter.priority || 50,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}, this )\n\t\t\t\t\t\t.sortBy( 'priority' )\n\t\t\t\t\t\t.pluck( 'el' )\n\t\t\t\t\t\t.value()\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\n\t\tcustomizeAttachmentCompat: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'AttachmentCompat' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar AttachmentCompat = wp.media.view.AttachmentCompat;\n\t\t\tvar timeout = false;\n\n\t\t\t// extend\n\t\t\twp.media.view.AttachmentCompat = AttachmentCompat.extend( {\n\t\t\t\trender: function () {\n\t\t\t\t\t// WP bug\n\t\t\t\t\t// When multiple media frames exist on the same page (WP content, WYSIWYG, image, file ),\n\t\t\t\t\t// WP creates multiple instances of this AttachmentCompat view.\n\t\t\t\t\t// Each instance will attempt to render when a new modal is created.\n\t\t\t\t\t// Use a property to avoid this and only render once per instance.\n\t\t\t\t\tif ( this.rendered ) {\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t}\n\n\t\t\t\t\t// render HTML\n\t\t\t\t\tAttachmentCompat.prototype.render.apply( this, arguments );\n\n\t\t\t\t\t// when uploading, render is called twice.\n\t\t\t\t\t// ignore first render by checking for #acf-form-data element\n\t\t\t\t\tif ( ! this.$( '#acf-form-data' ).length ) {\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t}\n\n\t\t\t\t\t// clear timeout\n\t\t\t\t\tclearTimeout( timeout );\n\n\t\t\t\t\t// setTimeout\n\t\t\t\t\ttimeout = setTimeout(\n\t\t\t\t\t\t$.proxy( function () {\n\t\t\t\t\t\t\tthis.rendered = true;\n\t\t\t\t\t\t\tacf.doAction( 'append', this.$el );\n\t\t\t\t\t\t}, this ),\n\t\t\t\t\t\t50\n\t\t\t\t\t);\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\tsave: function ( event ) {\n\t\t\t\t\tvar data = {};\n\n\t\t\t\t\tif ( event ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\n\t\t\t\t\t//_.each( this.$el.serializeArray(), function( pair ) {\n\t\t\t\t\t//\tdata[ pair.name ] = pair.value;\n\t\t\t\t\t//});\n\n\t\t\t\t\t// Serialize data more thoroughly to allow chckbox inputs to save.\n\t\t\t\t\tdata = acf.serializeForAjax( this.$el );\n\n\t\t\t\t\tthis.controller.trigger( 'attachment:compat:waiting', [\n\t\t\t\t\t\t'waiting',\n\t\t\t\t\t] );\n\t\t\t\t\tthis.model\n\t\t\t\t\t\t.saveCompat( data )\n\t\t\t\t\t\t.always( _.bind( this.postSave, this ) );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tcustomizeAttachmentLibrary: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'Attachment', 'Library' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar AttachmentLibrary = wp.media.view.Attachment.Library;\n\n\t\t\t// extend\n\t\t\twp.media.view.Attachment.Library = AttachmentLibrary.extend( {\n\t\t\t\trender: function () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar popup = acf.isget( this, 'controller', 'acf' );\n\t\t\t\t\tvar attributes = acf.isget( this, 'model', 'attributes' );\n\n\t\t\t\t\t// check vars exist to avoid errors\n\t\t\t\t\tif ( popup && attributes ) {\n\t\t\t\t\t\t// show errors\n\t\t\t\t\t\tif ( attributes.acf_errors ) {\n\t\t\t\t\t\t\tthis.$el.addClass( 'acf-disabled' );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// disable selected\n\t\t\t\t\t\tvar selected = popup.get( 'selected' );\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tselected &&\n\t\t\t\t\t\t\tselected.indexOf( attributes.id ) > -1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthis.$el.addClass( 'acf-selected' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// render\n\t\t\t\t\treturn AttachmentLibrary.prototype.render.apply(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\targuments\n\t\t\t\t\t);\n\t\t\t\t},\n\n\t\t\t\t/*\n\t\t\t\t * toggleSelection\n\t\t\t\t *\n\t\t\t\t * This function is called before an attachment is selected\n\t\t\t\t * A good place to check for errors and prevent the 'select' function from being fired\n\t\t\t\t *\n\t\t\t\t * @type\tfunction\n\t\t\t\t * @date\t29/09/2016\n\t\t\t\t * @since\t5.4.0\n\t\t\t\t *\n\t\t\t\t * @param\toptions (object)\n\t\t\t\t * @return\tn/a\n\t\t\t\t */\n\n\t\t\t\ttoggleSelection: function ( options ) {\n\t\t\t\t\t// vars\n\t\t\t\t\t// source: wp-includes/js/media-views.js:2880\n\t\t\t\t\tvar collection = this.collection,\n\t\t\t\t\t\tselection = this.options.selection,\n\t\t\t\t\t\tmodel = this.model,\n\t\t\t\t\t\tsingle = selection.single();\n\n\t\t\t\t\t// vars\n\t\t\t\t\tvar frame = this.controller;\n\t\t\t\t\tvar errors = acf.isget(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\t'model',\n\t\t\t\t\t\t'attributes',\n\t\t\t\t\t\t'acf_errors'\n\t\t\t\t\t);\n\t\t\t\t\tvar $sidebar = frame.$el.find(\n\t\t\t\t\t\t'.media-frame-content .media-sidebar'\n\t\t\t\t\t);\n\n\t\t\t\t\t// remove previous error\n\t\t\t\t\t$sidebar.children( '.acf-selection-error' ).remove();\n\n\t\t\t\t\t// show attachment details\n\t\t\t\t\t$sidebar.children().removeClass( 'acf-hidden' );\n\n\t\t\t\t\t// add message\n\t\t\t\t\tif ( frame && errors ) {\n\t\t\t\t\t\t// vars\n\t\t\t\t\t\tvar filename = acf.isget(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'model',\n\t\t\t\t\t\t\t'attributes',\n\t\t\t\t\t\t\t'filename'\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// hide attachment details\n\t\t\t\t\t\t// Gallery field continues to show previously selected attachment...\n\t\t\t\t\t\t$sidebar.children().addClass( 'acf-hidden' );\n\n\t\t\t\t\t\t// append message\n\t\t\t\t\t\t$sidebar.prepend(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'
                    ',\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t\tacf.__( 'Restricted' ) +\n\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t\tfilename +\n\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t\terrors +\n\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t'
                    ',\n\t\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// reset selection (unselects all attachments)\n\t\t\t\t\t\tselection.reset();\n\n\t\t\t\t\t\t// set single (attachment displayed in sidebar)\n\t\t\t\t\t\tselection.single( model );\n\n\t\t\t\t\t\t// return and prevent 'select' form being fired\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn AttachmentLibrary.prototype.toggleSelection.apply(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\targuments\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * postboxManager\n\t *\n\t * Manages postboxes on the screen.\n\t *\n\t * @date\t25/5/19\n\t * @since\t5.8.1\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar postboxManager = new acf.Model( {\n\t\twait: 'prepare',\n\t\tpriority: 1,\n\t\tinitialize: function () {\n\t\t\t( acf.get( 'postboxes' ) || [] ).map( acf.newPostbox );\n\t\t},\n\t} );\n\n\t/**\n\t * acf.getPostbox\n\t *\n\t * Returns a postbox instance.\n\t *\n\t * @date\t23/9/18\n\t * @since\t5.7.7\n\t *\n\t * @param\tmixed $el Either a jQuery element or the postbox id.\n\t * @return\tobject\n\t */\n\tacf.getPostbox = function ( $el ) {\n\t\t// allow string parameter\n\t\tif ( typeof arguments[ 0 ] == 'string' ) {\n\t\t\t$el = $( '#' + arguments[ 0 ] );\n\t\t}\n\n\t\t// return instance\n\t\treturn acf.getInstance( $el );\n\t};\n\n\t/**\n\t * acf.getPostboxes\n\t *\n\t * Returns an array of postbox instances.\n\t *\n\t * @date\t23/9/18\n\t * @since\t5.7.7\n\t *\n\t * @param\tvoid\n\t * @return\tarray\n\t */\n\tacf.getPostboxes = function () {\n\t\treturn acf.getInstances( $( '.acf-postbox' ) );\n\t};\n\n\t/**\n\t * acf.newPostbox\n\t *\n\t * Returns a new postbox instance for the given props.\n\t *\n\t * @date\t20/9/18\n\t * @since\t5.7.6\n\t *\n\t * @param\tobject props The postbox properties.\n\t * @return\tobject\n\t */\n\tacf.newPostbox = function ( props ) {\n\t\treturn new acf.models.Postbox( props );\n\t};\n\n\t/**\n\t * acf.models.Postbox\n\t *\n\t * The postbox model.\n\t *\n\t * @date\t20/9/18\n\t * @since\t5.7.6\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tacf.models.Postbox = acf.Model.extend( {\n\t\tdata: {\n\t\t\tid: '',\n\t\t\tkey: '',\n\t\t\tstyle: 'default',\n\t\t\tlabel: 'top',\n\t\t\tedit: '',\n\t\t},\n\n\t\tsetup: function ( props ) {\n\t\t\t// compatibilty\n\t\t\tif ( props.editLink ) {\n\t\t\t\tprops.edit = props.editLink;\n\t\t\t}\n\n\t\t\t// extend data\n\t\t\t$.extend( this.data, props );\n\n\t\t\t// set $el\n\t\t\tthis.$el = this.$postbox();\n\t\t},\n\n\t\t$postbox: function () {\n\t\t\treturn $( '#' + this.get( 'id' ) );\n\t\t},\n\n\t\t$hide: function () {\n\t\t\treturn $( '#' + this.get( 'id' ) + '-hide' );\n\t\t},\n\n\t\t$hideLabel: function () {\n\t\t\treturn this.$hide().parent();\n\t\t},\n\n\t\t$hndle: function () {\n\t\t\treturn this.$( '> .hndle' );\n\t\t},\n\n\t\t$handleActions: function () {\n\t\t\treturn this.$( '> .postbox-header .handle-actions' );\n\t\t},\n\n\t\t$inside: function () {\n\t\t\treturn this.$( '> .inside' );\n\t\t},\n\n\t\tisVisible: function () {\n\t\t\treturn this.$el.hasClass( 'acf-hidden' );\n\t\t},\n\n\t\tisHiddenByScreenOptions: function () {\n\t\t\treturn (\n\t\t\t\tthis.$el.hasClass( 'hide-if-js' ) ||\n\t\t\t\tthis.$el.css( 'display' ) == 'none'\n\t\t\t);\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Add default class.\n\t\t\tthis.$el.addClass( 'acf-postbox' );\n\n\t\t\t// Add field group style class (ignore in block editor).\n\t\t\tif ( acf.get( 'editor' ) !== 'block' ) {\n\t\t\t\tvar style = this.get( 'style' );\n\t\t\t\tif ( style !== 'default' ) {\n\t\t\t\t\tthis.$el.addClass( style );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add .inside class.\n\t\t\tthis.$inside()\n\t\t\t\t.addClass( 'acf-fields' )\n\t\t\t\t.addClass( '-' + this.get( 'label' ) );\n\n\t\t\t// Append edit link.\n\t\t\tvar edit = this.get( 'edit' );\n\t\t\tif ( edit ) {\n\t\t\t\tvar html =\n\t\t\t\t\t'';\n\t\t\t\tvar $handleActions = this.$handleActions();\n\t\t\t\tif ( $handleActions.length ) {\n\t\t\t\t\t$handleActions.prepend( html );\n\t\t\t\t} else {\n\t\t\t\t\tthis.$hndle().append( html );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Show postbox.\n\t\t\tthis.show();\n\t\t},\n\n\t\tshow: function () {\n\t\t\t// If disabled by screen options, set checked to false and return.\n\t\t\tif ( this.$el.hasClass( 'hide-if-js' ) ) {\n\t\t\t\tthis.$hide().prop( 'checked', false );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Show label.\n\t\t\tthis.$hideLabel().show();\n\n\t\t\t// toggle on checkbox\n\t\t\tthis.$hide().prop( 'checked', true );\n\n\t\t\t// Show postbox\n\t\t\tthis.$el.show().removeClass( 'acf-hidden' );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'show_postbox', this );\n\t\t},\n\n\t\tenable: function () {\n\t\t\tacf.enable( this.$el, 'postbox' );\n\t\t},\n\n\t\tshowEnable: function () {\n\t\t\tthis.enable();\n\t\t\tthis.show();\n\t\t},\n\n\t\thide: function () {\n\t\t\t// Hide label.\n\t\t\tthis.$hideLabel().hide();\n\n\t\t\t// Hide postbox\n\t\t\tthis.$el.hide().addClass( 'acf-hidden' );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'hide_postbox', this );\n\t\t},\n\n\t\tdisable: function () {\n\t\t\tacf.disable( this.$el, 'postbox' );\n\t\t},\n\n\t\thideDisable: function () {\n\t\t\tthis.disable();\n\t\t\tthis.hide();\n\t\t},\n\n\t\thtml: function ( html ) {\n\t\t\t// Update HTML.\n\t\t\tthis.$inside().html( html );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'append', this.$el );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.screen = new acf.Model( {\n\t\tactive: true,\n\n\t\txhr: false,\n\n\t\ttimeout: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'change #page_template': 'onChange',\n\t\t\t'change #parent_id': 'onChange',\n\t\t\t'change #post-formats-select': 'onChange',\n\t\t\t'change .categorychecklist': 'onChange',\n\t\t\t'change .tagsdiv': 'onChange',\n\t\t\t'change .acf-taxonomy-field[data-save=\"1\"]': 'onChange',\n\t\t\t'change #product-type': 'onChange',\n\t\t},\n\n\t\tisPost: function () {\n\t\t\treturn acf.get( 'screen' ) === 'post';\n\t\t},\n\n\t\tisUser: function () {\n\t\t\treturn acf.get( 'screen' ) === 'user';\n\t\t},\n\n\t\tisTaxonomy: function () {\n\t\t\treturn acf.get( 'screen' ) === 'taxonomy';\n\t\t},\n\n\t\tisAttachment: function () {\n\t\t\treturn acf.get( 'screen' ) === 'attachment';\n\t\t},\n\n\t\tisNavMenu: function () {\n\t\t\treturn acf.get( 'screen' ) === 'nav_menu';\n\t\t},\n\n\t\tisWidget: function () {\n\t\t\treturn acf.get( 'screen' ) === 'widget';\n\t\t},\n\n\t\tisComment: function () {\n\t\t\treturn acf.get( 'screen' ) === 'comment';\n\t\t},\n\n\t\tgetPageTemplate: function () {\n\t\t\tvar $el = $( '#page_template' );\n\t\t\treturn $el.length ? $el.val() : null;\n\t\t},\n\n\t\tgetPageParent: function ( e, $el ) {\n\t\t\tvar $el = $( '#parent_id' );\n\t\t\treturn $el.length ? $el.val() : null;\n\t\t},\n\n\t\tgetPageType: function ( e, $el ) {\n\t\t\treturn this.getPageParent() ? 'child' : 'parent';\n\t\t},\n\n\t\tgetPostType: function () {\n\t\t\treturn $( '#post_type' ).val();\n\t\t},\n\n\t\tgetPostFormat: function ( e, $el ) {\n\t\t\tvar $el = $( '#post-formats-select input:checked' );\n\t\t\tif ( $el.length ) {\n\t\t\t\tvar val = $el.val();\n\t\t\t\treturn val == '0' ? 'standard' : val;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\n\t\tgetPostCoreTerms: function () {\n\t\t\t// vars\n\t\t\tvar terms = {};\n\n\t\t\t// serialize WP taxonomy postboxes\n\t\t\tvar data = acf.serialize( $( '.categorydiv, .tagsdiv' ) );\n\n\t\t\t// use tax_input (tag, custom-taxonomy) when possible.\n\t\t\t// this data is already formatted in taxonomy => [terms].\n\t\t\tif ( data.tax_input ) {\n\t\t\t\tterms = data.tax_input;\n\t\t\t}\n\n\t\t\t// append \"category\" which uses a different name\n\t\t\tif ( data.post_category ) {\n\t\t\t\tterms.category = data.post_category;\n\t\t\t}\n\n\t\t\t// convert any string values (tags) into array format\n\t\t\tfor ( var tax in terms ) {\n\t\t\t\tif ( ! acf.isArray( terms[ tax ] ) ) {\n\t\t\t\t\tterms[ tax ] = terms[ tax ].split( /,[\\s]?/ );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn terms;\n\t\t},\n\n\t\tgetPostTerms: function () {\n\t\t\t// Get core terms.\n\t\t\tvar terms = this.getPostCoreTerms();\n\n\t\t\t// loop over taxonomy fields and add their values\n\t\t\tacf.getFields( { type: 'taxonomy' } ).map( function ( field ) {\n\t\t\t\t// ignore fields that don't save\n\t\t\t\tif ( ! field.get( 'save' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// vars\n\t\t\t\tvar val = field.val();\n\t\t\t\tvar tax = field.get( 'taxonomy' );\n\n\t\t\t\t// check val\n\t\t\t\tif ( val ) {\n\t\t\t\t\t// ensure terms exists\n\t\t\t\t\tterms[ tax ] = terms[ tax ] || [];\n\n\t\t\t\t\t// ensure val is an array\n\t\t\t\t\tval = acf.isArray( val ) ? val : [ val ];\n\n\t\t\t\t\t// append\n\t\t\t\t\tterms[ tax ] = terms[ tax ].concat( val );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// add WC product type\n\t\t\tif ( ( productType = this.getProductType() ) !== null ) {\n\t\t\t\tterms.product_type = [ productType ];\n\t\t\t}\n\n\t\t\t// remove duplicate values\n\t\t\tfor ( var tax in terms ) {\n\t\t\t\tterms[ tax ] = acf.uniqueArray( terms[ tax ] );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn terms;\n\t\t},\n\n\t\tgetProductType: function () {\n\t\t\tvar $el = $( '#product-type' );\n\t\t\treturn $el.length ? $el.val() : null;\n\t\t},\n\n\t\tcheck: function () {\n\t\t\t// bail early if not for post\n\t\t\tif ( acf.get( 'screen' ) !== 'post' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// abort XHR if is already loading AJAX data\n\t\t\tif ( this.xhr ) {\n\t\t\t\tthis.xhr.abort();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar ajaxData = acf.parseArgs( this.data, {\n\t\t\t\taction: 'acf/ajax/check_screen',\n\t\t\t\tscreen: acf.get( 'screen' ),\n\t\t\t\texists: [],\n\t\t\t} );\n\n\t\t\t// post id\n\t\t\tif ( this.isPost() ) {\n\t\t\t\tajaxData.post_id = acf.get( 'post_id' );\n\t\t\t}\n\n\t\t\t// post type\n\t\t\tif ( ( postType = this.getPostType() ) !== null ) {\n\t\t\t\tajaxData.post_type = postType;\n\t\t\t}\n\n\t\t\t// page template\n\t\t\tif ( ( pageTemplate = this.getPageTemplate() ) !== null ) {\n\t\t\t\tajaxData.page_template = pageTemplate;\n\t\t\t}\n\n\t\t\t// page parent\n\t\t\tif ( ( pageParent = this.getPageParent() ) !== null ) {\n\t\t\t\tajaxData.page_parent = pageParent;\n\t\t\t}\n\n\t\t\t// page type\n\t\t\tif ( ( pageType = this.getPageType() ) !== null ) {\n\t\t\t\tajaxData.page_type = pageType;\n\t\t\t}\n\n\t\t\t// post format\n\t\t\tif ( ( postFormat = this.getPostFormat() ) !== null ) {\n\t\t\t\tajaxData.post_format = postFormat;\n\t\t\t}\n\n\t\t\t// post terms\n\t\t\tif ( ( postTerms = this.getPostTerms() ) !== null ) {\n\t\t\t\tajaxData.post_terms = postTerms;\n\t\t\t}\n\n\t\t\t// add array of existing postboxes to increase performance and reduce JSON HTML\n\t\t\tacf.getPostboxes().map( function ( postbox ) {\n\t\t\t\tajaxData.exists.push( postbox.get( 'key' ) );\n\t\t\t} );\n\n\t\t\t// filter\n\t\t\tajaxData = acf.applyFilters( 'check_screen_args', ajaxData );\n\n\t\t\t// success\n\t\t\tvar onSuccess = function ( json ) {\n\t\t\t\t// Render post screen.\n\t\t\t\tif ( acf.get( 'screen' ) == 'post' ) {\n\t\t\t\t\tthis.renderPostScreen( json );\n\n\t\t\t\t\t// Render user screen.\n\t\t\t\t} else if ( acf.get( 'screen' ) == 'user' ) {\n\t\t\t\t\tthis.renderUserScreen( json );\n\t\t\t\t}\n\n\t\t\t\t// action\n\t\t\t\tacf.doAction( 'check_screen_complete', json, ajaxData );\n\t\t\t};\n\n\t\t\t// ajax\n\t\t\tthis.xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: onSuccess,\n\t\t\t} );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tthis.setTimeout( this.check, 1 );\n\t\t},\n\n\t\trenderPostScreen: function ( data ) {\n\t\t\t// Helper function to copy events\n\t\t\tvar copyEvents = function ( $from, $to ) {\n\t\t\t\tvar events = $._data( $from[ 0 ] ).events;\n\t\t\t\tfor ( var type in events ) {\n\t\t\t\t\tfor ( var i = 0; i < events[ type ].length; i++ ) {\n\t\t\t\t\t\t$to.on( type, events[ type ][ i ].handler );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// Helper function to sort metabox.\n\t\t\tvar sortMetabox = function ( id, ids ) {\n\t\t\t\t// Find position of id within ids.\n\t\t\t\tvar index = ids.indexOf( id );\n\n\t\t\t\t// Bail early if index not found.\n\t\t\t\tif ( index == -1 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Loop over metaboxes behind (in reverse order).\n\t\t\t\tfor ( var i = index - 1; i >= 0; i-- ) {\n\t\t\t\t\tif ( $( '#' + ids[ i ] ).length ) {\n\t\t\t\t\t\treturn $( '#' + ids[ i ] ).after( $( '#' + id ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Loop over metaboxes infront.\n\t\t\t\tfor ( var i = index + 1; i < ids.length; i++ ) {\n\t\t\t\t\tif ( $( '#' + ids[ i ] ).length ) {\n\t\t\t\t\t\treturn $( '#' + ids[ i ] ).before( $( '#' + id ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Return false if not sorted.\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\t// Keep track of visible and hidden postboxes.\n\t\t\tdata.visible = [];\n\t\t\tdata.hidden = [];\n\n\t\t\t// Show these postboxes.\n\t\t\tdata.results = data.results.map( function ( result, i ) {\n\t\t\t\t// vars\n\t\t\t\tvar postbox = acf.getPostbox( result.id );\n\n\t\t\t\t// Prevent \"acf_after_title\" position in Block Editor.\n\t\t\t\tif (\n\t\t\t\t\tacf.isGutenberg() &&\n\t\t\t\t\tresult.position == 'acf_after_title'\n\t\t\t\t) {\n\t\t\t\t\tresult.position = 'normal';\n\t\t\t\t}\n\n\t\t\t\t// Create postbox if doesn't exist.\n\t\t\t\tif ( ! postbox ) {\n\t\t\t\t\tvar wpMinorVersion = parseFloat( acf.get( 'wp_version' ) );\n\t\t\t\t\tif ( wpMinorVersion >= 5.5 ) {\n\t\t\t\t\t\tvar postboxHeader = [\n\t\t\t\t\t\t\t'
                    ',\n\t\t\t\t\t\t\t'

                    ',\n\t\t\t\t\t\t\t'' + acf.escHtml( result.title ) + '',\n\t\t\t\t\t\t\t'

                    ',\n\t\t\t\t\t\t\t'
                    ',\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'
                    ',\n\t\t\t\t\t\t\t'
                    ',\n\t\t\t\t\t\t].join( '' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar postboxHeader = [\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'

                    ',\n\t\t\t\t\t\t\t'' + acf.escHtml( result.title ) + '',\n\t\t\t\t\t\t\t'

                    ',\n\t\t\t\t\t\t].join( '' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Ensure result.classes is set.\n\t\t\t\t\tif ( ! result.classes ) result.classes = '';\n\n\t\t\t\t\t// Create it.\n\t\t\t\t\tvar $postbox = $(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t'
                    ',\n\t\t\t\t\t\t\tpostboxHeader,\n\t\t\t\t\t\t\t'
                    ',\n\t\t\t\t\t\t\tresult.html,\n\t\t\t\t\t\t\t'
                    ',\n\t\t\t\t\t\t\t'
                    ',\n\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t);\n\n\t\t\t\t\t// Create new hide toggle.\n\t\t\t\t\tif ( $( '#adv-settings' ).length ) {\n\t\t\t\t\t\tvar $prefs = $( '#adv-settings .metabox-prefs' );\n\t\t\t\t\t\tvar $label = $(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Copy default WP events onto checkbox.\n\t\t\t\t\t\tcopyEvents(\n\t\t\t\t\t\t\t$prefs.find( 'input' ).first(),\n\t\t\t\t\t\t\t$label.find( 'input' )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Append hide label\n\t\t\t\t\t\t$prefs.append( $label );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Copy default WP events onto metabox.\n\t\t\t\t\tif ( $( '.postbox' ).length ) {\n\t\t\t\t\t\tcopyEvents(\n\t\t\t\t\t\t\t$( '.postbox .handlediv' ).first(),\n\t\t\t\t\t\t\t$postbox.children( '.handlediv' )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tcopyEvents(\n\t\t\t\t\t\t\t$( '.postbox .hndle' ).first(),\n\t\t\t\t\t\t\t$postbox.children( '.hndle' )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Append metabox to the bottom of \"side-sortables\".\n\t\t\t\t\tif ( result.position === 'side' ) {\n\t\t\t\t\t\t$( '#' + result.position + '-sortables' ).append(\n\t\t\t\t\t\t\t$postbox\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Prepend metabox to the top of \"normal-sortbables\".\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( '#' + result.position + '-sortables' ).prepend(\n\t\t\t\t\t\t\t$postbox\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Position metabox amongst existing ACF metaboxes within the same location.\n\t\t\t\t\tvar order = [];\n\t\t\t\t\tdata.results.map( function ( _result ) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tresult.position === _result.position &&\n\t\t\t\t\t\t\t$(\n\t\t\t\t\t\t\t\t'#' +\n\t\t\t\t\t\t\t\t\tresult.position +\n\t\t\t\t\t\t\t\t\t'-sortables #' +\n\t\t\t\t\t\t\t\t\t_result.id\n\t\t\t\t\t\t\t).length\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\torder.push( _result.id );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\tsortMetabox( result.id, order );\n\n\t\t\t\t\t// Check 'sorted' for user preference.\n\t\t\t\t\tif ( data.sorted ) {\n\t\t\t\t\t\t// Loop over each position (acf_after_title, side, normal).\n\t\t\t\t\t\tfor ( var position in data.sorted ) {\n\t\t\t\t\t\t\t// Explode string into array of ids.\n\t\t\t\t\t\t\tvar order = data.sorted[ position ].split( ',' );\n\n\t\t\t\t\t\t\t// Position metabox relative to order.\n\t\t\t\t\t\t\tif ( sortMetabox( result.id, order ) ) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Initalize it (modifies HTML).\n\t\t\t\t\tpostbox = acf.newPostbox( result );\n\n\t\t\t\t\t// Trigger action.\n\t\t\t\t\tacf.doAction( 'append', $postbox );\n\t\t\t\t\tacf.doAction( 'append_postbox', postbox );\n\t\t\t\t}\n\n\t\t\t\t// show postbox\n\t\t\t\tpostbox.showEnable();\n\n\t\t\t\t// append\n\t\t\t\tdata.visible.push( result.id );\n\n\t\t\t\t// Return result (may have changed).\n\t\t\t\treturn result;\n\t\t\t} );\n\n\t\t\t// Hide these postboxes.\n\t\t\tacf.getPostboxes().map( function ( postbox ) {\n\t\t\t\tif ( data.visible.indexOf( postbox.get( 'id' ) ) === -1 ) {\n\t\t\t\t\t// Hide postbox.\n\t\t\t\t\tpostbox.hideDisable();\n\n\t\t\t\t\t// Append to data.\n\t\t\t\t\tdata.hidden.push( postbox.get( 'id' ) );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Update style.\n\t\t\t$( '#acf-style' ).html( data.style );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'refresh_post_screen', data );\n\t\t},\n\n\t\trenderUserScreen: function ( json ) {},\n\t} );\n\n\t/**\n\t * gutenScreen\n\t *\n\t * Adds compatibility with the Gutenberg edit screen.\n\t *\n\t * @date\t11/12/18\n\t * @since\t5.8.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar gutenScreen = new acf.Model( {\n\t\t// Keep a reference to the most recent post attributes.\n\t\tpostEdits: {},\n\n\t\t// Wait until assets have been loaded.\n\t\twait: 'prepare',\n\n\t\tinitialize: function () {\n\t\t\t// Bail early if not Gutenberg.\n\t\t\tif ( ! acf.isGutenberg() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Listen for changes (use debounced version as this can fires often).\n\t\t\twp.data.subscribe( acf.debounce( this.onChange ).bind( this ) );\n\n\t\t\t// Customize \"acf.screen.get\" functions.\n\t\t\tacf.screen.getPageTemplate = this.getPageTemplate;\n\t\t\tacf.screen.getPageParent = this.getPageParent;\n\t\t\tacf.screen.getPostType = this.getPostType;\n\t\t\tacf.screen.getPostFormat = this.getPostFormat;\n\t\t\tacf.screen.getPostCoreTerms = this.getPostCoreTerms;\n\n\t\t\t// Disable unload\n\t\t\tacf.unload.disable();\n\n\t\t\t// Refresh metaboxes since WP 5.3.\n\t\t\tvar wpMinorVersion = parseFloat( acf.get( 'wp_version' ) );\n\t\t\tif ( wpMinorVersion >= 5.3 ) {\n\t\t\t\tthis.addAction(\n\t\t\t\t\t'refresh_post_screen',\n\t\t\t\t\tthis.onRefreshPostScreen\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Trigger \"refresh\" after WP has moved metaboxes into place.\n\t\t\twp.domReady( acf.refresh );\n\t\t},\n\n\t\tonChange: function () {\n\t\t\t// Determine attributes that can trigger a refresh.\n\t\t\tvar attributes = [ 'template', 'parent', 'format' ];\n\n\t\t\t// Append taxonomy attribute names to this list.\n\t\t\t( wp.data.select( 'core' ).getTaxonomies() || [] ).map( function (\n\t\t\t\ttaxonomy\n\t\t\t) {\n\t\t\t\tattributes.push( taxonomy.rest_base );\n\t\t\t} );\n\n\t\t\t// Get relevant current post edits.\n\t\t\tvar _postEdits = wp.data.select( 'core/editor' ).getPostEdits();\n\t\t\tvar postEdits = {};\n\t\t\tattributes.map( function ( k ) {\n\t\t\t\tif ( _postEdits[ k ] !== undefined ) {\n\t\t\t\t\tpostEdits[ k ] = _postEdits[ k ];\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Detect change.\n\t\t\tif (\n\t\t\t\tJSON.stringify( postEdits ) !== JSON.stringify( this.postEdits )\n\t\t\t) {\n\t\t\t\tthis.postEdits = postEdits;\n\n\t\t\t\t// Check screen.\n\t\t\t\tacf.screen.check();\n\t\t\t}\n\t\t},\n\n\t\tgetPageTemplate: function () {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'template' );\n\t\t},\n\n\t\tgetPageParent: function ( e, $el ) {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'parent' );\n\t\t},\n\n\t\tgetPostType: function () {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'type' );\n\t\t},\n\n\t\tgetPostFormat: function ( e, $el ) {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'format' );\n\t\t},\n\n\t\tgetPostCoreTerms: function () {\n\t\t\t// vars\n\t\t\tvar terms = {};\n\n\t\t\t// Loop over taxonomies.\n\t\t\tvar taxonomies = wp.data.select( 'core' ).getTaxonomies() || [];\n\t\t\ttaxonomies.map( function ( taxonomy ) {\n\t\t\t\t// Append selected taxonomies to terms object.\n\t\t\t\tvar postTerms = wp.data\n\t\t\t\t\t.select( 'core/editor' )\n\t\t\t\t\t.getEditedPostAttribute( taxonomy.rest_base );\n\t\t\t\tif ( postTerms ) {\n\t\t\t\t\tterms[ taxonomy.slug ] = postTerms;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn terms;\n\t\t},\n\n\t\t/**\n\t\t * onRefreshPostScreen\n\t\t *\n\t\t * Fires after the Post edit screen metaboxs are refreshed to update the Block Editor API state.\n\t\t *\n\t\t * @date\t11/11/19\n\t\t * @since\t5.8.7\n\t\t *\n\t\t * @param\tobject data The \"check_screen\" JSON response data.\n\t\t * @return\tvoid\n\t\t */\n\t\tonRefreshPostScreen: function ( data ) {\n\t\t\t// Extract vars.\n\t\t\tvar select = wp.data.select( 'core/edit-post' );\n\t\t\tvar dispatch = wp.data.dispatch( 'core/edit-post' );\n\n\t\t\t// Load current metabox locations and data.\n\t\t\tvar locations = {};\n\t\t\tselect.getActiveMetaBoxLocations().map( function ( location ) {\n\t\t\t\tlocations[ location ] = select.getMetaBoxesPerLocation(\n\t\t\t\t\tlocation\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\t// Generate flat array of existing ids.\n\t\t\tvar ids = [];\n\t\t\tfor ( var k in locations ) {\n\t\t\t\tlocations[ k ].map( function ( m ) {\n\t\t\t\t\tids.push( m.id );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Append new ACF metaboxes (ignore those which already exist).\n\t\t\tdata.results\n\t\t\t\t.filter( function ( r ) {\n\t\t\t\t\treturn ids.indexOf( r.id ) === -1;\n\t\t\t\t} )\n\t\t\t\t.map( function ( result, i ) {\n\t\t\t\t\t// Ensure location exists.\n\t\t\t\t\tvar location = result.position;\n\t\t\t\t\tlocations[ location ] = locations[ location ] || [];\n\n\t\t\t\t\t// Append.\n\t\t\t\t\tlocations[ location ].push( {\n\t\t\t\t\t\tid: result.id,\n\t\t\t\t\t\ttitle: result.title,\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t// Remove hidden ACF metaboxes.\n\t\t\tfor ( var k in locations ) {\n\t\t\t\tlocations[ k ] = locations[ k ].filter( function ( m ) {\n\t\t\t\t\treturn data.hidden.indexOf( m.id ) === -1;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Update state.\n\t\t\tdispatch.setAvailableMetaBoxesPerLocation( locations );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * acf.newSelect2\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newSelect2 = function ( $select, props ) {\n\t\t// defaults\n\t\tprops = acf.parseArgs( props, {\n\t\t\tallowNull: false,\n\t\t\tplaceholder: '',\n\t\t\tmultiple: false,\n\t\t\tfield: false,\n\t\t\tajax: false,\n\t\t\tajaxAction: '',\n\t\t\tajaxData: function ( data ) {\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\tajaxResults: function ( json ) {\n\t\t\t\treturn json;\n\t\t\t},\n\t\t} );\n\n\t\t// initialize\n\t\tif ( getVersion() == 4 ) {\n\t\t\tvar select2 = new Select2_4( $select, props );\n\t\t} else {\n\t\t\tvar select2 = new Select2_3( $select, props );\n\t\t}\n\n\t\t// actions\n\t\tacf.doAction( 'new_select2', select2 );\n\n\t\t// return\n\t\treturn select2;\n\t};\n\n\t/**\n\t * getVersion\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tfunction getVersion() {\n\t\t// v4\n\t\tif ( acf.isset( window, 'jQuery', 'fn', 'select2', 'amd' ) ) {\n\t\t\treturn 4;\n\t\t}\n\n\t\t// v3\n\t\tif ( acf.isset( window, 'Select2' ) ) {\n\t\t\treturn 3;\n\t\t}\n\n\t\t// return\n\t\treturn false;\n\t}\n\n\t/**\n\t * Select2\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar Select2 = acf.Model.extend( {\n\t\tsetup: function ( $select, props ) {\n\t\t\t$.extend( this.data, props );\n\t\t\tthis.$el = $select;\n\t\t},\n\n\t\tinitialize: function () {},\n\n\t\tselectOption: function ( value ) {\n\t\t\tvar $option = this.getOption( value );\n\t\t\tif ( ! $option.prop( 'selected' ) ) {\n\t\t\t\t$option.prop( 'selected', true ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\tunselectOption: function ( value ) {\n\t\t\tvar $option = this.getOption( value );\n\t\t\tif ( $option.prop( 'selected' ) ) {\n\t\t\t\t$option.prop( 'selected', false ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\tgetOption: function ( value ) {\n\t\t\treturn this.$( 'option[value=\"' + value + '\"]' );\n\t\t},\n\n\t\taddOption: function ( option ) {\n\t\t\t// defaults\n\t\t\toption = acf.parseArgs( option, {\n\t\t\t\tid: '',\n\t\t\t\ttext: '',\n\t\t\t\tselected: false,\n\t\t\t} );\n\n\t\t\t// vars\n\t\t\tvar $option = this.getOption( option.id );\n\n\t\t\t// append\n\t\t\tif ( ! $option.length ) {\n\t\t\t\t$option = $( '' );\n\t\t\t\t$option.html( option.text );\n\t\t\t\t$option.attr( 'value', option.id );\n\t\t\t\t$option.prop( 'selected', option.selected );\n\t\t\t\tthis.$el.append( $option );\n\t\t\t}\n\n\t\t\t// chain\n\t\t\treturn $option;\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\t// vars\n\t\t\tvar val = [];\n\t\t\tvar $options = this.$el.find( 'option:selected' );\n\n\t\t\t// bail early if no selected\n\t\t\tif ( ! $options.exists() ) {\n\t\t\t\treturn val;\n\t\t\t}\n\n\t\t\t// sort by attribute\n\t\t\t$options = $options.sort( function ( a, b ) {\n\t\t\t\treturn (\n\t\t\t\t\t+a.getAttribute( 'data-i' ) - +b.getAttribute( 'data-i' )\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\t// loop\n\t\t\t$options.each( function () {\n\t\t\t\tvar $el = $( this );\n\t\t\t\tval.push( {\n\t\t\t\t\t$el: $el,\n\t\t\t\t\tid: $el.attr( 'value' ),\n\t\t\t\t\ttext: $el.text(),\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn val;\n\t\t},\n\n\t\tmergeOptions: function () {},\n\n\t\tgetChoices: function () {\n\t\t\t// callback\n\t\t\tvar crawl = function ( $parent ) {\n\t\t\t\t// vars\n\t\t\t\tvar choices = [];\n\n\t\t\t\t// loop\n\t\t\t\t$parent.children().each( function () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar $child = $( this );\n\n\t\t\t\t\t// optgroup\n\t\t\t\t\tif ( $child.is( 'optgroup' ) ) {\n\t\t\t\t\t\tchoices.push( {\n\t\t\t\t\t\t\ttext: $child.attr( 'label' ),\n\t\t\t\t\t\t\tchildren: crawl( $child ),\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// option\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchoices.push( {\n\t\t\t\t\t\t\tid: $child.attr( 'value' ),\n\t\t\t\t\t\t\ttext: $child.text(),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\t// return\n\t\t\t\treturn choices;\n\t\t\t};\n\n\t\t\t// crawl\n\t\t\treturn crawl( this.$el );\n\t\t},\n\n\t\tgetAjaxData: function ( params ) {\n\t\t\t// vars\n\t\t\tvar ajaxData = {\n\t\t\t\taction: this.get( 'ajaxAction' ),\n\t\t\t\ts: params.term || '',\n\t\t\t\tpaged: params.page || 1,\n\t\t\t};\n\n\t\t\t// field helper\n\t\t\tvar field = this.get( 'field' );\n\t\t\tif ( field ) {\n\t\t\t\tajaxData.field_key = field.get( 'key' );\n\t\t\t}\n\n\t\t\t// callback\n\t\t\tvar callback = this.get( 'ajaxData' );\n\t\t\tif ( callback ) {\n\t\t\t\tajaxData = callback.apply( this, [ ajaxData, params ] );\n\t\t\t}\n\n\t\t\t// filter\n\t\t\tajaxData = acf.applyFilters(\n\t\t\t\t'select2_ajax_data',\n\t\t\t\tajaxData,\n\t\t\t\tthis.data,\n\t\t\t\tthis.$el,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn acf.prepareForAjax( ajaxData );\n\t\t},\n\n\t\tgetAjaxResults: function ( json, params ) {\n\t\t\t// defaults\n\t\t\tjson = acf.parseArgs( json, {\n\t\t\t\tresults: false,\n\t\t\t\tmore: false,\n\t\t\t} );\n\n\t\t\t// callback\n\t\t\tvar callback = this.get( 'ajaxResults' );\n\t\t\tif ( callback ) {\n\t\t\t\tjson = callback.apply( this, [ json, params ] );\n\t\t\t}\n\n\t\t\t// filter\n\t\t\tjson = acf.applyFilters(\n\t\t\t\t'select2_ajax_results',\n\t\t\t\tjson,\n\t\t\t\tparams,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn json;\n\t\t},\n\n\t\tprocessAjaxResults: function ( json, params ) {\n\t\t\t// vars\n\t\t\tvar json = this.getAjaxResults( json, params );\n\n\t\t\t// change more to pagination\n\t\t\tif ( json.more ) {\n\t\t\t\tjson.pagination = { more: true };\n\t\t\t}\n\n\t\t\t// merge together groups\n\t\t\tsetTimeout( $.proxy( this.mergeOptions, this ), 1 );\n\n\t\t\t// return\n\t\t\treturn json;\n\t\t},\n\n\t\tdestroy: function () {\n\t\t\t// destroy via api\n\t\t\tif ( this.$el.data( 'select2' ) ) {\n\t\t\t\tthis.$el.select2( 'destroy' );\n\t\t\t}\n\n\t\t\t// destory via HTML (duplicating HTML does not contain data)\n\t\t\tthis.$el.siblings( '.select2-container' ).remove();\n\t\t},\n\t} );\n\n\t/**\n\t * Select2_4\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar Select2_4 = Select2.extend( {\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $select = this.$el;\n\t\t\tvar options = {\n\t\t\t\twidth: '100%',\n\t\t\t\tallowClear: this.get( 'allowNull' ),\n\t\t\t\tplaceholder: this.get( 'placeholder' ),\n\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\tdata: [],\n\t\t\t\tescapeMarkup: function ( markup ) {\n\t\t\t\t\tif ( typeof markup !== 'string' ) {\n\t\t\t\t\t\treturn markup;\n\t\t\t\t\t}\n\t\t\t\t\treturn acf.escHtml( markup );\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// Only use the template if SelectWoo is not loaded to work around https://github.com/woocommerce/woocommerce/pull/30473\n\t\t\tif ( ! acf.isset( window, 'jQuery', 'fn', 'selectWoo' ) ) {\n\t\t\t\toptions.templateSelection = function ( selection ) {\n\t\t\t\t\tvar $selection = $( '' );\n\t\t\t\t\t$selection.html( acf.escHtml( selection.text ) );\n\t\t\t\t\t$selection.data( 'element', selection.element );\n\t\t\t\t\treturn $selection;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// reorder options\n\t\t\t\tthis.getValue().map( function ( item ) {\n\t\t\t\t\titem.$el.detach().appendTo( $select );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Temporarily remove conflicting attribute.\n\t\t\tvar attrAjax = $select.attr( 'data-ajax' );\n\t\t\tif ( attrAjax !== undefined ) {\n\t\t\t\t$select.removeData( 'ajax' );\n\t\t\t\t$select.removeAttr( 'data-ajax' );\n\t\t\t}\n\n\t\t\t// ajax\n\t\t\tif ( this.get( 'ajax' ) ) {\n\t\t\t\toptions.ajax = {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdelay: 250,\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tcache: false,\n\t\t\t\t\tdata: $.proxy( this.getAjaxData, this ),\n\t\t\t\t\tprocessResults: $.proxy( this.processAjaxResults, this ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// filter for 3rd party customization\n\t\t\t//options = acf.applyFilters( 'select2_args', options, $select, this );\n\t\t\tvar field = this.get( 'field' );\n\t\t\toptions = acf.applyFilters(\n\t\t\t\t'select2_args',\n\t\t\t\toptions,\n\t\t\t\t$select,\n\t\t\t\tthis.data,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// add select2\n\t\t\t$select.select2( options );\n\n\t\t\t// get container (Select2 v4 does not return this from constructor)\n\t\t\tvar $container = $select.next( '.select2-container' );\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// vars\n\t\t\t\tvar $ul = $container.find( 'ul' );\n\n\t\t\t\t// sortable\n\t\t\t\t$ul.sortable( {\n\t\t\t\t\tstop: function ( e ) {\n\t\t\t\t\t\t// loop\n\t\t\t\t\t\t$ul.find( '.select2-selection__choice' ).each(\n\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t// Attempt to use .data if it exists (select2 version < 4.0.6) or use our template data instead.\n\t\t\t\t\t\t\t\tif ( $( this ).data( 'data' ) ) {\n\t\t\t\t\t\t\t\t\tvar $option = $(\n\t\t\t\t\t\t\t\t\t\t$( this ).data( 'data' ).element\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tvar $option = $(\n\t\t\t\t\t\t\t\t\t\t$( this )\n\t\t\t\t\t\t\t\t\t\t\t.find( 'span.acf-selection' )\n\t\t\t\t\t\t\t\t\t\t\t.data( 'element' )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// detach and re-append to end\n\t\t\t\t\t\t\t\t$option.detach().appendTo( $select );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// trigger change on input (JS error if trigger on select)\n\t\t\t\t\t\t$select.trigger( 'change' );\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\t// on select, move to end\n\t\t\t\t$select.on(\n\t\t\t\t\t'select2:select',\n\t\t\t\t\tthis.proxy( function ( e ) {\n\t\t\t\t\t\tthis.getOption( e.params.data.id )\n\t\t\t\t\t\t\t.detach()\n\t\t\t\t\t\t\t.appendTo( this.$el );\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t\t\n\t\t\t// add handler to auto-focus searchbox (for jQuery 3.6)\n\t\t\t$select.on('select2:open', () => {\n\t\t\t\t$('.select2-container--open .select2-search__field').get(-1).focus();\n\t\t\t});\n\n\t\t\t// add class\n\t\t\t$container.addClass( '-acf' );\n\n\t\t\t// Add back temporarily removed attr.\n\t\t\tif ( attrAjax !== undefined ) {\n\t\t\t\t$select.attr( 'data-ajax', attrAjax );\n\t\t\t}\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction(\n\t\t\t\t'select2_init',\n\t\t\t\t$select,\n\t\t\t\toptions,\n\t\t\t\tthis.data,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\t\t},\n\n\t\tmergeOptions: function () {\n\t\t\t// vars\n\t\t\tvar $prevOptions = false;\n\t\t\tvar $prevGroup = false;\n\n\t\t\t// loop\n\t\t\t$( '.select2-results__option[role=\"group\"]' ).each( function () {\n\t\t\t\t// vars\n\t\t\t\tvar $options = $( this ).children( 'ul' );\n\t\t\t\tvar $group = $( this ).children( 'strong' );\n\n\t\t\t\t// compare to previous\n\t\t\t\tif ( $prevGroup && $prevGroup.text() === $group.text() ) {\n\t\t\t\t\t$prevOptions.append( $options.children() );\n\t\t\t\t\t$( this ).remove();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// update vars\n\t\t\t\t$prevOptions = $options;\n\t\t\t\t$prevGroup = $group;\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * Select2_3\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar Select2_3 = Select2.extend( {\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $select = this.$el;\n\t\t\tvar value = this.getValue();\n\t\t\tvar multiple = this.get( 'multiple' );\n\t\t\tvar options = {\n\t\t\t\twidth: '100%',\n\t\t\t\tallowClear: this.get( 'allowNull' ),\n\t\t\t\tplaceholder: this.get( 'placeholder' ),\n\t\t\t\tseparator: '||',\n\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\tdata: this.getChoices(),\n\t\t\t\tescapeMarkup: function ( string ) {\n\t\t\t\t\treturn acf.escHtml( string );\n\t\t\t\t},\n\t\t\t\tdropdownCss: {\n\t\t\t\t\t'z-index': '999999999',\n\t\t\t\t},\n\t\t\t\tinitSelection: function ( element, callback ) {\n\t\t\t\t\tif ( multiple ) {\n\t\t\t\t\t\tcallback( value );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcallback( value.shift() );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// get hidden input\n\t\t\tvar $input = $select.siblings( 'input' );\n\t\t\tif ( ! $input.length ) {\n\t\t\t\t$input = $( '' );\n\t\t\t\t$select.before( $input );\n\t\t\t}\n\n\t\t\t// set input value\n\t\t\tinputValue = value\n\t\t\t\t.map( function ( item ) {\n\t\t\t\t\treturn item.id;\n\t\t\t\t} )\n\t\t\t\t.join( '||' );\n\t\t\t$input.val( inputValue );\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// reorder options\n\t\t\t\tvalue.map( function ( item ) {\n\t\t\t\t\titem.$el.detach().appendTo( $select );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// remove blank option as we have a clear all button\n\t\t\tif ( options.allowClear ) {\n\t\t\t\toptions.data = options.data.filter( function ( item ) {\n\t\t\t\t\treturn item.id !== '';\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// remove conflicting atts\n\t\t\t$select.removeData( 'ajax' );\n\t\t\t$select.removeAttr( 'data-ajax' );\n\n\t\t\t// ajax\n\t\t\tif ( this.get( 'ajax' ) ) {\n\t\t\t\toptions.ajax = {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tquietMillis: 250,\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tcache: false,\n\t\t\t\t\tdata: $.proxy( this.getAjaxData, this ),\n\t\t\t\t\tresults: $.proxy( this.processAjaxResults, this ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// filter for 3rd party customization\n\t\t\tvar field = this.get( 'field' );\n\t\t\toptions = acf.applyFilters(\n\t\t\t\t'select2_args',\n\t\t\t\toptions,\n\t\t\t\t$select,\n\t\t\t\tthis.data,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// add select2\n\t\t\t$input.select2( options );\n\n\t\t\t// get container\n\t\t\tvar $container = $input.select2( 'container' );\n\n\t\t\t// helper to find this select's option\n\t\t\tvar getOption = $.proxy( this.getOption, this );\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// vars\n\t\t\t\tvar $ul = $container.find( 'ul' );\n\n\t\t\t\t// sortable\n\t\t\t\t$ul.sortable( {\n\t\t\t\t\tstop: function () {\n\t\t\t\t\t\t// loop\n\t\t\t\t\t\t$ul.find( '.select2-search-choice' ).each( function () {\n\t\t\t\t\t\t\t// vars\n\t\t\t\t\t\t\tvar data = $( this ).data( 'select2Data' );\n\t\t\t\t\t\t\tvar $option = getOption( data.id );\n\n\t\t\t\t\t\t\t// detach and re-append to end\n\t\t\t\t\t\t\t$option.detach().appendTo( $select );\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// trigger change on input (JS error if trigger on select)\n\t\t\t\t\t\t$select.trigger( 'change' );\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// on select, create option and move to end\n\t\t\t$input.on( 'select2-selecting', function ( e ) {\n\t\t\t\t// vars\n\t\t\t\tvar item = e.choice;\n\t\t\t\tvar $option = getOption( item.id );\n\n\t\t\t\t// create if doesn't exist\n\t\t\t\tif ( ! $option.length ) {\n\t\t\t\t\t$option = $(\n\t\t\t\t\t\t''\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// detach and re-append to end\n\t\t\t\t$option.detach().appendTo( $select );\n\t\t\t} );\n\n\t\t\t// add class\n\t\t\t$container.addClass( '-acf' );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction(\n\t\t\t\t'select2_init',\n\t\t\t\t$select,\n\t\t\t\toptions,\n\t\t\t\tthis.data,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// change\n\t\t\t$input.on( 'change', function () {\n\t\t\t\tvar val = $input.val();\n\t\t\t\tif ( val.indexOf( '||' ) ) {\n\t\t\t\t\tval = val.split( '||' );\n\t\t\t\t}\n\t\t\t\t$select.val( val ).trigger( 'change' );\n\t\t\t} );\n\n\t\t\t// hide select\n\t\t\t$select.hide();\n\t\t},\n\n\t\tmergeOptions: function () {\n\t\t\t// vars\n\t\t\tvar $prevOptions = false;\n\t\t\tvar $prevGroup = false;\n\n\t\t\t// loop\n\t\t\t$( '#select2-drop .select2-result-with-children' ).each(\n\t\t\t\tfunction () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar $options = $( this ).children( 'ul' );\n\t\t\t\t\tvar $group = $( this ).children( '.select2-result-label' );\n\n\t\t\t\t\t// compare to previous\n\t\t\t\t\tif ( $prevGroup && $prevGroup.text() === $group.text() ) {\n\t\t\t\t\t\t$prevGroup.append( $options.children() );\n\t\t\t\t\t\t$( this ).remove();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// update vars\n\t\t\t\t\t$prevOptions = $options;\n\t\t\t\t\t$prevGroup = $group;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tgetAjaxData: function ( term, page ) {\n\t\t\t// create Select2 v4 params\n\t\t\tvar params = {\n\t\t\t\tterm: term,\n\t\t\t\tpage: page,\n\t\t\t};\n\n\t\t\t// filter\n\t\t\tvar field = this.get( 'field' );\n\t\t\tparams = acf.applyFilters(\n\t\t\t\t'select2_ajax_data',\n\t\t\t\tparams,\n\t\t\t\tthis.data,\n\t\t\t\tthis.$el,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn Select2.prototype.getAjaxData.apply( this, [ params ] );\n\t\t},\n\t} );\n\n\t// manager\n\tvar select2Manager = new acf.Model( {\n\t\tpriority: 5,\n\t\twait: 'prepare',\n\t\tactions: {\n\t\t\tduplicate: 'onDuplicate',\n\t\t},\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar locale = acf.get( 'locale' );\n\t\t\tvar rtl = acf.get( 'rtl' );\n\t\t\tvar l10n = acf.get( 'select2L10n' );\n\t\t\tvar version = getVersion();\n\n\t\t\t// bail ealry if no l10n\n\t\t\tif ( ! l10n ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if 'en'\n\t\t\tif ( locale.indexOf( 'en' ) === 0 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// initialize\n\t\t\tif ( version == 4 ) {\n\t\t\t\tthis.addTranslations4();\n\t\t\t} else if ( version == 3 ) {\n\t\t\t\tthis.addTranslations3();\n\t\t\t}\n\t\t},\n\n\t\taddTranslations4: function () {\n\t\t\t// vars\n\t\t\tvar l10n = acf.get( 'select2L10n' );\n\t\t\tvar locale = acf.get( 'locale' );\n\n\t\t\t// modify local to match html[lang] attribute (used by Select2)\n\t\t\tlocale = locale.replace( '_', '-' );\n\n\t\t\t// select2L10n\n\t\t\tvar select2L10n = {\n\t\t\t\terrorLoading: function () {\n\t\t\t\t\treturn l10n.load_fail;\n\t\t\t\t},\n\t\t\t\tinputTooLong: function ( args ) {\n\t\t\t\t\tvar overChars = args.input.length - args.maximum;\n\t\t\t\t\tif ( overChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_long_n.replace( '%d', overChars );\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_long_1;\n\t\t\t\t},\n\t\t\t\tinputTooShort: function ( args ) {\n\t\t\t\t\tvar remainingChars = args.minimum - args.input.length;\n\t\t\t\t\tif ( remainingChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_short_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tremainingChars\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_short_1;\n\t\t\t\t},\n\t\t\t\tloadingMore: function () {\n\t\t\t\t\treturn l10n.load_more;\n\t\t\t\t},\n\t\t\t\tmaximumSelected: function ( args ) {\n\t\t\t\t\tvar maximum = args.maximum;\n\t\t\t\t\tif ( maximum > 1 ) {\n\t\t\t\t\t\treturn l10n.selection_too_long_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tmaximum\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.selection_too_long_1;\n\t\t\t\t},\n\t\t\t\tnoResults: function () {\n\t\t\t\t\treturn l10n.matches_0;\n\t\t\t\t},\n\t\t\t\tsearching: function () {\n\t\t\t\t\treturn l10n.searching;\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// append\n\t\t\tjQuery.fn.select2.amd.define(\n\t\t\t\t'select2/i18n/' + locale,\n\t\t\t\t[],\n\t\t\t\tfunction () {\n\t\t\t\t\treturn select2L10n;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\taddTranslations3: function () {\n\t\t\t// vars\n\t\t\tvar l10n = acf.get( 'select2L10n' );\n\t\t\tvar locale = acf.get( 'locale' );\n\n\t\t\t// modify local to match html[lang] attribute (used by Select2)\n\t\t\tlocale = locale.replace( '_', '-' );\n\n\t\t\t// select2L10n\n\t\t\tvar select2L10n = {\n\t\t\t\tformatMatches: function ( matches ) {\n\t\t\t\t\tif ( matches > 1 ) {\n\t\t\t\t\t\treturn l10n.matches_n.replace( '%d', matches );\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.matches_1;\n\t\t\t\t},\n\t\t\t\tformatNoMatches: function () {\n\t\t\t\t\treturn l10n.matches_0;\n\t\t\t\t},\n\t\t\t\tformatAjaxError: function () {\n\t\t\t\t\treturn l10n.load_fail;\n\t\t\t\t},\n\t\t\t\tformatInputTooShort: function ( input, min ) {\n\t\t\t\t\tvar remainingChars = min - input.length;\n\t\t\t\t\tif ( remainingChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_short_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tremainingChars\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_short_1;\n\t\t\t\t},\n\t\t\t\tformatInputTooLong: function ( input, max ) {\n\t\t\t\t\tvar overChars = input.length - max;\n\t\t\t\t\tif ( overChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_long_n.replace( '%d', overChars );\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_long_1;\n\t\t\t\t},\n\t\t\t\tformatSelectionTooBig: function ( maximum ) {\n\t\t\t\t\tif ( maximum > 1 ) {\n\t\t\t\t\t\treturn l10n.selection_too_long_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tmaximum\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.selection_too_long_1;\n\t\t\t\t},\n\t\t\t\tformatLoadMore: function () {\n\t\t\t\t\treturn l10n.load_more;\n\t\t\t\t},\n\t\t\t\tformatSearching: function () {\n\t\t\t\t\treturn l10n.searching;\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// ensure locales exists\n\t\t\t$.fn.select2.locales = $.fn.select2.locales || {};\n\n\t\t\t// append\n\t\t\t$.fn.select2.locales[ locale ] = select2L10n;\n\t\t\t$.extend( $.fn.select2.defaults, select2L10n );\n\t\t},\n\n\t\tonDuplicate: function ( $el, $el2 ) {\n\t\t\t$el2.find( '.select2-container' ).remove();\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.tinymce = {\n\t\t/*\n\t\t * defaults\n\t\t *\n\t\t * This function will return default mce and qt settings\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tdefaults: function () {\n\t\t\t// bail early if no tinyMCEPreInit\n\t\t\tif ( typeof tinyMCEPreInit === 'undefined' ) return false;\n\n\t\t\t// vars\n\t\t\tvar defaults = {\n\t\t\t\ttinymce: tinyMCEPreInit.mceInit.acf_content,\n\t\t\t\tquicktags: tinyMCEPreInit.qtInit.acf_content,\n\t\t\t};\n\n\t\t\t// return\n\t\t\treturn defaults;\n\t\t},\n\n\t\t/*\n\t\t * initialize\n\t\t *\n\t\t * This function will initialize the tinymce and quicktags instances\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tinitialize: function ( id, args ) {\n\t\t\t// defaults\n\t\t\targs = acf.parseArgs( args, {\n\t\t\t\ttinymce: true,\n\t\t\t\tquicktags: true,\n\t\t\t\ttoolbar: 'full',\n\t\t\t\tmode: 'visual', // visual,text\n\t\t\t\tfield: false,\n\t\t\t} );\n\n\t\t\t// tinymce\n\t\t\tif ( args.tinymce ) {\n\t\t\t\tthis.initializeTinymce( id, args );\n\t\t\t}\n\n\t\t\t// quicktags\n\t\t\tif ( args.quicktags ) {\n\t\t\t\tthis.initializeQuicktags( id, args );\n\t\t\t}\n\t\t},\n\n\t\t/*\n\t\t * initializeTinymce\n\t\t *\n\t\t * This function will initialize the tinymce instance\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tinitializeTinymce: function ( id, args ) {\n\t\t\t// vars\n\t\t\tvar $textarea = $( '#' + id );\n\t\t\tvar defaults = this.defaults();\n\t\t\tvar toolbars = acf.get( 'toolbars' );\n\t\t\tvar field = args.field || false;\n\t\t\tvar $field = field.$el || false;\n\n\t\t\t// bail early\n\t\t\tif ( typeof tinymce === 'undefined' ) return false;\n\t\t\tif ( ! defaults ) return false;\n\n\t\t\t// check if exists\n\t\t\tif ( tinymce.get( id ) ) {\n\t\t\t\treturn this.enable( id );\n\t\t\t}\n\n\t\t\t// settings\n\t\t\tvar init = $.extend( {}, defaults.tinymce, args.tinymce );\n\t\t\tinit.id = id;\n\t\t\tinit.selector = '#' + id;\n\n\t\t\t// toolbar\n\t\t\tvar toolbar = args.toolbar;\n\t\t\tif ( toolbar && toolbars && toolbars[ toolbar ] ) {\n\t\t\t\tfor ( var i = 1; i <= 4; i++ ) {\n\t\t\t\t\tinit[ 'toolbar' + i ] = toolbars[ toolbar ][ i ] || '';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// event\n\t\t\tinit.setup = function ( ed ) {\n\t\t\t\ted.on( 'change', function ( e ) {\n\t\t\t\t\ted.save(); // save to textarea\n\t\t\t\t\t$textarea.trigger( 'change' );\n\t\t\t\t} );\n\n\t\t\t\t// Fix bug where Gutenberg does not hear \"mouseup\" event and tries to select multiple blocks.\n\t\t\t\ted.on( 'mouseup', function ( e ) {\n\t\t\t\t\tvar event = new MouseEvent( 'mouseup' );\n\t\t\t\t\twindow.dispatchEvent( event );\n\t\t\t\t} );\n\n\t\t\t\t// Temporarily comment out. May not be necessary due to wysiwyg field actions.\n\t\t\t\t//ed.on('unload', function(e) {\n\t\t\t\t//\tacf.tinymce.remove( id );\n\t\t\t\t//});\n\t\t\t};\n\n\t\t\t// disable wp_autoresize_on (no solution yet for fixed toolbar)\n\t\t\tinit.wp_autoresize_on = false;\n\n\t\t\t// Enable wpautop allowing value to save without

                    tags.\n\t\t\t// Only if the \"TinyMCE Advanced\" plugin hasn't already set this functionality.\n\t\t\tif ( ! init.tadv_noautop ) {\n\t\t\t\tinit.wpautop = true;\n\t\t\t}\n\n\t\t\t// hook for 3rd party customization\n\t\t\tinit = acf.applyFilters(\n\t\t\t\t'wysiwyg_tinymce_settings',\n\t\t\t\tinit,\n\t\t\t\tid,\n\t\t\t\tfield\n\t\t\t);\n\n\t\t\t// z-index fix (caused too many conflicts)\n\t\t\t//if( acf.isset(tinymce,'ui','FloatPanel') ) {\n\t\t\t//\ttinymce.ui.FloatPanel.zIndex = 900000;\n\t\t\t//}\n\n\t\t\t// store settings\n\t\t\ttinyMCEPreInit.mceInit[ id ] = init;\n\n\t\t\t// visual tab is active\n\t\t\tif ( args.mode == 'visual' ) {\n\t\t\t\t// init\n\t\t\t\tvar result = tinymce.init( init );\n\n\t\t\t\t// get editor\n\t\t\t\tvar ed = tinymce.get( id );\n\n\t\t\t\t// validate\n\t\t\t\tif ( ! ed ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// add reference\n\t\t\t\ted.acf = args.field;\n\n\t\t\t\t// action\n\t\t\t\tacf.doAction( 'wysiwyg_tinymce_init', ed, ed.id, init, field );\n\t\t\t}\n\t\t},\n\n\t\t/*\n\t\t * initializeQuicktags\n\t\t *\n\t\t * This function will initialize the quicktags instance\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tinitializeQuicktags: function ( id, args ) {\n\t\t\t// vars\n\t\t\tvar defaults = this.defaults();\n\n\t\t\t// bail early\n\t\t\tif ( typeof quicktags === 'undefined' ) return false;\n\t\t\tif ( ! defaults ) return false;\n\n\t\t\t// settings\n\t\t\tvar init = $.extend( {}, defaults.quicktags, args.quicktags );\n\t\t\tinit.id = id;\n\n\t\t\t// filter\n\t\t\tvar field = args.field || false;\n\t\t\tvar $field = field.$el || false;\n\t\t\tinit = acf.applyFilters(\n\t\t\t\t'wysiwyg_quicktags_settings',\n\t\t\t\tinit,\n\t\t\t\tinit.id,\n\t\t\t\tfield\n\t\t\t);\n\n\t\t\t// store settings\n\t\t\ttinyMCEPreInit.qtInit[ id ] = init;\n\n\t\t\t// init\n\t\t\tvar ed = quicktags( init );\n\n\t\t\t// validate\n\t\t\tif ( ! ed ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// generate HTML\n\t\t\tthis.buildQuicktags( ed );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'wysiwyg_quicktags_init', ed, ed.id, init, field );\n\t\t},\n\n\t\t/*\n\t\t * buildQuicktags\n\t\t *\n\t\t * This function will build the quicktags HTML\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tbuildQuicktags: function ( ed ) {\n\t\t\tvar canvas,\n\t\t\t\tname,\n\t\t\t\tsettings,\n\t\t\t\ttheButtons,\n\t\t\t\thtml,\n\t\t\t\ted,\n\t\t\t\tid,\n\t\t\t\ti,\n\t\t\t\tuse,\n\t\t\t\tinstanceId,\n\t\t\t\tdefaults =\n\t\t\t\t\t',strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,';\n\n\t\t\tcanvas = ed.canvas;\n\t\t\tname = ed.name;\n\t\t\tsettings = ed.settings;\n\t\t\thtml = '';\n\t\t\ttheButtons = {};\n\t\t\tuse = '';\n\t\t\tinstanceId = ed.id;\n\n\t\t\t// set buttons\n\t\t\tif ( settings.buttons ) {\n\t\t\t\tuse = ',' + settings.buttons + ',';\n\t\t\t}\n\n\t\t\tfor ( i in edButtons ) {\n\t\t\t\tif ( ! edButtons[ i ] ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tid = edButtons[ i ].id;\n\t\t\t\tif (\n\t\t\t\t\tuse &&\n\t\t\t\t\tdefaults.indexOf( ',' + id + ',' ) !== -1 &&\n\t\t\t\t\tuse.indexOf( ',' + id + ',' ) === -1\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! edButtons[ i ].instance ||\n\t\t\t\t\tedButtons[ i ].instance === instanceId\n\t\t\t\t) {\n\t\t\t\t\ttheButtons[ id ] = edButtons[ i ];\n\n\t\t\t\t\tif ( edButtons[ i ].html ) {\n\t\t\t\t\t\thtml += edButtons[ i ].html( name + '_' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( use && use.indexOf( ',dfw,' ) !== -1 ) {\n\t\t\t\ttheButtons.dfw = new QTags.DFWButton();\n\t\t\t\thtml += theButtons.dfw.html( name + '_' );\n\t\t\t}\n\n\t\t\tif ( 'rtl' === document.getElementsByTagName( 'html' )[ 0 ].dir ) {\n\t\t\t\ttheButtons.textdirection = new QTags.TextDirectionButton();\n\t\t\t\thtml += theButtons.textdirection.html( name + '_' );\n\t\t\t}\n\n\t\t\ted.toolbar.innerHTML = html;\n\t\t\ted.theButtons = theButtons;\n\n\t\t\tif ( typeof jQuery !== 'undefined' ) {\n\t\t\t\tjQuery( document ).triggerHandler( 'quicktags-init', [ ed ] );\n\t\t\t}\n\t\t},\n\n\t\tdisable: function ( id ) {\n\t\t\tthis.destroyTinymce( id );\n\t\t},\n\n\t\tremove: function ( id ) {\n\t\t\tthis.destroyTinymce( id );\n\t\t},\n\n\t\tdestroy: function ( id ) {\n\t\t\tthis.destroyTinymce( id );\n\t\t},\n\n\t\tdestroyTinymce: function ( id ) {\n\t\t\t// bail early\n\t\t\tif ( typeof tinymce === 'undefined' ) return false;\n\n\t\t\t// get editor\n\t\t\tvar ed = tinymce.get( id );\n\n\t\t\t// bail early if no editor\n\t\t\tif ( ! ed ) return false;\n\n\t\t\t// save\n\t\t\ted.save();\n\n\t\t\t// destroy editor\n\t\t\ted.destroy();\n\n\t\t\t// return\n\t\t\treturn true;\n\t\t},\n\n\t\tenable: function ( id ) {\n\t\t\tthis.enableTinymce( id );\n\t\t},\n\n\t\tenableTinymce: function ( id ) {\n\t\t\t// bail early\n\t\t\tif ( typeof switchEditors === 'undefined' ) return false;\n\n\t\t\t// bail ealry if not initialized\n\t\t\tif ( typeof tinyMCEPreInit.mceInit[ id ] === 'undefined' )\n\t\t\t\treturn false;\n\n\t\t\t// Ensure textarea element is visible\n\t\t\t// - Fixes bug in block editor when switching between \"Block\" and \"Document\" tabs.\n\t\t\t$( '#' + id ).show();\n\n\t\t\t// toggle\n\t\t\tswitchEditors.go( id, 'tmce' );\n\n\t\t\t// return\n\t\t\treturn true;\n\t\t},\n\t};\n\n\tvar editorManager = new acf.Model( {\n\t\t// hook in before fieldsEventManager, conditions, etc\n\t\tpriority: 5,\n\n\t\tactions: {\n\t\t\tprepare: 'onPrepare',\n\t\t\tready: 'onReady',\n\t\t},\n\t\tonPrepare: function () {\n\t\t\t// find hidden editor which may exist within a field\n\t\t\tvar $div = $( '#acf-hidden-wp-editor' );\n\n\t\t\t// move to footer\n\t\t\tif ( $div.exists() ) {\n\t\t\t\t$div.appendTo( 'body' );\n\t\t\t}\n\t\t},\n\t\tonReady: function () {\n\t\t\t// Restore wp.editor functions used by tinymce removed in WP5.\n\t\t\tif ( acf.isset( window, 'wp', 'oldEditor' ) ) {\n\t\t\t\twp.editor.autop = wp.oldEditor.autop;\n\t\t\t\twp.editor.removep = wp.oldEditor.removep;\n\t\t\t}\n\n\t\t\t// bail early if no tinymce\n\t\t\tif ( ! acf.isset( window, 'tinymce', 'on' ) ) return;\n\n\t\t\t// restore default activeEditor\n\t\t\ttinymce.on( 'AddEditor', function ( data ) {\n\t\t\t\t// vars\n\t\t\t\tvar editor = data.editor;\n\n\t\t\t\t// bail early if not 'acf'\n\t\t\t\tif ( editor.id.substr( 0, 3 ) !== 'acf' ) return;\n\n\t\t\t\t// override if 'content' exists\n\t\t\t\teditor = tinymce.editors.content || editor;\n\n\t\t\t\t// update vars\n\t\t\t\ttinymce.activeEditor = editor;\n\t\t\t\twpActiveEditor = editor.id;\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.unload = new acf.Model( {\n\t\twait: 'load',\n\t\tactive: true,\n\t\tchanged: false,\n\n\t\tactions: {\n\t\t\tvalidation_failure: 'startListening',\n\t\t\tvalidation_success: 'stopListening',\n\t\t},\n\n\t\tevents: {\n\t\t\t'change form .acf-field': 'startListening',\n\t\t\t'submit form': 'stopListening',\n\t\t},\n\n\t\tenable: function () {\n\t\t\tthis.active = true;\n\t\t},\n\n\t\tdisable: function () {\n\t\t\tthis.active = false;\n\t\t},\n\n\t\treset: function () {\n\t\t\tthis.stopListening();\n\t\t},\n\n\t\tstartListening: function () {\n\t\t\t// bail ealry if already changed, not active\n\t\t\tif ( this.changed || ! this.active ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// update\n\t\t\tthis.changed = true;\n\n\t\t\t// add event\n\t\t\t$( window ).on( 'beforeunload', this.onUnload );\n\t\t},\n\n\t\tstopListening: function () {\n\t\t\t// update\n\t\t\tthis.changed = false;\n\n\t\t\t// remove event\n\t\t\t$( window ).off( 'beforeunload', this.onUnload );\n\t\t},\n\n\t\tonUnload: function () {\n\t\t\treturn acf.__(\n\t\t\t\t'The changes you made will be lost if you navigate away from this page'\n\t\t\t);\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * Validator\n\t *\n\t * The model for validating forms\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar Validator = acf.Model.extend( {\n\t\t/** @var string The model identifier. */\n\t\tid: 'Validator',\n\n\t\t/** @var object The model data. */\n\t\tdata: {\n\t\t\t/** @var array The form errors. */\n\t\t\terrors: [],\n\n\t\t\t/** @var object The form notice. */\n\t\t\tnotice: null,\n\n\t\t\t/** @var string The form status. loading, invalid, valid */\n\t\t\tstatus: '',\n\t\t},\n\n\t\t/** @var object The model events. */\n\t\tevents: {\n\t\t\t'changed:status': 'onChangeStatus',\n\t\t},\n\n\t\t/**\n\t\t * addErrors\n\t\t *\n\t\t * Adds errors to the form.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tarray errors An array of errors.\n\t\t * @return\tvoid\n\t\t */\n\t\taddErrors: function ( errors ) {\n\t\t\terrors.map( this.addError, this );\n\t\t},\n\n\t\t/**\n\t\t * addError\n\t\t *\n\t\t * Adds and error to the form.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject error An error object containing input and message.\n\t\t * @return\tvoid\n\t\t */\n\t\taddError: function ( error ) {\n\t\t\tthis.data.errors.push( error );\n\t\t},\n\n\t\t/**\n\t\t * hasErrors\n\t\t *\n\t\t * Returns true if the form has errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tbool\n\t\t */\n\t\thasErrors: function () {\n\t\t\treturn this.data.errors.length;\n\t\t},\n\n\t\t/**\n\t\t * clearErrors\n\t\t *\n\t\t * Removes any errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tclearErrors: function () {\n\t\t\treturn ( this.data.errors = [] );\n\t\t},\n\n\t\t/**\n\t\t * getErrors\n\t\t *\n\t\t * Returns the forms errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tarray\n\t\t */\n\t\tgetErrors: function () {\n\t\t\treturn this.data.errors;\n\t\t},\n\n\t\t/**\n\t\t * getFieldErrors\n\t\t *\n\t\t * Returns the forms field errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tarray\n\t\t */\n\t\tgetFieldErrors: function () {\n\t\t\t// vars\n\t\t\tvar errors = [];\n\t\t\tvar inputs = [];\n\n\t\t\t// loop\n\t\t\tthis.getErrors().map( function ( error ) {\n\t\t\t\t// bail early if global\n\t\t\t\tif ( ! error.input ) return;\n\n\t\t\t\t// update if exists\n\t\t\t\tvar i = inputs.indexOf( error.input );\n\t\t\t\tif ( i > -1 ) {\n\t\t\t\t\terrors[ i ] = error;\n\n\t\t\t\t\t// update\n\t\t\t\t} else {\n\t\t\t\t\terrors.push( error );\n\t\t\t\t\tinputs.push( error.input );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn errors;\n\t\t},\n\n\t\t/**\n\t\t * getGlobalErrors\n\t\t *\n\t\t * Returns the forms global errors (errors without a specific input).\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tarray\n\t\t */\n\t\tgetGlobalErrors: function () {\n\t\t\t// return array of errors that contain no input\n\t\t\treturn this.getErrors().filter( function ( error ) {\n\t\t\t\treturn ! error.input;\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * showErrors\n\t\t *\n\t\t * Displays all errors for this form.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tshowErrors: function () {\n\t\t\t// bail early if no errors\n\t\t\tif ( ! this.hasErrors() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar fieldErrors = this.getFieldErrors();\n\t\t\tvar globalErrors = this.getGlobalErrors();\n\n\t\t\t// vars\n\t\t\tvar errorCount = 0;\n\t\t\tvar $scrollTo = false;\n\n\t\t\t// loop\n\t\t\tfieldErrors.map( function ( error ) {\n\t\t\t\t// get input\n\t\t\t\tvar $input = this.$( '[name=\"' + error.input + '\"]' ).first();\n\n\t\t\t\t// if $_POST value was an array, this $input may not exist\n\t\t\t\tif ( ! $input.length ) {\n\t\t\t\t\t$input = this.$( '[name^=\"' + error.input + '\"]' ).first();\n\t\t\t\t}\n\n\t\t\t\t// bail early if input doesn't exist\n\t\t\t\tif ( ! $input.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// increase\n\t\t\t\terrorCount++;\n\n\t\t\t\t// get field\n\t\t\t\tvar field = acf.getClosestField( $input );\n\n\t\t\t\t// make sure the postbox containing this field is not hidden by screen options\n\t\t\t\tensureFieldPostBoxIsVisible( field.$el );\n\n\t\t\t\t// show error\n\t\t\t\tfield.showError( error.message );\n\n\t\t\t\t// set $scrollTo\n\t\t\t\tif ( ! $scrollTo ) {\n\t\t\t\t\t$scrollTo = field.$el;\n\t\t\t\t}\n\t\t\t}, this );\n\n\t\t\t// errorMessage\n\t\t\tvar errorMessage = acf.__( 'Validation failed' );\n\t\t\tglobalErrors.map( function ( error ) {\n\t\t\t\terrorMessage += '. ' + error.message;\n\t\t\t} );\n\t\t\tif ( errorCount == 1 ) {\n\t\t\t\terrorMessage += '. ' + acf.__( '1 field requires attention' );\n\t\t\t} else if ( errorCount > 1 ) {\n\t\t\t\terrorMessage +=\n\t\t\t\t\t'. ' +\n\t\t\t\t\tacf\n\t\t\t\t\t\t.__( '%d fields require attention' )\n\t\t\t\t\t\t.replace( '%d', errorCount );\n\t\t\t}\n\n\t\t\t// notice\n\t\t\tif ( this.has( 'notice' ) ) {\n\t\t\t\tthis.get( 'notice' ).update( {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\ttext: errorMessage,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tvar notice = acf.newNotice( {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\ttext: errorMessage,\n\t\t\t\t\ttarget: this.$el,\n\t\t\t\t} );\n\t\t\t\tthis.set( 'notice', notice );\n\t\t\t}\n\n\t\t\t// if no $scrollTo, set to message\n\t\t\tif ( ! $scrollTo ) {\n\t\t\t\t$scrollTo = this.get( 'notice' ).$el;\n\t\t\t}\n\n\t\t\t// timeout\n\t\t\tsetTimeout( function () {\n\t\t\t\t$( 'html, body' ).animate(\n\t\t\t\t\t{\n\t\t\t\t\t\tscrollTop:\n\t\t\t\t\t\t\t$scrollTo.offset().top - $( window ).height() / 2,\n\t\t\t\t\t},\n\t\t\t\t\t500\n\t\t\t\t);\n\t\t\t}, 10 );\n\t\t},\n\n\t\t/**\n\t\t * onChangeStatus\n\t\t *\n\t\t * Update the form class when changing the 'status' data\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The form element.\n\t\t * @param\tstring value The new status.\n\t\t * @param\tstring prevValue The old status.\n\t\t * @return\tvoid\n\t\t */\n\t\tonChangeStatus: function ( e, $el, value, prevValue ) {\n\t\t\tthis.$el.removeClass( 'is-' + prevValue ).addClass( 'is-' + value );\n\t\t},\n\n\t\t/**\n\t\t * validate\n\t\t *\n\t\t * Vaildates the form via AJAX.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject args A list of settings to customize the validation process.\n\t\t * @return\tbool True if the form is valid.\n\t\t */\n\t\tvalidate: function ( args ) {\n\t\t\t// default args\n\t\t\targs = acf.parseArgs( args, {\n\t\t\t\t// trigger event\n\t\t\t\tevent: false,\n\n\t\t\t\t// reset the form after submit\n\t\t\t\treset: false,\n\n\t\t\t\t// loading callback\n\t\t\t\tloading: function () {},\n\n\t\t\t\t// complete callback\n\t\t\t\tcomplete: function () {},\n\n\t\t\t\t// failure callback\n\t\t\t\tfailure: function () {},\n\n\t\t\t\t// success callback\n\t\t\t\tsuccess: function ( $form ) {\n\t\t\t\t\t$form.submit();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// return true if is valid - allows form submit\n\t\t\tif ( this.get( 'status' ) == 'valid' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// return false if is currently validating - prevents form submit\n\t\t\tif ( this.get( 'status' ) == 'validating' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// return true if no ACF fields exist (no need to validate)\n\t\t\tif ( ! this.$( '.acf-field' ).length ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// if event is provided, create a new success callback.\n\t\t\tif ( args.event ) {\n\t\t\t\tvar event = $.Event( null, args.event );\n\t\t\t\targs.success = function () {\n\t\t\t\t\tacf.enableSubmit( $( event.target ) ).trigger( event );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// action for 3rd party\n\t\t\tacf.doAction( 'validation_begin', this.$el );\n\n\t\t\t// lock form\n\t\t\tacf.lockForm( this.$el );\n\n\t\t\t// loading callback\n\t\t\targs.loading( this.$el, this );\n\n\t\t\t// update status\n\t\t\tthis.set( 'status', 'validating' );\n\n\t\t\t// success callback\n\t\t\tvar onSuccess = function ( json ) {\n\t\t\t\t// validate\n\t\t\t\tif ( ! acf.isAjaxSuccess( json ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// filter\n\t\t\t\tvar data = acf.applyFilters(\n\t\t\t\t\t'validation_complete',\n\t\t\t\t\tjson.data,\n\t\t\t\t\tthis.$el,\n\t\t\t\t\tthis\n\t\t\t\t);\n\n\t\t\t\t// add errors\n\t\t\t\tif ( ! data.valid ) {\n\t\t\t\t\tthis.addErrors( data.errors );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// complete\n\t\t\tvar onComplete = function () {\n\t\t\t\t// unlock form\n\t\t\t\tacf.unlockForm( this.$el );\n\n\t\t\t\t// failure\n\t\t\t\tif ( this.hasErrors() ) {\n\t\t\t\t\t// update status\n\t\t\t\t\tthis.set( 'status', 'invalid' );\n\n\t\t\t\t\t// action\n\t\t\t\t\tacf.doAction( 'validation_failure', this.$el, this );\n\n\t\t\t\t\t// display errors\n\t\t\t\t\tthis.showErrors();\n\n\t\t\t\t\t// failure callback\n\t\t\t\t\targs.failure( this.$el, this );\n\n\t\t\t\t\t// success\n\t\t\t\t} else {\n\t\t\t\t\t// update status\n\t\t\t\t\tthis.set( 'status', 'valid' );\n\n\t\t\t\t\t// remove previous error message\n\t\t\t\t\tif ( this.has( 'notice' ) ) {\n\t\t\t\t\t\tthis.get( 'notice' ).update( {\n\t\t\t\t\t\t\ttype: 'success',\n\t\t\t\t\t\t\ttext: acf.__( 'Validation successful' ),\n\t\t\t\t\t\t\ttimeout: 1000,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\t// action\n\t\t\t\t\tacf.doAction( 'validation_success', this.$el, this );\n\t\t\t\t\tacf.doAction( 'submit', this.$el );\n\n\t\t\t\t\t// success callback (submit form)\n\t\t\t\t\targs.success( this.$el, this );\n\n\t\t\t\t\t// lock form\n\t\t\t\t\tacf.lockForm( this.$el );\n\n\t\t\t\t\t// reset\n\t\t\t\t\tif ( args.reset ) {\n\t\t\t\t\t\tthis.reset();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// complete callback\n\t\t\t\targs.complete( this.$el, this );\n\n\t\t\t\t// clear errors\n\t\t\t\tthis.clearErrors();\n\t\t\t};\n\n\t\t\t// serialize form data\n\t\t\tvar data = acf.serialize( this.$el );\n\t\t\tdata.action = 'acf/validate_save_post';\n\n\t\t\t// ajax\n\t\t\t$.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( data ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: onSuccess,\n\t\t\t\tcomplete: onComplete,\n\t\t\t} );\n\n\t\t\t// return false to fail validation and allow AJAX\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * setup\n\t\t *\n\t\t * Called during the constructor function to setup this instance\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tjQuery $form The form element.\n\t\t * @return\tvoid\n\t\t */\n\t\tsetup: function ( $form ) {\n\t\t\t// set $el\n\t\t\tthis.$el = $form;\n\t\t},\n\n\t\t/**\n\t\t * reset\n\t\t *\n\t\t * Rests the validation to be used again.\n\t\t *\n\t\t * @date\t6/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\treset: function () {\n\t\t\t// reset data\n\t\t\tthis.set( 'errors', [] );\n\t\t\tthis.set( 'notice', null );\n\t\t\tthis.set( 'status', '' );\n\n\t\t\t// unlock form\n\t\t\tacf.unlockForm( this.$el );\n\t\t},\n\t} );\n\n\t/**\n\t * getValidator\n\t *\n\t * Returns the instance for a given form element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $el The form element.\n\t * @return\tobject\n\t */\n\tvar getValidator = function ( $el ) {\n\t\t// instantiate\n\t\tvar validator = $el.data( 'acf' );\n\t\tif ( ! validator ) {\n\t\t\tvalidator = new Validator( $el );\n\t\t}\n\n\t\t// return\n\t\treturn validator;\n\t};\n\n\t/**\n\t * acf.validateForm\n\t *\n\t * A helper function for the Validator.validate() function.\n\t * Returns true if form is valid, or fetches a validation request and returns false.\n\t *\n\t * @date\t4/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tobject args A list of settings to customize the validation process.\n\t * @return\tbool\n\t */\n\n\tacf.validateForm = function ( args ) {\n\t\treturn getValidator( args.form ).validate( args );\n\t};\n\n\t/**\n\t * acf.enableSubmit\n\t *\n\t * Enables a submit button and returns the element.\n\t *\n\t * @date\t30/8/18\n\t * @since\t5.7.4\n\t *\n\t * @param\tjQuery $submit The submit button.\n\t * @return\tjQuery\n\t */\n\tacf.enableSubmit = function ( $submit ) {\n\t\treturn $submit.removeClass( 'disabled' );\n\t};\n\n\t/**\n\t * acf.disableSubmit\n\t *\n\t * Disables a submit button and returns the element.\n\t *\n\t * @date\t30/8/18\n\t * @since\t5.7.4\n\t *\n\t * @param\tjQuery $submit The submit button.\n\t * @return\tjQuery\n\t */\n\tacf.disableSubmit = function ( $submit ) {\n\t\treturn $submit.addClass( 'disabled' );\n\t};\n\n\t/**\n\t * acf.showSpinner\n\t *\n\t * Shows the spinner element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $spinner The spinner element.\n\t * @return\tjQuery\n\t */\n\tacf.showSpinner = function ( $spinner ) {\n\t\t$spinner.addClass( 'is-active' ); // add class (WP > 4.2)\n\t\t$spinner.css( 'display', 'inline-block' ); // css (WP < 4.2)\n\t\treturn $spinner;\n\t};\n\n\t/**\n\t * acf.hideSpinner\n\t *\n\t * Hides the spinner element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $spinner The spinner element.\n\t * @return\tjQuery\n\t */\n\tacf.hideSpinner = function ( $spinner ) {\n\t\t$spinner.removeClass( 'is-active' ); // add class (WP > 4.2)\n\t\t$spinner.css( 'display', 'none' ); // css (WP < 4.2)\n\t\treturn $spinner;\n\t};\n\n\t/**\n\t * acf.lockForm\n\t *\n\t * Locks a form by disabeling its primary inputs and showing a spinner.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $form The form element.\n\t * @return\tjQuery\n\t */\n\tacf.lockForm = function ( $form ) {\n\t\t// vars\n\t\tvar $wrap = findSubmitWrap( $form );\n\t\tvar $submit = $wrap.find( '.button, [type=\"submit\"]' );\n\t\tvar $spinner = $wrap.find( '.spinner, .acf-spinner' );\n\n\t\t// hide all spinners (hides the preview spinner)\n\t\tacf.hideSpinner( $spinner );\n\n\t\t// lock\n\t\tacf.disableSubmit( $submit );\n\t\tacf.showSpinner( $spinner.last() );\n\t\treturn $form;\n\t};\n\n\t/**\n\t * acf.unlockForm\n\t *\n\t * Unlocks a form by enabeling its primary inputs and hiding all spinners.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $form The form element.\n\t * @return\tjQuery\n\t */\n\tacf.unlockForm = function ( $form ) {\n\t\t// vars\n\t\tvar $wrap = findSubmitWrap( $form );\n\t\tvar $submit = $wrap.find( '.button, [type=\"submit\"]' );\n\t\tvar $spinner = $wrap.find( '.spinner, .acf-spinner' );\n\n\t\t// unlock\n\t\tacf.enableSubmit( $submit );\n\t\tacf.hideSpinner( $spinner );\n\t\treturn $form;\n\t};\n\n\t/**\n\t * findSubmitWrap\n\t *\n\t * An internal function to find the 'primary' form submit wrapping element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $form The form element.\n\t * @return\tjQuery\n\t */\n\tvar findSubmitWrap = function ( $form ) {\n\t\t// default post submit div\n\t\tvar $wrap = $form.find( '#submitdiv' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// 3rd party publish box\n\t\tvar $wrap = $form.find( '#submitpost' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// term, user\n\t\tvar $wrap = $form.find( 'p.submit' ).last();\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// front end form\n\t\tvar $wrap = $form.find( '.acf-form-submit' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// default\n\t\treturn $form;\n\t};\n\n\t/**\n\t * A debounced function to trigger a form submission.\n\t *\n\t * @date\t15/07/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\ttype Var Description.\n\t * @return\ttype Description.\n\t */\n\tvar submitFormDebounced = acf.debounce( function ( $form ) {\n\t\t$form.submit();\n\t} );\n\n\t/**\n\t * Ensure field is visible for validation errors\n\t *\n\t * @date\t20/10/2021\n\t * @since\t5.11.0\n\t */\n\tvar ensureFieldPostBoxIsVisible = function ( $el ) {\n\t\t// Find the postbox element containing this field.\n\t\tvar $postbox = $el.parents( '.acf-postbox' );\n\t\tif ( $postbox.length ) {\n\t\t\tvar acf_postbox = acf.getPostbox( $postbox );\n\t\t\tif ( acf_postbox && acf_postbox.isHiddenByScreenOptions() ) {\n\t\t\t\t// Rather than using .show() here, we don't want the field to appear next reload.\n\t\t\t\t// So just temporarily show the field group so validation can complete.\n\t\t\t\tacf_postbox.$el.removeClass( 'hide-if-js' );\n\t\t\t\tacf_postbox.$el.css( 'display', '' );\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Ensure metaboxes which contain browser validation failures are visible.\n\t *\n\t * @date\t20/10/2021\n\t * @since\t5.11.0\n\t */\n\tvar ensureInvalidFieldVisibility = function () {\n\t\t// Load each ACF input field and check it's browser validation state.\n\t\tvar $inputs = $( '.acf-field input' );\n\t\t$inputs.each( function () {\n\t\t\tif ( ! this.checkValidity() ) {\n\t\t\t\t// Field is invalid, so we need to make sure it's metabox is visible.\n\t\t\t\tensureFieldPostBoxIsVisible( $( this ) );\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * acf.validation\n\t *\n\t * Global validation logic\n\t *\n\t * @date\t4/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tacf.validation = new acf.Model( {\n\t\t/** @var string The model identifier. */\n\t\tid: 'validation',\n\n\t\t/** @var bool The active state. Set to false before 'prepare' to prevent validation. */\n\t\tactive: true,\n\n\t\t/** @var string The model initialize time. */\n\t\twait: 'prepare',\n\n\t\t/** @var object The model actions. */\n\t\tactions: {\n\t\t\tready: 'addInputEvents',\n\t\t\tappend: 'addInputEvents',\n\t\t},\n\n\t\t/** @var object The model events. */\n\t\tevents: {\n\t\t\t'click input[type=\"submit\"]': 'onClickSubmit',\n\t\t\t'click button[type=\"submit\"]': 'onClickSubmit',\n\t\t\t//'click #editor .editor-post-publish-button': 'onClickSubmitGutenberg',\n\t\t\t'click #save-post': 'onClickSave',\n\t\t\t'submit form#post': 'onSubmitPost',\n\t\t\t'submit form': 'onSubmit',\n\t\t},\n\n\t\t/**\n\t\t * initialize\n\t\t *\n\t\t * Called when initializing the model.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tinitialize: function () {\n\t\t\t// check 'validation' setting\n\t\t\tif ( ! acf.get( 'validation' ) ) {\n\t\t\t\tthis.active = false;\n\t\t\t\tthis.actions = {};\n\t\t\t\tthis.events = {};\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * enable\n\t\t *\n\t\t * Enables validation.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tenable: function () {\n\t\t\tthis.active = true;\n\t\t},\n\n\t\t/**\n\t\t * disable\n\t\t *\n\t\t * Disables validation.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tdisable: function () {\n\t\t\tthis.active = false;\n\t\t},\n\n\t\t/**\n\t\t * reset\n\t\t *\n\t\t * Rests the form validation to be used again\n\t\t *\n\t\t * @date\t6/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tjQuery $form The form element.\n\t\t * @return\tvoid\n\t\t */\n\t\treset: function ( $form ) {\n\t\t\tgetValidator( $form ).reset();\n\t\t},\n\n\t\t/**\n\t\t * addInputEvents\n\t\t *\n\t\t * Adds 'invalid' event listeners to HTML inputs.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tjQuery $el The element being added / readied.\n\t\t * @return\tvoid\n\t\t */\n\t\taddInputEvents: function ( $el ) {\n\t\t\t// Bug exists in Safari where custom \"invalid\" handling prevents draft from saving.\n\t\t\tif ( acf.get( 'browser' ) === 'safari' ) return;\n\n\t\t\t// vars\n\t\t\tvar $inputs = $( '.acf-field [name]', $el );\n\n\t\t\t// check\n\t\t\tif ( $inputs.length ) {\n\t\t\t\tthis.on( $inputs, 'invalid', 'onInvalid' );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onInvalid\n\t\t *\n\t\t * Callback for the 'invalid' event.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonInvalid: function ( e, $el ) {\n\t\t\t// prevent default\n\t\t\t// - prevents browser error message\n\t\t\t// - also fixes chrome bug where 'hidden-by-tab' field throws focus error\n\t\t\te.preventDefault();\n\n\t\t\t// vars\n\t\t\tvar $form = $el.closest( 'form' );\n\n\t\t\t// check form exists\n\t\t\tif ( $form.length ) {\n\t\t\t\t// add error to validator\n\t\t\t\tgetValidator( $form ).addError( {\n\t\t\t\t\tinput: $el.attr( 'name' ),\n\t\t\t\t\tmessage: acf.strEscape( e.target.validationMessage ),\n\t\t\t\t} );\n\n\t\t\t\t// trigger submit on $form\n\t\t\t\t// - allows for \"save\", \"preview\" and \"publish\" to work\n\t\t\t\tsubmitFormDebounced( $form );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onClickSubmit\n\t\t *\n\t\t * Callback when clicking submit.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonClickSubmit: function ( e, $el ) {\n\t\t\t// Some browsers (safari) force their browser validation before our AJAX validation,\n\t\t\t// so we need to make sure fields are visible earlier than showErrors()\n\t\t\tensureInvalidFieldVisibility();\n\n\t\t\t// store the \"click event\" for later use in this.onSubmit()\n\t\t\tthis.set( 'originalEvent', e );\n\t\t},\n\n\t\t/**\n\t\t * onClickSave\n\t\t *\n\t\t * Set ignore to true when saving a draft.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonClickSave: function ( e, $el ) {\n\t\t\tthis.set( 'ignore', true );\n\t\t},\n\n\t\t/**\n\t\t * onClickSubmitGutenberg\n\t\t *\n\t\t * Custom validation event for the gutenberg editor.\n\t\t *\n\t\t * @date\t29/10/18\n\t\t * @since\t5.8.0\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonClickSubmitGutenberg: function ( e, $el ) {\n\t\t\t// validate\n\t\t\tvar valid = acf.validateForm( {\n\t\t\t\tform: $( '#editor' ),\n\t\t\t\tevent: e,\n\t\t\t\treset: true,\n\t\t\t\tfailure: function ( $form, validator ) {\n\t\t\t\t\tvar $notice = validator.get( 'notice' ).$el;\n\t\t\t\t\t$notice.appendTo( '.components-notice-list' );\n\t\t\t\t\t$notice\n\t\t\t\t\t\t.find( '.acf-notice-dismiss' )\n\t\t\t\t\t\t.removeClass( 'small' );\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// if not valid, stop event and allow validation to continue\n\t\t\tif ( ! valid ) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onSubmitPost\n\t\t *\n\t\t * Callback when the 'post' form is submit.\n\t\t *\n\t\t * @date\t5/3/19\n\t\t * @since\t5.7.13\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonSubmitPost: function ( e, $el ) {\n\t\t\t// Check if is preview.\n\t\t\tif ( $( 'input#wp-preview' ).val() === 'dopreview' ) {\n\t\t\t\t// Ignore validation.\n\t\t\t\tthis.set( 'ignore', true );\n\n\t\t\t\t// Unlock form to fix conflict with core \"submit.edit-post\" event causing all submit buttons to be disabled.\n\t\t\t\tacf.unlockForm( $el );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onSubmit\n\t\t *\n\t\t * Callback when the form is submit.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonSubmit: function ( e, $el ) {\n\t\t\t// Allow form to submit if...\n\t\t\tif (\n\t\t\t\t// Validation has been disabled.\n\t\t\t\t! this.active ||\n\t\t\t\t// Or this event is to be ignored.\n\t\t\t\tthis.get( 'ignore' ) ||\n\t\t\t\t// Or this event has already been prevented.\n\t\t\t\te.isDefaultPrevented()\n\t\t\t) {\n\t\t\t\t// Return early and call reset function.\n\t\t\t\treturn this.allowSubmit();\n\t\t\t}\n\n\t\t\t// Validate form.\n\t\t\tvar valid = acf.validateForm( {\n\t\t\t\tform: $el,\n\t\t\t\tevent: this.get( 'originalEvent' ),\n\t\t\t} );\n\n\t\t\t// If not valid, stop event to prevent form submit.\n\t\t\tif ( ! valid ) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * allowSubmit\n\t\t *\n\t\t * Resets data during onSubmit when the form is allowed to submit.\n\t\t *\n\t\t * @date\t5/3/19\n\t\t * @since\t5.7.13\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tallowSubmit: function () {\n\t\t\t// Reset \"ignore\" state.\n\t\t\tthis.set( 'ignore', false );\n\n\t\t\t// Reset \"originalEvent\" object.\n\t\t\tthis.set( 'originalEvent', false );\n\n\t\t\t// Return true\n\t\t\treturn true;\n\t\t},\n\t} );\n\n\tvar gutenbergValidation = new acf.Model( {\n\t\twait: 'prepare',\n\t\tinitialize: function () {\n\t\t\t// Bail early if not Gutenberg.\n\t\t\tif ( ! acf.isGutenberg() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Custommize the editor.\n\t\t\tthis.customizeEditor();\n\t\t},\n\t\tcustomizeEditor: function () {\n\t\t\t// Extract vars.\n\t\t\tvar editor = wp.data.dispatch( 'core/editor' );\n\t\t\tvar editorSelect = wp.data.select( 'core/editor' );\n\t\t\tvar notices = wp.data.dispatch( 'core/notices' );\n\n\t\t\t// Backup original method.\n\t\t\tvar savePost = editor.savePost;\n\n\t\t\t// Listen for changes to post status and perform actions:\n\t\t\t// a) Enable validation for \"publish\" action.\n\t\t\t// b) Remember last non \"publish\" status used for restoring after validation fail.\n\t\t\tvar useValidation = false;\n\t\t\tvar lastPostStatus = '';\n\t\t\twp.data.subscribe( function () {\n\t\t\t\tvar postStatus = editorSelect.getEditedPostAttribute(\n\t\t\t\t\t'status'\n\t\t\t\t);\n\t\t\t\tuseValidation =\n\t\t\t\t\tpostStatus === 'publish' || postStatus === 'future';\n\t\t\t\tlastPostStatus =\n\t\t\t\t\tpostStatus !== 'publish' ? postStatus : lastPostStatus;\n\t\t\t} );\n\n\t\t\t// Create validation version.\n\t\t\teditor.savePost = function ( options ) {\n\t\t\t\toptions = options || {};\n\n\t\t\t\t// Backup vars.\n\t\t\t\tvar _this = this;\n\t\t\t\tvar _args = arguments;\n\n\t\t\t\t// Perform validation within a Promise.\n\t\t\t\treturn new Promise( function ( resolve, reject ) {\n\t\t\t\t\t// Bail early if is autosave or preview.\n\t\t\t\t\tif ( options.isAutosave || options.isPreview ) {\n\t\t\t\t\t\treturn resolve( 'Validation ignored (autosave).' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Bail early if validation is not needed.\n\t\t\t\t\tif ( ! useValidation ) {\n\t\t\t\t\t\treturn resolve( 'Validation ignored (draft).' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Validate the editor form.\n\t\t\t\t\tvar valid = acf.validateForm( {\n\t\t\t\t\t\tform: $( '#editor' ),\n\t\t\t\t\t\treset: true,\n\t\t\t\t\t\tcomplete: function ( $form, validator ) {\n\t\t\t\t\t\t\t// Always unlock the form after AJAX.\n\t\t\t\t\t\t\teditor.unlockPostSaving( 'acf' );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfailure: function ( $form, validator ) {\n\t\t\t\t\t\t\t// Get validation error and append to Gutenberg notices.\n\t\t\t\t\t\t\tvar notice = validator.get( 'notice' );\n\t\t\t\t\t\t\tnotices.createErrorNotice( notice.get( 'text' ), {\n\t\t\t\t\t\t\t\tid: 'acf-validation',\n\t\t\t\t\t\t\t\tisDismissible: true,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tnotice.remove();\n\n\t\t\t\t\t\t\t// Restore last non \"publish\" status.\n\t\t\t\t\t\t\tif ( lastPostStatus ) {\n\t\t\t\t\t\t\t\teditor.editPost( {\n\t\t\t\t\t\t\t\t\tstatus: lastPostStatus,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Rejext promise and prevent savePost().\n\t\t\t\t\t\t\treject( 'Validation failed.' );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsuccess: function () {\n\t\t\t\t\t\t\tnotices.removeNotice( 'acf-validation' );\n\n\t\t\t\t\t\t\t// Resolve promise and allow savePost().\n\t\t\t\t\t\t\tresolve( 'Validation success.' );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Resolve promise and allow savePost() if no validation is needed.\n\t\t\t\t\tif ( valid ) {\n\t\t\t\t\t\tresolve( 'Validation bypassed.' );\n\n\t\t\t\t\t\t// Otherwise, lock the form and wait for AJAX response.\n\t\t\t\t\t} else {\n\t\t\t\t\t\teditor.lockPostSaving( 'acf' );\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\t.then( function () {\n\t\t\t\t\t\treturn savePost.apply( _this, _args );\n\t\t\t\t\t} )\n\t\t\t\t\t.catch( function ( err ) {\n\t\t\t\t\t\t// Nothing to do here, user is alerted of validation issues.\n\t\t\t\t\t} );\n\t\t\t};\n\t\t},\n\t} );\n} )( jQuery );\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './_acf-field.js';\nimport './_acf-fields.js';\nimport './_acf-field-accordion.js';\nimport './_acf-field-button-group.js';\nimport './_acf-field-checkbox.js';\nimport './_acf-field-color-picker.js';\nimport './_acf-field-date-picker.js';\nimport './_acf-field-date-time-picker.js';\nimport './_acf-field-google-map.js';\nimport './_acf-field-image.js';\nimport './_acf-field-file.js';\nimport './_acf-field-link.js';\nimport './_acf-field-oembed.js';\nimport './_acf-field-radio.js';\nimport './_acf-field-range.js';\nimport './_acf-field-relationship.js';\nimport './_acf-field-select.js';\nimport './_acf-field-tab.js';\nimport './_acf-field-post-object.js';\nimport './_acf-field-page-link.js';\nimport './_acf-field-user.js';\nimport './_acf-field-taxonomy.js';\nimport './_acf-field-time-picker.js';\nimport './_acf-field-true-false.js';\nimport './_acf-field-url.js';\nimport './_acf-field-wysiwyg.js';\nimport './_acf-condition.js';\nimport './_acf-conditions.js';\nimport './_acf-condition-types.js';\nimport './_acf-unload.js';\nimport './_acf-postbox.js';\nimport './_acf-media.js';\nimport './_acf-screen.js';\nimport './_acf-select2.js';\nimport './_acf-tinymce.js';\nimport './_acf-validation.js';\nimport './_acf-helpers.js';\nimport './_acf-compatibility.js';\n"],"names":["$","undefined","acf","newCompatibility","instance","compatibilty","__proto__","compatibility","getCompatibility","_acf","l10n","o","fields","update","set","add_action","addAction","remove_action","removeAction","do_action","doAction","add_filter","addFilter","remove_filter","removeFilter","apply_filters","applyFilters","parse_args","parseArgs","disable_el","disable","disable_form","enable_el","enable","enable_form","update_user_setting","updateUserSetting","prepare_for_ajax","prepareForAjax","is_ajax_success","isAjaxSuccess","remove_el","remove","remove_tr","str_replace","strReplace","render_select","renderSelect","get_uniqid","uniqid","serialize_form","serialize","esc_html","strEscape","str_sanitize","strSanitize","_e","k1","k2","compatKey","compats","__","string","get_selector","s","selector","isPlainObject","isEmptyObject","k","get_fields","$el","all","args","is","parent","suppressFilters","findFields","get_field","$fields","apply","arguments","length","first","get_closest_field","closest","get_field_wrap","get_field_key","$field","data","get_field_type","get_data","defaults","maybe_get","obj","key","value","keys","String","split","i","hasOwnProperty","compatibleArgument","arg","Field","compatibleArguments","arrayArgs","map","compatibleCallback","origCallback","document","action","callback","priority","context","actions","model","filters","events","extend","each","name","_add_action","_add_filter","_add_event","indexOf","event","substr","fn","e","field_group","on","get","field","type","_set_$field","focus","doFocus","_validation","validation","remove_error","getField","removeError","add_warning","message","showNotice","text","timeout","fetch","validateForm","enableSubmit","disableSubmit","showSpinner","hideSpinner","unlockForm","lockForm","tooltip","newTooltip","target","temp","confirm","button_y","button_n","cancel","confirm_remove","confirmRemove","media","Model","activeFrame","new_media_popup","frame","onNewMediaPopup","popup","props","mime_types","allowedTypes","id","attachment","newMediaPopup","select2","init","$select","allow_null","allowNull","ajax_action","ajaxAction","newSelect2","destroy","getInstance","postbox","render","edit_url","editLink","edit_title","editTitle","newPostbox","screen","check","ajax","jQuery","parseString","val","isEqualTo","v1","v2","toLowerCase","isEqualToNumber","parseFloat","isGreaterThan","isLessThan","inArray","array","containsString","haystack","needle","matchesPattern","pattern","regexp","RegExp","match","HasValue","Condition","operator","label","fieldTypes","rule","Array","choices","fieldObject","registerConditionType","HasNoValue","prototype","EqualTo","isNumeric","NotEqualTo","PatternMatch","Contains","TrueFalseEqualTo","choiceType","TrueFalseNotEqualTo","SelectEqualTo","lines","$setting","$input","prop","push","line","trim","SelectNotEqualTo","GreaterThan","LessThan","SelectionGreaterThan","SelectionLessThan","storage","conditions","change","keyup","enableField","disableField","setup","getEventTarget","calculate","newCondition","fieldType","conditionTypes","getConditionTypes","condition","modelId","strPascalCase","proto","mid","models","getConditionType","registerConditionForFieldType","conditionType","types","ProtoFieldTypes","ProtoOperator","CONTEXT","conditionsManager","new_field","onNewField","has","getConditions","getSiblingField","getFields","sibling","parents","Conditions","timeStamp","groups","rules","addRules","addRule","changed","show","hide","showEnable","cid","hideDisable","pass","getGroups","group","passed","filter","hasGroups","addGroup","hasGroup","getGroup","removeGroup","delete","groupArray","hasRule","getRule","removeRule","wait","$control","initialize","hasClass","$label","$labelWrap","$inputWrap","$wrap","$instructions","children","append","$table","$newLabel","$newInput","$newTable","attr","$newWrap","html","addClass","order","getPreference","css","prepend","accordionManager","iconHtml","open","$parent","nextUntil","removeAttr","registerFieldType","unload","isOpen","toggle","close","isGutenberg","duration","find","slideDown","replaceWith","siblings","slideUp","removeClass","onClick","preventDefault","onInvalidField","busy","setTimeout","onUnload","setPreference","setValue","trigger","selected","$toggle","$inputs","not","getValue","onChange","checked","onClickAdd","getInputName","before","onClickToggle","$labels","onClickCustom","$text","next","duplicateField","$inputText","iris","defaultColor","palettes","clear","wpColorPicker","onDuplicate","$duplicate","$colorPicker","initializeCompatibility","dateFormat","altField","altFormat","changeYear","yearRange","changeMonth","showButtonPanel","firstDay","newDatePicker","datepicker","onBlur","datePickerManager","locale","rtl","isRTL","regional","setDefaults","exists","wrap","DatePickerField","timeFormat","altFieldTimeOnly","altTimeFormat","controlType","oneLine","newDateTimePicker","dateTimePickerManager","timepicker","datetimepicker","ImageField","validateAttachment","attributes","url","alt","title","filename","filesizeHumanReadable","icon","src","selectAttachment","multiple","mode","library","select","proxy","editAttachment","button","showField","$search","$canvas","setState","state","JSON","parse","silent","valAttr","stringify","renderVal","address","setPosition","lat","lng","marker","setVisible","newLatLng","google","maps","LatLng","center","position","getPosition","setCenter","withAPI","initializeMap","bind","zoom","mapArgs","scrollwheel","parseInt","mapTypeId","MapTypeId","ROADMAP","draggable","raiseOnDrag","autocomplete","Map","markerArgs","Marker","isset","autocompleteArgs","places","Autocomplete","bindTo","addMapEvents","addListener","latLng","searchPosition","place","getPlace","searchPlace","getZoom","geocoder","geocode","location","results","status","replace","parseResult","geometry","formatted_address","searchAddress","searchLocation","navigator","geolocation","alert","getCurrentPosition","coords","latitude","longitude","error","result","place_id","street_number","street_name","city","post_code","country","keywords","address_components","component","component_type","long_name","short_name","onClickClear","onClickLocate","onClickSearch","onFocusSearch","onBlurSearch","onKeyupSearch","onKeydownSearch","which","blur","onShow","loading","window","Geocoder","dataType","cache","success","caption","description","width","height","size","isget","getNext","removeAttachment","onClickEdit","onClickRemove","$hiddenInput","getFileInputData","param","$node","$div","wpLink","getNodeValue","decode","setNodeValue","getInputValue","setInputValue","$textarea","onOpen","wpLinkL10n","onClose","$submit","isSubmit","off","getSearchVal","showLoading","hideLoading","maybeSearch","prevUrl","clearTimeout","search","ajaxData","field_key","xhr","abort","json","complete","onKeypressSearch","onChangeSearch","SelectField","$inputAlt","$list","list","$listItems","$listItem","newChoice","join","newValue","delayed","once","sortable","items","forceHelperSize","forcePlaceholderSize","scroll","scrollTop","onScrollChoices","one","onceInView","Math","ceil","scrollHeight","innerHeight","paged","onKeypressFilter","onChangeFilter","maybeFetch","max","$span","$li","getAjaxData","$choiceslist","$loading","onComplete","onSuccess","more","walkChoices","$html","$prevLabel","$prevList","walk","isArray","item","escHtml","escAttr","removeField","inherit","placeholder","onRemove","tabs","tab","findTabs","prevAll","findTab","$tabs","$tab","settings","endpoint","placement","Tabs","addTab","isActive","showFields","hiddenByTab","hideFields","lockKey","visible","refresh","hidden","reset","active","index","initialized","$before","initializeTabs","getVisible","shift","groupIndex","tabIndex","isVisible","selectTab","closeTabs","getActive","setActive","hasActive","closeActive","closeTab","openTab","t","$a","outerHTML","Tab","onRefresh","attribute","top","outerHeight","tabsManager","prepare","invalid_field","getTabs","getInstances","ftype","getRelatedPrototype","getRelatedType","getFieldType","$form","$name","$button","$message","notice","step1","newPopup","step2","content","step3","stopImmediatePropagation","startButtonLoading","term_name","term_parent","step4","stopButtonLoading","step5","newNotice","getAjaxMessage","dismiss","getAjaxError","term","$option","term_id","term_label","after","otherField","appendTerm","selectTerm","appendTermSelect","appendTermCheckbox","addOption","$ul","selectOption","onClickRadio","closeText","selectText","timeOnly","dp_instance","t_instance","$close","dpDiv","_updateDateTime","newTimePicker","$switch","$on","$off","switchOn","switchOff","onFocus","onKeypress","keyCode","isValid","onkeyup","query_nonce","user_query_nonce","unmountField","remountField","getMode","initializeEditor","tinymce","quicktags","toolbar","oldId","newId","uniqueId","inputData","inputVal","rename","destructive","onMousedown","enableEditor","disableEditor","eventScope","$parents","removeNotice","away","showError","bubbles","newField","getFieldTypes","category","limit","slice","findField","findClosestField","getClosestField","addGlobalFieldAction","globalAction","pluralAction","singleAction","globalCallback","extraArgs","pluralArgs","concat","pluralCallback","singleArgs","addSingleFieldAction","singleEvent","singleCallback","variations","variation","prefix","singleFieldEvents","globalFieldActions","singleFieldActions","fieldsEventManager","duplicateFieldsManager","duplicate","duplicate_fields","$el2","onDuplicateFields","duplicates","refreshHelper","show_field","hide_field","remove_field","unmount_field","remount_field","mountHelper","sortstart","sortstop","onSortstart","$item","onSortstop","sortableHelper","$placeholder","duplicateHelper","after_duplicate","onAfterDuplicate","vals","tableHelper","renderTables","self","renderTable","$ths","$tds","$th","$cells","$hidden","availableWidth","colspan","$fixedWidths","$auoWidths","last","$td","fieldsHelper","renderGroups","renderGroup","$row","thisTop","thisLeft","left","outerWidth","thisHeight","add","bodyClassShiftHelper","keydown","isShiftKey","onKeyDown","onKeyUp","autoOpen","EditMediaPopup","SelectMediaPopup","getPostID","postID","getMimeTypes","getMimeType","allTypes","MediaPopup","options","getFrameOptions","addFrameStates","wp","addFrameEvents","detach","states","uploadedTo","post__in","Query","query","mirroring","_acfuploader","controller","Library","filterable","editable","allowLocalEdits","EditImage","image","view","loadEditor","selection","_x","_wpPluploadSettings","multipart_params","console","log","customizeFilters","audio","video","mimeType","newFilter","orderby","unattached","uploaded","renderFilters","customizePrototypes","post","customizeAttachmentsButton","customizeAttachmentsRouter","customizeAttachmentFilters","customizeAttachmentCompat","customizeAttachmentLibrary","Button","_","Backbone","listenTo","Parent","Router","addExpand","AttachmentFilters","All","chain","el","sortBy","pluck","AttachmentCompat","rendered","save","serializeForAjax","saveCompat","always","postSave","AttachmentLibrary","Attachment","acf_errors","toggleSelection","collection","single","errors","$sidebar","postboxManager","getPostbox","getPostboxes","Postbox","style","edit","$postbox","$hide","$hideLabel","$hndle","$handleActions","$inside","isHiddenByScreenOptions","isPost","isUser","isTaxonomy","isAttachment","isNavMenu","isWidget","isComment","getPageTemplate","getPageParent","getPageType","getPostType","getPostFormat","getPostCoreTerms","terms","tax_input","post_category","tax","getPostTerms","productType","getProductType","product_type","uniqueArray","post_id","postType","post_type","pageTemplate","page_template","pageParent","page_parent","pageType","page_type","postFormat","post_format","postTerms","post_terms","renderPostScreen","renderUserScreen","copyEvents","$from","$to","_data","handler","sortMetabox","ids","wpMinorVersion","postboxHeader","classes","$prefs","_result","sorted","gutenScreen","postEdits","subscribe","debounce","onRefreshPostScreen","domReady","getTaxonomies","taxonomy","rest_base","_postEdits","getPostEdits","getEditedPostAttribute","taxonomies","slug","dispatch","locations","getActiveMetaBoxLocations","getMetaBoxesPerLocation","m","r","setAvailableMetaBoxesPerLocation","ajaxResults","getVersion","Select2_4","Select2_3","Select2","getOption","unselectOption","option","$options","sort","a","b","getAttribute","mergeOptions","getChoices","crawl","$child","params","page","getAjaxResults","processAjaxResults","pagination","allowClear","escapeMarkup","markup","templateSelection","$selection","element","appendTo","attrAjax","removeData","delay","processResults","$container","stop","$prevOptions","$prevGroup","$group","separator","dropdownCss","initSelection","inputValue","quietMillis","choice","select2Manager","version","addTranslations4","addTranslations3","select2L10n","errorLoading","load_fail","inputTooLong","overChars","input","maximum","input_too_long_n","input_too_long_1","inputTooShort","remainingChars","minimum","input_too_short_n","input_too_short_1","loadingMore","load_more","maximumSelected","selection_too_long_n","selection_too_long_1","noResults","matches_0","searching","amd","define","formatMatches","matches","matches_n","matches_1","formatNoMatches","formatAjaxError","formatInputTooShort","min","formatInputTooLong","formatSelectionTooBig","formatLoadMore","formatSearching","locales","tinyMCEPreInit","mceInit","acf_content","qtInit","initializeTinymce","initializeQuicktags","toolbars","ed","MouseEvent","dispatchEvent","wp_autoresize_on","tadv_noautop","wpautop","buildQuicktags","canvas","theButtons","use","instanceId","buttons","edButtons","dfw","QTags","DFWButton","getElementsByTagName","dir","textdirection","TextDirectionButton","innerHTML","triggerHandler","destroyTinymce","enableTinymce","switchEditors","go","editorManager","ready","onPrepare","onReady","editor","autop","oldEditor","removep","editors","activeEditor","wpActiveEditor","validation_failure","validation_success","stopListening","startListening","Validator","addErrors","addError","hasErrors","clearErrors","getErrors","getFieldErrors","inputs","getGlobalErrors","showErrors","fieldErrors","globalErrors","errorCount","$scrollTo","ensureFieldPostBoxIsVisible","errorMessage","animate","offset","onChangeStatus","prevValue","validate","failure","submit","Event","valid","getValidator","validator","form","$spinner","findSubmitWrap","submitFormDebounced","acf_postbox","ensureInvalidFieldVisibility","checkValidity","addInputEvents","onInvalid","validationMessage","onClickSubmit","onClickSave","onClickSubmitGutenberg","$notice","onSubmitPost","onSubmit","isDefaultPrevented","allowSubmit","gutenbergValidation","customizeEditor","editorSelect","notices","savePost","useValidation","lastPostStatus","postStatus","_this","_args","Promise","resolve","reject","isAutosave","isPreview","unlockPostSaving","createErrorNotice","isDismissible","editPost","lockPostSaving","then","catch","err"],"sourceRoot":""} \ No newline at end of file diff --git a/assets/build/js/acf-input.min.js b/assets/build/js/acf-input.min.js index f7a16b1..9f9cf42 100644 --- a/assets/build/js/acf-input.min.js +++ b/assets/build/js/acf-input.min.js @@ -1 +1 @@ -!function(e,i){var a=[];acf.Field=acf.Model.extend({type:"",eventScope:".acf-field",wait:"ready",setup:function(t){this.$el=t,this.inherit(t),this.inherit(this.$control())},val:function(t){return t!==i?this.setValue(t):this.prop("disabled")?null:this.getValue()},getValue:function(){return this.$input().val()},setValue:function(t){return acf.val(this.$input(),t)},__:function(t){return acf._e(this.type,t)},$control:function(){return!1},$input:function(){return this.$("[name]:first")},$inputWrap:function(){return this.$(".acf-input:first")},$labelWrap:function(){return this.$(".acf-label:first")},getInputName:function(){return this.$input().attr("name")||""},parent:function(){var t=this.parents();return!!t.length&&t[0]},parents:function(){var t=this.$el.parents(".acf-field");return acf.getFields(t)},show:function(t,e){t=acf.show(this.$el,t);return t&&(this.prop("hidden",!1),acf.doAction("show_field",this,e)),t},hide:function(t,e){t=acf.hide(this.$el,t);return t&&(this.prop("hidden",!0),acf.doAction("hide_field",this,e)),t},enable:function(t,e){t=acf.enable(this.$el,t);return t&&(this.prop("disabled",!1),acf.doAction("enable_field",this,e)),t},disable:function(t,e){t=acf.disable(this.$el,t);return t&&(this.prop("disabled",!0),acf.doAction("disable_field",this,e)),t},showEnable:function(t,e){return this.enable.apply(this,arguments),this.show.apply(this,arguments)},hideDisable:function(t,e){return this.disable.apply(this,arguments),this.hide.apply(this,arguments)},showNotice:function(t){"object"!=typeof t&&(t={text:t}),this.notice&&this.notice.remove(),t.target=this.$inputWrap(),this.notice=acf.newNotice(t)},removeNotice:function(t){this.notice&&(this.notice.away(t||0),this.notice=!1)},showError:function(t){this.$el.addClass("acf-error"),t!==i&&this.showNotice({text:t,type:"error",dismiss:!1}),acf.doAction("invalid_field",this),this.$el.one("focus change","input, select, textarea",e.proxy(this.removeError,this))},removeError:function(){this.$el.removeClass("acf-error"),this.removeNotice(250),acf.doAction("valid_field",this)},trigger:function(t,e,i){return"invalidField"==t&&(i=!0),acf.Model.prototype.trigger.apply(this,[t,e,i])}}),acf.newField=function(t){var e=t.data("type"),e=n(e),t=new(acf.models[e]||acf.Field)(t);return acf.doAction("new_field",t),t};var n=function(t){return acf.strPascalCase(t||"")+"Field"};acf.registerFieldType=function(t){var e=t.prototype.type,i=n(e);acf.models[i]=t,a.push(e)},acf.getFieldType=function(t){t=n(t);return acf.models[t]||!1},acf.getFieldTypes=function(i){i=acf.parseArgs(i,{category:""});var n=[];return a.map(function(t){var e=acf.getFieldType(t),t=e.prototype;i.category&&t.category!==i.category||n.push(e)}),n}}(jQuery),function(n){acf.findFields=function(t){var e=".acf-field",i=!1;return(t=!(t=acf.parseArgs(t,{key:"",name:"",type:"",is:"",parent:!1,sibling:!1,limit:!1,visible:!1,suppressFilters:!1})).suppressFilters?acf.applyFilters("find_fields_args",t):t).key&&(e+='[data-key="'+t.key+'"]'),t.type&&(e+='[data-type="'+t.type+'"]'),t.name&&(e+='[data-name="'+t.name+'"]'),t.is&&(e+=t.is),t.visible&&(e+=":visible"),i=t.parent?t.parent.find(e):t.sibling?t.sibling.siblings(e):n(e),t.suppressFilters||(i=i.not(".acf-clone .acf-field"),i=acf.applyFilters("find_fields",i)),i=t.limit?i.slice(0,t.limit):i},acf.findField=function(t,e){return acf.findFields({key:t,limit:1,parent:e,suppressFilters:!0})},acf.getField=function(t){return(t=!(t instanceof jQuery)?acf.findField(t):t).data("acf")||acf.newField(t)},acf.getFields=function(t){t instanceof jQuery||(t=acf.findFields(t));var e=[];return t.each(function(){var t=acf.getField(n(this));e.push(t)}),e},acf.findClosestField=function(t){return t.closest(".acf-field")},acf.getClosestField=function(t){t=acf.findClosestField(t);return this.getField(t)};var e=function(t){var a=t+"_field",s=t+"Field";acf.addAction(a,function(e){var i=acf.arrayArgs(arguments),n=i.slice(1);["type","name","key"].map(function(t){t="/"+t+"="+e.get(t);i=[a+t,e].concat(n),acf.doAction.apply(null,i)}),-1'),e=c('

                    '),o=c('
                      '),r=c(""),t.append(n.html()),o.append(r),e.append(o),a.append(t),a.append(e),n.remove(),s.remove(),a.attr("colspan",2),n=t,a=e,s=r),i.addClass("acf-accordion"),n.addClass("acf-accordion-title"),a.addClass("acf-accordion-content"),l++,this.get("multi_expand")&&i.attr("multi-expand",1);var r=acf.getPreference("this.accordions")||[];void 0!==r[l-1]&&this.set("open",r[l-1]),this.get("open")&&(i.addClass("-open"),a.css("display","block")),n.prepend(d.iconHtml({open:this.get("open")}));n=i.parent();s.addClass(n.hasClass("-left")?"-left":""),s.addClass(n.hasClass("-clear")?"-clear":""),s.append(i.nextUntil(".acf-field-accordion",".acf-field")),s.removeAttr("data-open data-multi_expand data-endpoint")}}});acf.registerFieldType(t);var d=new acf.Model({actions:{unload:"onUnload"},events:{"click .acf-accordion-title":"onClick","invalidField .acf-accordion":"onInvalidField"},isOpen:function(t){return t.hasClass("-open")},toggle:function(t){this.isOpen(t)?this.close(t):this.open(t)},iconHtml:function(t){return acf.isGutenberg()?t.open?'':'':t.open?'':''},open:function(t){var e=acf.isGutenberg()?0:300;t.find(".acf-accordion-content:first").slideDown(e).css("display","block"),t.find(".acf-accordion-icon:first").replaceWith(this.iconHtml({open:!0})),t.addClass("-open"),acf.doAction("show",t),t.attr("multi-expand")||t.siblings(".acf-accordion.-open").each(function(){d.close(c(this))})},close:function(t){var e=acf.isGutenberg()?0:300;t.find(".acf-accordion-content:first").slideUp(e),t.find(".acf-accordion-icon:first").replaceWith(this.iconHtml({open:!1})),t.removeClass("-open"),acf.doAction("hide",t)},onClick:function(t,e){t.preventDefault(),this.toggle(e.parent())},onInvalidField:function(t,e){this.busy||(this.busy=!0,this.setTimeout(function(){this.busy=!1},1e3),this.open(e))},onUnload:function(t){var e=[];c(".acf-accordion").each(function(){var t=c(this).hasClass("-open")?1:0;e.push(t)}),e.length&&acf.setPreference("this.accordions",e)}})}(jQuery),function(){var t=acf.Field.extend({type:"button_group",events:{'click input[type="radio"]':"onClick"},$control:function(){return this.$(".acf-button-group")},$input:function(){return this.$("input:checked")},setValue:function(t){this.$('input[value="'+t+'"]').prop("checked",!0).trigger("change")},onClick:function(t,e){var i=e.parent("label"),n=i.hasClass("selected");this.$(".selected").removeClass("selected"),i.addClass("selected"),this.get("allow_null")&&n&&(i.removeClass("selected"),e.prop("checked",!1).trigger("change"))}});acf.registerFieldType(t)}(jQuery),function(e){var t=acf.Field.extend({type:"checkbox",events:{"change input":"onChange","click .acf-add-checkbox":"onClickAdd","click .acf-checkbox-toggle":"onClickToggle","click .acf-checkbox-custom":"onClickCustom"},$control:function(){return this.$(".acf-checkbox-list")},$toggle:function(){return this.$(".acf-checkbox-toggle")},$input:function(){return this.$('input[type="hidden"]')},$inputs:function(){return this.$('input[type="checkbox"]').not(".acf-checkbox-toggle")},getValue:function(){var t=[];return this.$(":checked").each(function(){t.push(e(this).val())}),!!t.length&&t},onChange:function(t,e){var i=e.prop("checked"),n=e.parent("label"),e=this.$toggle();i?n.addClass("selected"):n.removeClass("selected"),e.length&&(0==this.$inputs().not(":checked").length?e.prop("checked",!0):e.prop("checked",!1))},onClickAdd:function(t,e){var i='
                    • ';e.parent("li").before(i)},onClickToggle:function(t,e){var i=e.prop("checked"),n=this.$('input[type="checkbox"]'),e=this.$("label");n.prop("checked",i),i?e.addClass("selected"):e.removeClass("selected")},onClickCustom:function(t,e){var i=e.prop("checked"),n=e.next('input[type="text"]');i?n.prop("disabled",!1):(n.prop("disabled",!0),""==n.val()&&e.parent("li").remove())}});acf.registerFieldType(t)}(jQuery),function(){var t=acf.Field.extend({type:"color_picker",wait:"load",events:{duplicateField:"onDuplicate"},$control:function(){return this.$(".acf-color-picker")},$input:function(){return this.$('input[type="hidden"]')},$inputText:function(){return this.$('input[type="text"]')},setValue:function(t){acf.val(this.$input(),t),this.$inputText().iris("color",t)},initialize:function(){var e=this.$input(),i=this.$inputText(),t=function(t){setTimeout(function(){acf.val(e,i.val())},1)},t={defaultColor:!1,palettes:!0,hide:!0,change:t,clear:t},t=acf.applyFilters("color_picker_args",t,this);i.wpColorPicker(t)},onDuplicate:function(t,e,i){$colorPicker=i.find(".wp-picker-container"),$inputText=i.find('input[type="text"]'),$colorPicker.replaceWith($inputText)}});acf.registerFieldType(t)}(jQuery),function(n){var t=acf.Field.extend({type:"date_picker",events:{'blur input[type="text"]':"onBlur",duplicateField:"onDuplicate"},$control:function(){return this.$(".acf-date-picker")},$input:function(){return this.$('input[type="hidden"]')},$inputText:function(){return this.$('input[type="text"]')},initialize:function(){if(this.has("save_format"))return this.initializeCompatibility();var t=this.$input(),e=this.$inputText(),t={dateFormat:this.get("date_format"),altField:t,altFormat:"yymmdd",changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day")},t=acf.applyFilters("date_picker_args",t,this);acf.newDatePicker(e,t),acf.doAction("date_picker_init",e,t,this)},initializeCompatibility:function(){var t=this.$input(),e=this.$inputText();e.val(t.val());var i={dateFormat:this.get("date_format"),altField:t,altFormat:this.get("save_format"),changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day")},t=(i=acf.applyFilters("date_picker_args",i,this)).dateFormat;i.dateFormat=this.get("save_format"),acf.newDatePicker(e,i),e.datepicker("option","dateFormat",t),acf.doAction("date_picker_init",e,i,this)},onBlur:function(){this.$inputText().val()||acf.val(this.$input(),"")},onDuplicate:function(t,e,i){i.find('input[type="text"]').removeClass("hasDatepicker").removeAttr("id")}});acf.registerFieldType(t);new acf.Model({priority:5,wait:"ready",initialize:function(){var t=acf.get("locale"),e=acf.get("rtl"),i=acf.get("datePickerL10n");return!!i&&(void 0!==n.datepicker&&(i.isRTL=e,n.datepicker.regional[t]=i,void n.datepicker.setDefaults(i)))}});acf.newDatePicker=function(t,e){if(void 0===n.datepicker)return!1;t.datepicker(e=e||{}),n("body > #ui-datepicker-div").exists()&&n("body > #ui-datepicker-div").wrap('
                      ')}}(jQuery),function(n){var t=acf.models.DatePickerField.extend({type:"date_time_picker",$control:function(){return this.$(".acf-date-time-picker")},initialize:function(){var t=this.$input(),e=this.$inputText(),t={dateFormat:this.get("date_format"),timeFormat:this.get("time_format"),altField:t,altFieldTimeOnly:!1,altFormat:"yy-mm-dd",altTimeFormat:"HH:mm:ss",changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day"),controlType:"select",oneLine:!0},t=acf.applyFilters("date_time_picker_args",t,this);acf.newDateTimePicker(e,t),acf.doAction("date_time_picker_init",e,t,this)}});acf.registerFieldType(t);new acf.Model({priority:5,wait:"ready",initialize:function(){var t=acf.get("locale"),e=acf.get("rtl"),i=acf.get("dateTimePickerL10n");return!!i&&(void 0!==n.timepicker&&(i.isRTL=e,n.timepicker.regional[t]=i,void n.timepicker.setDefaults(i)))}});acf.newDateTimePicker=function(t,e){if(void 0===n.timepicker)return!1;t.datetimepicker(e=e||{}),n("body > #ui-datepicker-div").exists()&&n("body > #ui-datepicker-div").wrap('
                      ')}}(jQuery),function(e){var t=acf.Field.extend({type:"google_map",map:!1,wait:"load",events:{'click a[data-name="clear"]':"onClickClear",'click a[data-name="locate"]':"onClickLocate",'click a[data-name="search"]':"onClickSearch","keydown .search":"onKeydownSearch","keyup .search":"onKeyupSearch","focus .search":"onFocusSearch","blur .search":"onBlurSearch",showField:"onShow"},$control:function(){return this.$(".acf-google-map")},$search:function(){return this.$(".search")},$canvas:function(){return this.$(".canvas")},setState:function(t){this.$control().removeClass("-value -loading -searching"),(t="default"===t?this.val()?"value":"":t)&&this.$control().addClass("-"+t)},getValue:function(){var t=this.$input().val();return!!t&&JSON.parse(t)},setValue:function(t,e){var i="";t&&(i=JSON.stringify(t)),acf.val(this.$input(),i),e||(this.renderVal(t),acf.doAction("google_map_change",t,this.map,this))},renderVal:function(t){t?(this.setState("value"),this.$search().val(t.address),this.setPosition(t.lat,t.lng)):(this.setState(""),this.$search().val(""),this.map.marker.setVisible(!1))},newLatLng:function(t,e){return new google.maps.LatLng(parseFloat(t),parseFloat(e))},setPosition:function(t,e){this.map.marker.setPosition({lat:parseFloat(t),lng:parseFloat(e)}),this.map.marker.setVisible(!0),this.center()},center:function(){var t,e=this.map.marker.getPosition();e=e?(t=e.lat(),e.lng()):(t=this.get("lat"),this.get("lng")),this.map.setCenter({lat:parseFloat(t),lng:parseFloat(e)})},initialize:function(){!function(t){if(a)return t();if(acf.isset(window,"google","maps","Geocoder"))return a=new google.maps.Geocoder,t();acf.addAction("google_map_api_loaded",t),i||(t=acf.get("google_map_api"))&&(i=!0,e.ajax({url:t,dataType:"script",cache:!0,success:function(){a=new google.maps.Geocoder,acf.doAction("google_map_api_loaded")}}))}(this.initializeMap.bind(this))},initializeMap:function(){var t=this.getValue(),e=acf.parseArgs(t,{zoom:this.get("zoom"),lat:this.get("lat"),lng:this.get("lng")}),i={scrollwheel:!1,zoom:parseInt(e.zoom),center:{lat:parseFloat(e.lat),lng:parseFloat(e.lng)},mapTypeId:google.maps.MapTypeId.ROADMAP,marker:{draggable:!0,raiseOnDrag:!0},autocomplete:{}},i=acf.applyFilters("google_map_args",i,this),n=new google.maps.Map(this.$canvas()[0],i),a=acf.parseArgs(i.marker,{draggable:!0,raiseOnDrag:!0,map:n}),a=acf.applyFilters("google_map_marker_args",a,this),e=new google.maps.Marker(a),a=!1;acf.isset(google,"maps","places","Autocomplete")&&(i=i.autocomplete||{},i=acf.applyFilters("google_map_autocomplete_args",i,this),(a=new google.maps.places.Autocomplete(this.$search()[0],i)).bindTo("bounds",n)),this.addMapEvents(this,n,e,a),n.acf=this,n.marker=e,n.autocomplete=a,this.map=n,t&&this.setPosition(t.lat,t.lng),acf.doAction("google_map_init",n,e,this)},addMapEvents:function(i,e,t,n){google.maps.event.addListener(e,"click",function(t){var e=t.latLng.lat(),t=t.latLng.lng();i.searchPosition(e,t)}),google.maps.event.addListener(t,"dragend",function(){var t=this.getPosition().lat(),e=this.getPosition().lng();i.searchPosition(t,e)}),n&&google.maps.event.addListener(n,"place_changed",function(){var t=this.getPlace();i.searchPlace(t)}),google.maps.event.addListener(e,"zoom_changed",function(){var t=i.val();t&&(t.zoom=e.getZoom(),i.setValue(t,!0))})},searchPosition:function(i,n){this.setState("loading"),a.geocode({location:{lat:i,lng:n}},function(t,e){this.setState(""),"OK"!==e?this.showNotice({text:acf.__("Location not found: %s").replace("%s",e),type:"warning"}):((t=this.parseResult(t[0])).lat=i,t.lng=n,this.val(t))}.bind(this))},searchPlace:function(t){var e;t&&(t.geometry?(t.formatted_address=this.$search().val(),e=this.parseResult(t),this.val(e)):t.name&&this.searchAddress(t.name))},searchAddress:function(i){if(i){var t=i.split(",");if(2==t.length){var e=parseFloat(t[0]),t=parseFloat(t[1]);if(e&&t)return this.searchPosition(e,t)}this.setState("loading"),a.geocode({address:i},function(t,e){this.setState(""),"OK"!==e?this.showNotice({text:acf.__("Location not found: %s").replace("%s",e),type:"warning"}):((t=this.parseResult(t[0])).address=i,this.val(t))}.bind(this))}},searchLocation:function(){if(!navigator.geolocation)return alert(acf.__("Sorry, this browser does not support geolocation"));this.setState("loading"),navigator.geolocation.getCurrentPosition(function(t){this.setState("");var e=t.coords.latitude,t=t.coords.longitude;this.searchPosition(e,t)}.bind(this),function(t){this.setState("")}.bind(this))},parseResult:function(t){var e={address:t.formatted_address,lat:t.geometry.location.lat(),lng:t.geometry.location.lng()};e.zoom=this.map.getZoom(),t.place_id&&(e.place_id=t.place_id),t.name&&(e.name=t.name);var i,n={street_number:["street_number"],street_name:["street_address","route"],city:["locality"],state:["administrative_area_level_1","administrative_area_level_2","administrative_area_level_3","administrative_area_level_4","administrative_area_level_5"],post_code:["postal_code"],country:["country"]};for(i in n)for(var a=n[i],s=0;s
                      '):this.$el=n('
                        '),i.before(this.$el),this.set("index",a,!0),a++},initializeTabs:function(){var t=this.getVisible().shift(),e=(acf.getPreference("this.tabs")||[])[this.get("index")];(t=this.tabs[e]&&this.tabs[e].isVisible()?this.tabs[e]:t)?this.selectTab(t):this.closeTabs(),this.set("initialized",!0)},getVisible:function(){return this.tabs.filter(function(t){return t.isVisible()})},getActive:function(){return this.active},setActive:function(t){return this.active=t},hasActive:function(){return!1!==this.active},isActive:function(t){var e=this.getActive();return e&&e.cid===t.cid},closeActive:function(){this.hasActive()&&this.closeTab(this.getActive())},openTab:function(t){this.closeActive(),t.open(),this.setActive(t)},closeTab:function(t){t.close(),this.setActive(!1)},closeTabs:function(){this.tabs.map(this.closeTab,this)},selectTab:function(e){this.tabs.map(function(t){e.cid!==t.cid&&this.closeTab(t)},this),this.openTab(e)},addTab:function(t,e){t=n("
                      • "+t.outerHTML()+"
                      • ");this.$("ul").append(t);e=new i({$el:t,field:e,group:this});return this.tabs.push(e),e},reset:function(){return this.closeActive(),this.refresh()},refresh:function(){if(this.hasActive())return!1;var t=this.getVisible().shift();return t&&this.openTab(t),t},onRefresh:function(){var t,e,i;"left"===this.get("placement")&&(t=this.$el.parent(),i=this.$el.children("ul"),e=t.is("td")?"height":"min-height",i=i.position().top+i.outerHeight(!0)-1,t.css(e,i))}}),i=acf.Model.extend({group:!1,field:!1,events:{"click a":"onClick"},index:function(){return this.$el.index()},isVisible:function(){return acf.isVisible(this.$el)},isActive:function(){return this.$el.hasClass("active")},open:function(){this.$el.addClass("active"),this.field.showFields()},close:function(){this.$el.removeClass("active"),this.field.hideFields()},onClick:function(t,e){t.preventDefault(),this.toggle()},toggle:function(){this.isActive()||this.group.openTab(this)}});new acf.Model({priority:50,actions:{prepare:"render",append:"render",unload:"onUnload",invalid_field:"onInvalidField"},findTabs:function(){return n(".acf-tab-wrap")},getTabs:function(){return acf.getInstances(this.findTabs())},render:function(t){this.getTabs().map(function(t){t.get("initialized")||t.initializeTabs()})},onInvalidField:function(t){this.busy||t.hiddenByTab&&(t.hiddenByTab.toggle(),this.busy=!0,this.setTimeout(function(){this.busy=!1},100))},onUnload:function(){var e=[];this.getTabs().map(function(t){t=t.hasActive()?t.getActive().index():0;e.push(t)}),e.length&&acf.setPreference("this.tabs",e)}})}(jQuery),function(){var t=acf.models.SelectField.extend({type:"post_object"});acf.registerFieldType(t)}(jQuery),function(){var t=acf.models.SelectField.extend({type:"page_link"});acf.registerFieldType(t)}(jQuery),function(){var t=acf.models.SelectField.extend({type:"user"});acf.registerFieldType(t)}(jQuery),function(p){var t=acf.Field.extend({type:"taxonomy",data:{ftype:"select"},select2:!1,wait:"load",events:{'click a[data-name="add"]':"onClickAdd",'click input[type="radio"]':"onClickRadio",removeField:"onRemove"},$control:function(){return this.$(".acf-taxonomy-field")},$input:function(){return this.getRelatedPrototype().$input.apply(this,arguments)},getRelatedType:function(){var t=this.get("ftype");return t="multi_select"==t?"select":t},getRelatedPrototype:function(){return acf.getFieldType(this.getRelatedType()).prototype},getValue:function(){return this.getRelatedPrototype().getValue.apply(this,arguments)},setValue:function(){return this.getRelatedPrototype().setValue.apply(this,arguments)},initialize:function(){this.getRelatedPrototype().initialize.apply(this,arguments)},onRemove:function(){var t=this.getRelatedPrototype();t.onRemove&&t.onRemove.apply(this,arguments)},onClickAdd:function(t,e){var i=this,n=!1,a=!1,s=!1,o=!1,r=!1,c=!1,l=function(t){n.loading(!1),n.content(t),a=n.$("form"),s=n.$('input[name="term_name"]'),o=n.$('select[name="term_parent"]'),r=n.$(".acf-submit-button"),s.trigger("focus"),n.on("submit","form",d)},d=function(t,e){if(t.preventDefault(),t.stopImmediatePropagation(),""===s.val())return s.trigger("focus"),!1;acf.startButtonLoading(r);t={action:"acf/fields/taxonomy/add_term",field_key:i.get("key"),term_name:s.val(),term_parent:o.length?o.val():0};p.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(t),type:"post",dataType:"json",success:u})},u=function(t){acf.stopButtonLoading(r),c&&c.remove(),c=acf.isAjaxSuccess(t)?(s.val(""),f(t.data),acf.newNotice({type:"success",text:acf.getAjaxMessage(t),target:a,timeout:2e3,dismiss:!1})):acf.newNotice({type:"error",text:acf.getAjaxError(t),target:a,timeout:2e3,dismiss:!1}),s.trigger("focus")},f=function(e){var t=p('");e.term_parent?o.children('option[value="'+e.term_parent+'"]').after(t):o.append(t),acf.getFields({type:"taxonomy"}).map(function(t){t.get("taxonomy")==i.get("taxonomy")&&t.appendTerm(e)}),i.selectTerm(e.term_id)};!function(){n=acf.newPopup({title:e.attr("title"),loading:!0,width:"300px"});var t={action:"acf/fields/taxonomy/add_term",field_key:i.get("key")};p.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(t),type:"post",dataType:"html",success:l})}()},appendTerm:function(t){"select"==this.getRelatedType()?this.appendTermSelect(t):this.appendTermCheckbox(t)},appendTermSelect:function(t){this.select2.addOption({id:t.term_id,text:t.term_label})},appendTermCheckbox:function(t){var e=this.$("[name]:first").attr("name"),i=this.$("ul:first");"checkbox"==this.getRelatedType()&&(e+="[]");e=p(['
                      • ',"","
                      • "].join(""));t.term_parent&&((i=(t=i.find('li[data-id="'+t.term_parent+'"]')).children("ul")).exists()||(i=p('
                          '),t.append(i))),i.append(e)},selectTerm:function(t){"select"==this.getRelatedType()?this.select2.selectOption(t):this.$('input[value="'+t+'"]').prop("checked",!0).trigger("change")},onClickRadio:function(t,e){var i=e.parent("label"),n=i.hasClass("selected");this.$(".selected").removeClass("selected"),i.addClass("selected"),this.get("allow_null")&&n&&(i.removeClass("selected"),e.prop("checked",!1).trigger("change"))}});acf.registerFieldType(t)}(jQuery),function(i){var t=acf.models.DatePickerField.extend({type:"time_picker",$control:function(){return this.$(".acf-time-picker")},initialize:function(){var t=this.$input(),e=this.$inputText(),t={timeFormat:this.get("time_format"),altField:t,altFieldTimeOnly:!1,altTimeFormat:"HH:mm:ss",showButtonPanel:!0,controlType:"select",oneLine:!0,closeText:acf.get("dateTimePickerL10n").selectText,timeOnly:!0,onClose:function(t,e,i){e=e.dpDiv.find(".ui-datepicker-close");!t&&e.is(":hover")&&i._updateDateTime()}},t=acf.applyFilters("time_picker_args",t,this);acf.newTimePicker(e,t),acf.doAction("time_picker_init",e,t,this)}});acf.registerFieldType(t),acf.newTimePicker=function(t,e){if(void 0===i.timepicker)return!1;t.timepicker(e=e||{}),i("body > #ui-datepicker-div").exists()&&i("body > #ui-datepicker-div").wrap('
                          ')}}(jQuery),function(){var t=acf.Field.extend({type:"true_false",events:{"change .acf-switch-input":"onChange","focus .acf-switch-input":"onFocus","blur .acf-switch-input":"onBlur","keypress .acf-switch-input":"onKeypress"},$input:function(){return this.$('input[type="checkbox"]')},$switch:function(){return this.$(".acf-switch")},getValue:function(){return this.$input().prop("checked")?1:0},initialize:function(){this.render()},render:function(){var t,e,i=this.$switch();i.length&&(t=i.children(".acf-switch-on"),e=i.children(".acf-switch-off"),(i=Math.max(t.width(),e.width()))&&(t.css("min-width",i),e.css("min-width",i)))},switchOn:function(){this.$input().prop("checked",!0),this.$switch().addClass("-on")},switchOff:function(){this.$input().prop("checked",!1),this.$switch().removeClass("-on")},onChange:function(t,e){e.prop("checked")?this.switchOn():this.switchOff()},onFocus:function(t,e){this.$switch().addClass("-focus")},onBlur:function(t,e){this.$switch().removeClass("-focus")},onKeypress:function(t,e){return 37===t.keyCode?this.switchOff():39===t.keyCode?this.switchOn():void 0}});acf.registerFieldType(t)}(jQuery),function(){var t=acf.Field.extend({type:"url",events:{'keyup input[type="url"]':"onkeyup"},$control:function(){return this.$(".acf-input-wrap")},$input:function(){return this.$('input[type="url"]')},initialize:function(){this.render()},isValid:function(){var t=this.val();return!!t&&(-1!==t.indexOf("://")||0===t.indexOf("//"))},render:function(){this.isValid()?this.$control().addClass("-valid"):this.$control().removeClass("-valid")},onkeyup:function(t,e){this.render()}});acf.registerFieldType(t)}(jQuery),function(){var t=acf.Field.extend({type:"wysiwyg",wait:"load",events:{"mousedown .acf-editor-wrap.delay":"onMousedown",unmountField:"disableEditor",remountField:"enableEditor",removeField:"disableEditor"},$control:function(){return this.$(".acf-editor-wrap")},$input:function(){return this.$("textarea")},getMode:function(){return this.$control().hasClass("tmce-active")?"visual":"text"},initialize:function(){this.$control().hasClass("delay")||this.initializeEditor()},initializeEditor:function(){var t=this.$control(),e=this.$input(),i={tinymce:!0,quicktags:!0,toolbar:this.get("toolbar"),mode:this.getMode(),field:this},n=e.attr("id"),a=acf.uniqueId("acf-editor-"),s=e.data(),e=e.val();acf.rename({target:t,search:n,replace:a,destructive:!0}),this.set("id",a,!0),this.$input().data(s).val(e),acf.tinymce.initialize(a,i)},onMousedown:function(t){t.preventDefault();t=this.$control();t.removeClass("delay"),t.find(".acf-editor-toolbar").remove(),this.initializeEditor()},enableEditor:function(){"visual"==this.getMode()&&acf.tinymce.enable(this.get("id"))},disableEditor:function(){acf.tinymce.destroy(this.get("id"))}});acf.registerFieldType(t)}(jQuery),function(e){var s=[];acf.Condition=acf.Model.extend({type:"",operator:"==",label:"",choiceType:"input",fieldTypes:[],data:{conditions:!1,field:!1,rule:{}},events:{change:"change",keyup:"change",enableField:"change",disableField:"change"},setup:function(t){e.extend(this.data,t)},getEventTarget:function(t,e){return t||this.get("field").$el},change:function(t,e){this.get("conditions").change(t)},match:function(t,e){return!1},calculate:function(){return this.match(this.get("rule"),this.get("field"))},choices:function(t){return''}}),acf.newCondition=function(t,e){var i=e.get("field"),n=i.getField(t.field);if(!i||!n)return!1;e={rule:t,target:i,conditions:e,field:n},n=n.get("type"),t=t.operator;return new(acf.getConditionTypes({fieldType:n,operator:t})[0]||acf.Condition)(e)};function n(t){return acf.strPascalCase(t||"")+"Condition"}acf.registerConditionType=function(t){var e=t.prototype.type,i=n(e);acf.models[i]=t,s.push(e)},acf.getConditionType=function(t){t=n(t);return acf.models[t]||!1},acf.registerConditionForFieldType=function(t,e){t=acf.getConditionType(t);t&&t.prototype.fieldTypes.push(e)},acf.getConditionTypes=function(n){n=acf.parseArgs(n,{fieldType:"",operator:""});var a=[];return s.map(function(t){var e=acf.getConditionType(t),i=e.prototype.fieldTypes,t=e.prototype.operator;n.fieldType&&-1===i.indexOf(n.fieldType)||n.operator&&t!==n.operator||a.push(e)}),a}}(jQuery),function(){function a(t,e){var i=acf.getFields({key:e,sibling:t.$el,suppressFilters:!0});return!!(i=!i.length?acf.getFields({key:e,parent:t.$el.parent(),suppressFilters:!0}):i).length&&i[0]}var t="conditional_logic";new acf.Model({id:"conditionsManager",priority:20,actions:{new_field:"onNewField"},onNewField:function(t){t.has("conditions")&&t.getConditions().render()}});acf.Field.prototype.getField=function(t){var e=a(this,t);if(e)return e;for(var i=this.parents(),n=0;n'}});acf.registerConditionType(i);var t=i.extend({type:"hasNoValue",operator:"==empty",label:s("Has no value"),match:function(t,e){return!i.prototype.match.apply(this,arguments)}});acf.registerConditionType(t);var o=acf.Condition.extend({type:"equalTo",operator:"==",label:s("Value is equal to"),fieldTypes:["text","textarea","number","range","email","url","password"],match:function(t,e){return acf.isNumeric(t.value)?(i=t.value,n=e.val(),parseFloat(i)===parseFloat(n)):a(t.value,e.val());var i,n},choices:function(t){return''}});acf.registerConditionType(o);var e=o.extend({type:"notEqualTo",operator:"!=",label:s("Value is not equal to"),match:function(t,e){return!o.prototype.match.apply(this,arguments)}});acf.registerConditionType(e);t=acf.Condition.extend({type:"patternMatch",operator:"==pattern",label:s("Value matches pattern"),fieldTypes:["text","textarea","email","url","password","wysiwyg"],match:function(t,e){return function(t,e){e=new RegExp(n(e),"gi");return n(t).match(e)}(e.val(),t.value)},choices:function(t){return''}});acf.registerConditionType(t);t=acf.Condition.extend({type:"contains",operator:"==contains",label:s("Value contains"),fieldTypes:["text","textarea","number","email","url","password","wysiwyg","oembed","select"],match:function(t,e){return e=e.val(),t=t.value,-1'}});acf.registerConditionType(t);t=o.extend({type:"trueFalseEqualTo",choiceType:"select",fieldTypes:["true_false"],choices:function(t){return[{id:1,text:s("Checked")}]}});acf.registerConditionType(t);t=e.extend({type:"trueFalseNotEqualTo",choiceType:"select",fieldTypes:["true_false"],choices:function(t){return[{id:1,text:s("Checked")}]}});acf.registerConditionType(t);var r=acf.Condition.extend({type:"selectEqualTo",operator:"==",label:s("Value is equal to"),fieldTypes:["select","checkbox","radio","button_group"],match:function(t,e){var i=e.val();return i instanceof Array?(e=t.value,-1",label:s("Value is greater than"),fieldTypes:["number","range"],match:function(t,e){e=e.val();return e instanceof Array&&(e=e.length),e=e,t=t.value,parseFloat(e)>parseFloat(t)},choices:function(t){return''}});acf.registerConditionType(t);e=t.extend({type:"lessThan",operator:"<",label:s("Value is less than"),match:function(t,e){e=e.val();return e instanceof Array&&(e=e.length),e=e,t=t.value,parseFloat(e)'}});acf.registerConditionType(e);t=t.extend({type:"selectionGreaterThan",label:s("Selection is greater than"),fieldTypes:["checkbox","select","post_object","page_link","relationship","taxonomy","user"]});acf.registerConditionType(t);e=e.extend({type:"selectionLessThan",label:s("Selection is less than"),fieldTypes:["checkbox","select","post_object","page_link","relationship","taxonomy","user"]});acf.registerConditionType(e)}(jQuery),function(t){acf.unload=new acf.Model({wait:"load",active:!0,changed:!1,actions:{validation_failure:"startListening",validation_success:"stopListening"},events:{"change form .acf-field":"startListening","submit form":"stopListening"},enable:function(){this.active=!0},disable:function(){this.active=!1},reset:function(){this.stopListening()},startListening:function(){!this.changed&&this.active&&(this.changed=!0,t(window).on("beforeunload",this.onUnload))},stopListening:function(){this.changed=!1,t(window).off("beforeunload",this.onUnload)},onUnload:function(){return acf.__("The changes you made will be lost if you navigate away from this page")}})}(jQuery),function(e){new acf.Model({wait:"prepare",priority:1,initialize:function(){(acf.get("postboxes")||[]).map(acf.newPostbox)}});acf.getPostbox=function(t){return"string"==typeof arguments[0]&&(t=e("#"+arguments[0])),acf.getInstance(t)},acf.getPostboxes=function(){return acf.getInstances(e(".acf-postbox"))},acf.newPostbox=function(t){return new acf.models.Postbox(t)},acf.models.Postbox=acf.Model.extend({data:{id:"",key:"",style:"default",label:"top",edit:""},setup:function(t){t.editLink&&(t.edit=t.editLink),e.extend(this.data,t),this.$el=this.$postbox()},$postbox:function(){return e("#"+this.get("id"))},$hide:function(){return e("#"+this.get("id")+"-hide")},$hideLabel:function(){return this.$hide().parent()},$hndle:function(){return this.$("> .hndle")},$handleActions:function(){return this.$("> .postbox-header .handle-actions")},$inside:function(){return this.$("> .inside")},isVisible:function(){return this.$el.hasClass("acf-hidden")},initialize:function(){this.$el.addClass("acf-postbox"),this.$el.removeClass("hide-if-js"),"block"===acf.get("editor")||"default"!==(t=this.get("style"))&&this.$el.addClass(t),this.$inside().addClass("acf-fields").addClass("-"+this.get("label"));var t,e=this.get("edit");e&&(t='',(e=this.$handleActions()).length?e.prepend(t):this.$hndle().append(t)),this.show()},show:function(){this.$hideLabel().show(),this.$hide().prop("checked",!0),this.$el.show().removeClass("acf-hidden"),acf.doAction("show_postbox",this)},enable:function(){acf.enable(this.$el,"postbox")},showEnable:function(){this.enable(),this.show()},hide:function(){this.$hideLabel().hide(),this.$el.hide().addClass("acf-hidden"),acf.doAction("hide_postbox",this)},disable:function(){acf.disable(this.$el,"postbox")},hideDisable:function(){this.disable(),this.hide()},html:function(t){this.$inside().html(t),acf.doAction("append",this.$el)}})}(jQuery),function(a){acf.newMediaPopup=function(t){var e=null,e=new("edit"==(t=acf.parseArgs(t,{mode:"select",title:"",button:"",type:"",field:!1,allowedTypes:"",library:"all",multiple:!1,attachment:0,autoOpen:!0,open:function(){},select:function(){},close:function(){}})).mode?acf.models.EditMediaPopup:acf.models.SelectMediaPopup)(t);return t.autoOpen&&setTimeout(function(){e.open()},1),acf.doAction("new_media_popup",e),e};function e(){var t=acf.get("post_id");return acf.isNumeric(t)?t:0}acf.getMimeTypes=function(){return this.get("mimeTypes")},acf.getMimeType=function(t){var e,i=acf.getMimeTypes();if(void 0!==i[t])return i[t];for(e in i)if(-1!==e.indexOf(t))return i[e];return!1};var n=acf.Model.extend({id:"MediaPopup",data:{},defaults:{},frame:!1,setup:function(t){a.extend(this.data,t)},initialize:function(){var t=this.getFrameOptions();this.addFrameStates(t);var e=wp.media(t);(e.acf=this).addFrameEvents(e,t),this.frame=e},open:function(){this.frame.open()},close:function(){this.frame.close()},remove:function(){this.frame.detach(),this.frame.remove()},getFrameOptions:function(){var t={title:this.get("title"),multiple:this.get("multiple"),library:{},states:[]};return this.get("type")&&(t.library.type=this.get("type")),"uploadedTo"===this.get("library")&&(t.library.uploadedTo=e()),this.get("attachment")&&(t.library.post__in=[this.get("attachment")]),this.get("button")&&(t.button={text:this.get("button")}),t},addFrameStates:function(t){var e=wp.media.query(t.library);this.get("field")&&acf.isset(e,"mirroring","args")&&(e.mirroring.args._acfuploader=this.get("field")),t.states.push(new wp.media.controller.Library({library:e,multiple:this.get("multiple"),title:this.get("title"),priority:20,filterable:"all",editable:!0,allowLocalEdits:!0})),acf.isset(wp,"media","controller","EditImage")&&t.states.push(new wp.media.controller.EditImage)},addFrameEvents:function(i,t){i.on("open",function(){this.$el.closest(".media-modal").addClass("acf-media-modal -"+this.acf.get("mode"))},i),i.on("content:render:edit-image",function(){var t=this.state().get("image"),t=new wp.media.view.EditImage({model:t,controller:this}).render();this.content.set(t),t.loadEditor()},i),i.on("select",function(){var t=i.state().get("selection");t&&t.each(function(t,e){i.acf.get("select").apply(i.acf,[t,e])})}),i.on("close",function(){setTimeout(function(){i.acf.get("close").apply(i.acf),i.acf.remove()},1)})}});acf.models.SelectMediaPopup=n.extend({id:"SelectMediaPopup",setup:function(t){t.button||(t.button=acf._x("Select","verb")),n.prototype.setup.apply(this,arguments)},addFrameEvents:function(e,t){acf.isset(_wpPluploadSettings,"defaults","multipart_params")&&(_wpPluploadSettings.defaults.multipart_params._acfuploader=this.get("field"),e.on("open",function(){delete _wpPluploadSettings.defaults.multipart_params._acfuploader})),e.on("content:activate:browse",function(){var t=!1;try{t=e.content.get().toolbar}catch(t){return void console.log(t)}e.acf.customizeFilters.apply(e.acf,[t])}),n.prototype.addFrameEvents.apply(this,arguments)},customizeFilters:function(t){var i,e=t.get("filters");"image"==this.get("type")&&(e.filters.all.text=acf.__("All images"),delete e.filters.audio,delete e.filters.video,delete e.filters.image,a.each(e.filters,function(t,e){e.props.type=e.props.type||"image"})),this.get("allowedTypes")&&this.get("allowedTypes").split(" ").join("").split(".").join("").split(",").map(function(t){t=acf.getMimeType(t);t&&(e.filters[t]={text:t,props:{status:null,type:t,uploadedTo:null,orderby:"date",order:"DESC"},priority:20})}),"uploadedTo"===this.get("library")&&(i=this.frame.options.library.uploadedTo,delete e.filters.unattached,delete e.filters.uploaded,a.each(e.filters,function(t,e){e.text+=" ("+acf.__("Uploaded to this post")+")",e.props.uploadedTo=i}));var n=this.get("field");a.each(e.filters,function(t,e){e.props._acfuploader=n}),t.get("search").model.attributes._acfuploader=n,e.renderFilters&&e.renderFilters()}}),acf.models.EditMediaPopup=n.extend({id:"SelectMediaPopup",setup:function(t){t.button||(t.button=acf._x("Update","verb")),n.prototype.setup.apply(this,arguments)},addFrameEvents:function(i,t){i.on("open",function(){this.$el.closest(".media-modal").addClass("acf-expanded"),"browse"!=this.content.mode()&&this.content.mode("browse");var t=this.state().get("selection"),e=wp.media.attachment(i.acf.get("attachment"));t.add(e)},i),n.prototype.addFrameEvents.apply(this,arguments)}});new acf.Model({id:"customizePrototypes",wait:"ready",initialize:function(){var t;acf.isset(window,"wp","media","view")&&((t=e())&&acf.isset(wp,"media","view","settings","post")&&(wp.media.view.settings.post.id=t),this.customizeAttachmentsButton(),this.customizeAttachmentsRouter(),this.customizeAttachmentFilters(),this.customizeAttachmentCompat(),this.customizeAttachmentLibrary())},customizeAttachmentsButton:function(){var t;acf.isset(wp,"media","view","Button")&&(t=wp.media.view.Button,wp.media.view.Button=t.extend({initialize:function(){var t=_.defaults(this.options,this.defaults);this.model=new Backbone.Model(t),this.listenTo(this.model,"change",this.render)}}))},customizeAttachmentsRouter:function(){var t;acf.isset(wp,"media","view","Router")&&(t=wp.media.view.Router,wp.media.view.Router=t.extend({addExpand:function(){var t=a(['',''+acf.__("Expand Details")+"",''+acf.__("Collapse Details")+"",""].join(""));t.on("click",function(t){t.preventDefault();t=a(this).closest(".media-modal");t.hasClass("acf-expanded")?t.removeClass("acf-expanded"):t.addClass("acf-expanded")}),this.$el.append(t)},initialize:function(){return t.prototype.initialize.apply(this,arguments),this.addExpand(),this}}))},customizeAttachmentFilters:function(){acf.isset(wp,"media","view","AttachmentFilters","All")&&(wp.media.view.AttachmentFilters.All.prototype.renderFilters=function(){this.$el.html(_.chain(this.filters).map(function(t,e){return{el:a("").val(e).html(t.text)[0],priority:t.priority||50}},this).sortBy("priority").pluck("el").value())})},customizeAttachmentCompat:function(){var t,e;acf.isset(wp,"media","view","AttachmentCompat")&&(t=wp.media.view.AttachmentCompat,e=!1,wp.media.view.AttachmentCompat=t.extend({render:function(){return this.rendered?this:(t.prototype.render.apply(this,arguments),this.$("#acf-form-data").length&&(clearTimeout(e),e=setTimeout(a.proxy(function(){this.rendered=!0,acf.doAction("append",this.$el)},this),50)),this)},save:function(t){var e;t&&t.preventDefault(),e=acf.serializeForAjax(this.$el),this.controller.trigger("attachment:compat:waiting",["waiting"]),this.model.saveCompat(e).always(_.bind(this.postSave,this))}}))},customizeAttachmentLibrary:function(){var o;acf.isset(wp,"media","view","Attachment","Library")&&(o=wp.media.view.Attachment.Library,wp.media.view.Attachment.Library=o.extend({render:function(){var t=acf.isget(this,"controller","acf"),e=acf.isget(this,"model","attributes");return t&&e&&(e.acf_errors&&this.$el.addClass("acf-disabled"),(t=t.get("selected"))&&-1',''+acf.__("Restricted")+"",''+n+"",''+a+"","
                          "].join("")),e.reset(),void e.single(i)}return o.prototype.toggleSelection.apply(this,arguments)}}))}})}(jQuery),function(u){acf.screen=new acf.Model({active:!0,xhr:!1,timeout:!1,wait:"load",events:{"change #page_template":"onChange","change #parent_id":"onChange","change #post-formats-select":"onChange","change .categorychecklist":"onChange","change .tagsdiv":"onChange",'change .acf-taxonomy-field[data-save="1"]':"onChange","change #product-type":"onChange"},isPost:function(){return"post"===acf.get("screen")},isUser:function(){return"user"===acf.get("screen")},isTaxonomy:function(){return"taxonomy"===acf.get("screen")},isAttachment:function(){return"attachment"===acf.get("screen")},isNavMenu:function(){return"nav_menu"===acf.get("screen")},isWidget:function(){return"widget"===acf.get("screen")},isComment:function(){return"comment"===acf.get("screen")},getPageTemplate:function(){var t=u("#page_template");return t.length?t.val():null},getPageParent:function(t,e){return(e=u("#parent_id")).length?e.val():null},getPageType:function(t,e){return this.getPageParent()?"child":"parent"},getPostType:function(){return u("#post_type").val()},getPostFormat:function(t,e){if((e=u("#post-formats-select input:checked")).length){e=e.val();return"0"==e?"standard":e}return null},getPostCoreTerms:function(){var t,e={},i=acf.serialize(u(".categorydiv, .tagsdiv"));for(t in i.tax_input&&(e=i.tax_input),i.post_category&&(e.category=i.post_category),e)acf.isArray(e[t])||(e[t]=e[t].split(/,[\s]?/));return e},getPostTerms:function(){var t,i=this.getPostCoreTerms();for(t in acf.getFields({type:"taxonomy"}).map(function(t){var e;t.get("save")&&(e=t.val(),t=t.get("taxonomy"),e&&(i[t]=i[t]||[],e=acf.isArray(e)?e:[e],i[t]=i[t].concat(e)))}),null!==(productType=this.getProductType())&&(i.product_type=[productType]),i)i[t]=acf.uniqueArray(i[t]);return i},getProductType:function(){var t=u("#product-type");return t.length?t.val():null},check:function(){var e;"post"===acf.get("screen")&&(this.xhr&&this.xhr.abort(),e=acf.parseArgs(this.data,{action:"acf/ajax/check_screen",screen:acf.get("screen"),exists:[]}),this.isPost()&&(e.post_id=acf.get("post_id")),null!==(postType=this.getPostType())&&(e.post_type=postType),null!==(pageTemplate=this.getPageTemplate())&&(e.page_template=pageTemplate),null!==(pageParent=this.getPageParent())&&(e.page_parent=pageParent),null!==(pageType=this.getPageType())&&(e.page_type=pageType),null!==(postFormat=this.getPostFormat())&&(e.post_format=postFormat),null!==(postTerms=this.getPostTerms())&&(e.post_terms=postTerms),acf.getPostboxes().map(function(t){e.exists.push(t.get("key"))}),e=acf.applyFilters("check_screen_args",e),this.xhr=u.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(e),type:"post",dataType:"json",context:this,success:function(t){"post"==acf.get("screen")?this.renderPostScreen(t):"user"==acf.get("screen")&&this.renderUserScreen(t),acf.doAction("check_screen_complete",t,e)}}))},onChange:function(t,e){this.setTimeout(this.check,1)},renderPostScreen:function(c){function l(t,e){var i,n=u._data(t[0]).events;for(i in n)for(var a=0;a','

                          ',""+acf.escHtml(e.title)+"","

                          ",'
                          ','","
                          ",""]:['",'

                          ',""+acf.escHtml(e.title)+"","

                          "]).join("");var n,a,s=u(['
                          ',a,'
                          ',e.html,"
                          ","
                          "].join(""));u("#adv-settings").length&&(n=u("#adv-settings .metabox-prefs"),a=u(['"].join("")),l(n.find("input").first(),a.find("input")),n.append(a)),u(".postbox").length&&(l(u(".postbox .handlediv").first(),s.children(".handlediv")),l(u(".postbox .hndle").first(),s.children(".hndle"))),"side"===e.position?u("#"+e.position+"-sortables").append(s):u("#"+e.position+"-sortables").prepend(s);var o=[];if(c.results.map(function(t){e.position===t.position&&u("#"+e.position+"-sortables #"+t.id).length&&o.push(t.id)}),d(e.id,o),c.sorted)for(var r in c.sorted){o=c.sorted[r].split(",");if(d(e.id,o))break}i=acf.newPostbox(e),acf.doAction("append",s),acf.doAction("append_postbox",i)}return i.showEnable(),c.visible.push(e.id),e}),acf.getPostboxes().map(function(t){-1===c.visible.indexOf(t.get("id"))&&(t.hideDisable(),c.hidden.push(t.get("id")))}),u("#acf-style").html(c.style),acf.doAction("refresh_post_screen",c)},renderUserScreen:function(t){}});new acf.Model({postEdits:{},wait:"prepare",initialize:function(){acf.isGutenberg()&&(wp.data.subscribe(acf.debounce(this.onChange).bind(this)),acf.screen.getPageTemplate=this.getPageTemplate,acf.screen.getPageParent=this.getPageParent,acf.screen.getPostType=this.getPostType,acf.screen.getPostFormat=this.getPostFormat,acf.screen.getPostCoreTerms=this.getPostCoreTerms,acf.unload.disable(),5.3<=parseFloat(acf.get("wp_version"))&&this.addAction("refresh_post_screen",this.onRefreshPostScreen),wp.domReady(acf.refresh))},onChange:function(){var e=["template","parent","format"];(wp.data.select("core").getTaxonomies()||[]).map(function(t){e.push(t.rest_base)});var i=wp.data.select("core/editor").getPostEdits(),n={};e.map(function(t){void 0!==i[t]&&(n[t]=i[t])}),JSON.stringify(n)!==JSON.stringify(this.postEdits)&&(this.postEdits=n,acf.screen.check())},getPageTemplate:function(){return wp.data.select("core/editor").getEditedPostAttribute("template")},getPageParent:function(t,e){return wp.data.select("core/editor").getEditedPostAttribute("parent")},getPostType:function(){return wp.data.select("core/editor").getEditedPostAttribute("type")},getPostFormat:function(t,e){return wp.data.select("core/editor").getEditedPostAttribute("format")},getPostCoreTerms:function(){var i={};return(wp.data.select("core").getTaxonomies()||[]).map(function(t){var e=wp.data.select("core/editor").getEditedPostAttribute(t.rest_base);e&&(i[t.slug]=e)}),i},onRefreshPostScreen:function(e){var i=wp.data.select("core/edit-post"),t=wp.data.dispatch("core/edit-post"),n={};i.getActiveMetaBoxLocations().map(function(t){n[t]=i.getMetaBoxesPerLocation(t)});var a,s=[];for(a in n)n[a].map(function(t){s.push(t.id)});for(a in e.results.filter(function(t){return-1===s.indexOf(t.id)}).map(function(t,e){var i=t.position;n[i]=n[i]||[],n[i].push({id:t.id,title:t.title})}),n)n[a]=n[a].filter(function(t){return-1===e.hidden.indexOf(t.id)});t.setAvailableMetaBoxesPerLocation(n)}})}(jQuery),function(l){function n(){return acf.isset(window,"jQuery","fn","select2","amd")?4:!!acf.isset(window,"Select2")&&3}acf.newSelect2=function(t,e){return e=acf.parseArgs(e,{allowNull:!1,placeholder:"",multiple:!1,field:!1,ajax:!1,ajaxAction:"",ajaxData:function(t){return t},ajaxResults:function(t){return t}}),e=new(4==n()?a:s)(t,e),acf.doAction("new_select2",e),e};var i=acf.Model.extend({setup:function(t,e){l.extend(this.data,e),this.$el=t},initialize:function(){},selectOption:function(t){t=this.getOption(t);t.prop("selected")||t.prop("selected",!0).trigger("change")},unselectOption:function(t){t=this.getOption(t);t.prop("selected")&&t.prop("selected",!1).trigger("change")},getOption:function(t){return this.$('option[value="'+t+'"]')},addOption:function(t){t=acf.parseArgs(t,{id:"",text:"",selected:!1});var e=this.getOption(t.id);return e.length||((e=l("")).html(t.text),e.attr("value",t.id),e.prop("selected",t.selected),this.$el.append(e)),e},getValue:function(){var e=[],t=this.$el.find("option:selected");return t.exists()&&(t=t.sort(function(t,e){return+t.getAttribute("data-i")-+e.getAttribute("data-i")})).each(function(){var t=l(this);e.push({$el:t,id:t.attr("value"),text:t.text()})}),e},mergeOptions:function(){},getChoices:function(){var i=function(t){var e=[];return t.children().each(function(){var t=l(this);t.is("optgroup")?e.push({text:t.attr("label"),children:i(t)}):e.push({id:t.attr("value"),text:t.text()})}),e};return i(this.$el)},getAjaxData:function(t){var e={action:this.get("ajaxAction"),s:t.term||"",paged:t.page||1},i=this.get("field");i&&(e.field_key=i.get("key"));var n=this.get("ajaxData");return n&&(e=n.apply(this,[e,t])),e=acf.applyFilters("select2_ajax_data",e,this.data,this.$el,i||!1,this),acf.prepareForAjax(e)},getAjaxResults:function(t,e){t=acf.parseArgs(t,{results:!1,more:!1});var i=this.get("ajaxResults");return i&&(t=i.apply(this,[t,e])),t=acf.applyFilters("select2_ajax_results",t,e,this)},processAjaxResults:function(t,e){return(t=this.getAjaxResults(t,e)).more&&(t.pagination={more:!0}),setTimeout(l.proxy(this.mergeOptions,this),1),t},destroy:function(){this.$el.data("select2")&&this.$el.select2("destroy"),this.$el.siblings(".select2-container").remove()}}),a=i.extend({initialize:function(){var e=this.$el,t={width:"100%",allowClear:this.get("allowNull"),placeholder:this.get("placeholder"),multiple:this.get("multiple"),data:[],escapeMarkup:function(t){return"string"!=typeof t?t:acf.escHtml(t)}};acf.isset(window,"jQuery","fn","selectWoo")||(t.templateSelection=function(t){var e=l('');return e.html(acf.escHtml(t.text)),e.data("element",t.element),e}),t.multiple&&this.getValue().map(function(t){t.$el.detach().appendTo(e)});var i=e.attr("data-ajax");void 0!==i&&(e.removeData("ajax"),e.removeAttr("data-ajax")),this.get("ajax")&&(t.ajax={url:acf.get("ajaxurl"),delay:250,dataType:"json",type:"post",cache:!1,data:l.proxy(this.getAjaxData,this),processResults:l.proxy(this.processAjaxResults,this)});var n=this.get("field"),t=acf.applyFilters("select2_args",t,e,this.data,n||!1,this);e.select2(t);var a,s=e.next(".select2-container");t.multiple&&((a=s.find("ul")).sortable({stop:function(t){a.find(".select2-selection__choice").each(function(){(l(this).data("data")?l(l(this).data("data").element):l(l(this).children("span.acf-selection").data("element"))).detach().appendTo(e)}),e.trigger("change")}}),e.on("select2:select",this.proxy(function(t){this.getOption(t.params.data.id).detach().appendTo(this.$el)}))),s.addClass("-acf"),void 0!==i&&e.attr("data-ajax",i),acf.doAction("select2_init",e,t,this.data,n||!1,this)},mergeOptions:function(){var i=!1,n=!1;l('.select2-results__option[role="group"]').each(function(){var t=l(this).children("ul"),e=l(this).children("strong");if(n&&n.text()===e.text())return i.append(t.children()),void l(this).remove();i=t,n=e})}}),s=i.extend({initialize:function(){var i=this.$el,n=this.getValue(),a=this.get("multiple"),t={width:"100%",allowClear:this.get("allowNull"),placeholder:this.get("placeholder"),separator:"||",multiple:this.get("multiple"),data:this.getChoices(),escapeMarkup:function(t){return acf.escHtml(t)},dropdownCss:{"z-index":"999999999"},initSelection:function(t,e){e(a?n:n.shift())}},e=i.siblings("input");e.length||(e=l(''),i.before(e)),inputValue=n.map(function(t){return t.id}).join("||"),e.val(inputValue),t.multiple&&n.map(function(t){t.$el.detach().appendTo(i)}),t.allowClear&&(t.data=t.data.filter(function(t){return""!==t.id})),i.removeData("ajax"),i.removeAttr("data-ajax"),this.get("ajax")&&(t.ajax={url:acf.get("ajaxurl"),quietMillis:250,dataType:"json",type:"post",cache:!1,data:l.proxy(this.getAjaxData,this),results:l.proxy(this.processAjaxResults,this)});var s=this.get("field"),t=acf.applyFilters("select2_args",t,i,this.data,s||!1,this);e.select2(t);var o,r=e.select2("container"),c=l.proxy(this.getOption,this);t.multiple&&(o=r.find("ul")).sortable({stop:function(){o.find(".select2-search-choice").each(function(){var t=l(this).data("select2Data");c(t.id).detach().appendTo(i)}),i.trigger("change")}}),e.on("select2-selecting",function(t){var e=t.choice,t=c(e.id);(t=!t.length?l('"):t).detach().appendTo(i)}),r.addClass("-acf"),acf.doAction("select2_init",i,t,this.data,s||!1,this),e.on("change",function(){var t=e.val();t.indexOf("||")&&(t=t.split("||")),i.val(t).trigger("change")}),i.hide()},mergeOptions:function(){var i=!1;l("#select2-drop .select2-result-with-children").each(function(){var t=l(this).children("ul"),e=l(this).children(".select2-result-label");if(i&&i.text()===e.text())return i.append(t.children()),void l(this).remove();i=e})},getAjaxData:function(t,e){return i.prototype.getAjaxData.apply(this,[{term:t,page:e}])}});new acf.Model({priority:5,wait:"prepare",actions:{duplicate:"onDuplicate"},initialize:function(){var t=acf.get("locale"),e=(acf.get("rtl"),acf.get("select2L10n")),i=n();return!!e&&(0!==t.indexOf("en")&&void(4==i?this.addTranslations4():3==i&&this.addTranslations3()))},addTranslations4:function(){var e=acf.get("select2L10n"),t=(t=acf.get("locale")).replace("_","-"),i={errorLoading:function(){return e.load_fail},inputTooLong:function(t){t=t.input.length-t.maximum;return 1'),t.addClass("acf-sortable-tr-helper"),t.children().each(function(){c(this).width(c(this).width())}),e.height(t.height()+"px"),t.removeClass("acf-sortable-tr-helper"))}}),new acf.Model({actions:{after_duplicate:"onAfterDuplicate"},onAfterDuplicate:function(t,e){var i=[];t.find("select").each(function(t){i.push(c(this).val())}),e.find("select").each(function(t){c(this).val(i[t])})}}),new acf.Model({id:"tableHelper",priority:20,actions:{refresh:"renderTables"},renderTables:function(t){var e=this;c(".acf-table:visible").each(function(){e.renderTable(c(this))})},renderTable:function(t){var e=t.find("> thead > tr:visible > th[data-key]"),a=t.find("> tbody > tr:visible > td[data-key]");if(!e.length||!a.length)return!1;e.each(function(t){var e=c(this),i=e.data("key"),n=a.filter('[data-key="'+i+'"]'),i=n.filter(".acf-hidden");n.removeClass("acf-empty"),n.length===i.length?acf.hide(e):(acf.show(e),i.addClass("acf-empty"))}),e.css("width","auto");var e=e.not(".acf-hidden"),i=100;e.length;e.filter("[data-width]").each(function(){var t=c(this).data("width");c(this).css("width",t+"%"),i-=t});var n=e.not("[data-width]");n.length&&(t=i/n.length,n.css("width",t+"%"),i=0),01){for(var c=0;c0?e.substr(0,n):e,o=n>0?e.substr(n+1):"",r=function(e){e.$el=t(this),acf.field_group&&(e.$field=e.$el.closest(".acf-field-object")),"function"==typeof a.event&&(e=a.event(e)),a[i].apply(a,arguments)};o?t(document).on(s,o,r):t(document).on(s,r)},get:function(t,e){return e=e||null,void 0!==this[t]&&(e=this[t]),e},set:function(t,e){return this[t]=e,"function"==typeof this["_set_"+t]&&this["_set_"+t].apply(this),this}},i.field=acf.model.extend({type:"",o:{},$field:null,_add_action:function(t,e){var i=this;t=t+"_field/type="+i.type,acf.add_action(t,(function(t){i.set("$field",t),i[e].apply(i,arguments)}))},_add_filter:function(t,e){var i=this;t=t+"_field/type="+i.type,acf.add_filter(t,(function(t){i.set("$field",t),i[e].apply(i,arguments)}))},_add_event:function(e,i){var a=this,n=e.substr(0,e.indexOf(" ")),s=e.substr(e.indexOf(" ")+1),o=acf.get_selector(a.type);t(document).on(n,o+" "+s,(function(e){var n=t(this),s=acf.get_closest_field(n,a.type);s.length&&(s.is(a.$field)||a.set("$field",s),e.$el=n,e.$field=s,a[i].apply(a,[e]))}))},_set_$field:function(){"function"==typeof this.focus&&this.focus()},doFocus:function(t){return this.set("$field",t)}}),acf.newCompatibility(acf.validation,{remove_error:function(t){acf.getField(t).removeError()},add_warning:function(t,e){acf.getField(t).showNotice({text:e,type:"warning",timeout:1e3})},fetch:acf.validateForm,enableSubmit:acf.enableSubmit,disableSubmit:acf.disableSubmit,showSpinner:acf.showSpinner,hideSpinner:acf.hideSpinner,unlockForm:acf.unlockForm,lockForm:acf.lockForm}),i.tooltip={tooltip:function(t,e){return acf.newTooltip({text:t,target:e}).$el},temp:function(t,e){acf.newTooltip({text:t,target:e,timeout:250})},confirm:function(t,e,i,a,n){acf.newTooltip({confirm:!0,text:i,target:t,confirm:function(){e(!0)},cancel:function(){e(!1)}})},confirm_remove:function(t,e){acf.newTooltip({confirmRemove:!0,target:t,confirm:function(){e(!0)},cancel:function(){e(!1)}})}},i.media=new acf.Model({activeFrame:!1,actions:{new_media_popup:"onNewMediaPopup"},frame:function(){return this.activeFrame},onNewMediaPopup:function(t){this.activeFrame=t.frame},popup:function(t){return t.mime_types&&(t.allowedTypes=t.mime_types),t.id&&(t.attachment=t.id),acf.newMediaPopup(t).frame}}),i.select2={init:function(t,e,i){return e.allow_null&&(e.allowNull=e.allow_null),e.ajax_action&&(e.ajaxAction=e.ajax_action),i&&(e.field=acf.getField(i)),acf.newSelect2(t,e)},destroy:function(t){return acf.getInstance(t).destroy()}},i.postbox={render:function(t){return t.edit_url&&(t.editLink=t.edit_url),t.edit_title&&(t.editTitle=t.edit_title),acf.newPostbox(t)}},acf.newCompatibility(acf.screen,{update:function(){return this.set.apply(this,arguments)},fetch:acf.screen.check}),i.ajax=acf.screen}(jQuery)},682:function(){!function(t,e){var __=acf.__,i=function(t){return t?""+t:""},a=function(t,e){return i(t).toLowerCase()===i(e).toLowerCase()},n=acf.Condition.extend({type:"hasValue",operator:"!=empty",label:__("Has any value"),fieldTypes:["text","textarea","number","range","email","url","password","image","file","wysiwyg","oembed","select","checkbox","radio","button_group","link","post_object","page_link","relationship","taxonomy","user","google_map","date_picker","date_time_picker","time_picker","color_picker"],match:function(t,e){let i=e.val();return i instanceof Array&&(i=i.length),!!i},choices:function(t){return''}});acf.registerConditionType(n);var s=n.extend({type:"hasNoValue",operator:"==empty",label:__("Has no value"),match:function(t,e){return!n.prototype.match.apply(this,arguments)}});acf.registerConditionType(s);var o=acf.Condition.extend({type:"equalTo",operator:"==",label:__("Value is equal to"),fieldTypes:["text","textarea","number","range","email","url","password"],match:function(t,e){return acf.isNumeric(t.value)?(i=t.value,n=e.val(),parseFloat(i)===parseFloat(n)):a(t.value,e.val());var i,n},choices:function(t){return''}});acf.registerConditionType(o);var r=o.extend({type:"notEqualTo",operator:"!=",label:__("Value is not equal to"),match:function(t,e){return!o.prototype.match.apply(this,arguments)}});acf.registerConditionType(r);var c=acf.Condition.extend({type:"patternMatch",operator:"==pattern",label:__("Value matches pattern"),fieldTypes:["text","textarea","email","url","password","wysiwyg"],match:function(t,e){return a=e.val(),n=t.value,s=new RegExp(i(n),"gi"),i(a).match(s);var a,n,s},choices:function(t){return''}});acf.registerConditionType(c);var l=acf.Condition.extend({type:"contains",operator:"==contains",label:__("Value contains"),fieldTypes:["text","textarea","number","email","url","password","wysiwyg","oembed","select"],match:function(t,e){return a=e.val(),n=t.value,i(a).indexOf(i(n))>-1;var a,n},choices:function(t){return''}});acf.registerConditionType(l);var d=o.extend({type:"trueFalseEqualTo",choiceType:"select",fieldTypes:["true_false"],choices:function(t){return[{id:1,text:__("Checked")}]}});acf.registerConditionType(d);var u=r.extend({type:"trueFalseNotEqualTo",choiceType:"select",fieldTypes:["true_false"],choices:function(t){return[{id:1,text:__("Checked")}]}});acf.registerConditionType(u);var f=acf.Condition.extend({type:"selectEqualTo",operator:"==",label:__("Value is equal to"),fieldTypes:["select","checkbox","radio","button_group"],match:function(t,e){var n,s=e.val();return s instanceof Array?(n=t.value,s.map((function(t){return i(t)})).indexOf(n)>-1):a(t.value,s)},choices:function(t){var e=[],i=t.$setting("choices textarea").val().split("\n");return t.$input("allow_null").prop("checked")&&e.push({id:"",text:__("Null")}),i.map((function(t){(t=t.split(":"))[1]=t[1]||t[0],e.push({id:t[0].trim(),text:t[1].trim()})})),e}});acf.registerConditionType(f);var p=f.extend({type:"selectNotEqualTo",operator:"!=",label:__("Value is not equal to"),match:function(t,e){return!f.prototype.match.apply(this,arguments)}});acf.registerConditionType(p);var h=acf.Condition.extend({type:"greaterThan",operator:">",label:__("Value is greater than"),fieldTypes:["number","range"],match:function(t,e){var i,a,n=e.val();return n instanceof Array&&(n=n.length),i=n,a=t.value,parseFloat(i)>parseFloat(a)},choices:function(t){return''}});acf.registerConditionType(h);var g=h.extend({type:"lessThan",operator:"<",label:__("Value is less than"),match:function(t,e){var i,a,n=e.val();return n instanceof Array&&(n=n.length),null==n||!1===n||(i=n,a=t.value,parseFloat(i)'}});acf.registerConditionType(g);var m=h.extend({type:"selectionGreaterThan",label:__("Selection is greater than"),fieldTypes:["checkbox","select","post_object","page_link","relationship","taxonomy","user"]});acf.registerConditionType(m);var v=g.extend({type:"selectionLessThan",label:__("Selection is less than"),fieldTypes:["checkbox","select","post_object","page_link","relationship","taxonomy","user"]});acf.registerConditionType(v)}(jQuery)},2849:function(){!function(t,e){var i=[];acf.Condition=acf.Model.extend({type:"",operator:"==",label:"",choiceType:"input",fieldTypes:[],data:{conditions:!1,field:!1,rule:{}},events:{change:"change",keyup:"change",enableField:"change",disableField:"change"},setup:function(e){t.extend(this.data,e)},getEventTarget:function(t,e){return t||this.get("field").$el},change:function(t,e){this.get("conditions").change(t)},match:function(t,e){return!1},calculate:function(){return this.match(this.get("rule"),this.get("field"))},choices:function(t){return''}}),acf.newCondition=function(t,e){var i=e.get("field"),a=i.getField(t.field);if(!i||!a)return!1;var n={rule:t,target:i,conditions:e,field:a},s=a.get("type"),o=t.operator;return new(acf.getConditionTypes({fieldType:s,operator:o})[0]||acf.Condition)(n)};var a=function(t){return acf.strPascalCase(t||"")+"Condition"};acf.registerConditionType=function(t){var e=t.prototype.type,n=a(e);acf.models[n]=t,i.push(e)},acf.getConditionType=function(t){var e=a(t);return acf.models[e]||!1},acf.registerConditionForFieldType=function(t,e){var i=acf.getConditionType(t);i&&i.prototype.fieldTypes.push(e)},acf.getConditionTypes=function(t){t=acf.parseArgs(t,{fieldType:"",operator:""});var e=[];return i.map((function(i){var a=acf.getConditionType(i),n=a.prototype.fieldTypes,s=a.prototype.operator;t.fieldType&&-1===n.indexOf(t.fieldType)||t.operator&&s!==t.operator||e.push(a)})),e}}(jQuery)},3155:function(){!function(t,e){var i="conditional_logic",a=(new acf.Model({id:"conditionsManager",priority:20,actions:{new_field:"onNewField"},onNewField:function(t){t.has("conditions")&&t.getConditions().render()}}),function(t,e){var i=acf.getFields({key:e,sibling:t.$el,suppressFilters:!0});return i.length||(i=acf.getFields({key:e,parent:t.$el.parent(),suppressFilters:!0})),!!i.length&&i[0]});acf.Field.prototype.getField=function(t){var e=a(this,t);if(e)return e;for(var i=this.parents(),n=0;n'),d=t('
                          '),u=t('
                            '),f=t("");l.append(a.html()),u.append(f),d.append(u),s.append(l),s.append(d),a.remove(),o.remove(),s.attr("colspan",2),a=l,s=d,o=f}e.addClass("acf-accordion"),a.addClass("acf-accordion-title"),s.addClass("acf-accordion-content"),i++,this.get("multi_expand")&&e.attr("multi-expand",1);var p=acf.getPreference("this.accordions")||[];void 0!==p[i-1]&&this.set("open",p[i-1]),this.get("open")&&(e.addClass("-open"),s.css("display","block")),a.prepend(n.iconHtml({open:this.get("open")}));var h=e.parent();o.addClass(h.hasClass("-left")?"-left":""),o.addClass(h.hasClass("-clear")?"-clear":""),o.append(e.nextUntil(".acf-field-accordion",".acf-field")),o.removeAttr("data-open data-multi_expand data-endpoint")}}});acf.registerFieldType(a);var n=new acf.Model({actions:{unload:"onUnload"},events:{"click .acf-accordion-title":"onClick","invalidField .acf-accordion":"onInvalidField"},isOpen:function(t){return t.hasClass("-open")},toggle:function(t){this.isOpen(t)?this.close(t):this.open(t)},iconHtml:function(t){return acf.isGutenberg()?t.open?'':'':t.open?'':''},open:function(e){var i=acf.isGutenberg()?0:300;e.find(".acf-accordion-content:first").slideDown(i).css("display","block"),e.find(".acf-accordion-icon:first").replaceWith(this.iconHtml({open:!0})),e.addClass("-open"),acf.doAction("show",e),e.attr("multi-expand")||e.siblings(".acf-accordion.-open").each((function(){n.close(t(this))}))},close:function(t){var e=acf.isGutenberg()?0:300;t.find(".acf-accordion-content:first").slideUp(e),t.find(".acf-accordion-icon:first").replaceWith(this.iconHtml({open:!1})),t.removeClass("-open"),acf.doAction("hide",t)},onClick:function(t,e){t.preventDefault(),this.toggle(e.parent())},onInvalidField:function(t,e){this.busy||(this.busy=!0,this.setTimeout((function(){this.busy=!1}),1e3),this.open(e))},onUnload:function(e){var i=[];t(".acf-accordion").each((function(){var e=t(this).hasClass("-open")?1:0;i.push(e)})),i.length&&acf.setPreference("this.accordions",i)}})}(jQuery)},1357:function(){var t;jQuery,t=acf.Field.extend({type:"button_group",events:{'click input[type="radio"]':"onClick"},$control:function(){return this.$(".acf-button-group")},$input:function(){return this.$("input:checked")},setValue:function(t){this.$('input[value="'+t+'"]').prop("checked",!0).trigger("change")},onClick:function(t,e){var i=e.parent("label"),a=i.hasClass("selected");this.$(".selected").removeClass("selected"),i.addClass("selected"),this.get("allow_null")&&a&&(i.removeClass("selected"),e.prop("checked",!1).trigger("change"))}}),acf.registerFieldType(t)},8171:function(){var t,e;t=jQuery,e=acf.Field.extend({type:"checkbox",events:{"change input":"onChange","click .acf-add-checkbox":"onClickAdd","click .acf-checkbox-toggle":"onClickToggle","click .acf-checkbox-custom":"onClickCustom"},$control:function(){return this.$(".acf-checkbox-list")},$toggle:function(){return this.$(".acf-checkbox-toggle")},$input:function(){return this.$('input[type="hidden"]')},$inputs:function(){return this.$('input[type="checkbox"]').not(".acf-checkbox-toggle")},getValue:function(){var e=[];return this.$(":checked").each((function(){e.push(t(this).val())})),!!e.length&&e},onChange:function(t,e){var i=e.prop("checked"),a=e.parent("label"),n=this.$toggle();i?a.addClass("selected"):a.removeClass("selected"),n.length&&(0==this.$inputs().not(":checked").length?n.prop("checked",!0):n.prop("checked",!1))},onClickAdd:function(t,e){var i='
                          • ';e.parent("li").before(i)},onClickToggle:function(t,e){var i=e.prop("checked"),a=this.$('input[type="checkbox"]'),n=this.$("label");a.prop("checked",i),i?n.addClass("selected"):n.removeClass("selected")},onClickCustom:function(t,e){var i=e.prop("checked"),a=e.next('input[type="text"]');i?a.prop("disabled",!1):(a.prop("disabled",!0),""==a.val()&&e.parent("li").remove())}}),acf.registerFieldType(e)},9459:function(){var t;jQuery,t=acf.Field.extend({type:"color_picker",wait:"load",events:{duplicateField:"onDuplicate"},$control:function(){return this.$(".acf-color-picker")},$input:function(){return this.$('input[type="hidden"]')},$inputText:function(){return this.$('input[type="text"]')},setValue:function(t){acf.val(this.$input(),t),this.$inputText().iris("color",t)},initialize:function(){var t=this.$input(),e=this.$inputText(),i=function(i){setTimeout((function(){acf.val(t,e.val())}),1)},a={defaultColor:!1,palettes:!0,hide:!0,change:i,clear:i};a=acf.applyFilters("color_picker_args",a,this),e.wpColorPicker(a)},onDuplicate:function(t,e,i){$colorPicker=i.find(".wp-picker-container"),$inputText=i.find('input[type="text"]'),$colorPicker.replaceWith($inputText)}}),acf.registerFieldType(t)},7597:function(){var t,e;t=jQuery,e=acf.Field.extend({type:"date_picker",events:{'blur input[type="text"]':"onBlur",duplicateField:"onDuplicate"},$control:function(){return this.$(".acf-date-picker")},$input:function(){return this.$('input[type="hidden"]')},$inputText:function(){return this.$('input[type="text"]')},initialize:function(){if(this.has("save_format"))return this.initializeCompatibility();var t=this.$input(),e=this.$inputText(),i={dateFormat:this.get("date_format"),altField:t,altFormat:"yymmdd",changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day")};i=acf.applyFilters("date_picker_args",i,this),acf.newDatePicker(e,i),acf.doAction("date_picker_init",e,i,this)},initializeCompatibility:function(){var t=this.$input(),e=this.$inputText();e.val(t.val());var i={dateFormat:this.get("date_format"),altField:t,altFormat:this.get("save_format"),changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day")},a=(i=acf.applyFilters("date_picker_args",i,this)).dateFormat;i.dateFormat=this.get("save_format"),acf.newDatePicker(e,i),e.datepicker("option","dateFormat",a),acf.doAction("date_picker_init",e,i,this)},onBlur:function(){this.$inputText().val()||acf.val(this.$input(),"")},onDuplicate:function(t,e,i){i.find('input[type="text"]').removeClass("hasDatepicker").removeAttr("id")}}),acf.registerFieldType(e),new acf.Model({priority:5,wait:"ready",initialize:function(){var e=acf.get("locale"),i=acf.get("rtl"),a=acf.get("datePickerL10n");return!!a&&void 0!==t.datepicker&&(a.isRTL=i,t.datepicker.regional[e]=a,void t.datepicker.setDefaults(a))}}),acf.newDatePicker=function(e,i){if(void 0===t.datepicker)return!1;i=i||{},e.datepicker(i),t("body > #ui-datepicker-div").exists()&&t("body > #ui-datepicker-div").wrap('
                            ')}},684:function(){var t,e;t=jQuery,e=acf.models.DatePickerField.extend({type:"date_time_picker",$control:function(){return this.$(".acf-date-time-picker")},initialize:function(){var t=this.$input(),e=this.$inputText(),i={dateFormat:this.get("date_format"),timeFormat:this.get("time_format"),altField:t,altFieldTimeOnly:!1,altFormat:"yy-mm-dd",altTimeFormat:"HH:mm:ss",changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day"),controlType:"select",oneLine:!0};i=acf.applyFilters("date_time_picker_args",i,this),acf.newDateTimePicker(e,i),acf.doAction("date_time_picker_init",e,i,this)}}),acf.registerFieldType(e),new acf.Model({priority:5,wait:"ready",initialize:function(){var e=acf.get("locale"),i=acf.get("rtl"),a=acf.get("dateTimePickerL10n");return!!a&&void 0!==t.timepicker&&(a.isRTL=i,t.timepicker.regional[e]=a,void t.timepicker.setDefaults(a))}}),acf.newDateTimePicker=function(e,i){if(void 0===t.timepicker)return!1;i=i||{},e.datetimepicker(i),t("body > #ui-datepicker-div").exists()&&t("body > #ui-datepicker-div").wrap('
                            ')}},5647:function(){var t,e;t=jQuery,e=acf.models.ImageField.extend({type:"file",$control:function(){return this.$(".acf-file-uploader")},$input:function(){return this.$('input[type="hidden"]')},validateAttachment:function(t){return void 0!==(t=t||{}).id&&(t=t.attributes),acf.parseArgs(t,{url:"",alt:"",title:"",filename:"",filesizeHumanReadable:"",icon:"/wp-includes/images/media/default.png"})},render:function(t){t=this.validateAttachment(t),this.$("img").attr({src:t.icon,alt:t.alt,title:t.title}),this.$('[data-name="title"]').text(t.title),this.$('[data-name="filename"]').text(t.filename).attr("href",t.url),this.$('[data-name="filesize"]').text(t.filesizeHumanReadable);var e=t.id||"";acf.val(this.$input(),e),e?this.$control().addClass("has-value"):this.$control().removeClass("has-value")},selectAttachment:function(){var e=this.parent(),i=e&&"repeater"===e.get("type");acf.newMediaPopup({mode:"select",title:acf.__("Select File"),field:this.get("key"),multiple:i,library:this.get("library"),allowedTypes:this.get("mime_types"),select:t.proxy((function(t,i){i>0?this.append(t,e):this.render(t)}),this)})},editAttachment:function(){var e=this.val();if(!e)return!1;acf.newMediaPopup({mode:"edit",title:acf.__("Edit File"),button:acf.__("Update File"),attachment:e,field:this.get("key"),select:t.proxy((function(t,e){this.render(t)}),this)})}}),acf.registerFieldType(e)},8489:function(){!function(t,e){var i=acf.Field.extend({type:"google_map",map:!1,wait:"load",events:{'click a[data-name="clear"]':"onClickClear",'click a[data-name="locate"]':"onClickLocate",'click a[data-name="search"]':"onClickSearch","keydown .search":"onKeydownSearch","keyup .search":"onKeyupSearch","focus .search":"onFocusSearch","blur .search":"onBlurSearch",showField:"onShow"},$control:function(){return this.$(".acf-google-map")},$search:function(){return this.$(".search")},$canvas:function(){return this.$(".canvas")},setState:function(t){this.$control().removeClass("-value -loading -searching"),"default"===t&&(t=this.val()?"value":""),t&&this.$control().addClass("-"+t)},getValue:function(){var t=this.$input().val();return!!t&&JSON.parse(t)},setValue:function(t,e){var i="";t&&(i=JSON.stringify(t)),acf.val(this.$input(),i),e||(this.renderVal(t),acf.doAction("google_map_change",t,this.map,this))},renderVal:function(t){t?(this.setState("value"),this.$search().val(t.address),this.setPosition(t.lat,t.lng)):(this.setState(""),this.$search().val(""),this.map.marker.setVisible(!1))},newLatLng:function(t,e){return new google.maps.LatLng(parseFloat(t),parseFloat(e))},setPosition:function(t,e){this.map.marker.setPosition({lat:parseFloat(t),lng:parseFloat(e)}),this.map.marker.setVisible(!0),this.center()},center:function(){var t=this.map.marker.getPosition();if(t)var e=t.lat(),i=t.lng();else e=this.get("lat"),i=this.get("lng");this.map.setCenter({lat:parseFloat(e),lng:parseFloat(i)})},initialize:function(){!function(e){if(n)return e();if(acf.isset(window,"google","maps","Geocoder"))return n=new google.maps.Geocoder,e();if(acf.addAction("google_map_api_loaded",e),!a){var i=acf.get("google_map_api");i&&(a=!0,t.ajax({url:i,dataType:"script",cache:!0,success:function(){n=new google.maps.Geocoder,acf.doAction("google_map_api_loaded")}}))}}(this.initializeMap.bind(this))},initializeMap:function(){var t=this.getValue(),e=acf.parseArgs(t,{zoom:this.get("zoom"),lat:this.get("lat"),lng:this.get("lng")}),i={scrollwheel:!1,zoom:parseInt(e.zoom),center:{lat:parseFloat(e.lat),lng:parseFloat(e.lng)},mapTypeId:google.maps.MapTypeId.ROADMAP,marker:{draggable:!0,raiseOnDrag:!0},autocomplete:{}};i=acf.applyFilters("google_map_args",i,this);var a=new google.maps.Map(this.$canvas()[0],i),n=acf.parseArgs(i.marker,{draggable:!0,raiseOnDrag:!0,map:a});n=acf.applyFilters("google_map_marker_args",n,this);var s=new google.maps.Marker(n),o=!1;if(acf.isset(google,"maps","places","Autocomplete")){var r=i.autocomplete||{};r=acf.applyFilters("google_map_autocomplete_args",r,this),(o=new google.maps.places.Autocomplete(this.$search()[0],r)).bindTo("bounds",a)}this.addMapEvents(this,a,s,o),a.acf=this,a.marker=s,a.autocomplete=o,this.map=a,t&&this.setPosition(t.lat,t.lng),acf.doAction("google_map_init",a,s,this)},addMapEvents:function(t,e,i,a){google.maps.event.addListener(e,"click",(function(e){var i=e.latLng.lat(),a=e.latLng.lng();t.searchPosition(i,a)})),google.maps.event.addListener(i,"dragend",(function(){var e=this.getPosition().lat(),i=this.getPosition().lng();t.searchPosition(e,i)})),a&&google.maps.event.addListener(a,"place_changed",(function(){var e=this.getPlace();t.searchPlace(e)})),google.maps.event.addListener(e,"zoom_changed",(function(){var i=t.val();i&&(i.zoom=e.getZoom(),t.setValue(i,!0))}))},searchPosition:function(t,e){this.setState("loading");var i={lat:t,lng:e};n.geocode({location:i},function(i,a){if(this.setState(""),"OK"!==a)this.showNotice({text:acf.__("Location not found: %s").replace("%s",a),type:"warning"});else{var n=this.parseResult(i[0]);n.lat=t,n.lng=e,this.val(n)}}.bind(this))},searchPlace:function(t){if(t)if(t.geometry){t.formatted_address=this.$search().val();var e=this.parseResult(t);this.val(e)}else t.name&&this.searchAddress(t.name)},searchAddress:function(t){if(t){var e=t.split(",");if(2==e.length){var i=parseFloat(e[0]),a=parseFloat(e[1]);if(i&&a)return this.searchPosition(i,a)}this.setState("loading"),n.geocode({address:t},function(e,i){if(this.setState(""),"OK"!==i)this.showNotice({text:acf.__("Location not found: %s").replace("%s",i),type:"warning"});else{var a=this.parseResult(e[0]);a.address=t,this.val(a)}}.bind(this))}},searchLocation:function(){if(!navigator.geolocation)return alert(acf.__("Sorry, this browser does not support geolocation"));this.setState("loading"),navigator.geolocation.getCurrentPosition(function(t){this.setState("");var e=t.coords.latitude,i=t.coords.longitude;this.searchPosition(e,i)}.bind(this),function(t){this.setState("")}.bind(this))},parseResult:function(t){var e={address:t.formatted_address,lat:t.geometry.location.lat(),lng:t.geometry.location.lng()};e.zoom=this.map.getZoom(),t.place_id&&(e.place_id=t.place_id),t.name&&(e.name=t.name);var i={street_number:["street_number"],street_name:["street_address","route"],city:["locality","postal_town"],state:["administrative_area_level_1","administrative_area_level_2","administrative_area_level_3","administrative_area_level_4","administrative_area_level_5"],post_code:["postal_code"],country:["country"]};for(var a in i)for(var n=i[a],s=0;s0?this.append(t,e):this.render(t)}),this)})},editAttachment:function(){var e=this.val();e&&acf.newMediaPopup({mode:"edit",title:acf.__("Edit Image"),button:acf.__("Update Image"),attachment:e,field:this.get("key"),select:t.proxy((function(t,e){this.render(t)}),this)})},removeAttachment:function(){this.render(!1)},onClickAdd:function(t,e){this.selectAttachment()},onClickEdit:function(t,e){this.editAttachment()},onClickRemove:function(t,e){this.removeAttachment()},onChange:function(e,i){var a=this.$input();i.val()||a.val(""),acf.getFileInputData(i,(function(e){a.val(t.param(e))}))}}),acf.registerFieldType(e)},4658:function(){var t,e;t=jQuery,e=acf.Field.extend({type:"link",events:{'click a[data-name="add"]':"onClickEdit",'click a[data-name="edit"]':"onClickEdit",'click a[data-name="remove"]':"onClickRemove","change .link-node":"onChange"},$control:function(){return this.$(".acf-link")},$node:function(){return this.$(".link-node")},getValue:function(){var t=this.$node();return!!t.attr("href")&&{title:t.html(),url:t.attr("href"),target:t.attr("target")}},setValue:function(t){t=acf.parseArgs(t,{title:"",url:"",target:""});var e=this.$control(),i=this.$node();e.removeClass("-value -external"),t.url&&e.addClass("-value"),"_blank"===t.target&&e.addClass("-external"),this.$(".link-title").html(t.title),this.$(".link-url").attr("href",t.url).html(t.url),i.html(t.title),i.attr("href",t.url),i.attr("target",t.target),this.$(".input-title").val(t.title),this.$(".input-target").val(t.target),this.$(".input-url").val(t.url).trigger("change")},onClickEdit:function(t,e){acf.wpLink.open(this.$node())},onClickRemove:function(t,e){this.setValue(!1)},onChange:function(t,e){var i=this.getValue();this.setValue(i)}}),acf.registerFieldType(e),acf.wpLink=new acf.Model({getNodeValue:function(){var t=this.get("node");return{title:acf.decode(t.html()),url:t.attr("href"),target:t.attr("target")}},setNodeValue:function(t){var e=this.get("node");e.text(t.title),e.attr("href",t.url),e.attr("target",t.target),e.trigger("change")},getInputValue:function(){return{title:t("#wp-link-text").val(),url:t("#wp-link-url").val(),target:t("#wp-link-target").prop("checked")?"_blank":""}},setInputValue:function(e){t("#wp-link-text").val(e.title),t("#wp-link-url").val(e.url),t("#wp-link-target").prop("checked","_blank"===e.target)},open:function(e){this.on("wplink-open","onOpen"),this.on("wplink-close","onClose"),this.set("node",e);var i=t('');t("body").append(i);var a=this.getNodeValue();wpLink.open("acf-link-textarea",a.url,a.title,null)},onOpen:function(){t("#wp-link-wrap").addClass("has-text-field");var e=this.getNodeValue();this.setInputValue(e),e.url&&wpLinkL10n&&t("#wp-link-submit").val(wpLinkL10n.update)},close:function(){wpLink.close()},onClose:function(){if(!this.has("node"))return!1;var e=t("#wp-link-submit");if(e.is(":hover")||e.is(":focus")){var i=this.getInputValue();this.setNodeValue(i)}this.off("wplink-open"),this.off("wplink-close"),t("#acf-link-textarea").remove(),this.set("node",null)}})},719:function(){var t,e;t=jQuery,e=acf.Field.extend({type:"oembed",events:{'click [data-name="clear-button"]':"onClickClear","keypress .input-search":"onKeypressSearch","keyup .input-search":"onKeyupSearch","change .input-search":"onChangeSearch"},$control:function(){return this.$(".acf-oembed")},$input:function(){return this.$(".input-value")},$search:function(){return this.$(".input-search")},getValue:function(){return this.$input().val()},getSearchVal:function(){return this.$search().val()},setValue:function(t){t?this.$control().addClass("has-value"):this.$control().removeClass("has-value"),acf.val(this.$input(),t)},showLoading:function(t){acf.showLoading(this.$(".canvas"))},hideLoading:function(){acf.hideLoading(this.$(".canvas"))},maybeSearch:function(){var e=this.val(),i=this.getSearchVal();if(!i)return this.clear();if("http"!=i.substr(0,4)&&(i="http://"+i),i!==e){var a=this.get("timeout");a&&clearTimeout(a);var n=t.proxy(this.search,this,i);this.set("timeout",setTimeout(n,300))}},search:function(e){var i={action:"acf/fields/oembed/search",s:e,field_key:this.get("key")};(a=this.get("xhr"))&&a.abort(),this.showLoading();var a=t.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(i),type:"post",dataType:"json",context:this,success:function(t){t&&t.html||(t={url:!1,html:""}),this.val(t.url),this.$(".canvas-media").html(t.html)},complete:function(){this.hideLoading()}});this.set("xhr",a)},clear:function(){this.val(""),this.$search().val(""),this.$(".canvas-media").html("")},onClickClear:function(t,e){this.clear()},onKeypressSearch:function(t,e){13==t.which&&(t.preventDefault(),this.maybeSearch())},onKeyupSearch:function(t,e){e.val()&&this.maybeSearch()},onChangeSearch:function(t,e){this.maybeSearch()}}),acf.registerFieldType(e)},1281:function(){var t;jQuery,t=acf.models.SelectField.extend({type:"page_link"}),acf.registerFieldType(t)},1987:function(){var t;jQuery,t=acf.models.SelectField.extend({type:"post_object"}),acf.registerFieldType(t)},2557:function(){var t;jQuery,t=acf.Field.extend({type:"radio",events:{'click input[type="radio"]':"onClick"},$control:function(){return this.$(".acf-radio-list")},$input:function(){return this.$("input:checked")},$inputText:function(){return this.$('input[type="text"]')},getValue:function(){var t=this.$input().val();return"other"===t&&this.get("other_choice")&&(t=this.$inputText().val()),t},onClick:function(t,e){var i=e.parent("label"),a=i.hasClass("selected"),n=e.val();this.$(".selected").removeClass("selected"),i.addClass("selected"),this.get("allow_null")&&a&&(i.removeClass("selected"),e.prop("checked",!1).trigger("change"),n=!1),this.get("other_choice")&&("other"===n?this.$inputText().prop("disabled",!1):this.$inputText().prop("disabled",!0))}}),acf.registerFieldType(t)},2489:function(){var t;jQuery,t=acf.Field.extend({type:"range",events:{'input input[type="range"]':"onChange","change input":"onChange"},$input:function(){return this.$('input[type="range"]')},$inputAlt:function(){return this.$('input[type="number"]')},setValue:function(t){this.busy=!0,acf.val(this.$input(),t),acf.val(this.$inputAlt(),this.$input().val(),!0),this.busy=!1},onChange:function(t,e){this.busy||this.setValue(e.val())}}),acf.registerFieldType(t)},714:function(){var t,e;t=jQuery,e=acf.Field.extend({type:"relationship",events:{"keypress [data-filter]":"onKeypressFilter","change [data-filter]":"onChangeFilter","keyup [data-filter]":"onChangeFilter","click .choices-list .acf-rel-item":"onClickAdd",'click [data-name="remove_item"]':"onClickRemove"},$control:function(){return this.$(".acf-relationship")},$list:function(t){return this.$("."+t+"-list")},$listItems:function(t){return this.$list(t).find(".acf-rel-item")},$listItem:function(t,e){return this.$list(t).find('.acf-rel-item[data-id="'+e+'"]')},getValue:function(){var e=[];return this.$listItems("values").each((function(){e.push(t(this).data("id"))})),!!e.length&&e},newChoice:function(t){return["
                          • ",''+t.text+"","
                          • "].join("")},newValue:function(t){return["
                          • ",'',''+t.text,'',"","
                          • "].join("")},initialize:function(){var t=this.proxy(acf.once((function(){this.$list("values").sortable({items:"li",forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,update:this.proxy((function(){this.$input().trigger("change")}))}),this.$list("choices").scrollTop(0).on("scroll",this.proxy(this.onScrollChoices)),this.fetch()})));this.$el.one("mouseover",t),this.$el.one("focus","input",t),acf.onceInView(this.$el,t)},onScrollChoices:function(t){if(!this.get("loading")&&this.get("more")){var e=this.$list("choices"),i=Math.ceil(e.scrollTop()),a=Math.ceil(e[0].scrollHeight),n=Math.ceil(e.innerHeight()),s=this.get("paged")||1;i+n>=a&&(this.set("paged",s+1),this.fetch())}},onKeypressFilter:function(t,e){13==t.which&&t.preventDefault()},onChangeFilter:function(t,e){var i=e.val(),a=e.data("filter");this.get(a)!==i&&(this.set(a,i),this.set("paged",1),e.is("select")?this.fetch():this.maybeFetch())},onClickAdd:function(t,e){var i=this.val(),a=parseInt(this.get("max"));if(e.hasClass("disabled"))return!1;if(a>0&&i&&i.length>=a)return this.showNotice({text:acf.__("Maximum values reached ( {max} values )").replace("{max}",a),type:"warning"}),!1;e.addClass("disabled");var n=this.newValue({id:e.data("id"),text:e.html()});this.$list("values").append(n),this.$input().trigger("change")},onClickRemove:function(t,e){t.preventDefault();var i=e.parent(),a=i.parent(),n=i.data("id");a.remove(),this.$listItem("choices",n).removeClass("disabled"),this.$input().trigger("change")},maybeFetch:function(){var t=this.get("timeout");t&&clearTimeout(t),t=this.setTimeout(this.fetch,300),this.set("timeout",t)},getAjaxData:function(){var t=this.$control().data();for(var e in t)t[e]=this.get(e);return t.action="acf/fields/relationship/query",t.field_key=this.get("key"),acf.applyFilters("relationship_ajax_data",t,this)},fetch:function(){(n=this.get("xhr"))&&n.abort();var e=this.getAjaxData(),i=this.$list("choices");1==e.paged&&i.html("");var a=t('
                          • '+acf.__("Loading")+"
                          • ");i.append(a),this.set("loading",!0);var n=t.ajax({url:acf.get("ajaxurl"),dataType:"json",type:"post",data:acf.prepareForAjax(e),context:this,success:function(e){if(!e||!e.results||!e.results.length)return this.set("more",!1),void(1==this.get("paged")&&this.$list("choices").append("
                          • "+acf.__("No matches found")+"
                          • "));this.set("more",e.more);var a=this.walkChoices(e.results),n=t(a),s=this.val();s&&s.length&&s.map((function(t){n.find('.acf-rel-item[data-id="'+t+'"]').addClass("disabled")})),i.append(n);var o=!1,r=!1;i.find(".acf-rel-label").each((function(){var e=t(this),i=e.siblings("ul");if(o&&o.text()==e.text())return r.append(i.children()),void t(this).parent().remove();o=e,r=i}))},complete:function(){this.set("loading",!1),a.remove()}});this.set("xhr",n)},walkChoices:function(e){var i=function(e){var a="";return t.isArray(e)?e.map((function(t){a+=i(t)})):t.isPlainObject(e)&&(void 0!==e.children?(a+='
                          • '+acf.escHtml(e.text)+'
                              ',a+=i(e.children),a+="
                          • "):a+='
                          • '+acf.escHtml(e.text)+"
                          • "),a};return i(e)}}),acf.registerFieldType(e)},6965:function(){var t;jQuery,t=acf.Field.extend({type:"select",select2:!1,wait:"load",events:{removeField:"onRemove",duplicateField:"onDuplicate"},$input:function(){return this.$("select")},initialize:function(){var t=this.$input();if(this.inherit(t),this.get("ui")){var e=this.get("ajax_action");e||(e="acf/fields/"+this.get("type")+"/query"),this.select2=acf.newSelect2(t,{field:this,ajax:this.get("ajax"),multiple:this.get("multiple"),placeholder:this.get("placeholder"),allowNull:this.get("allow_null"),ajaxAction:e})}},onRemove:function(){this.select2&&this.select2.destroy()},onDuplicate:function(t,e,i){this.select2&&(i.find(".select2-container").remove(),i.find("select").removeClass("select2-hidden-accessible"))}}),acf.registerFieldType(t)},177:function(){!function(t,e){var i="tab",a=acf.Field.extend({type:"tab",wait:"",tabs:!1,tab:!1,events:{duplicateField:"onDuplicate"},findFields:function(){return this.$el.nextUntil(".acf-field-tab",".acf-field")},getFields:function(){return acf.getFields(this.findFields())},findTabs:function(){return this.$el.prevAll(".acf-tab-wrap:first")},findTab:function(){return this.$(".acf-tab-button")},initialize:function(){if(this.$el.is("td"))return this.events={},!1;var t=this.findTabs(),e=this.findTab(),i=acf.parseArgs(e.data(),{endpoint:!1,placement:"",before:this.$el});!t.length||i.endpoint?this.tabs=new s(i):this.tabs=t.data("acf"),this.tab=this.tabs.addTab(e,this)},isActive:function(){return this.tab.isActive()},showFields:function(){this.getFields().map((function(t){t.show(this.cid,i),t.hiddenByTab=!1}),this)},hideFields:function(){this.getFields().map((function(t){t.hide(this.cid,i),t.hiddenByTab=this.tab}),this)},show:function(t){var e=acf.Field.prototype.show.apply(this,arguments);return e&&(this.tab.show(),this.tabs.refresh()),e},hide:function(t){var e=acf.Field.prototype.hide.apply(this,arguments);return e&&(this.tab.hide(),this.isActive()&&this.tabs.reset()),e},enable:function(t){this.getFields().map((function(t){t.enable(i)}))},disable:function(t){this.getFields().map((function(t){t.disable(i)}))},onDuplicate:function(t,e,i){this.isActive()&&i.prevAll(".acf-tab-wrap:first").remove()}});acf.registerFieldType(a);var n=0,s=acf.Model.extend({tabs:[],active:!1,actions:{refresh:"onRefresh"},data:{before:!1,placement:"top",index:0,initialized:!1},setup:function(e){t.extend(this.data,e),this.tabs=[],this.active=!1;var i=this.get("placement"),a=this.get("before"),s=a.parent();"left"==i&&s.hasClass("acf-fields")&&s.addClass("-sidebar"),a.is("tr")?this.$el=t('
                            '):this.$el=t('
                              '),a.before(this.$el),this.set("index",n,!0),n++},initializeTabs:function(){var t=this.getVisible().shift(),e=(acf.getPreference("this.tabs")||[])[this.get("index")];this.tabs[e]&&this.tabs[e].isVisible()&&(t=this.tabs[e]),t?this.selectTab(t):this.closeTabs(),this.set("initialized",!0)},getVisible:function(){return this.tabs.filter((function(t){return t.isVisible()}))},getActive:function(){return this.active},setActive:function(t){return this.active=t},hasActive:function(){return!1!==this.active},isActive:function(t){var e=this.getActive();return e&&e.cid===t.cid},closeActive:function(){this.hasActive()&&this.closeTab(this.getActive())},openTab:function(t){this.closeActive(),t.open(),this.setActive(t)},closeTab:function(t){t.close(),this.setActive(!1)},closeTabs:function(){this.tabs.map(this.closeTab,this)},selectTab:function(t){this.tabs.map((function(e){t.cid!==e.cid&&this.closeTab(e)}),this),this.openTab(t)},addTab:function(e,i){var a=t("
                            • "+e.outerHTML()+"
                            • ");this.$("ul").append(a);var n=new o({$el:a,field:i,group:this});return this.tabs.push(n),n},reset:function(){return this.closeActive(),this.refresh()},refresh:function(){if(this.hasActive())return!1;var t=this.getVisible().shift();return t&&this.openTab(t),t},onRefresh:function(){if("left"===this.get("placement")){var t=this.$el.parent(),e=this.$el.children("ul"),i=t.is("td")?"height":"min-height",a=e.position().top+e.outerHeight(!0)-1;t.css(i,a)}}}),o=acf.Model.extend({group:!1,field:!1,events:{"click a":"onClick"},index:function(){return this.$el.index()},isVisible:function(){return acf.isVisible(this.$el)},isActive:function(){return this.$el.hasClass("active")},open:function(){this.$el.addClass("active"),this.field.showFields()},close:function(){this.$el.removeClass("active"),this.field.hideFields()},onClick:function(t,e){t.preventDefault(),this.toggle()},toggle:function(){this.isActive()||this.group.openTab(this)}});new acf.Model({priority:50,actions:{prepare:"render",append:"render",unload:"onUnload",invalid_field:"onInvalidField"},findTabs:function(){return t(".acf-tab-wrap")},getTabs:function(){return acf.getInstances(this.findTabs())},render:function(t){this.getTabs().map((function(t){t.get("initialized")||t.initializeTabs()}))},onInvalidField:function(t){this.busy||t.hiddenByTab&&(t.hiddenByTab.toggle(),this.busy=!0,this.setTimeout((function(){this.busy=!1}),100))},onUnload:function(){var t=[];this.getTabs().map((function(e){var i=e.hasActive()?e.getActive().index():0;t.push(i)})),t.length&&acf.setPreference("this.tabs",t)}})}(jQuery)},2573:function(){var t,e;t=jQuery,e=acf.Field.extend({type:"taxonomy",data:{ftype:"select"},select2:!1,wait:"load",events:{'click a[data-name="add"]':"onClickAdd",'click input[type="radio"]':"onClickRadio",removeField:"onRemove"},$control:function(){return this.$(".acf-taxonomy-field")},$input:function(){return this.getRelatedPrototype().$input.apply(this,arguments)},getRelatedType:function(){var t=this.get("ftype");return"multi_select"==t&&(t="select"),t},getRelatedPrototype:function(){return acf.getFieldType(this.getRelatedType()).prototype},getValue:function(){return this.getRelatedPrototype().getValue.apply(this,arguments)},setValue:function(){return this.getRelatedPrototype().setValue.apply(this,arguments)},initialize:function(){this.getRelatedPrototype().initialize.apply(this,arguments)},onRemove:function(){var t=this.getRelatedPrototype();t.onRemove&&t.onRemove.apply(this,arguments)},onClickAdd:function(e,i){var a=this,n=!1,s=!1,o=!1,r=!1,c=!1,l=!1,d=function(t){n.loading(!1),n.content(t),s=n.$("form"),o=n.$('input[name="term_name"]'),r=n.$('select[name="term_parent"]'),c=n.$(".acf-submit-button"),o.trigger("focus"),n.on("submit","form",u)},u=function(e,i){if(e.preventDefault(),e.stopImmediatePropagation(),""===o.val())return o.trigger("focus"),!1;acf.startButtonLoading(c);var n={action:"acf/fields/taxonomy/add_term",field_key:a.get("key"),term_name:o.val(),term_parent:r.length?r.val():0};t.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(n),type:"post",dataType:"json",success:f})},f=function(t){acf.stopButtonLoading(c),l&&l.remove(),acf.isAjaxSuccess(t)?(o.val(""),p(t.data),l=acf.newNotice({type:"success",text:acf.getAjaxMessage(t),target:s,timeout:2e3,dismiss:!1})):l=acf.newNotice({type:"error",text:acf.getAjaxError(t),target:s,timeout:2e3,dismiss:!1}),o.trigger("focus")},p=function(e){var i=t('");e.term_parent?r.children('option[value="'+e.term_parent+'"]').after(i):r.append(i),acf.getFields({type:"taxonomy"}).map((function(t){t.get("taxonomy")==a.get("taxonomy")&&t.appendTerm(e)})),a.selectTerm(e.term_id)};!function(){n=acf.newPopup({title:i.attr("title"),loading:!0,width:"300px"});var e={action:"acf/fields/taxonomy/add_term",field_key:a.get("key")};t.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(e),type:"post",dataType:"html",success:d})}()},appendTerm:function(t){"select"==this.getRelatedType()?this.appendTermSelect(t):this.appendTermCheckbox(t)},appendTermSelect:function(t){this.select2.addOption({id:t.term_id,text:t.term_label})},appendTermCheckbox:function(e){var i=this.$("[name]:first").attr("name"),a=this.$("ul:first");"checkbox"==this.getRelatedType()&&(i+="[]");var n=t(['
                            • ',"","
                            • "].join(""));if(e.term_parent){var s=a.find('li[data-id="'+e.term_parent+'"]');(a=s.children("ul")).exists()||(a=t('
                                '),s.append(a))}a.append(n)},selectTerm:function(t){"select"==this.getRelatedType()?this.select2.selectOption(t):this.$('input[value="'+t+'"]').prop("checked",!0).trigger("change")},onClickRadio:function(t,e){var i=e.parent("label"),a=i.hasClass("selected");this.$(".selected").removeClass("selected"),i.addClass("selected"),this.get("allow_null")&&a&&(i.removeClass("selected"),e.prop("checked",!1).trigger("change"))}}),acf.registerFieldType(e)},9047:function(){var t,e;t=jQuery,e=acf.models.DatePickerField.extend({type:"time_picker",$control:function(){return this.$(".acf-time-picker")},initialize:function(){var t=this.$input(),e=this.$inputText(),i={timeFormat:this.get("time_format"),altField:t,altFieldTimeOnly:!1,altTimeFormat:"HH:mm:ss",showButtonPanel:!0,controlType:"select",oneLine:!0,closeText:acf.get("dateTimePickerL10n").selectText,timeOnly:!0,onClose:function(t,e,i){var a=e.dpDiv.find(".ui-datepicker-close");!t&&a.is(":hover")&&i._updateDateTime()}};i=acf.applyFilters("time_picker_args",i,this),acf.newTimePicker(e,i),acf.doAction("time_picker_init",e,i,this)}}),acf.registerFieldType(e),acf.newTimePicker=function(e,i){if(void 0===t.timepicker)return!1;i=i||{},e.timepicker(i),t("body > #ui-datepicker-div").exists()&&t("body > #ui-datepicker-div").wrap('
                                ')}},1788:function(){var t;jQuery,t=acf.Field.extend({type:"true_false",events:{"change .acf-switch-input":"onChange","focus .acf-switch-input":"onFocus","blur .acf-switch-input":"onBlur","keypress .acf-switch-input":"onKeypress"},$input:function(){return this.$('input[type="checkbox"]')},$switch:function(){return this.$(".acf-switch")},getValue:function(){return this.$input().prop("checked")?1:0},initialize:function(){this.render()},render:function(){var t=this.$switch();if(t.length){var e=t.children(".acf-switch-on"),i=t.children(".acf-switch-off"),a=Math.max(e.width(),i.width());a&&(e.css("min-width",a),i.css("min-width",a))}},switchOn:function(){this.$input().prop("checked",!0),this.$switch().addClass("-on")},switchOff:function(){this.$input().prop("checked",!1),this.$switch().removeClass("-on")},onChange:function(t,e){e.prop("checked")?this.switchOn():this.switchOff()},onFocus:function(t,e){this.$switch().addClass("-focus")},onBlur:function(t,e){this.$switch().removeClass("-focus")},onKeypress:function(t,e){return 37===t.keyCode?this.switchOff():39===t.keyCode?this.switchOn():void 0}}),acf.registerFieldType(t)},4429:function(){var t;jQuery,t=acf.Field.extend({type:"url",events:{'keyup input[type="url"]':"onkeyup"},$control:function(){return this.$(".acf-input-wrap")},$input:function(){return this.$('input[type="url"]')},initialize:function(){this.render()},isValid:function(){var t=this.val();return!!t&&(-1!==t.indexOf("://")||0===t.indexOf("//"))},render:function(){this.isValid()?this.$control().addClass("-valid"):this.$control().removeClass("-valid")},onkeyup:function(t,e){this.render()}}),acf.registerFieldType(t)},7790:function(){var t;jQuery,t=acf.models.SelectField.extend({type:"user"}),acf.registerFieldType(t),acf.addFilter("select2_ajax_data",(function(t,e,i,a,n){if(!a)return t;const s=a.get("queryNonce");return s&&s.length&&(t.user_query_nonce=s),t}))},4850:function(){var t;jQuery,t=acf.Field.extend({type:"wysiwyg",wait:"load",events:{"mousedown .acf-editor-wrap.delay":"onMousedown",unmountField:"disableEditor",remountField:"enableEditor",removeField:"disableEditor"},$control:function(){return this.$(".acf-editor-wrap")},$input:function(){return this.$("textarea")},getMode:function(){return this.$control().hasClass("tmce-active")?"visual":"text"},initialize:function(){this.$control().hasClass("delay")||this.initializeEditor()},initializeEditor:function(){var t=this.$control(),e=this.$input(),i={tinymce:!0,quicktags:!0,toolbar:this.get("toolbar"),mode:this.getMode(),field:this},a=e.attr("id"),n=acf.uniqueId("acf-editor-"),s=e.data(),o=e.val();acf.rename({target:t,search:a,replace:n,destructive:!0}),this.set("id",n,!0),this.$input().data(s).val(o),acf.tinymce.initialize(n,i)},onMousedown:function(t){t.preventDefault();var e=this.$control();e.removeClass("delay"),e.find(".acf-editor-toolbar").remove(),this.initializeEditor()},enableEditor:function(){"visual"==this.getMode()&&acf.tinymce.enable(this.get("id"))},disableEditor:function(){acf.tinymce.destroy(this.get("id"))}}),acf.registerFieldType(t)},6291:function(){!function(t,e){var i=[];acf.Field=acf.Model.extend({type:"",eventScope:".acf-field",wait:"ready",setup:function(t){this.$el=t,this.inherit(t),this.inherit(this.$control())},val:function(t){return t!==e?this.setValue(t):this.prop("disabled")?null:this.getValue()},getValue:function(){return this.$input().val()},setValue:function(t){return acf.val(this.$input(),t)},__:function(t){return acf._e(this.type,t)},$control:function(){return!1},$input:function(){return this.$("[name]:first")},$inputWrap:function(){return this.$(".acf-input:first")},$labelWrap:function(){return this.$(".acf-label:first")},getInputName:function(){return this.$input().attr("name")||""},parent:function(){var t=this.parents();return!!t.length&&t[0]},parents:function(){var t=this.$el.parents(".acf-field");return acf.getFields(t)},show:function(t,e){var i=acf.show(this.$el,t);return i&&(this.prop("hidden",!1),acf.doAction("show_field",this,e)),i},hide:function(t,e){var i=acf.hide(this.$el,t);return i&&(this.prop("hidden",!0),acf.doAction("hide_field",this,e)),i},enable:function(t,e){var i=acf.enable(this.$el,t);return i&&(this.prop("disabled",!1),acf.doAction("enable_field",this,e)),i},disable:function(t,e){var i=acf.disable(this.$el,t);return i&&(this.prop("disabled",!0),acf.doAction("disable_field",this,e)),i},showEnable:function(t,e){return this.enable.apply(this,arguments),this.show.apply(this,arguments)},hideDisable:function(t,e){return this.disable.apply(this,arguments),this.hide.apply(this,arguments)},showNotice:function(t){"object"!=typeof t&&(t={text:t}),this.notice&&this.notice.remove(),t.target=this.$inputWrap(),this.notice=acf.newNotice(t)},removeNotice:function(t){this.notice&&(this.notice.away(t||0),this.notice=!1)},showError:function(i){this.$el.addClass("acf-error"),i!==e&&this.showNotice({text:i,type:"error",dismiss:!1}),acf.doAction("invalid_field",this),this.$el.one("focus change","input, select, textarea",t.proxy(this.removeError,this))},removeError:function(){this.$el.removeClass("acf-error"),this.removeNotice(250),acf.doAction("valid_field",this)},trigger:function(t,e,i){return"invalidField"==t&&(i=!0),acf.Model.prototype.trigger.apply(this,[t,e,i])}}),acf.newField=function(t){var e=t.data("type"),i=a(e),n=new(acf.models[i]||acf.Field)(t);return acf.doAction("new_field",n),n};var a=function(t){return acf.strPascalCase(t||"")+"Field"};acf.registerFieldType=function(t){var e=t.prototype.type,n=a(e);acf.models[n]=t,i.push(e)},acf.getFieldType=function(t){var e=a(t);return acf.models[e]||!1},acf.getFieldTypes=function(t){t=acf.parseArgs(t,{category:""});var e=[];return i.map((function(i){var a=acf.getFieldType(i),n=a.prototype;t.category&&n.category!==t.category||e.push(a)})),e}}(jQuery)},1580:function(){!function(t,e){acf.findFields=function(e){var i=".acf-field",a=!1;return(e=acf.parseArgs(e,{key:"",name:"",type:"",is:"",parent:!1,sibling:!1,limit:!1,visible:!1,suppressFilters:!1})).suppressFilters||(e=acf.applyFilters("find_fields_args",e)),e.key&&(i+='[data-key="'+e.key+'"]'),e.type&&(i+='[data-type="'+e.type+'"]'),e.name&&(i+='[data-name="'+e.name+'"]'),e.is&&(i+=e.is),e.visible&&(i+=":visible"),a=e.parent?e.parent.find(i):e.sibling?e.sibling.siblings(i):t(i),e.suppressFilters||(a=a.not(".acf-clone .acf-field"),a=acf.applyFilters("find_fields",a)),e.limit&&(a=a.slice(0,e.limit)),a},acf.findField=function(t,e){return acf.findFields({key:t,limit:1,parent:e,suppressFilters:!0})},acf.getField=function(t){t instanceof jQuery||(t=acf.findField(t));var e=t.data("acf");return e||(e=acf.newField(t)),e},acf.getFields=function(e){e instanceof jQuery||(e=acf.findFields(e));var i=[];return e.each((function(){var e=acf.getField(t(this));i.push(e)})),i},acf.findClosestField=function(t){return t.closest(".acf-field")},acf.getClosestField=function(t){var e=acf.findClosestField(t);return this.getField(e)};var i=function(t){var e=t+"_field",i=t+"Field";acf.addAction(e,(function(n){var s=acf.arrayArgs(arguments),o=s.slice(1),r=["type","name","key"];r.map((function(t){var i="/"+t+"="+n.get(t);s=[e+i,n].concat(o),acf.doAction.apply(null,s)})),a.indexOf(t)>-1&&n.trigger(i,o)}))},a=["remove","unmount","remount","sortstart","sortstop","show","hide","unload","valid","invalid","enable","disable","duplicate"];["prepare","ready","load","append","remove","unmount","remount","sortstart","sortstop","show","hide","unload"].map((function(t){var e=t,a=t+"_fields",n=t+"_field";acf.addAction(e,(function(t){var e=acf.arrayArgs(arguments),i=e.slice(1),n=acf.getFields({parent:t});if(n.length){var s=[a,n].concat(i);acf.doAction.apply(null,s)}})),acf.addAction(a,(function(t){var e=acf.arrayArgs(arguments),i=e.slice(1);t.map((function(t,e){var a=[n,t].concat(i);acf.doAction.apply(null,a)}))})),i(t)})),["valid","invalid","enable","disable","new","duplicate"].map(i),new acf.Model({id:"fieldsEventManager",events:{'click .acf-field a[href="#"]':"onClick","change .acf-field":"onChange"},onClick:function(t){t.preventDefault()},onChange:function(){t("#_acf_changed").val(1)}}),new acf.Model({id:"duplicateFieldsManager",actions:{duplicate:"onDuplicate",duplicate_fields:"onDuplicateFields"},onDuplicate:function(t,e){var i=acf.getFields({parent:t});if(i.length){var a=acf.findFields({parent:e});acf.doAction("duplicate_fields",i,a)}},onDuplicateFields:function(e,i){e.map((function(e,a){acf.doAction("duplicate_field",e,t(i[a]))}))}})}(jQuery)},5938:function(){var t;t=jQuery,new acf.Model({priority:90,actions:{new_field:"refresh",show_field:"refresh",hide_field:"refresh",remove_field:"refresh",unmount_field:"refresh",remount_field:"refresh"},refresh:function(){acf.refresh()}}),new acf.Model({priority:1,actions:{sortstart:"onSortstart",sortstop:"onSortstop"},onSortstart:function(t){acf.doAction("unmount",t)},onSortstop:function(t){acf.doAction("remount",t)}}),new acf.Model({actions:{sortstart:"onSortstart"},onSortstart:function(e,i){e.is("tr")&&(i.html('
                                '),e.addClass("acf-sortable-tr-helper"),e.children().each((function(){t(this).width(t(this).width())})),i.height(e.height()+"px"),e.removeClass("acf-sortable-tr-helper"))}}),new acf.Model({actions:{after_duplicate:"onAfterDuplicate"},onAfterDuplicate:function(e,i){var a=[];e.find("select").each((function(e){a.push(t(this).val())})),i.find("select").each((function(e){t(this).val(a[e])}))}}),new acf.Model({id:"tableHelper",priority:20,actions:{refresh:"renderTables"},renderTables:function(e){var i=this;t(".acf-table:visible").each((function(){i.renderTable(t(this))}))},renderTable:function(e){var i=e.find("> thead > tr:visible > th[data-key]"),a=e.find("> tbody > tr:visible > td[data-key]");if(!i.length||!a.length)return!1;i.each((function(e){var i=t(this),n=i.data("key"),s=a.filter('[data-key="'+n+'"]'),o=s.filter(".acf-hidden");s.removeClass("acf-empty"),s.length===o.length?acf.hide(i):(acf.show(i),o.addClass("acf-empty"))})),i.css("width","auto"),i=i.not(".acf-hidden");var n=100;i.length,i.filter("[data-width]").each((function(){var e=t(this).data("width");t(this).css("width",e+"%"),n-=e}));var s=i.not("[data-width]");if(s.length){var o=n/s.length;s.css("width",o+"%"),n=0}n>0&&i.last().css("width","auto"),a.filter(".-collapsed-target").each((function(){var e=t(this);e.parent().hasClass("-collapsed")?e.attr("colspan",i.length):e.removeAttr("colspan")}))}}),new acf.Model({id:"fieldsHelper",priority:30,actions:{refresh:"renderGroups"},renderGroups:function(){var e=this;t(".acf-fields:visible").each((function(){e.renderGroup(t(this))}))},renderGroup:function(e){var i=0,a=0,n=t(),s=e.children(".acf-field[data-width]:visible");return!!s.length&&(e.hasClass("-left")?(s.removeAttr("data-width"),s.css("width","auto"),!1):(s.removeClass("-r0 -c0").css({"min-height":0}),s.each((function(e){var s=t(this),o=s.position(),r=Math.ceil(o.top),c=Math.ceil(o.left);n.length&&r>i&&(n.css({"min-height":a+"px"}),o=s.position(),r=Math.ceil(o.top),c=Math.ceil(o.left),i=0,a=0,n=t()),acf.get("rtl")&&(c=Math.ceil(s.parent().width()-(o.left+s.outerWidth()))),0==r?s.addClass("-r0"):0==c&&s.addClass("-c0");var l=Math.ceil(s.outerHeight())+1;a=Math.max(a,l),i=Math.max(i,r),n=n.add(s)})),void(n.length&&n.css({"min-height":a+"px"}))))}}),new acf.Model({id:"bodyClassShiftHelper",events:{keydown:"onKeyDown",keyup:"onKeyUp"},isShiftKey:function(t){return 16===t.keyCode},onKeyDown:function(e){this.isShiftKey(e)&&t("body").addClass("acf-keydown-shift")},onKeyUp:function(e){this.isShiftKey(e)&&t("body").removeClass("acf-keydown-shift")}})},3812:function(){!function(t,e){acf.newMediaPopup=function(t){var e=null;return t=acf.parseArgs(t,{mode:"select",title:"",button:"",type:"",field:!1,allowedTypes:"",library:"all",multiple:!1,attachment:0,autoOpen:!0,open:function(){},select:function(){},close:function(){}}),e="edit"==t.mode?new acf.models.EditMediaPopup(t):new acf.models.SelectMediaPopup(t),t.autoOpen&&setTimeout((function(){e.open()}),1),acf.doAction("new_media_popup",e),e};var i=function(){var t=acf.get("post_id");return acf.isNumeric(t)?t:0};acf.getMimeTypes=function(){return this.get("mimeTypes")},acf.getMimeType=function(t){var e=acf.getMimeTypes();if(void 0!==e[t])return e[t];for(var i in e)if(-1!==i.indexOf(t))return e[i];return!1};var a=acf.Model.extend({id:"MediaPopup",data:{},defaults:{},frame:!1,setup:function(e){t.extend(this.data,e)},initialize:function(){var t=this.getFrameOptions();this.addFrameStates(t);var e=wp.media(t);e.acf=this,this.addFrameEvents(e,t),this.frame=e},open:function(){this.frame.open()},close:function(){this.frame.close()},remove:function(){this.frame.detach(),this.frame.remove()},getFrameOptions:function(){var t={title:this.get("title"),multiple:this.get("multiple"),library:{},states:[]};return this.get("type")&&(t.library.type=this.get("type")),"uploadedTo"===this.get("library")&&(t.library.uploadedTo=i()),this.get("attachment")&&(t.library.post__in=[this.get("attachment")]),this.get("button")&&(t.button={text:this.get("button")}),t},addFrameStates:function(t){var e=wp.media.query(t.library);this.get("field")&&acf.isset(e,"mirroring","args")&&(e.mirroring.args._acfuploader=this.get("field")),t.states.push(new wp.media.controller.Library({library:e,multiple:this.get("multiple"),title:this.get("title"),priority:20,filterable:"all",editable:!0,allowLocalEdits:!0})),acf.isset(wp,"media","controller","EditImage")&&t.states.push(new wp.media.controller.EditImage)},addFrameEvents:function(t,e){t.on("open",(function(){this.$el.closest(".media-modal").addClass("acf-media-modal -"+this.acf.get("mode"))}),t),t.on("content:render:edit-image",(function(){var t=this.state().get("image"),e=new wp.media.view.EditImage({model:t,controller:this}).render();this.content.set(e),e.loadEditor()}),t),t.on("select",(function(){var e=t.state().get("selection");e&&e.each((function(e,i){t.acf.get("select").apply(t.acf,[e,i])}))})),t.on("close",(function(){setTimeout((function(){t.acf.get("close").apply(t.acf),t.acf.remove()}),1)}))}});acf.models.SelectMediaPopup=a.extend({id:"SelectMediaPopup",setup:function(t){t.button||(t.button=acf._x("Select","verb")),a.prototype.setup.apply(this,arguments)},addFrameEvents:function(t,e){acf.isset(_wpPluploadSettings,"defaults","multipart_params")&&(_wpPluploadSettings.defaults.multipart_params._acfuploader=this.get("field"),t.on("open",(function(){delete _wpPluploadSettings.defaults.multipart_params._acfuploader}))),t.on("content:activate:browse",(function(){var e=!1;try{e=t.content.get().toolbar}catch(t){return void console.log(t)}t.acf.customizeFilters.apply(t.acf,[e])})),a.prototype.addFrameEvents.apply(this,arguments)},customizeFilters:function(e){var i=e.get("filters");if("image"==this.get("type")&&(i.filters.all.text=acf.__("All images"),delete i.filters.audio,delete i.filters.video,delete i.filters.image,t.each(i.filters,(function(t,e){e.props.type=e.props.type||"image"}))),this.get("allowedTypes")&&this.get("allowedTypes").split(" ").join("").split(".").join("").split(",").map((function(t){var e=acf.getMimeType(t);if(e){var a={text:e,props:{status:null,type:e,uploadedTo:null,orderby:"date",order:"DESC"},priority:20};i.filters[e]=a}})),"uploadedTo"===this.get("library")){var a=this.frame.options.library.uploadedTo;delete i.filters.unattached,delete i.filters.uploaded,t.each(i.filters,(function(t,e){e.text+=" ("+acf.__("Uploaded to this post")+")",e.props.uploadedTo=a}))}var n=this.get("field");t.each(i.filters,(function(t,e){e.props._acfuploader=n})),e.get("search").model.attributes._acfuploader=n,i.renderFilters&&i.renderFilters()}}),acf.models.EditMediaPopup=a.extend({id:"SelectMediaPopup",setup:function(t){t.button||(t.button=acf._x("Update","verb")),a.prototype.setup.apply(this,arguments)},addFrameEvents:function(t,e){t.on("open",(function(){this.$el.closest(".media-modal").addClass("acf-expanded"),"browse"!=this.content.mode()&&this.content.mode("browse");var e=this.state().get("selection"),i=wp.media.attachment(t.acf.get("attachment"));e.add(i)}),t),a.prototype.addFrameEvents.apply(this,arguments)}}),new acf.Model({id:"customizePrototypes",wait:"ready",initialize:function(){if(acf.isset(window,"wp","media","view")){var t=i();t&&acf.isset(wp,"media","view","settings","post")&&(wp.media.view.settings.post.id=t),this.customizeAttachmentsButton(),this.customizeAttachmentsRouter(),this.customizeAttachmentFilters(),this.customizeAttachmentCompat(),this.customizeAttachmentLibrary()}},customizeAttachmentsButton:function(){if(acf.isset(wp,"media","view","Button")){var t=wp.media.view.Button;wp.media.view.Button=t.extend({initialize:function(){var t=_.defaults(this.options,this.defaults);this.model=new Backbone.Model(t),this.listenTo(this.model,"change",this.render)}})}},customizeAttachmentsRouter:function(){if(acf.isset(wp,"media","view","Router")){var e=wp.media.view.Router;wp.media.view.Router=e.extend({addExpand:function(){var e=t(['',''+acf.__("Expand Details")+"",''+acf.__("Collapse Details")+"",""].join(""));e.on("click",(function(e){e.preventDefault();var i=t(this).closest(".media-modal");i.hasClass("acf-expanded")?i.removeClass("acf-expanded"):i.addClass("acf-expanded")})),this.$el.append(e)},initialize:function(){return e.prototype.initialize.apply(this,arguments),this.addExpand(),this}})}},customizeAttachmentFilters:function(){acf.isset(wp,"media","view","AttachmentFilters","All")&&(wp.media.view.AttachmentFilters.All.prototype.renderFilters=function(){this.$el.html(_.chain(this.filters).map((function(e,i){return{el:t("").val(i).html(e.text)[0],priority:e.priority||50}}),this).sortBy("priority").pluck("el").value())})},customizeAttachmentCompat:function(){if(acf.isset(wp,"media","view","AttachmentCompat")){var e=wp.media.view.AttachmentCompat,i=!1;wp.media.view.AttachmentCompat=e.extend({render:function(){return this.rendered?this:(e.prototype.render.apply(this,arguments),this.$("#acf-form-data").length?(clearTimeout(i),i=setTimeout(t.proxy((function(){this.rendered=!0,acf.doAction("append",this.$el)}),this),50),this):this)},save:function(t){var e;t&&t.preventDefault(),e=acf.serializeForAjax(this.$el),this.controller.trigger("attachment:compat:waiting",["waiting"]),this.model.saveCompat(e).always(_.bind(this.postSave,this))}})}},customizeAttachmentLibrary:function(){if(acf.isset(wp,"media","view","Attachment","Library")){var t=wp.media.view.Attachment.Library;wp.media.view.Attachment.Library=t.extend({render:function(){var e=acf.isget(this,"controller","acf"),i=acf.isget(this,"model","attributes");if(e&&i){i.acf_errors&&this.$el.addClass("acf-disabled");var a=e.get("selected");a&&a.indexOf(i.id)>-1&&this.$el.addClass("acf-selected")}return t.prototype.render.apply(this,arguments)},toggleSelection:function(e){this.collection;var i=this.options.selection,a=this.model,n=(i.single(),this.controller),s=acf.isget(this,"model","attributes","acf_errors"),o=n.$el.find(".media-frame-content .media-sidebar");if(o.children(".acf-selection-error").remove(),o.children().removeClass("acf-hidden"),n&&s){var r=acf.isget(this,"model","attributes","filename");return o.children().addClass("acf-hidden"),o.prepend(['
                                ',''+acf.__("Restricted")+"",''+r+"",''+s+"","
                                "].join("")),i.reset(),void i.single(a)}return t.prototype.toggleSelection.apply(this,arguments)}})}}})}(jQuery)},1128:function(){var t;t=jQuery,new acf.Model({wait:"prepare",priority:1,initialize:function(){(acf.get("postboxes")||[]).map(acf.newPostbox)}}),acf.getPostbox=function(e){return"string"==typeof arguments[0]&&(e=t("#"+arguments[0])),acf.getInstance(e)},acf.getPostboxes=function(){return acf.getInstances(t(".acf-postbox"))},acf.newPostbox=function(t){return new acf.models.Postbox(t)},acf.models.Postbox=acf.Model.extend({data:{id:"",key:"",style:"default",label:"top",edit:""},setup:function(e){e.editLink&&(e.edit=e.editLink),t.extend(this.data,e),this.$el=this.$postbox()},$postbox:function(){return t("#"+this.get("id"))},$hide:function(){return t("#"+this.get("id")+"-hide")},$hideLabel:function(){return this.$hide().parent()},$hndle:function(){return this.$("> .hndle")},$handleActions:function(){return this.$("> .postbox-header .handle-actions")},$inside:function(){return this.$("> .inside")},isVisible:function(){return this.$el.hasClass("acf-hidden")},isHiddenByScreenOptions:function(){return this.$el.hasClass("hide-if-js")||"none"==this.$el.css("display")},initialize:function(){if(this.$el.addClass("acf-postbox"),"block"!==acf.get("editor")){var t=this.get("style");"default"!==t&&this.$el.addClass(t)}this.$inside().addClass("acf-fields").addClass("-"+this.get("label"));var e=this.get("edit");if(e){var i='',a=this.$handleActions();a.length?a.prepend(i):this.$hndle().append(i)}this.show()},show:function(){this.$el.hasClass("hide-if-js")?this.$hide().prop("checked",!1):(this.$hideLabel().show(),this.$hide().prop("checked",!0),this.$el.show().removeClass("acf-hidden"),acf.doAction("show_postbox",this))},enable:function(){acf.enable(this.$el,"postbox")},showEnable:function(){this.enable(),this.show()},hide:function(){this.$hideLabel().hide(),this.$el.hide().addClass("acf-hidden"),acf.doAction("hide_postbox",this)},disable:function(){acf.disable(this.$el,"postbox")},hideDisable:function(){this.disable(),this.hide()},html:function(t){this.$inside().html(t),acf.doAction("append",this.$el)}})},7240:function(){var t;t=jQuery,acf.screen=new acf.Model({active:!0,xhr:!1,timeout:!1,wait:"load",events:{"change #page_template":"onChange","change #parent_id":"onChange","change #post-formats-select":"onChange","change .categorychecklist":"onChange","change .tagsdiv":"onChange",'change .acf-taxonomy-field[data-save="1"]':"onChange","change #product-type":"onChange"},isPost:function(){return"post"===acf.get("screen")},isUser:function(){return"user"===acf.get("screen")},isTaxonomy:function(){return"taxonomy"===acf.get("screen")},isAttachment:function(){return"attachment"===acf.get("screen")},isNavMenu:function(){return"nav_menu"===acf.get("screen")},isWidget:function(){return"widget"===acf.get("screen")},isComment:function(){return"comment"===acf.get("screen")},getPageTemplate:function(){var e=t("#page_template");return e.length?e.val():null},getPageParent:function(e,i){return(i=t("#parent_id")).length?i.val():null},getPageType:function(t,e){return this.getPageParent()?"child":"parent"},getPostType:function(){return t("#post_type").val()},getPostFormat:function(e,i){if((i=t("#post-formats-select input:checked")).length){var a=i.val();return"0"==a?"standard":a}return null},getPostCoreTerms:function(){var e={},i=acf.serialize(t(".categorydiv, .tagsdiv"));for(var a in i.tax_input&&(e=i.tax_input),i.post_category&&(e.category=i.post_category),e)acf.isArray(e[a])||(e[a]=e[a].split(/,[\s]?/));return e},getPostTerms:function(){var t=this.getPostCoreTerms();for(var e in acf.getFields({type:"taxonomy"}).map((function(e){if(e.get("save")){var i=e.val(),a=e.get("taxonomy");i&&(t[a]=t[a]||[],i=acf.isArray(i)?i:[i],t[a]=t[a].concat(i))}})),null!==(productType=this.getProductType())&&(t.product_type=[productType]),t)t[e]=acf.uniqueArray(t[e]);return t},getProductType:function(){var e=t("#product-type");return e.length?e.val():null},check:function(){if("post"===acf.get("screen")){this.xhr&&this.xhr.abort();var e=acf.parseArgs(this.data,{action:"acf/ajax/check_screen",screen:acf.get("screen"),exists:[]});this.isPost()&&(e.post_id=acf.get("post_id")),null!==(postType=this.getPostType())&&(e.post_type=postType),null!==(pageTemplate=this.getPageTemplate())&&(e.page_template=pageTemplate),null!==(pageParent=this.getPageParent())&&(e.page_parent=pageParent),null!==(pageType=this.getPageType())&&(e.page_type=pageType),null!==(postFormat=this.getPostFormat())&&(e.post_format=postFormat),null!==(postTerms=this.getPostTerms())&&(e.post_terms=postTerms),acf.getPostboxes().map((function(t){e.exists.push(t.get("key"))})),e=acf.applyFilters("check_screen_args",e),this.xhr=t.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(e),type:"post",dataType:"json",context:this,success:function(t){"post"==acf.get("screen")?this.renderPostScreen(t):"user"==acf.get("screen")&&this.renderUserScreen(t),acf.doAction("check_screen_complete",t,e)}})}},onChange:function(t,e){this.setTimeout(this.check,1)},renderPostScreen:function(e){var i=function(e,i){var a=t._data(e[0]).events;for(var n in a)for(var s=0;s=0;n--)if(t("#"+i[n]).length)return t("#"+i[n]).after(t("#"+e));for(n=a+1;n=5.5)var r=['
                                ','

                                ',""+acf.escHtml(n.title)+"","

                                ",'
                                ','","
                                ","
                                "].join("");else r=['",'

                                ',""+acf.escHtml(n.title)+"","

                                "].join("");n.classes||(n.classes="");var c=t(['
                                ',r,'
                                ',n.html,"
                                ","
                                "].join(""));if(t("#adv-settings").length){var l=t("#adv-settings .metabox-prefs"),d=t(['"].join(""));i(l.find("input").first(),d.find("input")),l.append(d)}t(".postbox").length&&(i(t(".postbox .handlediv").first(),c.children(".handlediv")),i(t(".postbox .hndle").first(),c.children(".hndle"))),"side"===n.position?t("#"+n.position+"-sortables").append(c):t("#"+n.position+"-sortables").prepend(c);var u=[];if(e.results.map((function(e){n.position===e.position&&t("#"+n.position+"-sortables #"+e.id).length&&u.push(e.id)})),a(n.id,u),e.sorted)for(var f in e.sorted)if(u=e.sorted[f].split(","),a(n.id,u))break;o=acf.newPostbox(n),acf.doAction("append",c),acf.doAction("append_postbox",o)}return o.showEnable(),e.visible.push(n.id),n})),acf.getPostboxes().map((function(t){-1===e.visible.indexOf(t.get("id"))&&(t.hideDisable(),e.hidden.push(t.get("id")))})),t("#acf-style").html(e.style),acf.doAction("refresh_post_screen",e)},renderUserScreen:function(t){}}),new acf.Model({postEdits:{},wait:"prepare",initialize:function(){acf.isGutenberg()&&(wp.data.subscribe(acf.debounce(this.onChange).bind(this)),acf.screen.getPageTemplate=this.getPageTemplate,acf.screen.getPageParent=this.getPageParent,acf.screen.getPostType=this.getPostType,acf.screen.getPostFormat=this.getPostFormat,acf.screen.getPostCoreTerms=this.getPostCoreTerms,acf.unload.disable(),parseFloat(acf.get("wp_version"))>=5.3&&this.addAction("refresh_post_screen",this.onRefreshPostScreen),wp.domReady(acf.refresh))},onChange:function(){var t=["template","parent","format"];(wp.data.select("core").getTaxonomies()||[]).map((function(e){t.push(e.rest_base)}));var e=wp.data.select("core/editor").getPostEdits(),i={};t.map((function(t){void 0!==e[t]&&(i[t]=e[t])})),JSON.stringify(i)!==JSON.stringify(this.postEdits)&&(this.postEdits=i,acf.screen.check())},getPageTemplate:function(){return wp.data.select("core/editor").getEditedPostAttribute("template")},getPageParent:function(t,e){return wp.data.select("core/editor").getEditedPostAttribute("parent")},getPostType:function(){return wp.data.select("core/editor").getEditedPostAttribute("type")},getPostFormat:function(t,e){return wp.data.select("core/editor").getEditedPostAttribute("format")},getPostCoreTerms:function(){var t={};return(wp.data.select("core").getTaxonomies()||[]).map((function(e){var i=wp.data.select("core/editor").getEditedPostAttribute(e.rest_base);i&&(t[e.slug]=i)})),t},onRefreshPostScreen:function(t){var e=wp.data.select("core/edit-post"),i=wp.data.dispatch("core/edit-post"),a={};e.getActiveMetaBoxLocations().map((function(t){a[t]=e.getMetaBoxesPerLocation(t)}));var n=[];for(var s in a)a[s].map((function(t){n.push(t.id)}));for(var s in t.results.filter((function(t){return-1===n.indexOf(t.id)})).map((function(t,e){var i=t.position;a[i]=a[i]||[],a[i].push({id:t.id,title:t.title})})),a)a[s]=a[s].filter((function(e){return-1===t.hidden.indexOf(e.id)}));i.setAvailableMetaBoxesPerLocation(a)}})},5796:function(){!function(t,e){function i(){return acf.isset(window,"jQuery","fn","select2","amd")?4:!!acf.isset(window,"Select2")&&3}acf.newSelect2=function(t,e){if(e=acf.parseArgs(e,{allowNull:!1,placeholder:"",multiple:!1,field:!1,ajax:!1,ajaxAction:"",ajaxData:function(t){return t},ajaxResults:function(t){return t}}),4==i())var a=new n(t,e);else a=new s(t,e);return acf.doAction("new_select2",a),a};var a=acf.Model.extend({setup:function(e,i){t.extend(this.data,i),this.$el=e},initialize:function(){},selectOption:function(t){var e=this.getOption(t);e.prop("selected")||e.prop("selected",!0).trigger("change")},unselectOption:function(t){var e=this.getOption(t);e.prop("selected")&&e.prop("selected",!1).trigger("change")},getOption:function(t){return this.$('option[value="'+t+'"]')},addOption:function(e){e=acf.parseArgs(e,{id:"",text:"",selected:!1});var i=this.getOption(e.id);return i.length||((i=t("")).html(e.text),i.attr("value",e.id),i.prop("selected",e.selected),this.$el.append(i)),i},getValue:function(){var e=[],i=this.$el.find("option:selected");return i.exists()?((i=i.sort((function(t,e){return+t.getAttribute("data-i")-+e.getAttribute("data-i")}))).each((function(){var i=t(this);e.push({$el:i,id:i.attr("value"),text:i.text()})})),e):e},mergeOptions:function(){},getChoices:function(){var e=function(i){var a=[];return i.children().each((function(){var i=t(this);i.is("optgroup")?a.push({text:i.attr("label"),children:e(i)}):a.push({id:i.attr("value"),text:i.text()})})),a};return e(this.$el)},getAjaxData:function(t){var e={action:this.get("ajaxAction"),s:t.term||"",paged:t.page||1},i=this.get("field");i&&(e.field_key=i.get("key"));var a=this.get("ajaxData");return a&&(e=a.apply(this,[e,t])),e=acf.applyFilters("select2_ajax_data",e,this.data,this.$el,i||!1,this),acf.prepareForAjax(e)},getAjaxResults:function(t,e){t=acf.parseArgs(t,{results:!1,more:!1});var i=this.get("ajaxResults");return i&&(t=i.apply(this,[t,e])),acf.applyFilters("select2_ajax_results",t,e,this)},processAjaxResults:function(e,i){return(e=this.getAjaxResults(e,i)).more&&(e.pagination={more:!0}),setTimeout(t.proxy(this.mergeOptions,this),1),e},destroy:function(){this.$el.data("select2")&&this.$el.select2("destroy"),this.$el.siblings(".select2-container").remove()}}),n=a.extend({initialize:function(){var i=this.$el,a={width:"100%",allowClear:this.get("allowNull"),placeholder:this.get("placeholder"),multiple:this.get("multiple"),data:[],escapeMarkup:function(t){return"string"!=typeof t?t:acf.escHtml(t)}};acf.isset(window,"jQuery","fn","selectWoo")||(a.templateSelection=function(e){var i=t('');return i.html(acf.escHtml(e.text)),i.data("element",e.element),i}),a.multiple&&this.getValue().map((function(t){t.$el.detach().appendTo(i)}));var n=i.attr("data-ajax");n!==e&&(i.removeData("ajax"),i.removeAttr("data-ajax")),this.get("ajax")&&(a.ajax={url:acf.get("ajaxurl"),delay:250,dataType:"json",type:"post",cache:!1,data:t.proxy(this.getAjaxData,this),processResults:t.proxy(this.processAjaxResults,this)});var s=this.get("field");a=acf.applyFilters("select2_args",a,i,this.data,s||!1,this),i.select2(a);var o=i.next(".select2-container");if(a.multiple){var r=o.find("ul");r.sortable({stop:function(e){r.find(".select2-selection__choice").each((function(){if(t(this).data("data"))var e=t(t(this).data("data").element);else e=t(t(this).find("span.acf-selection").data("element"));e.detach().appendTo(i)})),i.trigger("change")}}),i.on("select2:select",this.proxy((function(t){this.getOption(t.params.data.id).detach().appendTo(this.$el)})))}i.on("select2:open",(()=>{t(".select2-container--open .select2-search__field").get(-1).focus()})),o.addClass("-acf"),n!==e&&i.attr("data-ajax",n),acf.doAction("select2_init",i,a,this.data,s||!1,this)},mergeOptions:function(){var e=!1,i=!1;t('.select2-results__option[role="group"]').each((function(){var a=t(this).children("ul"),n=t(this).children("strong");if(i&&i.text()===n.text())return e.append(a.children()),void t(this).remove();e=a,i=n}))}}),s=a.extend({initialize:function(){var e=this.$el,i=this.getValue(),a=this.get("multiple"),n={width:"100%",allowClear:this.get("allowNull"),placeholder:this.get("placeholder"),separator:"||",multiple:this.get("multiple"),data:this.getChoices(),escapeMarkup:function(t){return acf.escHtml(t)},dropdownCss:{"z-index":"999999999"},initSelection:function(t,e){e(a?i:i.shift())}},s=e.siblings("input");s.length||(s=t(''),e.before(s)),inputValue=i.map((function(t){return t.id})).join("||"),s.val(inputValue),n.multiple&&i.map((function(t){t.$el.detach().appendTo(e)})),n.allowClear&&(n.data=n.data.filter((function(t){return""!==t.id}))),e.removeData("ajax"),e.removeAttr("data-ajax"),this.get("ajax")&&(n.ajax={url:acf.get("ajaxurl"),quietMillis:250,dataType:"json",type:"post",cache:!1,data:t.proxy(this.getAjaxData,this),results:t.proxy(this.processAjaxResults,this)});var o=this.get("field");n=acf.applyFilters("select2_args",n,e,this.data,o||!1,this),s.select2(n);var r=s.select2("container"),c=t.proxy(this.getOption,this);if(n.multiple){var l=r.find("ul");l.sortable({stop:function(){l.find(".select2-search-choice").each((function(){var i=t(this).data("select2Data");c(i.id).detach().appendTo(e)})),e.trigger("change")}})}s.on("select2-selecting",(function(i){var a=i.choice,n=c(a.id);n.length||(n=t('")),n.detach().appendTo(e)})),r.addClass("-acf"),acf.doAction("select2_init",e,n,this.data,o||!1,this),s.on("change",(function(){var t=s.val();t.indexOf("||")&&(t=t.split("||")),e.val(t).trigger("change")})),e.hide()},mergeOptions:function(){var e=!1;t("#select2-drop .select2-result-with-children").each((function(){var i=t(this).children("ul"),a=t(this).children(".select2-result-label");if(e&&e.text()===a.text())return e.append(i.children()),void t(this).remove();e=a}))},getAjaxData:function(t,e){var i={term:t,page:e},n=this.get("field");return i=acf.applyFilters("select2_ajax_data",i,this.data,this.$el,n||!1,this),a.prototype.getAjaxData.apply(this,[i])}});new acf.Model({priority:5,wait:"prepare",actions:{duplicate:"onDuplicate"},initialize:function(){var t=acf.get("locale"),e=(acf.get("rtl"),acf.get("select2L10n")),a=i();return!!e&&0!==t.indexOf("en")&&void(4==a?this.addTranslations4():3==a&&this.addTranslations3())},addTranslations4:function(){var t=acf.get("select2L10n"),e=acf.get("locale");e=e.replace("_","-");var i={errorLoading:function(){return t.load_fail},inputTooLong:function(e){var i=e.input.length-e.maximum;return i>1?t.input_too_long_n.replace("%d",i):t.input_too_long_1},inputTooShort:function(e){var i=e.minimum-e.input.length;return i>1?t.input_too_short_n.replace("%d",i):t.input_too_short_1},loadingMore:function(){return t.load_more},maximumSelected:function(e){var i=e.maximum;return i>1?t.selection_too_long_n.replace("%d",i):t.selection_too_long_1},noResults:function(){return t.matches_0},searching:function(){return t.searching}};jQuery.fn.select2.amd.define("select2/i18n/"+e,[],(function(){return i}))},addTranslations3:function(){var e=acf.get("select2L10n"),i=acf.get("locale");i=i.replace("_","-");var a={formatMatches:function(t){return t>1?e.matches_n.replace("%d",t):e.matches_1},formatNoMatches:function(){return e.matches_0},formatAjaxError:function(){return e.load_fail},formatInputTooShort:function(t,i){var a=i-t.length;return a>1?e.input_too_short_n.replace("%d",a):e.input_too_short_1},formatInputTooLong:function(t,i){var a=t.length-i;return a>1?e.input_too_long_n.replace("%d",a):e.input_too_long_1},formatSelectionTooBig:function(t){return t>1?e.selection_too_long_n.replace("%d",t):e.selection_too_long_1},formatLoadMore:function(){return e.load_more},formatSearching:function(){return e.searching}};t.fn.select2.locales=t.fn.select2.locales||{},t.fn.select2.locales[i]=a,t.extend(t.fn.select2.defaults,a)},onDuplicate:function(t,e){e.find(".select2-container").remove()}})}(jQuery)},8061:function(){var t;t=jQuery,acf.tinymce={defaults:function(){return"undefined"!=typeof tinyMCEPreInit&&{tinymce:tinyMCEPreInit.mceInit.acf_content,quicktags:tinyMCEPreInit.qtInit.acf_content}},initialize:function(t,e){(e=acf.parseArgs(e,{tinymce:!0,quicktags:!0,toolbar:"full",mode:"visual",field:!1})).tinymce&&this.initializeTinymce(t,e),e.quicktags&&this.initializeQuicktags(t,e)},initializeTinymce:function(e,i){var a=t("#"+e),n=this.defaults(),s=acf.get("toolbars"),o=i.field||!1;if(o.$el,"undefined"==typeof tinymce)return!1;if(!n)return!1;if(tinymce.get(e))return this.enable(e);var r=t.extend({},n.tinymce,i.tinymce);r.id=e,r.selector="#"+e;var c=i.toolbar;if(c&&s&&s[c])for(var l=1;l<=4;l++)r["toolbar"+l]=s[c][l]||"";if(r.setup=function(t){t.on("change",(function(e){t.save(),a.trigger("change")})),t.on("mouseup",(function(t){var e=new MouseEvent("mouseup");window.dispatchEvent(e)}))},r.wp_autoresize_on=!1,r.tadv_noautop||(r.wpautop=!0),r=acf.applyFilters("wysiwyg_tinymce_settings",r,e,o),tinyMCEPreInit.mceInit[e]=r,"visual"==i.mode){tinymce.init(r);var d=tinymce.get(e);if(!d)return!1;d.acf=i.field,acf.doAction("wysiwyg_tinymce_init",d,d.id,r,o)}},initializeQuicktags:function(e,i){var a=this.defaults();if("undefined"==typeof quicktags)return!1;if(!a)return!1;var n=t.extend({},a.quicktags,i.quicktags);n.id=e;var s=i.field||!1;s.$el,n=acf.applyFilters("wysiwyg_quicktags_settings",n,n.id,s),tinyMCEPreInit.qtInit[e]=n;var o=quicktags(n);if(!o)return!1;this.buildQuicktags(o),acf.doAction("wysiwyg_quicktags_init",o,o.id,n,s)},buildQuicktags:function(t){var e,i,a,n,s,o,r,c;for(o in t.canvas,e=t.name,i=t.settings,n="",a={},r="",c=t.id,i.buttons&&(r=","+i.buttons+","),edButtons)edButtons[o]&&(s=edButtons[o].id,r&&-1!==",strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,".indexOf(","+s+",")&&-1===r.indexOf(","+s+",")||edButtons[o].instance&&edButtons[o].instance!==c||(a[s]=edButtons[o],edButtons[o].html&&(n+=edButtons[o].html(e+"_"))));r&&-1!==r.indexOf(",dfw,")&&(a.dfw=new QTags.DFWButton,n+=a.dfw.html(e+"_")),"rtl"===document.getElementsByTagName("html")[0].dir&&(a.textdirection=new QTags.TextDirectionButton,n+=a.textdirection.html(e+"_")),t.toolbar.innerHTML=n,t.theButtons=a,"undefined"!=typeof jQuery&&jQuery(document).triggerHandler("quicktags-init",[t])},disable:function(t){this.destroyTinymce(t)},remove:function(t){this.destroyTinymce(t)},destroy:function(t){this.destroyTinymce(t)},destroyTinymce:function(t){if("undefined"==typeof tinymce)return!1;var e=tinymce.get(t);return!!e&&(e.save(),e.destroy(),!0)},enable:function(t){this.enableTinymce(t)},enableTinymce:function(e){return"undefined"!=typeof switchEditors&&void 0!==tinyMCEPreInit.mceInit[e]&&(t("#"+e).show(),switchEditors.go(e,"tmce"),!0)}},new acf.Model({priority:5,actions:{prepare:"onPrepare",ready:"onReady"},onPrepare:function(){var e=t("#acf-hidden-wp-editor");e.exists()&&e.appendTo("body")},onReady:function(){acf.isset(window,"wp","oldEditor")&&(wp.editor.autop=wp.oldEditor.autop,wp.editor.removep=wp.oldEditor.removep),acf.isset(window,"tinymce","on")&&tinymce.on("AddEditor",(function(t){var e=t.editor;"acf"===e.id.substr(0,3)&&(e=tinymce.editors.content||e,tinymce.activeEditor=e,wpActiveEditor=e.id)}))}})},1417:function(){var t;t=jQuery,acf.unload=new acf.Model({wait:"load",active:!0,changed:!1,actions:{validation_failure:"startListening",validation_success:"stopListening"},events:{"change form .acf-field":"startListening","submit form":"stopListening"},enable:function(){this.active=!0},disable:function(){this.active=!1},reset:function(){this.stopListening()},startListening:function(){!this.changed&&this.active&&(this.changed=!0,t(window).on("beforeunload",this.onUnload))},stopListening:function(){this.changed=!1,t(window).off("beforeunload",this.onUnload)},onUnload:function(){return acf.__("The changes you made will be lost if you navigate away from this page")}})},6148:function(){!function(t,e){var i=acf.Model.extend({id:"Validator",data:{errors:[],notice:null,status:""},events:{"changed:status":"onChangeStatus"},addErrors:function(t){t.map(this.addError,this)},addError:function(t){this.data.errors.push(t)},hasErrors:function(){return this.data.errors.length},clearErrors:function(){return this.data.errors=[]},getErrors:function(){return this.data.errors},getFieldErrors:function(){var t=[],e=[];return this.getErrors().map((function(i){if(i.input){var a=e.indexOf(i.input);a>-1?t[a]=i:(t.push(i),e.push(i.input))}})),t},getGlobalErrors:function(){return this.getErrors().filter((function(t){return!t.input}))},showErrors:function(){if(this.hasErrors()){var e=this.getFieldErrors(),i=this.getGlobalErrors(),a=0,n=!1;e.map((function(t){var e=this.$('[name="'+t.input+'"]').first();if(e.length||(e=this.$('[name^="'+t.input+'"]').first()),e.length){a++;var i=acf.getClosestField(e);o(i.$el),i.showError(t.message),n||(n=i.$el)}}),this);var s=acf.__("Validation failed");if(i.map((function(t){s+=". "+t.message})),1==a?s+=". "+acf.__("1 field requires attention"):a>1&&(s+=". "+acf.__("%d fields require attention").replace("%d",a)),this.has("notice"))this.get("notice").update({type:"error",text:s});else{var r=acf.newNotice({type:"error",text:s,target:this.$el});this.set("notice",r)}n||(n=this.get("notice").$el),setTimeout((function(){t("html, body").animate({scrollTop:n.offset().top-t(window).height()/2},500)}),10)}},onChangeStatus:function(t,e,i,a){this.$el.removeClass("is-"+a).addClass("is-"+i)},validate:function(e){if(e=acf.parseArgs(e,{event:!1,reset:!1,loading:function(){},complete:function(){},failure:function(){},success:function(t){t.submit()}}),"valid"==this.get("status"))return!0;if("validating"==this.get("status"))return!1;if(!this.$(".acf-field").length)return!0;if(e.event){var i=t.Event(null,e.event);e.success=function(){acf.enableSubmit(t(i.target)).trigger(i)}}acf.doAction("validation_begin",this.$el),acf.lockForm(this.$el),e.loading(this.$el,this),this.set("status","validating");var a=acf.serialize(this.$el);return a.action="acf/validate_save_post",t.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"json",context:this,success:function(t){if(acf.isAjaxSuccess(t)){var e=acf.applyFilters("validation_complete",t.data,this.$el,this);e.valid||this.addErrors(e.errors)}},complete:function(){acf.unlockForm(this.$el),this.hasErrors()?(this.set("status","invalid"),acf.doAction("validation_failure",this.$el,this),this.showErrors(),e.failure(this.$el,this)):(this.set("status","valid"),this.has("notice")&&this.get("notice").update({type:"success",text:acf.__("Validation successful"),timeout:1e3}),acf.doAction("validation_success",this.$el,this),acf.doAction("submit",this.$el),e.success(this.$el,this),acf.lockForm(this.$el),e.reset&&this.reset()),e.complete(this.$el,this),this.clearErrors()}}),!1},setup:function(t){this.$el=t},reset:function(){this.set("errors",[]),this.set("notice",null),this.set("status",""),acf.unlockForm(this.$el)}}),a=function(t){var e=t.data("acf");return e||(e=new i(t)),e};acf.validateForm=function(t){return a(t.form).validate(t)},acf.enableSubmit=function(t){return t.removeClass("disabled")},acf.disableSubmit=function(t){return t.addClass("disabled")},acf.showSpinner=function(t){return t.addClass("is-active"),t.css("display","inline-block"),t},acf.hideSpinner=function(t){return t.removeClass("is-active"),t.css("display","none"),t},acf.lockForm=function(t){var e=n(t),i=e.find('.button, [type="submit"]'),a=e.find(".spinner, .acf-spinner");return acf.hideSpinner(a),acf.disableSubmit(i),acf.showSpinner(a.last()),t},acf.unlockForm=function(t){var e=n(t),i=e.find('.button, [type="submit"]'),a=e.find(".spinner, .acf-spinner");return acf.enableSubmit(i),acf.hideSpinner(a),t};var n=function(t){var e;return(e=t.find("#submitdiv")).length||(e=t.find("#submitpost")).length||(e=t.find("p.submit").last()).length||(e=t.find(".acf-form-submit")).length?e:t},s=acf.debounce((function(t){t.submit()})),o=function(t){var e=t.parents(".acf-postbox");if(e.length){var i=acf.getPostbox(e);i&&i.isHiddenByScreenOptions()&&(i.$el.removeClass("hide-if-js"),i.$el.css("display",""))}};acf.validation=new acf.Model({id:"validation",active:!0,wait:"prepare",actions:{ready:"addInputEvents",append:"addInputEvents"},events:{'click input[type="submit"]':"onClickSubmit",'click button[type="submit"]':"onClickSubmit","click #save-post":"onClickSave","submit form#post":"onSubmitPost","submit form":"onSubmit"},initialize:function(){acf.get("validation")||(this.active=!1,this.actions={},this.events={})},enable:function(){this.active=!0},disable:function(){this.active=!1},reset:function(t){a(t).reset()},addInputEvents:function(e){if("safari"!==acf.get("browser")){var i=t(".acf-field [name]",e);i.length&&this.on(i,"invalid","onInvalid")}},onInvalid:function(t,e){t.preventDefault();var i=e.closest("form");i.length&&(a(i).addError({input:e.attr("name"),message:acf.strEscape(t.target.validationMessage)}),s(i))},onClickSubmit:function(e,i){t(".acf-field input").each((function(){this.checkValidity()||o(t(this))})),this.set("originalEvent",e)},onClickSave:function(t,e){this.set("ignore",!0)},onClickSubmitGutenberg:function(e,i){acf.validateForm({form:t("#editor"),event:e,reset:!0,failure:function(t,e){var i=e.get("notice").$el;i.appendTo(".components-notice-list"),i.find(".acf-notice-dismiss").removeClass("small")}})||(e.preventDefault(),e.stopImmediatePropagation())},onSubmitPost:function(e,i){"dopreview"===t("input#wp-preview").val()&&(this.set("ignore",!0),acf.unlockForm(i))},onSubmit:function(t,e){if(!this.active||this.get("ignore")||t.isDefaultPrevented())return this.allowSubmit();acf.validateForm({form:e,event:this.get("originalEvent")})||t.preventDefault()},allowSubmit:function(){return this.set("ignore",!1),this.set("originalEvent",!1),!0}}),new acf.Model({wait:"prepare",initialize:function(){acf.isGutenberg()&&this.customizeEditor()},customizeEditor:function(){var e=wp.data.dispatch("core/editor"),i=wp.data.select("core/editor"),a=wp.data.dispatch("core/notices"),n=e.savePost,s=!1,o="";wp.data.subscribe((function(){var t=i.getEditedPostAttribute("status");s="publish"===t||"future"===t,o="publish"!==t?t:o})),e.savePost=function(i){i=i||{};var r=this,c=arguments;return new Promise((function(n,r){return i.isAutosave||i.isPreview?n("Validation ignored (autosave)."):s?void(acf.validateForm({form:t("#editor"),reset:!0,complete:function(t,i){e.unlockPostSaving("acf")},failure:function(t,i){var n=i.get("notice");a.createErrorNotice(n.get("text"),{id:"acf-validation",isDismissible:!0}),n.remove(),o&&e.editPost({status:o}),r("Validation failed.")},success:function(){a.removeNotice("acf-validation"),n("Validation success.")}})?n("Validation bypassed."):e.lockPostSaving("acf")):n("Validation ignored (draft).")})).then((function(){return n.apply(r,c)})).catch((function(t){}))}}})}(jQuery)}},e={};function i(a){var n=e[a];if(void 0!==n)return n.exports;var s=e[a]={exports:{}};return t[a](s,s.exports,i),s.exports}i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,{a:e}),e},i.d=function(t,e){for(var a in e)i.o(e,a)&&!i.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";i(6291),i(1580),i(2213),i(1357),i(8171),i(9459),i(7597),i(684),i(8489),i(6691),i(5647),i(4658),i(719),i(2557),i(2489),i(714),i(6965),i(177),i(1987),i(1281),i(7790),i(2573),i(9047),i(1788),i(4429),i(4850),i(2849),i(3155),i(682),i(1417),i(1128),i(3812),i(7240),i(5796),i(8061),i(6148),i(5938),i(7787)}()}(); \ No newline at end of file diff --git a/assets/build/js/acf.js b/assets/build/js/acf.js index e1f08e9..df6c8b4 100644 --- a/assets/build/js/acf.js +++ b/assets/build/js/acf.js @@ -1,4449 +1,4310 @@ -(function($, undefined){ - - /** - * acf - * - * description - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - // The global acf object - var acf = {}; - - // Set as a browser global - window.acf = acf; - - /** @var object Data sent from PHP */ - acf.data = {}; - - - /** - * get - * - * Gets a specific data value - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @return mixed - */ - - acf.get = function( name ){ - return this.data[name] || null; - }; - - - /** - * has - * - * Returns `true` if the data exists and is not null - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @return boolean - */ - - acf.has = function( name ){ - return this.get(name) !== null; - }; - - - /** - * set - * - * Sets a specific data value - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @param mixed value - * @return this - */ - - acf.set = function( name, value ){ - this.data[ name ] = value; - return this; - }; - - - /** - * uniqueId - * - * Returns a unique ID - * - * @date 9/11/17 - * @since 5.6.3 - * - * @param string prefix Optional prefix. - * @return string - */ - - var idCounter = 0; - acf.uniqueId = function(prefix){ - var id = ++idCounter + ''; - return prefix ? prefix + id : id; - }; - - /** - * acf.uniqueArray - * - * Returns a new array with only unique values - * Credit: https://stackoverflow.com/questions/1960473/get-all-unique-values-in-an-array-remove-duplicates - * - * @date 23/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.uniqueArray = function( array ){ - function onlyUnique(value, index, self) { - return self.indexOf(value) === index; - } - return array.filter( onlyUnique ); - }; - - /** - * uniqid - * - * Returns a unique ID (PHP version) - * - * @date 9/11/17 - * @since 5.6.3 - * @source http://locutus.io/php/misc/uniqid/ - * - * @param string prefix Optional prefix. - * @return string - */ - - var uniqidSeed = ''; - acf.uniqid = function(prefix, moreEntropy){ - // discuss at: http://locutus.io/php/uniqid/ - // original by: Kevin van Zonneveld (http://kvz.io) - // revised by: Kankrelune (http://www.webfaktory.info/) - // note 1: Uses an internal counter (in locutus global) to avoid collision - // example 1: var $id = uniqid() - // example 1: var $result = $id.length === 13 - // returns 1: true - // example 2: var $id = uniqid('foo') - // example 2: var $result = $id.length === (13 + 'foo'.length) - // returns 2: true - // example 3: var $id = uniqid('bar', true) - // example 3: var $result = $id.length === (23 + 'bar'.length) - // returns 3: true - if (typeof prefix === 'undefined') { - prefix = ''; - } - - var retId; - var formatSeed = function(seed, reqWidth) { - seed = parseInt(seed, 10).toString(16); // to hex str - if (reqWidth < seed.length) { // so long we split - return seed.slice(seed.length - reqWidth); - } - if (reqWidth > seed.length) { // so short we pad - return Array(1 + (reqWidth - seed.length)).join('0') + seed; - } - return seed; - }; - - if (!uniqidSeed) { // init seed with big random int - uniqidSeed = Math.floor(Math.random() * 0x75bcd15); - } - uniqidSeed++; - - retId = prefix; // start with prefix, add current milliseconds hex string - retId += formatSeed(parseInt(new Date().getTime() / 1000, 10), 8); - retId += formatSeed(uniqidSeed, 5); // add seed hex string - if (moreEntropy) { - // for more entropy we add a float lower to 10 - retId += (Math.random() * 10).toFixed(8).toString(); - } - - return retId; - }; - - - /** - * strReplace - * - * Performs a string replace - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string search - * @param string replace - * @param string subject - * @return string - */ - - acf.strReplace = function( search, replace, subject ){ - return subject.split(search).join(replace); - }; - - - /** - * strCamelCase - * - * Converts a string into camelCase - * Thanks to https://stackoverflow.com/questions/2970525/converting-any-string-into-camel-case - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string str - * @return string - */ - - acf.strCamelCase = function( str ){ - var matches = str.match( /([a-zA-Z0-9]+)/g ); - return matches ? matches.map(function( s, i ){ - var c = s.charAt(0); - return ( i === 0 ? c.toLowerCase() : c.toUpperCase() ) + s.slice(1); - }).join('') : ''; - }; +/******/ (function() { // webpackBootstrap +/******/ var __webpack_modules__ = ({ - /** - * strPascalCase - * - * Converts a string into PascalCase - * Thanks to https://stackoverflow.com/questions/1026069/how-do-i-make-the-first-letter-of-a-string-uppercase-in-javascript - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string str - * @return string - */ - - acf.strPascalCase = function( str ){ - var camel = acf.strCamelCase( str ); - return camel.charAt(0).toUpperCase() + camel.slice(1); - }; - - /** - * acf.strSlugify - * - * Converts a string into a HTML class friendly slug - * - * @date 21/3/18 - * @since 5.6.9 - * - * @param string str - * @return string - */ - - acf.strSlugify = function( str ){ - return acf.strReplace( '_', '-', str.toLowerCase() ); - }; - - - acf.strSanitize = function( str ){ - - // chars (https://jsperf.com/replace-foreign-characters) - var map = { - "À": "A", - "Á": "A", - "Â": "A", - "Ã": "A", - "Ä": "A", - "Å": "A", - "Æ": "AE", - "Ç": "C", - "È": "E", - "É": "E", - "Ê": "E", - "Ë": "E", - "Ì": "I", - "Í": "I", - "Î": "I", - "Ï": "I", - "Ð": "D", - "Ñ": "N", - "Ò": "O", - "Ó": "O", - "Ô": "O", - "Õ": "O", - "Ö": "O", - "Ø": "O", - "Ù": "U", - "Ú": "U", - "Û": "U", - "Ü": "U", - "Ý": "Y", - "ß": "s", - "à": "a", - "á": "a", - "â": "a", - "ã": "a", - "ä": "a", - "å": "a", - "æ": "ae", - "ç": "c", - "è": "e", - "é": "e", - "ê": "e", - "ë": "e", - "ì": "i", - "í": "i", - "î": "i", - "ï": "i", - "ñ": "n", - "ò": "o", - "ó": "o", - "ô": "o", - "õ": "o", - "ö": "o", - "ø": "o", - "ù": "u", - "ú": "u", - "û": "u", - "ü": "u", - "ý": "y", - "ÿ": "y", - "Ā": "A", - "ā": "a", - "Ă": "A", - "ă": "a", - "Ą": "A", - "ą": "a", - "Ć": "C", - "ć": "c", - "Ĉ": "C", - "ĉ": "c", - "Ċ": "C", - "ċ": "c", - "Č": "C", - "č": "c", - "Ď": "D", - "ď": "d", - "Đ": "D", - "đ": "d", - "Ē": "E", - "ē": "e", - "Ĕ": "E", - "ĕ": "e", - "Ė": "E", - "ė": "e", - "Ę": "E", - "ę": "e", - "Ě": "E", - "ě": "e", - "Ĝ": "G", - "ĝ": "g", - "Ğ": "G", - "ğ": "g", - "Ġ": "G", - "ġ": "g", - "Ģ": "G", - "ģ": "g", - "Ĥ": "H", - "ĥ": "h", - "Ħ": "H", - "ħ": "h", - "Ĩ": "I", - "ĩ": "i", - "Ī": "I", - "ī": "i", - "Ĭ": "I", - "ĭ": "i", - "Į": "I", - "į": "i", - "İ": "I", - "ı": "i", - "IJ": "IJ", - "ij": "ij", - "Ĵ": "J", - "ĵ": "j", - "Ķ": "K", - "ķ": "k", - "Ĺ": "L", - "ĺ": "l", - "Ļ": "L", - "ļ": "l", - "Ľ": "L", - "ľ": "l", - "Ŀ": "L", - "ŀ": "l", - "Ł": "l", - "ł": "l", - "Ń": "N", - "ń": "n", - "Ņ": "N", - "ņ": "n", - "Ň": "N", - "ň": "n", - "ʼn": "n", - "Ō": "O", - "ō": "o", - "Ŏ": "O", - "ŏ": "o", - "Ő": "O", - "ő": "o", - "Œ": "OE", - "œ": "oe", - "Ŕ": "R", - "ŕ": "r", - "Ŗ": "R", - "ŗ": "r", - "Ř": "R", - "ř": "r", - "Ś": "S", - "ś": "s", - "Ŝ": "S", - "ŝ": "s", - "Ş": "S", - "ş": "s", - "Š": "S", - "š": "s", - "Ţ": "T", - "ţ": "t", - "Ť": "T", - "ť": "t", - "Ŧ": "T", - "ŧ": "t", - "Ũ": "U", - "ũ": "u", - "Ū": "U", - "ū": "u", - "Ŭ": "U", - "ŭ": "u", - "Ů": "U", - "ů": "u", - "Ű": "U", - "ű": "u", - "Ų": "U", - "ų": "u", - "Ŵ": "W", - "ŵ": "w", - "Ŷ": "Y", - "ŷ": "y", - "Ÿ": "Y", - "Ź": "Z", - "ź": "z", - "Ż": "Z", - "ż": "z", - "Ž": "Z", - "ž": "z", - "ſ": "s", - "ƒ": "f", - "Ơ": "O", - "ơ": "o", - "Ư": "U", - "ư": "u", - "Ǎ": "A", - "ǎ": "a", - "Ǐ": "I", - "ǐ": "i", - "Ǒ": "O", - "ǒ": "o", - "Ǔ": "U", - "ǔ": "u", - "Ǖ": "U", - "ǖ": "u", - "Ǘ": "U", - "ǘ": "u", - "Ǚ": "U", - "ǚ": "u", - "Ǜ": "U", - "ǜ": "u", - "Ǻ": "A", - "ǻ": "a", - "Ǽ": "AE", - "ǽ": "ae", - "Ǿ": "O", - "ǿ": "o", - - // extra - ' ': '_', - "'": '', - '?': '', - '/': '', - '\\': '', - '.': '', - ',': '', - '`': '', - '>': '', - '<': '', - '"': '', - '[': '', - ']': '', - '|': '', - '{': '', - '}': '', - '(': '', - ')': '' - }; - - // vars - var nonWord = /\W/g; - var mapping = function (c) { - return (map[c] !== undefined) ? map[c] : c; - }; - - // replace - str = str.replace(nonWord, mapping); - - // lowercase - str = str.toLowerCase(); - - // return - return str; - }; - - /** - * acf.strMatch - * - * Returns the number of characters that match between two strings - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.strMatch = function( s1, s2 ){ - - // vars - var val = 0; - var min = Math.min( s1.length, s2.length ); - - // loop - for( var i = 0; i < min; i++ ) { - if( s1[i] !== s2[i] ) { - break; - } - val++; - } - - // return - return val; - }; +/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-hooks.js": +/*!********************************************************************!*\ + !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-hooks.js ***! + \********************************************************************/ +/***/ (function() { - /** - * Escapes HTML entities from a string. - * - * @date 08/06/2020 - * @since 5.9.0 - * - * @param string string The input string. - * @return string - */ - acf.strEscape = function( string ){ - var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }; - return ('' + string).replace(/[&<>"']/g, function( chr ) { - return htmlEscapes[ chr ]; - }); - }; +(function (window, undefined) { + 'use strict'; + /** + * Handles managing all events for whatever you plug it into. Priorities for hooks are based on lowest to highest in + * that, lowest priority hooks are fired first. + */ - // Tests. - //console.log( acf.strEscape('Test 1') ); - //console.log( acf.strEscape('Test & 1') ); - //console.log( acf.strEscape('Test\'s & 1') ); - //console.log( acf.strEscape('') ); - - /** - * Unescapes HTML entities from a string. - * - * @date 08/06/2020 - * @since 5.9.0 - * - * @param string string The input string. - * @return string - */ - acf.strUnescape = function( string ){ - var htmlUnescapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'" - }; - return ('' + string).replace(/&|<|>|"|'/g, function( entity ) { - return htmlUnescapes[ entity ]; - }); - }; - - // Tests. - //console.log( acf.strUnescape( acf.strEscape('Test 1') ) ); - //console.log( acf.strUnescape( acf.strEscape('Test & 1') ) ); - //console.log( acf.strUnescape( acf.strEscape('Test\'s & 1') ) ); - //console.log( acf.strUnescape( acf.strEscape('') ) ); - - /** - * Escapes HTML entities from a string. - * - * @date 08/06/2020 - * @since 5.9.0 - * - * @param string string The input string. - * @return string - */ - acf.escAttr = acf.strEscape; - - /** - * Encodes ') ); - //console.log( acf.escHtml( acf.strEscape('') ) ); - //console.log( acf.escHtml( '' ) ); - - /** - * acf.decode - * - * description - * - * @date 13/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.decode = function( string ){ - return $('