// Compiled by ClojureScript 1.9.562 {}
goog.provide('garden.types');
goog.require('cljs.core');

/**
* @constructor
 * @implements {cljs.core.IRecord}
 * @implements {cljs.core.IEquiv}
 * @implements {cljs.core.IHash}
 * @implements {cljs.core.ICollection}
 * @implements {cljs.core.ICounted}
 * @implements {cljs.core.ISeqable}
 * @implements {cljs.core.IMeta}
 * @implements {cljs.core.ICloneable}
 * @implements {cljs.core.IPrintWithWriter}
 * @implements {cljs.core.IIterable}
 * @implements {cljs.core.IWithMeta}
 * @implements {cljs.core.IAssociative}
 * @implements {cljs.core.IMap}
 * @implements {cljs.core.ILookup}
*/
garden.types.CSSUnit = (function (unit,magnitude,__meta,__extmap,__hash){
this.unit = unit;
this.magnitude = magnitude;
this.__meta = __meta;
this.__extmap = __extmap;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 2229667594;
this.cljs$lang$protocol_mask$partition1$ = 8192;
})
garden.types.CSSUnit.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__24013__auto__,k__24014__auto__){
var self__ = this;
var this__24013__auto____$1 = this;
return this__24013__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__24014__auto__,null);
});

garden.types.CSSUnit.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__24015__auto__,k35520,else__24016__auto__){
var self__ = this;
var this__24015__auto____$1 = this;
var G__35522 = k35520;
var G__35522__$1 = (((G__35522 instanceof cljs.core.Keyword))?G__35522.fqn:null);
switch (G__35522__$1) {
case "unit":
return self__.unit;

break;
case "magnitude":
return self__.magnitude;

break;
default:
return cljs.core.get.call(null,self__.__extmap,k35520,else__24016__auto__);

}
});

garden.types.CSSUnit.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__24027__auto__,writer__24028__auto__,opts__24029__auto__){
var self__ = this;
var this__24027__auto____$1 = this;
var pr_pair__24030__auto__ = ((function (this__24027__auto____$1){
return (function (keyval__24031__auto__){
return cljs.core.pr_sequential_writer.call(null,writer__24028__auto__,cljs.core.pr_writer,""," ","",opts__24029__auto__,keyval__24031__auto__);
});})(this__24027__auto____$1))
;
return cljs.core.pr_sequential_writer.call(null,writer__24028__auto__,pr_pair__24030__auto__,"#garden.types.CSSUnit{",", ","}",opts__24029__auto__,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"unit","unit",375175175),self__.unit],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),self__.magnitude],null))], null),self__.__extmap));
});

garden.types.CSSUnit.prototype.cljs$core$IIterable$ = cljs.core.PROTOCOL_SENTINEL;

garden.types.CSSUnit.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__35519){
var self__ = this;
var G__35519__$1 = this;
return (new cljs.core.RecordIter((0),G__35519__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"unit","unit",375175175),new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator.call(null,self__.__extmap):cljs.core.nil_iter.call(null))));
});

garden.types.CSSUnit.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__24011__auto__){
var self__ = this;
var this__24011__auto____$1 = this;
return self__.__meta;
});

garden.types.CSSUnit.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__24007__auto__){
var self__ = this;
var this__24007__auto____$1 = this;
return (new garden.types.CSSUnit(self__.unit,self__.magnitude,self__.__meta,self__.__extmap,self__.__hash));
});

garden.types.CSSUnit.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__24017__auto__){
var self__ = this;
var this__24017__auto____$1 = this;
return (2 + cljs.core.count.call(null,self__.__extmap));
});

garden.types.CSSUnit.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__24008__auto__){
var self__ = this;
var this__24008__auto____$1 = this;
var h__23780__auto__ = self__.__hash;
if(!((h__23780__auto__ == null))){
return h__23780__auto__;
} else {
var h__23780__auto____$1 = cljs.core.hash_imap.call(null,this__24008__auto____$1);
self__.__hash = h__23780__auto____$1;

return h__23780__auto____$1;
}
});

