/**
 * This JS file was auto-generated via Terser.
 *
 * Contributors should avoid editing this file, but instead edit the associated
 * non minified file file. For more information, check out our engineering docs
 * on how we handle JS minification in our engineering docs.
 *
 * @see: https://evnt.is/dev-docs-minification
 */

tribe.filterBar=tribe.filterBar||{},tribe.filterBar.filters={},function($,obj){"use strict";var $document=$(document);obj.selectors={filter:".tribe-filter-bar-c-filter",filterOpen:".tribe-filter-bar-c-filter--open",filterBar:'[data-js~="tribe-filter-bar"]',filterBarOpen:".tribe-filter-bar--open",filterBarVertical:".tribe-events--filter-bar-vertical"},obj.decodeURIComponent=function(val){var valueToDecode=val;try{valueToDecode=val.replace(/\+/g," ")}catch(e){}try{return decodeURIComponent(valueToDecode)}catch(e){return valueToDecode}},obj.removeSquareBracketsFromEnd=function(string){return string.replace(/(\[[0-9]*\])$/,"")},obj.hasSquareBracketsAtEnd=function(string){return-1!==string.search(/\[[0-9]*\]$/)},obj.removeValueFromBaseKeyQueryStringPieces=function(baseKeyQueryStringPieces,value){return baseKeyQueryStringPieces.filter((function(queryStringPiece){var queryVal=queryStringPiece.split("=")[1];return obj.decodeURIComponent(queryVal)!==value})).map((function(queryStringPiece,index){var queryStringPieces=queryStringPiece.split("="),queryKey=queryStringPieces[0],queryVal=queryStringPieces[1],baseQueryKey=obj.removeSquareBracketsFromEnd(obj.decodeURIComponent(queryKey));return[encodeURIComponent(baseQueryKey+"["+index+"]"),queryVal].join("=")}))},obj.removeKeyValueFromQueryStringPieces=function(queryStringPieces,key,value){var baseKey=key,keyIsArray=obj.hasSquareBracketsAtEnd(key);keyIsArray&&(baseKey=obj.removeSquareBracketsFromEnd(baseKey));for(var modifiedQueryStringPieces=[],baseKeyQueryStringPieces=[],i=0;i<queryStringPieces.length;i++){var baseQueryKey,queryStringPieceKeyVal=queryStringPieces[i].split("="),queryKey=queryStringPieceKeyVal[0],queryVal=queryStringPieceKeyVal[1];try{baseQueryKey=obj.removeSquareBracketsFromEnd(obj.decodeURIComponent(queryKey))}catch(error){continue}baseQueryKey===baseKey&&!0===value||(baseQueryKey!==baseKey||!keyIsArray&&queryVal!==value?modifiedQueryStringPieces.push(queryStringPieces[i]):keyIsArray&&!0!==value&&baseKeyQueryStringPieces.push(queryStringPieces[i]))}return keyIsArray&&(baseKeyQueryStringPieces=obj.removeValueFromBaseKeyQueryStringPieces(baseKeyQueryStringPieces,obj.decodeURIComponent(value))),baseKeyQueryStringPieces.forEach((function(queryStringPiece){modifiedQueryStringPieces.push(queryStringPiece)})),modifiedQueryStringPieces},obj.removeKeyValueFromQuery=function(location,key,value){if(!location.search)return location;var queryStringPieces=location.search.slice(1).split("&"),modifiedQueryStringPieces=obj.removeKeyValueFromQueryStringPieces(queryStringPieces,key,value),keyParts=key.match(/([a-z\d_]+)(\[\])?/i);if("undefined"!=typeof tribeFilterBarFilterMap&&void 0!==tribeFilterBarFilterMap[keyParts[1]]){var mapKey=tribeFilterBarFilterMap[keyParts[1]];void 0!==keyParts[2]&&(mapKey+=keyParts[2]),modifiedQueryStringPieces=obj.removeKeyValueFromQueryStringPieces(modifiedQueryStringPieces,mapKey,value)}var modifiedQueryString="";return modifiedQueryStringPieces.length&&(modifiedQueryString="?"+modifiedQueryStringPieces.join("&")),{origin:location.origin,pathname:location.pathname,search:modifiedQueryString,hash:location.hash,href:[location.origin,location.pathname,modifiedQueryString,location.hash].join("")}},obj.getQueryToAdd=function(queryStringPieces,key,value){var baseKey=key,keyIsArray=obj.hasSquareBracketsAtEnd(key);keyIsArray&&(baseKey=obj.removeSquareBracketsFromEnd(baseKey));for(var keyArrayIndex=0,i=0;i<queryStringPieces.length;i++){var baseQueryKey,queryStringPieceKeyVal=queryStringPieces[i].split("="),queryKey=queryStringPieceKeyVal[0],queryVal=queryStringPieceKeyVal[1];try{baseQueryKey=obj.removeSquareBracketsFromEnd(decodeURIComponent(queryKey))}catch(error){continue}if(baseQueryKey===baseKey&&queryVal===value)return"";keyIsArray&&baseQueryKey===baseKey&&keyArrayIndex++}var keyToAdd=baseKey;return keyIsArray&&(keyToAdd+="["+keyArrayIndex+"]"),[encodeURIComponent(keyToAdd),value].join("=")},obj.addKeyValueToQuery=function(location,key,value){var queryStringPieces=[],queryString=location.search;queryString&&(queryStringPieces=queryString.slice(1).split("&"));var queryToAdd=obj.getQueryToAdd(queryStringPieces,key,value),modifiedQueryString=queryString;return queryToAdd&&(modifiedQueryString=queryString?[queryString,queryToAdd].join("&"):"?"+queryToAdd),{origin:location.origin,pathname:location.pathname,search:modifiedQueryString,hash:location.hash,href:[location.origin,location.pathname,modifiedQueryString,location.hash].join("")}},obj.getFiltersState=function($container){if(!$container.data("tribeEventsState").isMobile&&!$container.is(obj.selectors.filterBarVertical))return!1;var $filters=$container.find(obj.selectors.filter);return!!$filters.length&&$filters.toArray().reduce((function(state,filter,index){return $(filter).is(obj.selectors.filterOpen)?state+Math.pow(2,index):state}),0)},obj.setTribeFilterBarRequest=function($container){var requestData=$container.data("tribeRequestData"),data={tribe_filter_bar_request:1};$.isPlainObject(requestData)&&(data=$.extend(requestData,data)),$container.data("tribeRequestData",data)},obj.submitRequest=function($container,url){url=decodeURIComponent(url),$container.trigger("beforeFilterBarSubmitRequest.tribeEvents");var shouldManageUrl=tribe.events.views.manager.shouldManageUrl($container),data={prev_url:encodeURI(decodeURI(obj.getCurrentUrl($container))),url:encodeURI(decodeURI(url)),should_manage_url:shouldManageUrl};obj.setTribeFilterBarRequest($container),tribe.events.views.manager.request(data,$container),$container.trigger("afterFilterBarSubmitRequest.tribeEvents")},obj.getCurrentUrl=function($container){return tribe.events.views.manager.getContainerData($container).url},obj.getCurrentUrlAsObject=function($container){var currentUrl=obj.getCurrentUrl($container),urlObj=document.createElement("a");return urlObj.href=currentUrl,urlObj},obj.addFilterBarData=function(event){var $container=event.data.container,containerState=$container.data("tribeEventsState"),$filterBar=$container.find(obj.selectors.filterBar),filtersState=obj.getFiltersState($container),requestData=$container.data("tribeRequestData"),data={},isFilterBarOpen=$filterBar.is(obj.selectors.filterBarOpen)&&(containerState.isMobile&&$.isPlainObject(requestData)&&requestData.tribe_filter_bar_request||!containerState.isMobile);data.tribe_filter_bar_state=isFilterBarOpen?1:0,!1!==filtersState&&(data.tribe_filters_state=filtersState),$.isPlainObject(requestData)&&(data=$.extend(requestData,data)),$container.data("tribeRequestData",data)},obj.deinit=function(event){var $container=event.data.container;$container.off("beforeRequest.tribeEvents",obj.addFilterBarData),$container.off("beforeAjaxSuccess.tribeEvents",obj.deinit)},obj.init=function(event,index,$container){$container.on("beforeRequest.tribeEvents",{container:$container},obj.addFilterBarData),$container.on("beforeAjaxSuccess.tribeEvents",{container:$container},obj.deinit)},obj.ready=function(){$document.on("afterSetup.tribeEvents",tribe.events.views.manager.selectors.container,obj.init)},$(obj.ready)}(jQuery,tribe.filterBar.filters);