!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=e(require("jquery")):jQuery&&!jQuery.fn.hoverIntent&&e(jQuery)}(function(f){"use strict";function u(e){return"function"==typeof e}var i,r,v={interval:100,sensitivity:6,timeout:0},s=0,a=function(e){i=e.pageX,r=e.pageY},p=function(e,t,n,o){if(Math.sqrt((n.pX-i)*(n.pX-i)+(n.pY-r)*(n.pY-r))<o.sensitivity)return t.off(n.event,a),delete n.timeoutId,n.isActive=!0,e.pageX=i,e.pageY=r,delete n.pX,delete n.pY,o.over.apply(t[0],[e]);n.pX=i,n.pY=r,n.timeoutId=setTimeout(function(){p(e,t,n,o)},o.interval)};f.fn.hoverIntent=function(e,t,n){function o(e){var u=f.extend({},e),r=f(this),v=((t=r.data("hoverIntent"))||r.data("hoverIntent",t={}),t[i]),t=(v||(t[i]=v={id:i}),v.timeoutId&&(v.timeoutId=clearTimeout(v.timeoutId)),v.event="mousemove.hoverIntent.hoverIntent"+i);"mouseenter"===e.type?v.isActive||(v.pX=u.pageX,v.pY=u.pageY,r.off(t,a).on(t,a),v.timeoutId=setTimeout(function(){p(u,r,v,d)},d.interval)):v.isActive&&(r.off(t,a),v.timeoutId=setTimeout(function(){var e,t,n,o,i;e=u,t=r,n=v,o=d.out,(i=t.data("hoverIntent"))&&delete i[n.id],o.apply(t[0],[e])},d.timeout))}var i=s++,d=f.extend({},v);f.isPlainObject(e)?(d=f.extend(d,e),u(d.out)||(d.out=d.over)):d=u(t)?f.extend(d,{over:e,out:t,selector:n}):f.extend(d,{over:e,out:e,selector:t});return this.on({"mouseenter.hoverIntent":o,"mouseleave.hoverIntent":o},d.selector)}});
(function($){
"use strict";
$.maxmegamenu=function(menu, options){
var plugin=this;
var $menu=$(menu);
var $wrap=$(menu).parent();
var $toggle_bar=$menu.siblings(".mega-menu-toggle");
var html_body_class_timeout;
var defaults={
event: $menu.attr("data-event"),
effect: $menu.attr("data-effect"),
effect_speed: parseInt($menu.attr("data-effect-speed")),
effect_mobile: $menu.attr("data-effect-mobile"),
effect_speed_mobile: parseInt($menu.attr("data-effect-speed-mobile")),
panel_width: $menu.attr("data-panel-width"),
panel_inner_width: $menu.attr("data-panel-inner-width"),
mobile_force_width: $menu.attr("data-mobile-force-width"),
mobile_overlay: $menu.attr("data-mobile-overlay"),
mobile_state: $menu.attr("data-mobile-state"),
mobile_direction: $menu.attr("data-mobile-direction"),
second_click: $menu.attr("data-second-click"),
vertical_behaviour: $menu.attr("data-vertical-behaviour"),
document_click: $menu.attr("data-document-click"),
breakpoint: $menu.attr("data-breakpoint"),
unbind_events: $menu.attr("data-unbind"),
hover_intent_timeout: $menu.attr("data-hover-intent-timeout"),
hover_intent_interval: $menu.attr("data-hover-intent-interval")
};
plugin.settings={};
var items_with_submenus=$("li.mega-menu-megamenu.mega-menu-item-has-children," +
"li.mega-menu-flyout.mega-menu-item-has-children," +
"li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item-has-children," +
"li.mega-menu-flyout li.mega-menu-item-has-children", $menu);
var collapse_children_parents=$("li.mega-menu-megamenu li.mega-menu-item-has-children.mega-collapse-children > a.mega-menu-link", $menu);
plugin.addAnimatingClass=function(element){
if(plugin.settings.effect==="disabled"){
return;
}
$(".mega-animating").removeClass("mega-animating");
var timeout=plugin.settings.effect_speed + parseInt(plugin.settings.hover_intent_timeout, 10);
element.addClass("mega-animating");
setTimeout(function(){
element.removeClass("mega-animating");
}, timeout);
};
plugin.hideAllPanels=function(){
$(".mega-toggle-on > a.mega-menu-link", $menu).each(function(){
plugin.hidePanel($(this), false);
});
};
plugin.expandMobileSubMenus=function(){
if(plugin.settings.mobile_direction!=='vertical'){
return;
}
$(".mega-menu-item-has-children.mega-expand-on-mobile > a.mega-menu-link", $menu).each(function(){
plugin.showPanel($(this), true);
});
if(plugin.settings.mobile_state=='expand_all'){
$(".mega-menu-item-has-children:not(.mega-toggle-on) > a.mega-menu-link", $menu).each(function(){
plugin.showPanel($(this), true);
});
}
if(plugin.settings.mobile_state=='expand_active'){
const activeItemSelectors=[
"li.mega-current-menu-ancestor.mega-menu-item-has-children > a.mega-menu-link",
"li.mega-current-menu-item.mega-menu-item-has-children > a.mega-menu-link",
"li.mega-current-menu-parent.mega-menu-item-has-children > a.mega-menu-link",
"li.mega-current_page_ancestor.mega-menu-item-has-children > a.mega-menu-link",
"li.mega-current_page_item.mega-menu-item-has-children > a.mega-menu-link"
];
$menu.find(activeItemSelectors.join(', ')).each(function(){
plugin.showPanel($(this), true);
});
}}
plugin.hideSiblingPanels=function(anchor, immediate){
anchor.parent().parent().find(".mega-toggle-on").children("a.mega-menu-link").each(function(){
plugin.hidePanel($(this), immediate);
});
};
plugin.isDesktopView=function(){
var width=Math.max(document.documentElement.clientWidth||0, window.innerWidth||0);
return width > plugin.settings.breakpoint;
};
plugin.isMobileView=function(){
return !plugin.isDesktopView();
};
plugin.showPanel=function(anchor, immediate){
if($.isNumeric(anchor)){
anchor=$("li.mega-menu-item-" + anchor, $menu).find("a.mega-menu-link").first();
}else if(anchor.is("li.mega-menu-item")){
anchor=anchor.find("a.mega-menu-link").first();
}
anchor.parent().triggerHandler("before_open_panel");
anchor.parent().find("[aria-expanded]").first().attr("aria-expanded", "true");
$(".mega-animating").removeClass("mega-animating");
if(plugin.isMobileView()&&anchor.parent().hasClass("mega-hide-sub-menu-on-mobile")){
return;
}
if(plugin.isDesktopView()&&($menu.hasClass("mega-menu-horizontal")||$menu.hasClass("mega-menu-vertical"))&&!anchor.parent().hasClass("mega-collapse-children")){
plugin.hideSiblingPanels(anchor, true);
}
if((plugin.isMobileView()&&$wrap.hasClass("mega-keyboard-navigation"))||plugin.settings.vertical_behaviour==="accordion"){
plugin.hideSiblingPanels(anchor, false);
}
plugin.calculateDynamicSubmenuWidths(anchor);
if(plugin.shouldUseSlideAnimation(anchor, immediate)){
var speed=plugin.isMobileView() ? plugin.settings.effect_speed_mobile:plugin.settings.effect_speed;
anchor.siblings(".mega-sub-menu").css("display", "none").animate({"height":"show", "paddingTop":"show", "paddingBottom":"show", "minHeight":"show"}, speed, function(){
$(this).css("display", "");
});
}
anchor.parent().addClass("mega-toggle-on").triggerHandler("open_panel");
};
plugin.shouldUseSlideAnimation=function(anchor, immediate){
if(immediate==true){
return false;
}
if(anchor.parent().hasClass("mega-collapse-children")){
return true;
}
if(plugin.isDesktopView()&&plugin.settings.effect==="slide"){
return true;
}
if(plugin.isMobileView()){
if(plugin.settings.effect_mobile==="slide"){
return true;
}
if(plugin.isMobileOffCanvas()){
return plugin.settings.mobile_direction!=="horizontal";
}}
return false;
};
plugin.hidePanel=function(anchor, immediate){
if($.isNumeric(anchor)){
anchor=$("li.mega-menu-item-" + anchor, $menu).find("a.mega-menu-link").first();
}else if(anchor.is("li.mega-menu-item")){
anchor=anchor.find("a.mega-menu-link").first();
}
anchor.parent().triggerHandler("before_close_panel");
anchor.parent().find("[aria-expanded]").first().attr("aria-expanded", "false");
if(plugin.shouldUseSlideAnimation(anchor)){
var speed=plugin.isMobileView() ? plugin.settings.effect_speed_mobile:plugin.settings.effect_speed;
anchor.siblings(".mega-sub-menu").animate({"height":"hide", "paddingTop":"hide", "paddingBottom":"hide", "minHeight":"hide"}, speed, function(){
anchor.siblings(".mega-sub-menu").css("display", "");
anchor.parent().removeClass("mega-toggle-on").triggerHandler("close_panel");
});
return;
}
if(immediate){
anchor.siblings(".mega-sub-menu").css("display", "none").delay(plugin.settings.effect_speed).queue(function(){
$(this).css("display", "").dequeue();
});
}
anchor.siblings(".mega-sub-menu").find(".widget_media_video video").each(function(){
this.player.pause();
});
anchor.parent().removeClass("mega-toggle-on").triggerHandler("close_panel");
plugin.addAnimatingClass(anchor.parent());
};
plugin.calculateDynamicSubmenuWidths=function(anchor){
if(anchor.parent().hasClass("mega-menu-megamenu")&&anchor.parent().parent().hasClass("max-mega-menu")&&plugin.settings.panel_width){
if(plugin.isDesktopView()){
var submenu_offset=$menu.offset();
var target_offset=$(plugin.settings.panel_width).offset();
if(plugin.settings.panel_width=='100vw'){
target_offset=$('body').offset();
anchor.siblings(".mega-sub-menu").css({
left: (target_offset.left - submenu_offset.left) + "px"
});
}else if($(plugin.settings.panel_width).length > 0){
anchor.siblings(".mega-sub-menu").css({
width: $(plugin.settings.panel_width).outerWidth(),
left: (target_offset.left - submenu_offset.left) + "px"
});
}}else{
anchor.siblings(".mega-sub-menu").css({
width: "",
left: ""
});
}}
if(anchor.parent().hasClass("mega-menu-megamenu")&&anchor.parent().parent().hasClass("max-mega-menu")&&plugin.settings.panel_inner_width&&$(plugin.settings.panel_inner_width).length > 0){
var target_width=0;
if($(plugin.settings.panel_inner_width).length){
target_width=parseInt($(plugin.settings.panel_inner_width).width(), 10);
}else{
target_width=parseInt(plugin.settings.panel_inner_width, 10);
}
anchor.siblings(".mega-sub-menu").css({
"paddingLeft": "",
"paddingRight": ""
});
var submenu_width=parseInt(anchor.siblings(".mega-sub-menu").innerWidth(), 10);
if(plugin.isDesktopView()&&target_width > 0&&target_width < submenu_width){
anchor.siblings(".mega-sub-menu").css({
"paddingLeft": (submenu_width - target_width) / 2 + "px",
"paddingRight": (submenu_width - target_width) / 2 + "px"
});
}}
};
plugin.bindClickEvents=function(){
if($wrap.data('has-click-events')===true){
return;
}
$wrap.data('has-click-events', true);
var dragging=false;
$(document).on({
"touchmove": function(e){ dragging=true; },
"touchstart": function(e){ dragging=false; }});
$(document).on("click touchend", function(e){
if(!dragging&&plugin.settings.document_click==="collapse"&&! $(e.target).closest(".mega-menu-wrap").length){
plugin.hideAllPanels();
plugin.hideMobileMenu();
}
dragging=false;
});
var clickable_parents=$("> a.mega-menu-link", items_with_submenus).add(collapse_children_parents);
clickable_parents.on("touchend.megamenu", function(e){
if(plugin.settings.event==="hover_intent"){
plugin.unbindHoverIntentEvents();
}
if(plugin.settings.event==="hover"){
plugin.unbindHoverEvents();
}});
clickable_parents.on("click.megamenu", function(e){
if($(e.target).hasClass('mega-indicator')){
return;
}
if(plugin.isDesktopView()&&$(this).parent().hasClass("mega-toggle-on")&&$(this).closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")){
if(plugin.settings.second_click==="go"){
return;
}else{
e.preventDefault();
return;
}}
if(dragging){
return;
}
if(plugin.isMobileView()&&$(this).parent().hasClass("mega-hide-sub-menu-on-mobile")){
return;
}
if((plugin.settings.second_click==="go"||$(this).parent().hasClass("mega-click-click-go"))&&$(this).attr("href")!==undefined){
if(!$(this).parent().hasClass("mega-toggle-on")){
e.preventDefault();
plugin.showPanel($(this));
}}else{
e.preventDefault();
if($(this).parent().hasClass("mega-toggle-on")){
plugin.hidePanel($(this), false);
}else{
plugin.showPanel($(this));
}}
});
if(plugin.settings.second_click==="disabled"){
clickable_parents.off("click.megamenu");
}
$(".mega-close-after-click:not(.mega-menu-item-has-children) > a.mega-menu-link", $menu).on("click", function(){
plugin.hideAllPanels();
plugin.hideMobileMenu();
});
$("button.mega-close", $wrap).on("click", function(e){
plugin.hideMobileMenu();
});
};
plugin.bindHoverEvents=function(){
items_with_submenus.on({
"mouseenter.megamenu":function(){
plugin.unbindClickEvents();
if(! $(this).hasClass("mega-toggle-on")){
plugin.showPanel($(this).children("a.mega-menu-link"));
}},
"mouseleave.megamenu":function(){
if($(this).hasClass("mega-toggle-on")&&! $(this).hasClass("mega-disable-collapse")&&! $(this).parent().parent().hasClass("mega-menu-tabbed")){
plugin.hidePanel($(this).children("a.mega-menu-link"), false);
}}
});
};
plugin.bindHoverIntentEvents=function(){
items_with_submenus.hoverIntent({
over: function (){
plugin.unbindClickEvents();
if(! $(this).hasClass("mega-toggle-on")){
plugin.showPanel($(this).children("a.mega-menu-link"));
}},
out: function (){
if($(this).hasClass("mega-toggle-on")&&! $(this).hasClass("mega-disable-collapse")&&! $(this).parent().parent().hasClass("mega-menu-tabbed")){
plugin.hidePanel($(this).children("a.mega-menu-link"), false);
}},
timeout: plugin.settings.hover_intent_timeout,
interval: plugin.settings.hover_intent_interval
});
};
plugin.isMobileOffCanvas=function(){
return plugin.settings.effect_mobile==='slide_left'||plugin.settings.effect_mobile==='slide_right';
}
plugin.bindKeyboardEvents=function(){
const tab_key=9;
const escape_key=27;
const enter_key=13;
const left_arrow_key=37;
const up_arrow_key=38;
const right_arrow_key=39;
const down_arrow_key=40;
const space_key=32;
const $firstFocusable=$menu.find("a.mega-menu-link").first();
const $lastFocusable=$wrap.find("button.mega-close").first();
var isMobileOffCanvasHorizontal=function(){
return plugin.isMobileOffCanvas()&&plugin.settings.mobile_direction==='horizontal';
}
var shouldTrapFocusInCurrentSubMenu=function(){
return isMobileOffCanvasHorizontal()&&(keyCode===up_arrow_key||keyCode===down_arrow_key||keyCode===tab_key);
}
$lastFocusable.on('keydown.megamenu', function(e){
var keyCode=e.keyCode||e.which;
if(plugin.isMobileView()&&plugin.isMobileOffCanvas()&&keyCode===tab_key&&! e.shiftKey){
e.preventDefault();
$firstFocusable.trigger('focus');
}});
$firstFocusable.on('keydown.megamenu', function(e){
var keyCode=e.keyCode||e.which;
if(plugin.isMobileView()&&plugin.isMobileOffCanvas()&&keyCode===tab_key&&e.shiftKey){
e.preventDefault();
$lastFocusable.trigger('focus');
}});
$wrap.on("keyup.megamenu", ".max-mega-menu, .mega-menu-toggle", function(e){
var keyCode=e.keyCode||e.which;
var active_link=$(e.target);
if(keyCode===tab_key){
$wrap.addClass("mega-keyboard-navigation");
plugin.bindClickEvents();
if(plugin.isDesktopView()&&keyCode===tab_key&&active_link.is(".mega-menu-link")&&active_link.parent().parent().hasClass('max-mega-menu')){
plugin.hideAllPanels();
}}
});
$wrap.on("keydown.megamenu", "a.mega-menu-link, .mega-indicator, .mega-menu-toggle-block, .mega-menu-toggle-animated-block button, button.mega-close", function(e){
if(! $wrap.hasClass("mega-keyboard-navigation")){
return;
}
var keyCode=e.keyCode||e.which;
var active_link=$(e.target);
if(keyCode===space_key&&active_link.is(".mega-menu-link")){
e.preventDefault();
if(active_link.parent().is(items_with_submenus)){
if(active_link.parent().hasClass("mega-toggle-on")&&! active_link.closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")){
plugin.hidePanel(active_link);
}else{
plugin.showPanel(active_link);
}}
}
if(keyCode===space_key&&active_link.is("mega-indicator")){
e.preventDefault();
if(active_link.parent().parent().hasClass("mega-toggle-on")&&! active_link.closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")){
plugin.hidePanel(active_link.parent());
}else{
plugin.showPanel(active_link.parent());
}}
if(keyCode===escape_key){
var submenu_open=$(".mega-toggle-on", $menu).length!==0;
if(submenu_open){
var focused_menu_item=$menu.find(":focus");
if(focused_menu_item.closest('.mega-menu-flyout.mega-toggle-on').length!==0){
var nearest_parent_of_focused_item_li=focused_menu_item.closest('.mega-toggle-on');
var nearest_parent_of_focused_item_a=$("> a.mega-menu-link", nearest_parent_of_focused_item_li);
plugin.hidePanel(nearest_parent_of_focused_item_a);
nearest_parent_of_focused_item_a.trigger('focus');
}
if(focused_menu_item.closest('.mega-menu-megamenu.mega-toggle-on').length!==0){
var nearest_parent_of_focused_item_li=focused_menu_item.closest('.mega-menu-megamenu.mega-toggle-on');
var nearest_parent_of_focused_item_a=$("> a.mega-menu-link", nearest_parent_of_focused_item_li);
plugin.hidePanel(nearest_parent_of_focused_item_a);
nearest_parent_of_focused_item_a.trigger('focus');
}}
if(plugin.isMobileView()&&! submenu_open){
plugin.hideMobileMenu();
}}
if(keyCode===space_key||keyCode===enter_key){
if(active_link.is(".mega-menu-toggle-block button, .mega-menu-toggle-animated-block button")){
e.preventDefault();
if($toggle_bar.hasClass("mega-menu-open")){
plugin.hideMobileMenu();
}else{
plugin.showMobileMenu();
html_body_class_timeout=setTimeout(function(){
$menu.find("a.mega-menu-link").first().trigger('focus');
}, plugin.settings.effect_speed_mobile);
}}
}
if(keyCode===enter_key){
if(active_link.is(".mega-indicator")){
if(active_link.closest("li.mega-menu-item").hasClass("mega-toggle-on")&&! active_link.closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")){
plugin.hidePanel(active_link.parent());
}else{
plugin.showPanel(active_link.parent());
}
return;
}
if(active_link.parent().is(items_with_submenus)){
if(plugin.isMobileView()&&active_link.parent().is(".mega-hide-sub-menu-on-mobile")){
return;
}
if(active_link.is("[href]")===false){
if(active_link.parent().hasClass("mega-toggle-on")&&! active_link.closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")){
plugin.hidePanel(active_link);
}else{
plugin.showPanel(active_link);
}
return;
}
if(active_link.parent().hasClass("mega-toggle-on")&&! active_link.closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")){
return;
}else{
e.preventDefault();
plugin.showPanel(active_link);
}}
}
if(shouldTrapFocusInCurrentSubMenu()){
var focused_item=$(":focus", $menu);
if(focused_item.length===0){
e.preventDefault();
$("> li.mega-menu-item:visible", $menu).find("> a.mega-menu-link, .mega-search span[role=button]").first().trigger('focus');
return;
}
var next_item_to_focus=focused_item.parent().nextAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").first();
if(next_item_to_focus.length===0&&focused_item.closest(".mega-menu-megamenu").length!==0){
var all_li_parents=focused_item.parentsUntil(".mega-menu-megamenu");
if(focused_item.is(all_li_parents.find("a.mega-menu-link").last())){
next_item_to_focus=all_li_parents.find(".mega-back-button:visible > a.mega-menu-link").first();
}}
if(next_item_to_focus.length===0){
next_item_to_focus=focused_item.parent().prevAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").first();
}
if(next_item_to_focus.length!==0){
e.preventDefault();
next_item_to_focus.trigger('focus');
}}
var shouldGoToNextTopLevelItem=function(){
return(( keyCode===right_arrow_key&&plugin.isDesktopView())||(keyCode===down_arrow_key&&plugin.isMobileView()) )&&$menu.hasClass("mega-menu-horizontal");
}
var shouldGoToPreviousTopLevelItem=function(){
return(( keyCode===left_arrow_key&&plugin.isDesktopView())||(keyCode===up_arrow_key&&plugin.isMobileView()) )&&$menu.hasClass("mega-menu-horizontal");
}
if(shouldGoToNextTopLevelItem()){
e.preventDefault();
var next_top_level_item=$("> .mega-toggle-on", $menu).nextAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").first();
if(next_top_level_item.length===0){
next_top_level_item=$(":focus", $menu).parent().nextAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").first();
}
if(next_top_level_item.length===0){
next_top_level_item=$(":focus", $menu).parent().parent().parent().nextAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").first();
}
plugin.hideAllPanels();
next_top_level_item.trigger('focus');
}
if(shouldGoToPreviousTopLevelItem()){
e.preventDefault();
var prev_top_level_item=$("> .mega-toggle-on", $menu).prevAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").last();
if(prev_top_level_item.length===0){
prev_top_level_item=$(":focus", $menu).parent().prevAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").last();
}
if(prev_top_level_item.length===0){
prev_top_level_item=$(":focus", $menu).parent().parent().parent().prevAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").last();
}
plugin.hideAllPanels();
prev_top_level_item.trigger('focus');
}});
$wrap.on("focusout.megamenu", function(e){
if($wrap.hasClass("mega-keyboard-navigation")){
setTimeout(function(){
var menu_has_focus=$wrap.find(":focus").length > 0;
if(! menu_has_focus){
$wrap.removeClass("mega-keyboard-navigation");
plugin.hideAllPanels();
plugin.hideMobileMenu();
}}, 10);
}});
};
plugin.unbindAllEvents=function(){
$("ul.mega-sub-menu, li.mega-menu-item, li.mega-menu-row, li.mega-menu-column, a.mega-menu-link, .mega-indicator", $menu).off().unbind();
};
plugin.unbindClickEvents=function(){
if($wrap.hasClass('mega-keyboard-navigation')){
return;
}
$("> a.mega-menu-link", items_with_submenus).not(collapse_children_parents).off("click.megamenu touchend.megamenu");
$wrap.data('has-click-events', false);
};
plugin.unbindHoverEvents=function(){
items_with_submenus.off("mouseenter.megamenu mouseleave.megamenu");
};
plugin.unbindHoverIntentEvents=function(){
items_with_submenus.off("mouseenter mouseleave").removeProp("hoverIntent_t").removeProp("hoverIntent_s");
};
plugin.unbindKeyboardEvents=function(){
$wrap.off("keyup.megamenu keydown.megamenu focusout.megamenu");
};
plugin.unbindMegaMenuEvents=function(){
if(plugin.settings.event==="hover_intent"){
plugin.unbindHoverIntentEvents();
}
if(plugin.settings.event==="hover"){
plugin.unbindHoverEvents();
}
plugin.unbindClickEvents();
plugin.unbindKeyboardEvents();
};
plugin.bindMegaMenuEvents=function(){
plugin.unbindMegaMenuEvents();
if(plugin.isDesktopView()&&plugin.settings.event==="hover_intent"){
plugin.bindHoverIntentEvents();
}
if(plugin.isDesktopView()&&plugin.settings.event==="hover"){
plugin.bindHoverEvents();
}
plugin.bindClickEvents();
plugin.bindKeyboardEvents();
};
plugin.checkWidth=function(){
if(plugin.isMobileView()&&$menu.data("view")==="desktop"){
plugin.switchToMobile();
}
if(plugin.isDesktopView()&&$menu.data("view")==="mobile"){
plugin.switchToDesktop();
}
plugin.calculateDynamicSubmenuWidths($("> li.mega-menu-megamenu > a.mega-menu-link", $menu));
};
plugin.reverseRightAlignedItems=function(){
if(! $("body").hasClass("rtl")&&$menu.hasClass("mega-menu-horizontal")&&$menu.css("display")!=='flex'){
$menu.append($menu.children("li.mega-item-align-right").get().reverse());
}};
plugin.addClearClassesToMobileItems=function(){
$(".mega-menu-row", $menu).each(function(){
$("> .mega-sub-menu > .mega-menu-column:not(.mega-hide-on-mobile)", $(this)).filter(":even").addClass("mega-menu-clear");
});
};
plugin.initDesktop=function(){
$menu.data("view", "desktop");
plugin.bindMegaMenuEvents();
plugin.initIndicators();
};
plugin.initMobile=function(){
plugin.switchToMobile();
};
plugin.switchToDesktop=function(){
$menu.data("view", "desktop");
plugin.bindMegaMenuEvents();
plugin.reverseRightAlignedItems();
plugin.hideAllPanels();
plugin.hideMobileMenu(true);
$menu.removeAttr('role');
$menu.removeAttr('aria-modal');
$menu.removeAttr('aria-hidden');
};
plugin.switchToMobile=function(){
$menu.data("view", "mobile");
if(plugin.isMobileOffCanvas()&&$toggle_bar.is(":visible")){
$menu.attr('role', 'dialog');
$menu.attr('aria-modal', 'true');
$menu.attr('aria-hidden', 'true');
}
plugin.bindMegaMenuEvents();
plugin.initIndicators();
plugin.reverseRightAlignedItems();
plugin.addClearClassesToMobileItems();
plugin.hideAllPanels();
plugin.expandMobileSubMenus();
};
plugin.initToggleBar=function(){
$toggle_bar.on("click", function(e){
if($(e.target).is(".mega-menu-toggle, .mega-menu-toggle-custom-block *, .mega-menu-toggle-block, .mega-menu-toggle-animated-block, .mega-menu-toggle-animated-block *, .mega-toggle-blocks-left, .mega-toggle-blocks-center, .mega-toggle-blocks-right, .mega-toggle-label, .mega-toggle-label span")){
e.preventDefault();
if($(this).hasClass("mega-menu-open")){
plugin.hideMobileMenu();
}else{
plugin.showMobileMenu();
}}
});
};
plugin.initIndicators=function(){
$menu.off('click.megamenu', '.mega-indicator');
$menu.on('click.megamenu', '.mega-indicator', function(e){
e.preventDefault();
e.stopPropagation();
if($(this).closest(".mega-menu-item").hasClass("mega-toggle-on")){
if(! $(this).closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")||plugin.isMobileView()){
plugin.hidePanel($(this).parent(), false);
}}else{
plugin.showPanel($(this).parent(), false);
}});
};
plugin.hideMobileMenu=function(force){
force=force||false;
if(! $toggle_bar.is(":visible")&&! force){
return;
}
$menu.attr("aria-hidden", "true");
html_body_class_timeout=setTimeout(function(){
$("body").removeClass($menu.attr("id") + "-mobile-open");
$("html").removeClass($menu.attr("id") + "-off-canvas-open");
}, plugin.settings.effect_speed_mobile);
if($wrap.hasClass("mega-keyboard-navigation")){
$(".mega-menu-toggle-block button, button.mega-toggle-animated", $toggle_bar).first().trigger('focus');
}
$(".mega-toggle-label, .mega-toggle-animated", $toggle_bar).attr("aria-expanded", "false");
if(plugin.settings.effect_mobile==="slide"&&! force){
$menu.animate({"height":"hide"}, plugin.settings.effect_speed_mobile, function(){
$menu.css({
width: "",
left: "",
display: ""
});
$toggle_bar.removeClass("mega-menu-open");
});
}else{
$menu.css({
width: "",
left: "",
display: ""
});
$toggle_bar.removeClass("mega-menu-open");
}
$menu.triggerHandler("mmm:hideMobileMenu");
};
plugin.showMobileMenu=function(){
if(! $toggle_bar.is(":visible")){
return;
}
clearTimeout(html_body_class_timeout);
$("body").addClass($menu.attr("id") + "-mobile-open");
plugin.expandMobileSubMenus();
if(plugin.isMobileOffCanvas()){
$("html").addClass($menu.attr("id") + "-off-canvas-open");
}
if(plugin.settings.effect_mobile==="slide"){
$menu.animate({"height":"show"}, plugin.settings.effect_speed_mobile, function(){
$(this).css("display", "");
});
}
$(".mega-toggle-label, .mega-toggle-animated", $toggle_bar).attr("aria-expanded", "true");
$toggle_bar.addClass("mega-menu-open");
plugin.toggleBarForceWidth();
$menu.attr("aria-hidden", "false");
$menu.triggerHandler("mmm:showMobileMenu");
};
plugin.toggleBarForceWidth=function(){
if($(plugin.settings.mobile_force_width).length&&(plugin.settings.effect_mobile==="slide"||plugin.settings.effect_mobile==="disabled") ){
var submenu_offset=$toggle_bar.offset();
var target_offset=$(plugin.settings.mobile_force_width).offset();
$menu.css({
width: $(plugin.settings.mobile_force_width).outerWidth(),
left: (target_offset.left - submenu_offset.left) + "px"
});
}};
plugin.doConsoleChecks=function(){
if(plugin.settings.mobile_force_width!="false"&&! $(plugin.settings.mobile_force_width).length&&(plugin.settings.effect_mobile==="slide"||plugin.settings.effect_mobile==="disabled") ){
console.warn('Max Mega Menu #' + $wrap.attr('id') + ': Mobile Force Width element (' + plugin.settings.mobile_force_width + ') not found');
}
const cssWidthRegex=/^((\d+(\.\d+)?(px|%|em|rem|vw|vh|ch|ex|cm|mm|in|pt|pc))|auto)$/i;
if(plugin.settings.panel_width!==undefined&&! cssWidthRegex.test(plugin.settings.panel_width)&&! $(plugin.settings.panel_width).length){
console.warn('Max Mega Menu #' + $wrap.attr('id') + ': Panel Width (Outer) element (' + plugin.settings.panel_width + ') not found');
}
if(plugin.settings.panel_inner_width!==undefined&&! cssWidthRegex.test(plugin.settings.panel_inner_width)&&! $(plugin.settings.panel_inner_width).length){
console.warn('Max Mega Menu #' + $wrap.attr('id') + ': Panel Width (Inner) element (' + plugin.settings.panel_inner_width + ') not found');
}}
plugin.init=function(){
$menu.triggerHandler("before_mega_menu_init");
plugin.settings=$.extend({}, defaults, options);
if(window.console){
plugin.doConsoleChecks();
}
$menu.removeClass("mega-no-js");
plugin.initToggleBar();
if(plugin.settings.unbind_events==="true"){
plugin.unbindAllEvents();
}
$(window).on("load", function(){
plugin.calculateDynamicSubmenuWidths($("> li.mega-menu-megamenu > a.mega-menu-link", $menu));
});
if(plugin.isDesktopView()){
plugin.initDesktop();
}else{
plugin.initMobile();
}
$(window).on("resize", function(){
plugin.checkWidth();
});
$menu.triggerHandler("after_mega_menu_init");
};
plugin.init();
};
$.fn.maxmegamenu=function(options){
return this.each(function(){
if(undefined===$(this).data("maxmegamenu")){
var plugin=new $.maxmegamenu(this, options);
$(this).data("maxmegamenu", plugin);
}});
};
$(function(){
$(".max-mega-menu").maxmegamenu();
});
}(jQuery));
(function (factory){
'use strict';
if(typeof define==='function'&&define.amd){
define(['jquery'], factory);
}else if(typeof exports==='object'){
factory(require('jquery'));
}else{
factory(window.jQuery);
}})(function ($){
'use strict';
var counter=0,
jsonAPI=$,
jsonParse='parseJSON';
if('JSON' in window&&'parse' in JSON){
jsonAPI=JSON;
jsonParse='parse';
}
$.ajaxTransport('iframe', function (options){
if(options.async){
var initialIframeSrc=options.initialIframeSrc||'javascript:false;',
form,
iframe,
addParamChar;
return {
send: function (_, completeCallback){
form=$('<form style="display:none;"></form>');
form.attr('accept-charset', options.formAcceptCharset);
addParamChar=/\?/.test(options.url) ? '&':'?';
if(options.type==='DELETE'){
options.url=options.url + addParamChar + '_method=DELETE';
options.type='POST';
}else if(options.type==='PUT'){
options.url=options.url + addParamChar + '_method=PUT';
options.type='POST';
}else if(options.type==='PATCH'){
options.url=options.url + addParamChar + '_method=PATCH';
options.type='POST';
}
counter +=1;
iframe=$(
'<iframe src="' +
initialIframeSrc +
'" name="iframe-transport-' +
counter +
'"></iframe>'
).on('load', function (){
var fileInputClones,
paramNames=$.isArray(options.paramName)
? options.paramName
: [options.paramName];
iframe.off('load').on('load', function (){
var response;
try {
response=iframe.contents();
if(!response.length||!response[0].firstChild){
throw new Error();
}} catch (e){
response=undefined;
}
completeCallback(200, 'success', { iframe: response });
$('<iframe src="' + initialIframeSrc + '"></iframe>').appendTo(form
);
window.setTimeout(function (){
form.remove();
}, 0);
});
form
.prop('target', iframe.prop('name'))
.prop('action', options.url)
.prop('method', options.type);
if(options.formData){
$.each(options.formData, function (index, field){
$('<input type="hidden"/>')
.prop('name', field.name)
.val(field.value)
.appendTo(form);
});
}
if(options.fileInput &&
options.fileInput.length &&
options.type==='POST'
){
fileInputClones=options.fileInput.clone();
options.fileInput.after(function (index){
return fileInputClones[index];
});
if(options.paramName){
options.fileInput.each(function (index){
$(this).prop('name', paramNames[index]||options.paramName);
});
}
form
.append(options.fileInput)
.prop('enctype', 'multipart/form-data')
.prop('encoding', 'multipart/form-data');
options.fileInput.removeAttr('form');
}
window.setTimeout(function (){
form.submit();
if(fileInputClones&&fileInputClones.length){
options.fileInput.each(function (index, input){
var clone=$(fileInputClones[index]);
$(input)
.prop('name', clone.prop('name'))
.attr('form', clone.attr('form'));
clone.replaceWith(input);
});
}}, 0);
});
form.append(iframe).appendTo(document.body);
},
abort: function (){
if(iframe){
iframe.off('load').prop('src', initialIframeSrc);
}
if(form){
form.remove();
}}
};}});
$.ajaxSetup({
converters: {
'iframe text': function (iframe){
return iframe&&$(iframe[0].body).text();
},
'iframe json': function (iframe){
return iframe&&jsonAPI[jsonParse]($(iframe[0].body).text());
},
'iframe html': function (iframe){
return iframe&&$(iframe[0].body).html();
},
'iframe xml': function (iframe){
var xmlDoc=iframe&&iframe[0];
return xmlDoc&&$.isXMLDoc(xmlDoc)
? xmlDoc
: $.parseXML((xmlDoc.XMLDocument&&xmlDoc.XMLDocument.xml) ||
$(xmlDoc.body).html()
);
},
'iframe script': function (iframe){
return iframe&&$.globalEval($(iframe[0].body).text());
}}
});
});
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";var t,e,i,n,W,C,o,s,r,l,a,h,u;function E(t,e,i){return[parseFloat(t[0])*(a.test(t[0])?e/100:1),parseFloat(t[1])*(a.test(t[1])?i/100:1)]}function L(t,e){return parseInt(x.css(t,e),10)||0}function N(t){return null!=t&&t===t.window}x.ui=x.ui||{},x.ui.version="1.13.3",
x.extend(x.expr.pseudos,{data:x.expr.createPseudo?x.expr.createPseudo(function(e){return function(t){return!!x.data(t,e)}}):function(t,e,i){return!!x.data(t,i[3])}}),
x.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}}),
x.ui.focusable=function(t,e){var i,n,o,s=t.nodeName.toLowerCase();return"area"===s?(o=(i=t.parentNode).name,!(!t.href||!o||"map"!==i.nodeName.toLowerCase())&&0<(i=x("img[usemap='#"+o+"']")).length&&i.is(":visible")):(/^(input|select|textarea|button|object)$/.test(s)?(n=!t.disabled)&&(o=x(t).closest("fieldset")[0])&&(n=!o.disabled):n="a"===s&&t.href||e,n&&x(t).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"visible"===e}(x(t)))},x.extend(x.expr.pseudos,{focusable:function(t){return x.ui.focusable(t,null!=x.attr(t,"tabindex"))}}),x.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):x(this[0].form)},
x.ui.formResetMixin={_formResetHandler:function(){var e=x(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");x.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=this.element._form(),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(x.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}},x.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),
x.expr.pseudos||(x.expr.pseudos=x.expr[":"]),x.uniqueSort||(x.uniqueSort=x.unique),x.escapeSelector||(e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,i=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},x.escapeSelector=function(t){return(t+"").replace(e,i)}),x.fn.even&&x.fn.odd||x.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),
x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},
x.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+x.escapeSelector(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},x.ui.plugin={add:function(t,e,i){var n,o=x.ui[t].prototype;for(n in i)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([e,i[n]])},call:function(t,e,i,n){var o,s=t.plugins[e];if(s&&(n||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(o=0;o<s.length;o++)t.options[s[o][0]]&&s[o][1].apply(t.element,i)}},
W=Math.max,C=Math.abs,o=/left|center|right/,s=/top|center|bottom/,r=/[\+\-]\d+(\.[\d]+)?%?/,l=/^\w+/,a=/%$/,h=x.fn.position,x.position={scrollbarWidth:function(){var t,e,i;return void 0!==n?n:(i=(e=x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0],x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),n=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=N(e[0]),n=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:n,offset:!i&&!n?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(f){var c,d,p,g,m,v,y,w,b,_,t,e;return f&&f.of?(v="string"==typeof(f=x.extend({},f)).of?x(document).find(f.of):x(f.of),y=x.position.getWithinInfo(f.within),w=x.position.getScrollInfo(y),b=(f.collision||"flip").split(" "),_={},e=9===(e=(t=v)[0]).nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:N(e)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:e.preventDefault?{width:0,height:0,offset:{top:e.pageY,left:e.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()},v[0].preventDefault&&(f.at="left top"),d=e.width,p=e.height,m=x.extend({},g=e.offset),x.each(["my","at"],function(){var t,e,i=(f[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):s.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=s.test(i[1])?i[1]:"center",t=r.exec(i[0]),e=r.exec(i[1]),_[this]=[t?t[0]:0,e?e[0]:0],f[this]=[l.exec(i[0])[0],l.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===f.at[0]?m.left+=d:"center"===f.at[0]&&(m.left+=d/2),"bottom"===f.at[1]?m.top+=p:"center"===f.at[1]&&(m.top+=p/2),c=E(_.at,d,p),m.left+=c[0],m.top+=c[1],this.each(function(){var i,t,r=x(this),l=r.outerWidth(),a=r.outerHeight(),e=L(this,"marginLeft"),n=L(this,"marginTop"),o=l+e+L(this,"marginRight")+w.width,s=a+n+L(this,"marginBottom")+w.height,h=x.extend({},m),u=E(_.my,r.outerWidth(),r.outerHeight());"right"===f.my[0]?h.left-=l:"center"===f.my[0]&&(h.left-=l/2),"bottom"===f.my[1]?h.top-=a:"center"===f.my[1]&&(h.top-=a/2),h.left+=u[0],h.top+=u[1],i={marginLeft:e,marginTop:n},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](h,{targetWidth:d,targetHeight:p,elemWidth:l,elemHeight:a,collisionPosition:i,collisionWidth:o,collisionHeight:s,offset:[c[0]+u[0],c[1]+u[1]],my:f.my,at:f.at,within:y,elem:r})}),f.using&&(t=function(t){var e=g.left-h.left,i=e+d-l,n=g.top-h.top,o=n+p-a,s={target:{element:v,left:g.left,top:g.top,width:d,height:p},element:{element:r,left:h.left,top:h.top,width:l,height:a},horizontal:i<0?"left":0<e?"right":"center",vertical:o<0?"top":0<n?"bottom":"middle"};d<l&&C(e+i)<d&&(s.horizontal="center"),p<a&&C(n+o)<p&&(s.vertical="middle"),W(C(e),C(i))>W(C(n),C(o))?s.important="horizontal":s.important="vertical",f.using.call(this,t,s)}),r.offset(x.extend(h,{using:t}))})):h.apply(this,arguments)},x.ui.position={fit:{left:function(t,e){var i,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,n=n.width,s=t.left-e.collisionPosition.marginLeft,r=o-s,l=s+e.collisionWidth-n-o;n<e.collisionWidth?0<r&&l<=0?(i=t.left+r+e.collisionWidth-n-o,t.left+=r-i):t.left=!(0<l&&r<=0)&&l<r?o+n-e.collisionWidth:o:0<r?t.left+=r:0<l?t.left-=l:t.left=W(t.left-s,t.left)},top:function(t,e){var i,n=e.within,n=n.isWindow?n.scrollTop:n.offset.top,o=e.within.height,s=t.top-e.collisionPosition.marginTop,r=n-s,l=s+e.collisionHeight-o-n;o<e.collisionHeight?0<r&&l<=0?(i=t.top+r+e.collisionHeight-o-n,t.top+=r-i):t.top=!(0<l&&r<=0)&&l<r?n+o-e.collisionHeight:n:0<r?t.top+=r:0<l?t.top-=l:t.top=W(t.top-s,t.top)}},flip:{left:function(t,e){var i=e.within,n=i.offset.left+i.scrollLeft,o=i.width,i=i.isWindow?i.scrollLeft:i.offset.left,s=t.left-e.collisionPosition.marginLeft,r=s-i,s=s+e.collisionWidth-o-i,l="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,a="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];r<0?((o=t.left+l+a+h+e.collisionWidth-o-n)<0||o<C(r))&&(t.left+=l+a+h):0<s&&(0<(n=t.left-e.collisionPosition.marginLeft+l+a+h-i)||C(n)<s)&&(t.left+=l+a+h)},top:function(t,e){var i=e.within,n=i.offset.top+i.scrollTop,o=i.height,i=i.isWindow?i.scrollTop:i.offset.top,s=t.top-e.collisionPosition.marginTop,r=s-i,s=s+e.collisionHeight-o-i,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,a="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];r<0?((o=t.top+l+a+h+e.collisionHeight-o-n)<0||o<C(r))&&(t.top+=l+a+h):0<s&&(0<(n=t.top-e.collisionPosition.marginTop+l+a+h-i)||C(n)<s)&&(t.top+=l+a+h)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}},x.ui.safeActiveElement=function(e){var i;try{i=e.activeElement}catch(t){i=e.body}return i=(i=i||e.body).nodeName?i:e.body},x.ui.safeBlur=function(t){t&&"body"!==t.nodeName.toLowerCase()&&x(t).trigger("blur")},
x.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=x(this);return(!i||"static"!==t.css("position"))&&n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:x(this[0].ownerDocument||document)},
x.extend(x.expr.pseudos,{tabbable:function(t){var e=x.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&x.ui.focusable(t,i)}}),
x.fn.extend({uniqueId:(u=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++u)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}});
var f,c=0,d=Array.prototype.hasOwnProperty,p=Array.prototype.slice;x.cleanData=(f=x.cleanData,function(t){for(var e,i,n=0;null!=(i=t[n]);n++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");f(t)}),x.widget=function(t,i,e){var n,o,s,r={},l=t.split(".")[0],a=l+"-"+(t=t.split(".")[1]);return e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[a.toLowerCase()]=function(t){return!!x.data(t,a)},x[l]=x[l]||{},n=x[l][t],o=x[l][t]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},x.extend(o,n,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(s=new i).options=x.widget.extend({},s.options),x.each(e,function(e,n){function o(){return i.prototype[e].apply(this,arguments)}function s(t){return i.prototype[e].apply(this,t)}r[e]="function"!=typeof n?n:function(){var t,e=this._super,i=this._superApply;return this._super=o,this._superApply=s,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}}),o.prototype=x.widget.extend(s,{widgetEventPrefix:n&&s.widgetEventPrefix||t},r,{constructor:o,namespace:l,widgetName:t,widgetFullName:a}),n?(x.each(n._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete n._childConstructors):i._childConstructors.push(o),x.widget.bridge(t,o),o},x.widget.extend=function(t){for(var e,i,n=p.call(arguments,1),o=0,s=n.length;o<s;o++)for(e in n[o])i=n[o][e],d.call(n[o],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(s,e){var r=e.prototype.widgetFullName||s;x.fn[s]=function(i){var t="string"==typeof i,n=p.call(arguments,1),o=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,r);return"instance"===i?(o=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+s+" widget instance"):(t=e[i].apply(e,n))!==e&&void 0!==t?(o=t&&t.jquery?o.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+s+" prior to initialization; attempted to call method '"+i+"'")}):o=void 0:(n.length&&(i=x.widget.extend.apply(null,[i].concat(n))),this.each(function(){var t=x.data(this,r);t?(t.option(i||{}),t._init&&t._init()):x.data(this,r,new e(i,this))})),o}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,n,o,s=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(s={},t=(i=t.split(".")).shift(),i.length){for(n=s[t]=x.widget.extend({},this.options[t]),o=0;o<i.length-1;o++)n[i[o]]=n[i[o]]||{},n=n[i[o]];if(t=i.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];s[t]=e}return this._setOptions(s),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,n;for(e in t)n=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&n&&n.length&&(i=x(n.get()),this._removeClass(n,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(o){var s=[],r=this;function t(t,e){for(var i,n=0;n<t.length;n++)i=r.classesElementLookup[t[n]]||x(),i=o.add?(function(){var i=[];o.element.each(function(t,e){x.map(r.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),r._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(o.element.get())))):x(i.not(o.element).get()),r.classesElementLookup[t[n]]=i,s.push(t[n]),e&&o.classes[t[n]]&&s.push(o.classes[t[n]])}return(o=x.extend({element:this.element,classes:this.options.classes||{}},o)).keys&&t(o.keys.match(/\S+/g)||[],!0),o.extra&&t(o.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(i){var n=this;x.each(n.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(n.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,n){var o="string"==typeof t||null===t,e={extra:o?e:i,keys:o?t:e,element:o?this.element:t,add:n="boolean"==typeof n?n:i};return e.element.toggleClass(this._classes(e),n),this},_on:function(o,s,t){var r,l=this;"boolean"!=typeof o&&(t=s,s=o,o=!1),t?(s=r=x(s),this.bindings=this.bindings.add(s)):(t=s,s=this.element,r=this.widget()),x.each(t,function(t,e){function i(){if(o||!0!==l.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?l[e]:e).apply(l,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),n=t[1]+l.eventNamespace,t=t[2];t?r.on(n,t,i):s.on(n,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var n,o,s=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],o=e.originalEvent)for(n in o)n in e||(e[n]=o[n]);return this.element.trigger(e,i),!("function"==typeof s&&!1===s.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(s,r){x.Widget.prototype["_"+s]=function(e,t,i){var n,o=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||r:s;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),n=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),n&&x.effects&&x.effects.effect[o]?e[s](t):o!==s&&e[o]?e[o](t.duration,t.easing,i):e.queue(function(t){x(this)[s](),i&&i.call(e[0]),t()})}})});
(function (factory){
'use strict';
if(typeof define==='function'&&define.amd){
define(['jquery', 'jquery-ui/ui/widget'], factory);
}else if(typeof exports==='object'){
factory(require('jquery'), require('./vendor/jquery.ui.widget'));
}else{
factory(window.jQuery);
}})(function ($){
'use strict';
$.support.fileInput = !(
new RegExp(
'(Android (1\\.[0156]|2\\.[01]))' +
'|(Windows Phone (OS 7|8\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)' +
'|(w(eb)?OSBrowser)|(webOS)' +
'|(Kindle/(1\\.0|2\\.[05]|3\\.0))'
).test(window.navigator.userAgent) ||
$('<input type="file"/>').prop('disabled')
);
$.support.xhrFileUpload = !!(window.ProgressEvent&&window.FileReader);
$.support.xhrFormDataFileUpload = !!window.FormData;
$.support.blobSlice =
window.Blob &&
(Blob.prototype.slice ||
Blob.prototype.webkitSlice ||
Blob.prototype.mozSlice);
function getDragHandler(type){
var isDragOver=type==='dragover';
return function (e){
e.dataTransfer=e.originalEvent&&e.originalEvent.dataTransfer;
var dataTransfer=e.dataTransfer;
if(dataTransfer &&
$.inArray('Files', dataTransfer.types)!==-1 &&
this._trigger(type, $.Event(type, { delegatedEvent: e }))!==false
){
e.preventDefault();
if(isDragOver){
dataTransfer.dropEffect='copy';
}}
};}
$.widget('blueimp.fileupload', {
options: {
dropZone: $(document),
pasteZone: undefined,
fileInput: undefined,
replaceFileInput: true,
paramName: undefined,
singleFileUploads: true,
limitMultiFileUploads: undefined,
limitMultiFileUploadSize: undefined,
limitMultiFileUploadSizeOverhead: 512,
sequentialUploads: false,
limitConcurrentUploads: undefined,
forceIframeTransport: false,
redirect: undefined,
redirectParamName: undefined,
postMessage: undefined,
multipart: true,
maxChunkSize: undefined,
uploadedBytes: undefined,
recalculateProgress: true,
progressInterval: 100,
bitrateInterval: 500,
autoUpload: true,
uniqueFilenames: undefined,
messages: {
uploadedBytes: 'Uploaded bytes exceed file size'
},
i18n: function (message, context){
message=this.messages[message]||message.toString();
if(context){
$.each(context, function (key, value){
message=message.replace('{' + key + '}', value);
});
}
return message;
},
formData: function (form){
return form.serializeArray();
},
add: function (e, data){
if(e.isDefaultPrevented()){
return false;
}
if(data.autoUpload ||
(data.autoUpload!==false &&
$(this).fileupload('option', 'autoUpload'))
){
data.process().done(function (){
data.submit();
});
}},
processData: false,
contentType: false,
cache: false,
timeout: 0
},
_promisePipe: (function (){
var parts=$.fn.jquery.split('.');
return Number(parts[0]) > 1||Number(parts[1]) > 7 ? 'then':'pipe';
})(),
_specialOptions: [
'fileInput',
'dropZone',
'pasteZone',
'multipart',
'forceIframeTransport'
],
_blobSlice:
$.support.blobSlice &&
function (){
var slice=this.slice||this.webkitSlice||this.mozSlice;
return slice.apply(this, arguments);
},
_BitrateTimer: function (){
this.timestamp=Date.now ? Date.now():new Date().getTime();
this.loaded=0;
this.bitrate=0;
this.getBitrate=function (now, loaded, interval){
var timeDiff=now - this.timestamp;
if(!this.bitrate||!interval||timeDiff > interval){
this.bitrate=(loaded - this.loaded) * (1000 / timeDiff) * 8;
this.loaded=loaded;
this.timestamp=now;
}
return this.bitrate;
};},
_isXHRUpload: function (options){
return (
!options.forceIframeTransport &&
((!options.multipart&&$.support.xhrFileUpload) ||
$.support.xhrFormDataFileUpload)
);
},
_getFormData: function (options){
var formData;
if($.type(options.formData)==='function'){
return options.formData(options.form);
}
if($.isArray(options.formData)){
return options.formData;
}
if($.type(options.formData)==='object'){
formData=[];
$.each(options.formData, function (name, value){
formData.push({ name: name, value: value });
});
return formData;
}
return [];
},
_getTotal: function (files){
var total=0;
$.each(files, function (index, file){
total +=file.size||1;
});
return total;
},
_initProgressObject: function (obj){
var progress={
loaded: 0,
total: 0,
bitrate: 0
};
if(obj._progress){
$.extend(obj._progress, progress);
}else{
obj._progress=progress;
}},
_initResponseObject: function (obj){
var prop;
if(obj._response){
for (prop in obj._response){
if(Object.prototype.hasOwnProperty.call(obj._response, prop)){
delete obj._response[prop];
}}
}else{
obj._response={};}},
_onProgress: function (e, data){
if(e.lengthComputable){
var now=Date.now ? Date.now():new Date().getTime(),
loaded;
if(data._time &&
data.progressInterval &&
now - data._time < data.progressInterval &&
e.loaded!==e.total
){
return;
}
data._time=now;
loaded =
Math.floor((e.loaded / e.total) * (data.chunkSize||data._progress.total)
) + (data.uploadedBytes||0);
this._progress.loaded +=loaded - data._progress.loaded;
this._progress.bitrate=this._bitrateTimer.getBitrate(now,
this._progress.loaded,
data.bitrateInterval
);
data._progress.loaded=data.loaded=loaded;
data._progress.bitrate=data.bitrate=data._bitrateTimer.getBitrate(now,
loaded,
data.bitrateInterval
);
this._trigger('progress',
$.Event('progress', { delegatedEvent: e }),
data
);
this._trigger('progressall',
$.Event('progressall', { delegatedEvent: e }),
this._progress
);
}},
_initProgressListener: function (options){
var that=this,
xhr=options.xhr ? options.xhr():$.ajaxSettings.xhr();
if(xhr.upload){
$(xhr.upload).on('progress', function (e){
var oe=e.originalEvent;
e.lengthComputable=oe.lengthComputable;
e.loaded=oe.loaded;
e.total=oe.total;
that._onProgress(e, options);
});
options.xhr=function (){
return xhr;
};}},
_deinitProgressListener: function (options){
var xhr=options.xhr ? options.xhr():$.ajaxSettings.xhr();
if(xhr.upload){
$(xhr.upload).off('progress');
}},
_isInstanceOf: function (type, obj){
return Object.prototype.toString.call(obj)==='[object ' + type + ']';
},
_getUniqueFilename: function (name, map){
name=String(name);
if(map[name]){
name=name.replace(/(?: \(([\d]+)\))?(\.[^.]+)?$/, function (
_,
p1,
p2
){
var index=p1 ? Number(p1) + 1:1;
var ext=p2||'';
return ' (' + index + ')' + ext;
});
return this._getUniqueFilename(name, map);
}
map[name]=true;
return name;
},
_initXHRData: function (options){
var that=this,
formData,
file=options.files[0],
multipart=options.multipart||!$.support.xhrFileUpload,
paramName =
$.type(options.paramName)==='array'
? options.paramName[0]
: options.paramName;
options.headers=$.extend({}, options.headers);
if(options.contentRange){
options.headers['Content-Range']=options.contentRange;
}
if(!multipart||options.blob||!this._isInstanceOf('File', file)){
options.headers['Content-Disposition'] =
'attachment; filename="' +
encodeURI(file.uploadName||file.name) +
'"';
}
if(!multipart){
options.contentType=file.type||'application/octet-stream';
options.data=options.blob||file;
}else if($.support.xhrFormDataFileUpload){
if(options.postMessage){
formData=this._getFormData(options);
if(options.blob){
formData.push({
name: paramName,
value: options.blob
});
}else{
$.each(options.files, function (index, file){
formData.push({
name:
($.type(options.paramName)==='array' &&
options.paramName[index]) ||
paramName,
value: file
});
});
}}else{
if(that._isInstanceOf('FormData', options.formData)){
formData=options.formData;
}else{
formData=new FormData();
$.each(this._getFormData(options), function (index, field){
formData.append(field.name, field.value);
});
}
if(options.blob){
formData.append(paramName,
options.blob,
file.uploadName||file.name
);
}else{
$.each(options.files, function (index, file){
if(that._isInstanceOf('File', file) ||
that._isInstanceOf('Blob', file)
){
var fileName=file.uploadName||file.name;
if(options.uniqueFilenames){
fileName=that._getUniqueFilename(fileName,
options.uniqueFilenames
);
}
formData.append(($.type(options.paramName)==='array' &&
options.paramName[index]) ||
paramName,
file,
fileName
);
}});
}}
options.data=formData;
}
options.blob=null;
},
_initIframeSettings: function (options){
var targetHost=$('<a></a>').prop('href', options.url).prop('host');
options.dataType='iframe ' + (options.dataType||'');
options.formData=this._getFormData(options);
if(options.redirect&&targetHost&&targetHost!==location.host){
options.formData.push({
name: options.redirectParamName||'redirect',
value: options.redirect
});
}},
_initDataSettings: function (options){
if(this._isXHRUpload(options)){
if(!this._chunkedUpload(options, true)){
if(!options.data){
this._initXHRData(options);
}
this._initProgressListener(options);
}
if(options.postMessage){
options.dataType='postmessage ' + (options.dataType||'');
}}else{
this._initIframeSettings(options);
}},
_getParamName: function (options){
var fileInput=$(options.fileInput),
paramName=options.paramName;
if(!paramName){
paramName=[];
fileInput.each(function (){
var input=$(this),
name=input.prop('name')||'files[]',
i=(input.prop('files')||[1]).length;
while (i){
paramName.push(name);
i -=1;
}});
if(!paramName.length){
paramName=[fileInput.prop('name')||'files[]'];
}}else if(!$.isArray(paramName)){
paramName=[paramName];
}
return paramName;
},
_initFormSettings: function (options){
if(!options.form||!options.form.length){
options.form=$(options.fileInput.prop('form'));
if(!options.form.length){
options.form=$(this.options.fileInput.prop('form'));
}}
options.paramName=this._getParamName(options);
if(!options.url){
options.url=options.form.prop('action')||location.href;
}
options.type=(
options.type ||
($.type(options.form.prop('method'))==='string' &&
options.form.prop('method')) ||
''
).toUpperCase();
if(options.type!=='POST' &&
options.type!=='PUT' &&
options.type!=='PATCH'
){
options.type='POST';
}
if(!options.formAcceptCharset){
options.formAcceptCharset=options.form.attr('accept-charset');
}},
_getAJAXSettings: function (data){
var options=$.extend({}, this.options, data);
this._initFormSettings(options);
this._initDataSettings(options);
return options;
},
_getDeferredState: function (deferred){
if(deferred.state){
return deferred.state();
}
if(deferred.isResolved()){
return 'resolved';
}
if(deferred.isRejected()){
return 'rejected';
}
return 'pending';
},
_enhancePromise: function (promise){
promise.success=promise.done;
promise.error=promise.fail;
promise.complete=promise.always;
return promise;
},
_getXHRPromise: function (resolveOrReject, context, args){
var dfd=$.Deferred(),
promise=dfd.promise();
context=context||this.options.context||promise;
if(resolveOrReject===true){
dfd.resolveWith(context, args);
}else if(resolveOrReject===false){
dfd.rejectWith(context, args);
}
promise.abort=dfd.promise;
return this._enhancePromise(promise);
},
_addConvenienceMethods: function (e, data){
var that=this,
getPromise=function (args){
return $.Deferred().resolveWith(that, args).promise();
};
data.process=function (resolveFunc, rejectFunc){
if(resolveFunc||rejectFunc){
data._processQueue=this._processQueue=(this._processQueue ||
getPromise([this]))
[that._promisePipe](function (){
if(data.errorThrown){
return $.Deferred().rejectWith(that, [data]).promise();
}
return getPromise(arguments);
})
[that._promisePipe](resolveFunc, rejectFunc);
}
return this._processQueue||getPromise([this]);
};
data.submit=function (){
if(this.state()!=='pending'){
data.jqXHR=this.jqXHR =
that._trigger('submit',
$.Event('submit', { delegatedEvent: e }),
this
)!==false&&that._onSend(e, this);
}
return this.jqXHR||that._getXHRPromise();
};
data.abort=function (){
if(this.jqXHR){
return this.jqXHR.abort();
}
this.errorThrown='abort';
that._trigger('fail', null, this);
return that._getXHRPromise(false);
};
data.state=function (){
if(this.jqXHR){
return that._getDeferredState(this.jqXHR);
}
if(this._processQueue){
return that._getDeferredState(this._processQueue);
}};
data.processing=function (){
return (
!this.jqXHR &&
this._processQueue &&
that._getDeferredState(this._processQueue)==='pending'
);
};
data.progress=function (){
return this._progress;
};
data.response=function (){
return this._response;
};},
_getUploadedBytes: function (jqXHR){
var range=jqXHR.getResponseHeader('Range'),
parts=range&&range.split('-'),
upperBytesPos=parts&&parts.length > 1&&parseInt(parts[1], 10);
return upperBytesPos&&upperBytesPos + 1;
},
_chunkedUpload: function (options, testOnly){
options.uploadedBytes=options.uploadedBytes||0;
var that=this,
file=options.files[0],
fs=file.size,
ub=options.uploadedBytes,
mcs=options.maxChunkSize||fs,
slice=this._blobSlice,
dfd=$.Deferred(),
promise=dfd.promise(),
jqXHR,
upload;
if(!(
this._isXHRUpload(options) &&
slice &&
(ub||($.type(mcs)==='function' ? mcs(options):mcs) < fs)
) ||
options.data
){
return false;
}
if(testOnly){
return true;
}
if(ub >=fs){
file.error=options.i18n('uploadedBytes');
return this._getXHRPromise(false, options.context, [
null,
'error',
file.error
]);
}
upload=function (){
var o=$.extend({}, options),
currentLoaded=o._progress.loaded;
o.blob=slice.call(file,
ub,
ub + ($.type(mcs)==='function' ? mcs(o):mcs),
file.type
);
o.chunkSize=o.blob.size;
o.contentRange =
'bytes ' + ub + '-' + (ub + o.chunkSize - 1) + '/' + fs;
that._trigger('chunkbeforesend', null, o);
that._initXHRData(o);
that._initProgressListener(o);
jqXHR=(
(that._trigger('chunksend', null, o)!==false&&$.ajax(o)) ||
that._getXHRPromise(false, o.context)
)
.done(function (result, textStatus, jqXHR){
ub=that._getUploadedBytes(jqXHR)||ub + o.chunkSize;
if(currentLoaded + o.chunkSize - o._progress.loaded){
that._onProgress($.Event('progress', {
lengthComputable: true,
loaded: ub - o.uploadedBytes,
total: ub - o.uploadedBytes
}),
o
);
}
options.uploadedBytes=o.uploadedBytes=ub;
o.result=result;
o.textStatus=textStatus;
o.jqXHR=jqXHR;
that._trigger('chunkdone', null, o);
that._trigger('chunkalways', null, o);
if(ub < fs){
upload();
}else{
dfd.resolveWith(o.context, [result, textStatus, jqXHR]);
}})
.fail(function (jqXHR, textStatus, errorThrown){
o.jqXHR=jqXHR;
o.textStatus=textStatus;
o.errorThrown=errorThrown;
that._trigger('chunkfail', null, o);
that._trigger('chunkalways', null, o);
dfd.rejectWith(o.context, [jqXHR, textStatus, errorThrown]);
})
.always(function (){
that._deinitProgressListener(o);
});
};
this._enhancePromise(promise);
promise.abort=function (){
return jqXHR.abort();
};
upload();
return promise;
},
_beforeSend: function (e, data){
if(this._active===0){
this._trigger('start');
this._bitrateTimer=new this._BitrateTimer();
this._progress.loaded=this._progress.total=0;
this._progress.bitrate=0;
}
this._initResponseObject(data);
this._initProgressObject(data);
data._progress.loaded=data.loaded=data.uploadedBytes||0;
data._progress.total=data.total=this._getTotal(data.files)||1;
data._progress.bitrate=data.bitrate=0;
this._active +=1;
this._progress.loaded +=data.loaded;
this._progress.total +=data.total;
},
_onDone: function (result, textStatus, jqXHR, options){
var total=options._progress.total,
response=options._response;
if(options._progress.loaded < total){
this._onProgress($.Event('progress', {
lengthComputable: true,
loaded: total,
total: total
}),
options
);
}
response.result=options.result=result;
response.textStatus=options.textStatus=textStatus;
response.jqXHR=options.jqXHR=jqXHR;
this._trigger('done', null, options);
},
_onFail: function (jqXHR, textStatus, errorThrown, options){
var response=options._response;
if(options.recalculateProgress){
this._progress.loaded -=options._progress.loaded;
this._progress.total -=options._progress.total;
}
response.jqXHR=options.jqXHR=jqXHR;
response.textStatus=options.textStatus=textStatus;
response.errorThrown=options.errorThrown=errorThrown;
this._trigger('fail', null, options);
},
_onAlways: function (jqXHRorResult, textStatus, jqXHRorError, options){
this._trigger('always', null, options);
},
_onSend: function (e, data){
if(!data.submit){
this._addConvenienceMethods(e, data);
}
var that=this,
jqXHR,
aborted,
slot,
pipe,
options=that._getAJAXSettings(data),
send=function (){
that._sending +=1;
options._bitrateTimer=new that._BitrateTimer();
jqXHR =
jqXHR ||
(
((aborted ||
that._trigger('send',
$.Event('send', { delegatedEvent: e }),
options
)===false) &&
that._getXHRPromise(false, options.context, aborted)) ||
that._chunkedUpload(options) ||
$.ajax(options)
)
.done(function (result, textStatus, jqXHR){
that._onDone(result, textStatus, jqXHR, options);
})
.fail(function (jqXHR, textStatus, errorThrown){
that._onFail(jqXHR, textStatus, errorThrown, options);
})
.always(function (jqXHRorResult, textStatus, jqXHRorError){
that._deinitProgressListener(options);
that._onAlways(jqXHRorResult,
textStatus,
jqXHRorError,
options
);
that._sending -=1;
that._active -=1;
if(options.limitConcurrentUploads &&
options.limitConcurrentUploads > that._sending
){
var nextSlot=that._slots.shift();
while (nextSlot){
if(that._getDeferredState(nextSlot)==='pending'){
nextSlot.resolve();
break;
}
nextSlot=that._slots.shift();
}}
if(that._active===0){
that._trigger('stop');
}});
return jqXHR;
};
this._beforeSend(e, options);
if(this.options.sequentialUploads ||
(this.options.limitConcurrentUploads &&
this.options.limitConcurrentUploads <=this._sending)
){
if(this.options.limitConcurrentUploads > 1){
slot=$.Deferred();
this._slots.push(slot);
pipe=slot[that._promisePipe](send);
}else{
this._sequence=this._sequence[that._promisePipe](send, send);
pipe=this._sequence;
}
pipe.abort=function (){
aborted=[undefined, 'abort', 'abort'];
if(!jqXHR){
if(slot){
slot.rejectWith(options.context, aborted);
}
return send();
}
return jqXHR.abort();
};
return this._enhancePromise(pipe);
}
return send();
},
_onAdd: function (e, data){
var that=this,
result=true,
options=$.extend({}, this.options, data),
files=data.files,
filesLength=files.length,
limit=options.limitMultiFileUploads,
limitSize=options.limitMultiFileUploadSize,
overhead=options.limitMultiFileUploadSizeOverhead,
batchSize=0,
paramName=this._getParamName(options),
paramNameSet,
paramNameSlice,
fileSet,
i,
j=0;
if(!filesLength){
return false;
}
if(limitSize&&files[0].size===undefined){
limitSize=undefined;
}
if(!(options.singleFileUploads||limit||limitSize) ||
!this._isXHRUpload(options)
){
fileSet=[files];
paramNameSet=[paramName];
}else if(!(options.singleFileUploads||limitSize)&&limit){
fileSet=[];
paramNameSet=[];
for (i=0; i < filesLength; i +=limit){
fileSet.push(files.slice(i, i + limit));
paramNameSlice=paramName.slice(i, i + limit);
if(!paramNameSlice.length){
paramNameSlice=paramName;
}
paramNameSet.push(paramNameSlice);
}}else if(!options.singleFileUploads&&limitSize){
fileSet=[];
paramNameSet=[];
for (i=0; i < filesLength; i=i + 1){
batchSize +=files[i].size + overhead;
if(i + 1===filesLength ||
batchSize + files[i + 1].size + overhead > limitSize ||
(limit&&i + 1 - j >=limit)
){
fileSet.push(files.slice(j, i + 1));
paramNameSlice=paramName.slice(j, i + 1);
if(!paramNameSlice.length){
paramNameSlice=paramName;
}
paramNameSet.push(paramNameSlice);
j=i + 1;
batchSize=0;
}}
}else{
paramNameSet=paramName;
}
data.originalFiles=files;
$.each(fileSet||files, function (index, element){
var newData=$.extend({}, data);
newData.files=fileSet ? element:[element];
newData.paramName=paramNameSet[index];
that._initResponseObject(newData);
that._initProgressObject(newData);
that._addConvenienceMethods(e, newData);
result=that._trigger('add',
$.Event('add', { delegatedEvent: e }),
newData
);
return result;
});
return result;
},
_replaceFileInput: function (data){
var input=data.fileInput,
inputClone=input.clone(true),
restoreFocus=input.is(document.activeElement);
data.fileInputClone=inputClone;
$('<form></form>').append(inputClone)[0].reset();
input.after(inputClone).detach();
if(restoreFocus){
inputClone.trigger('focus');
}
$.cleanData(input.off('remove'));
this.options.fileInput=this.options.fileInput.map(function (i, el){
if(el===input[0]){
return inputClone[0];
}
return el;
});
if(input[0]===this.element[0]){
this.element=inputClone;
}},
_handleFileTreeEntry: function (entry, path){
var that=this,
dfd=$.Deferred(),
entries=[],
dirReader,
errorHandler=function (e){
if(e&&!e.entry){
e.entry=entry;
}
dfd.resolve([e]);
},
successHandler=function (entries){
that
._handleFileTreeEntries(entries, path + entry.name + '/')
.done(function (files){
dfd.resolve(files);
})
.fail(errorHandler);
},
readEntries=function (){
dirReader.readEntries(function (results){
if(!results.length){
successHandler(entries);
}else{
entries=entries.concat(results);
readEntries();
}}, errorHandler);
};
path=path||'';
if(entry.isFile){
if(entry._file){
entry._file.relativePath=path;
dfd.resolve(entry._file);
}else{
entry.file(function (file){
file.relativePath=path;
dfd.resolve(file);
}, errorHandler);
}}else if(entry.isDirectory){
dirReader=entry.createReader();
readEntries();
}else{
dfd.resolve([]);
}
return dfd.promise();
},
_handleFileTreeEntries: function (entries, path){
var that=this;
return $.when
.apply($,
$.map(entries, function (entry){
return that._handleFileTreeEntry(entry, path);
})
)
[this._promisePipe](function (){
return Array.prototype.concat.apply([], arguments);
});
},
_getDroppedFiles: function (dataTransfer){
dataTransfer=dataTransfer||{};
var items=dataTransfer.items;
if(items &&
items.length &&
(items[0].webkitGetAsEntry||items[0].getAsEntry)
){
return this._handleFileTreeEntries($.map(items, function (item){
var entry;
if(item.webkitGetAsEntry){
entry=item.webkitGetAsEntry();
if(entry){
entry._file=item.getAsFile();
}
return entry;
}
return item.getAsEntry();
})
);
}
return $.Deferred().resolve($.makeArray(dataTransfer.files)).promise();
},
_getSingleFileInputFiles: function (fileInput){
fileInput=$(fileInput);
var entries =
fileInput.prop('webkitEntries')||fileInput.prop('entries'),
files,
value;
if(entries&&entries.length){
return this._handleFileTreeEntries(entries);
}
files=$.makeArray(fileInput.prop('files'));
if(!files.length){
value=fileInput.prop('value');
if(!value){
return $.Deferred().resolve([]).promise();
}
files=[{ name: value.replace(/^.*\\/, '') }];
}else if(files[0].name===undefined&&files[0].fileName){
$.each(files, function (index, file){
file.name=file.fileName;
file.size=file.fileSize;
});
}
return $.Deferred().resolve(files).promise();
},
_getFileInputFiles: function (fileInput){
if(!(fileInput instanceof $)||fileInput.length===1){
return this._getSingleFileInputFiles(fileInput);
}
return $.when
.apply($, $.map(fileInput, this._getSingleFileInputFiles))
[this._promisePipe](function (){
return Array.prototype.concat.apply([], arguments);
});
},
_onChange: function (e){
var that=this,
data={
fileInput: $(e.target),
form: $(e.target.form)
};
this._getFileInputFiles(data.fileInput).always(function (files){
data.files=files;
if(that.options.replaceFileInput){
that._replaceFileInput(data);
}
if(that._trigger('change',
$.Event('change', { delegatedEvent: e }),
data
)!==false
){
that._onAdd(e, data);
}});
},
_onPaste: function (e){
var items =
e.originalEvent &&
e.originalEvent.clipboardData &&
e.originalEvent.clipboardData.items,
data={ files: [] };
if(items&&items.length){
$.each(items, function (index, item){
var file=item.getAsFile&&item.getAsFile();
if(file){
data.files.push(file);
}});
if(this._trigger('paste',
$.Event('paste', { delegatedEvent: e }),
data
)!==false
){
this._onAdd(e, data);
}}
},
_onDrop: function (e){
e.dataTransfer=e.originalEvent&&e.originalEvent.dataTransfer;
var that=this,
dataTransfer=e.dataTransfer,
data={};
if(dataTransfer&&dataTransfer.files&&dataTransfer.files.length){
e.preventDefault();
this._getDroppedFiles(dataTransfer).always(function (files){
data.files=files;
if(that._trigger('drop',
$.Event('drop', { delegatedEvent: e }),
data
)!==false
){
that._onAdd(e, data);
}});
}},
_onDragOver: getDragHandler('dragover'),
_onDragEnter: getDragHandler('dragenter'),
_onDragLeave: getDragHandler('dragleave'),
_initEventHandlers: function (){
if(this._isXHRUpload(this.options)){
this._on(this.options.dropZone, {
dragover: this._onDragOver,
drop: this._onDrop,
dragenter: this._onDragEnter,
dragleave: this._onDragLeave
});
this._on(this.options.pasteZone, {
paste: this._onPaste
});
}
if($.support.fileInput){
this._on(this.options.fileInput, {
change: this._onChange
});
}},
_destroyEventHandlers: function (){
this._off(this.options.dropZone, 'dragenter dragleave dragover drop');
this._off(this.options.pasteZone, 'paste');
this._off(this.options.fileInput, 'change');
},
_destroy: function (){
this._destroyEventHandlers();
},
_setOption: function (key, value){
var reinit=$.inArray(key, this._specialOptions)!==-1;
if(reinit){
this._destroyEventHandlers();
}
this._super(key, value);
if(reinit){
this._initSpecialOptions();
this._initEventHandlers();
}},
_initSpecialOptions: function (){
var options=this.options;
if(options.fileInput===undefined){
options.fileInput=this.element.is('input[type="file"]')
? this.element
: this.element.find('input[type="file"]');
}else if(!(options.fileInput instanceof $)){
options.fileInput=$(options.fileInput);
}
if(!(options.dropZone instanceof $)){
options.dropZone=$(options.dropZone);
}
if(!(options.pasteZone instanceof $)){
options.pasteZone=$(options.pasteZone);
}},
_getRegExp: function (str){
var parts=str.split('/'),
modifiers=parts.pop();
parts.shift();
return new RegExp(parts.join('/'), modifiers);
},
_isRegExpOption: function (key, value){
return (
key!=='url' &&
$.type(value)==='string' &&
/^\/.*\/[igm]{0,3}$/.test(value)
);
},
_initDataAttributes: function (){
var that=this,
options=this.options,
data=this.element.data();
$.each(this.element[0].attributes, function (index, attr){
var key=attr.name.toLowerCase(),
value;
if(/^data-/.test(key)){
key=key.slice(5).replace(/-[a-z]/g, function (str){
return str.charAt(1).toUpperCase();
});
value=data[key];
if(that._isRegExpOption(key, value)){
value=that._getRegExp(value);
}
options[key]=value;
}});
},
_create: function (){
this._initDataAttributes();
this._initSpecialOptions();
this._slots=[];
this._sequence=this._getXHRPromise(true);
this._sending=this._active=0;
this._initProgressObject(this);
this._initEventHandlers();
},
active: function (){
return this._active;
},
progress: function (){
return this._progress;
},
add: function (data){
var that=this;
if(!data||this.options.disabled){
return;
}
if(data.fileInput&&!data.files){
this._getFileInputFiles(data.fileInput).always(function (files){
data.files=files;
that._onAdd(null, data);
});
}else{
data.files=$.makeArray(data.files);
this._onAdd(null, data);
}},
send: function (data){
if(data&&!this.options.disabled){
if(data.fileInput&&!data.files){
var that=this,
dfd=$.Deferred(),
promise=dfd.promise(),
jqXHR,
aborted;
promise.abort=function (){
aborted=true;
if(jqXHR){
return jqXHR.abort();
}
dfd.reject(null, 'abort', 'abort');
return promise;
};
this._getFileInputFiles(data.fileInput).always(function (files){
if(aborted){
return;
}
if(!files.length){
dfd.reject();
return;
}
data.files=files;
jqXHR=that._onSend(null, data);
jqXHR.then(function (result, textStatus, jqXHR){
dfd.resolve(result, textStatus, jqXHR);
},
function (jqXHR, textStatus, errorThrown){
dfd.reject(jqXHR, textStatus, errorThrown);
}
);
});
return this._enhancePromise(promise);
}
data.files=$.makeArray(data.files);
if(data.files.length){
return this._onSend(null, data);
}}
return this._getXHRPromise(false, data&&data.context);
}});
});
(function (factory){
'use strict';
if(typeof define==='function'&&define.amd){
define(['jquery', './jquery.fileupload'], factory);
}else if(typeof exports==='object'){
factory(require('jquery'), require('./jquery.fileupload'));
}else{
factory(window.jQuery);
}})(function ($){
'use strict';
var originalAdd=$.blueimp.fileupload.prototype.options.add;
$.widget('blueimp.fileupload', $.blueimp.fileupload, {
options: {
processQueue: [
],
add: function (e, data){
var $this=$(this);
data.process(function (){
return $this.fileupload('process', data);
});
originalAdd.call(this, e, data);
}},
processActions: {
},
_processFile: function (data, originalData){
var that=this,
dfd=$.Deferred().resolveWith(that, [data]),
chain=dfd.promise();
this._trigger('process', null, data);
$.each(data.processQueue, function (i, settings){
var func=function (data){
if(originalData.errorThrown){
return $.Deferred().rejectWith(that, [originalData]).promise();
}
return that.processActions[settings.action].call(that,
data,
settings
);
};
chain=chain[that._promisePipe](func, settings.always&&func);
});
chain
.done(function (){
that._trigger('processdone', null, data);
that._trigger('processalways', null, data);
})
.fail(function (){
that._trigger('processfail', null, data);
that._trigger('processalways', null, data);
});
return chain;
},
_transformProcessQueue: function (options){
var processQueue=[];
$.each(options.processQueue, function (){
var settings={},
action=this.action,
prefix=this.prefix===true ? action:this.prefix;
$.each(this, function (key, value){
if($.type(value)==='string'&&value.charAt(0)==='@'){
settings[key] =
options[
value.slice(1) ||
(prefix
? prefix + key.charAt(0).toUpperCase() + key.slice(1)
: key)
];
}else{
settings[key]=value;
}});
processQueue.push(settings);
});
options.processQueue=processQueue;
},
processing: function (){
return this._processing;
},
process: function (data){
var that=this,
options=$.extend({}, this.options, data);
if(options.processQueue&&options.processQueue.length){
this._transformProcessQueue(options);
if(this._processing===0){
this._trigger('processstart');
}
$.each(data.files, function (index){
var opts=index ? $.extend({}, options):options,
func=function (){
if(data.errorThrown){
return $.Deferred().rejectWith(that, [data]).promise();
}
return that._processFile(opts, data);
};
opts.index=index;
that._processing +=1;
that._processingQueue=that._processingQueue[that._promisePipe](
func,
func
).always(function (){
that._processing -=1;
if(that._processing===0){
that._trigger('processstop');
}});
});
}
return this._processingQueue;
},
_create: function (){
this._super();
this._processing=0;
this._processingQueue=$.Deferred().resolveWith(this).promise();
}});
});
(function (factory){
'use strict';
if(typeof define==='function'&&define.amd){
define(['jquery', './jquery.fileupload-process'], factory);
}else if(typeof exports==='object'){
factory(require('jquery'), require('./jquery.fileupload-process'));
}else{
factory(window.jQuery);
}})(function ($){
'use strict';
$.blueimp.fileupload.prototype.options.processQueue.push({
action: 'validate',
always: true,
acceptFileTypes: '@',
maxFileSize: '@',
minFileSize: '@',
maxNumberOfFiles: '@',
disabled: '@disableValidation'
});
$.widget('blueimp.fileupload', $.blueimp.fileupload, {
options: {
getNumberOfFiles: $.noop,
messages: {
maxNumberOfFiles: 'Maximum number of files exceeded',
acceptFileTypes: 'File type not allowed',
maxFileSize: 'File is too large',
minFileSize: 'File is too small'
}},
processActions: {
validate: function (data, options){
if(options.disabled){
return data;
}
var dfd=$.Deferred(),
settings=this.options,
file=data.files[data.index],
fileSize;
if(options.minFileSize||options.maxFileSize){
fileSize=file.size;
}
if($.type(options.maxNumberOfFiles)==='number' &&
(settings.getNumberOfFiles()||0) + data.files.length >
options.maxNumberOfFiles
){
file.error=settings.i18n('maxNumberOfFiles');
}else if(options.acceptFileTypes &&
!(
options.acceptFileTypes.test(file.type) ||
options.acceptFileTypes.test(file.name)
)
){
file.error=settings.i18n('acceptFileTypes');
}else if(fileSize > options.maxFileSize){
file.error=settings.i18n('maxFileSize');
}else if($.type(fileSize)==='number' &&
fileSize < options.minFileSize
){
file.error=settings.i18n('minFileSize');
}else{
delete file.error;
}
if(file.error||data.files.error){
data.files.error=true;
dfd.rejectWith(this, [data]);
}else{
dfd.resolveWith(this, [data]);
}
return dfd.promise();
}}
});
});
!function(n,t){var r,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("underscore",t):(n="undefined"!=typeof globalThis?globalThis:n||self,r=n._,(e=n._=t()).noConflict=function(){return n._=r,e})}(this,function(){var n="1.13.7",t="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},e=Array.prototype,V=Object.prototype,F="undefined"!=typeof Symbol?Symbol.prototype:null,P=e.push,f=e.slice,s=V.toString,q=V.hasOwnProperty,r="undefined"!=typeof ArrayBuffer,u="undefined"!=typeof DataView,U=Array.isArray,W=Object.keys,z=Object.create,L=r&&ArrayBuffer.isView,$=isNaN,C=isFinite,K=!{toString:null}.propertyIsEnumerable("toString"),J=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],G=Math.pow(2,53)-1;function l(u,o){return o=null==o?u.length-1:+o,function(){for(var n=Math.max(arguments.length-o,0),t=Array(n),r=0;r<n;r++)t[r]=arguments[r+o];switch(o){case 0:return u.call(this,t);case 1:return u.call(this,arguments[0],t);case 2:return u.call(this,arguments[0],arguments[1],t)}for(var e=Array(o+1),r=0;r<o;r++)e[r]=arguments[r];return e[o]=t,u.apply(this,e)}}function o(n){var t=typeof n;return"function"==t||"object"==t&&!!n}function H(n){return void 0===n}function Q(n){return!0===n||!1===n||"[object Boolean]"===s.call(n)}function i(n){var t="[object "+n+"]";return function(n){return s.call(n)===t}}var X=i("String"),Y=i("Number"),Z=i("Date"),nn=i("RegExp"),tn=i("Error"),rn=i("Symbol"),en=i("ArrayBuffer"),a=i("Function"),t=t.document&&t.document.childNodes,p=a="function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof t?function(n){return"function"==typeof n||!1}:a,t=i("Object"),un=u&&(!/\[native code\]/.test(String(DataView))||t(new DataView(new ArrayBuffer(8)))),a="undefined"!=typeof Map&&t(new Map),u=i("DataView");var h=un?function(n){return null!=n&&p(n.getInt8)&&en(n.buffer)}:u,v=U||i("Array");function y(n,t){return null!=n&&q.call(n,t)}var on=i("Arguments"),an=(!function(){on(arguments)||(on=function(n){return y(n,"callee")})}(),on);function fn(n){return Y(n)&&$(n)}function cn(n){return function(){return n}}function ln(t){return function(n){n=t(n);return"number"==typeof n&&0<=n&&n<=G}}function sn(t){return function(n){return null==n?void 0:n[t]}}var d=sn("byteLength"),pn=ln(d),hn=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var vn=r?function(n){return L?L(n)&&!h(n):pn(n)&&hn.test(s.call(n))}:cn(!1),g=sn("length");function yn(n,t){t=function(t){for(var r={},n=t.length,e=0;e<n;++e)r[t[e]]=!0;return{contains:function(n){return!0===r[n]},push:function(n){return r[n]=!0,t.push(n)}}}(t);var r=J.length,e=n.constructor,u=p(e)&&e.prototype||V,o="constructor";for(y(n,o)&&!t.contains(o)&&t.push(o);r--;)(o=J[r])in n&&n[o]!==u[o]&&!t.contains(o)&&t.push(o)}function b(n){if(!o(n))return[];if(W)return W(n);var t,r=[];for(t in n)y(n,t)&&r.push(t);return K&&yn(n,r),r}function dn(n,t){var r=b(t),e=r.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=r[o];if(t[i]!==u[i]||!(i in u))return!1}return!0}function m(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)}function gn(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,d(n))}m.VERSION=n,m.prototype.valueOf=m.prototype.toJSON=m.prototype.value=function(){return this._wrapped},m.prototype.toString=function(){return String(this._wrapped)};var bn="[object DataView]";function mn(n,t,r,e){var u;return n===t?0!==n||1/n==1/t:null!=n&&null!=t&&(n!=n?t!=t:("function"==(u=typeof n)||"object"==u||"object"==typeof t)&&function n(t,r,e,u){t instanceof m&&(t=t._wrapped);r instanceof m&&(r=r._wrapped);var o=s.call(t);if(o!==s.call(r))return!1;if(un&&"[object Object]"==o&&h(t)){if(!h(r))return!1;o=bn}switch(o){case"[object RegExp]":case"[object String]":return""+t==""+r;case"[object Number]":return+t!=+t?+r!=+r:0==+t?1/+t==1/r:+t==+r;case"[object Date]":case"[object Boolean]":return+t==+r;case"[object Symbol]":return F.valueOf.call(t)===F.valueOf.call(r);case"[object ArrayBuffer]":case bn:return n(gn(t),gn(r),e,u)}o="[object Array]"===o;if(!o&&vn(t)){var i=d(t);if(i!==d(r))return!1;if(t.buffer===r.buffer&&t.byteOffset===r.byteOffset)return!0;o=!0}if(!o){if("object"!=typeof t||"object"!=typeof r)return!1;var i=t.constructor,a=r.constructor;if(i!==a&&!(p(i)&&i instanceof i&&p(a)&&a instanceof a)&&"constructor"in t&&"constructor"in r)return!1}e=e||[];u=u||[];var f=e.length;for(;f--;)if(e[f]===t)return u[f]===r;e.push(t);u.push(r);if(o){if((f=t.length)!==r.length)return!1;for(;f--;)if(!mn(t[f],r[f],e,u))return!1}else{var c,l=b(t);if(f=l.length,b(r).length!==f)return!1;for(;f--;)if(c=l[f],!y(r,c)||!mn(t[c],r[c],e,u))return!1}e.pop();u.pop();return!0}(n,t,r,e))}function c(n){if(!o(n))return[];var t,r=[];for(t in n)r.push(t);return K&&yn(n,r),r}function jn(e){var u=g(e);return function(n){if(null==n)return!1;var t=c(n);if(g(t))return!1;for(var r=0;r<u;r++)if(!p(n[e[r]]))return!1;return e!==_n||!p(n[wn])}}var wn="forEach",t=["clear","delete"],u=["get","has","set"],U=t.concat(wn,u),_n=t.concat(u),r=["add"].concat(t,wn,"has"),u=a?jn(U):i("Map"),t=a?jn(_n):i("WeakMap"),U=a?jn(r):i("Set"),a=i("WeakSet");function j(n){for(var t=b(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=n[t[u]];return e}function An(n){for(var t={},r=b(n),e=0,u=r.length;e<u;e++)t[n[r[e]]]=r[e];return t}function xn(n){var t,r=[];for(t in n)p(n[t])&&r.push(t);return r.sort()}function Sn(f,c){return function(n){var t=arguments.length;if(c&&(n=Object(n)),!(t<2||null==n))for(var r=1;r<t;r++)for(var e=arguments[r],u=f(e),o=u.length,i=0;i<o;i++){var a=u[i];c&&void 0!==n[a]||(n[a]=e[a])}return n}}var On=Sn(c),w=Sn(b),Mn=Sn(c,!0);function En(n){var t;return o(n)?z?z(n):((t=function(){}).prototype=n,n=new t,t.prototype=null,n):{}}function Bn(n){return v(n)?n:[n]}function _(n){return m.toPath(n)}function Nn(n,t){for(var r=t.length,e=0;e<r;e++){if(null==n)return;n=n[t[e]]}return r?n:void 0}function In(n,t,r){n=Nn(n,_(t));return H(n)?r:n}function Tn(n){return n}function A(t){return t=w({},t),function(n){return dn(n,t)}}function kn(t){return t=_(t),function(n){return Nn(n,t)}}function x(u,o,n){if(void 0===o)return u;switch(null==n?3:n){case 1:return function(n){return u.call(o,n)};case 3:return function(n,t,r){return u.call(o,n,t,r)};case 4:return function(n,t,r,e){return u.call(o,n,t,r,e)}}return function(){return u.apply(o,arguments)}}function Dn(n,t,r){return null==n?Tn:p(n)?x(n,t,r):(o(n)&&!v(n)?A:kn)(n)}function Rn(n,t){return Dn(n,t,1/0)}function S(n,t,r){return m.iteratee!==Rn?m.iteratee(n,t):Dn(n,t,r)}function Vn(){}function Fn(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))}m.toPath=Bn,m.iteratee=Rn;var O=Date.now||function(){return(new Date).getTime()};function Pn(t){function r(n){return t[n]}var n="(?:"+b(t).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return e.test(n=null==n?"":""+n)?n.replace(u,r):n}}var r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},qn=Pn(r),r=Pn(An(r)),Un=m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Wn=/(.)^/,zn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Ln=/\\|'|\r|\n|\u2028|\u2029/g;function $n(n){return"\\"+zn[n]}var Cn=/^\s*(\w|\$)+\s*$/;var Kn=0;function Jn(n,t,r,e,u){return e instanceof t?(e=En(n.prototype),o(t=n.apply(e,u))?t:e):n.apply(r,u)}var M=l(function(u,o){function i(){for(var n=0,t=o.length,r=Array(t),e=0;e<t;e++)r[e]=o[e]===a?arguments[n++]:o[e];for(;n<arguments.length;)r.push(arguments[n++]);return Jn(u,i,this,this,r)}var a=M.placeholder;return i}),Gn=(M.placeholder=m,l(function(t,r,e){var u;if(p(t))return u=l(function(n){return Jn(t,u,r,this,e.concat(n))});throw new TypeError("Bind must be called on a function")})),E=ln(g);function B(n,t,r,e){if(e=e||[],t||0===t){if(t<=0)return e.concat(n)}else t=1/0;for(var u=e.length,o=0,i=g(n);o<i;o++){var a=n[o];if(E(a)&&(v(a)||an(a)))if(1<t)B(a,t-1,r,e),u=e.length;else for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else r||(e[u++]=a)}return e}var Hn=l(function(n,t){var r=(t=B(t,!1,!1)).length;if(r<1)throw new Error("bindAll must be passed function names");for(;r--;){var e=t[r];n[e]=Gn(n[e],n)}return n});var Qn=l(function(n,t,r){return setTimeout(function(){return n.apply(null,r)},t)}),Xn=M(Qn,m,1);function Yn(n){return function(){return!n.apply(this,arguments)}}function Zn(n,t){var r;return function(){return 0<--n&&(r=t.apply(this,arguments)),n<=1&&(t=null),r}}var nt=M(Zn,2);function tt(n,t,r){t=S(t,r);for(var e,u=b(n),o=0,i=u.length;o<i;o++)if(t(n[e=u[o]],e,n))return e}function rt(o){return function(n,t,r){t=S(t,r);for(var e=g(n),u=0<o?0:e-1;0<=u&&u<e;u+=o)if(t(n[u],u,n))return u;return-1}}var et=rt(1),ut=rt(-1);function ot(n,t,r,e){for(var u=(r=S(r,e,1))(t),o=0,i=g(n);o<i;){var a=Math.floor((o+i)/2);r(n[a])<u?o=a+1:i=a}return o}function it(o,i,a){return function(n,t,r){var e=0,u=g(n);if("number"==typeof r)0<o?e=0<=r?r:Math.max(r+u,e):u=0<=r?Math.min(r+1,u):r+u+1;else if(a&&r&&u)return n[r=a(n,t)]===t?r:-1;if(t!=t)return 0<=(r=i(f.call(n,e,u),fn))?r+e:-1;for(r=0<o?e:u-1;0<=r&&r<u;r+=o)if(n[r]===t)return r;return-1}}var at=it(1,et,ot),ft=it(-1,ut);function ct(n,t,r){t=(E(n)?et:tt)(n,t,r);if(void 0!==t&&-1!==t)return n[t]}function N(n,t,r){if(t=x(t,r),E(n))for(u=0,o=n.length;u<o;u++)t(n[u],u,n);else for(var e=b(n),u=0,o=e.length;u<o;u++)t(n[e[u]],e[u],n);return n}function I(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=t(n[a],a,n)}return o}function lt(f){return function(n,t,r,e){var u=3<=arguments.length;return function(n,t,r,e){var u=!E(n)&&b(n),o=(u||n).length,i=0<f?0:o-1;for(e||(r=n[u?u[i]:i],i+=f);0<=i&&i<o;i+=f){var a=u?u[i]:i;r=t(r,n[a],a,n)}return r}(n,x(t,e,4),r,u)}}var st=lt(1),pt=lt(-1);function T(n,e,t){var u=[];return e=S(e,t),N(n,function(n,t,r){e(n,t,r)&&u.push(n)}),u}function ht(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(!t(n[i],i,n))return!1}return!0}function vt(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(t(n[i],i,n))return!0}return!1}function k(n,t,r,e){return E(n)||(n=j(n)),0<=at(n,t,r="number"==typeof r&&!e?r:0)}var yt=l(function(n,r,e){var u,o;return p(r)?o=r:(r=_(r),u=r.slice(0,-1),r=r[r.length-1]),I(n,function(n){var t=o;if(!t){if(null==(n=u&&u.length?Nn(n,u):n))return;t=n[r]}return null==t?t:t.apply(n,e)})});function dt(n,t){return I(n,kn(t))}function gt(n,e,t){var r,u,o=-1/0,i=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&o<r&&(o=r);else e=S(e,t),N(n,function(n,t,r){u=e(n,t,r),(i<u||u===-1/0&&o===-1/0)&&(o=n,i=u)});return o}var bt=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function mt(n){return n?v(n)?f.call(n):X(n)?n.match(bt):E(n)?I(n,Tn):j(n):[]}function jt(n,t,r){if(null==t||r)return(n=E(n)?n:j(n))[Fn(n.length-1)];for(var e=mt(n),r=g(e),u=(t=Math.max(Math.min(t,r),0),r-1),o=0;o<t;o++){var i=Fn(o,u),a=e[o];e[o]=e[i],e[i]=a}return e.slice(0,t)}function D(o,t){return function(r,e,n){var u=t?[[],[]]:{};return e=S(e,n),N(r,function(n,t){t=e(n,t,r);o(u,n,t)}),u}}var wt=D(function(n,t,r){y(n,r)?n[r].push(t):n[r]=[t]}),_t=D(function(n,t,r){n[r]=t}),At=D(function(n,t,r){y(n,r)?n[r]++:n[r]=1}),xt=D(function(n,t,r){n[r?0:1].push(t)},!0);function St(n,t,r){return t in r}var Ot=l(function(n,t){var r={},e=t[0];if(null!=n){p(e)?(1<t.length&&(e=x(e,t[1])),t=c(n)):(e=St,t=B(t,!1,!1),n=Object(n));for(var u=0,o=t.length;u<o;u++){var i=t[u],a=n[i];e(a,i,n)&&(r[i]=a)}}return r}),Mt=l(function(n,r){var t,e=r[0];return p(e)?(e=Yn(e),1<r.length&&(t=r[1])):(r=I(B(r,!1,!1),String),e=function(n,t){return!k(r,t)}),Ot(n,e,t)});function Et(n,t,r){return f.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))}function Bt(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[0]:Et(n,n.length-t)}function R(n,t,r){return f.call(n,null==t||r?1:t)}var Nt=l(function(n,t){return t=B(t,!0,!0),T(n,function(n){return!k(t,n)})}),It=l(function(n,t){return Nt(n,t)});function Tt(n,t,r,e){Q(t)||(e=r,r=t,t=!1),null!=r&&(r=S(r,e));for(var u=[],o=[],i=0,a=g(n);i<a;i++){var f=n[i],c=r?r(f,i,n):f;t&&!r?(i&&o===c||u.push(f),o=c):r?k(o,c)||(o.push(c),u.push(f)):k(u,f)||u.push(f)}return u}var kt=l(function(n){return Tt(B(n,!0,!0))});function Dt(n){for(var t=n&&gt(n,g).length||0,r=Array(t),e=0;e<t;e++)r[e]=dt(n,e);return r}var Rt=l(Dt);function Vt(n,t){return n._chain?m(t).chain():t}function Ft(r){return N(xn(r),function(n){var t=m[n]=r[n];m.prototype[n]=function(){var n=[this._wrapped];return P.apply(n,arguments),Vt(this,t.apply(m,n))}}),m}N(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var r=e[t];m.prototype[t]=function(){var n=this._wrapped;return null!=n&&(r.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0]),Vt(this,n)}}),N(["concat","join","slice"],function(n){var t=e[n];m.prototype[n]=function(){var n=this._wrapped;return Vt(this,n=null!=n?t.apply(n,arguments):n)}});n=Ft({__proto__:null,VERSION:n,restArguments:l,isObject:o,isNull:function(n){return null===n},isUndefined:H,isBoolean:Q,isElement:function(n){return!(!n||1!==n.nodeType)},isString:X,isNumber:Y,isDate:Z,isRegExp:nn,isError:tn,isSymbol:rn,isArrayBuffer:en,isDataView:h,isArray:v,isFunction:p,isArguments:an,isFinite:function(n){return!rn(n)&&C(n)&&!isNaN(parseFloat(n))},isNaN:fn,isTypedArray:vn,isEmpty:function(n){var t;return null==n||("number"==typeof(t=g(n))&&(v(n)||X(n)||an(n))?0===t:0===g(b(n)))},isMatch:dn,isEqual:function(n,t){return mn(n,t)},isMap:u,isWeakMap:t,isSet:U,isWeakSet:a,keys:b,allKeys:c,values:j,pairs:function(n){for(var t=b(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=[t[u],n[t[u]]];return e},invert:An,functions:xn,methods:xn,extend:On,extendOwn:w,assign:w,defaults:Mn,create:function(n,t){return n=En(n),t&&w(n,t),n},clone:function(n){return o(n)?v(n)?n.slice():On({},n):n},tap:function(n,t){return t(n),n},get:In,has:function(n,t){for(var r=(t=_(t)).length,e=0;e<r;e++){var u=t[e];if(!y(n,u))return!1;n=n[u]}return!!r},mapObject:function(n,t,r){t=S(t,r);for(var e=b(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=t(n[a],a,n)}return o},identity:Tn,constant:cn,noop:Vn,toPath:Bn,property:kn,propertyOf:function(t){return null==t?Vn:function(n){return In(t,n)}},matcher:A,matches:A,times:function(n,t,r){var e=Array(Math.max(0,n));t=x(t,r,1);for(var u=0;u<n;u++)e[u]=t(u);return e},random:Fn,now:O,escape:qn,unescape:r,templateSettings:Un,template:function(o,n,t){n=Mn({},n=!n&&t?t:n,m.templateSettings);var r,t=RegExp([(n.escape||Wn).source,(n.interpolate||Wn).source,(n.evaluate||Wn).source].join("|")+"|$","g"),i=0,a="__p+='";if(o.replace(t,function(n,t,r,e,u){return a+=o.slice(i,u).replace(Ln,$n),i=u+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",t=n.variable){if(!Cn.test(t))throw new Error("variable is not a bare identifier: "+t)}else a="with(obj||{}){\n"+a+"}\n",t="obj";a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{r=new Function(t,"_",a)}catch(n){throw n.source=a,n}function e(n){return r.call(this,n,m)}return e.source="function("+t+"){\n"+a+"}",e},result:function(n,t,r){var e=(t=_(t)).length;if(!e)return p(r)?r.call(n):r;for(var u=0;u<e;u++){var o=null==n?void 0:n[t[u]];void 0===o&&(o=r,u=e),n=p(o)?o.call(n):o}return n},uniqueId:function(n){var t=++Kn+"";return n?n+t:t},chain:function(n){return(n=m(n))._chain=!0,n},iteratee:Rn,partial:M,bind:Gn,bindAll:Hn,memoize:function(e,u){function o(n){var t=o.cache,r=""+(u?u.apply(this,arguments):n);return y(t,r)||(t[r]=e.apply(this,arguments)),t[r]}return o.cache={},o},delay:Qn,defer:Xn,throttle:function(r,e,u){function o(){l=!1===u.leading?0:O(),i=null,c=r.apply(a,f),i||(a=f=null)}function n(){var n=O(),t=(l||!1!==u.leading||(l=n),e-(n-l));return a=this,f=arguments,t<=0||e<t?(i&&(clearTimeout(i),i=null),l=n,c=r.apply(a,f),i||(a=f=null)):i||!1===u.trailing||(i=setTimeout(o,t)),c}var i,a,f,c,l=0;return u=u||{},n.cancel=function(){clearTimeout(i),l=0,i=a=f=null},n},debounce:function(t,r,e){function u(){var n=O()-i;n<r?o=setTimeout(u,r-n):(o=null,e||(f=t.apply(c,a)),o||(a=c=null))}var o,i,a,f,c,n=l(function(n){return c=this,a=n,i=O(),o||(o=setTimeout(u,r),e&&(f=t.apply(c,a))),f});return n.cancel=function(){clearTimeout(o),o=a=c=null},n},wrap:function(n,t){return M(t,n)},negate:Yn,compose:function(){var r=arguments,e=r.length-1;return function(){for(var n=e,t=r[e].apply(this,arguments);n--;)t=r[n].call(this,t);return t}},after:function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},before:Zn,once:nt,findKey:tt,findIndex:et,findLastIndex:ut,sortedIndex:ot,indexOf:at,lastIndexOf:ft,find:ct,detect:ct,findWhere:function(n,t){return ct(n,A(t))},each:N,forEach:N,map:I,collect:I,reduce:st,foldl:st,inject:st,reduceRight:pt,foldr:pt,filter:T,select:T,reject:function(n,t,r){return T(n,Yn(S(t)),r)},every:ht,all:ht,some:vt,any:vt,contains:k,includes:k,include:k,invoke:yt,pluck:dt,where:function(n,t){return T(n,A(t))},max:gt,min:function(n,e,t){var r,u,o=1/0,i=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&r<o&&(o=r);else e=S(e,t),N(n,function(n,t,r){((u=e(n,t,r))<i||u===1/0&&o===1/0)&&(o=n,i=u)});return o},shuffle:function(n){return jt(n,1/0)},sample:jt,sortBy:function(n,e,t){var u=0;return e=S(e,t),dt(I(n,function(n,t,r){return{value:n,index:u++,criteria:e(n,t,r)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(e<r||void 0===r)return 1;if(r<e||void 0===e)return-1}return n.index-t.index}),"value")},groupBy:wt,indexBy:_t,countBy:At,partition:xt,toArray:mt,size:function(n){return null==n?0:(E(n)?n:b(n)).length},pick:Ot,omit:Mt,first:Bt,head:Bt,take:Bt,initial:Et,last:function(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[n.length-1]:R(n,Math.max(0,n.length-t))},rest:R,tail:R,drop:R,compact:function(n){return T(n,Boolean)},flatten:function(n,t){return B(n,t,!1)},without:It,uniq:Tt,unique:Tt,union:kt,intersection:function(n){for(var t=[],r=arguments.length,e=0,u=g(n);e<u;e++){var o=n[e];if(!k(t,o)){for(var i=1;i<r&&k(arguments[i],o);i++);i===r&&t.push(o)}}return t},difference:Nt,unzip:Dt,transpose:Dt,zip:Rt,object:function(n,t){for(var r={},e=0,u=g(n);e<u;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},range:function(n,t,r){null==t&&(t=n||0,n=0),r=r||(t<n?-1:1);for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),o=0;o<e;o++,n+=r)u[o]=n;return u},chunk:function(n,t){if(null==t||t<1)return[];for(var r=[],e=0,u=n.length;e<u;)r.push(f.call(n,e,e+=t));return r},mixin:Ft,default:m});return n._=n});
!function(n){var s="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(t,e,i){s.Backbone=n(s,i,t,e)});else if("undefined"!=typeof exports){var t,e=require("underscore");try{t=require("jquery")}catch(t){}n(s,exports,e,t)}else s.Backbone=n(s,{},s._,s.jQuery||s.Zepto||s.ender||s.$)}(function(t,h,b,e){function a(t,e,i,n,s){var r,o=0;if(i&&"object"==typeof i){void 0!==n&&"context"in s&&void 0===s.context&&(s.context=n);for(r=b.keys(i);o<r.length;o++)e=a(t,e,r[o],i[r[o]],s)}else if(i&&l.test(i))for(r=i.split(l);o<r.length;o++)e=t(e,r[o],n,s);else e=t(e,i,n,s);return e}function x(t,e,i){i=Math.min(Math.max(i,0),t.length);for(var n=Array(t.length-i),s=e.length,r=0;r<n.length;r++)n[r]=t[r+i];for(r=0;r<s;r++)t[r+i]=e[r];for(r=0;r<n.length;r++)t[r+s+i]=n[r]}function s(i,n,t,s){b.each(t,function(t,e){n[e]&&(i.prototype[e]=function(n,t,s,r){switch(t){case 1:return function(){return n[s](this[r])};case 2:return function(t){return n[s](this[r],t)};case 3:return function(t,e){return n[s](this[r],T(t,this),e)};case 4:return function(t,e,i){return n[s](this[r],T(t,this),e,i)};default:return function(){var t=u.call(arguments);return t.unshift(this[r]),n[s].apply(n,t)}}}(n,t,e,s))})}var o,i=t.Backbone,u=Array.prototype.slice,e=(h.VERSION="1.6.0",h.$=e,h.noConflict=function(){return t.Backbone=i,this},h.emulateHTTP=!1,h.emulateJSON=!1,h.Events={}),l=/\s+/,n=(e.on=function(t,e,i){return this._events=a(n,this._events||{},t,e,{context:i,ctx:this,listening:o}),o&&(((this._listeners||(this._listeners={}))[o.id]=o).interop=!1),this},e.listenTo=function(t,e,i){if(t){var n=t._listenId||(t._listenId=b.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),r=o=s[n],s=(r||(this._listenId||(this._listenId=b.uniqueId("l")),r=o=s[n]=new g(this,t)),c(t,e,i,this));if(o=void 0,s)throw s;r.interop&&r.on(e,i)}return this},function(t,e,i,n){var s,r;return i&&(e=t[e]||(t[e]=[]),s=n.context,r=n.ctx,(n=n.listening)&&n.count++,e.push({callback:i,context:s,ctx:s||r,listening:n})),t}),c=function(t,e,i,n){try{t.on(e,i,n)}catch(t){return t}},r=(e.off=function(t,e,i){return this._events&&(this._events=a(r,this._events,t,e,{context:i,listeners:this._listeners})),this},e.stopListening=function(t,e,i){var n=this._listeningTo;if(n){for(var s=t?[t._listenId]:b.keys(n),r=0;r<s.length;r++){var o=n[s[r]];if(!o)break;o.obj.off(e,i,this),o.interop&&o.off(e,i)}b.isEmpty(n)&&(this._listeningTo=void 0)}return this},function(t,e,i,n){if(t){var s,r=n.context,o=n.listeners,h=0;if(e||r||i){for(s=e?[e]:b.keys(t);h<s.length;h++){var a=t[e=s[h]];if(!a)break;for(var u=[],l=0;l<a.length;l++){var c=a[l];i&&i!==c.callback&&i!==c.callback._callback||r&&r!==c.context?u.push(c):(c=c.listening)&&c.off(e,i)}u.length?t[e]=u:delete t[e]}return t}for(s=b.keys(o);h<s.length;h++)o[s[h]].cleanup()}}),d=(e.once=function(t,e,i){var n=a(d,{},t,e,this.off.bind(this));return this.on(n,e="string"==typeof t&&null==i?void 0:e,i)},e.listenToOnce=function(t,e,i){e=a(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,e)},function(t,e,i,n){var s;return i&&((s=t[e]=b.once(function(){n(e,s),i.apply(this,arguments)}))._callback=i),t}),f=(e.trigger=function(t){if(this._events){for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];a(f,this._events,t,void 0,i)}return this},function(t,e,i,n){var s,r;return t&&(s=t[e],r=t.all,s&&(r=r&&r.slice()),s&&p(s,n),r)&&p(r,[e].concat(n)),t}),p=function(t,e){var i,n=-1,s=t.length,r=e[0],o=e[1],h=e[2];switch(e.length){case 0:for(;++n<s;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<s;)(i=t[n]).callback.call(i.ctx,r);return;case 2:for(;++n<s;)(i=t[n]).callback.call(i.ctx,r,o);return;case 3:for(;++n<s;)(i=t[n]).callback.call(i.ctx,r,o,h);return;default:for(;++n<s;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0},v=(g.prototype.on=e.on,g.prototype.off=function(t,e){t=this.interop?(this._events=a(r,this._events,t,e,{context:void 0,listeners:void 0}),!this._events):(this.count--,0===this.count);t&&this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},e.bind=e.on,e.unbind=e.off,b.extend(h,e),h.Model=function(t,e){var i=t||{},n=(e=e||{},this.preinitialize.apply(this,arguments),this.cid=b.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(i=this.parse(i,e)||{}),b.result(this,"defaults")),i=b.defaults(b.extend({},n,i),n);this.set(i,e),this.changed={},this.initialize.apply(this,arguments)}),m=(b.extend(v.prototype,e,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return b.clone(this.attributes)},sync:function(){return h.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return b.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!b.iteratee(t,this)(this.attributes)},set:function(t,e,i){if(null!=t){var n;if("object"==typeof t?(n=t,i=e):(n={})[t]=e,!this._validate(n,i=i||{}))return!1;var s,r,o=i.unset,t=i.silent,h=[],a=this._changing,u=(this._changing=!0,a||(this._previousAttributes=b.clone(this.attributes),this.changed={}),this.attributes),l=this.changed,c=this._previousAttributes;for(s in n)e=n[s],b.isEqual(u[s],e)||h.push(s),b.isEqual(c[s],e)?delete l[s]:l[s]=e,o?delete u[s]:u[s]=e;if(this.idAttribute in n&&(r=this.id,this.id=this.get(this.idAttribute),this.trigger("changeId",this,r,i)),!t){h.length&&(this._pending=i);for(var d=0;d<h.length;d++)this.trigger("change:"+h[d],this,u[h[d]],i)}if(!a){if(!t)for(;this._pending;)i=this._pending,this._pending=!1,this.trigger("change",this,i);this._pending=!1,this._changing=!1}}return this},unset:function(t,e){return this.set(t,void 0,b.extend({},e,{unset:!0}))},clear:function(t){var e,i={};for(e in this.attributes)i[e]=void 0;return this.set(i,b.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!b.isEmpty(this.changed):b.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&b.clone(this.changed);var e,i,n=this._changing?this._previousAttributes:this.attributes,s={};for(i in t){var r=t[i];b.isEqual(n[i],r)||(s[i]=r,e=!0)}return!!e&&s},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return b.clone(this._previousAttributes)},fetch:function(i){i=b.extend({parse:!0},i);var n=this,s=i.success;return i.success=function(t){var e=i.parse?n.parse(t,i):t;if(!n.set(e,i))return!1;s&&s.call(i.context,n,t,i),n.trigger("sync",n,t,i)},N(this,i),this.sync("read",this,i)},save:function(t,e,i){null==t||"object"==typeof t?(n=t,i=e):(n={})[t]=e;var n,s=(i=b.extend({validate:!0,parse:!0},i)).wait;if(n&&!s){if(!this.set(n,i))return!1}else if(!this._validate(n,i))return!1;var r=this,o=i.success,h=this.attributes,t=(i.success=function(t){r.attributes=h;var e=i.parse?r.parse(t,i):t;if((e=s?b.extend({},n,e):e)&&!r.set(e,i))return!1;o&&o.call(i.context,r,t,i),r.trigger("sync",r,t,i)},N(this,i),n&&s&&(this.attributes=b.extend({},h,n)),this.isNew()?"create":i.patch?"patch":"update"),e=("patch"!=t||i.attrs||(i.attrs=n),this.sync(t,this,i));return this.attributes=h,e},destroy:function(e){e=e?b.clone(e):{};function i(){n.stopListening(),n.trigger("destroy",n,n.collection,e)}var n=this,s=e.success,r=e.wait,t=!(e.success=function(t){r&&i(),s&&s.call(e.context,n,t,e),n.isNew()||n.trigger("sync",n,t,e)});return this.isNew()?b.defer(e.success):(N(this,e),t=this.sync("delete",this,e)),r||i(),t},url:function(){var t,e=b.result(this,"urlRoot")||b.result(this.collection,"url")||M();return this.isNew()?e:(t=this.get(this.idAttribute),e.replace(/[^\/]$/,"$&/")+encodeURIComponent(t))},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},b.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=b.extend({},this.attributes,t);t=this.validationError=this.validate(t,e)||null;return!t||(this.trigger("invalid",this,t,b.extend(e,{validationError:t})),!1)}}),h.Collection=function(t,e){e=e||{},this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,b.extend({silent:!0},e))}),w={add:!0,remove:!0,merge:!0},_={add:!0,remove:!1},y=(b.extend(m.prototype,e,{model:v,preinitialize:function(){},initialize:function(){},toJSON:function(e){return this.map(function(t){return t.toJSON(e)})},sync:function(){return h.sync.apply(this,arguments)},add:function(t,e){return this.set(t,b.extend({merge:!1},e,_))},remove:function(t,e){e=b.extend({},e);var i=!b.isArray(t),t=(t=i?[t]:t.slice(),this._removeModels(t,e));return!e.silent&&t.length&&(e.changes={added:[],merged:[],removed:t},this.trigger("update",this,e)),i?t[0]:t},set:function(t,e){if(null!=t){(e=b.extend({},w,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);for(var i=!b.isArray(t),n=(t=i?[t]:t.slice(),e.at),s=((n=(n=null!=n?+n:n)>this.length?this.length:n)<0&&(n+=this.length+1),[]),r=[],o=[],h=[],a={},u=e.add,l=e.merge,c=e.remove,d=!1,f=this.comparator&&null==n&&!1!==e.sort,p=b.isString(this.comparator)?this.comparator:null,g=0;g<t.length;g++){var v,m=t[g],_=this.get(m);_?(l&&m!==_&&(v=this._isModel(m)?m.attributes:m,e.parse&&(v=_.parse(v,e)),_.set(v,e),o.push(_),f)&&!d&&(d=_.hasChanged(p)),a[_.cid]||(a[_.cid]=!0,s.push(_)),t[g]=_):u&&(m=t[g]=this._prepareModel(m,e))&&(r.push(m),this._addReference(m,e),a[m.cid]=!0,s.push(m))}if(c){for(g=0;g<this.length;g++)a[(m=this.models[g]).cid]||h.push(m);h.length&&this._removeModels(h,e)}var y=!1;if(s.length&&(!f&&u&&c)?(y=this.length!==s.length||b.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):r.length&&(f&&(d=!0),x(this.models,r,null==n?this.length:n),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(g=0;g<r.length;g++)null!=n&&(e.index=n+g),(m=r[g]).trigger("add",m,this,e);(d||y)&&this.trigger("sort",this,e),(r.length||h.length||o.length)&&(e.changes={added:r,removed:h,merged:o},this.trigger("update",this,e))}return i?t[0]:t}},reset:function(t,e){e=e?b.clone(e):{};for(var i=0;i<this.models.length;i++)this._removeReference(this.models[i],e);return e.previousModels=this.models,this._reset(),t=this.add(t,b.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,b.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,b.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return u.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t,t.idAttribute)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t=t||{};var i=e.length;return b.isFunction(e)&&(e=e.bind(this)),1===i||b.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(i){var n=(i=b.extend({parse:!0},i)).success,s=this;return i.success=function(t){var e=i.reset?"reset":"set";s[e](t,i),n&&n.call(i.context,s,t,i),s.trigger("sync",s,t,i)},N(this,i),this.sync("read",this,i)},create:function(t,e){var n=(e=e?b.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var s=this,r=e.success;return e.success=function(t,e,i){n&&(t.off("error",s._forwardPristineError,s),s.add(t,i)),r&&r.call(i.context,t,e,i)},n&&t.once("error",this._forwardPristineError,this),t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t,e){return t[e||this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,S)},keys:function(){return new E(this,I)},entries:function(){return new E(this,k)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){return this._isModel(t)?(t.collection||(t.collection=this),t):(t=((e=e?b.clone(e):{}).collection=this).model.prototype?new this.model(t,e):this.model(t,e)).validationError?(this.trigger("invalid",this,t.validationError,e),!1):t},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var s,r,o=this.get(t[n]);o&&(s=this.indexOf(o),this.models.splice(s,1),this.length--,delete this._byId[o.cid],null!=(r=this.modelId(o.attributes,o.idAttribute))&&delete this._byId[r],e.silent||(e.index=s,o.trigger("remove",o,this,e)),i.push(o),this._removeReference(o,e))}return 0<t.length&&!e.silent&&delete e.index,i},_isModel:function(t){return t instanceof v},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes,t.idAttribute);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes,t.idAttribute);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;var s,r;"destroy"===t&&this.remove(e,n),"changeId"===t&&(s=this.modelId(e.previousAttributes(),e.idAttribute),r=this.modelId(e.attributes,e.idAttribute),null!=s&&delete this._byId[s],null!=r)&&(this._byId[r]=e)}this.trigger.apply(this,arguments)},_forwardPristineError:function(t,e,i){this.has(t)||this._onModelEvent("error",t,e,i)}}),"function"==typeof Symbol&&Symbol.iterator),E=(y&&(m.prototype[y]=m.prototype.values),function(t,e){this._collection=t,this._kind=e,this._index=0}),S=1,I=2,k=3,y=(y&&(E.prototype[y]=function(){return this}),E.prototype.next=function(){if(this._collection){var t,e;if(this._index<this._collection.length)return t=this._collection.at(this._index),this._index++,{value:this._kind===S?t:(e=this._collection.modelId(t.attributes,t.idAttribute),this._kind===I?e:[e,t]),done:!1};this._collection=void 0}return{value:void 0,done:!0}},h.View=function(t){this.cid=b.uniqueId("view"),this.preinitialize.apply(this,arguments),b.extend(this,b.pick(t,P)),this._ensureElement(),this.initialize.apply(this,arguments)}),A=/^(\S+)\s*(.*)$/,P=["model","collection","el","id","attributes","className","tagName","events"],T=(b.extend(y.prototype,e,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof h.$?t:h.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t=t||b.result(this,"events"))for(var e in this.undelegateEvents(),t){var i=t[e];(i=b.isFunction(i)?i:this[i])&&(e=e.match(A),this.delegate(e[1],e[2],i.bind(this)))}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){var t;this.el?this.setElement(b.result(this,"el")):(t=b.extend({},b.result(this,"attributes")),this.id&&(t.id=b.result(this,"id")),this.className&&(t.class=b.result(this,"className")),this.setElement(this._createElement(b.result(this,"tagName"))),this._setAttributes(t))},_setAttributes:function(t){this.$el.attr(t)}}),function(e,t){return b.isFunction(e)?e:b.isObject(e)&&!t._isModel(e)?H(e):b.isString(e)?function(t){return t.get(e)}:e}),H=function(t){var e=b.matches(t);return function(t){return e(t.attributes)}},$=(b.each([[m,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[v,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var i=t[0],e=t[1],n=t[2];i.mixin=function(t){var e=b.reduce(b.functions(t),function(t,e){return t[e]=0,t},{});s(i,t,e,n)},s(i,b,e,n)}),h.sync=function(t,e,n){var i,s=$[t],r=(b.defaults(n=n||{},{emulateHTTP:h.emulateHTTP,emulateJSON:h.emulateJSON}),{type:s,dataType:"json"}),o=(n.url||(r.url=b.result(e,"url")||M()),null!=n.data||!e||"create"!==t&&"update"!==t&&"patch"!==t||(r.contentType="application/json",r.data=JSON.stringify(n.attrs||e.toJSON(n))),n.emulateJSON&&(r.contentType="application/x-www-form-urlencoded",r.data=r.data?{model:r.data}:{}),!n.emulateHTTP||"PUT"!==s&&"DELETE"!==s&&"PATCH"!==s||(r.type="POST",n.emulateJSON&&(r.data._method=s),i=n.beforeSend,n.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),i)return i.apply(this,arguments)}),"GET"===r.type||n.emulateJSON||(r.processData=!1),n.error),t=(n.error=function(t,e,i){n.textStatus=e,n.errorThrown=i,o&&o.call(n.context,t,e,i)},n.xhr=h.ajax(b.extend(r,n)));return e.trigger("request",e,t,n),t},{create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"}),C=(h.ajax=function(){return h.$.ajax.apply(h.$,arguments)},h.Router=function(t){t=t||{},this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)}),j=/\((.*?)\)/g,O=/(\(\?)?:\w+/g,U=/\*\w+/g,z=/[\-{}\[\]+?.,\\\^$|#\s]/g,R=(b.extend(C.prototype,e,{preinitialize:function(){},initialize:function(){},route:function(e,i,n){b.isRegExp(e)||(e=this._routeToRegExp(e)),b.isFunction(i)&&(n=i,i=""),n=n||this[i];var s=this;return h.history.route(e,function(t){t=s._extractParameters(e,t);!1!==s.execute(n,t,i)&&(s.trigger.apply(s,["route:"+i].concat(t)),s.trigger("route",i,t),h.history.trigger("route",s,i,t))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,e){return h.history.navigate(t,e),this},_bindRoutes:function(){if(this.routes){this.routes=b.result(this,"routes");for(var t,e=b.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(z,"\\$&").replace(j,"(?:$1)?").replace(O,function(t,e){return e?t:"([^/?]+)"}).replace(U,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var i=t.exec(e).slice(1);return b.map(i,function(t,e){return e===i.length-1?t||null:t?decodeURIComponent(t):null})}}),h.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)}),q=/^[#\/]|\s+$/g,F=/^\/+|\/+$/g,B=/#.*$/,M=(R.started=!1,b.extend(R.prototype,e,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){t=(t||this).location.href.match(/#(.*)$/);return t?t[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return(t=null==t?this._usePushState||!this._wantsHashChange?this.getPath():this.getHash():t).replace(q,"")},start:function(t){if(R.started)throw new Error("Backbone.history has already been started");if(R.started=!0,this.options=b.extend({root:"/"},this.options,t),this.root=this.options.root,this._trailingSlash=this.options.trailingSlash,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(F,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot())return t=this.root.slice(0,-1)||"/",this.location.replace(t+"#"+this.getPath()),!0;this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}this._hasHashChange||!this._wantsHashChange||this._usePushState||(this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1,(t=(t=document.body).insertBefore(this.iframe,t.firstChild).contentWindow).document.open(),t.document.close(),t.location.hash="#"+this.fragment);t=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?t("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),R.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if((e=e===this.fragment&&this.iframe?this.getHash(this.iframe.contentWindow):e)===this.fragment)return!this.matchRoot()&&this.notfound();this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(e){return this.matchRoot()&&(e=this.fragment=this.getFragment(e),b.some(this.handlers,function(t){if(t.route.test(e))return t.callback(e),!0}))||this.notfound()},notfound:function(){return this.trigger("notfound"),!1},navigate:function(t,e){if(!R.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root,i=(i=this._trailingSlash||""!==t&&"?"!==t.charAt(0)?i:i.slice(0,-1)||"/")+t,n=(t=t.replace(B,""),this.decodeFragment(t));if(this.fragment!==n){if(this.fragment=n,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,i);else{if(!this._wantsHashChange)return this.location.assign(i);this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)&&(n=this.iframe.contentWindow,e.replace||(n.document.open(),n.document.close()),this._updateHash(n.location,t,e.replace))}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){i?(i=t.href.replace(/(javascript:|#).*$/,""),t.replace(i+"#"+e)):t.hash="#"+e}}),h.history=new R,v.extend=m.extend=C.extend=y.extend=R.extend=function(t,e){var i=this,n=t&&b.has(t,"constructor")?t.constructor:function(){return i.apply(this,arguments)};return b.extend(n,i,e),n.prototype=b.create(i.prototype,t),(n.prototype.constructor=n).__super__=i.prototype,n},function(){throw new Error('A "url" property or function must be specified')}),N=function(e,i){var n=i.error;i.error=function(t){n&&n.call(i.context,e,t,i),e.trigger("error",e,t,i)}};return h._debug=function(){return{root:t,_:b}},h});
(function(t,e){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(i,n){return t.Marionette=t.Mn=e(t,i,n)});else if("undefined"!=typeof exports){var i=require("backbone"),n=require("underscore");module.exports=e(t,i,n)}else t.Marionette=t.Mn=e(t,t.Backbone,t._)})(this,function(t,e,i){"use strict";(function(t,e){var i=t.ChildViewContainer;return t.ChildViewContainer=function(t,e){var i=function(t){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),e.each(t,this.add,this)};e.extend(i.prototype,{add:function(t,e){var i=t.cid;return this._views[i]=t,t.model&&(this._indexByModel[t.model.cid]=i),e&&(this._indexByCustom[e]=i),this._updateLength(),this},findByModel:function(t){return this.findByModelCid(t.cid)},findByModelCid:function(t){var e=this._indexByModel[t];return this.findByCid(e)},findByCustom:function(t){var e=this._indexByCustom[t];return this.findByCid(e)},findByIndex:function(t){return e.values(this._views)[t]},findByCid:function(t){return this._views[t]},remove:function(t){var i=t.cid;return t.model&&delete this._indexByModel[t.model.cid],e.any(this._indexByCustom,function(t,e){return t===i?(delete this._indexByCustom[e],!0):void 0},this),delete this._views[i],this._updateLength(),this},call:function(t){this.apply(t,e.tail(arguments))},apply:function(t,i){e.each(this._views,function(n){e.isFunction(n[t])&&n[t].apply(n,i||[])})},_updateLength:function(){this.length=e.size(this._views)}});var n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck","reduce"];return e.each(n,function(t){i.prototype[t]=function(){var i=e.values(this._views),n=[i].concat(e.toArray(arguments));return e[t].apply(e,n)}}),i}(t,e),t.ChildViewContainer.VERSION="0.1.7",t.ChildViewContainer.noConflict=function(){return t.ChildViewContainer=i,this},t.ChildViewContainer})(e,i),function(t,e){var i=t.Wreqr,n=t.Wreqr={};return t.Wreqr.VERSION="1.3.3",t.Wreqr.noConflict=function(){return t.Wreqr=i,this},n.Handlers=function(t,e){var i=function(t){this.options=t,this._wreqrHandlers={},e.isFunction(this.initialize)&&this.initialize(t)};return i.extend=t.Model.extend,e.extend(i.prototype,t.Events,{setHandlers:function(t){e.each(t,function(t,i){var n=null;e.isObject(t)&&!e.isFunction(t)&&(n=t.context,t=t.callback),this.setHandler(i,t,n)},this)},setHandler:function(t,e,i){var n={callback:e,context:i};this._wreqrHandlers[t]=n,this.trigger("handler:add",t,e,i)},hasHandler:function(t){return!!this._wreqrHandlers[t]},getHandler:function(t){var e=this._wreqrHandlers[t];if(e)return function(){return e.callback.apply(e.context,arguments)}},removeHandler:function(t){delete this._wreqrHandlers[t]},removeAllHandlers:function(){this._wreqrHandlers={}}}),i}(t,e),n.CommandStorage=function(){var i=function(t){this.options=t,this._commands={},e.isFunction(this.initialize)&&this.initialize(t)};return e.extend(i.prototype,t.Events,{getCommands:function(t){var e=this._commands[t];return e||(e={command:t,instances:[]},this._commands[t]=e),e},addCommand:function(t,e){var i=this.getCommands(t);i.instances.push(e)},clearCommands:function(t){var e=this.getCommands(t);e.instances=[]}}),i}(),n.Commands=function(t,e){return t.Handlers.extend({storageType:t.CommandStorage,constructor:function(e){this.options=e||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this),t.Handlers.prototype.constructor.apply(this,arguments)},execute:function(t){t=arguments[0];var i=e.rest(arguments);this.hasHandler(t)?this.getHandler(t).apply(this,i):this.storage.addCommand (t,i)},_executeCommands:function(t,i,n){var r=this.storage.getCommands(t);e.each(r.instances,function(t){i.apply(n,t)}),this.storage.clearCommands(t)},_initializeStorage:function(t){var i,n=t.storageType||this.storageType;i=e.isFunction(n)?new n:n,this.storage=i}})}(n,e),n.RequestResponse=function(t,e){return t.Handlers.extend({request:function(t){return this.hasHandler(t)?this.getHandler(t).apply(this,e.rest(arguments)):void 0}})}(n,e),n.EventAggregator=function(t,e){var i=function(){};return i.extend=t.Model.extend,e.extend(i.prototype,t.Events),i}(t,e),n.Channel=function(){var i=function(e){this.vent=new t.Wreqr.EventAggregator,this.reqres=new t.Wreqr.RequestResponse,this.commands=new t.Wreqr.Commands,this.channelName=e};return e.extend(i.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(t,e){return this._connect("vent",t,e),this},connectCommands:function(t,e){return this._connect("commands",t,e),this},connectRequests:function(t,e){return this._connect("reqres",t,e),this},_connect:function(t,i,n){if(i){n=n||this;var r="vent"===t?"on":"setHandler";e.each(i,function(i,s){this[t][r](s,e.bind(i,n))},this)}}}),i}(n),n.radio=function(t,e){var i=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};e.extend(i.prototype,{channel:function(t){if(!t)throw Error("Channel must receive a name");return this._getChannel(t)},_getChannel:function(e){var i=this._channels[e];return i||(i=new t.Channel(e),this._channels[e]=i),i},_proxyMethods:function(){e.each(["vent","commands","reqres"],function(t){e.each(n[t],function(e){this[t][e]=r(this,t,e)},this)},this)}});var n={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},r=function(t,i,n){return function(r){var s=t._getChannel(r)[i];return s[n].apply(s,e.rest(arguments))}};return new i}(n,e),t.Wreqr}(e,i);var n=t.Marionette,r=t.Mn,s=e.Marionette={};s.VERSION="2.4.2",s.noConflict=function(){return t.Marionette=n,t.Mn=r,this},e.Marionette=s,s.Deferred=e.$.Deferred,s.extend=e.Model.extend,s.isNodeAttached=function(t){return e.$.contains(document.documentElement,t)},s.mergeOptions=function(t,e){t&&i.extend(this,i.pick(t,e))},s.getOption=function(t,e){return t&&e?t.options&&void 0!==t.options[e]?t.options[e]:t[e]:void 0},s.proxyGetOption=function(t){return s.getOption(this,t)},s._getValue=function(t,e,n){return i.isFunction(t)&&(t=n?t.apply(e,n):t.call(e)),t},s.normalizeMethods=function(t){return i.reduce(t,function(t,e,n){return i.isFunction(e)||(e=this[e]),e&&(t[n]=e),t},{},this)},s.normalizeUIString=function(t,e){return t.replace(/@ui\.[a-zA-Z_$0-9]*/g,function(t){return e[t.slice(4)]})},s.normalizeUIKeys=function(t,e){return i.reduce(t,function(t,i,n){var r=s.normalizeUIString(n,e);return t[r]=i,t},{})},s.normalizeUIValues=function(t,e,n){return i.each(t,function(r,o){i.isString(r)?t[o]=s.normalizeUIString(r,e):i.isObject(r)&&i.isArray(n)&&(i.extend(r,s.normalizeUIValues(i.pick(r,n),e)),i.each(n,function(t){var n=r[t];i.isString(n)&&(r[t]=s.normalizeUIString(n,e))}))}),t},s.actAsCollection=function(t,e){var n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];i.each(n,function(n){t[n]=function(){var t=i.values(i.result(this,e)),r=[t].concat(i.toArray(arguments));return i[n].apply(i,r)}})};var o=s.deprecate=function(t,e){i.isObject(t)&&(t=t.prev+" is going to be removed in the future. "+"Please use "+t.next+" instead."+(t.url?" See: "+t.url:"")),void 0!==e&&e||o._cache[t]||(o._warn("Deprecation warning: "+t),o._cache[t]=!0)};o._warn="undefined"!=typeof console&&(console.warn||console.log)||function(){},o._cache={},s._triggerMethod=function(){function t(t,e,i){return i.toUpperCase()}var e=/(^|:)(\w)/gi;return function(n,r,s){var o=3>arguments.length;o&&(s=r,r=s[0]);var h,a="on"+r.replace(e,t),d=n[a];return i.isFunction(d)&&(h=d.apply(n,o?i.rest(s):s)),i.isFunction(n.trigger)&&(o+s.length>1?n.trigger.apply(n,o?s:[r].concat(i.drop(s,0))):n.trigger(r)),h}}(),s.triggerMethod=function(){return s._triggerMethod(this,arguments)},s.triggerMethodOn=function(t){var e=i.isFunction(t.triggerMethod)?t.triggerMethod:s.triggerMethod;return e.apply(t,i.rest(arguments))},s.MonitorDOMRefresh=function(t){function e(){t._isShown=!0,r()}function n(){t._isRendered=!0,r()}function r(){t._isShown&&t._isRendered&&s.isNodeAttached(t.el)&&i.isFunction(t.triggerMethod)&&t.triggerMethod("dom:refresh")}t.on({show:e,render:n})},function(t){function e(e,n,r,s){var o=s.split(/\s+/);i.each(o,function(i){var s=e[i];if(!s)throw new t.Error('Method "'+i+'" was configured as an event handler, but does not exist.');e.listenTo(n,r,s)})}function n(t,e,i,n){t.listenTo(e,i,n)}function r(t,e,n,r){var s=r.split(/\s+/);i.each(s,function(i){var r=t[i];t.stopListening(e,n,r)})}function s(t,e,i,n){t.stopListening(e,i,n)}function o(e,n,r,s,o){if(n&&r){if(!i.isObject(r))throw new t.Error({message:"Bindings must be an object or function.",url:"marionette.functions.html#marionettebindentityevents"});r=t._getValue(r,e),i.each(r,function(t,r){i.isFunction(t)?s(e,n,r,t):o(e,n,r,t)})}}t.bindEntityEvents=function(t,i,r){o(t,i,r,n,e)},t.unbindEntityEvents=function(t,e,i){o(t,e,i,s,r)},t.proxyBindEntityEvents=function(e,i){return t.bindEntityEvents(this,e,i)},t.proxyUnbindEntityEvents=function(e,i){return t.unbindEntityEvents(this,e,i)}}(s);var h=["description","fileName","lineNumber","name","message","number"];return s.Error=s.extend.call(Error,{urlRoot:"http://marionettejs.com/docs/v"+s.VERSION+"/",constructor:function(t,e){i.isObject(t)?(e=t,t=e.message):e||(e={});var n=Error.call(this,t);i.extend(this,i.pick(n,h),i.pick(e,h)),this.captureStackTrace(),e.url&&(this.url=this.urlRoot+e.url)},captureStackTrace:function(){Error.captureStackTrace&&Error.captureStackTrace(this,s.Error)},toString:function(){return this.name+": "+this.message+(this.url?" See: "+this.url:"")}}),s.Error.extend=s.extend,s.Callbacks=function(){this._deferred=s.Deferred(),this._callbacks=[]},i.extend(s.Callbacks.prototype,{add:function(t,e){var n=i.result(this._deferred,"promise");this._callbacks.push({cb:t,ctx:e}),n.then(function(i){e&&(i.context=e),t.call(i.context,i.options)})},run:function(t,e){this._deferred.resolve({options:t,context:e})},reset:function(){var t=this._callbacks;this._deferred=s.Deferred(),this._callbacks=[],i.each(t,function(t){this.add(t.cb,t.ctx)},this)}}),s.Controller=function(t){this.options=t||{},i.isFunction(this.initialize)&&this.initialize(this.options)},s.Controller.extend=s.extend,i.extend(s.Controller.prototype,e.Events,{destroy:function(){return s._triggerMethod(this,"before:destroy",arguments),s._triggerMethod(this,"destroy",arguments),this.stopListening(),this.off(),this},triggerMethod:s.triggerMethod,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption}),s.Object=function(t){this.options=i.extend({},i.result(this,"options"),t),this.initialize.apply(this,arguments)},s.Object.extend=s.extend,i.extend(s.Object.prototype,e.Events,{initialize:function(){},destroy:function(){return this.triggerMethod("before:destroy"),this.triggerMethod("destroy"),this.stopListening(),this},triggerMethod:s.triggerMethod,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.Region=s.Object.extend({constructor:function(t){if(this.options=t||{},this.el=this.getOption("el"),this.el=this.el instanceof e.$?this.el[0]:this.el,!this.el)throw new s.Error({name:"NoElError",message:'An "el" must be specified for a region.'});this.$el=this.getEl(this.el),s.Object.call(this,t)},show:function(t,e){if(this._ensureElement()){this._ensureViewIsIntact(t);var n=e||{},r=t!==this.currentView,o=!!n.preventDestroy,h=!!n.forceShow,a=!!this.currentView,d=r&&!o,l=r||h;if(a&&this.triggerMethod("before:swapOut",this.currentView,this,e),this.currentView&&delete this.currentView._parent,d?this.empty():a&&l&&this.currentView.off("destroy",this.empty,this),l){t.once("destroy",this.empty,this),t.render(),t._parent=this,a&&this.triggerMethod("before:swap",t,this,e),this.triggerMethod("before:show",t,this,e),s.triggerMethodOn(t,"before:show",t,this,e),a&&this.triggerMethod("swapOut",this.currentView,this,e);var c=s.isNodeAttached(this.el),u=[],g=i.extend({triggerBeforeAttach:this.triggerBeforeAttach,triggerAttach:this.triggerAttach},n);return c&&g.triggerBeforeAttach&&(u=this._displayedViews(t),this._triggerAttach(u,"before:")),this.attachHtml(t),this.currentView=t,c&&g.triggerAttach&&(u=this._displayedViews(t),this._triggerAttach(u)),a&&this.triggerMethod("swap",t,this,e),this.triggerMethod("show",t,this,e),s.triggerMethodOn(t,"show",t,this,e),this}return this}},triggerBeforeAttach:!0,triggerAttach:!0,_triggerAttach:function(t,e){var n=(e||"")+"attach";i.each(t,function(t){s.triggerMethodOn(t,n,t,this)},this)},_displayedViews:function(t){return i.union([t],i.result(t,"_getNestedViews")||[])},_ensureElement:function(){if(i.isObject(this.el)||(this.$el=this.getEl(this.el),this.el=this.$el[0]),!this.$el||0===this.$el.length){if(this.getOption("allowMissingEl"))return!1;throw new s.Error('An "el" '+this.$el.selector+" must exist in DOM")}return!0},_ensureViewIsIntact:function(t){if(!t)throw new s.Error({name:"ViewNotValid",message:"The view passed is undefined and therefore invalid. You must pass a view instance to show."});if(t.isDestroyed)throw new s.Error({name:"ViewDestroyedError",message:'View (cid: "'+t.cid+'") has already been destroyed and cannot be used.'})},getEl:function(t){return e.$(t,s._getValue(this.options.parentEl,this))},attachHtml:function(t){this.$el.contents().detach(),this.el.appendChild(t.el)},empty:function(t){var e=this.currentView,i=s._getValue(t,"preventDestroy",this);return e?(e.off("destroy",this.empty,this),this.triggerMethod("before:empty",e),i||this._destroyView(),this.triggerMethod("empty",e),delete this.currentView,i&&this.$el.contents().detach(),this):void 0},_destroyView:function(){var t=this.currentView;t.destroy&&!t.isDestroyed?t.destroy():t.remove&&(t.remove(),t.isDestroyed=!0)},attachView:function(t){return this.currentView=t,this},hasView:function(){return!!this.currentView},reset:function(){return this.empty(),this.$el&&(this.el=this.getOption('el')),delete this.$el,this}},{buildRegion:function(t,e){if(i.isString(t))return this._buildRegionFromSelector(t,e);if(t.selector||t.el||t.regionClass)return this._buildRegionFromObject(t,e);if(i.isFunction(t))return this._buildRegionFromRegionClass(t);throw new s.Error({message:"Improper region configuration type.",url:"marionette.region.html#region-configuration-types"})},_buildRegionFromSelector:function(t,e){return new e({el:t})},_buildRegionFromObject:function(t,e){var n=t.regionClass||e,r=i.omit(t,"selector","regionClass");return t.selector&&!r.el&&(r.el=t.selector),new n(r)},_buildRegionFromRegionClass:function(t){return new t}}),s.RegionManager=s.Controller.extend({constructor:function(t){this._regions={},this.length=0,s.Controller.call(this,t),this.addRegions(this.getOption("regions"))},addRegions:function(t,e){return t=s._getValue(t,this,arguments),i.reduce(t,function(t,n,r){return i.isString(n)&&(n={selector:n}),n.selector&&(n=i.defaults({},n,e)),t[r]=this.addRegion(r,n),t},{},this)},addRegion:function(t,e){var i;return i=e instanceof s.Region?e:s.Region.buildRegion(e,s.Region),this.triggerMethod("before:add:region",t,i),i._parent=this,this._store(t,i),this.triggerMethod("add:region",t,i),i},get:function(t){return this._regions[t]},getRegions:function(){return i.clone(this._regions)},removeRegion:function(t){var e=this._regions[t];return this._remove(t,e),e},removeRegions:function(){var t=this.getRegions();return i.each(this._regions,function(t,e){this._remove(e,t)},this),t},emptyRegions:function(){var t=this.getRegions();return i.invoke(t,"empty"),t},destroy:function(){return this.removeRegions(),s.Controller.prototype.destroy.apply(this,arguments)},_store:function(t,e){this._regions[t]||this.length++,this._regions[t]=e},_remove:function(t,e){this.triggerMethod("before:remove:region",t,e),e.empty(),e.stopListening(),delete e._parent,delete this._regions[t],this.length--,this.triggerMethod("remove:region",t,e)}}),s.actAsCollection(s.RegionManager.prototype,"_regions"),s.TemplateCache=function(t){this.templateId=t},i.extend(s.TemplateCache,{templateCaches:{},get:function(t,e){var i=this.templateCaches[t];return i||(i=new s.TemplateCache(t),this.templateCaches[t]=i),i.load(e)},clear:function(){var t,e=i.toArray(arguments),n=e.length;if(n>0)for(t=0;n>t;t++)delete this.templateCaches[e[t]];else this.templateCaches={}}}),i.extend(s.TemplateCache.prototype,{load:function(t){if(this.compiledTemplate)return this.compiledTemplate;var e=this.loadTemplate(this.templateId,t);return this.compiledTemplate=this.compileTemplate(e,t),this.compiledTemplate},loadTemplate:function(t){var i=e.$(t).html();if(!i||0===i.length)throw new s.Error({name:"NoTemplateError",message:'Could not find template: "'+t+'"'});return i},compileTemplate:function(t,e){return i.template(t,e)}}),s.Renderer={render:function(t,e){if(!t)throw new s.Error({name:"TemplateNotFoundError",message:"Cannot render the template since its false, null or undefined."});var n=i.isFunction(t)?t:s.TemplateCache.get(t);return n(e)}},s.View=e.View.extend({isDestroyed:!1,constructor:function(t){i.bindAll(this,"render"),t=s._getValue(t,this),this.options=i.extend({},i.result(this,"options"),t),this._behaviors=s.Behaviors(this),e.View.call(this,this.options),s.MonitorDOMRefresh(this)},getTemplate:function(){return this.getOption("template")},serializeModel:function(t){return t.toJSON.apply(t,i.rest(arguments))},mixinTemplateHelpers:function(t){t=t||{};var e=this.getOption("templateHelpers");return e=s._getValue(e,this),i.extend(t,e)},normalizeUIKeys:function(t){var e=i.result(this,"_uiBindings");return s.normalizeUIKeys(t,e||i.result(this,"ui"))},normalizeUIValues:function(t,e){var n=i.result(this,"ui"),r=i.result(this,"_uiBindings");return s.normalizeUIValues(t,r||n,e)},configureTriggers:function(){if(this.triggers){var t=this.normalizeUIKeys(i.result(this,"triggers"));return i.reduce(t,function(t,e,i){return t[i]=this._buildViewTrigger(e),t},{},this)}},delegateEvents:function(t){return this._delegateDOMEvents(t),this.bindEntityEvents(this.model,this.getOption("modelEvents")),this.bindEntityEvents(this.collection,this.getOption("collectionEvents")),i.each(this._behaviors,function(t){t.bindEntityEvents(this.model,t.getOption("modelEvents")),t.bindEntityEvents(this.collection,t.getOption("collectionEvents"))},this),this},_delegateDOMEvents:function(t){var n=s._getValue(t||this.events,this);n=this.normalizeUIKeys(n),i.isUndefined(t)&&(this.events=n);var r={},o=i.result(this,"behaviorEvents")||{},h=this.configureTriggers(),a=i.result(this,"behaviorTriggers")||{};i.extend(r,o,n,h,a),e.View.prototype.delegateEvents.call(this,r)},undelegateEvents:function(){return e.View.prototype.undelegateEvents.apply(this,arguments),this.unbindEntityEvents(this.model,this.getOption("modelEvents")),this.unbindEntityEvents(this.collection,this.getOption("collectionEvents")),i.each(this._behaviors,function(t){t.unbindEntityEvents(this.model,t.getOption("modelEvents")),t.unbindEntityEvents(this.collection,t.getOption("collectionEvents"))},this),this},_ensureViewIsIntact:function(){if(this.isDestroyed)throw new s.Error({name:"ViewDestroyedError",message:'View (cid: "'+this.cid+'") has already been destroyed and cannot be used.'})},destroy:function(){if(this.isDestroyed)return this;var t=i.toArray(arguments);return this.triggerMethod.apply(this,["before:destroy"].concat(t)),this.isDestroyed=!0,this.triggerMethod.apply(this,["destroy"].concat(t)),this.unbindUIElements(),this.isRendered=!1,this.remove(),i.invoke(this._behaviors,"destroy",t),this},bindUIElements:function(){this._bindUIElements(),i.invoke(this._behaviors,this._bindUIElements)},_bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var t=i.result(this,"_uiBindings");this.ui={},i.each(t,function(t,e){this.ui[e]=this.$(t)},this)}},unbindUIElements:function(){this._unbindUIElements(),i.invoke(this._behaviors,this._unbindUIElements)},_unbindUIElements:function(){this.ui&&this._uiBindings&&(i.each(this.ui,function(t,e){delete this.ui[e]},this),this.ui=this._uiBindings,delete this._uiBindings)},_buildViewTrigger:function(t){var e=i.isObject(t),n=i.defaults({},e?t:{},{preventDefault:!0,stopPropagation:!0}),r=e?n.event:t;return function(t){t&&(t.preventDefault&&n.preventDefault&&t.preventDefault(),t.stopPropagation&&n.stopPropagation&&t.stopPropagation());var e={view:this,model:this.model,collection:this.collection};this.triggerMethod(r,e)}},setElement:function(){var t=e.View.prototype.setElement.apply(this,arguments);return i.invoke(this._behaviors,"proxyViewProperties",this),t},triggerMethod:function(){var t=s._triggerMethod(this,arguments);return this._triggerEventOnBehaviors(arguments),this._triggerEventOnParentLayout(arguments[0],i.rest(arguments)),t},_triggerEventOnBehaviors:function(t){for(var e=s._triggerMethod,i=this._behaviors,n=0,r=i&&i.length;r>n;n++)e(i[n],t)},_triggerEventOnParentLayout:function(t,e){var n=this._parentLayoutView();if(n){var r=s.getOption(n,"childViewEventPrefix"),o=r+":"+t;s._triggerMethod(n,[o,this].concat(e));var h=s.getOption(n,"childEvents"),a=n.normalizeMethods(h);a&&i.isFunction(a[t])&&a[t].apply(n,[this].concat(e))}},_getImmediateChildren:function(){return[]},_getNestedViews:function(){var t=this._getImmediateChildren();return t.length?i.reduce(t,function(t,e){return e._getNestedViews?t.concat(e._getNestedViews()):t},t):t},_getAncestors:function(){for(var t=[],e=this._parent;e;)t.push(e),e=e._parent;return t},_parentLayoutView:function(){var t=this._getAncestors();return i.find(t,function(t){return t instanceof s.LayoutView})},normalizeMethods:s.normalizeMethods,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.ItemView=s.View.extend({constructor:function(){s.View.apply(this,arguments)},serializeData:function(){if(!this.model&&!this.collection)return{};var t=[this.model||this.collection];return arguments.length&&t.push.apply(t,arguments),this.model?this.serializeModel.apply(this,t):{items:this.serializeCollection.apply(this,t)}},serializeCollection:function(t){return t.toJSON.apply(t,i.rest(arguments))},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderTemplate(),this.isRendered=!0,this.bindUIElements(),this.triggerMethod("render",this),this},_renderTemplate:function(){var t=this.getTemplate();if(t!==!1){if(!t)throw new s.Error({name:"UndefinedTemplateError",message:"Cannot render the template since it is null or undefined."});var e=this.mixinTemplateHelpers(this.serializeData()),i=s.Renderer.render(t,e,this);return this.attachElContent(i),this}},attachElContent:function(t){return this.$el.html(t),this}}),s.CollectionView=s.View.extend({childViewEventPrefix:"childview",sort:!0,constructor:function(){this.once("render",this._initialEvents),this._initChildViewStorage(),s.View.apply(this,arguments),this.on({"before:show":this._onBeforeShowCalled,show:this._onShowCalled,"before:attach":this._onBeforeAttachCalled,attach:this._onAttachCalled}),this.initRenderBuffer()},initRenderBuffer:function(){this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){var t,e=this._isShown&&s.isNodeAttached(this.el);this.isBuffering=!1,this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"before:show"),e&&this._triggerBeforeAttach&&(t=this._getNestedViews(),this._triggerMethodMany(t,this,"before:attach")),this.attachBuffer(this,this._createBuffer()),e&&this._triggerAttach&&(t=this._getNestedViews(),this._triggerMethodMany(t,this,"attach")),this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"show"),this.initRenderBuffer()},_triggerMethodMany:function(t,e,n){var r=i.drop(arguments,3);i.each(t,function(t){s.triggerMethodOn.apply(t,[t,n,t,e].concat(r))})},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this.render),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},_onCollectionAdd:function(t,e,n){var r;if(r=void 0!==n.at?n.at:i.indexOf(this._filteredSortedModels(),t),this._shouldAddChild(t,r)){this.destroyEmptyView();var s=this.getChildView(t);this.addChild(t,s,r)}},_onCollectionRemove:function(t){var e=this.children.findByModel(t);this.removeChildView(e),this.checkEmpty()},_onBeforeShowCalled:function(){this._triggerBeforeAttach=this._triggerAttach=!1,this.children.each(function(t){s.triggerMethodOn(t,"before:show",t)})},_onShowCalled:function(){this.children.each(function(t){s.triggerMethodOn(t,"show",t)})},_onBeforeAttachCalled:function(){this._triggerBeforeAttach=!0},_onAttachCalled:function(){this._triggerAttach=!0},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderChildren(),this.isRendered=!0,this.triggerMethod("render",this),this},reorder:function(){var t=this.children,e=this._filteredSortedModels(),n=i.find(e,function(e){return!t.findByModel(e)});if(n)this.render();else{var r=i.map(e,function(e,i){var n=t.findByModel(e);return n._index=i,n.el});this.triggerMethod("before:reorder"),this._appendReorderedChildren(r),this.triggerMethod("reorder")}},resortView:function(){s.getOption(this,"reorderOnSort")?this.reorder():this.render()},_sortViews:function(){var t=this._filteredSortedModels(),e=i.find(t,function(t,e){var i=this.children.findByModel(t);return!i||i._index!==e},this);e&&this.resortView()},_emptyViewIndex:-1,_appendReorderedChildren:function(t){this.$el.append(t)},_renderChildren:function(){this.destroyEmptyView(),this.destroyChildren({checkEmpty:!1}),this.isEmpty(this.collection)?this.showEmptyView():(this.triggerMethod("before:render:collection",this),this.startBuffering(),this.showCollection(),this.endBuffering(),this.triggerMethod("render:collection",this),this.children.isEmpty()&&this.showEmptyView())},showCollection:function(){var t,e=this._filteredSortedModels();i.each(e,function(e,i){t=this.getChildView(e),this.addChild(e,t,i)},this)},_filteredSortedModels:function(){var t,e=this.getViewComparator();return t=e?i.isString(e)||1===e.length?this.collection.sortBy(e,this):i.clone(this.collection.models).sort(i.bind(e,this)):this.collection.models,this.getOption("filter")&&(t=i.filter(t,function(t,e){return this._shouldAddChild(t,e)},this)),t},showEmptyView:function(){var t=this.getEmptyView();if(t&&!this._showingEmptyView){this.triggerMethod("before:render:empty"),this._showingEmptyView=!0;var i=new e.Model;this.addEmptyView(i,t),this.triggerMethod("render:empty")}},destroyEmptyView:function(){this._showingEmptyView&&(this.triggerMethod("before:remove:empty"),this.destroyChildren(),delete this._showingEmptyView,this.triggerMethod("remove:empty"))},getEmptyView:function(){return this.getOption("emptyView")},addEmptyView:function(t,e){var n,r=this._isShown&&!this.isBuffering&&s.isNodeAttached(this.el),o=this.getOption("emptyViewOptions")||this.getOption("childViewOptions");i.isFunction(o)&&(o=o.call(this,t,this._emptyViewIndex));var h=this.buildChildView(t,e,o);h._parent=this,this.proxyChildEvents(h),this._isShown&&s.triggerMethodOn(h,"before:show",h),this.children.add(h),r&&this._triggerBeforeAttach&&(n=[h].concat(h._getNestedViews()),h.once("render",function(){this._triggerMethodMany(n,this,"before:attach")},this)),this.renderChildView(h,this._emptyViewIndex),r&&this._triggerAttach&&(n=[h].concat(h._getNestedViews()),this._triggerMethodMany(n,this,"attach")),this._isShown&&s.triggerMethodOn(h,"show",h)},getChildView:function(){var t=this.getOption("childView");if(!t)throw new s.Error({name:"NoChildViewError",message:'A "childView" must be specified'});return t},addChild:function(t,e,i){var n=this.getOption("childViewOptions");n=s._getValue(n,this,[t,i]);var r=this.buildChildView(t,e,n);return this._updateIndices(r,!0,i),this.triggerMethod("before:add:child",r),this._addChildView(r,i),this.triggerMethod("add:child",r),r._parent=this,r},_updateIndices:function(t,e,i){this.getOption("sort")&&(e&&(t._index=i),this.children.each(function(i){i._index>=t._index&&(i._index+=e?1:-1)}))},_addChildView:function(t,e){var i,n=this._isShown&&!this.isBuffering&&s.isNodeAttached(this.el);this.proxyChildEvents(t),this._isShown&&!this.isBuffering&&s.triggerMethodOn(t,"before:show",t),this.children.add(t),n&&this._triggerBeforeAttach&&(i=[t].concat(t._getNestedViews()),t.once("render",function(){this._triggerMethodMany(i,this,"before:attach")},this)),this.renderChildView(t,e),n&&this._triggerAttach&&(i=[t].concat(t._getNestedViews()),this._triggerMethodMany(i,this,"attach")),this._isShown&&!this.isBuffering&&s.triggerMethodOn(t,"show",t)},renderChildView:function(t,e){return t.render(),this.attachHtml(this,t,e),t},buildChildView:function(t,e,n){var r=i.extend({model:t},n);return new e(r)},removeChildView:function(t){return t&&(this.triggerMethod("before:remove:child",t),t.destroy?t.destroy():t.remove&&t.remove(),delete t._parent,this.stopListening(t),this.children.remove(t),this.triggerMethod("remove:child",t),this._updateIndices(t,!1)),t},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},attachBuffer:function(t,e){t.$el.append(e)},_createBuffer:function(){var t=document.createDocumentFragment();return i.each(this._bufferedChildren,function(e){t.appendChild(e.el)}),t},attachHtml:function(t,e,i){t.isBuffering?t._bufferedChildren.splice(i,0,e):t._insertBefore(e,i)||t._insertAfter(e)},_insertBefore:function(t,e){var i,n=this.getOption("sort")&&this.children.length-1>e;return n&&(i=this.children.find(function(t){return t._index===e+1})),i?(i.$el.before(t.el),!0):!1},_insertAfter:function(t){this.$el.append(t.el)},_initChildViewStorage:function(){this.children=new e.ChildViewContainer},destroy:function(){return this.isDestroyed?this:(this.triggerMethod("before:destroy:collection"),this.destroyChildren({checkEmpty:!1}),this.triggerMethod("destroy:collection"),s.View.prototype.destroy.apply(this,arguments))},destroyChildren:function(t){var e=t||{},n=!0,r=this.children.map(i.identity);return i.isUndefined(e.checkEmpty)||(n=e.checkEmpty),this.children.each(this.removeChildView,this),n&&this.checkEmpty(),r},_shouldAddChild:function(t,e){var n=this.getOption("filter");return!i.isFunction(n)||n.call(this,t,e,this.collection)},proxyChildEvents:function(t){var e=this.getOption("childViewEventPrefix");this.listenTo(t,"all",function(){var n=i.toArray(arguments),r=n[0],s=this.normalizeMethods(i.result(this,"childEvents"));n[0]=e+":"+r,n.splice(1,0,t),s!==void 0&&i.isFunction(s[r])&&s[r].apply(this,n.slice(1)),this.triggerMethod.apply(this,n)})},_getImmediateChildren:function(){return i.values(this.children._views)},getViewComparator:function(){return this.getOption("viewComparator")}}),s.CompositeView=s.CollectionView.extend({constructor:function(){s.CollectionView.apply(this,arguments)},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this._renderChildren),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},getChildView:function(){var t=this.getOption("childView")||this.constructor;return t},serializeData:function(){var t={};return this.model&&(t=i.partial(this.serializeModel,this.model).apply(this,arguments)),t},render:function(){return this._ensureViewIsIntact(),this._isRendering=!0,this.resetChildViewContainer(),this.triggerMethod("before:render",this),this._renderTemplate(),this._renderChildren(),this._isRendering=!1,this.isRendered=!0,this.triggerMethod("render",this),this
},_renderChildren:function(){(this.isRendered||this._isRendering)&&s.CollectionView.prototype._renderChildren.call(this)},_renderTemplate:function(){var t={};t=this.serializeData(),t=this.mixinTemplateHelpers(t),this.triggerMethod("before:render:template");var e=this.getTemplate(),i=s.Renderer.render(e,t,this);this.attachElContent(i),this.bindUIElements(),this.triggerMethod("render:template")},attachElContent:function(t){return this.$el.html(t),this},attachBuffer:function(t,e){var i=this.getChildViewContainer(t);i.append(e)},_insertAfter:function(t){var e=this.getChildViewContainer(this,t);e.append(t.el)},_appendReorderedChildren:function(t){var e=this.getChildViewContainer(this);e.append(t)},getChildViewContainer:function(t){if(t.$childViewContainer)return t.$childViewContainer;var e,i=s.getOption(t,"childViewContainer");if(i){var n=s._getValue(i,t);if(e="@"===n.charAt(0)&&t.ui?t.ui[n.substr(4)]:t.$(n),0>=e.length)throw new s.Error({name:"ChildViewContainerMissingError",message:'The specified "childViewContainer" was not found: '+t.childViewContainer})}else e=t.$el;return t.$childViewContainer=e,e},resetChildViewContainer:function(){this.$childViewContainer&&(this.$childViewContainer=void 0)}}),s.LayoutView=s.ItemView.extend({regionClass:s.Region,options:{destroyImmediate:!1},childViewEventPrefix:"childview",constructor:function(t){t=t||{},this._firstRender=!0,this._initializeRegions(t),s.ItemView.call(this,t)},render:function(){return this._ensureViewIsIntact(),this._firstRender?this._firstRender=!1:this._reInitializeRegions(),s.ItemView.prototype.render.apply(this,arguments)},destroy:function(){return this.isDestroyed?this:(this.getOption("destroyImmediate")===!0&&this.$el.remove(),this.regionManager.destroy(),s.ItemView.prototype.destroy.apply(this,arguments))},showChildView:function(t,e){return this.getRegion(t).show(e)},getChildView:function(t){return this.getRegion(t).currentView},addRegion:function(t,e){var i={};return i[t]=e,this._buildRegions(i)[t]},addRegions:function(t){return this.regions=i.extend({},this.regions,t),this._buildRegions(t)},removeRegion:function(t){return delete this.regions[t],this.regionManager.removeRegion(t)},getRegion:function(t){return this.regionManager.get(t)},getRegions:function(){return this.regionManager.getRegions()},_buildRegions:function(t){var e={regionClass:this.getOption("regionClass"),parentEl:i.partial(i.result,this,"el")};return this.regionManager.addRegions(t,e)},_initializeRegions:function(t){var e;this._initRegionManager(),e=s._getValue(this.regions,this,[t])||{};var n=this.getOption.call(t,"regions");n=s._getValue(n,this,[t]),i.extend(e,n),e=this.normalizeUIValues(e,["selector","el"]),this.addRegions(e)},_reInitializeRegions:function(){this.regionManager.invoke("reset")},getRegionManager:function(){return new s.RegionManager},_initRegionManager:function(){this.regionManager=this.getRegionManager(),this.regionManager._parent=this,this.listenTo(this.regionManager,"before:add:region",function(t){this.triggerMethod("before:add:region",t)}),this.listenTo(this.regionManager,"add:region",function(t,e){this[t]=e,this.triggerMethod("add:region",t,e)}),this.listenTo(this.regionManager,"before:remove:region",function(t){this.triggerMethod("before:remove:region",t)}),this.listenTo(this.regionManager,"remove:region",function(t,e){delete this[t],this.triggerMethod("remove:region",t,e)})},_getImmediateChildren:function(){return i.chain(this.regionManager.getRegions()).pluck("currentView").compact().value()}}),s.Behavior=s.Object.extend({constructor:function(t,e){this.view=e,this.defaults=i.result(this,"defaults")||{},this.options=i.extend({},this.defaults,t),this.ui=i.extend({},i.result(e,"ui"),i.result(this,"ui")),s.Object.apply(this,arguments)},$:function(){return this.view.$.apply(this.view,arguments)},destroy:function(){return this.stopListening(),this},proxyViewProperties:function(t){this.$el=t.$el,this.el=t.el}}),s.Behaviors=function(t,e){function i(t,n){return e.isObject(t.behaviors)?(n=i.parseBehaviors(t,n||e.result(t,"behaviors")),i.wrap(t,n,e.keys(o)),n):{}}function n(t,e){this._view=t,this._behaviors=e,this._triggers={}}function r(t){return t._uiBindings||t.ui}var s=/^(\S+)\s*(.*)$/,o={behaviorTriggers:function(t,e){var i=new n(this,e);return i.buildBehaviorTriggers()},behaviorEvents:function(i,n){var o={};return e.each(n,function(i,n){var h={},a=e.clone(e.result(i,"events"))||{};a=t.normalizeUIKeys(a,r(i));var d=0;e.each(a,function(t,r){var o=r.match(s),a=o[1]+"."+[this.cid,n,d++," "].join(""),l=o[2],c=a+l,u=e.isFunction(t)?t:i[t];h[c]=e.bind(u,i)},this),o=e.extend(o,h)},this),o}};return e.extend(i,{behaviorsLookup:function(){throw new t.Error({message:"You must define where your behaviors are stored.",url:"marionette.behaviors.html#behaviorslookup"})},getBehaviorClass:function(e,n){return e.behaviorClass?e.behaviorClass:t._getValue(i.behaviorsLookup,this,[e,n])[n]},parseBehaviors:function(t,n){return e.chain(n).map(function(n,r){var s=i.getBehaviorClass(n,r),o=new s(n,t),h=i.parseBehaviors(t,e.result(o,"behaviors"));return[o].concat(h)}).flatten().value()},wrap:function(t,i,n){e.each(n,function(n){t[n]=e.partial(o[n],t[n],i)})}}),e.extend(n.prototype,{buildBehaviorTriggers:function(){return e.each(this._behaviors,this._buildTriggerHandlersForBehavior,this),this._triggers},_buildTriggerHandlersForBehavior:function(i,n){var s=e.clone(e.result(i,"triggers"))||{};s=t.normalizeUIKeys(s,r(i)),e.each(s,e.bind(this._setHandlerForBehavior,this,i,n))},_setHandlerForBehavior:function(t,e,i,n){var r=n.replace(/^\S+/,function(t){return t+"."+"behaviortriggers"+e});this._triggers[r]=this._view._buildViewTrigger(i)}}),i}(s,i),s.AppRouter=e.Router.extend({constructor:function(t){this.options=t||{},e.Router.apply(this,arguments);var i=this.getOption("appRoutes"),n=this._getController();this.processAppRoutes(n,i),this.on("route",this._processOnRoute,this)},appRoute:function(t,e){var i=this._getController();this._addAppRoute(i,t,e)},_processOnRoute:function(t,e){if(i.isFunction(this.onRoute)){var n=i.invert(this.getOption("appRoutes"))[t];this.onRoute(t,n,e)}},processAppRoutes:function(t,e){if(e){var n=i.keys(e).reverse();i.each(n,function(i){this._addAppRoute(t,i,e[i])},this)}},_getController:function(){return this.getOption("controller")},_addAppRoute:function(t,e,n){var r=t[n];if(!r)throw new s.Error('Method "'+n+'" was not found on the controller');this.route(e,n,i.bind(r,t))},mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,triggerMethod:s.triggerMethod,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.Application=s.Object.extend({constructor:function(t){this._initializeRegions(t),this._initCallbacks=new s.Callbacks,this.submodules={},i.extend(this,t),this._initChannel(),s.Object.call(this,t)},execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(t){this._initCallbacks.add(t)},start:function(t){this.triggerMethod("before:start",t),this._initCallbacks.run(t,this),this.triggerMethod("start",t)},addRegions:function(t){return this._regionManager.addRegions(t)},emptyRegions:function(){return this._regionManager.emptyRegions()},removeRegion:function(t){return this._regionManager.removeRegion(t)},getRegion:function(t){return this._regionManager.get(t)},getRegions:function(){return this._regionManager.getRegions()},module:function(t,e){var n=s.Module.getClass(e),r=i.toArray(arguments);return r.unshift(this),n.create.apply(n,r)},getRegionManager:function(){return new s.RegionManager},_initializeRegions:function(t){var e=i.isFunction(this.regions)?this.regions(t):this.regions||{};this._initRegionManager();var n=s.getOption(t,"regions");return i.isFunction(n)&&(n=n.call(this,t)),i.extend(e,n),this.addRegions(e),this},_initRegionManager:function(){this._regionManager=this.getRegionManager(),this._regionManager._parent=this,this.listenTo(this._regionManager,"before:add:region",function(){s._triggerMethod(this,"before:add:region",arguments)}),this.listenTo(this._regionManager,"add:region",function(t,e){this[t]=e,s._triggerMethod(this,"add:region",arguments)}),this.listenTo(this._regionManager,"before:remove:region",function(){s._triggerMethod(this,"before:remove:region",arguments)}),this.listenTo(this._regionManager,"remove:region",function(t){delete this[t],s._triggerMethod(this,"remove:region",arguments)})},_initChannel:function(){this.channelName=i.result(this,"channelName")||"global",this.channel=i.result(this,"channel")||e.Wreqr.radio.channel(this.channelName),this.vent=i.result(this,"vent")||this.channel.vent,this.commands=i.result(this,"commands")||this.channel.commands,this.reqres=i.result(this,"reqres")||this.channel.reqres}}),s.Module=function(t,e,n){this.moduleName=t,this.options=i.extend({},this.options,n),this.initialize=n.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=e,i.isFunction(this.initialize)&&this.initialize(t,e,this.options)},s.Module.extend=s.extend,i.extend(s.Module.prototype,e.Events,{startWithParent:!0,initialize:function(){},addInitializer:function(t){this._initializerCallbacks.add(t)},addFinalizer:function(t){this._finalizerCallbacks.add(t)},start:function(t){this._isInitialized||(i.each(this.submodules,function(e){e.startWithParent&&e.start(t)}),this.triggerMethod("before:start",t),this._initializerCallbacks.run(t,this),this._isInitialized=!0,this.triggerMethod("start",t))},stop:function(){this._isInitialized&&(this._isInitialized=!1,this.triggerMethod("before:stop"),i.invoke(this.submodules,"stop"),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),this.triggerMethod("stop"))},addDefinition:function(t,e){this._runModuleDefinition(t,e)},_runModuleDefinition:function(t,n){if(t){var r=i.flatten([this,this.app,e,s,e.$,i,n]);t.apply(this,r)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new s.Callbacks,this._finalizerCallbacks=new s.Callbacks},triggerMethod:s.triggerMethod}),i.extend(s.Module,{create:function(t,e,n){var r=t,s=i.drop(arguments,3);e=e.split(".");var o=e.length,h=[];return h[o-1]=n,i.each(e,function(e,i){var o=r;r=this._getModule(o,e,t,n),this._addModuleDefinition(o,r,h[i],s)},this),r},_getModule:function(t,e,n,r){var s=i.extend({},r),o=this.getClass(r),h=t[e];return h||(h=new o(e,n,s),t[e]=h,t.submodules[e]=h),h},getClass:function(t){var e=s.Module;return t?t.prototype instanceof e?t:t.moduleClass||e:e},_addModuleDefinition:function(t,e,i,n){var r=this._getDefine(i),s=this._getStartWithParent(i,e);r&&e.addDefinition(r,n),this._addStartWithParent(t,e,s)},_getStartWithParent:function(t,e){var n;return i.isFunction(t)&&t.prototype instanceof s.Module?(n=e.constructor.prototype.startWithParent,i.isUndefined(n)?!0:n):i.isObject(t)?(n=t.startWithParent,i.isUndefined(n)?!0:n):!0},_getDefine:function(t){return!i.isFunction(t)||t.prototype instanceof s.Module?i.isObject(t)?t.define:null:t},_addStartWithParent:function(t,e,i){e.startWithParent=e.startWithParent&&i,e.startWithParent&&!e.startWithParentIsConfigured&&(e.startWithParentIsConfigured=!0,t.addInitializer(function(t){e.startWithParent&&e.start(t)}))}}),s});
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("underscore"),require("backbone")):"function"==typeof define&&define.amd?define(["underscore","backbone"],n):e.Backbone.Radio=n(e._,e.Backbone)}(this,function(e,n){"use strict";function t(e,n,t,r){var s=e[n];return t&&t!==s.callback&&t!==s.callback._callback||r&&r!==s.context?void 0:(delete e[n],!0)}function r(n,r,s,i){n||(n={});for(var a=r?[r]:e.keys(n),u=!1,o=0,c=a.length;c>o;o++)r=a[o],n[r]&&t(n,r,s,i)&&(u=!0);return u}function s(n){return c[n]||(c[n]=e.partial(u.log,n))}function i(n){return e.isFunction(n)?n:function(){return n}}var a=n.Radio,u=n.Radio={};u.VERSION="1.0.1",u.noConflict=function(){return n.Radio=a,this},u.DEBUG=!1,u._debugText=function(e,n,t){return e+(t?" on the "+t+" channel":"")+': "'+n+'"'},u.debugLog=function(e,n,t){u.DEBUG&&console&&console.warn&&console.warn(u._debugText(e,n,t))};var o=/\s+/;u._eventsApi=function(n,t,r,s){if(!r)return!1;var i={};if("object"==typeof r){for(var a in r){var u=n[t].apply(n,[a,r[a]].concat(s));o.test(a)?e.extend(i,u):i[a]=u}return i}if(o.test(r)){for(var c=r.split(o),l=0,h=c.length;h>l;l++)i[c[l]]=n[t].apply(n,[c[l]].concat(s));return i}return!1},u._callHandler=function(e,n,t){var r=t[0],s=t[1],i=t[2];switch(t.length){case 0:return e.call(n);case 1:return e.call(n,r);case 2:return e.call(n,r,s);case 3:return e.call(n,r,s,i);default:return e.apply(n,t)}};var c={};e.extend(u,{log:function(n,t){var r=e.rest(arguments,2);console.log("["+n+'] "'+t+'"',r)},tuneIn:function(e){var n=u.channel(e);return n._tunedIn=!0,n.on("all",s(e)),this},tuneOut:function(e){var n=u.channel(e);return n._tunedIn=!1,n.off("all",s(e)),delete c[e],this}}),u.Requests={request:function(n){var t=e.rest(arguments),r=u._eventsApi(this,"request",n,t);if(r)return r;var s=this.channelName,i=this._requests;if(s&&this._tunedIn&&u.log.apply(this,[s,n].concat(t)),i&&(i[n]||i["default"])){var a=i[n]||i["default"];return t=i[n]?t:arguments,u._callHandler(a.callback,a.context,t)}u.debugLog("An unhandled request was fired",n,s)},reply:function(e,n,t){return u._eventsApi(this,"reply",e,[n,t])?this:(this._requests||(this._requests={}),this._requests[e]&&u.debugLog("A request was overwritten",e,this.channelName),this._requests[e]={callback:i(n),context:t||this},this)},replyOnce:function(n,t,r){if(u._eventsApi(this,"replyOnce",n,[t,r]))return this;var s=this,a=e.once(function(){return s.stopReplying(n),i(t).apply(this,arguments)});return this.reply(n,a,r)},stopReplying:function(e,n,t){return u._eventsApi(this,"stopReplying",e)?this:(e||n||t?r(this._requests,e,n,t)||u.debugLog("Attempted to remove the unregistered request",e,this.channelName):delete this._requests,this)}},u._channels={},u.channel=function(e){if(!e)throw new Error("You must provide a name for the channel.");return u._channels[e]?u._channels[e]:u._channels[e]=new u.Channel(e)},u.Channel=function(e){this.channelName=e},e.extend(u.Channel.prototype,n.Events,u.Requests,{reset:function(){return this.off(),this.stopListening(),this.stopReplying(),this}});var l,h,f=[n.Events,u.Commands,u.Requests];e.each(f,function(n){e.each(n,function(n,t){u[t]=function(n){return h=e.rest(arguments),l=this.channel(n),l[t].apply(l,h)}})}),u.reset=function(n){var t=n?[this._channels[n]]:this._channels;e.invoke(t,"reset")};var p=u;return p});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Mexp=t()}(this,(function(){"use strict";function e(){return e=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},e.apply(this,arguments)}var t,n={0:11,1:0,2:3,3:0,4:0,5:0,6:0,7:11,8:11,9:1,10:10,11:0,12:11,13:0,14:-1};function a(e,t){for(var n=0;n<e.length;n++)e[n]+=t;return e}!function(e){e[e.FUNCTION_WITH_ONE_ARG=0]="FUNCTION_WITH_ONE_ARG",e[e.NUMBER=1]="NUMBER",e[e.BINARY_OPERATOR_HIGH_PRECENDENCE=2]="BINARY_OPERATOR_HIGH_PRECENDENCE",e[e.CONSTANT=3]="CONSTANT",e[e.OPENING_PARENTHESIS=4]="OPENING_PARENTHESIS",e[e.CLOSING_PARENTHESIS=5]="CLOSING_PARENTHESIS",e[e.DECIMAL=6]="DECIMAL",e[e.POSTFIX_FUNCTION_WITH_ONE_ARG=7]="POSTFIX_FUNCTION_WITH_ONE_ARG",e[e.FUNCTION_WITH_N_ARGS=8]="FUNCTION_WITH_N_ARGS",e[e.BINARY_OPERATOR_LOW_PRECENDENCE=9]="BINARY_OPERATOR_LOW_PRECENDENCE",e[e.BINARY_OPERATOR_PERMUTATION=10]="BINARY_OPERATOR_PERMUTATION",e[e.COMMA=11]="COMMA",e[e.EVALUATED_FUNCTION=12]="EVALUATED_FUNCTION",e[e.EVALUATED_FUNCTION_PARAMETER=13]="EVALUATED_FUNCTION_PARAMETER",e[e.SPACE=14]="SPACE"}(t||(t={}));var o={0:!0,1:!0,3:!0,4:!0,6:!0,8:!0,9:!0,12:!0,13:!0,14:!0},h={0:!0,1:!0,2:!0,3:!0,4:!0,5:!0,6:!0,7:!0,8:!0,9:!0,10:!0,11:!0,12:!0,13:!0},r={0:!0,3:!0,4:!0,8:!0,12:!0,13:!0},u={},s={0:!0,1:!0,3:!0,4:!0,6:!0,8:!0,12:!0,13:!0},p={1:!0},i=[[],["1","2","3","7","8","9","4","5","6","+","-","*","/","(",")","^","!","P","C","e","0",".",",","n"," ","&"],["pi","ln","Pi"],["sin","cos","tan","Del","int","Mod","log","pow"],["asin","acos","atan","cosh","root","tanh","sinh"],["acosh","atanh","asinh","Sigma"]];function l(e,t,n,a){for(var o=0;o<a;o++)if(e[n+o]!==t[o])return!1;return!0}function E(e){for(var a=0;a<e.length;a++){var o=e[a].token.length,h=-1;e[a].type===t.FUNCTION_WITH_N_ARGS&&void 0===e[a].numberOfArguments&&(e[a].numberOfArguments=2),i[o]=i[o]||[];for(var r=0;r<i[o].length;r++)if(e[a].token===i[o][r]){h=N(i[o][r],this.tokens);break}-1===h?(this.tokens.push(e[a]),e[a].precedence=n[e[a].type],i.length<=e[a].token.length&&(i[e[a].token.length]=[]),i[e[a].token.length].push(e[a].token)):(this.tokens[h]=e[a],e[a].precedence=n[e[a].type])}}function N(e,t){for(var n=0;n<t.length;n++)if(t[n].token===e)return n;return-1}var v=function(e,n){var E,v={value:this.math.changeSign,type:t.FUNCTION_WITH_ONE_ARG,precedence:4,show:"-"},f={value:")",show:")",type:t.CLOSING_PARENTHESIS,precedence:0},y={value:"(",type:t.OPENING_PARENTHESIS,precedence:0,show:"("},A=[y],c=[],_=e,O=o,T=0,R=u,I="";void 0!==n&&this.addToken(n);var w=function(e,t){for(var n,a,o,h=[],r=t.length,u=0;u<r;u++)if(!(u<r-1&&" "===t[u]&&" "===t[u+1])){for(n="",a=t.length-u>i.length-2?i.length-1:t.length-u;a>0;a--)if(void 0!==i[a])for(o=0;o<i[a].length;o++)l(t,i[a][o],u,a)&&(n=i[a][o],o=i[a].length,a=0);if(u+=n.length-1,""===n)throw new Error("Can't understand after "+t.slice(u));h.push(e.tokens[N(n,e.tokens)])}return h}(this,_);for(E=0;E<w.length;E++){var P=w[E];if(14!==P.type){var m,M=P.token,g=P.type,C=P.value,d=P.precedence,k=P.show,S=A[A.length-1];for(m=c.length;m--&&0===c[m];)if(-1!==[t.FUNCTION_WITH_ONE_ARG,t.BINARY_OPERATOR_HIGH_PRECENDENCE,t.CONSTANT,t.OPENING_PARENTHESIS,t.CLOSING_PARENTHESIS,t.BINARY_OPERATOR_LOW_PRECENDENCE,t.BINARY_OPERATOR_PERMUTATION,t.COMMA,t.EVALUATED_FUNCTION,t.EVALUATED_FUNCTION_PARAMETER].indexOf(g)){if(!0!==O[g])throw new Error(M+" is not allowed after "+I);A.push(f),O=h,R=s,c.pop()}if(!0!==O[g])throw new Error(M+" is not allowed after "+I);!0===R[g]&&(g=t.BINARY_OPERATOR_HIGH_PRECENDENCE,C=this.math.mul,k="&times;",d=3,E-=1);var U={value:C,type:g,precedence:d,show:k,numberOfArguments:P.numberOfArguments};if(g===t.FUNCTION_WITH_ONE_ARG)O=o,R=u,a(c,1),A.push(U),w[E+1].type!==t.OPENING_PARENTHESIS&&(A.push(y),c.push(2));else if(g===t.NUMBER)S.type===t.NUMBER?(S.value+=C,a(c,1)):A.push(U),O=h,R=r;else if(g===t.BINARY_OPERATOR_HIGH_PRECENDENCE)O=o,R=u,a(c,2),A.push(U);else if(g===t.CONSTANT)A.push(U),O=h,R=s;else if(g===t.OPENING_PARENTHESIS)a(c,1),T++,O=o,R=u,A.push(U);else if(g===t.CLOSING_PARENTHESIS){if(!T)throw new Error("Closing parenthesis are more than opening one, wait What!!!");T--,O=h,R=s,A.push(U),a(c,1)}else if(g===t.DECIMAL){if(S.hasDec)throw new Error("Two decimals are not allowed in one number");S.type!==t.NUMBER&&(S={show:"0",value:0,type:t.NUMBER,precedence:0},A.push(S)),O=p,a(c,1),R=u,S.value+=C,S.hasDec=!0}else g===t.POSTFIX_FUNCTION_WITH_ONE_ARG&&(O=h,R=s,a(c,1),A.push(U));g===t.FUNCTION_WITH_N_ARGS?(O=o,R=u,a(c,P.numberOfArguments+2),A.push(U),w[E+1].type!==t.OPENING_PARENTHESIS&&(A.push(y),c.push(P.numberOfArguments+2))):g===t.BINARY_OPERATOR_LOW_PRECENDENCE?(S.type===t.BINARY_OPERATOR_LOW_PRECENDENCE?S.value===this.math.add?(S.value=C,S.show=k,a(c,1)):S.value===this.math.sub&&"-"===k&&(S.value=this.math.add,S.show="+",a(c,1)):S.type!==t.CLOSING_PARENTHESIS&&S.type!==t.POSTFIX_FUNCTION_WITH_ONE_ARG&&S.type!==t.NUMBER&&S.type!==t.CONSTANT&&S.type!==t.EVALUATED_FUNCTION_PARAMETER?"-"===M&&(O=o,R=u,a(c,1).push(2),A.push(v),A.push(y)):(A.push(U),a(c,2)),O=o,R=u):g===t.BINARY_OPERATOR_PERMUTATION?(O=o,R=u,a(c,2),A.push(U)):g===t.COMMA?(O=o,R=u,A.push(U)):g===t.EVALUATED_FUNCTION?(O=o,R=u,a(c,6),A.push(U),w[E+1].type!==t.OPENING_PARENTHESIS&&(A.push(y),c.push(6))):g===t.EVALUATED_FUNCTION_PARAMETER&&(O=h,R=s,A.push(U)),a(c,-1),I=M}else if(E>0&&E<w.length-1&&1===w[E+1].type&&(1===w[E-1].type||6===w[E-1].type))throw new Error("Unexpected Space")}for(m=c.length;m--;)A.push(f);if(!0!==O[5])throw new Error("complete the expression");for(;T--;)A.push(f);return A.push(f),A};function f(e){for(var t,n,a,o=[],h=-1,r=-1,u=[{value:"(",type:4,precedence:0,show:"("}],s=1;s<e.length;s++)if(1===e[s].type||3===e[s].type||13===e[s].type)1===e[s].type&&(e[s].value=Number(e[s].value)),o.push(e[s]);else if(4===e[s].type)u.push(e[s]);else if(5===e[s].type)for(;4!==(null==(p=n=u.pop())?void 0:p.type);){var p;n&&o.push(n)}else if(11===e[s].type){for(;4!==(null==(i=n=u.pop())?void 0:i.type);){var i;n&&o.push(n)}u.push(n)}else{r=(t=e[s]).precedence,h=(a=u[u.length-1]).precedence;var l="Math.pow"==a.value&&"Math.pow"==t.value;if(r>h)u.push(t);else{for(;h>=r&&!l||l&&r<h;)n=u.pop(),a=u[u.length-1],n&&o.push(n),h=a.precedence,l="Math.pow"==t.value&&"Math.pow"==a.value;u.push(t)}}return o}function y(e,t){(t=t||{}).PI=Math.PI,t.E=Math.E;for(var n,a,o,h=[],r=void 0!==t.n,u=0;u<e.length;u++)if(1===e[u].type)h.push({value:e[u].value,type:1});else if(3===e[u].type)h.push({value:t[e[u].value],type:1});else if(0===e[u].type){var s=h[h.length-1];Array.isArray(s)?s.push(e[u]):s.value=e[u].value(s.value)}else if(7===e[u].type){var p=h[h.length-1];Array.isArray(p)?p.push(e[u]):p.value=e[u].value(p.value)}else if(8===e[u].type){for(var i=[],l=0;l<e[u].numberOfArguments;l++){var E=h.pop();E&&i.push(E.value)}h.push({type:1,value:e[u].value.apply(e[u],i.reverse())})}else if(10===e[u].type)n=h.pop(),a=h.pop(),Array.isArray(a)?((a=a.concat(n)).push(e[u]),h.push(a)):Array.isArray(n)?(n.unshift(a),n.push(e[u]),h.push(n)):h.push({type:1,value:e[u].value(a.value,n.value)});else if(2===e[u].type||9===e[u].type)n=h.pop(),a=h.pop(),Array.isArray(a)?((a=a.concat(n)).push(e[u]),h.push(a)):Array.isArray(n)?(n.unshift(a),n.push(e[u]),h.push(n)):h.push({type:1,value:e[u].value(a.value,n.value)});else if(12===e[u].type){n=h.pop();var N=void 0;N=!Array.isArray(n)&&n?[n]:n||[],a=h.pop(),o=h.pop(),h.push({type:1,value:e[u].value(o.value,a.value,N)})}else 13===e[u].type&&(r?h.push({value:t[e[u].value],type:3}):h.push([e[u]]));if(h.length>1)throw new Error("Uncaught Syntax error");return parseFloat(h[0].value.toFixed(15))}var A=function(){function t(){var t;this.toPostfix=f,this.addToken=E,this.lex=v,this.postfixEval=y,this.math=(t=this,{isDegree:!0,acos:function(e){return t.math.isDegree?180/Math.PI*Math.acos(e):Math.acos(e)},add:function(e,t){return e+t},asin:function(e){return t.math.isDegree?180/Math.PI*Math.asin(e):Math.asin(e)},atan:function(e){return t.math.isDegree?180/Math.PI*Math.atan(e):Math.atan(e)},acosh:function(e){return Math.log(e+Math.sqrt(e*e-1))},asinh:function(e){return Math.log(e+Math.sqrt(e*e+1))},atanh:function(e){return Math.log((1+e)/(1-e))},C:function(e,n){var a=1,o=e-n,h=n;h<o&&(h=o,o=n);for(var r=h+1;r<=e;r++)a*=r;var u=t.math.fact(o);return"NaN"===u?"NaN":a/u},changeSign:function(e){return-e},cos:function(e){return t.math.isDegree&&(e=t.math.toRadian(e)),Math.cos(e)},cosh:function(e){return(Math.pow(Math.E,e)+Math.pow(Math.E,-1*e))/2},div:function(e,t){return e/t},fact:function(e){if(e%1!=0)return"NaN";for(var t=1,n=2;n<=e;n++)t*=n;return t},inverse:function(e){return 1/e},log:function(e){return Math.log(e)/Math.log(10)},mod:function(e,t){return e%t},mul:function(e,t){return e*t},P:function(e,t){for(var n=1,a=Math.floor(e)-Math.floor(t)+1;a<=Math.floor(e);a++)n*=a;return n},Pi:function(e,n,a){for(var o=1,h=e;h<=n;h++)o*=Number(t.postfixEval(a,{n:h}));return o},pow10x:function(e){for(var t=1;e--;)t*=10;return t},sigma:function(e,n,a){for(var o=0,h=e;h<=n;h++)o+=Number(t.postfixEval(a,{n:h}));return o},sin:function(e){return t.math.isDegree&&(e=t.math.toRadian(e)),Math.sin(e)},sinh:function(e){return(Math.pow(Math.E,e)-Math.pow(Math.E,-1*e))/2},sub:function(e,t){return e-t},tan:function(e){return t.math.isDegree&&(e=t.math.toRadian(e)),Math.tan(e)},tanh:function(e){return t.math.sinh(e)/t.math.cosh(e)},toRadian:function(e){return e*Math.PI/180},and:function(e,t){return e&t}}),this.tokens=function(t){return[{token:"sin",show:"sin",type:0,value:t.math.sin},{token:"cos",show:"cos",type:0,value:t.math.cos},{token:"tan",show:"tan",type:0,value:t.math.tan},{token:"pi",show:"&pi;",type:3,value:"PI"},{token:"(",show:"(",type:4,value:"("},{token:")",show:")",type:5,value:")"},{token:"P",show:"P",type:10,value:t.math.P},{token:"C",show:"C",type:10,value:t.math.C},{token:" ",show:" ",type:14,value:" ".anchor},{token:"asin",show:"asin",type:0,value:t.math.asin},{token:"acos",show:"acos",type:0,value:t.math.acos},{token:"atan",show:"atan",type:0,value:t.math.atan},{token:"7",show:"7",type:1,value:"7"},{token:"8",show:"8",type:1,value:"8"},{token:"9",show:"9",type:1,value:"9"},{token:"int",show:"Int",type:0,value:Math.floor},{token:"cosh",show:"cosh",type:0,value:t.math.cosh},{token:"acosh",show:"acosh",type:0,value:t.math.acosh},{token:"ln",show:" ln",type:0,value:Math.log},{token:"^",show:"^",type:10,value:Math.pow},{token:"root",show:"root",type:0,value:Math.sqrt},{token:"4",show:"4",type:1,value:"4"},{token:"5",show:"5",type:1,value:"5"},{token:"6",show:"6",type:1,value:"6"},{token:"/",show:"&divide;",type:2,value:t.math.div},{token:"!",show:"!",type:7,value:t.math.fact},{token:"tanh",show:"tanh",type:0,value:t.math.tanh},{token:"atanh",show:"atanh",type:0,value:t.math.atanh},{token:"Mod",show:" Mod ",type:2,value:t.math.mod},{token:"1",show:"1",type:1,value:"1"},{token:"2",show:"2",type:1,value:"2"},{token:"3",show:"3",type:1,value:"3"},{token:"*",show:"&times;",type:2,value:t.math.mul},{token:"sinh",show:"sinh",type:0,value:t.math.sinh},{token:"asinh",show:"asinh",type:0,value:t.math.asinh},{token:"e",show:"e",type:3,value:"E"},{token:"log",show:" log",type:0,value:t.math.log},{token:"0",show:"0",type:1,value:"0"},{token:".",show:".",type:6,value:"."},{token:"+",show:"+",type:9,value:t.math.add},{token:"-",show:"-",type:9,value:t.math.sub},{token:",",show:",",type:11,value:","},{token:"Sigma",show:"&Sigma;",type:12,value:t.math.sigma},{token:"n",show:"n",type:13,value:"n"},{token:"Pi",show:"&Pi;",type:12,value:t.math.Pi},{token:"pow",show:"pow",type:8,value:Math.pow,numberOfArguments:2},{token:"&",show:"&",type:9,value:t.math.and}].map((function(t){return e({},t,{precedence:n[t.type]})}))}(this)}return t.prototype.eval=function(e,t,n){return this.postfixEval(this.toPostfix(this.lex(e,t)),n)},t}();return A.TOKEN_TYPES=t,A.tokenTypes=t,A}));
var nfRadio=Backbone.Radio;
nfRadio.channel('form').on('render:view', function(){
jQuery('.g-recaptcha').each(function(){
var callback=jQuery(this).data('callback');
var fieldID=jQuery(this).data('fieldid');
if(typeof window[ callback ]!=='function'){
window[ callback ]=function(response){
nfRadio.channel('recaptcha').request('update:response', response, fieldID);
};}});
jQuery('.cf-turnstile').each(function(){
var callback=jQuery(this).data('callback');
var fieldID=jQuery(this).data('fieldid');
if(typeof window[ callback ]!=='function'){
window[ callback ]=function(response){
nfRadio.channel('turnstile').request('update:response', response, fieldID);
};}});
});
var nfRecaptcha=Marionette.Object.extend({
initialize: function(){
if(0!=jQuery('.g-recaptcha').length){
this.renderCaptcha();
}
this.listenTo(nfRadio.channel('form'), 'render:view', this.renderCaptcha);
this.listenTo(nfRadio.channel('captcha'), 'reset', this.renderCaptcha);
},
renderCaptcha: function(){
jQuery('.g-recaptcha:empty').each(function(){
var opts={
fieldid: jQuery(this).data('fieldid'),
size: jQuery(this).data('size'),
theme: jQuery(this).data('theme'),
sitekey: jQuery(this).data('sitekey'),
callback: jQuery(this).data('callback')
};
var grecaptchaID=grecaptcha.render(jQuery(this)[0], opts);
if(opts.size==='invisible'){
try {
nf_reprocess_recaptcha(grecaptchaID);
setInterval(nf_reprocess_recaptcha, 110000, grecaptchaID);
} catch(e){
console.log('Notice: Error trying to execute grecaptcha.');
}}
});
}});
var nfRenderRecaptcha=function(){
new nfRecaptcha();
}
var nfTurnstile=Marionette.Object.extend({
initialize: function(){
if(0!=jQuery('.cf-turnstile').length){
this.renderTurnstile();
}
this.listenTo(nfRadio.channel('form'), 'render:view', this.renderTurnstile);
this.listenTo(nfRadio.channel('captcha'), 'reset', this.renderTurnstile);
},
renderTurnstile: function(){
if(typeof turnstile==='undefined'){
return;
}
jQuery('.cf-turnstile:empty').each(function(){
var opts={
'theme': jQuery(this).data('theme'),
'size': jQuery(this).data('size'),
'sitekey': jQuery(this).data('sitekey'),
'callback': jQuery(this).data('callback')
};
try {
turnstile.render(jQuery(this)[0], opts);
} catch(e){
}});
}});
var nfRenderTurnstile=function(){
new nfTurnstile();
}
if(typeof nf_reprocess_recaptcha==='undefined'){
const nf_reprocess_recaptcha=(grecaptchaID)=> {
grecaptcha.execute(grecaptchaID);
}}
const nf_check_recaptcha_consent=()=> {
let stored_responses=[], services=[];
if(!nf_check_data_for_recaptcha_consent()){
stored_responses.push(false);
services.push("missing_cookie");
}
const response={
"consent_state": stored_responses,
"services":services
};
nfFrontEnd.nf_consent_status_response=response;
let nf_consent_status_extra_check=new CustomEvent('nf_consent_status_check', {detail: response});
document.dispatchEvent(nf_consent_status_extra_check);
return nfFrontEnd.nf_consent_status_response;
}
const nf_check_data_for_recaptcha_consent=()=> {
return nf_get_cookie_by_name("_grecaptcha")!=="";
}
const nf_get_cookie_by_name=(cname)=> {
let name=cname + "=";
let decodedCookie=decodeURIComponent(document.cookie);
let ca=decodedCookie.split(';');
for(let i=0; i <ca.length; i++){
let c=ca[i];
while (c.charAt(0)==' '){
c=c.substring(1);
}
if(c.indexOf(name)==0){
return c.substring(name.length, c.length);
}}
return "";
}
const nf_reload_after_cookie_consent=(submitFieldID, layoutView)=> {
if(typeof submitFieldID!=="undefined"&&typeof layoutView!=="undefined"){
nfRadio.channel('fields').request("remove:error", submitFieldID, "recaptcha-v3-missing");
nfRadio.channel('fields').request("remove:error", submitFieldID, "recaptcha-v3-consent");
nfRadio.channel('form').trigger('render:view', layoutView);
}}
const nf_add_reCaptcha_aria=()=> {
const nf_act_on_inserted_node=(mutationList, observer)=> {
for (const mutation of mutationList){
if(mutation.type==='childList'&&mutation.target.className==="g-recaptcha"){
let nf_recaptchaTextarea=document.getElementById("g-recaptcha-response");
if(typeof nf_recaptchaTextarea!=="undefined"){
nf_recaptchaTextarea.setAttribute("aria-hidden", "true");
nf_recaptchaTextarea.setAttribute("aria-label", "Silent reCaptcha security check");
nf_recaptchaTextarea.setAttribute("aria-readonly", "true");
observer.disconnect();
}}
}
observer.disconnect();
};
const nf_forms_listed=document.querySelectorAll(".ninja-forms-form-wrap");
if(nf_forms_listed.length > 0){
let nf_recaptcha_observers=[];
nf_forms_listed.forEach((nf_form)=> {
nf_recaptcha_observers.push({"class": new MutationObserver(nf_act_on_inserted_node), "element": nf_form});
});
if(nf_recaptcha_observers.length > 0){
nf_recaptcha_observers.forEach((object)=> {
object.class.observe(object.element,
{ childList: true, subtree: true }
);
});
}}
}
const nf_remove_noscript_tags_as_needed=()=> {
const noscripts=document.getElementsByClassName('ninja-forms-noscript-message')
for (let i=0; i < noscripts.length; i++){
noscripts[i].parentNode.removeChild(noscripts[i])
}}
jQuery(document).on('nfFormReady', ()=> {
nf_remove_noscript_tags_as_needed();
nf_add_reCaptcha_aria();
});
!function(){var e,t,i;!function(n){var r,a,o,l,s={},d={},c={},f={},u=Object.prototype.hasOwnProperty,h=[].slice,m=/\.js$/;function g(e,t){return u.call(e,t)}function p(e,t){var i,n,r,a,o,l,s,d,f,u,h,g=t&&t.split("/"),p=c.map,v=p&&p["*"]||{};if(e){for(o=(e=e.split("/")).length-1,c.nodeIdCompat&&m.test(e[o])&&(e[o]=e[o].replace(m,"")),"."===e[0].charAt(0)&&g&&(e=g.slice(0,g.length-1).concat(e)),f=0;f<e.length;f++)if("."===(h=e[f]))e.splice(f,1),f-=1;else if(".."===h){if(0===f||1===f&&".."===e[2]||".."===e[f-1])continue;f>0&&(e.splice(f-1,2),f-=2)}e=e.join("/")}if((g||v)&&p){for(f=(i=e.split("/")).length;f>0;f-=1){if(n=i.slice(0,f).join("/"),g)for(u=g.length;u>0;u-=1)if((r=p[g.slice(0,u).join("/")])&&(r=r[n])){a=r,l=f;break}if(a)break;!s&&v&&v[n]&&(s=v[n],d=f)}!a&&s&&(a=s,l=d),a&&(i.splice(0,l,a),e=i.join("/"))}return e}function v(e,t){return function(){var i=h.call(arguments,0);return"string"!=typeof i[0]&&1===i.length&&i.push(null),a.apply(n,i.concat([e,t]))}}function y(e){return function(t){s[e]=t}}function b(e){if(g(d,e)){var t=d[e];delete d[e],f[e]=!0,r.apply(n,t)}if(!g(s,e)&&!g(f,e))throw new Error("No "+e);return s[e]}function R(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function _(e){return e?R(e):[]}function w(e){return function(){return c&&c.config&&c.config[e]||{}}}o=function(e,t){var i,n,r=R(e),a=r[0],o=t[1];return e=r[1],a&&(i=b(a=p(a,o))),a?e=i&&i.normalize?i.normalize(e,(n=o,function(e){return p(e,n)})):p(e,o):(a=(r=R(e=p(e,o)))[0],e=r[1],a&&(i=b(a))),{f:a?a+"!"+e:e,n:e,pr:a,p:i}},l={require:function(e){return v(e)},exports:function(e){var t=s[e];return void 0!==t?t:s[e]={}},module:function(e){return{id:e,uri:"",exports:s[e],config:w(e)}}},r=function(e,t,i,r){var a,c,u,h,m,p,R,w=[],x=typeof i;if(p=_(r=r||e),"undefined"===x||"function"===x){for(t=!t.length&&i.length?["require","exports","module"]:t,m=0;m<t.length;m+=1)if("require"===(c=(h=o(t[m],p)).f))w[m]=l.require(e);else if("exports"===c)w[m]=l.exports(e),R=!0;else if("module"===c)a=w[m]=l.module(e);else if(g(s,c)||g(d,c)||g(f,c))w[m]=b(c);else{if(!h.p)throw new Error(e+" missing "+c);h.p.load(h.n,v(r,!0),y(c),{}),w[m]=s[c]}u=i?i.apply(s[e],w):void 0,e&&(a&&a.exports!==n&&a.exports!==s[e]?s[e]=a.exports:u===n&&R||(s[e]=u))}else e&&(s[e]=i)},e=t=a=function(e,t,i,s,d){if("string"==typeof e)return l[e]?l[e](t):b(o(e,_(t)).f);if(!e.splice){if((c=e).deps&&a(c.deps,c.callback),!t)return;t.splice?(e=t,t=i,i=null):e=n}return t=t||function(){},"function"==typeof i&&(i=s,s=d),s?r(n,e,t,i):setTimeout(function(){r(n,e,t,i)},4),a},a.config=function(e){return a(e)},e._defined=s,(i=function(e,t,i){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(i=t,t=[]),g(s,e)||g(d,e)||(d[e]=[e,t,i])}).amd={jQuery:!0}}(),i("../../../node_modules/almond/almond",function(){}),i("models/fieldErrorModel",[],function(){return Backbone.Model.extend({})}),i("models/fieldErrorCollection",["models/fieldErrorModel"],function(e){return Backbone.Collection.extend({model:e})}),i("models/fieldModel",["models/fieldErrorCollection"],function(e){return Backbone.Model.extend({defaults:{placeholder:"",value:"",label_pos:"",classes:"ninja-forms-field",reRender:!1,mirror_field:!1,confirm_field:!1,clean:!0,disabled:"",visible:!0,invalid:!1},initialize:function(){var t=this.get("type");this.set("formID",this.collection.options.formModel.get("id")),this.listenTo(nfRadio.channel("form-"+this.get("formID")),"reset",this.resetModel),this.bind("change",this.changeModel,this),this.bind("change:value",this.changeValue,this),this.set("errors",new e),"listimage"===t&&(this.get=this.listimageGet,this.set=this.listimageSet),nfRadio.channel("fields").trigger("init:model",this),nfRadio.channel(this.get("type")).trigger("init:model",this),nfRadio.channel("fields-"+this.get("type")).trigger("init:model",this),void 0!==this.get("parentType")&&nfRadio.channel(this.get("parentType")).trigger("init:model",this),this.listenTo(nfRadio.channel("form-"+this.get("formID")),"loaded",this.formLoaded),this.listenTo(nfRadio.channel("form-"+this.get("formID")),"before:submit",this.beforeSubmit)},listimageGet:function(e){return"options"===e&&(e="image_options"),Backbone.Model.prototype.get.call(this,e)},listimageSet:function(e,t){return"options"===e&&(e="image_options"),Backbone.Model.prototype.set.call(this,e,t)},changeModel:function(){nfRadio.channel("field-"+this.get("id")).trigger("change:model",this),nfRadio.channel(this.get("type")).trigger("change:model",this),nfRadio.channel("fields").trigger("change:model",this)},changeValue:function(){nfRadio.channel("field-"+this.get("id")).trigger("change:modelValue",this),nfRadio.channel(this.get("type")).trigger("change:modelValue",this),nfRadio.channel("fields").trigger("change:modelValue",this)},addWrapperClass:function(e){this.set("addWrapperClass",e)},removeWrapperClass:function(e){this.set("removeWrapperClass",e)},setInvalid:function(e){this.set("invalid",e)},formLoaded:function(){nfRadio.channel("fields").trigger("formLoaded",this),nfRadio.channel("fields-"+this.get("type")).trigger("formLoaded",this)},beforeSubmit:function(e){nfRadio.channel(this.get("type")).trigger("before:submit",this),nfRadio.channel("fields").trigger("before:submit",this)},getValue:function(){return this.get("value")}})}),i("models/fieldCollection",["models/fieldModel"],function(e){var t=Backbone.Collection.extend({model:e,comparator:"order",initialize:function(e,t){this.options=t,this.on("reset",function(e){nfRadio.channel("fields").trigger("reset:collection",e)},this),nfRadio.channel("fields").reply("get:firstFieldByOrder",this.getFirstFieldByOrder)},validateFields:function(){_.each(this.models,function(e){if("repeater"===e.get("type")){const t=nfRadio.channel("field-repeater").request("get:repeaterFieldsModelsArrayByForm",e.get("formID"));_.each(t,function(e){e.set("clean",!1),nfRadio.channel("submit").trigger("validate:field",e)})}else e.set("clean",!1),nfRadio.channel("submit").trigger("validate:field",e)},this);var e=nfRadio.channel("form-"+this.models[0].get("formID")).request("get:form");_.size(e.get("fieldErrors"))>0&&nfRadio.channel("submit").request("focus:firstInvalidInput",Object.keys(e.get("fieldErrors")))},showFields:function(){this.invoke("set",{visible:!0}),this.invoke(function(){this.trigger("change:value",this)})},hideFields:function(){this.invoke("set",{visible:!1}),this.invoke(function(){this.trigger("change:value",this)})},getFirstFieldByOrder:function(e){let t=0;return _.each(e,function(e){const i=nfRadio.channel("fields").request("get:field",e).get("order");t=0===t||i<t?e:t}),t}});return t}),i("models/formErrorModel",[],function(){return Backbone.Model.extend({})}),i("models/formErrorCollection",["models/formErrorModel"],function(e){return Backbone.Collection.extend({model:e})}),i("models/formModel",["models/fieldCollection","models/formErrorCollection"],function(e,t){return Backbone.Model.extend({defaults:{beforeForm:"",afterForm:"",beforeFields:"",afterFields:"",wrapper_class:"",element_class:"",hp:"",fieldErrors:{},extra:{}},initialize:function(){this.set("fieldErrors",{}),this.set("extra",{}),_.each(this.get("settings"),function(e,t){this.set(t,e)},this),this.set("loadedFields",this.get("fields")),this.set("fields",new e(this.get("fields"),{formModel:this})),this.set("errors",new t),nfRadio.channel("form").trigger("before:filterData",this);var i=this.get("formContentData");i||(i=this.get("fieldContentsData"));var n=nfRadio.channel("formContent").request("get:loadFilters"),r=_.without(n,void 0);i=_.first(r)(i,this,this),this.set("formContentData",i),nfRadio.channel("forms").trigger("init:model",this),nfRadio.channel("form-"+this.get("id")).trigger("init:model",this),nfRadio.channel("form-"+this.get("id")).reply("get:fieldByKey",this.getFieldByKey,this),nfRadio.channel("form-"+this.get("id")).reply("add:error",this.addError,this),nfRadio.channel("form-"+this.get("id")).reply("remove:error",this.removeError,this),nfRadio.channel("form-"+this.get("id")).reply("get:extra",this.getExtra,this),nfRadio.channel("form-"+this.get("id")).reply("add:extra",this.addExtra,this),nfRadio.channel("form-"+this.get("id")).reply("remove:extra",this.removeExtra,this),nfRadio.channel("form-"+this.get("id")).reply("get:form",this.getForm,this),nfRadio.channel("form").trigger("loaded",this),nfRadio.channel("form").trigger("after:loaded",this),nfRadio.channel("form-"+this.get("id")).trigger("loaded",this)},getFieldByKey:function(e){return this.get("fields").findWhere({key:e})},addError:function(e,t){this.get("errors").add({id:e,msg:t}),nfRadio.channel("form-"+this.get("id")).trigger("add:error",this,e,t)},removeError:function(e){var t=this.get("errors"),i=t.get(e);t.remove(i),nfRadio.channel("form-"+this.get("id")).trigger("remove:error",this,e)},getExtra:function(e){var t=this.get("extra");return void 0===e?t:t[e]},addExtra:function(e,t){this.get("extra")[e]=t,nfRadio.channel("form-"+this.get("id")).trigger("add:extra",this,e,t)},removeExtra:function(e){delete this.get("extra")[e],nfRadio.channel("form-"+this.get("id")).trigger("remove:extra",this,e)},getForm:function(){return this}})}),i("models/formCollection",["models/formModel"],function(e){return Backbone.Collection.extend({model:e})}),i("controllers/formData",["models/formModel","models/formCollection","models/fieldCollection","models/formErrorCollection"],function(e,t,i,n){return Marionette.Object.extend({initialize:function(){this.collection=new t(nfForms),nfRadio.channel("forms").trigger("loaded",this.collection),nfRadio.channel("app").trigger("forms:loaded",this.collection),nfRadio.channel("app").reply("get:form",this.getForm,this),nfRadio.channel("app").reply("get:forms",this.getForms,this),nfRadio.channel("fields").reply("get:field",this.getField,this)},getForm:function(e){return this.collection.get(e)},getForms:function(){return this.collection},getField:function(e){var t=!1;return _.each(this.collection.models,function(i){t||(t=i.get("fields").get(e))}),void 0===t&&-1!==String(e).indexOf(".")&&(t=nfRadio.channel("field-repeater").request("get:repeaterFieldById",e)),t}})}),i("controllers/fieldError",["models/fieldErrorModel"],function(e){return Marionette.Object.extend({initialize:function(){nfRadio.channel("fields").reply("add:error",this.addError),nfRadio.channel("fields").reply("remove:error",this.removeError),nfRadio.channel("fields").reply("get:error",this.getError)},addError:function(e,t,i){var n=nfRadio.channel("fields").request("get:field",e);if(void 0!==n){var r=n.get("errors");r.add({id:t,msg:i}),n.set("errors",r),n.trigger("change:errors",n),n.set("clean",!1),nfRadio.channel("fields").trigger("add:error",n,t,i)}},removeError:function(e,t){var i=nfRadio.channel("fields").request("get:field",e);if(void 0!==i){var n=i.get("errors"),r=n.get(t);void 0!==r&&(n.remove(r),i.set("errors",n),i.trigger("change:errors",i),nfRadio.channel("fields").trigger("remove:error",i,t))}},getError:function(e,t){var i=nfRadio.channel("fields").request("get:field",e).get("errors").get(t);return"undefined"!=i&&i}})}),i("controllers/changeField",[],function(){return Marionette.Object.extend({initialize:function(){nfRadio.channel("nfAdmin").reply("change:field",this.changeField),this.listenTo(nfRadio.channel("fields"),"blur:field",this.blurField)},changeField:function(e,t){var i=nfRadio.channel(t.get("type")).request("before:updateField",e,t);i=void 0!==(i=void 0!==i?i:nfRadio.channel(t.get("parentType")).request("before:updateField",e,t))?i:jQuery(e).val(),t.set("isUpdated",!1),t.set("clean",!1),nfRadio.channel("field-"+t.get("id")).trigger("change:field",e,t),nfRadio.channel(t.get("type")).trigger("change:field",e,t),nfRadio.channel("fields").trigger("change:field",e,t),nfRadio.channel("nfAdmin").request("update:field",t,i),t.get("repeaterField")&&nfRadio.channel("field-repeater").trigger("set:value")},blurField:function(e,t){t.set("clean",!1)}})}),i("controllers/changeEmail",[],function(){var e=nfRadio.channel("email"),t=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,i="invalid-email";return Marionette.Object.extend({initialize:function(){this.listenTo(e,"change:modelValue",this.onChangeModelValue),this.listenTo(e,"keyup:field",this.emailKeyup),this.listenTo(e,"blur:field",this.onBlurField)},onChangeModelValue:function(e){var t=e.get("value"),i=e.get("id");this.emailChange(t,i)},onBlurField:function(e,t){var i=jQuery(e).val(),n=t.get("id");this.emailChange(i,n)},emailChange:function(e,n){if(0<e.length)if(t.test(e))nfRadio.channel("fields").request("remove:error",n,i);else{var r=nfRadio.channel("fields").request("get:field",n),a=nfRadio.channel("app").request("get:form",r.get("formID"));nfRadio.channel("fields").request("add:error",n,i,a.get("settings").changeEmailErrorMsg)}else nfRadio.channel("fields").request("remove:error",n,i)},emailKeyup:function(e,n,r){if(9==r)return!1;var a=jQuery(e).val(),o=n.get("id");if(0==a.length)nfRadio.channel("fields").request("remove:error",o,i);else if(t.test(a)||n.get("clean"))t.test(a)&&(nfRadio.channel("fields").request("remove:error",o,i),n.addWrapperClass("nf-pass"),n.set("clean",!1));else{var l=nfRadio.channel("fields").request("get:field",o),s=nfRadio.channel("app").request("get:form",l.get("formID"));nfRadio.channel("fields").request("add:error",o,i,s.get("settings").changeEmailErrorMsg),n.removeWrapperClass("nf-pass")}}})}),i("controllers/changeDate",[],function(){var e=nfRadio.channel("date"),t="invalid-date";return Marionette.Object.extend({initialize:function(){this.listenTo(e,"change:modelValue",this.onChangeModelValue),this.listenTo(e,"keyup:field",this.dateKeyup),this.listenTo(e,"blur:field",this.onBlurField),this.listenTo(e,"change:extra",this.changeHoursMinutes,this)},onChangeModelValue:function(e){var t=moment.locale();moment.locale("ninja-forms"),this.dateChange(e),moment.locale(t)},onBlurField:function(e,t){var i=moment.locale();moment.locale("ninja-forms"),this.dateChange(t),moment.locale(i)},dateChange:function(e){var i=e.get("id"),n=e.get("value"),r=e.get("date_format");if("time_only"==e.get("date_mode"))return!1;if(0<n.length)if(this.isDateValid(n,r,i))nfRadio.channel("fields").request("remove:error",i,t);else{var a=nfRadio.channel("fields").request("get:field",i),o=nfRadio.channel("app").request("get:form",a.get("formID"));nfRadio.channel("fields").request("add:error",i,t,o.get("settings").changeDateErrorMsg)}else nfRadio.channel("fields").request("remove:error",i,t)},dateKeyup:function(e,i,n){if(9==n)return!1;var r=jQuery(e).val(),a=i.get("id"),o=i.get("date_format"),l=moment.locale();if(moment.locale("ninja-forms"),0==r.length)nfRadio.channel("fields").request("remove:error",a,t);else if(this.isDateValid(r,o,a)||i.get("clean"))this.isDateValid(r,o,a)&&(nfRadio.channel("fields").request("remove:error",a,t),i.addWrapperClass("nf-pass"),i.set("clean",!1));else{var s=nfRadio.channel("fields").request("get:field",a),d=nfRadio.channel("app").request("get:form",s.get("formID"));nfRadio.channel("fields").request("add:error",a,t,d.get("settings").changeDateErrorMsg),i.removeWrapperClass("nf-pass")}moment.locale(l)},changeHoursMinutes:function(e,t){let i=jQuery(e.target).closest(".nf-field-element"),n=jQuery(i).find(".hour").val(),r=jQuery(i).find(".minute").val(),a=jQuery(i).find(".ampm").val();if(t.set("selected_hour",n),t.set("selected_minute",r),t.set("selected_ampm",a),"time_only"===t.get("date_mode")){const e=void 0!==a?n+":"+r+" "+a:n+":"+r;t.set("value",e)}const o=t.get("id");"string"==typeof o&&-1!==o.search(".")&&nfRadio.channel("field-repeater").trigger("set:value")},isDateValid:function(e,t,i){if(null===document.querySelector("[name='nf-field-"+i+"']"))return;const n=document.querySelector("[name='nf-field-"+i+"']")._flatpickr.parseDate(e,t);if(!n)return!1;const r=n.getTime();if(isNaN(r))return!1;const a=new Date(r);return document.querySelector("[name='nf-field-"+i+"']")._flatpickr.formatDate(a,t)===e}})}),i("controllers/fieldCheckbox",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("checkbox"),"init:model",this.registerRenderClasses),nfRadio.channel("checkbox").reply("validate:required",this.validateRequired),nfRadio.channel("checkbox").reply("validate:modelData",this.validateModelData),nfRadio.channel("checkbox").reply("before:updateField",this.beforeUpdateField,this),nfRadio.channel("checkbox").reply("get:calcValue",this.getCalcValue,this)},beforeUpdateField:function(e,t){if(jQuery(e).prop("checked")){var i=1;jQuery(e).addClass("nf-checked"),jQuery(e).closest(".field-wrap").find('label[for="'+jQuery(e).prop("id")+'"]').addClass("nf-checked-label")}else{i=0;jQuery(e).removeClass("nf-checked"),jQuery(e).closest(".field-wrap").find('label[for="'+jQuery(e).prop("id")+'"]').removeClass("nf-checked-label")}return i},validateRequired:function(e,t){return e[0].checked},validateModelData:function(e){return 0!=e.get("value")},getCalcValue:function(e){return 1==e.get("value")?calcValue=e.get("checked_calc_value"):calcValue=e.get("unchecked_calc_value"),calcValue},registerRenderClasses:function(e){"checked"==e.get("default_value")?e.set("value",1):e.set("value",0),e.set("customClasses",this.customClasses),e.set("customLabelClasses",this.customLabelClasses),e.set("maybeChecked",this.maybeChecked)},customClasses:function(e){return 1==this.value||this.clean&&void 0!==this.default_value&&"checked"==this.default_value?e+=" nf-checked":e.replace("nf-checked",""),e},customLabelClasses:function(e){return 1==this.value||this.clean&&void 0!==this.default_value&&"checked"==this.default_value?e+=" nf-checked-label":e.replace("nf-checked-label",""),e},maybeChecked:function(){return 1==this.value||this.clean&&void 0!==this.default_value&&"checked"==this.default_value?" checked":""}})}),i("controllers/fieldCheckboxList",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("listcheckbox"),"init:model",this.register),this.listenTo(nfRadio.channel("terms"),"init:model",this.register),nfRadio.channel("listcheckbox").reply("before:updateField",this.beforeUpdateField,this),nfRadio.channel("terms").reply("before:updateField",this.beforeUpdateField,this),nfRadio.channel("listcheckbox").reply("get:calcValue",this.getCalcValue,this),nfRadio.channel("terms").reply("get:calcValue",this.getCalcValue,this)},register:function(e){if(e.set("renderOptions",this.renderOptions),e.set("renderOtherText",this.renderOtherText),e.set("selected",[]),0!=e.get("options").length){var t=_.filter(e.get("options"),function(e){return 1==e.selected});t=_.map(t,function(e){return e.value})}var i=e.get("value");void 0!==i&&Array.isArray(i)?e.set("value",i):void 0!==t&&e.set("value",t)},renderOptions:function(){var e="";if(""==this.value||Array.isArray(this.value)&&0<this.value.length||0<this.value.length)var t=!0;else t=!1;if(_.each(this.options,function(i,n){Array.isArray(this.value)&&(Array.isArray(this.value[0])&&-1!==_.indexOf(this.value[0],i.value)||_.indexOf(this.value,i.value))&&(t=!0),i.value==this.value&&(t=!0),void 0===i.visible&&(i.visible=!0),i.fieldID=this.id,i.classes=this.classes,i.index=n,i.label=void 0!==nfFrontEnd.filter_esc_status&&"true"===nfFrontEnd.filter_esc_status?_.escape(i.label):i.label;var r=!1;Array.isArray(this.value)&&0<this.value.length?-1===_.indexOf(this.value[0].split(","),i.value)&&-1===_.indexOf(this.value,i.value)||(r=!0):_.isArray(this.value)||i.value!=this.value?1==i.selected&&this.clean&&void 0===this.value&&(r=!0):r=!0,i.selected=r,i.isSelected=r,i.required=this.required,i.maybeFilterHTML=this.maybeFilterHTML;var a=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listcheckbox-option");e+=a(i)},this),1==this.show_other){"nf-other"==this.value&&(t=!1);var i={fieldID:this.id,classes:this.classes,currentValue:this.value,renderOtherText:this.renderOtherText,valueFound:t},n=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listcheckbox-other");e+=n(i)}return e},renderOtherText:function(){if("nf-other"==this.currentValue||!this.valueFound){"nf-other"==this.currentValue&&(this.currentValue="");var e={fieldID:this.fieldID,classes:this.classes,currentValue:this.currentValue};return nfRadio.channel("app").request("get:template","#tmpl-nf-field-listcheckbox-other-text")(e)}},getCalcValue:function(e){var t=0,i=e.get("options");return 0!=i.length&&_.each(e.get("value"),function(e){var n=_.find(i,function(t){return t.value==e});t=Number(t)+Number(n.calc)}),t},beforeUpdateField:function(e,t){var i=t.get("value")||[];"string"==typeof i&&(i=[i]);var n=jQuery(e).val();if(jQuery(e).prop("checked"))i.push(n),jQuery(e).addClass("nf-checked"),jQuery(e).parent().find('label[for="'+jQuery(e).prop("id")+'"]').addClass("nf-checked-label");else{jQuery(e).removeClass("nf-checked"),jQuery(e).parent().find('label[for="'+jQuery(e).prop("id")+'"]').removeClass("nf-checked-label");var r=i.indexOf(n);if(-1!=r)i.splice(r,1);else if(Array.isArray(i)){var a=void 0!==i[0]?i[0].split(","):[],o=a.indexOf(n);-1!==o&&a.splice(o,1),i=a.join(",")}}return _.clone(i)}})}),i("controllers/fieldImageList",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("listimage"),"init:model",this.register),nfRadio.channel("listimage").reply("before:updateField",this.beforeUpdateField,this),nfRadio.channel("listimage").reply("get:calcValue",this.getCalcValue,this)},register:function(e){if(e.set("renderOptions",this.renderOptions),e.set("renderOtherText",this.renderOtherText),e.set("selected",[]),0!=e.get("image_options").length){var t=_.filter(e.get("image_options"),function(e){return 1==e.selected});t=_.map(t,function(e){return e.value})}var i=e.get("value");void 0!==i&&Array.isArray(i)?e.set("value",i):void 0!==t&&e.set("value",t)},renderOptions:function(){var e="";if(""==this.value||Array.isArray(this.value)&&0<this.value.length||0<this.value.length)var t=!0;else t=!1;1===this.allow_multi_select?(this.old_classname="list-checkbox",this.image_type="checkbox"):this.image_type="radio","horizontal"===this.list_orientation?this.flex_direction="row":this.flex_direction="column";var i=this,n=parseInt(this.num_columns)||1,r=1,a=1;if(_.each(this.image_options,function(o,l){this.show_option_labels?o.label=void 0!==nfFrontEnd.filter_esc_status&&"true"===nfFrontEnd.filter_esc_status?_.escape(o.label):o.label:o.label="",Array.isArray(this.value)&&(Array.isArray(this.value[0])&&-1!==_.indexOf(this.value[0],o.value)||_.indexOf(this.value,o.value))&&(t=!0),o.value==this.value&&(t=!0),void 0===o.visible&&(o.visible=!0),"horizontal"===i.list_orientation&&r<=n&&(o.styles="margin:auto;grid-column: "+r+"; grid-row="+a,r===n?(r=1,a+=1):r+=1),o.image_type=i.image_type,o.fieldID=this.id,o.classes=this.classes,o.index=l;var s=!1;Array.isArray(this.value)&&0<this.value.length?-1===_.indexOf(this.value[0].split(","),o.value)&&-1===_.indexOf(this.value,o.value)||(s=!0):(_.isArray(this.value)||o.value!=this.value)&&(1!=o.selected||!this.clean||void 0!==this.value&&""!==this.value)||(s=!0),o.selected=s,o.isSelected=s,o.required=this.required,o.maybeFilterHTML=this.maybeFilterHTML;var d=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listimage-option");e+=d(o)},this),1==this.show_other){"nf-other"==this.value&&(t=!1);var o={fieldID:this.id,classes:this.classes,value:this.value,currentValue:this.value,renderOtherText:this.renderOtherText,valueFound:t},l=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listimage-other");e+=l(o)}return e},renderOtherText:function(){if("nf-other"==this.currentValue||!this.valueFound){"nf-other"==this.currentValue&&(this.currentValue="");var e={fieldID:this.fieldID,classes:this.classes,currentValue:this.currentValue};return nfRadio.channel("app").request("get:template","#tmpl-nf-field-listimage-other-text")(e)}},getCalcValue:function(e){var t=0,i=e.get("options");if(0!=i.length)if(1==parseInt(e.get("allow_multi_select")))_.each(e.get("value"),function(e){var n=_.find(i,function(t){return t.value==e});t+=Number(n.calc)});else{var n=_.find(i,function(t){return e.get("value")==t.value});void 0!==n&&(t=n.calc)}return t},beforeUpdateField:function(e,t){if(1!==t.get("allow_multi_select")){var i=jQuery(e).val(),n=t.get("image_options");_.each(n,function(e,t){e.value===i?(e.isSelected=!0,e.selected=!0):(e.isSelected=!1,e.selected=!1),e.isSelected?(jQuery("#nf-field-"+e.fieldID+"-"+t).addClass("nf-checked"),jQuery("#nf-label-field-"+e.fieldID+"-"+t).addClass("nf-checked-label")):(e.selected=!1,jQuery("#nf-field-"+e.fieldID+"-"+t).removeClass("nf-checked"),jQuery("#nf-label-field-"+e.fieldID+"-"+t).removeClass("nf-checked-label"))})}else{"string"==typeof(i=t.get("value")||[])&&(i=[i]);var r=jQuery(e).val();if(jQuery(e).prop("checked"))i.push(r),jQuery(e).addClass("nf-checked"),jQuery(e).parent().find('label[for="'+jQuery(e).prop("id")+'"]').addClass("nf-checked-label");else{jQuery(e).removeClass("nf-checked"),jQuery(e).parent().find('label[for="'+jQuery(e).prop("id")+'"]').removeClass("nf-checked-label");var a=i.indexOf(r);if(-1!=a)i.splice(a,1);else if(Array.isArray(i)){var o=i[0].split(","),l=o.indexOf(r);-1!==l&&o.splice(l,1),i=o.join(",")}}}return _.clone(i)}})}),i("controllers/fieldRadio",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("listradio"),"change:modelValue",this.changeModelValue),this.listenTo(nfRadio.channel("listradio"),"init:model",this.register),nfRadio.channel("listradio").reply("get:calcValue",this.getCalcValue,this),this.listenTo(nfRadio.channel("listradio"),"change:field",this.updateCheckedClass,this)},register:function(e){if(e.set("renderOptions",this.renderOptions),e.set("renderOtherText",this.renderOtherText),0!=e.get("options").length){var t=_.find(e.get("options"),function(e){return 1==e.selected});void 0!==t&&e.set("value",t.value)}},changeModelValue:function(e){1==e.get("show_other")&&e.trigger("reRender")},renderOptions:function(){var e="";if(""==this.value)var t=!0;else t=!1;if(_.each(this.options,function(i,n){i.value==this.value&&(t=!0),void 0===i.visible&&(i.visible=!0),i.selected=!1,i.fieldID=this.id,i.classes=this.classes,i.currentValue=this.value,i.index=n,i.label=void 0!==nfFrontEnd.filter_esc_status&&"true"===nfFrontEnd.filter_esc_status?_.escape(i.label):i.label,i.required=this.required,this.clean&&1==this.selected||this.value==i.value?i.selected=!0:i.selected=!1,i.maybeFilterHTML=this.maybeFilterHTML;var r=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listradio-option");e+=r(i)},this),1==this.show_other){"nf-other"==this.value&&(t=!1);var i={fieldID:this.id,classes:this.classes,currentValue:this.value,renderOtherText:this.renderOtherText,valueFound:t},n=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listradio-other");e+=n(i)}return e},renderOtherText:function(){if("nf-other"==this.currentValue||!this.valueFound){"nf-other"==this.currentValue&&(this.currentValue="");var e={fieldID:this.fieldID,classes:this.classes,currentValue:this.currentValue};return nfRadio.channel("app").request("get:template","#tmpl-nf-field-listradio-other-text")(e)}},getCalcValue:function(e){var t=0;if(0!=e.get("options").length){var i=_.find(e.get("options"),function(t){return e.get("value")==t.value});void 0!==i&&(t=i.calc)}return t},updateCheckedClass:function(e,t){jQuery('[name="'+jQuery(e).attr("name")+'"]').removeClass("nf-checked"),jQuery(e).closest("ul").find("label").removeClass("nf-checked-label"),jQuery(e).addClass("nf-checked"),jQuery(e).closest("li").find('label[for="'+jQuery(e).prop("id")+'"]').addClass("nf-checked-label")}})}),i("controllers/fieldNumber",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("number"),"init:model",this.maybeMinDefault),this.listenTo(nfRadio.channel("number"),"keyup:field",this.validateEntry)},maybeMinDefault:function(e){if(""==e.get("value")&&""==e.get("placeholder")){var t=e.get("num_min");e.set("placeholder",t)}},validateEntry:function(e,t){var i=jQuery(e),n=i.val(),r=parseFloat(n),a=i.attr("min"),o=i.attr("max"),l=i.attr("step")?i.attr("step"):"1";if(a&&r<a){var s=nfRadio.channel("fields").request("get:field",t.get("id")),d=nfRadio.channel("app").request("get:form",s.get("formID"));nfRadio.channel("fields").request("add:error",t.get("id"),"number-min",d.get("settings").fieldNumberNumMinError)}else nfRadio.channel("fields").request("remove:error",t.get("id"),"number-min");if(o&&r>o){s=nfRadio.channel("fields").request("get:field",t.get("id")),d=nfRadio.channel("app").request("get:form",s.get("formID"));nfRadio.channel("fields").request("add:error",t.get("id"),"number-max",d.get("settings").fieldNumberNumMaxError)}else nfRadio.channel("fields").request("remove:error",t.get("id"),"number-max");let c=n.split(".");c=void 0!==c[1]?c[1].length:0;let f=l.split(".");f=void 0!==f[1]?f[1].length:0;let u=Math.pow(10,f);if(l&&n&&(c>f||0!==parseInt((u*r).toFixed())%parseInt((u*parseFloat(l)).toFixed()))){s=nfRadio.channel("fields").request("get:field",t.get("id")),d=nfRadio.channel("app").request("get:form",s.get("formID"));nfRadio.channel("fields").request("add:error",t.get("id"),"number-step",d.get("settings").fieldNumberIncrementBy+l)}else nfRadio.channel("fields").request("remove:error",t.get("id"),"number-step")}})}),i("controllers/mirrorField",[],function(){var e=nfRadio.channel("fields");return Marionette.Object.extend({listeningModel:"",initialize:function(){this.listenTo(e,"init:model",this.registerMirror)},registerMirror:function(e){if(e.get("mirror_field")){this.listeningModel=e;var t=e.get("mirror_field");this.listenTo(nfRadio.channel("field-"+t),"change:modelValue",this.changeValue)}},changeValue:function(e){this.listeningModel.set("value",e.get("value")),this.listeningModel.trigger("reRender")}})}),i("controllers/confirmField",[],function(){var e=nfRadio.channel("fields"),t="confirm-mismatch";return Marionette.Object.extend({initialize:function(){this.listenTo(e,"init:model",this.registerConfirm),this.listenTo(e,"keyup:field",this.confirmKeyup)},registerConfirm:function(e){e.get("confirm_field")&&this.listenTo(nfRadio.channel("form"),"loaded",function(t){this.registerConfirmListeners(e)})},registerConfirmListeners:function(e){var t=nfRadio.channel("form-"+e.get("formID")).request("get:fieldByKey",e.get("confirm_field"));void 0!==t&&(t.set("confirm_with",e.get("id")),this.listenTo(nfRadio.channel("field-"+t.get("id")),"change:modelValue",this.changeValue),this.listenTo(nfRadio.channel("field-"+e.get("id")),"change:modelValue",this.changeValue))},changeValue:function(i){if(void 0===i.get("confirm_with"))var n=i,r=nfRadio.channel("form-"+i.get("formID")).request("get:fieldByKey",n.get("confirm_field"));else r=i,n=e.request("get:field",r.get("confirm_with"));r.get("id");var a=n.get("id");if(""==n.get("value")||n.get("value")==r.get("value"))nfRadio.channel("fields").request("remove:error",a,t);else{var o=nfRadio.channel("fields").request("get:field",a),l=nfRadio.channel("app").request("get:form",o.get("formID"));nfRadio.channel("fields").request("add:error",a,t,l.get("settings").confirmFieldErrorMsg)}},confirmKeyup:function(e,i,n){var r=jQuery(e).val();if(i.get("confirm_field"))var a=i,o=i.get("id"),l=nfRadio.channel("form-"+i.get("formID")).request("get:fieldByKey",a.get("confirm_field")).get("value"),s=r;else if(i.get("confirm_with"))o=(a=nfRadio.channel("fields").request("get:field",i.get("confirm_with"))).get("id"),l=s=a.get("value");if(void 0!==a)if(""==s)nfRadio.channel("fields").request("remove:error",o,t);else if(r==l)nfRadio.channel("fields").request("remove:error",o,t);else{var d=nfRadio.channel("fields").request("get:field",o),c=nfRadio.channel("app").request("get:form",d.get("formID"));nfRadio.channel("fields").request("add:error",o,t,c.get("settings").confirmFieldErrorMsg)}}})}),i("controllers/updateFieldModel",[],function(){return Marionette.Object.extend({initialize:function(){nfRadio.channel("nfAdmin").reply("update:field",this.updateField)},updateField:function(e,t){e.get("isUpdated")||(e.set("value",t),e.set("isUpdated",!0),_.isArray(t)&&e.trigger("change:value",e))}})}),i("controllers/submitButton",["controllers/submitButton"],function(e){return Marionette.Object.extend({bound:{},initialize:function(){this.listenTo(nfRadio.channel("submit"),"init:model",this.registerHandlers)},registerHandlers:function(e){if(void 0!==this.bound[e.get("id")])return!1;this.listenTo(nfRadio.channel("field-"+e.get("id")),"click:field",this.click,this),e.listenTo(nfRadio.channel("form-"+e.get("formID")),"before:submit",this.beforeSubmit,e),e.listenTo(nfRadio.channel("form-"+e.get("formID")),"submit:failed",this.resetLabel,e),e.listenTo(nfRadio.channel("form-"+e.get("formID")),"submit:response",this.resetLabel,e),e.listenTo(nfRadio.channel("form-"+e.get("formID")),"enable:submit",this.maybeEnable,e),e.listenTo(nfRadio.channel("form-"+e.get("formID")),"disable:submit",this.maybeDisable,e),e.listenTo(nfRadio.channel("form-"+e.get("formID")),"processingLabel",this.processingLabel,e),e.listenTo(nfRadio.channel("fields"),"add:error",this.maybeDisable,e),e.listenTo(nfRadio.channel("fields"),"remove:error",this.maybeEnable,e),this.bound[e.get("id")]=!0},click:function(e,t){var i=nfRadio.channel("app").request("get:form",t.get("formID"));_.size(i.get("fieldErrors"))>0&&nfRadio.channel("submit").request("focus:firstInvalidInput",Object.keys(i.get("fieldErrors"))),nfRadio.channel("form-"+t.get("formID")).request("submit",i)},beforeSubmit:function(){this.get("disabled")||(this.set("disabled",!0),nfRadio.channel("form-"+this.get("formID")).trigger("processingLabel",this))},maybeDisable:function(e){void 0!==e&&e.get("formID")!=this.get("formID")||(this.set("disabled",!0),this.trigger("reRender"))},maybeEnable:function(e){if(void 0!==e&&e.get("formID")!=this.get("formID"))return!1;var t=nfRadio.channel("app").request("get:form",this.get("formID"));0==_.size(t.get("fieldErrors"))&&(this.set("disabled",!1),this.trigger("reRender"))},processingLabel:function(){this.set("oldLabel",this.get("label")),this.set("label",this.get("processing_label")),this.set("disabled",!0),this.trigger("reRender")},resetLabel:function(e){void 0!==e.errors&&void 0!==e.errors.nonce&&_.size(e.errors.nonce)>0&&void 0!==e.errors.nonce.new_nonce&&void 0!==e.errors.nonce.nonce_ts||(void 0!==this.get("oldLabel")&&this.set("label",this.get("oldLabel")),this.set("disabled",!1),this.trigger("reRender"))}})}),i("controllers/submitDebug",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.submitDebug)},submitDebug:function(e,t,i,n){if(void 0!==e.debug){if(void 0!==e.debug.form){var r=document.createElement("span");_.each(e.debug.form,function(e,t){var i=document.createTextNode(e);r.appendChild(i),r.appendChild(document.createElement("br"))}),jQuery(".nf-debug-msg").html(r)}if(void 0!==e.debug.console){console.log("%c%s","","NINJA SUPPORT"),_.each(e.debug.console,function(e,t){console.log(e)}),console.log("%c%s","","END NINJA SUPPORT")}}}})}),i("controllers/getFormErrors",[],function(){nfRadio.channel("fields");return Marionette.Object.extend({initialize:function(e){nfRadio.channel("form").reply("get:errors",this.getFormErrors)},getFormErrors:function(e){var t=nfRadio.channel("app").request("get:form",e),i=!1;return t&&(0!==t.get("errors").length&&_.each(t.get("errors").models,function(e){(i=i||{})[e.get("id")]=e.get("msg")}),_.each(t.get("fields").models,function(e){"submit"!=e.get("type")&&e.get("errors").length>0&&((i=i||{})[e.get("id")]=e.get("errors"))})),i}})}),i("controllers/validateRequired",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("fields"),"blur:field",this.validateRequired),this.listenTo(nfRadio.channel("fields"),"change:field",this.validateRequired),this.listenTo(nfRadio.channel("fields"),"keyup:field",this.validateKeyup),this.listenTo(nfRadio.channel("fields"),"change:modelValue",this.validateModelData),this.listenTo(nfRadio.channel("submit"),"validate:field",this.validateModelData)},validateKeyup:function(e,t,i){if(1!=t.get("required"))return!1;t.get("clean")||this.validateRequired(e,t)},validateRequired:function(e,t){if(1!=t.get("required")||!t.get("visible"))return!1;var i=jQuery(e).val(),n=nfRadio.channel(t.get("type")).request("validate:required",e,t),r=!0,a=this.getMask(t);if(a&&i===a&&(0<t.get("errors").length||!t.get("clean"))&&(r=!1),String(i).trim()||(r=!1),void 0!==n)var o=n;else o=r;this.maybeError(o,t)},getMask:function(e){var t=e.get("mask");if(void 0!==t){switch(t){case"":break;case"currency":t=nfi18n.currencySymbol;break;case"custom":t=e.get("custom_mask");default:t=(t=(t=t.replace(/9/g,"_")).replace(/a/g,"_")).replace(/\*/g,"_")}return t}},validateModelData:function(e){if(1!=e.get("required")||!e.get("visible")||e.get("clean"))return!1;if(e.get("errors").get("required-error"))return!1;currentValue=e.get("value");var t=!0;String(currentValue).trim()||(t=!1);var i=nfRadio.channel(e.get("type")).request("validate:modelData",e);if(void 0!==i)var n=i;else n=t;this.maybeError(n,e)},maybeError:function(e,t){if(e)nfRadio.channel("fields").request("remove:error",t.get("id"),"required-error");else{var i=nfRadio.channel("form-"+t.get("formID")).request("get:form");void 0!==i&&nfRadio.channel("fields").request("add:error",t.get("id"),"required-error",i.get("settings").validateRequiredField)}}})}),i("controllers/submitError",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.submitErrors),nfRadio.channel("submit").reply("focus:firstInvalidInput",this.focusFirstInvalidInput)},submitErrors:function(e,t,i,n){if(_.size(e.errors.nonce)>0&&void 0!==e.errors.nonce.new_nonce&&void 0!==e.errors.nonce.nonce_ts){nfFrontEnd.ajaxNonce=e.errors.nonce.new_nonce,nfFrontEnd.nonce_ts=e.errors.nonce.nonce_ts;var r=nfRadio.channel("app").request("get:form",n);nfRadio.channel("form-"+n).request("submit",r)}if(_.size(e.errors.fields)>0&&_.each(e.errors.fields,function(e,t){"object"==typeof e?nfRadio.channel("fields").request("add:error",t,e.slug,e.message):nfRadio.channel("fields").request("add:error",t,"required-error",e)}),_.size(e.errors.form)>0&&_.each(e.errors.form,function(e,t){nfRadio.channel("form-"+n).request("remove:error",t),nfRadio.channel("form-"+n).request("add:error",t,e)}),void 0!==e.errors.last&&void 0!==e.errors.last.message){var a="background: rgba(255, 207, 115, .5); color: #FFA700; display: block;";console.log("%c NINJA FORMS SUPPORT: SERVER ERROR",a),console.log(e.errors.last.message),console.log("%c END SERVER ERROR MESSAGE",a)}jQuery("#nf-form-"+n+"-cont .nf-field-container").show()},focusFirstInvalidInput:function(e){const t=nfRadio.channel("fields").request("get:firstFieldByOrder",e);null!==document.getElementById("nf-field-"+t)&&document.getElementById("nf-field-"+t).focus()}})}),i("controllers/actionRedirect",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.actionRedirect)},actionRedirect:function(e){void 0!==e.data.halt&&void 0!==e.data.halt.redirect&&""!=e.data.halt.redirect&&(window.location=e.data.halt.redirect),0==_.size(e.errors)&&void 0!==e.data.actions&&void 0!==e.data.actions.redirect&&""!=e.data.actions.redirect&&(window.location=e.data.actions.redirect)}})}),i("controllers/actionSuccess",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.actionSubmit)},actionSubmit:function(e){if(0==_.size(e.errors)&&void 0!==e.data.actions&&void 0!==e.data.actions.success_message&&""!=e.data.actions.success_message){var t=e.data.form_id,i=jQuery("#nf-form-"+t+"-cont .nf-response-msg");const l=e.data.actions.success_message.replace(/(<([^>]+)>)/gi,"");i.attr("tabindex","0"),i.attr("aria-live","assertive"),i.attr("aria-label",l),i.html(e.data.actions.success_message).show(),i.focus();var n=i.offset().top,r=i.offset().top+i.outerHeight(),a=jQuery(window).scrollTop()+jQuery(window).height(),o=jQuery(window).scrollTop();a>r&&o<n||jQuery("html, body").animate({scrollTop:i.offset().top-50},300)}}})}),i("controllers/fieldSelect",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("fields"),"init:model",function(e){"list"==e.get("parentType")&&this.register(e)},this),nfRadio.channel("listselect").reply("get:calcValue",this.getCalcValue,this),nfRadio.channel("listmultiselect").reply("get:calcValue",this.getCalcValue,this)},register:function(e){if(e.set("renderOptions",this.renderOptions),e.set("renderOtherAttributes",this.renderOtherAttributes),0!=e.get("options").length){var t=e.get("value");if("listmultiselect"==e.get("type"))var i=_.filter(e.get("options"),function(e){return 1==e.selected}),n=i=_.map(i,function(e){return e.value});else if("listradio"!==e.get("type")){if(void 0===(i=_.find(e.get("options"),function(e){return 1==e.selected}))&&(i=_.first(e.get("options"))),void 0!==i&&void 0!==i.value)n=i.value;else if(void 0!==i)n=i.label}void 0!==t&&""!==t&&Array.isArray(t)?e.set("value",t):void 0!==i&&e.set("value",n)}},renderOptions:function(){var e="";return _.each(this.options,function(t){if(_.isArray(this.value)){if("listmultiselect"===this.type&&0<this.value.length&&-1!=_.indexOf(this.value[0].split(","),t.value))var i=!0;else if(-1!=_.indexOf(this.value,t.value))i=!0}else if(_.isArray(this.value)||t.value!=this.value)if(1==t.selected&&this.clean&&void 0===this.value)i=!0;else i=!1;else var i=!0;void 0===t.visible&&(t.visible=!0),t.selected=i,t.fieldID=this.id,t.classes=this.classes,t.currentValue=this.value,t.label=void 0!==nfFrontEnd.filter_esc_status&&"true"===nfFrontEnd.filter_esc_status?_.escape(t.label):t.label,t.maybeFilterHTML=this.maybeFilterHTML;var n=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listselect-option");e+=n(t)},this),e},renderOtherAttributes:function(){var e="";"listmultiselect"==this.type&&(e=(e+=" multiple")+' size="'+(this.multi_size||5)+'"');return e},getCalcValue:function(e){var t=0,i=e.get("options");if(0!=i.length)if("listmultiselect"==e.get("type"))_.each(e.get("value"),function(e){var n=_.find(i,function(t){return t.value==e});t+=Number(n.calc)});else{var n=_.find(i,function(t){return e.get("value")==t.value});void 0===n&&(n=e.get("options")[0]),t=n.calc}return t}})}),i("controllers/coreSubmitResponse",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.actionSubmit)},actionSubmit:function(e){var t=nfRadio.channel("app").request("get:form",e.data.form_id);if(0!=_.size(e.errors))return!1;1==e.data.settings.clear_complete&&(t.get("fields").reset(t.get("loadedFields")),1!=e.data.settings.hide_complete&&nfRadio.channel("captcha").trigger("reset")),1==e.data.settings.hide_complete&&t.trigger("hide")}})}),i("controllers/fieldProduct",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("product"),"init:model",this.register),nfRadio.channel("product").reply("get:calcValue",this.getCalcValue,this)},register:function(e){e.set("renderProductQuantity",this.renderProductQuantity),e.set("renderProduct",this.renderProduct),e.set("renderOptions",this.renderOptions)},renderProduct:function(){switch(this.product_type){case"user":return nfRadio.channel("app").request("get:template","#tmpl-nf-field-textbox")(this);case"hidden":return nfRadio.channel("app").request("get:template","#tmpl-nf-field-hidden")(this);case"dropdown":return nfRadio.channel("app").request("get:template","#tmpl-nf-product-dropdown")(this);default:return nfRadio.channel("app").request("get:template","#tmpl-nf-product-single")(this)}},renderProductQuantity:function(){if(1==this.product_use_quantity)return nfRadio.channel("app").request("get:template","#tmpl-nf-product-quantity")(this)},renderOptions:function(){var e=this,t="";return _.each(this.options,function(i){if(1==i.selected)var n=!0;else n=!1;i.selected=n,i.fieldID=e.id,i.classes=e.classes,i.currentValue=e.value;var r=nfRadio.channel("app").request("get:template","#tmpl-nf-product-"+e.product_type+"-option");t+=r(i)}),t},getCalcValue:function(e){return e.get("product_price")*e.get("value")}})}),i("controllers/fieldTotal",[],function(){return Marionette.Object.extend({totalModel:{},productTotals:{},initialize:function(){this.listenTo(nfRadio.channel("total"),"init:model",this.register),this.listenTo(nfRadio.channel("shipping"),"init:model",this.registerShipping)},register:function(e){this.totalModel=e;var t=e.get("formID");this.listenTo(nfRadio.channel("form-"+t),"loaded",this.onFormLoaded),this.listenTo(nfRadio.channel("product"),"change:modelValue",this.onChangeProduct),this.listenTo(nfRadio.channel("quantity"),"change:modelValue",this.onChangeQuantity)},registerShipping:function(e){this.shippingCost=e.get("shipping_cost")},onFormLoaded:function(e){var t=e.get("fields").models,i={},n={};for(var r in t){var a=t[r],o=a.get("id");if("product"==a.get("type"))i[o]=a;else if("quantity"==a.get("type")){n[l=a.get("product_assignment")]=a}}for(var l in i){var s=i[l],d=Number(s.get("product_price"));n[l]?d*=n[l].get("value"):1==s.get("product_use_quantity")&&(d*=s.get("value")),this.productTotals[l]=d}this.updateTotal()},onChangeProduct:function(e){var t=e.get("id"),i=Number(e.get("product_price")),n=Number(e.get("value"))*i;this.productTotals[t]=n,this.updateTotal()},onChangeQuantity:function(e){var t=e.get("product_assignment"),i=nfRadio.channel("fields").request("get:field",t),n=Number(i.get("product_price")),r=Number(e.get("value"))*n;this.productTotals[t]=r,this.updateTotal()},updateTotal:function(){var e=0;for(var t in this.productTotals)e+=Number(this.productTotals[t]);e&&this.shippingCost&&(e+=Number(this.shippingCost)),this.totalModel.set("value",e.toFixed(2)),this.totalModel.trigger("reRender")}})}),i("controllers/fieldQuantity",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("quantity"),"init:model",this.registerQuantity)},registerQuantity:function(e){var t=e.get("product_assignment"),i=nfRadio.channel("fields").request("get:field",t);i&&i.set("product_use_quantity",0)}})}),i("models/calcModel",[],function(){return Backbone.Model.extend({initialize:function(){this.set("formID",this.collection.options.formModel.get("id")),this.set("fields",{}),nfRadio.channel("calc").trigger("init:model",this),this.on("change:value",this.changeValue,this)},changeField:function(e){nfRadio.channel("calc").trigger("change:field",this,e)},changeCalc:function(e){nfRadio.channel("calc").trigger("change:calc",this,e)},changeValue:function(){nfRadio.channel("calc").trigger("change:value",this)}})}),i("models/calcCollection",["models/calcModel"],function(e){return Backbone.Collection.extend({model:e,comparator:"order",initialize:function(e,t){this.options=t,_.each(e,function(e){void 0!==e.dec&&(""===e.dec.toString().trim()&&(e.dec=2),e.dec=parseInt(e.dec))}),nfRadio.channel("form-"+t.formModel.get("id")).reply("get:calc",this.getCalc,this)},getCalc:function(e){return this.findWhere({name:e})}})}),i("controllers/calculations",["models/calcCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.calcs={},this.displayFields={},this.listenTo(nfRadio.channel("form"),"loaded",this.registerCalcs),this.listenTo(nfRadio.channel("fields"),"reset:collection",this.resetCalcs),this.listenTo(nfRadio.channel("calc"),"change:field",this.changeField),this.listenTo(nfRadio.channel("calc"),"change:calc",this.changeCalc);var e=this;_.each(nfFrontEnd.use_merge_tags.calculations,function(t){e.listenTo(nfRadio.channel("fields-"+t),"init:model",e.initDisplayField)}),this.listenTo(nfRadio.channel("calc"),"change:value",this.updateDisplayFields),this.init={}},resetCalcs:function(e){void 0!==e.options.formModel&&this.registerCalcs(e.options.formModel)},registerCalcs:function(t){var i=new e(t.get("settings").calculations,{formModel:t});this.calcs[t.get("id")]=i;var n=this;_.each(i.models,function(e){n.init[e.get("name")]=!0,n.setupCalc(e)})},setupCalc:function(e){var t=this,i=e.get("eq"),n=i,r=(e.get("name"),i.match(new RegExp(/{field:(.*?)}/g)));r&&(r=r.map(function(i){var r=i.replace(":calc}","").replace("}","").replace("{field:","");if(fieldModel=nfRadio.channel("form-"+e.get("formID")).request("get:fieldByKey",r),"undefined"!=typeof fieldModel){fieldModel.set("clean",!1),fieldModel.on("change:value",e.changeField,e);var a=t.getCalcValue(fieldModel);t.updateCalcFields(e,r,a),n=t.replaceKey("field",r,a,n)}}));var a=i.match(new RegExp(/{calc:(.*?)}/g));a&&(a=a.map(function(i){var r=i.replace("}","").replace("{calc:",""),a=e.collection.findWhere({name:r});if(void 0!==a){a.on("change:value",e.changeCalc,e);var o=a.get("value");n=t.replaceKey("calc",r,o,n)}})),n=(n=n.replace(/{([a-zA-Z0-9]|:|_|-)*}/g,0)).replace(/\r?\n|\r/g,"");try{this.debug("Calculation Decoder "+n+" -> "+this.localeDecodeEquation(n)+" (Setup)");const t=new Mexp;e.set("value",Number(t.eval(this.localeDecodeEquation(n))).toFixed(e.get("dec")))}catch(e){console.log(e)}"NaN"===e.get("value")&&e.set("value","0")},updateCalcFields:function(e,t,i){var n=e.get("fields");n[t]=i,e.set("fields",n)},getCalcValue:function(e){var t=nfRadio.channel(e.get("type")).request("get:calcValue",e),i=e.get("value");void 0!==t&&(t||0===t)&&(i=t);var n=new r(nfi18n.siteLocale,nfi18n.thousands_sep,nfi18n.decimal_point),a=n.numberDecoder(i),o=n.numberEncoder(i);return t=void 0!==a&&jQuery.isNumeric(a)?o:0,e.get("visible")||(t=0),t},replaceKey:function(e,t,i,n){n=n||calcModel.get("eq"),tag="{"+e+":"+t+"}";var r=new RegExp(tag,"g");calcTag="{"+e+":"+t+":calc}";var a=new RegExp(calcTag,"g");return n=(n=n.replace(r,i)).replace(a,i)},replaceAllKeys:function(e){var t=e.get("eq"),i=this;_.each(e.get("fields"),function(e,n){t=i.replaceKey("field",n,e,t)});var n=t.match(new RegExp(/{calc:(.*?)}/g));return n&&_.each(n,function(i){var n=i.replace("}","").replace("{calc:",""),r=e.collection.findWhere({name:n});if(void 0!==r){var a=new RegExp(i,"g");t=t.replace(a,r.get("value"))}}),t},changeField:function(e,t){var i=t.get("key"),n=this.getCalcValue(t);this.updateCalcFields(e,i,n);var r=this.replaceAllKeys(e);r=(r=r.replace(/{([a-zA-Z0-9]|:|_|-)*}/g,"0")).replace(/\r?\n|\r/g,"");try{this.debug("Calculation Decoder "+r+" -> "+this.localeDecodeEquation(r)+" (Change Field)");const t=new Mexp;e.set("value",Number(t.eval(this.localeDecodeEquation(r))).toFixed(e.get("dec")))}catch(e){this.debug()&&console.log(e)}"NaN"===e.get("value")&&e.set("value","0")},initDisplayField:function(e){if(e.get("default")&&"string"==typeof e.get("default")){var t=e.get("default").match(new RegExp(/{calc:(.*?)}/g));t&&_.each(t,function(t){t=t.replace("{calc:","").replace("}","").replace(":2",""),this.displayFields[t]=this.displayFields[t]||[],this.displayFields[t].push(e)},this)}},updateDisplayFields:function(e){var t=this;void 0!==this.displayFields[e.get("name")]&&_.each(this.displayFields[e.get("name")],function(i){var n="",r=(n="html"===i.get("type")?i.get("value"):i.get("default")).match(new RegExp(/<span data-key="calc:(.*?)<\/span>/g));_.each(r,function(e){var t="{"+e.replace('<span data-key="',"").replace(/">(.*?)<\/span>/,"")+"}";n=n.replace(e,t)});var a=n.match(new RegExp(/{calc:(.*?)}/g));_.each(a,function(e){var r=e.replace("}","").replace("{calc:","").replace(":2",""),a=t.calcs[i.get("formID")].findWhere({name:r}),o=new RegExp(e,"g"),l=a.get("value");void 0!==l&&(l=t.applyLocaleFormatting(l,a)),n="html"===i.get("type")?n.replace(o,'<span data-key="calc:'+r+'">'+l+"</span>"):n.replace(o,l)}),i.set("value",n),t.init[e.get("name")]||i.trigger("reRender"),t.init[e.get("name")]=!1})},getCalc:function(e,t){return this.calcs[t].findWhere({name:e})},changeCalc:function(e,t){var i=this.replaceAllKeys(e);i=(i=i.replace("[","").replace("]","")).replace(/\r?\n|\r/g,"");try{this.debug("Calculation Decoder "+i+" -> "+this.localeDecodeEquation(i)+" (Change Calc)");const t=new Mexp;e.set("value",Number(t.eval(this.localeDecodeEquation(i))).toFixed(e.get("dec")))}catch(e){console.log(e)}"NaN"===e.get("value")&&e.set("value","0")},applyLocaleFormatting:function(e,t){return new r(nfi18n.siteLocale,nfi18n.thousands_sep,nfi18n.decimal_point).numberEncoder(e,t.get("dec"))},localeDecodeEquation:function(e){var t="",i="",n=/[0-9.,]/,a=new r(nfi18n.siteLocale,nfi18n.thousands_sep,nfi18n.decimal_point);return(e=(e=e.replace(/\s/g,"")).replace(/&nbsp;/g,"")).split("").forEach(function(e){n.test(e)?i+=e:(0<i.length&&(t+=a.numberDecoder(i),i=""),t+=e)}),0<i.length&&(t+=a.numberDecoder(i)),t},debug:function(e){window.nfCalculationsDebug&&console.log(e)}})}),i("controllers/dateBackwardsCompat",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(Backbone.Radio.channel("pikaday-bc"),"init",this.dateBackwardsCompat)},dateBackwardsCompat:function(e,t){if(e.pikaday={},e.pikaday._o={},nfRadio.channel("pikaday").trigger("init",e,t),void 0!==e.pikaday._o.disableDayFn&&e.set("disable",[e.pikaday._o.disableDayFn]),void 0!==e.pikaday._o.i18n||void 0!==e.pikaday._o.firstDay){let t=e.config.locale;void 0!==e.pikaday._o.firstDay&&(t.firstDayOfWeek=e.pikaday._o.firstDay),void 0!==e.pikaday._o.i18n&&(void 0!==e.pikaday._o.i18n.weekdays&&(t.weekdays.longhand=e.pikaday._o.i18n.weekdays),void 0!==e.pikaday._o.i18n.weekdaysShort&&(t.weekdays.shorthand=e.pikaday._o.i18n.weekdaysShort),void 0!==e.pikaday._o.i18n.months&&jQuery(".flatpickr-monthDropdown-months > option").each(function(){this.text=e.pikaday._o.i18n.months[this.value]})),e.set("locale",t)}Object.keys(e.pikaday._o).length>0&&(console.log("%cDeprecated Ninja Forms Pikaday custom code detected.","color: Red; font-size: large"),console.log("You are using deprecated Ninja Forms Pikaday custom code. Support for this custom code will be removed in a future version of Ninja Forms. Please contact Ninja Forms support for more details."))}})}),i("controllers/fieldDate",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("date"),"init:model",this.initModel),this.listenTo(nfRadio.channel("date"),"render:view",this.initDatepicker)},initModel:function(e){this.registerFunctions(e)},registerFunctions:function(e){e.set("renderHourOptions",this.renderHourOptions),e.set("renderMinuteOptions",this.renderMinuteOptions),e.set("maybeRenderAMPM",this.maybeRenderAMPM),e.set("customClasses",this.customClasses),e.getValue=this.getValue},renderHourOptions:function(){return this.hours_options},renderMinuteOptions:function(){return this.minutes_options},maybeRenderAMPM:function(){if(void 0!==this.hours_24&&1!=this.hours_24)return`<div style="float:left;" class="time-wrap"><select id="ampm-select" class="ampm extra" aria-label="am-pm-select" ${1==this.required?'aria-required="true" required':""}><option value="am">AM</option><option value="pm">PM</option></select></div>`},initDatepicker:function(e){e.model.set("el",e.el);var t=jQuery(e.el).find(".nf-element")[0];if(e.listenTo(nfRadio.channel("form-"+e.model.get("formID")),"before:submit",this.beforeSubmit,e),void 0!==e.model.get("date_mode")&&"time_only"==e.model.get("date_mode"))return jQuery(t).hide(),!1;var i=this.convertDateFormat(e.model.get("date_format"));e.model.set("date_format",i);var n={onReady:(e,i,n)=>{n.altInput.setAttribute("aria-labelledby",jQuery(t).attr("aria-labelledby")),n.altInput.setAttribute("aria-invalid",!1)},dateFormat:i,altFormat:i,altInput:!0,ariaDateFormat:i,mode:"single",allowInput:!0,disableMobile:"true",minDate:this.getMinDate(e.model),maxDate:this.getMaxDate(e.model)};const r=this.checkCustomLocale();r&&(n.locale=r);let a=nfRadio.channel("flatpickr").request("filter:settings",n,e);void 0!==a&&(n=a);var o=flatpickr(t,n);1!=e.model.get("date_default")||e.model.get("value")||(o.defaultDate=new Date,o.setDate(o.defaultDate),e.model.set("value",o.defaultDate)),1==e.model.get("date_default")&&"string"==typeof e.model.get("id")&&e.model.get("id").includes(".")&&"object"==typeof e.model.get("value")&&this.isSameDay(e.model.get("value"),new Date)&&(o.defaultDate=new Date,o.setDate(o.defaultDate,!0),e.model.set("value",o.defaultDate)),nfRadio.channel("pikaday-bc").trigger("init",o,e.model,e),nfRadio.channel("flatpickr").trigger("init",o,e.model,e)},beforeSubmit:function(e){if(_.isObject(this.model.get("value"))){const e=this.el.querySelector("input[type='hidden']").value;this.model.set("value",e)}if(-1!==this.el.dataset.fieldId.search(".")&&(nfRadio.channel("field-repeater").trigger("set:value"),"time_only"===this.model.get("date_mode")))return;if("date_only"==this.model.get("date_mode"))return!1;let t=jQuery(this.el).find(".hour").val(),i=jQuery(this.el).find(".minute").val(),n=jQuery(this.el).find(".ampm").val(),r=this.model.get("value"),a=!1;a=_.isObject(r)?r.date:r;let o={date:a,hour:t,minute:i,ampm:n};this.model.set("value",o)},getMinDate:function(e){let t=null;if(void 0!==e.get("year_range_start")){const i=e.get("year_range_start");i&&(t=flatpickr.formatDate(new Date(String(i)),e.get("date_format")))}return t},getMaxDate:function(e){let t=null;if(void 0!==e.get("year_range_end")){const i=e.get("year_range_end");i&&(t=flatpickr.formatDate(new Date(String(i)),e.get("date_format")))}return t},convertDateFormat:function(e){!e&&this.model&&(e=this.model.get("date_format")),e||(e="default");const t={"MM/DD/YYYY":"m/d/Y","MM-DD-YYYY":"m-d-Y","MM.DD.YYYY":"m.d.Y","DD/MM/YYYY":"d/m/Y","DD-MM-YYYY":"d-m-Y","DD.MM.YYYY":"d.m.Y","YYYY-MM-DD":"Y-m-d","YYYY/MM/DD":"Y/m/d","YYYY.MM.DD":"Y.m.d","dddd, MMMM D YYYY":"l, F d Y",default:nfi18n.dateFormat?nfi18n.dateFormat:"default"};return Object.keys(t).includes(e)?t[e]:e},customClasses:function(e){return"date_and_time"==this.date_mode&&(e+=" date-and-time"),e},checkCustomLocale:function(){let e={};return nfi18n&&((nfi18n.months||nfi18n.monthsShort)&&(e.months={},nfi18n.months&&(e.months.longhand=nfi18n.months),nfi18n.monthsShort&&(e.months.shorthand=nfi18n.monthsShort)),(nfi18n.weekdays||nfi18n.weekdaysShort)&&(e.weekdays={},nfi18n.weekdays&&(e.weekdays.longhand=nfi18n.weekdays),nfi18n.weekdaysShort&&(e.weekdays.shorthand=nfi18n.weekdaysShort)),nfi18n.startOfWeek&&(e.firstDayOfWeek=nfi18n.startOfWeek)),!_.isEmpty(e)&&e},getValue:function(){if("date_only"==this.get("date_mode"))return this.get("value");let e=this.get("el"),t=jQuery(e).find(".hour").val(),i=jQuery(e).find(".minute").val(),n=jQuery(e).find(".ampm").val(),r=this.get("value"),a=!1;a=_.isObject(r)?r.date:r;let o="";return void 0!==a&&(o+=a),void 0!==t&&void 0!==i&&(o+=" "+t+":"+i),void 0!==n&&(o+=" "+n),o},isSameDay:function(e,t){const i=new Date(e),n=new Date(t);return i.setHours(0,0,0,0),n.setHours(0,0,0,0),i.getTime()===n.getTime()}})}),i("controllers/fieldRecaptcha",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("recaptcha"),"init:model",this.initRecaptcha),this.listenTo(nfRadio.channel("forms"),"submit:response",this.resetRecaptcha)},initRecaptcha:function(e){nfRadio.channel("recaptcha").reply("update:response",this.updateResponse,this,e.id)},updateResponse:function(e,t){var i=nfRadio.channel("fields").request("get:field",t);i.set("value",e),nfRadio.channel("fields").request("remove:error",i.get("id"),"required-error")},resetRecaptcha:function(){var e=0;jQuery(".g-recaptcha").each(function(){try{grecaptcha.reset(e)}catch(e){console.log("Notice: Error trying to reset grecaptcha.")}e++})}})}),i("controllers/fieldRecaptchaV3",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("recaptcha_v3"),"init:model",this.initRecaptcha)},initRecaptcha:function(e){const t=e.get("formID");this.processRecaptcha(t,e),setInterval(this.processRecaptcha,11e4,t,e)},processRecaptcha:function(e,t){try{nfRadio.channel("form-"+e).trigger("disable:submit",t),grecaptcha.ready(function(){grecaptcha.execute(t.get("site_key"),{action:"register"}).then(function(i){t.set("value",i),nfRadio.channel("form-"+e).trigger("enable:submit",t)})})}catch(e){jQuery(document).on("nfFormReady",e=>{let i,n=nf_check_recaptcha_consent();t.collection.models.forEach(e=>{"submit"===e.get("type")&&(i=e.get("id"))}),nfRadio.channel("fields").request("add:error",i,"recaptcha-v3-missing",t.collection.options.formModel.get("settings").recaptchaConsentMissing),this.nf_build_default_consent_action(t,n.services,i,e)})}},nf_build_default_consent_action:function(e,t,i,n){if(!(t.length<=1&&t.includes("missing_cookie")||t.length<=0)){let r=document.createElement("div");r.setAttribute("id","nf_recaptcha_consent_event"),r.innerText+=e.collection.options.formModel.get("settings").recaptchaConsentEvent;let a=new CustomEvent("nf_consent_link",{detail:{services:t,element:r,submitFieldID:i,layoutView:n}});document.dispatchEvent(a);const o=document.getElementsByClassName("nf-error-recaptcha-v3-missing");Array.prototype.slice.call(o).forEach(e=>{e.append(r)})}}})}),i("controllers/fieldTurnstile",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("turnstile"),"init:model",this.initTurnstile),this.listenTo(nfRadio.channel("forms"),"submit:response",this.resetTurnstile),this.setupTurnstileGlobals(),this.bindTurnstileEvents()},initTurnstile:function(e){nfRadio.channel("turnstile").reply("update:response",this.updateResponse,this,e.id)},updateResponse:function(e,t){var i=nfRadio.channel("fields").request("get:field",t);i.set("value",e),nfRadio.channel("fields").request("remove:error",i.get("id"),"required-error")},resetTurnstile:function(){var e=0;jQuery(".cf-turnstile, .nf-cf-turnstile").each(function(){try{turnstile.reset(e)}catch(e){}e++})},setupTurnstileGlobals:function(){window.nfTurnstileCallback=function(e){var t=null;if(jQuery(".cf-turnstile, .nf-cf-turnstile").each(function(){if(this.querySelector("iframe"))return t=this,!1}),t&&e){var i=jQuery(t).data("fieldid"),n=document.getElementById("nf-field-"+i);if(n&&(n.value=e,jQuery(n).trigger("change"),jQuery(n).closest(".field-wrap").removeClass("nf-error"),jQuery(n).closest(".field-wrap").find(".nf-error-msg").remove()),"undefined"!=typeof nfRadio&&nfRadio.channel)try{nfRadio.channel("turnstile").request("update:response",e,i)}catch(e){}}},window.nfRenderTurnstile=function(){"undefined"!=typeof turnstile?0!==jQuery(".cf-turnstile, .nf-cf-turnstile").length?jQuery(".cf-turnstile:empty, .nf-cf-turnstile:empty").each(function(){var e=this,t=jQuery(e).data("sitekey");jQuery(e).data("fieldid");if(t)try{turnstile.render(e,{sitekey:t,theme:jQuery(e).data("theme")||"auto",size:jQuery(e).data("size")||"normal",callback:function(t){var i=jQuery(e).data("fieldid"),n=document.getElementById("nf-field-"+i);if(n&&(n.value=t,jQuery(n).trigger("change"),jQuery(n).closest(".field-wrap").removeClass("nf-error"),jQuery(n).closest(".field-wrap").find(".nf-error-msg").remove()),"undefined"!=typeof nfRadio&&nfRadio.channel)try{nfRadio.channel("turnstile").request("update:response",t,i)}catch(e){}}})}catch(e){}}):setTimeout(function(){window.nfRenderTurnstile()},200):setTimeout(window.nfRenderTurnstile,100)}},bindTurnstileEvents:function(){if("function"==typeof window.nfRenderTurnstile&&window.nfRenderTurnstile(),jQuery(document).ready(function(){setTimeout(window.nfRenderTurnstile,100)}),jQuery(document).on("nfFormReady",function(){setTimeout(window.nfRenderTurnstile,100)}),"undefined"!=typeof nfRadio)try{nfRadio.channel("form").on("render:view",function(){setTimeout(window.nfRenderTurnstile,100)})}catch(e){}var e=0,t=setInterval(function(){++e>=10?clearInterval(t):jQuery(".cf-turnstile, .nf-cf-turnstile").length>0&&(window.nfRenderTurnstile(),clearInterval(t))},500)}})}),i("controllers/fieldHcaptcha",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("hcaptcha"),"init:model",this.initHcaptcha),this.listenTo(nfRadio.channel("forms"),"submit:response",this.resetHcaptcha),this.setupHcaptchaGlobals(),this.bindHcaptchaEvents()},initHcaptcha:function(e){nfRadio.channel("hcaptcha").reply("update:response",this.updateResponse,this,e.id)},updateResponse:function(e,t){var i=nfRadio.channel("fields").request("get:field",t);i.set("value",e),nfRadio.channel("fields").request("remove:error",i.get("id"),"required-error")},resetHcaptcha:function(){var e=0;jQuery(".h-captcha, .nf-h-captcha").each(function(){try{hcaptcha.reset(e)}catch(e){}e++})},setupHcaptchaGlobals:function(){window.nfHcaptchaCallback=function(e){var t=null;if(jQuery(".h-captcha, .nf-h-captcha").each(function(){if(this.querySelector("iframe"))return t=this,!1}),t&&e){var i=jQuery(t).data("fieldid"),n=document.getElementById("nf-field-"+i);if(n&&(n.value=e,jQuery(n).trigger("change"),jQuery(n).closest(".field-wrap").removeClass("nf-error"),jQuery(n).closest(".field-wrap").find(".nf-error-msg").remove()),"undefined"!=typeof nfRadio&&nfRadio.channel)try{nfRadio.channel("hcaptcha").request("update:response",e,i)}catch(e){}}},window.nfRenderHcaptcha=function(){"undefined"!=typeof hcaptcha?0!==jQuery(".h-captcha, .nf-h-captcha").length?jQuery(".h-captcha, .nf-h-captcha").each(function(){if(""===this.innerHTML.trim()){var e=this,t=jQuery(e).data("sitekey");jQuery(e).data("fieldid");if(t)try{hcaptcha.render(e,{sitekey:t,theme:jQuery(e).data("theme")||"light",size:jQuery(e).data("size")||"normal",callback:function(t){var i=jQuery(e).data("fieldid"),n=document.getElementById("nf-field-"+i);if(n&&(n.value=t,jQuery(n).trigger("change"),jQuery(n).closest(".field-wrap").removeClass("nf-error"),jQuery(n).closest(".field-wrap").find(".nf-error-msg").remove()),"undefined"!=typeof nfRadio&&nfRadio.channel)try{nfRadio.channel("hcaptcha").request("update:response",t,i)}catch(e){}}})}catch(e){console.error("hCaptcha render error:",e)}}}):setTimeout(function(){window.nfRenderHcaptcha()},200):setTimeout(window.nfRenderHcaptcha,100)}},bindHcaptchaEvents:function(){if("function"==typeof window.nfRenderHcaptcha&&window.nfRenderHcaptcha(),jQuery(document).ready(function(){setTimeout(window.nfRenderHcaptcha,100)}),jQuery(document).on("nfFormReady",function(){setTimeout(window.nfRenderHcaptcha,100)}),"undefined"!=typeof nfRadio)try{nfRadio.channel("form").on("render:view",function(){setTimeout(window.nfRenderHcaptcha,100)})}catch(e){}var e=0,t=setInterval(function(){++e>=10?clearInterval(t):jQuery(".h-captcha, .nf-h-captcha").length>0&&(window.nfRenderHcaptcha(),clearInterval(t))},500)}})}),i("controllers/fieldHTML",[],function(){return Marionette.Object.extend({htmlFields:[],trackedMergeTags:[],initialize:function(){this.listenTo(Backbone.Radio.channel("fields-html"),"init:model",this.setupFieldMergeTagTracking)},setupFieldMergeTagTracking:function(e){this.htmlFields.push(e);var t=e.get("formID"),i=this;this.listenTo(nfRadio.channel("form-"+t),"init:model",function(t){var n=e.get("default").match(new RegExp(/{field:(.*?)}/g));n&&(_.each(n,function(e){var n=e.replace("{field:","").replace("}",""),r=t.get("fields").findWhere({key:n});void 0!==r&&(this.trackedMergeTags.push(r),this.listenTo(nfRadio.channel("field-"+r.get("id")),"change:modelValue",this.updateFieldMergeTags),"repeater"===r.get("type")&&this.listenTo(nfRadio.channel("fields"),"change:modelValue",function(e){var t=e.get("key");t&&0===t.indexOf(n+"_")&&i.updateFieldMergeTags(r)}))},this),this.updateFieldMergeTags())},this)},updateFieldMergeTags:function(e){var t=this;_.each(this.htmlFields,function(e){var i=e.get("value")||e.get("default")||"";_.each(t.trackedMergeTags,function(e){var n=i.match(new RegExp(/<span data-key="field:(.*?)<\/span>/g));_.each(n,function(t){-1<t.indexOf('data-key="field:'+e.get("key"))&&(i=i.replace(t,"{field:"+e.get("key")+"}"))});var r="{field:"+e.get("key")+"}";let a;a="repeater"===e.get("type")?t.displayRepeaterData(e):"signature"===e.get("type")?t.displaySignatureData(e):"checkbox"===e.get("type")?1==e.getValue()||"on"==e.getValue()?e.get("checked_value")||"Checked":e.get("unchecked_value")||"Unchecked":e.getValue(),i=i.replace(r,'<span data-key="field:'+e.get("key")+'">'+a+"</span>")}),e.set("value",i),e.trigger("reRender")})},displayRepeaterData:function(e){var t=e.getValue();if(!t||"object"!=typeof t)return"";const i=Object.keys(t);let n="",r=[];return _.each(i,function(e){if(-1===r.indexOf(e)){const t=nfRadio.channel("fields").request("get:field",e);if(void 0!==t){if(-1===["submit","html","hidden","password","passwordconfirm","divider","hr","note","unknown","button","confirm","creditcard","creditcardcvc","creditcardexpiration","creditcardfullname","creditcardnumber","creditcardzip","recaptcha","recaptcha_v3"].indexOf(t.get("type"))&&t.getValue().toString().length>0){const i=Number(e.split("_").pop())+1;let a;a="signature"===t.get("type")?this.displaySignatureData(t):t.getValue(),n+="<p>"+t.get("label")+" "+i+":"+a+"</p>",r.push(e)}}}},this),n},displaySignatureData:function(e){var t,i=e.getValue();if(!i||""===i)return"";try{if("object"==typeof i)t=i;else{if("string"!=typeof i||"{"!==i.charAt(0))return i;t=JSON.parse(i)}}catch(e){return console.warn("Failed to parse signature data:",e),i}if(!t||!t.signature_type)return i;if("typed"===t.signature_type&&t.typed_name){var n=e.get("signature_font")||t.signature_font||"dancing-script";return'<div class="nf-signature-typed" style="font-family: '+this.getSignatureFontFamily(n)+'; font-size: 28px; color: #000000; padding: 10px 0;">'+_.escape(t.typed_name)+"</div>"}return"drawn"===t.signature_type&&t.signature_data&&0===t.signature_data.indexOf("data:image")?'<img class="nf-signature-drawn" src="'+_.escape(t.signature_data)+'" alt="Signature" style="max-width: 400px; height: auto; display: block;" />':""},getSignatureFontFamily:function(e){var t={"dancing-script":"'Dancing Script', cursive",satisfy:"'Satisfy', cursive",cursive:"cursive"};return t[e]||t["dancing-script"]}})}),i("controllers/helpText",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("form"),"render:view",this.initHelpText),this.listenTo(nfRadio.channel("field-repeater"),"fieldset:added",this.initHelpText),nfRadio.channel("form").reply("init:help",this.initHelpText)},initHelpText:function(e){e&&!e.el&&"function"==typeof e.get&&"repeater"===e.get("type")&&(e.el="#nf-form-"+e.get("formID")+"-cont"),jQuery(e.el).find(".nf-help").each(function(e){var t=jQuery(this).jBox("Tooltip",{theme:"TooltipBorder",content:jQuery(this).data("text"),trigger:"mouseenter focus",closeOnMouseleave:!0,closeOnClick:!0});jQuery(this).on("keydown mouseleave",function(){t.close()})})}})}),i("controllers/fieldTextbox",[],function(){return Marionette.Object.extend({initialize:function(){nfRadio.channel("textbox").reply("get:calcValue",this.getCalcValue,this)},getCalcValue:function(e){if("currency"==e.get("mask")){var t=nfRadio.channel("app").request("get:form",e.get("formID")),i=void 0!==t?t.get("currencySymbol"):"",n=jQuery("<textarea />").html(i).text();return e.get("value").replace(n,"")}return e.get("value")}})}),i("controllers/fieldTextareaRTE",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("textarea"),"render:view",this.initTextareaRTEs),this.listenTo(nfRadio.channel("textarea"),"click:extra",this.clickExtra),this.meta_image_frame,this.currentContext={},this.quillInstances={}},initTextareaRTEs:function(e){if(1!=e.model.get("textarea_rte"))return!1;var t=this,i=jQuery(e.el).find(".nf-element");i.hide();var n="quill-frontend-"+e.model.get("id")+"-"+Date.now(),r=jQuery('<div class="nf-quill-wrapper" style="clear: both;"></div>'),a=jQuery('<div id="'+n+'"></div>');r.append(a),i.after(r),requestAnimationFrame(function(){if(jQuery.contains(document,a[0])){var o=[[{header:[1,2,3,!1]}],["bold","italic","underline","clean"],[{list:"ordered"},{list:"bullet"}],[{align:["","center","right","justify"]}],["nf-link","nf-unlink"],[{table:"table"}],["nf-undo","nf-redo"]];1==e.model.get("textarea_media")&&0!=userSettings.uid&&o.push(["nf-media"]);var l=new Quill("#"+n,{theme:"snow",modules:{toolbar:{container:o,handlers:{"nf-link":function(){t.showLinkDialog(l,e)},"nf-unlink":function(){t.removeLink(l)},"nf-media":function(){t.openMediaManager(l,e)},"nf-undo":function(){l.history.undo()},"nf-redo":function(){l.history.redo()}}},history:{delay:1e3,maxStack:50,userOnly:!0}},placeholder:""}),s=e.model.get("value")||"";l.root.innerHTML=s,t.quillInstances[n]={quill:l,model:e.model,view:e},t.addDashicons(e,r),l.on("text-change",function(t,n,r){var a=l.root.innerHTML;e.model.set("value",a),i.val(a),i.trigger("change")}),a.data("quill-instance",n)}})},addDashicons:function(e,t){var i=t.find(".ql-toolbar");i.find(".ql-bold").html('<span class="dashicons dashicons-editor-bold"></span>'),i.find(".ql-italic").html('<span class="dashicons dashicons-editor-italic"></span>'),i.find(".ql-underline").html('<span class="dashicons dashicons-editor-underline"></span>'),i.find('.ql-list[value="ordered"]').html('<span class="dashicons dashicons-editor-ol"></span>'),i.find('.ql-list[value="bullet"]').html('<span class="dashicons dashicons-editor-ul"></span>'),i.find(".ql-clean").html('<span class="dashicons dashicons-editor-removeformatting"></span>'),i.find("button.ql-nf-link").html('<span class="dashicons dashicons-admin-links"></span>'),i.find("button.ql-nf-unlink").html('<span class="dashicons dashicons-editor-unlink"></span>'),i.find("button.ql-nf-media").html('<span class="dashicons dashicons-admin-media"></span>'),i.find("button.ql-nf-undo").html('<span class="dashicons dashicons-undo"></span>'),i.find("button.ql-nf-redo").html('<span class="dashicons dashicons-redo"></span>')},showLinkDialog:function(e,t){var i=e.getSelection(!0),n=i?e.getText(i.index,i.length):"",r=nfRadio.channel("app").request("get:template","#tmpl-nf-rte-link-dropdown")({}),a=jQuery(t.el).find(".ql-toolbar"),o=a.find(".nf-link-dropdown");if(o.length)o.remove();else{var l=jQuery('<div class="nf-link-dropdown"></div>').html(r);a.append(l),l.find(".link-text").val(n),l.find(".link-url").focus(),l.find(".insert-link").on("click",function(){var t=l.find(".link-text").val(),n=l.find(".link-url").val(),r=l.find(".link-new-window").prop("checked");if(n){var a={link:n};r&&(a.target="_blank"),i&&i.length>0?e.formatText(i.index,i.length,a):t&&(e.insertText(i.index,t,a),e.setSelection(i.index+t.length))}l.remove()}),l.find(".cancel-link").on("click",function(){l.remove()}),this.currentContext={quill:e,range:i}}},removeLink:function(e){var t=e.getSelection();t&&e.formatText(t.index,t.length,{link:!1})},openMediaManager:function(e,t){var i=this,n=e.getSelection(!0);this.currentContext={quill:e,range:n},this.meta_image_frame||(this.meta_image_frame=wp.media.frames.meta_image_frame=wp.media({title:nfi18n.fieldTextareaRTESelectAFile,button:{text:"insert"}}),this.meta_image_frame.on("select",function(){var e=i.meta_image_frame.state().get("selection").first().toJSON();i.insertMedia(e)})),this.meta_image_frame.open()},insertMedia:function(e){var t=this.currentContext.quill,i=this.currentContext.range||t.getSelection(!0)||{index:0};if("image"==e.type)t.insertEmbed(i.index,"image",e.url),t.setSelection(i.index+1);else{var n=e.title||e.filename;t.insertText(i.index,n,{link:e.url}),t.setSelection(i.index+n.length)}},clickExtra:function(e){var t=jQuery(e.target).parent().find(".link-text"),i=jQuery(e.target).parent().find(".link-url"),n=jQuery(e.target).parent().find(".link-new-window");if(jQuery(e.target).hasClass("insert-link")){var r=t.val(),a=i.val(),o=!!n.prop("checked");if(0!=r.length&&0!=a.length&&this.currentContext.quill){var l=this.currentContext.quill,s=this.currentContext.range||l.getSelection(!0)||{index:0},d={link:a};o&&(d.target="_blank"),l.insertText(s.index,r,d),l.setSelection(s.index+r.length)}}t.val(""),i.val(""),n.prop("checked",!1),jQuery(e.target).closest(".nf-link-dropdown").remove()}})}),i("controllers/fieldStarRating",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("starrating"),"init:model",this.register),this.listenTo(nfRadio.channel("starrating"),"render:view",this.initRating)},register:function(e){e.set("renderRatings",this.renderRatings)},initRating:function(e){jQuery(e.el).find(".starrating").rating()},renderRatings:function(){for(var e=document.createElement("span"),t=0;t<=this.number_of_stars-1;t++){var i=nfRadio.channel("app").request("get:template","#tmpl-nf-field-starrating-star"),n=t+1,r="";this.value==n&&(r="checked");var a=i({id:this.id,classes:this.classes,num:n,checked:r,required:this.required});e.appendChild(document.createRange().createContextualFragment(a))}return e.innerHTML}})}),i("controllers/fieldTerms",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("terms"),"init:model",this.register)},register:function(e){this.listenTo(nfRadio.channel("field-"+e.get("id")),"click:extra",this.clickExtra),this.listenTo(nfRadio.channel("field-"+e.get("id")),"keyup:field",this.keyUpExtra)},clickExtra:function(e,t){var i=jQuery(e.currentTarget).parent().find(".extra-value").val();this.addOption(t,i)},keyUpExtra:function(e,t,i){13==i&&this.addOption(t,e.val())},addOption:function(e,t){if(t){var i={label:t,value:t,selected:0};e.get("options").push(i),e.get("value").push(t),e.trigger("reRender")}}})}),i("controllers/formContentFilters",[],function(){return Marionette.Object.extend({initialize:function(){this.viewFilters=[],this.loadFilters=[],nfRadio.channel("formContent").reply("add:viewFilter",this.addViewFilter,this),nfRadio.channel("formContent").reply("add:loadFilter",this.addLoadFilter,this),nfRadio.channel("formContent").reply("get:viewFilters",this.getViewFilters,this),nfRadio.channel("formContent").reply("get:loadFilters",this.getLoadFilters,this),nfRadio.channel("fieldContents").reply("add:viewFilter",this.addViewFilter,this),nfRadio.channel("fieldContents").reply("add:loadFilter",this.addLoadFilter,this),nfRadio.channel("fieldContents").reply("get:viewFilters",this.getViewFilters,this),nfRadio.channel("fieldContents").reply("get:loadFilters",this.getLoadFilters,this)},addViewFilter:function(e,t){this.viewFilters[t]=e},getViewFilters:function(){return this.viewFilters},addLoadFilter:function(e,t){this.loadFilters[t]=e},getLoadFilters:function(){return this.loadFilters}})}),i("views/fieldItem",[],function(){return Marionette.ItemView.extend({tagName:"div",initialize:function(){this.listenTo(this.model,"reRender",this.render,this),this.listenTo(this.model,"change:addWrapperClass",this.addWrapperClass,this),this.listenTo(this.model,"change:removeWrapperClass",this.removeWrapperClass,this),this.listenTo(this.model,"change:invalid",this.toggleAriaInvalid,this),this.template="#tmpl-nf-field-"+this.model.get("wrap_template")},test:function(e){console.log("firing from trigger 1")},addWrapperClass:function(){var e=this.model.get("addWrapperClass");""!=e&&(jQuery(this.el).addClass(e),this.model.set("addWrapperClass",""))},removeWrapperClass:function(){var e=this.model.get("removeWrapperClass");""!=e&&(jQuery(this.el).removeClass(e),this.model.set("removeWrapperClass",""))},toggleAriaInvalid:function(){var e=this.model.get("invalid");jQuery("[aria-invalid]",this.el).attr("aria-invalid",JSON.stringify(e))},onRender:function(){if(this.$el=this.$el.children(),this.$el.unwrap(),this.setElement(this.$el),void 0!==this.model.get("mask")&&""!=String(this.model.get("mask")).trim()){if("custom"==this.model.get("mask"))var e=this.model.get("custom_mask");else e=this.model.get("mask");if(Number.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},Number.isInteger(e)&&(e=e.toString()),"currency"==e){var t=nfRadio.channel("app").request("get:form",this.model.get("formID")),i=t.get("thousands_sep");"&nbsp;"!=i&&160!=i.charCodeAt(0)||(i=" ");var n=jQuery("<div/>").html(t.get("currencySymbol")).text(),r={digitGroupSeparator:i=jQuery("<div/>").html(i).text(),decimalCharacter:jQuery("<div/>").html(t.get("decimal_point")).text(),currencySymbol:n,modifyValueOnWheel:!1},a=jQuery(jQuery(this.el).find(".nf-element")[0]);new AutoNumeric(jQuery(this.el).find(".nf-element")[0],r);var o=this;a.on("change",function(e){o.model.set("value",e.target.value)})}else jQuery(this.el).find(".nf-element").mask(e)}nfRadio.channel(this.model.get("type")).trigger("render:view",this),nfRadio.channel("fields").trigger("render:view",this)},templateHelpers:function(){var e=this;return{renderElement:function(){this.clean&&!this.value&&0===this.default&&(this.value="0");var e=_.find(this.element_templates,function(e){if(0<jQuery("#tmpl-nf-field-"+e).length)return!0});return nfRadio.channel("app").request("get:template","#tmpl-nf-field-"+e)(this)},renderLabel:function(){return nfRadio.channel("app").request("get:template","#tmpl-nf-field-label")(this)},renderLabelClasses:function(){var e="";return void 0!==this.customLabelClasses&&(e=this.customLabelClasses(e)),e},renderPlaceholder:function(){var e=this.placeholder;return void 0!==this.customPlaceholder&&(e=this.customPlaceholder(e)),""!=String(e).trim()?'placeholder="'+_.escape(e)+'"':""},renderWrapClass:function(){var e="field-wrap "+this.type+"-wrap";return this.type!==this.parentType&&(e=e+" "+this.parentType+"-wrap"),void 0!==this.old_classname&&0<String(this.old_classname).trim().length&&(e+=" "+this.old_classname+"-wrap"),"undefined"!=typeof customWrapClass&&(e=customWrapClass(e)),e},renderClasses:function(){var e=this.classes;return this.error?e+=" nf-error":e=e.replace("nf-error",""),void 0!==this.element_class&&0<String(this.element_class).trim().length&&(e+=" "+this.element_class),void 0!==this.customClasses&&(e=this.customClasses(e)),e},maybeFilterHTML:function(){return void 0!==nfFrontEnd.filter_esc_status?nfFrontEnd.filter_esc_status:"false"},maybeDisabled:function(){return 1==this.disable_input?"disabled":""},maybeRequired:function(){return 1==this.required?'aria-required="true" required':""},maybeDisableAutocomplete:function(){if(1==this.disable_browser_autocomplete)return'autocomplete="off"';if(this.custom_autocomplete&&""!==this.custom_autocomplete.trim())return'autocomplete="'+this.custom_autocomplete.trim()+'"';return'autocomplete="'+this.translateAutoCompletionType(this.type)+'"'},translateAutoCompletionType:function(e){switch(e){case"address":return"street-address";case"address2":return"address-line2";case"city":return"address-level2";case"email":return"email";case"firstname":return"given-name";case"lastname":return"family-name";case"zip":return"postal-code";case"phone":return"tel";default:return"on"}},maybeInputLimit:function(){return"characters"==this.input_limit_type&&""!=String(this.input_limit).trim()?'maxlength="'+this.input_limit+'"':""},getHelpText:function(){return void 0!==this.help_text?this.help_text:""},maybeRenderHelp:function(){var e=document.createElement("p");e.innerHTML=this.help_text;var t=!1;if((0!=String(jQuery(e).text()).trim().length||0<jQuery(e).find("img").length)&&(t=!0),void 0!==this.help_text&&t){var i=document.createElement("span");i.classList.add("fa","fa-info-circle","nf-help"),i.setAttribute("data-text",this.getHelpText()),i.setAttribute("tabindex","0"),i.setAttribute("aria-describedby","hidden-help-text-"+this.id);var n=document.createElement("span");return n.textContent=this.help_text.replace(/<\/?[^>]+(>|$)/g,"").trim(),n.id="hidden-help-text-"+this.id,n.classList.add("nf-sr-only"),n.setAttribute("role","tooltip"),i.appendChild(n),i.outerHTML}return""},renderDescText:function(){if(void 0===this.desc_text)return"";var e,t,i,n,r=document.createElement("p");return r.innerHTML=this.desc_text,0==String(r.innerText).trim().length?"":(t=document.createTextNode(this.desc_text),(e=document.createElement("p")).appendChild(t),0!=String(jQuery(e).text()).trim().length?(i=document.createRange().createContextualFragment(this.desc_text),(n=document.createElement("div")).classList.add("nf-field-description"),n.setAttribute("aria-hidden","true"),n.setAttribute("id","nf-description-"+this.id),n.appendChild(i),n.outerHTML):"")},renderNumberDefault:function(){return this.clean?0===this.default||this.default?this.default:this.placeholder?"":this.value:this.value},renderCurrencyFormatting:function(t){var i=t.toString().replace(".","||").replace(/\B(?=(\d{3})+(?!\d))/g,nfi18n.thousands_sep).replace("||",nfi18n.decimal_point);return nfRadio.channel("app").request("get:form",e.model.get("formID")).get("settings").currency_symbol+i},maybeRenderTime:function(){return"time_only"==this.date_mode||"date_and_time"==this.date_mode}}},events:{"change .nf-element":"fieldChange","keyup .nf-element":"fieldKeyup","click .nf-element":"fieldClick","click .extra":"extraClick","change .extra":"extraChange","blur .nf-element":"fieldBlur"},fieldChange:function(e){var t=jQuery(e.currentTarget);if(!t.attr("data-react-managed"))nfRadio.channel("nfAdmin").request("change:field",t,this.model)},fieldKeyup:function(e){var t=jQuery(e.currentTarget),i=e.keyCode;nfRadio.channel("field-"+this.model.get("id")).trigger("keyup:field",t,this.model,i),nfRadio.channel(this.model.get("type")).trigger("keyup:field",t,this.model,i),nfRadio.channel("fields").trigger("keyup:field",t,this.model,i)},fieldClick:function(e){var t=jQuery(e.currentTarget);nfRadio.channel("field-"+this.model.get("id")).trigger("click:field",t,this.model),nfRadio.channel(this.model.get("type")).trigger("click:field",t,this.model),nfRadio.channel("fields").trigger("click:field",t,this.model)},extraClick:function(e){nfRadio.channel("field-"+this.model.get("id")).trigger("click:extra",e,this.model),nfRadio.channel(this.model.get("type")).trigger("click:extra",e,this.model),nfRadio.channel("fields").trigger("click:extra",e,this.model)},extraChange:function(e){nfRadio.channel("field-"+this.model.get("id")).trigger("change:extra",e,this.model),nfRadio.channel(this.model.get("type")).trigger("change:extra",e,this.model),nfRadio.channel("fields").trigger("change:extra",e,this.model)},fieldBlur:function(e){var t=jQuery(e.currentTarget);nfRadio.channel("field-"+this.model.get("id")).trigger("blur:field",t,this.model),nfRadio.channel(this.model.get("type")).trigger("blur:field",t,this.model),nfRadio.channel("fields").trigger("blur:field",t,this.model)},onAttach:function(){nfRadio.channel(this.model.get("type")).trigger("attach:view",this)}})}),i("views/beforeField",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-field-before"})}),i("views/fieldErrorItem",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-field-error",onRender:function(){this.$el=this.$el.children(),this.$el.unwrap(),this.setElement(this.$el)}})}),i("views/fieldErrorCollection",["views/fieldErrorItem"],function(e){return Marionette.CollectionView.extend({tagName:"nf-errors",childView:e,initialize:function(e){this.fieldModel=e.fieldModel},onRender:function(){0==this.fieldModel.get("errors").models.length?(this.fieldModel.removeWrapperClass("nf-error"),this.fieldModel.removeWrapperClass("nf-fail"),this.fieldModel.addWrapperClass("nf-pass"),this.fieldModel.setInvalid(!1)):(this.fieldModel.removeWrapperClass("nf-pass"),this.fieldModel.addWrapperClass("nf-fail"),this.fieldModel.addWrapperClass("nf-error"),this.fieldModel.setInvalid(!0))}})}),i("views/inputLimit",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-field-input-limit",initialize:function(){this.listenTo(nfRadio.channel("field-"+this.model.get("id")),"keyup:field",this.updateCount),this.count=this.model.get("input_limit"),this.render()},updateCount:function(e,t){var i=jQuery(e).val(),n=String(i).trim().replace(/\s+/gi," ").split(" "),r=n.length,a=i.length;if("characters"==this.model.get("input_limit_type")||"char"==this.model.get("input_limit_type"))jQuery(e).attr("maxlength",this.model.get("input_limit")),this.count=this.model.get("input_limit")-a;else{this.count=this.model.get("input_limit")-r;var o=this.model.get("input_limit");r>o&&jQuery(e).val(n.slice(0,o).join(" "))}this.render()},templateHelpers:function(){var e=this;return{currentCount:function(){return e.count}}}})}),i("views/afterField",["views/fieldErrorCollection","views/inputLimit"],function(e,t){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-field-after",initialize:function(){this.model.on("change:errors",this.changeError,this)},onRender:function(){var i=jQuery(this.el).children(".nf-error-wrap");if(this.errorCollectionView=new e({el:i,collection:this.model.get("errors"),fieldModel:this.model}),0<this.model.get("errors").length&&this.errorCollectionView.render(),void 0!==this.model.get("input_limit")&&""!=String(this.model.get("input_limit")).trim()){var n=jQuery(this.el).children(".nf-input-limit");this.inputLimitView=new t({el:n,model:this.model}),n.attr("aria-live","polite"),n.attr("role","status"),n.attr("aria-relevant","additions"),n.attr("aria-atomic",!0)}},changeError:function(){this.errorCollectionView.render()}})}),i("views/fieldRepeaterFieldLayout",["views/fieldItem","views/beforeField","views/afterField"],function(e,t,i){return Marionette.LayoutView.extend({tagName:"nf-field",regions:{beforeField:".nf-before-field",field:".nf-field",afterField:".nf-after-field"},initialize:function(){this.listenTo(this.model,"change:visible",this.render,this)},getTemplate:function(){return this.model.get("visible")?"#tmpl-nf-field-layout":"#tmpl-nf-empty"},onRender:function(){this.model.get("visible")&&(this.beforeField.show(new t({model:this.model})),this.field.show(new e({model:this.model})),this.afterField.show(new i({model:this.model})))},templateHelpers:function(){return{renderContainerClass:function(){var e=" label-"+this.label_pos+" ";return void 0!==this.desc_pos&&(e+="desc-"+this.desc_pos+" "),void 0!==this.container_class&&0<String(this.container_class).trim().length&&(e+=this.container_class+" "),this.type!==this.parentType&&(e+=" "+this.parentType+"-container"),e}}}})}),i("views/fieldRepeaterFieldCollection",["views/fieldRepeaterFieldLayout"],function(e){return Marionette.CollectionView.extend({tagName:"nf-fields-wrap",childView:e})}),i("views/fieldRepeaterSetLayout",["views/fieldRepeaterFieldCollection"],function(e){return Marionette.LayoutView.extend({tagName:"fieldset",template:"#tmpl-nf-field-repeater-set",regions:{fields:".nf-repeater-fieldset"},onRender:function(){this.fields.show(new e({collection:this.model.get("fields")}))},templateHelpers:function(){return{maybeFilterHTML:function(){return void 0!==nfFrontEnd.filter_esc_status?nfFrontEnd.filter_esc_status:"false"}}},events:{"click .nf-remove-fieldset":"removeSet"},removeSet:function(){nfRadio.channel("field-repeater").trigger("remove:fieldset",this.model)}})}),i("views/fieldRepeaterSetCollection",["views/fieldRepeaterSetLayout"],function(e){return Marionette.CollectionView.extend({tagName:"div",childView:e})}),i("views/fieldRepeaterLayout",["views/fieldRepeaterSetCollection"],function(e){return Marionette.LayoutView.extend({tagName:"div",template:"#tmpl-nf-field-repeater",regions:{sets:".nf-repeater-fieldsets"},initialize:function(){this.collection=this.model.get("sets"),this.listenTo(nfRadio.channel("field-repeater"),"rerender:fieldsets",this.render)},onRender:function(){this.sets.show(new e({collection:this.collection}))},templateHelpers:function(){return{maybeFilterHTML:function(){return void 0!==nfFrontEnd.filter_esc_status?nfFrontEnd.filter_esc_status:"false"},renderDescText:function(){if(void 0===this.desc_text)return"";var e,t,i,n,r=document.createElement("p");return r.innerHTML=this.desc_text,0==String(r.innerText).trim().length?"":(t=document.createTextNode(this.desc_text),(e=document.createElement("p")).appendChild(t),0!=String(jQuery(e).text()).trim().length?(i=document.createRange().createContextualFragment(this.desc_text),(n=document.createElement("div")).classList.add("nf-field-description"),n.appendChild(i),n.outerHTML):"")}}},events:{"click .nf-add-fieldset":"addSet"},addSet:function(){nfRadio.channel("field-repeater").trigger("add:fieldset",this.model.id)},beforeSubmit:function(){this.collection.beforeSubmit(this.model.get("sets"))}})}),i("views/fieldLayout",["views/fieldItem","views/beforeField","views/afterField","views/fieldRepeaterLayout"],function(e,t,i,n){return Marionette.LayoutView.extend({tagName:"nf-field",regions:{beforeField:".nf-before-field",field:".nf-field",afterField:".nf-after-field"},initialize:function(){this.listenTo(this.model,"change:visible",this.render,this)},getTemplate:function(){return this.model.get("visible")?"#tmpl-nf-field-layout":"#tmpl-nf-empty"},onRender:function(){this.model.get("visible")&&("repeater"==this.model.get("type")?this.field.show(new n({model:this.model})):(this.beforeField.show(new t({model:this.model})),this.field.show(new e({model:this.model})),this.afterField.show(new i({model:this.model}))))},templateHelpers:function(){return{renderContainerClass:function(){var e=" label-"+this.label_pos+" ";return void 0!==this.desc_pos&&(e+="desc-"+this.desc_pos+" "),void 0!==this.container_class&&0<String(this.container_class).trim().length&&(e+=this.container_class+" "),this.type!==this.parentType&&(e+=" "+this.parentType+"-container"),e}}}})}),i("controllers/loadViews",["views/fieldItem","views/fieldLayout"],function(e,t){return Marionette.Object.extend({initialize:function(){nfRadio.channel("views").reply("get:fieldItem",this.getFieldItem),nfRadio.channel("views").reply("get:fieldLayout",this.getFieldLayout)},getFieldItem:function(t){return e},getFieldLayout:function(){return t}})}),i("controllers/formErrors",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("fields"),"add:error",this.addError),this.listenTo(nfRadio.channel("fields"),"remove:error",this.removeError),nfRadio.channel("form").reply("get:errors",this.getFormErrors)},addError:function(e,t,i){var n=nfRadio.channel("app").request("get:form",e.get("formID"));void 0===n.get("fieldErrors")[e.get("id")]&&(n.get("fieldErrors")[e.get("id")]={}),n.get("fieldErrors")[e.get("id")][t]=i,nfRadio.channel("form-"+e.get("formID")).request("add:error","field-errors",n.get("settings").formErrorsCorrectErrors)},removeError:function(e,t){var i=nfRadio.channel("app").request("get:form",e.get("formID"));i.get("fieldErrors")[e.get("id")]=_.omit(i.get("fieldErrors")[e.get("id")],t),0==_.size(i.get("fieldErrors")[e.get("id")])&&delete i.get("fieldErrors")[e.get("id")],0==_.size(i.get("fieldErrors"))&&nfRadio.channel("form-"+e.get("formID")).request("remove:error","field-errors")},getFormErrors:function(e){var t=nfRadio.channel("app").request("get:form",e),i=!1;return t&&0!==t.get("errors").length&&_.each(t.get("errors").models,function(e){(i=i||{})[e.get("id")]=e.get("msg")}),i}})}),i("controllers/submit",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"init:model",this.registerSubmitHandler)},registerSubmitHandler:function(e){nfRadio.channel("form-"+e.get("id")).reply("submit",this.submit)},submit:function(e){nfRadio.channel("forms").trigger("before:submit",e),nfRadio.channel("form-"+e.get("id")).trigger("before:submit",e);var t=nfRadio.channel("forms").request("maybe:validate",e);if(!1!==t&&(_.each(e.get("fields").models,function(e){e.set("clean",!1)}),e.get("formContentData").validateFields()),0==nfRadio.channel("form-"+e.get("id")).request("maybe:submit",e))return nfRadio.channel("forms").trigger("submit:cancel",e),void nfRadio.channel("form-"+e.get("id")).trigger("submit:cancel",e);if(!1!==t){var i=_.filter(e.get("errors").models,function(e){return"invalid_email"!=e.get("id")&&"email_not_sent"!=e.get("id")});if(0!=_.size(i))return nfRadio.channel("forms").trigger("submit:failed",e),nfRadio.channel("form-"+e.get("id")).trigger("submit:failed",e),!1}nfRadio.channel("forms").trigger("after:submitValidation",e),nfRadio.channel("form-"+e.get("id")).trigger("after:submitValidation",e);var n=e.get("id"),r={};_.each(e.get("fields").models,function(e){var t={value:e.get("value"),id:e.get("id")};r[e.get("id")]=nfRadio.channel(e.get("type")).request("get:submitData",t,e)||t});var a=e.get("extra"),o=e.get("settings");delete o.formContentData;var l=JSON.stringify({id:n,fields:r,settings:o,extra:a}),s={action:"nf_ajax_submit",security:nfFrontEnd.ajaxNonce,nonce_ts:nfFrontEnd.nonce_ts,formData:l};jQuery.ajax({url:nfFrontEnd.adminAjax,type:"POST",data:s,cache:!1,success:function(t,i,n){try{var r=t;nfRadio.channel("forms").trigger("submit:response",r,i,n,e.get("id")),nfRadio.channel("form-"+e.get("id")).trigger("submit:response",r,i,n),jQuery(document).trigger("nfFormSubmitResponse",{response:r,id:e.get("id")})}catch(e){console.log(e),console.log("Parse Error"),console.log(e)}},error:function(t,i,n){console.log("ERRORS: "+n),console.log(t);try{var r=jQuery.parseJSON(t.responseText);nfRadio.channel("forms").trigger("submit:response",r,i,t,e.get("id")),nfRadio.channel("form-"+e.get("id")).trigger("submit:response",r,i,t)}catch(i){console.log("Parse Error: "+t.responseText),nfRadio.channel("form-"+e.get("id")).request("add:error","parse-response-ERROR",n)}}})}})}),i("views/fieldCollection",["views/fieldLayout"],function(e){return Marionette.CollectionView.extend({tagName:"nf-fields-wrap",childView:e})}),i("controllers/defaultFilters",["views/fieldCollection","models/fieldCollection"],function(e,t){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("form"),"before:filterData",this.registerDefaultDataFilter)},registerDefaultDataFilter:function(e){nfRadio.channel("formContent").request("add:loadFilter",this.defaultFormContentLoad,10,this),nfRadio.channel("formContent").request("add:viewFilter",this.defaultFormContentView,10,this)},defaultFormContentLoad:function(e,i,n){var r=i.get("fields"),a=nfRadio.channel("formContent").request("get:loadFilters");if(1==_.without(a,void 0).length||void 0===e||!0==e instanceof Backbone.Collection)return i.get("fields");var o=_.map(e,function(e){return i.get("fields").findWhere({key:e})},this),l=new t(o);return r.on("reset",function(e){var t=[];l.each(function(i){"submit"!=i.get("type")?t.push(e.findWhere({key:i.get("key")})):t.push(i)}),l.options={formModel:i},l.reset(t)}),l},defaultFormContentView:function(){return e}})}),i("controllers/uniqueFieldError",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("fields"),"change:modelValue",this.removeError),this.listenTo(nfRadio.channel("fields"),"keyup:field",this.removeError),this.listenTo(nfRadio.channel("fields"),"blur:field",this.removeError)},removeError:function(e,t){t=t||e,nfRadio.channel("fields").request("remove:error",t.get("id"),"unique_field")}})});let n=[];i("models/fieldRepeaterSetModel",[],function(){return Backbone.Model.extend({initialize:function(e,t){this.repeaterFieldModel=t.repeaterFieldModel,this.set("label",this.repeaterFieldModel.get("label")),e&&t&&this.initAllRepeaterFieldsModels(e,t),nfRadio.channel("field-repeater").reply("get:repeaterFields",this.getRepeaterFields,this),nfRadio.channel("field-repeater").reply("get:repeaterFieldById",this.getRepeaterFieldById,this),nfRadio.channel("field-repeater").reply("get:repeaterModels",this.getAllRepeaterFieldsModels,this),nfRadio.channel("field-repeater").reply("get:repeaterFieldsetsByForm",this.getAllFieldsetsByForm,this),nfRadio.channel("field-repeater").reply("get:repeaterFieldsModelsArrayByForm",this.getAllFieldsModelsArrayByForm,this),this.listenTo(nfRadio.channel("field-repeater"),"set:repeaterModels",this.setAllRepeaterFieldsModels),this.listenTo(nfRadio.channel("field-repeater"),"set:value",this.setAllRepeatersValues)},setAllRepeaterFieldsModels:function(){this.set("repeaterFieldsetsModels",n),this.allRepeatersFieldsetsModels=n},initAllRepeaterFieldsModels:function(e,t){const i=t.repeaterFieldModel.get("formID"),r=t.repeaterFieldModel.get("id"),a=e.fields.models;let o=n.find(e=>e.id===r&&e.form===i);o?o.fields=o.fields.concat(a):n.push({form:i,id:r,fields:a}),this.setAllRepeaterFieldsModels()},getAllRepeaterFieldsModels:function(){return n},getAllFieldsetsByForm:function(e){const t=this.getAllRepeaterFieldsModels().filter(t=>t.form===e);return t},getAllFieldsModelsArrayByForm:function(e){const t=this.getAllFieldsetsByForm(e);let i=[];return t.map(e=>{i=i.concat(e.fields)}),i},getRepeaterFields:function(e){const t=this.getAllRepeaterFieldsModels();let i=t.find(t=>String(t.id)===String(e));return void 0===i&&(i=this.reverseResearchFieldsetModel(e,t)),i},reverseResearchFieldsetModel:function(e,t){let i;return _.each(t,function(t){_.each(t.fields,function(n){String(n.id).startsWith(e)&&(i=t)})}),i},getRepeaterFieldById:function(e){const t=String(e).split(".")[0],i=this.getRepeaterFields(t);if(void 0===i)return;return i.fields.find(t=>t.id===e)},setAllRepeatersValues:function(){const e=this.getAllRepeaterFieldsModels();e.length>0&&_.each(e,function(e){let t=e.fields,i=nfRadio.channel("fields").request("get:field",e.id);if(t.length>0){let e={};_.each(t,function(t){let i=t.get("value"),n=t.get("id");if(n.split("_").length>2){let t=n.split("_");t[1]=t[1].split(".")[1];let i=t[0]+"."+t[1]+"_"+t[2];delete e[n],n=i}e[n]={value:i,id:n},"date"!==t.get("type")||"string"!=typeof i||"date_and_time"!==t.get("date_mode")&&"time_only"!==t.get("date_mode")||(e[n].value={date:i,hour:t.attributes.selected_hour,minute:t.attributes.selected_minute,ampm:t.attributes.selected_ampm}),"file_upload"===t.get("type")&&t.get("value")&&(e[n].files=t.attributes.files)}),i.set("isUpdated",!1),nfRadio.channel("nfAdmin").request("update:field",i,e)}})}})}),i("models/fieldRepeaterSetCollection",["models/fieldRepeaterSetModel","models/fieldCollection"],function(e,t){return Backbone.Collection.extend({model:e,initialize:function(e,t){this.options=t,this.listenTo(nfRadio.channel("field-repeater"),"sort:fieldsets",this.sortIDs),this.listenTo(nfRadio.channel("field-repeater"),"remove:fieldset",this.removeSet),this.listenTo(nfRadio.channel("field-repeater"),"add:fieldset",this.addSet),nfRadio.channel("field-repeater").reply("get:fieldsets",this.getFieldSets,this)},addSet:function(e=!1){let i;if(e){const n=this.options.repeaterFieldModel.id===e&&this.options.repeaterFieldModel;if(i=n,n){let e=new t(this.options.templateFields,{formModel:this.options.formModel,repeaterFieldModel:n});this.add({fields:e},{repeaterFieldModel:n})}}this.sortIDs(),nfRadio.channel("field-repeater").trigger("fieldset:added",i)},removeSet:function(e){this.removeRequiredFieldsErrors(e);const t=e.repeaterFieldModel.get("formID"),i=e.repeaterFieldModel.get("id"),r=n.find(e=>e.id===i&&e.form===t);if(r){let t=[];_.each(r.fields,(i,n)=>{void 0!==i&&_.each(e.get("fields").models,n=>{const r=void 0!==i.id?i.id:i.get("id");n.id===r&&(delete e.repeaterFieldModel.get("value")[n.id],t.push(r))})}),r.fields=_.reject(r.fields,e=>void 0===e||!!t.includes(e.id)),nfRadio.channel("field-repeater").trigger("set:repeaterModels")}this.remove(e),e.destroy(),this.sortIDs(),nfRadio.channel("field-repeater").trigger("set:value")},removeRequiredFieldsErrors:function(e){let t=e.get("fields");_.each(t.models,function(e){nfRadio.channel("fields").request("remove:error",e.get("id"),"required-error")})},getFieldsets:function(){return this.models},checkTimeField:function(e){const t=e.get("id"),i=document.getElementById("hour-select-"+t),n=document.getElementById("minute-select-"+t),r=0===e.attributes.hours_24?"12":"00";if(!i||!n)return;n.value=void 0!==e.attributes.selected_minute?e.attributes.selected_minute:"00",i.value=void 0!==e.attributes.selected_hour?e.attributes.selected_hour:r;const a=document.getElementById("nf-field-"+t+"-wrap").querySelector("#ampm-select");a&&(a.value=void 0!==e.attributes.selected_ampm?e.attributes.selected_ampm:"am")},sortIDs:function(){const e=this.getFieldsets(),t=[];_.each(e,function(e,i){let n=e.get("fields");e.set("index",i+1),_.each(n.models,function(e){const n=String(e.id).split("_")[0],r=String(n).split(".").length>1&&String(n).split(".").pop();if(!r)return;const a=e.collection.options.repeaterFieldModel.id+"."+r+"_"+i;e.set("id",a),"date"!==e.get("type")||"date_and_time"!==e.get("date_mode")&&"time_only"!==e.get("date_mode")||t.push(e)})}),nfRadio.channel("field-repeater").trigger("rerender:fieldsets"),t.forEach(e=>{this.checkTimeField(e)})}})}),i("controllers/fieldRepeater",["models/fieldRepeaterSetCollection","models/fieldCollection"],function(e,t){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("repeater"),"init:model",this.initRepeater)},initRepeater:function(i){if(void 0===i.collection.options.formModel)return!1;let n=new t(i.get("fields"),{formModel:i.collection.options.formModel,repeaterFieldModel:i});i.set("sets",new e([{fields:n}],{templateFields:i.get("fields"),formModel:i.collection.options.formModel,repeaterFieldModel:i})),nfRadio.channel("field-repeater").trigger("sort:fieldsets")}})}),i("controllers/actionGA",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.actionSendGaEvent)},actionSendGaEvent:function(e){void 0!==e.data.actions&&void 0!==e.data.actions.googleanalytics&&e.data.actions.googleanalytics.forEach(t=>{const i=t.event_name;if(void 0!==i)if(void 0!==t.method_type&&"ga4"===t.method_type)if("function"==typeof gtag){const t={event_category:"form_submit",event_label:"ninja_forms_submit",form_id:e.data.form_id};gtag("event",i,t)}else"object"==typeof dataLayer?console.warn("gtag isn't defined. But GTM was detected, did you mean to use GTM in the action settings?"):console.warn("gtag isn't defined. Please make sure you have GA4 installed on your site.");else if(void 0!==t.method_type&&"gtm"===t.method_type)if("object"==typeof dataLayer){const t={event:i,event_category:"form_submit",event_label:"ninja_forms_submit",form_id:e.data.form_id};dataLayer.push(t)}else"function"==typeof gtag?console.warn("GTM isn't defined. But GA4 was detected, did you mean to use GA4 in the action settings?"):console.warn("GTM isn't defined. Please make sure you have GTM installed on your site.");else console.warn("GTM and gtag aren't defined. Please make sure you have GTM or GA4 installed on your site.");else console.warn("No event name defined in the GA4 action settings. Please define an event name.")})}})}),i("controllers/loadControllers",["controllers/formData","controllers/fieldError","controllers/changeField","controllers/changeEmail","controllers/changeDate","controllers/fieldCheckbox","controllers/fieldCheckboxList","controllers/fieldImageList","controllers/fieldRadio","controllers/fieldNumber","controllers/mirrorField","controllers/confirmField","controllers/updateFieldModel","controllers/submitButton","controllers/submitDebug","controllers/getFormErrors","controllers/validateRequired","controllers/submitError","controllers/actionRedirect","controllers/actionSuccess","controllers/fieldSelect","controllers/coreSubmitResponse","controllers/fieldProduct","controllers/fieldTotal","controllers/fieldQuantity","controllers/calculations","controllers/dateBackwardsCompat","controllers/fieldDate","controllers/fieldRecaptcha","controllers/fieldRecaptchaV3","controllers/fieldTurnstile","controllers/fieldHcaptcha","controllers/fieldHTML","controllers/helpText","controllers/fieldTextbox","controllers/fieldTextareaRTE","controllers/fieldStarRating","controllers/fieldTerms","controllers/formContentFilters","controllers/loadViews","controllers/formErrors","controllers/submit","controllers/defaultFilters","controllers/uniqueFieldError","controllers/fieldRepeater","controllers/actionGA"],function(e,t,i,n,r,a,o,l,s,d,c,f,u,h,m,g,p,v,y,b,R,_,w,x,F,M,C,k,T,j,q,E,D,Q,I,V,O,S,L,A,z,N,B,H,Y,P){return Marionette.Object.extend({initialize:function(){new A,new z,new N,new a,new o,new l,new s,new d,new R,new w,new x,new F,new T,new j,new q,new E,new D,new Q,new I,new V,new O,new S,new L,new H,new Y,new t,new i,new n,new r,new c,new f,new u,new h,new m,new g,new p,new v,new y,new b,new P,new _,new M,new B,new C,new k,new e}})}),i("views/beforeForm",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-before-form"})}),i("views/formErrorItem",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-form-error",onRender:function(){}})}),i("views/formErrorCollection",["views/formErrorItem"],function(e){return Marionette.CollectionView.extend({tagName:"nf-errors",childView:e})}),i("views/honeyPot",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-form-hp",events:{"keyup .nf-field-hp":"maybeError","change .nf-field-hp":"maybeError"},maybeError:function(e){if(0==jQuery(e.target).val().length)nfRadio.channel("form-"+this.model.get("id")).request("remove:error","honeyPot");else{var t=nfRadio.channel("app").request("get:form",this.model.get("id"));nfRadio.channel("form-"+this.model.get("id")).request("add:error","honeyPot",t.get("settings").honeypotHoneypotError)}}})}),i("views/afterFormContent",["views/formErrorCollection","views/honeyPot"],function(e,t){return Marionette.LayoutView.extend({tagName:"nf-section",template:"#tmpl-nf-after-fields",regions:{errors:".nf-form-errors",hp:".nf-form-hp"},onShow:function(){this.errors.show(new e({collection:this.model.get("errors")})),this.hp.show(new t({model:this.model}))}})}),i("views/beforeFormContent",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-before-fields",templateHelpers:function(){return{renderFieldsMarkedRequired:function(){return this.fields.filter({required:1}).length?this.fieldsMarkedRequired:""}}}})}),i("views/formLayout",["views/afterFormContent","views/beforeFormContent","models/fieldCollection"],function(e,t,i){return Marionette.LayoutView.extend({tagName:"nf-section",template:"#tmpl-nf-form-layout",regions:{beforeFormContent:".nf-before-form-content",formContent:".nf-form-content",afterFormContent:".nf-after-form-content"},initialize:function(){nfRadio.channel("form-"+this.model.get("id")).reply("get:el",this.getEl,this),this.listenTo(this.model,"hide",this.hide)},onRender:function(){this.$el=this.$el.children(),this.$el.unwrap(),this.setElement(this.$el)},onShow:function(){this.beforeFormContent.show(new t({model:this.model}));var i=this.model.get("formContentData"),n=nfRadio.channel("formContent").request("get:viewFilters"),r=_.without(n,void 0),a=_.first(r);formContentView=a();var o={data:i,formModel:this.model};!1!=i instanceof Backbone.Collection?o.collection=i:!1!=i instanceof Backbone.Model&&(o.model=i),this.formContent.show(new formContentView(o)),this.afterFormContent.show(new e({model:this.model}))},getEl:function(){return this.el},templateHelpers:function(){return{renderClasses:function(){return""}}},hide:function(){jQuery(this.el).hide()}})}),i("views/afterForm",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-after-form"})}),i("views/mainLayout",["views/beforeForm","views/formLayout","views/afterForm"],function(e,t,i){return Marionette.LayoutView.extend({template:"#tmpl-nf-layout",regions:{responseMsg:".nf-response-msg",beforeForm:".nf-before-form",formLayout:".nf-form-layout",afterForm:".nf-after-form"},initialize:function(){this.$el=jQuery("#nf-form-"+this.model.id+"-cont"),this.el="#nf-form-"+this.model.id+"-cont",this.render(),this.beforeForm.show(new e({model:this.model})),this.formLayout.show(new t({model:this.model,fieldCollection:this.options.fieldCollection})),this.afterForm.show(new i({model:this.model})),this.listenTo(this.model,"hide",this.hide)},hide:function(){jQuery(this.el).find(".nf-form-title").hide()}})});var r=function(e,t,i){void 0!==e&&0<e.length?this.locale=e.split("_").join("-"):this.locale="en-US",this.thousands_sep=t||",",this.decimal_sep=i||".",this.uniqueElememts=function(e,t,i){return i.indexOf(e)===t},this.numberDecoder=function(e){var t="",i=!1;"-"===(e=e.toString()).charAt(0)&&(i=!0,e=e.replace("-",""));var n=(e=(e=e.replace(/\s/g,"")).replace(/&nbsp;/g,"")).split("").filter(function(e){return!e.match(/[0-9]/)}),r=n.filter(this.uniqueElememts);switch(r.length){case 0:t=e;break;case 1:var a="";if(1==n.length)separator=n.pop(),a=3==e.split(separator).pop().length&&separator==this.thousands_sep?"":".";else separator=r.pop();t=e.split(separator).join(a);break;case 2:var o,l=r[0];o="."===l?new RegExp("[.]","g"):new RegExp(l,"g"),t=e.replace(o,"");var s,d=r[1];s="."===d?new RegExp("[.]","g"):new RegExp(d,"g"),t=t.replace(s,".");break;default:return"NaN"}return i&&(t="-"+t),this.debug("Number Decoder "+e+" -> "+t),t},this.numberEncoder=function(e,t){return e=this.numberDecoder(e),Intl.NumberFormat(this.locale,{minimumFractionDigits:t,maximumFractionDigits:t}).format(e)},this.debug=function(e){window.nfLocaleConverterDebug&&console.log(e)}};i("../nfLocaleConverter",function(){}),void 0!==nfInlineVars.nfForms&&(window.nfForms=nfInlineVars.nfForms),function(e){var t=e.fn.val;e.fn.val=function(){var i;arguments.length>0&&(i=t.apply(this,[]));var n=t.apply(this,arguments);return arguments.length>0&&i!=t.apply(this,[])&&e(this).hasClass("nf-element")&&!e(this).attr("data-react-managed")&&e(this).change(),n}}(jQuery),document.addEventListener("DOMContentLoaded",function(){t(["models/formCollection","models/formModel","models/fieldCollection","controllers/loadControllers","views/mainLayout","../nfLocaleConverter"],function(e,t,i,n,a){if("undefined"!=typeof nfForms){var o=Marionette.Application.extend({forms:{},initialize:function(e){var t=this;Marionette.Renderer.render=function(e,i){return(e=t.template(e))(i)},this.urlParameters=_.object(_.compact(_.map(location.search.slice(1).split("&"),function(e){if(e)return e.split("=")}))),void 0!==this.urlParameters.nf_resume&&this.listenTo(nfRadio.channel("form-"+this.urlParameters.nf_resume),"loaded",this.restart),nfRadio.channel("app").reply("locale:decodeNumber",this.decodeNumber),nfRadio.channel("app").reply("locale:encodeNumber",this.encodeNumber);new n;nfRadio.channel("app").trigger("after:loadControllers"),nfRadio.channel("app").reply("get:template",this.template)},onStart:function(){var e=nfRadio.channel("app").request("get:forms");_.each(e.models,function(e,t){var i=new a({model:e,fieldCollection:e.get("fields")});nfRadio.channel("form").trigger("render:view",i),jQuery(document).trigger("nfFormReady",i)})},restart:function(e){if(void 0!==this.urlParameters.nf_resume){var t={action:"nf_ajax_submit",security:nfFrontEnd.ajaxNonce,nf_resume:this.urlParameters};nfRadio.channel("form-"+e.get("id")).trigger("disable:submit"),nfRadio.channel("form-"+e.get("id")).trigger("processingLabel"),this.listenTo(nfRadio.channel("form"),"render:view",function(){jQuery("#nf-form-"+e.get("id")+"-cont .nf-field-container:not(.submit-container)").hide()}),jQuery.ajax({url:nfFrontEnd.adminAjax,type:"POST",data:t,cache:!1,success:function(t,i,n){try{var r=t;nfRadio.channel("forms").trigger("submit:response",r,i,n,e.get("id")),nfRadio.channel("form-"+e.get("id")).trigger("submit:response",r,i,n)}catch(e){console.log("Parse Error")}},error:function(e,t,i){console.log("ERRORS: "+t),nfRadio.channel("forms").trigger("submit:response","error",t,e,i)}})}},template:function(e){return e.startsWith("script")||(e="script"+e),_.template(jQuery(e).html(),{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"})},encodeNumber:function(e){return new r(nfi18n.siteLocale,nfi18n.thousands_sep,nfi18n.decimal_point).numberEncoder(e)},decodeNumber:function(e){return new r(nfi18n.siteLocale,nfi18n.thousands_sep,nfi18n.decimal_point).numberDecoder(e)}});(new o).start()}else jQuery(".nf-form-cont").empty()})}),i("main",function(){})}();
(function($){
var nfRadio=Backbone.Radio;
var radioChannel=nfRadio.channel('file_upload');
var fileModel=Backbone.Model.extend({
id: 0,
name: '',
tmpName: '',
fieldID: 0
});
var FileCollection=Backbone.Collection.extend({
model: fileModel
});
var fileView=Marionette.ItemView.extend({
tagName: 'nf-section',
template: '#tmpl-nf-field-file-row',
events: {
'click .delete': 'clickDelete'
},
clickDelete: function(event){
radioChannel.trigger('click:deleteFile', event, this.model);
}});
var fileCollectionView=Marionette.CollectionView.extend({
childView: fileView
});
var uploadController=Marionette.Object.extend({
jqXHR: [],
$progress_bars: [],
initialize: function(){
this.listenTo(radioChannel, 'init:model', this.initFile);
this.listenTo(radioChannel, 'render:view', this.initFileUpload);
this.listenTo(radioChannel, 'click:deleteFile', this.deleteFile);
radioChannel.reply('validate:required', this.validateRequired);
radioChannel.reply('get:submitData', this.getSubmitData);
},
initFile: function(model){
model.set('uploadMulti', 1!=model.get('upload_multi_count') ) ;
},
renderView: function(view){
var el=$(view.el).find('.files_uploaded');
view.fileCollectionView=new fileCollectionView( {
el: el,
collection: view.model.get('files'),
thisModel: this.model
});
view.model.bind('change:files', this.changeCollection, view);
view.listenTo(nfRadio.channel('nfMP'), 'change:part', this.changeCollection, view);
},
changeCollection: function(){
this.fileCollectionView.render();
},
getFieldID: function(e){
var $parent=$(e.target).parents('.field-wrap');
return $parent.data('field-id');
},
getProgressBar: function(e){
var fieldID=this.getFieldID(e);
return this.$progress_bars[ fieldID ];
},
resetProgress: function(e){
var self=this;
setTimeout(function(){
self.getProgressBar(e).css('width', 0);
}, 1500);
},
checkFilesLimit: function(view, e, data){
var limit=view.model.get('upload_multi_count');
if(1==limit){
return true;
}
var files=view.model.get('files');
if(( files&&files.length >=limit)||data.files.length > limit){
var error_msg=nf_upload.strings.file_limit.replace('%n', limit);
alert(error_msg);
return false;
}
return true;
},
maybeSubmitFieldData: function(data){
if(data.paramName==='files-' + data.formData.field_id||data.paramName==='files-' + data.formData.field_id + '[]'){
this.jqXHR[ data.formData.field_id ]=data.submit();
}},
showError: function(error, view){
nfRadio.channel('fields').request('add:error', view.model.id, 'upload-file-error', error);
},
resetError: function(view, fieldID){
nfRadio.channel('fields').request('remove:error', fieldID, 'upload-file-error');
this.$progress_bars[ fieldID ].css('width', 0);
$(view.el).find('.nf-fu-button-cancel').hide();
var formID=view.model.get('formID');
nfRadio.channel('form-' + formID).trigger('enable:submit', view.model);
},
cancelUpload: function(e){
var fieldID=e.data.view.model.id;
e.data.controller.jqXHR[ fieldID ].abort();
e.data.controller.resetError(e.data.view, fieldID);
},
isNonceValid: function(view){
var nonceExpiry=view.model.get('uploadNonceExpiry');
if(typeof nonceExpiry==='undefined'||nonceExpiry===null){
return false
}
var now=Math.round((new Date()).getTime() / 1000);
return now < nonceExpiry;
},
getValidNonce: function(field_id){
return jQuery.post({
url: nfFrontEnd.adminAjax + '?action=nf_fu_get_new_nonce',
type: 'POST',
data: {
'field_id': field_id
},
cache: false
});
},
initFileUpload: function(view){
var fieldID=view.model.id;
var formID=view.model.get('formID');
var nonce=view.model.get('uploadNonce');
var $file=$(view.el).find('.nf-element');
var $files_uploaded=$(view.el).find('.files_uploaded');
this.$progress_bars[ fieldID ]=$(view.el).find('.nf-fu-progress-bar');
var url=nfFrontEnd.adminAjax + '?action=nf_fu_upload';
var self=this;
var files=view.model.get('files');
$(view.el).find('button.nf-fu-button-cancel').on('click', { view: view, controller: self }, self.cancelUpload);
$(view.el).find('button.nf-fu-fileinput-button').on('click', function(){
view.model.set('firstTouch', false);
});
files=files||[];
if(!(files instanceof FileCollection) ){
files=new FileCollection(files);
view.model.set('files', files);
}
this.renderView(view);
var formData={
form_id: formID,
field_id: fieldID,
nonce: nonce,
abort: false
};
$file.fileupload({
url: url,
dataType: 'json',
messages: {
maxFileSize: nf_upload.strings.max_file_size_error.replace('%n', view.model.get('max_file_size_mb') ),
minFileSize: nf_upload.strings.min_file_size_error.replace('%n', view.model.get('min_file_size_mb') )
},
maxChunkSize: view.model.get('max_chunk_size'),
dropZone: $(view.el),
maxFileSize: view.model.get('max_file_size'),
minFileSize: view.model.get('min_file_size'),
add: function (e, data){
$(view.el).find('.nf-fu-button-cancel').show();
formData.abort=false;
data.formData=formData;
if(self.isNonceValid(view) ){
self.maybeSubmitFieldData(data);
return;
}
self.getValidNonce(formData.field_id).done(function(response){
if(!response.success){
self.showError(nf_upload.strings.upload_nonce_error, view);
return false;
}
view.model.set('uploadNonce', response.data.nonce);
view.model.set('uploadNonceExpiry', response.data.nonce_expiry);
data.formData.nonce=response.data.nonce;
self.maybeSubmitFieldData(data);
});
},
change: function(e, data){
if(!self.checkFilesLimit(view, e, data) ){
return false;
}
nfRadio.channel('fields').request('remove:error', view.model.get('id'), 'required-error');
},
drop: function(e, data){
if(!self.checkFilesLimit(view, e, data) ){
return false;
}},
done: function(e, data){
if(!data.result||data.result===undefined){
self.showError(nf_upload.strings.unknown_upload_error, view);
self.resetProgress(e);
return;
}
if(-1===data.result){
self.showError(nf_upload.strings.upload_error, view);
self.resetProgress(e);
return;
}
if(data.result.errors.length){
$.each(data.result.errors, function(index, error){
self.showError(error, view);
});
}
if(data.result.data.files===undefined||!data.result.data.files.length){
self.resetProgress(e);
return;
}
var allowed=view.model.get('upload_multi_count');
var limit=1;
if(1!=allowed){
var uploaded=view.model.get('files').length;
limit=allowed - uploaded;
if(limit <=0){
var error_msg=nf_upload.strings.file_limit.replace('%n', allowed);
self.showError(error_msg, view);
self.resetProgress(e);
return;
}}
$(view.el).find('.nf-fu-button-cancel').hide();
var count=0;
$.each(data.result.data.files, function(index, file){
count++;
if(count > limit){
return false;
}
files.add(new fileModel( { name: file.name, tmp_name: file.tmp_name, fieldID: fieldID }) );
});
view.model.set('files', files);
view.model.trigger('change:files', view.model);
view.model.set('value', 1);
self.resetProgress(e);
nfRadio.channel('fields').trigger('change:field', view.el, view.model);
nfRadio.channel('form-' + formID).trigger('enable:submit', view.model);
},
start: function(){
if(1==view.model.get('upload_multi_count') ){
$files_uploaded.empty();
files.reset();
}
nfRadio.channel('fields').request('remove:error', view.model.id, 'upload-file-error');
nfRadio.channel('form-' + formID).trigger('disable:submit', view.model);
},
progressall: function(e, data){
var progress=parseInt(data.loaded / data.total * 100, 10);
self.getProgressBar(e).css('width', progress + '%');
}}).on('fileuploadprocessalways', function(e, data){
var index=data.index,
file=data.files[ index ];
if(file.error){
nfRadio.channel('fields').request('add:error', view.model.id, 'upload-file-error', file.error);
}}).on('fileuploadchunkdone', function(e, data){
if(data.result.errors.length){
$.each(data.result.errors, function(index, error){
self.showError(error, view);
});
self.jqXHR[ formData.field_id ].abort();
self.$progress_bars[  formData.field_id ].css('width', 0);
formData.abort=true;
return;
}
var key=data.result.data.files[ 0 ][ 'new_tmp_key' ];
formData[ key ]=data.result.data.files[ 0 ][ 'tmp_name' ];
}).on("fileuploadchunksend", function(e, data){
if(formData.abort===true){
return false;
}})
.prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined:'disabled');
},
getSubmitData: function(fieldData, field){
fieldData.files=field.get('files');
return fieldData;
},
deleteFile: function(event, model){
event.preventDefault();
model.collection.remove(model);
var fieldModel=nfRadio.channel('fields').request('get:field', model.get('fieldID') );
nfRadio.channel('fields').trigger('change:field', '', fieldModel);
nfRadio.channel('fields').request('remove:error', fieldModel, 'required-error');
},
validateRequired: function(el, model){
if(!model.get('firstTouch') ){
model.set('firstTouch', true);
return true;
}
var files=model.get('files');
if(typeof files==='undefined'||!files.length){
model.set('value', '');
return false;
}
return true;
}});
new uploadController();
$(document).ready(function(){
$('body').on('click', 'button.nf-fu-fileinput-button', function(e){
$(this).parent().find('input.nf-element').click();
});
$(document).bind('drop dragover', function(e){
e.preventDefault();
});
});
})(jQuery);