garden.types.CSSUnit.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this__24009__auto__,other__24010__auto__){
var self__ = this;
var this__24009__auto____$1 = this;
if(cljs.core.truth_((function (){var and__23326__auto__ = other__24010__auto__;
if(cljs.core.truth_(and__23326__auto__)){
return ((this__24009__auto____$1.constructor === other__24010__auto__.constructor)) && (cljs.core.equiv_map.call(null,this__24009__auto____$1,other__24010__auto__));
} else {
return and__23326__auto__;
}
})())){
return true;
} else {
return false;
}
});

garden.types.CSSUnit.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__24022__auto__,k__24023__auto__){
var self__ = this;
var this__24022__auto____$1 = this;
if(cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"unit","unit",375175175),null,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),null], null), null),k__24023__auto__)){
return cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this__24022__auto____$1),self__.__meta),k__24023__auto__);
} else {
return (new garden.types.CSSUnit(self__.unit,self__.magnitude,self__.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,self__.__extmap,k__24023__auto__)),null));
}
});

garden.types.CSSUnit.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__24020__auto__,k__24021__auto__,G__35519){
var self__ = this;
var this__24020__auto____$1 = this;
var pred__35523 = cljs.core.keyword_identical_QMARK_;
var expr__35524 = k__24021__auto__;
if(cljs.core.truth_(pred__35523.call(null,new cljs.core.Keyword(null,"unit","unit",375175175),expr__35524))){
return (new garden.types.CSSUnit(G__35519,self__.magnitude,self__.__meta,self__.__extmap,null));
} else {
if(cljs.core.truth_(pred__35523.call(null,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),expr__35524))){
return (new garden.types.CSSUnit(self__.unit,G__35519,self__.__meta,self__.__extmap,null));
} else {
return (new garden.types.CSSUnit(self__.unit,self__.magnitude,self__.__meta,cljs.core.assoc.call(null,self__.__extmap,k__24021__auto__,G__35519),null));
}
}
});

garden.types.CSSUnit.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__24025__auto__){
var self__ = this;
var this__24025__auto____$1 = this;
return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"unit","unit",375175175),self__.unit],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),self__.magnitude],null))], null),self__.__extmap));
});

garden.types.CSSUnit.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__24012__auto__,G__35519){
var self__ = this;
var this__24012__auto____$1 = this;
return (new garden.types.CSSUnit(self__.unit,self__.magnitude,G__35519,self__.__extmap,self__.__hash));
});

garden.types.CSSUnit.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__24018__auto__,entry__24019__auto__){
var self__ = this;
var this__24018__auto____$1 = this;
if(cljs.core.vector_QMARK_.call(null,entry__24019__auto__)){
return this__24018__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,entry__24019__auto__,(0)),cljs.core._nth.call(null,entry__24019__auto__,(1)));
} else {
return cljs.core.reduce.call(null,cljs.core._conj,this__24018__auto____$1,entry__24019__auto__);
}
});

garden.types.CSSUnit.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"unit","unit",2015706702,null),new cljs.core.Symbol(null,"magnitude","magnitude",-730161547,null)], null);
});

garden.types.CSSUnit.cljs$lang$type = true;

garden.types.CSSUnit.cljs$lang$ctorPrSeq = (function (this__24049__auto__){
return cljs.core._conj.call(null,cljs.core.List.EMPTY,"garden.types/CSSUnit");
});

garden.types.CSSUnit.cljs$lang$ctorPrWriter = (function (this__24049__auto__,writer__24050__auto__){
return cljs.core._write.call(null,writer__24050__auto__,"garden.types/CSSUnit");
});

garden.types.__GT_CSSUnit = (function garden$types$__GT_CSSUnit(unit,magnitude){
return (new garden.types.CSSUnit(unit,magnitude,null,null,null));
});

garden.types.map__GT_CSSUnit = (function garden$types$map__GT_CSSUnit(G__35521){
return (new garden.types.CSSUnit(new cljs.core.Keyword(null,"unit","unit",375175175).cljs$core$IFn$_invoke$arity$1(G__35521),new cljs.core.Keyword(null,"magnitude","magnitude",1924274222).cljs$core$IFn$_invoke$arity$1(G__35521),null,cljs.core.dissoc.call(null,G__35521,new cljs.core.Keyword(null,"unit","unit",375175175),new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)),null));
});


