!function(e,t){AW.Rules=Backbone.Model.extend({initialize(){const e=[];this.get("rawRuleOptions")&&_.each(this.get("rawRuleOptions"),(t=>{const s=new AW.RuleGroup(this),i=[];_.each(t,(function(e){const t=new AW.Rule(s);t.set("name",e.name),t.resetOptions(),t.set("compare",e.compare),t.set("value",e.value),e.selected&&t.set("selected",e.selected),i.push(t)})),s.set("rules",i),e.push(s)})),this.set("ruleOptions",e),this.resetAvailableRules()},defaults(){return{allRules:{},availableRules:{},ruleOptions:[]}},resetAvailableRules(){const e=AW.workflow.get("trigger");this.set("availableRules",_.filter(this.get("allRules"),(function(t){return e&&-1!==e.supplied_data_items.indexOf(t.data_item)})));const t={};_.each(this.get("availableRules"),(function(e){t[e.group]||(t[e.group]=[]),t[e.group].push(e)})),this.set("groupedRules",t)},isRuleAvailable(e){const t=AW.rules.get("availableRules"),s=_.pluck(t,"name");return-1!==_.indexOf(s,e)},clearIncompatibleRules(){const e=[];_.each(AW.rules.get("ruleOptions"),(function(t){_.each(t.get("rules"),(function(t){t&&!AW.rules.isRuleAvailable(t.get("name"))&&e.push(t)}))})),_.each(e,(function(e){e.clear()}))},createGroup(){const e=this.get("ruleOptions"),t=new AW.RuleGroup(this);return t.createRule(),e.push(t),this.set("ruleOptions",e),this.trigger("ruleGroupChange"),t},removeGroup(e){const t=this.get("ruleOptions"),s=t.map((function(e){return e.id})).indexOf(e);t[s].destroy(),t.splice(s,1),this.set("ruleOptions",t),this.trigger("ruleGroupChange")}}),AW.Rule=Backbone.Model.extend({initialize(e){this.set("id",_.uniqueId("rule_")),this.set("group",e),this.resetOptions()},getRuleObject(){return t.allRules[this.get("name")]},resetOptions(){const e=this.get("name"),t=this.getRuleObject();return e?this.set("object",t):this.set("object",{}),this.set("compare",!1),this.set("value",!1),this.loadSelectOptions(),this},loadSelectOptions(){const t=this.getRuleObject();return!t||"select"!==t.type||t.select_choices||(this.set("isValueLoading",!0),e.getJSON(ajaxurl,{action:"aw_get_rule_select_choices",rule_name:t.name},(e=>{e.success&&(t.select_choices=e.data.select_choices,this.set("isValueLoading",!1),this.set("object",t),this.trigger("optionsLoaded"))}))),this},clear(){this.get("group").removeRule(this.id)},destroy(){this.trigger("destroy")}}),AW.RuleGroup=Backbone.Model.extend({initialize(e){this.set("id",_.uniqueId("rule_group_")),this.set("app",e),this.set("rules",[])},createRule(){const e=this.get("rules"),t=new AW.Rule(this);return e.push(t),this.set("rules",e),t},removeRule(e){const t=this.get("rules"),s=t.map((function(e){return e.id})).indexOf(e);t.length>1?(t[s].destroy(),t.splice(s,1),this.set("rules",t)):(t[s].destroy(),this.clear())},clear(){this.get("app").removeGroup(this.id)},destroy(){this.trigger("destroy")}}),AW.RuleView=Backbone.View.extend({className:"automatewoo-rule-container",template:wp.template("aw-rule"),events:{"change .js-rule-select":"updatedName","change .js-rule-compare-field":"updatedCompare","change .js-rule-value-field":"updatedValue","click .js-remove-rule":"clear","change .js-rule-value-from":"updateMinFromValueDate"},initialize(){this.listenTo(this.model,"change:id",this.render),this.listenTo(this.model,"change:group",this.render),this.listenTo(this.model,"optionsLoaded",this.render),this.listenTo(this.model,"destroy",this.remove)},render(){return this.$el.html(this.template({rule:this.model.toJSON(),groupedRules:AW.rules.get("groupedRules"),fieldNameBase:this.getFieldNameBase()})),this.setName(),this.setCompare(),this.setValue(),this.maybeToggleValueDisplay(),this.initDatepicker(),e(document.body).trigger("wc-enhanced-select-init"),this},setName(){this.$el.find(".js-rule-select").val(this.model.get("name"))},setCompare(){const e=this.$el.find(".js-rule-compare-field"),t=this.model.get("compare");if(e.filter("select").length&&!t){const t=e.find("option:first-child"),s=e.find("option:first-child").prop("value");t.prop("selected",!0),e.val(s),this.model.set("compare",s)}t&&(e.val(t),e.find('option[value~="'+t+'"]').prop("selected",!0))},setValue(){const t=this.model.get("selected"),s=this.model.get("value");let i;if(t&&(i=this.$el.find(".js-rule-value-field"),i.is("select")?_.isArray(s)?_.each(s,(function(s,l){i.append(e("