/**
* @constructor
 * @implements {cljs.core.IRecord}
 * @implements {cljs.core.IEquiv}
 * @implements {cljs.core.IHash}
 * @implements {cljs.core.ICollection}
 * @implements {cljs.core.ICounted}
 * @implements {cljs.core.ISeqable}
 * @implements {cljs.core.IMeta}
 * @implements {cljs.core.ICloneable}
 * @implements {cljs.core.IPrintWithWriter}
 * @implements {cljs.core.IIterable}
 * @implements {cljs.core.IWithMeta}
 * @implements {cljs.core.IAssociative}
 * @implements {cljs.core.IMap}
 * @implements {cljs.core.ILookup}
*/
garden.types.CSSFunction = (function (function$,args,__meta,__extmap,__hash){
this.function$ = function$;
this.args = args;
this.__meta = __meta;
this.__extmap = __extmap;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 2229667594;
this.cljs$lang$protocol_mask$partition1$ = 8192;
})
garden.types.CSSFunction.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__24013__auto__,k__24014__auto__){
var self__ = this;
var this__24013__auto____$1 = this;
return this__24013__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__24014__auto__,null);
});

garden.types.CSSFunction.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__24015__auto__,k35528,else__24016__auto__){
var self__ = this;
var this__24015__auto____$1 = this;
var G__35530 = k35528;
var G__35530__$1 = (((G__35530 instanceof cljs.core.Keyword))?G__35530.fqn:null);
switch (G__35530__$1) {
case "function":
return self__.function$;

break;
case "args":
return self__.args;

break;
default:
return cljs.core.get.call(null,self__.__extmap,k35528,else__24016__auto__);

}
});

garden.types.CSSFunction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__24027__auto__,writer__24028__auto__,opts__24029__auto__){
var self__ = this;
var this__24027__auto____$1 = this;
var pr_pair__24030__auto__ = ((function (this__24027__auto____$1){
return (function (keyval__24031__auto__){
return cljs.core.pr_sequential_writer.call(null,writer__24028__auto__,cljs.core.pr_writer,""," ","",opts__24029__auto__,keyval__24031__auto__);
});})(this__24027__auto____$1))
;
return cljs.core.pr_sequential_writer.call(null,writer__24028__auto__,pr_pair__24030__auto__,"#garden.types.CSSFunction{",", ","}",opts__24029__auto__,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"function","function",-2127255473),self__.function$],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"args","args",1315556576),self__.args],null))], null),self__.__extmap));
});

garden.types.CSSFunction.prototype.cljs$core$IIterable$ = cljs.core.PROTOCOL_SENTINEL;

garden.types.CSSFunction.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__35527){
var self__ = this;
var G__35527__$1 = this;
return (new cljs.core.RecordIter((0),G__35527__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"function","function",-2127255473),new cljs.core.Keyword(null,"args","args",1315556576)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator.call(null,self__.__extmap):cljs.core.nil_iter.call(null))));
});

garden.types.CSSFunction.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__24011__auto__){
var self__ = this;
var this__24011__auto____$1 = this;
return self__.__meta;
});

garden.types.CSSFunction.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__24007__auto__){
var self__ = this;
var this__24007__auto____$1 = this;
return (new garden.types.CSSFunction(self__.function$,self__.args,self__.__meta,self__.__extmap,self__.__hash));
});

garden.types.CSSFunction.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__24017__auto__){
var self__ = this;
var this__24017__auto____$1 = this;
return (2 + cljs.core.count.call(null,self__.__extmap));
});

garden.types.CSSFunction.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__24008__auto__){
var self__ = this;
var this__24008__auto____$1 = this;
var h__23780__auto__ = self__.__hash;
if(!((h__23780__auto__ == null))){
return h__23780__auto__;
} else {
var h__23780__auto____$1 = cljs.core.hash_imap.call(null,this__24008__auto____$1);
self__.__hash = h__23780__auto____$1;

return h__23780__auto____$1;
}
});

garden.types.CSSFunction.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this__24009__auto__,other__24010__auto__){
var self__ = this;
var this__24009__auto____$1 = this;
if(cljs.core.truth_((function (){var and__23326__auto__ = other__24010__auto__;
if(cljs.core.truth_(and__23326__auto__)){
return ((this__24009__auto____$1.constructor === other__24010__auto__.constructor)) && (cljs.core.equiv_map.call(null,this__24009__auto____$1,other__24010__auto__));
} else {
return and__23326__auto__;
}
})())){
return true;
} else {
return false;
}
});

garden.types.CSSFunction.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__24022__auto__,k__24023__auto__){
var self__ = this;
var this__24022__auto____$1 = this;
if(cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"args","args",1315556576),null,new cljs.core.Keyword(null,"function","function",-2127255473),null], null), null),k__24023__auto__)){
return cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this__24022__auto____$1),self__.__meta),k__24023__auto__);
} else {
return (new garden.types.CSSFunction(self__.function$,self__.args,self__.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,self__.__extmap,k__24023__auto__)),null));
}
});

garden.types.CSSFunction.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__24020__auto__,k__24021__auto__,G__35527){
var self__ = this;
var this__24020__auto____$1 = this;
var pred__35531 = cljs.core.keyword_identical_QMARK_;
var expr__35532 = k__24021__auto__;
if(cljs.core.truth_(pred__35531.call(null,new cljs.core.Keyword(null,"function","function",-2127255473),expr__35532))){
return (new garden.types.CSSFunction(G__35527,self__.args,self__.__meta,self__.__extmap,null));
} else {
if(cljs.core.truth_(pred__35531.call(null,new cljs.core.Keyword(null,"args","args",1315556576),expr__35532))){
return (new garden.types.CSSFunction(self__.function$,G__35527,self__.__meta,self__.__extmap,null));
} else {
return (new garden.types.CSSFunction(self__.function$,self__.args,self__.__meta,cljs.core.assoc.call(null,self__.__extmap,k__24021__auto__,G__35527),null));
}
}
});

garden.types.CSSFunction.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__24025__auto__){
var self__ = this;
var this__24025__auto____$1 = this;
return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"function","function",-2127255473),self__.function$],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"args","args",1315556576),self__.args],null))], null),self__.__extmap));
});

garden.types.CSSFunction.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__24012__auto__,G__35527){
var self__ = this;
var this__24012__auto____$1 = this;
return (new garden.types.CSSFunction(self__.function$,self__.args,G__35527,self__.__extmap,self__.__hash));
});

garden.types.CSSFunction.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__24018__auto__,entry__24019__auto__){
var self__ = this;
var this__24018__auto____$1 = this;
if(cljs.core.vector_QMARK_.call(null,entry__24019__auto__)){
return this__24018__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,entry__24019__auto__,(0)),cljs.core._nth.call(null,entry__24019__auto__,(1)));
} else {
return cljs.core.reduce.call(null,cljs.core._conj,this__24018__auto____$1,entry__24019__auto__);
}
});

garden.types.CSSFunction.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"function","function",-486723946,null),new cljs.core.Symbol(null,"args","args",-1338879193,null)], null);
});

garden.types.CSSFunction.cljs$lang$type = true;

garden.types.CSSFunction.cljs$lang$ctorPrSeq = (function (this__24049__auto__){
return cljs.core._conj.call(null,cljs.core.List.EMPTY,"garden.types/CSSFunction");
});

garden.types.CSSFunction.cljs$lang$ctorPrWriter = (function (this__24049__auto__,writer__24050__auto__){
return cljs.core._write.call(null,writer__24050__auto__,"garden.types/CSSFunction");
});

garden.types.__GT_CSSFunction = (function garden$types$__GT_CSSFunction(function$,args){
return (new garden.types.CSSFunction(function$,args,null,null,null));
});

garden.types.map__GT_CSSFunction = (function garden$types$map__GT_CSSFunction(G__35529){
return (new garden.types.CSSFunction(new cljs.core.Keyword(null,"function","function",-2127255473).cljs$core$IFn$_invoke$arity$1(G__35529),new cljs.core.Keyword(null,"args","args",1315556576).cljs$core$IFn$_invoke$arity$1(G__35529),null,cljs.core.dissoc.call(null,G__35529,new cljs.core.Keyword(null,"function","function",-2127255473),new cljs.core.Keyword(null,"args","args",1315556576)),null));
});


/**
* @constructor
 * @implements {cljs.core.IRecord}
 * @implements {cljs.core.IEquiv}
 * @implements {cljs.core.IHash}
 * @implements {cljs.core.ICollection}
 * @implements {cljs.core.ICounted}
 * @implements {cljs.core.ISeqable}
 * @implements {cljs.core.IMeta}
 * @implements {cljs.core.ICloneable}
 * @implements {cljs.core.IPrintWithWriter}
 * @implements {cljs.core.IIterable}
 * @implements {cljs.core.IWithMeta}
 * @implements {cljs.core.IAssociative}
 * @implements {cljs.core.IMap}
 * @implements {cljs.core.ILookup}
*/
garden.types.CSSAtRule = (function (identifier,value,__meta,__extmap,__hash){
this.identifier = identifier;
this.value = value;
this.__meta = __meta;
this.__extmap = __extmap;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 2229667594;
this.cljs$lang$protocol_mask$partition1$ = 8192;
})
garden.types.CSSAtRule.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__24013__auto__,k__24014__auto__){
var self__ = this;
var this__24013__auto____$1 = this;
return this__24013__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__24014__auto__,null);
});

garden.types.CSSAtRule.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__24015__auto__,k35536,else__24016__auto__){
var self__ = this;
var this__24015__auto____$1 = this;
var G__35538 = k35536;
var G__35538__$1 = (((G__35538 instanceof cljs.core.Keyword))?G__35538.fqn:null);
switch (G__35538__$1) {
case "identifier":
return self__.identifier;

break;
case "value":
return self__.value;

break;
default:
return cljs.core.get.call(null,self__.__extmap,k35536,else__24016__auto__);

}
});

garden.types.CSSAtRule.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__24027__auto__,writer__24028__auto__,opts__24029__auto__){
var self__ = this;
var this__24027__auto____$1 = this;
var pr_pair__24030__auto__ = ((function (this__24027__auto____$1){
return (function (keyval__24031__auto__){
return cljs.core.pr_sequential_writer.call(null,writer__24028__auto__,cljs.core.pr_writer,""," ","",opts__24029__auto__,keyval__24031__auto__);
});})(this__24027__auto____$1))
;
return cljs.core.pr_sequential_writer.call(null,writer__24028__auto__,pr_pair__24030__auto__,"#garden.types.CSSAtRule{",", ","}",opts__24029__auto__,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"identifier","identifier",-805503498),self__.identifier],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"value","value",305978217),self__.value],null))], null),self__.__extmap));
});

garden.types.CSSAtRule.prototype.cljs$core$IIterable$ = cljs.core.PROTOCOL_SENTINEL;

garden.types.CSSAtRule.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__35535){
var self__ = this;
var G__35535__$1 = this;
return (new cljs.core.RecordIter((0),G__35535__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"identifier","identifier",-805503498),new cljs.core.Keyword(null,"value","value",305978217)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator.call(null,self__.__extmap):cljs.core.nil_iter.call(null))));
});

garden.types.CSSAtRule.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__24011__auto__){
var self__ = this;
var this__24011__auto____$1 = this;
return self__.__meta;
});

garden.types.CSSAtRule.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__24007__auto__){
var self__ = this;
var this__24007__auto____$1 = this;
return (new garden.types.CSSAtRule(self__.identifier,self__.value,self__.__meta,self__.__extmap,self__.__hash));
});

garden.types.CSSAtRule.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__24017__auto__){
var self__ = this;
var this__24017__auto____$1 = this;
return (2 + cljs.core.count.call(null,self__.__extmap));
});

garden.types.CSSAtRule.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__24008__auto__){
var self__ = this;
var this__24008__auto____$1 = this;
var h__23780__auto__ = self__.__hash;
if(!((h__23780__auto__ == null))){
return h__23780__auto__;
} else {
var h__23780__auto____$1 = cljs.core.hash_imap.call(null,this__24008__auto____$1);
self__.__hash = h__23780__auto____$1;

return h__23780__auto____$1;
}
});

garden.types.CSSAtRule.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this__24009__auto__,other__24010__auto__){
var self__ = this;
var this__24009__auto____$1 = this;
if(cljs.core.truth_((function (){var and__23326__auto__ = other__24010__auto__;
if(cljs.core.truth_(and__23326__auto__)){
return ((this__24009__auto____$1.constructor === other__24010__auto__.constructor)) && (cljs.core.equiv_map.call(null,this__24009__auto____$1,other__24010__auto__));
} else {
return and__23326__auto__;
}
})())){
return true;
} else {
return false;
}
});

garden.types.CSSAtRule.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__24022__auto__,k__24023__auto__){
var self__ = this;
var this__24022__auto____$1 = this;
if(cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"value","value",305978217),null,new cljs.core.Keyword(null,"identifier","identifier",-805503498),null], null), null),k__24023__auto__)){
return cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this__24022__auto____$1),self__.__meta),k__24023__auto__);
} else {
return (new garden.types.CSSAtRule(self__.identifier,self__.value,self__.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,self__.__extmap,k__24023__auto__)),null));
}
});

garden.types.CSSAtRule.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__24020__auto__,k__24021__auto__,G__35535){
var self__ = this;
var this__24020__auto____$1 = this;
var pred__35539 = cljs.core.keyword_identical_QMARK_;
var expr__35540 = k__24021__auto__;
if(cljs.core.truth_(pred__35539.call(null,new cljs.core.Keyword(null,"identifier","identifier",-805503498),expr__35540))){
return (new garden.types.CSSAtRule(G__35535,self__.value,self__.__meta,self__.__extmap,null));
} else {
if(cljs.core.truth_(pred__35539.call(null,new cljs.core.Keyword(null,"value","value",305978217),expr__35540))){
return (new garden.types.CSSAtRule(self__.identifier,G__35535,self__.__meta,self__.__extmap,null));
} else {
return (new garden.types.CSSAtRule(self__.identifier,self__.value,self__.__meta,cljs.core.assoc.call(null,self__.__extmap,k__24021__auto__,G__35535),null));
}
}
});

garden.types.CSSAtRule.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__24025__auto__){
var self__ = this;
var this__24025__auto____$1 = this;
return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"identifier","identifier",-805503498),self__.identifier],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"value","value",305978217),self__.value],null))], null),self__.__extmap));
});

garden.types.CSSAtRule.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__24012__auto__,G__35535){
var self__ = this;
var this__24012__auto____$1 = this;
return (new garden.types.CSSAtRule(self__.identifier,self__.value,G__35535,self__.__extmap,self__.__hash));
});

garden.types.CSSAtRule.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__24018__auto__,entry__24019__auto__){
var self__ = this;
var this__24018__auto____$1 = this;
if(cljs.core.vector_QMARK_.call(null,entry__24019__auto__)){
return this__24018__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,entry__24019__auto__,(0)),cljs.core._nth.call(null,entry__24019__auto__,(1)));
} else {
return cljs.core.reduce.call(null,cljs.core._conj,this__24018__auto____$1,entry__24019__auto__);
}
});

garden.types.CSSAtRule.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"identifier","identifier",835028029,null),new cljs.core.Symbol(null,"value","value",1946509744,null)], null);
});

garden.types.CSSAtRule.cljs$lang$type = true;

garden.types.CSSAtRule.cljs$lang$ctorPrSeq = (function (this__24049__auto__){
return cljs.core._conj.call(null,cljs.core.List.EMPTY,"garden.types/CSSAtRule");
});

garden.types.CSSAtRule.cljs$lang$ctorPrWriter = (function (this__24049__auto__,writer__24050__auto__){
return cljs.core._write.call(null,writer__24050__auto__,"garden.types/CSSAtRule");
});

garden.types.__GT_CSSAtRule = (function garden$types$__GT_CSSAtRule(identifier,value){
return (new garden.types.CSSAtRule(identifier,value,null,null,null));
});

garden.types.map__GT_CSSAtRule = (function garden$types$map__GT_CSSAtRule(G__35537){
return (new garden.types.CSSAtRule(new cljs.core.Keyword(null,"identifier","identifier",-805503498).cljs$core$IFn$_invoke$arity$1(G__35537),new cljs.core.Keyword(null,"value","value",305978217).cljs$core$IFn$_invoke$arity$1(G__35537),null,cljs.core.dissoc.call(null,G__35537,new cljs.core.Keyword(null,"identifier","identifier",-805503498),new cljs.core.Keyword(null,"value","value",305978217)),null));
});

