| Opal.modules["gamefic/version"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module);return function($){var n,r=n=t($,"Gamefic"),a=(r.$$proto,r.$$scope);e.cdecl(a,"VERSION","2.0.0")}($.base)},Opal.modules["gamefic/matchable"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var t=(e.top,e),n=e.nil,r=(e.breaker,e.slice,e.module),a=e.hash2;return e.add_stubs(["$uniq","$split","$downcase","$to_s","$empty?","$keywords","$each","$start_with?","$gsub","$+","$include?","$==","$length"]),function(t){var i,s=i=r(t,"Gamefic"),o=(s.$$proto,s.$$scope);!function(t){var i,s,o,l=i=r(t,"Matchable"),u=(l.$$proto,l.$$scope);e.cdecl(u,"SPLIT_REGEXP",/[\s]+/),e.defn(l,"$keywords",s=function(){return this.$to_s().$downcase().$split(u.get("SPLIT_REGEXP")).$uniq()},s.$$arity=0),e.defn(l,"$match?",o=function(t,r){var i,s,o,l,c=this,p=n,f=n,d=n;if(null==r||!r.$$is_hash){if(null!=r)throw e.ArgumentError.$new("expected kwargs");r=a([],{})}return null==(l=r.$$smap.fuzzy)&&(l=!1),p=t.$split(u.get("SPLIT_REGEXP")),!!((i=p["$empty?"]())===n||null==i||i.$$is_boolean&&1!=i)&&(f=0,d=c.$keywords(),(i=(s=p).$each,i.$$p=(o=function(t){var r,a,i,s=o.$$s||this;return null==t&&(t=n),!1!==l&&l!==n&&null!=l?function(){var o=e.new_brk();try{return(r=(a=d).$each,r.$$p=(i=function(r){var a;i.$$s;if(null==r&&(r=n),(a=r.$gsub(/[^a-z0-9]/,"")["$start_with?"](t.$downcase().$gsub(/[^a-z0-9]/,"")))===n||null==a||a.$$is_boolean&&1!=a)return n;f=$(f,1),e.brk(n,o)},i.$$s=s,i.$$brk=o,i.$$arity=1,i),r).call(a)}catch(e){if(e===o)return e.$v;throw e}}():(r=d["$include?"](t.$downcase()))===n||null==r||r.$$is_boolean&&1!=r?n:f=$(f,1)},o.$$s=c,o.$$arity=1,o),i).call(s),f["$=="](p.$length()))},o.$$arity=-2)}(o.base)}(t.base)},Opal.modules["gamefic/core_ext/array"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e-$:e["$-"]($)}function t(e,$){return"number"==typeof e&&"number"==typeof $?e<$:e["$<"]($)}function n(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var r=(e.top,e),a=e.nil,i=(e.breaker,e.slice,e.klass),s=e.range;return e.add_stubs(["$kind_of?","$delete_if","$==","$clone","$send","$include?","$new","$-","$[]","$rand","$length","$pop_sample","$delete_at","$<","$join","$+","$strip","$last","$join_and"]),function(r,$super){function o(){}var l,u,c,p,f,d,_,y=o=i(r,$super,"Array",o),h=(y.$$proto,y.$$scope);return e.defn(y,"$that_are",l=function(e){var $,t,n,r,i,s=this;return($=!1!==(t=e["$kind_of?"](h.get("Class")))&&t!==a&&null!=t?t:e["$kind_of?"](h.get("Module")))===a||null==$||$.$$is_boolean&&1!=$?($=e["$kind_of?"](h.get("Symbol")))===a||null==$||$.$$is_boolean&&1!=$?($=s["$include?"](e))===a||null==$||$.$$is_boolean&&1!=$?h.get("Array").$new():[e]:($=(r=s.$clone()).$delete_if,$.$$p=(i=function($){i.$$s;return null==$&&($=a),$.$send(e)["$=="](!1)},i.$$s=s,i.$$arity=1,i),$).call(r):($=(t=s.$clone()).$delete_if,$.$$p=(n=function($){n.$$s;return null==$&&($=a),$["$kind_of?"](e)["$=="](!1)},n.$$s=s,n.$$arity=1,n),$).call(t)},l.$$arity=1),e.defn(y,"$that_are_not",u=function(e){var t,n,r,i,s,o=this;return(t=!1!==(n=e["$kind_of?"](h.get("Class")))&&n!==a&&null!=n?n:e["$kind_of?"](h.get("Module")))===a||null==t||t.$$is_boolean&&1!=t?(t=e["$kind_of?"](h.get("Symbol")))===a||null==t||t.$$is_boolean&&1!=t?$(o.$clone(),[e]):(t=(i=o.$clone()).$delete_if,t.$$p=(s=function($){s.$$s;return null==$&&($=a),$.$send(e)["$=="](!0)},s.$$s=o,s.$$arity=1,s),t).call(i):(t=(n=o.$clone()).$delete_if,t.$$p=(r=function($){r.$$s;return null==$&&($=a),$["$kind_of?"](e)["$=="](!0)},r.$$s=o,r.$$arity=1,r),t).call(n)},u.$$arity=1),e.defn(y,"$random",c=function(){var e=this;return e["$[]"](e.$rand(e.$length()))},c.$$arity=0),e.defn(y,"$pop_random",p=function(){return this.$pop_sample()},p.$$arity=0),e.defn(y,"$pop_sample",f=function(){var e=this;return e.$delete_at(e.$rand(e.$length()))},f.$$arity=0),e.defn(y,"$join_and",d=function(e,$,r){var i,o=this,l=a;return null==e&&(e=", "),null==$&&($=" and "),null==r&&(r=!0),(i=t(o.$length(),3))===a||null==i||i.$$is_boolean&&1!=i?(l=o["$[]"](s(0,-2,!1)),n(l.$join(e),""+function(){return!1!==r&&r!==a&&null!=r?e.$strip():""}()+$+o.$last())):o.$join($)},d.$$arity=-1),e.defn(y,"$join_or",_=function(e,$,t){var n=this;return null==e&&(e=", "),null==$&&($=" or "),null==t&&(t=!0),n.$join_and(e,$,t)},_.$$arity=-1),a&&"join_or"}(r.base,null)},Opal.modules["gamefic/core_ext/string"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.klass);return e.add_stubs(["$require","$include","$upcase","$[]","$length","$capitalize_first","$split","$strip","$gsub"]),$.$require("gamefic/matchable"),function($,$super){function t(){}var a,i,s,o=t=r($,$super,"String",t),l=(o.$$proto,o.$$scope);return o.$include(l.get("Gamefic").$$scope.get("Matchable")),e.defn(o,"$capitalize_first",a=function(){var e=this;return""+e["$[]"](0,1).$upcase()+e["$[]"](1,e.$length())},a.$$arity=0),e.defn(o,"$cap_first",i=function(){return this.$capitalize_first()},i.$$arity=0),e.defn(o,"$split_words",s=function(){return this.$gsub(/[\s]+/," ").$strip().$split()},s.$$arity=0),n&&"split_words"}(t.base,null)},Opal.modules["gamefic/grammar/tense"]=function(e){var $=e.top,t=e,n=(e.nil,e.breaker,e.slice,e.module);return e.add_stubs(["$require"]),$.$require("gamefic/grammar"),function($){var t,r=t=n($,"Tense"),a=(r.$$proto,r.$$scope);e.cdecl(a,"PRESENT","present"),e.cdecl(a,"PAST","past")}(t.get("Gamefic").$$scope.get("Grammar"))},Opal.modules["gamefic/grammar/pronouns"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.module),a=e.klass,i=e.hash2;return e.add_stubs(["$require","$[]","$get_pronoun_set","$cap_first","$subj","$obj","$poss","$reflex","$sets","$person","$nil?","$plural?","$gender","$raise","$[]="]),$.$require("gamefic/grammar"),function($){var t,s=t=r($,"Grammar"),o=(s.$$proto,s.$$scope);!function($,$super){function t(){}var r,s,o,l,u,c,p,f,d,_,y,h=t=a($,$super,"Pronouns",t),m=h.$$proto,b=h.$$scope;m.object=n,e.defn(h,"$initialize",r=function(e){return this.object=e},r.$$arity=1),e.defn(h,"$subj",s=function(){var e=this;return b.get("Pronouns").$get_pronoun_set(e.object)["$[]"](0)},s.$$arity=0),e.defn(h,"$obj",o=function(){var e=this;return b.get("Pronouns").$get_pronoun_set(e.object)["$[]"](1)},o.$$arity=0),e.defn(h,"$poss",l=function(){var e=this;return b.get("Pronouns").$get_pronoun_set(e.object)["$[]"](2)},l.$$arity=0),e.defn(h,"$reflex",u=function(){var e=this;return b.get("Pronouns").$get_pronoun_set(e.object)["$[]"](3)},u.$$arity=0),e.defn(h,"$Subj",c=function(){return this.$subj().$cap_first()},c.$$arity=0),e.defn(h,"$Obj",p=function(){return this.$obj().$cap_first()},p.$$arity=0),e.defn(h,"$Poss",f=function(){return this.$poss().$cap_first()},f.$$arity=0),e.defn(h,"$Reflex",d=function(){return this.$reflex().$cap_first()},d.$$arity=0),e.defs(h,"$get_pronoun_set",_=function(e){var $,t=this,r=n;return r=b.get("Pronouns").$sets()["$[]"](""+e.$person()),($=r["$nil?"]())===n||null==$||$.$$is_boolean&&1!=$||(r=b.get("Pronouns").$sets()["$[]"](e.$person()+":"+function(){return($=e["$plural?"]())===n||null==$||$.$$is_boolean&&1!=$?"singular":"plural"}())),($=r["$nil?"]())===n||null==$||$.$$is_boolean&&1!=$||(r=b.get("Pronouns").$sets()["$[]"](e.$person()+":"+function(){return($=e["$plural?"]())===n||null==$||$.$$is_boolean&&1!=$?"singular":"plural"}()+":"+e.$gender())),($=r["$nil?"]())===n||null==$||$.$$is_boolean&&1!=$||t.$raise("Pronoun set could not be determined"),r},_.$$arity=1),e.defs(h,"$sets",y=function(){var e,$=this;return null==$.sets&&($.sets=n),(e=$.sets["$nil?"]())===n||null==e||e.$$is_boolean&&1!=e||($.sets=i([],{}),$.sets["$[]="]("1:singular",["I","me","my","myself"]),$.sets["$[]="]("2:singular",["you","you","your","yourself"]),$.sets["$[]="]("3:singular:male",["he","him","his","himself"]),$.sets["$[]="]("3:singular:female",["she","her","her","herself"]),$.sets["$[]="]("3:singular:other",["they","them","their","themselves"]),$.sets["$[]="]("3:singular:neutral",["it","it","its","itself"]),$.sets["$[]="]("1:plural",["we","us","our","ourselves"]),$.sets["$[]="]("2:plural",["you","you","your","yourselves"]),$.sets["$[]="]("3:plural",["they","them","their","themselves"])),$.sets},y.$$arity=0)}(o.base,null)}(t.get("Gamefic"))},Opal.modules["gamefic/grammar/conjugator"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.module),a=e.hash2;return e.add_stubs(["$require","$[]","$[]=","$new"]),$.$require("gamefic/grammar"),function($){var t,i=t=r($,"Grammar"),s=(i.$$proto,i.$$scope);!function($){var t,i=t=r($,"Conjugator"),s=(i.$$proto,i.$$scope);!function($){var t,i,s,o=t=r($,"ClassMethods"),l=(o.$$proto,o.$$scope);e.cvars["@@conjugated_verbs"]=a([],{}),e.defn(o,"$conjugate",i=function($,t){var r,i,s,o,u=arguments.length,c=u-2;c<0&&(c=0),o=new Array(c);for(var p=2;p<u;p++)o[p-2]=arguments[p];return r=$,i=null==(s=e.cvars["@@conjugated_verbs"])?n:s,!1!==(s=i["$[]"](r))&&s!==n&&null!=s||i["$[]="](r,a([],{})),(null==(r=e.cvars["@@conjugated_verbs"])?n:r)["$[]"]($)["$[]="](t,(r=l.get("VerbSet")).$new.apply(r,[$].concat(e.to_a(o))))},i.$$arity=-3),e.defn(o,"$conjugated_verbs",s=function(){var $;return null==($=e.cvars["@@conjugated_verbs"])?n:$},s.$$arity=0)}(s.base)}(s.base)}(t.get("Gamefic"))},Opal.modules["gamefic/grammar/verbs"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}function t(e,$){return"number"==typeof e&&"number"==typeof $?e>$:e["$>"]($)}var n=e.top,r=e,a=e.nil,i=(e.breaker,e.slice,e.module),s=e.klass,o=e.range;return e.add_stubs(["$require","$extend","$each_pair","$define_singleton_method","$conjugate","$[]","$conjugated_verbs","$class","$new","$split_words","$+","$>","$length","$join"]),n.$require("gamefic/grammar"),function(n){var r,l=r=i(n,"Grammar"),u=(l.$$proto,l.$$scope);!function(n,$super){function r(){}var i,l,u,c=r=s(n,$super,"Verbs",r),p=c.$$proto,f=c.$$scope;p.pronoun=a,c.$extend(f.get("Gamefic").$$scope.get("Grammar").$$scope.get("Conjugator").$$scope.get("ClassMethods")),e.defn(c,"$initialize",i=function(e){var $,t,n,r=this;return r.pronoun=e,($=(t=r.$class().$conjugated_verbs()).$each_pair,$.$$p=(n=function(e,$){var t,r,i,s=n.$$s||this;return null==e&&(e=a),null==$&&($=a),(t=(r=s).$define_singleton_method,t.$$p=(i=function(){var e=i.$$s||this;return null==e.pronoun&&(e.pronoun=a),$["$[]"]("present").$conjugate(e.pronoun)},i.$$s=s,i.$$arity=0,i),t).call(r,e)},n.$$s=r,n.$$arity=2,n),$).call(t)},i.$$arity=1),e.defn(c,"$method_missing",l=function($){var t,n,r=this,i=(l.$$p,arguments.length),s=i-1;s<0&&(s=0),n=new Array(s);for(var o=1;o<i;o++)n[o-1]=arguments[o];return l.$$p=null,(t=f.get("Gamefic").$$scope.get("Grammar").$$scope.get("VerbSet")).$new.apply(t,[$,a].concat(e.to_a(n))).$conjugate(r.pronoun)},l.$$arity=-2),e.defn(c,"$[]",u=function(e){var n,r=this,i=a;return i=e.$split_words(),$(f.get("Gamefic").$$scope.get("Grammar").$$scope.get("VerbSet").$new(i["$[]"](0),a).$conjugate(r.pronoun),function(){return(n=t(i.$length(),1))===a||null==n||n.$$is_boolean&&1!=n?"":$(" ",i["$[]"](o(1,-1,!1)).$join(" "))}())},u.$$arity=1),c.$conjugate("be","present","am","are","is","are"),c.$conjugate("have","present","have","have","has","have"),c.$conjugate("can","present","can","can","can")}(u.base,null)}(r.get("Gamefic"))},Opal.modules["gamefic/grammar/verb_set"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var t=e.top,n=e,r=e.nil,a=(e.breaker,e.slice,e.module),i=e.klass,s=e.hash2,o=e.range;return e.add_stubs(["$require","$to_s","$[]","$[]=","$nil?","$generate_third_singular","$person","$plural?","$raise","$private","$end_with?","$+"]),t.$require("gamefic/grammar"),function(t){var n,l=n=a(t,"Grammar"),u=(l.$$proto,l.$$scope);!function(t,$super){function n(){}var a,l,u,c=n=i(t,$super,"VerbSet",n),p=c.$$proto;c.$$scope;p.forms=p.infinitive=r,e.defn(c,"$initialize",a=function(e){var $,t,n=this,a=r,i=arguments.length,o=i-1;o<0&&(o=0),t=new Array(o);for(var l=1;l<i;l++)t[l-1]=arguments[l];return n.infinitive=e.$to_s(),n.forms=s([],{}),a=t["$[]"](0),n.forms["$[]="]("1:singular",function(){return($=a["$nil?"]())===r||null==$||$.$$is_boolean&&1!=$?a.$to_s():n.infinitive.$to_s()}()),a=t["$[]"](1),n.forms["$[]="]("2:singular",function(){return($=a["$nil?"]())===r||null==$||$.$$is_boolean&&1!=$?a.$to_s():n.infinitive.$to_s()}()),a=t["$[]"](2),n.forms["$[]="]("3:singular",function(){return($=a["$nil?"]())===r||null==$||$.$$is_boolean&&1!=$?a.$to_s():n.$generate_third_singular()}()),a=t["$[]"](3),n.forms["$[]="]("1:plural",function(){return($=a["$nil?"]())===r||null==$||$.$$is_boolean&&1!=$?a.$to_s():n.infinitive.$to_s()}()),a=t["$[]"](4),n.forms["$[]="]("2:plural",function(){return($=a["$nil?"]())===r||null==$||$.$$is_boolean&&1!=$?a.$to_s():n.forms["$[]"]("1:plural")}()),a=t["$[]"](5),n.forms["$[]="]("3:plural",function(){return($=a["$nil?"]())===r||null==$||$.$$is_boolean&&1!=$?a.$to_s():n.forms["$[]"]("1:plural")}())},a.$$arity=-2),e.defn(c,"$conjugate",l=function(e){var $,t=this,n=r;return n=t.forms["$[]"](""+e.$person()),($=n["$nil?"]())===r||null==$||$.$$is_boolean&&1!=$||(n=t.forms["$[]"](e.$person()+":"+function(){return($=e["$plural?"]())===r||null==$||$.$$is_boolean&&1!=$?"singular":"plural"}())),($=n["$nil?"]())===r||null==$||$.$$is_boolean&&1!=$||t.$raise("Unable to conjugate "+t.infinitive),n},l.$$arity=1),c.$private(),e.defn(c,"$generate_third_singular",u=function(){var e,t=this;return(e=t.infinitive["$end_with?"]("o"))===r||null==e||e.$$is_boolean&&1!=e?(e=t.infinitive["$end_with?"]("ry"))===r||null==e||e.$$is_boolean&&1!=e?$(t.infinitive,"s"):$(t.infinitive["$[]"](o(0,-2,!1)),"ies"):$(t.infinitive,"es")},u.$$arity=0)}(u.base,null)}(n.get("Gamefic"))},Opal.modules["gamefic/grammar/person"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.module);return e.add_stubs(["$require","$attr_writer"]),$.$require("gamefic/grammar"),function($){var t,a=t=r($,"Grammar"),i=(a.$$proto,a.$$scope);!function($){var t,a,i=t=r($,"Person");i.$$proto,i.$$scope;i.$attr_writer("person"),e.defn(i,"$person",a=function(){var e,$=this;return null==$.person&&($.person=n),!1!==(e=$.person)&&e!==n&&null!=e?e:$.person=3},a.$$arity=0)}(i.base)}(t.get("Gamefic"))},Opal.modules["gamefic/grammar/plural"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.module);return e.add_stubs(["$require","$attr_writer","$nil?"]),$.$require("gamefic/grammar"),function($){var t,a=t=r($,"Grammar"),i=(a.$$proto,a.$$scope);!function($){var t,a,i=t=r($,"Plural");i.$$proto,i.$$scope;i.$attr_writer("plural"),e.defn(i,"$plural?",a=function(){var e,$=this;return null==$.plural&&($.plural=n),(e=$.plural["$nil?"]())===n||null==e||e.$$is_boolean&&1!=e||($.plural=!1),$.plural},a.$$arity=0)}(i.base)}(t.get("Gamefic"))},Opal.modules["gamefic/grammar/gender"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.module);return e.add_stubs(["$require","$attr_writer"]),$.$require("gamefic/grammar"),function($){var t,a=t=r($,"Grammar"),i=(a.$$proto,a.$$scope);!function($){var t,a,i=t=r($,"Gender");i.$$proto,i.$$scope;i.$attr_writer("gender"),e.defn(i,"$gender",a=function(){var e,$=this;return null==$.gender&&($.gender=n),!1!==(e=$.gender)&&e!==n&&null!=e?e:$.gender="neutral"},a.$$arity=0)}(i.base)}(t.get("Gamefic"))},Opal.modules["gamefic/grammar/word_adapter"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.module),a=e.hash2;return e.add_stubs(["$require","$include","$new","$[]","$contractions","$private","$nil?","$each_pair","$!=","$capitalize","$[]=","$cap_first","$merge!"]),$.$require("gamefic/grammar"),$.$require("gamefic/grammar/gender"),function($){var t,i=t=r($,"Grammar"),s=(i.$$proto,i.$$scope);!function($){var t,i,s,o,l,u=t=r($,"WordAdapter"),c=(u.$$proto,u.$$scope);u.$include(c.get("Gender")),u.$include(c.get("Person")),u.$include(c.get("Plural")),e.defn(u,"$pronoun",i=function(){var e,$=this;return null==$.pronoun&&($.pronoun=n),!1!==(e=$.pronoun)&&e!==n&&null!=e?e:$.pronoun=c.get("Gamefic").$$scope.get("Grammar").$$scope.get("Pronouns").$new($)},i.$$arity=0),e.defn(u,"$verb",s=function(){var e,$=this;return null==$.verb&&($.verb=n),!1!==(e=$.verb)&&e!==n&&null!=e?e:$.verb=c.get("Gamefic").$$scope.get("Grammar").$$scope.get("Verbs").$new($)},s.$$arity=0),e.defn(u,"$contract",o=function(e){var $;return!1!==($=this.$contractions()["$[]"](e))&&$!==n&&null!=$?$:e},o.$$arity=1),u.$private(),e.defn(u,"$contractions",l=function(){var e,$,t,r=this,i=n;return null==r.contractions&&(r.contractions=n),(e=r.contractions["$nil?"]())===n||null==e||e.$$is_boolean&&1!=e||(!1!==(e=r.contractions)&&e!==n&&null!=e||(r.contractions=a(["I am","you are","he is","she is","it is","we are","they are","am not","are not","is not","do not","does not","can not"],{"I am":"I'm","you are":"you're","he is":"he's","she is":"she's","it is":"it's","we are":"we're","they are":"they're","am not":"am not","are not":"aren't","is not":"isn't","do not":"don't","does not":"doesn't","can not":"can't"})),i=a([],{}),(e=($=r.contractions).$each_pair,e.$$p=(t=function(e,$){var r;t.$$s;return null==e&&(e=n),null==$&&($=n),(r=e["$[]"](0)["$!="](e["$[]"](0).$capitalize()))===n||null==r||r.$$is_boolean&&1!=r?n:i["$[]="](e.$cap_first(),$.$cap_first())},t.$$s=r,t.$$arity=2,t),e).call($),r.contractions["$merge!"](i)),r.contractions},l.$$arity=0)}(s.base)}(t.get("Gamefic"))},Opal.modules["gamefic/grammar"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module);return e.add_stubs(["$autoload"]),function(e){var $,n=$=t(e,"Gamefic"),r=(n.$$proto,n.$$scope);!function(e){var $,n=$=t(e,"Grammar");n.$$proto,n.$$scope;n.$autoload("Tense","gamefic/grammar/tense"),n.$autoload("Pronouns","gamefic/grammar/pronouns"),n.$autoload("Conjugator","gamefic/grammar/conjugator"),n.$autoload("Verbs","gamefic/grammar/verbs"),n.$autoload("VerbSet","gamefic/grammar/verb_set"),n.$autoload("Person","gamefic/grammar/person"),n.$autoload("Plural","gamefic/grammar/plural"),n.$autoload("Gender","gamefic/grammar/gender"),n.$autoload("WordAdapter","gamefic/grammar/word_adapter")}(r.base)}($.base)},Opal.modules["gamefic/describable"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var t=e.top,n=e,r=e.nil,a=(e.breaker,e.slice,e.module),i=e.range,s=e.hash2;return e.add_stubs(["$require","$include","$attr_reader","$uniq","$split","$downcase","$definite_article","$indefinite_article","$name","$synonyms","$+","$proper_named?","$==","$to_s","$!=","$split_words","$include?","$[]","$strip","$length","$%","$default_description","$definitely","$capitalize_first","$indefinitely"]),t.$require("gamefic/grammar"),function(t){var n,o=n=a(t,"Gamefic"),l=(o.$$proto,o.$$scope);!function(t){var n,o,l,u,c,p,f,d,_,y,h,m,b,g,v,k,w,x=n=a(t,"Describable"),q=(x.$$proto,x.$$scope);x.$include(q.get("Grammar").$$scope.get("Person"),q.get("Grammar").$$scope.get("Plural")),x.$include(q.get("Matchable")),x.$attr_reader("name"),x.$attr_reader("synonyms"),x.$attr_reader("indefinite_article"),x.$attr_reader("definite_article"),e.defn(x,"$keywords",o=function(){var e,$=this;return null==$.keywords&&($.keywords=r),!1!==(e=$.keywords)&&e!==r&&null!=e?e:$.keywords=($.$definite_article()+" "+$.$indefinite_article()+" "+$.$name()+" "+$.$synonyms()).$downcase().$split(q.get("Matchable").$$scope.get("SPLIT_REGEXP")).$uniq()},o.$$arity=0),e.defn(x,"$indefinitely",l=function(){var e,t,n=this;return $(function(){return(e=!1!==(t=n["$proper_named?"]())&&t!==r&&null!=t?t:n.$indefinite_article()["$=="](""))===r||null==e||e.$$is_boolean&&1!=e?n.$indefinite_article()+" ":""}(),n.$name().$to_s())},l.$$arity=0),e.defn(x,"$definitely",u=function(){var e,t,n=this;return $(function(){return(e=!1!==(t=n["$proper_named?"]())&&t!==r&&null!=t?t:n.$definite_article()["$=="](""))===r||null==e||e.$$is_boolean&&1!=e?n.$definite_article()+" ":""}(),n.$name().$to_s())},u.$$arity=0),e.defn(x,"$definite_article",c=function(){var e,$=this;return null==$.definite_article&&($.definite_article=r),!1!==(e=$.definite_article)&&e!==r&&null!=e?e:"the"},c.$$arity=0),e.defn(x,"$definite_article=",p=function(e){var $=this;return $.keywords=r,$.definite_article=e},p.$$arity=1),e.defn(x,"$indefinite_article=",f=function(e){var $=this;return $.keywords=r,$.indefinite_article=e},f.$$arity=1),e.defn(x,"$proper_named?",d=function(){var e=this;return null==e.proper_named&&(e.proper_named=r),e.proper_named["$=="](!0)},d.$$arity=0),e.defn(x,"$proper_named=",_=function(e){var $,t=this;return null==t.definite_article&&(t.definite_article=r),null==t.name&&(t.name=r),e["$=="](!0)&&(($=t.definite_article["$!="](r))===r||null==$||$.$$is_boolean&&1!=$||(t.name=t.definite_article+" "+t.name,t.definite_article=r)),t.proper_named=e},_.$$arity=1),e.defn(x,"$name=",y=function(e){var t,n=this,a=r;return n.keywords=r,a=e.$split_words(),(t=["a","an"]["$include?"](a["$[]"](0).$downcase()))===r||null==t||t.$$is_boolean&&1!=t?(a["$[]"](0).$downcase()["$=="]("the")&&((t=n["$proper_named?"]())===r||null==t||t.$$is_boolean&&1!=t?(n.definite_article="the",e=e["$[]"](i(4,-1,!1)).$strip()):n.definite_article=r),(t=["a","e","i","o","u"]["$include?"](e["$[]"](0,1).$downcase()))===r||null==t||t.$$is_boolean&&1!=t?n.indefinite_article="a":n.indefinite_article="an"):(n.indefinite_article=a["$[]"](0).$downcase(),n.definite_article="the",e=e["$[]"](i($(a["$[]"](0).$length(),1),-1,!1)).$strip()),n.name=e},y.$$arity=1),e.defn(x,"$has_description?",h=function(){var e=this;return null==e.description&&(e.description=r),e.description.$to_s()["$!="]("")},h.$$arity=0),e.defn(x,"$description",m=function(){var e,$=this;return null==$.description&&($.description=r),!1!==(e=$.description)&&e!==r&&null!=e?e:q.get("Describable").$default_description()["$%"](s(["name","Name"],{name:$.$definitely(),Name:$.$definitely().$capitalize_first()}))},m.$$arity=0),e.defn(x,"$description=",b=function(e){var $,t=this;return($=e["$!="](q.get("Describable").$default_description()["$%"](s(["name","Name"],{name:t.$definitely(),Name:t.$definitely().$capitalize_first()}))))===r||null==$||$.$$is_boolean&&1!=$?t.description=r:t.description=e},b.$$arity=1),e.defn(x,"$synonyms=",g=function(e){var $=this;return $.keywords=r,$.synonyms=e},g.$$arity=1),e.defs(x,"$default_description=",v=function(e){return this.default_description=e},v.$$arity=1),e.defs(x,"$default_description",k=function(){var e,$=this;return null==$.default_description&&($.default_description=r),!1!==(e=$.default_description)&&e!==r&&null!=e?e:"There's nothing special about %{name}."},k.$$arity=0),e.defn(x,"$to_s",w=function(){return this.$indefinitely()},w.$$arity=0)}(l.base)}(n.base)},Opal.modules["gamefic/element"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass,a=e.hash2;return e.add_stubs(["$include","$each","$send","$merge","$default_attributes","$class","$post_initialize","$merge!","$set_default"]),function($){var i,s=i=n($,"Gamefic"),o=(s.$$proto,s.$$scope);!function($,$super){function n(){}var i,s,o=n=r($,$super,"Element",n),l=(o.$$proto,o.$$scope);o.$include(l.get("Gamefic").$$scope.get("Describable")),e.defn(o,"$initialize",i=function($){var n,r,s,o=this,l=i.$$p,u=l||t;return null==$&&($=a([],{})),i.$$p=null,(n=(r=o.$class().$default_attributes().$merge($)).$each,n.$$p=(s=function(e,$){var n=s.$$s||this;return null==e&&(e=t),null==$&&($=t),n.$send(e+"=",$)},s.$$s=o,s.$$arity=2,s),n).call(r),o.$post_initialize(),u!==t?e.yield1(u,o):t},i.$$arity=-1),e.defn(o,"$post_initialize",s=function(){return t},s.$$arity=0),function($){var n,r,i;$.$$scope,$.$$proto;e.defn($,"$set_default",n=function(e){var $=this;return null==e&&(e=a([],{})),$.$default_attributes()["$merge!"](e)},n.$$arity=-1),e.defn($,"$default_attributes",r=function(){var e,$=this;return null==$.default_attributes&&($.default_attributes=t),!1!==(e=$.default_attributes)&&e!==t&&null!=e?e:$.default_attributes=a([],{})},r.$$arity=0),e.defn($,"$inherited",i=function(e){var $=this;return e.$set_default($.$default_attributes())},i.$$arity=1)}(e.get_singleton_class(o))}(o.base,null)}($.base)},Opal.modules["gamefic/node"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var t=(e.top,e),n=e.nil,r=(e.breaker,e.slice,e.klass),a=e.module;return e.add_stubs(["$clone","$new","$each","$+","$recurse_flatten","$children","$==","$raise","$!=","$parent","$parent=","$include?","$flatten","$send","$protected","$push","$delete","$concat","$private"]),function(e,$super){function $(){}var t=$=r(e,$super,"CircularNodeReferenceError",$);t.$$proto,t.$$scope}(t.base,t.get("Exception")),function(t){var r,i=r=a(t,"Gamefic"),s=(i.$$proto,i.$$scope);!function(t){var r,i,s,o,l,u,c,p,f,d,_=r=a(t,"Node"),y=(_.$$proto,_.$$scope);e.defn(_,"$children",i=function(){var e,$=this;return null==$.children&&($.children=n),!1!==(e=$.children)&&e!==n&&null!=e||($.children=[]),$.children.$clone()},i.$$arity=0),e.defn(_,"$flatten",s=function(){var e,t,r,a=this,i=n;return i=y.get("Array").$new(),(e=(t=a.$children()).$each,e.$$p=(r=function(e){var t=r.$$s||this;return null==e&&(e=n),i=$(i,t.$recurse_flatten(e))},r.$$s=a,r.$$arity=1,r),e).call(t),i},s.$$arity=0),e.defn(_,"$parent",o=function(){var e=this;return null==e.parent&&(e.parent=n),e.parent},o.$$arity=0),e.defn(_,"$parent=",l=function(e){var $,t,r=this;return null==r.parent&&(r.parent=n),e["$=="](r.parent)?n:(e["$=="](r)&&r.$raise(y.get("CircularNodeReferenceError").$new("Node cannot be its own parent")),t=e["$!="](n),($=!1!==t&&t!==n&&null!=t?e.$parent()["$=="](r):t)===n||null==$||$.$$is_boolean&&1!=$||($=[n],t=e,t["$parent="].apply(t,$),$[$.length-1]),t=e["$!="](n),($=!1!==t&&t!==n&&null!=t?r.$flatten()["$include?"](e):t)===n||null==$||$.$$is_boolean&&1!=$||r.$raise(y.get("CircularNodeReferenceError").$new("Node cannot be a child of a descendant")),($=r.parent["$!="](e))===n||null==$||$.$$is_boolean&&1!=$?n:(($=r.parent["$!="](n))===n||null==$||$.$$is_boolean&&1!=$||r.parent.$send("rem_child",r),r.parent=e,($=r.parent["$!="](n))===n||null==$||$.$$is_boolean&&1!=$?n:r.parent.$send("add_child",r)))},l.$$arity=1),e.defn(_,"$accessible?",u=function(){return!0},u.$$arity=0),_.$protected(),e.defn(_,"$add_child",c=function(e){var $=this;return null==$.children&&($.children=n),$.$children(),$.children.$push(e)},c.$$arity=1),e.defn(_,"$rem_child",p=function(e){var $=this;return null==$.children&&($.children=n),$.$children(),$.children.$delete(e)},p.$$arity=1),e.defn(_,"$concat_children",f=function(e){return e.$concat(e)},f.$$arity=1),_.$private(),e.defn(_,"$recurse_flatten",d=function(e){var t,r,a,i=this,s=n;return s=y.get("Array").$new(),s.$push(e),(t=(r=e.$children()).$each,t.$$p=(a=function(e){var t=a.$$s||this;return null==e&&(e=n),s=$(s,t.$recurse_flatten(e))},a.$$s=i,a.$$arity=1,a),t).call(r),s},d.$$arity=1)}(s.base)}(t.base)},Opal.modules["gamefic/messaging"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var t=(e.top,e),n=e.nil,r=(e.breaker,e.slice,e.module);return e.add_stubs(["$strip","$gsub","$p_set_messages","$+","$messages","$empty?","$private"]),function(t){var a,i=a=r(t,"Gamefic"),s=(i.$$proto,i.$$scope);!function(t){var a,i,s,o,l,u,c,p=a=r(t,"Messaging");p.$$proto,p.$$scope;e.defn(p,"$tell",i=function(e){var t=this;return e="<p>"+e.$strip()+"</p>",e=e.$gsub(/[ \t\r]*\n[ \t\r]*\n[ \t\r]*/,"</p><p>"),e=e.$gsub(/[ \t]*\n[ \t]*/," "),t.$p_set_messages($(t.$messages(),e))},i.$$arity=1),e.defn(p,"$stream",s=function(e){var t=this;return t.$p_set_messages($(t.$messages(),e.$strip()))},s.$$arity=1),e.defn(p,"$messages",o=function(){var e,$=this;return null==$.messages&&($.messages=n),!1!==(e=$.messages)&&e!==n&&null!=e?e:$.messages=""},o.$$arity=0),e.defn(p,"$output",l=function(){return this.$messages()},l.$$arity=0),e.defn(p,"$flush",u=function(){var e,$=this;return(e=$.$messages()["$empty?"]())===n||null==e||e.$$is_boolean&&1!=e?$.$p_set_messages(""):n},u.$$arity=0),p.$private(),e.defn(p,"$p_set_messages",c=function(e){return this.messages=e},c.$$arity=1)}(s.base)}(t.base)},Opal.modules["gamefic/entity"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.module),a=e.klass,i=e.hash2;return e.add_stubs(["$require","$include","$!=","$==","$kind_of?","$raise","$[]","$session","$[]="]),$.$require("gamefic/node"),$.$require("gamefic/describable"),$.$require("gamefic/messaging"),function($){var t,s=t=r($,"Gamefic"),o=(s.$$proto,s.$$scope);!function($,$super){function t(){}var r,s,o,l,u,c=t=a($,$super,"Entity",t),p=c.$$proto,f=c.$$scope;p.session=n,c.$include(f.get("Node")),c.$include(f.get("Messaging")),c.$include(f.get("Grammar").$$scope.get("WordAdapter")),e.defn(c,"$update",r=function(){return n},r.$$arity=0),e.defn(c,"$parent=",s=function($){var t,r,a=this,i=s.$$p,o=n,l=n;for(s.$$p=null,o=[],l=0;l<arguments.length;l++)o[l]=arguments[l];return r=$["$!="](n),(t=!1!==r&&r!==n&&null!=r?$["$kind_of?"](f.get("Entity"))["$=="](!1):r)===n||null==t||t.$$is_boolean&&1!=t||a.$raise("Entity's parent must be an Entity"),(r=a,t=e.find_super_dispatcher(a,"parent=",s,!1),t.$$p=i,t).apply(r,o)},s.$$arity=1),e.defn(c,"$session",o=function(){var e,$=this;return!1!==(e=$.session)&&e!==n&&null!=e?e:$.session=i([],{})},o.$$arity=0),e.defn(c,"$[]",l=function(e){return this.$session()["$[]"](e)},l.$$arity=1),e.defn(c,"$[]=",u=function(e,$){return this.$session()["$[]="](e,$)},u.$$arity=2)}(o.base,o.get("Element"))}(t.base)},Opal.modules["gamefic/active"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e>$:e["$>"]($)}function t(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}function n(e,$){return"number"==typeof e&&"number"==typeof $?e-$:e["$-"]($)}function r(e,$){return"number"==typeof e&&"number"==typeof $?e<=$:e["$<="]($)}var a=(e.top,e),i=e.nil,s=(e.breaker,e.slice,e.module),o=e.klass,l=e.hash2;return e.add_stubs(["$attr_reader","$nil?","$scene","$merge!","$state","$[]=","$messages","$>","$buffer_stack","$append_buffer","$each","$concat","$dispatch","$reverse","$playbooks","$execute_stack","$==","$clear_buffer","$set_buffer_stack","$+","$perform","$-","$buffer","$dispatch_from_params","$empty?","$performance_stack","$shift","$last","$execute","$new","$start","$class","$<=","$raise","$cue","$!","$kind_of?","$freeze","$to_s","$include?","$entered_scenes","$push","$private","$first","$meta?","$validate_playbook","$proceed","$pop","$call","$verb","$parameters","$!=","$validators"]),function(a){var u,c=u=s(a,"Gamefic"),p=(c.$$proto,c.$$scope);!function(e,$super){function $(){}var t=$=o(e,$super,"NotConclusionError",$);t.$$proto,t.$$scope}(p.base,p.get("Exception")),function(a){var o,u,c,p,f,d,_,y,h,m,b,g,v,k,w,x,q,j,G,z,S,O,P,E,A,C,N,M,T,B,I=o=s(a,"Active"),R=(I.$$proto,I.$$scope);I.$attr_reader("last_action"),I.$attr_reader("user"),I.$attr_reader("scene"),I.$attr_reader("next_scene"),e.defn(I,"$playbooks",u=function(){var e,$=this;return null==$.playbooks&&($.playbooks=i),!1!==(e=$.playbooks)&&e!==i&&null!=e?e:$.playbooks=[]},u.$$arity=0),e.defn(I,"$connect",c=function(e){return this.user=e},c.$$arity=1),e.defn(I,"$queue",p=function(){var e,$=this;return null==$.queue&&($.queue=i),!1!==(e=$.queue)&&e!==i&&null!=e?e:$.queue=[]},p.$$arity=0),e.defn(I,"$state",f=function(){var e,$=this;return null==$.state&&($.state=i),$.state=l([],{}),((e=$.$scene()["$nil?"]())===i||null==e||e.$$is_boolean&&1!=e)&&$.state["$merge!"]($.$scene().$state()),$.state["$[]="]("output",$.$messages()),$.state},f.$$arity=0),e.defn(I,"$tell",d=function(t){var n,r,a=this,s=d.$$p,o=i,l=i;for(d.$$p=null,o=[],l=0;l<arguments.length;l++)o[l]=arguments[l];return(n=$(a.$buffer_stack(),0))===i||null==n||n.$$is_boolean&&1!=n?(r=a,n=e.find_super_dispatcher(a,"tell",d,!1),n.$$p=s,n).apply(r,o):a.$append_buffer(t)},d.$$arity=1),e.defn(I,"$stream",_=function(t){var n,r,a=this,s=_.$$p,o=i,l=i;for(_.$$p=null,o=[],l=0;l<arguments.length;l++)o[l]=arguments[l];return(n=$(a.$buffer_stack(),0))===i||null==n||n.$$is_boolean&&1!=n?(r=a,n=e.find_super_dispatcher(a,"stream",_,!1),n.$$p=s,n).apply(r,o):a.$append_buffer(t)},_.$$arity=1),e.defn(I,"$perform",y=function(){var $,t,n,r,a=this,s=i,o=arguments.length,l=o-0;l<0&&(l=0),r=new Array(l);for(var u=0;u<o;u++)r[u-0]=arguments[u];return s=[],($=(t=a.$playbooks().$reverse()).$each,$.$$p=(n=function($){var t,a=n.$$s||this;return null==$&&($=i),s.$concat((t=$).$dispatch.apply(t,[a].concat(e.to_a(r))))},n.$$s=a,n.$$arity=1,n),$).call(t),a.$execute_stack(s)},y.$$arity=-1),e.defn(I,"$quietly",h=function(){var $,r,a=this,i=arguments.length,s=i-0;s<0&&(s=0),r=new Array(s);for(var o=0;o<i;o++)r[o-0]=arguments[o];return a.$buffer_stack()["$=="](0)&&a.$clear_buffer(),a.$set_buffer_stack(t(a.$buffer_stack(),1)),($=a).$perform.apply($,e.to_a(r)),a.$set_buffer_stack(n(a.$buffer_stack(),1)),a.$buffer()},h.$$arity=-1),e.defn(I,"$execute",m=function($,t,n){var r,a,s,o,u,c,p=this,f=i;if(o=e.slice.call(arguments,1,arguments.length), | |
| null==(n=e.extract_kwargs(o))||!n.$$is_hash){if(null!=n)throw e.ArgumentError.$new("expected kwargs");n=l([],{})}return null==(u=n.$$smap.quietly)&&(u=!1),c=0<o.length?o.splice(0,o.length-0):[],f=[],(r=(a=p.$playbooks().$reverse()).$each,r.$$p=(s=function(e){var t=s.$$s||this;return null==e&&(e=i),f.$concat(e.$dispatch_from_params(t,$,c))},s.$$s=p,s.$$arity=1,s),r).call(a),p.$execute_stack(f,l(["quietly"],{quietly:u}))},m.$$arity=-2),e.defn(I,"$proceed",b=function($){var r,a,s=this,o=i;if(null==s.buffer_stack&&(s.buffer_stack=i),null==s.buffer&&(s.buffer=i),null==$||!$.$$is_hash){if(null!=$)throw e.ArgumentError.$new("expected kwargs");$=l([],{})}return null==(a=$.$$smap.quietly)&&(a=!1),(r=s.$performance_stack()["$empty?"]())===i||null==r||r.$$is_boolean&&1!=r?(o=s.$performance_stack().$last().$shift(),(r=o["$nil?"]())===i||null==r||r.$$is_boolean&&1!=r?(!1!==a&&a!==i&&null!=a&&(s.buffer_stack["$=="](0)&&(s.buffer=""),s.buffer_stack=t(s.buffer_stack,1)),o.$execute(),!1!==a&&a!==i&&null!=a?(s.buffer_stack=n(s.buffer_stack,1),s.buffer):i):i):i},b.$$arity=-1),e.defn(I,"$cue",g=function(e){var $,t=this;return null==t.scene&&(t.scene=i),t.next_scene=i,($=e["$nil?"]())===i||null==$||$.$$is_boolean&&1!=$?(t.scene=e.$new(t),t.scene.$start()):t.scene=i},g.$$arity=1),e.defn(I,"$prepare",v=function(e){return this.next_scene=e},v.$$arity=1),e.defn(I,"$will_cue?",k=function(e){var $,t=this;return null==t.scene&&(t.scene=i),null==t.next_scene&&(t.next_scene=i),!1!==($=t.scene.$class()["$=="](e)?t.next_scene["$nil?"]():t.scene.$class()["$=="](e))&&$!==i&&null!=$?$:t.next_scene["$=="](e)},k.$$arity=1),e.defn(I,"$conclude",w=function(e){var $,t=this;return(($=r(e,R.get("Scene").$$scope.get("Conclusion")))===i||null==$||$.$$is_boolean&&1!=$)&&t.$raise(R.get("NotConclusionError")),t.$cue(e)},w.$$arity=1),e.defn(I,"$concluded?",x=function(){var e,$=this;return e=$.$scene()["$nil?"]()["$!"](),!1!==e&&e!==i&&null!=e?$.$scene()["$kind_of?"](R.get("Scene").$$scope.get("Conclusion")):e},x.$$arity=0),e.defn(I,"$performed",q=function(e){var $=this;return e.$freeze(),$.last_action=e},q.$$arity=1),e.defn(I,"$accessible?",j=function(){return!1},j.$$arity=0),e.defn(I,"$inspect",G=function(){return this.$to_s()},G.$$arity=0),e.defn(I,"$entered",z=function(e){var $,t=this,n=i;return n=function(){return($=e["$kind_of?"](R.get("Gamefic").$$scope.get("Scene").$$scope.get("Base")))===i||null==$||$.$$is_boolean&&1!=$?e:e.$class()}(),($=t.$entered_scenes()["$include?"](n))===i||null==$||$.$$is_boolean&&1!=$?t.$entered_scenes().$push(n):i},z.$$arity=1),e.defn(I,"$entered?",S=function(e){var $,t=this,n=i;return n=function(){return($=e["$kind_of?"](R.get("Gamefic").$$scope.get("Scene").$$scope.get("Base")))===i||null==$||$.$$is_boolean&&1!=$?e:e.$class()}(),t.$entered_scenes()["$include?"](n)},S.$$arity=1),I.$private(),e.defn(I,"$entered_scenes",O=function(){var e,$=this;return null==$.entered_scenes&&($.entered_scenes=i),!1!==(e=$.entered_scenes)&&e!==i&&null!=e?e:$.entered_scenes=[]},O.$$arity=0),e.defn(I,"$execute_stack",P=function($,t){var n,r,a,s,o=this,u=i,c=i;if(null==t||!t.$$is_hash){if(null!=t)throw e.ArgumentError.$new("expected kwargs");t=l([],{})}return null==(s=t.$$smap.quietly)&&(s=!1),(n=$["$empty?"]())===i||null==n||n.$$is_boolean&&1!=n?(u=$.$first(),c=!0,((n=u["$meta?"]())===i||null==n||n.$$is_boolean&&1!=n)&&function(){var $=e.new_brk();try{(n=(r=o.$playbooks().$reverse()).$each,n.$$p=(a=function(t){var n=a.$$s||this;if(null==t&&(t=i),!1!==(c=n.$validate_playbook(t,u))&&c!==i&&null!=c)return i;e.brk(i,$)},a.$$s=o,a.$$brk=$,a.$$arity=1,a),n).call(r)}catch(e){if(e===$)return e.$v;throw e}}(),!1!==c&&c!==i&&null!=c&&(o.$performance_stack().$push($),o.$proceed(l(["quietly"],{quietly:s})),o.$performance_stack().$pop()),u):i},P.$$arity=-2),e.defn(I,"$validate_playbook",E=function($,t){var n,r,a,s=this,o=i;return o=!0,function(){var l=e.new_brk();try{(n=(r=$.$validators()).$each,n.$$p=(a=function($){var n=a.$$s||this,r=i;if(null==$&&($=i),r=$.$call(n,t.$verb(),t.$parameters()),!1!==(o=r["$!="](!1))&&o!==i&&null!=o)return i;e.brk(i,l)},a.$$s=s,a.$$brk=l,a.$$arity=1,a),n).call(r)}catch(e){if(e===l)return e.$v;throw e}}(),o},E.$$arity=2),e.defn(I,"$buffer_stack",A=function(){var e,$=this;return null==$.buffer_stack&&($.buffer_stack=i),!1!==(e=$.buffer_stack)&&e!==i&&null!=e?e:$.buffer_stack=0},A.$$arity=0),e.defn(I,"$set_buffer_stack",C=function(e){return this.buffer_stack=e},C.$$arity=1),e.defn(I,"$buffer",N=function(){var e,$=this;return null==$.buffer&&($.buffer=i),!1!==(e=$.buffer)&&e!==i&&null!=e?e:$.buffer=""},N.$$arity=0),e.defn(I,"$append_buffer",M=function(e){var $=this;return null==$.buffer&&($.buffer=i),$.buffer=t($.buffer,e)},M.$$arity=1),e.defn(I,"$clear_buffer",T=function(){var e,$=this;return null==$.buffer&&($.buffer=i),(e=$.buffer["$empty?"]())===i||null==e||e.$$is_boolean&&1!=e?$.buffer="":i},T.$$arity=0),e.defn(I,"$performance_stack",B=function(){var e,$=this;return null==$.performance_stack&&($.performance_stack=i),!1!==(e=$.performance_stack)&&e!==i&&null!=e?e:$.performance_stack=[]},B.$$arity=0)}(p.base)}(a.base)},Opal.modules["gamefic/actor"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module),n=e.klass;return e.add_stubs(["$include"]),function(e){var $,r=$=t(e,"Gamefic"),a=(r.$$proto,r.$$scope);!function(e,$super){function $(){}var t=$=n(e,$super,"Actor",$),r=(t.$$proto,t.$$scope);t.$include(r.get("Gamefic").$$scope.get("Active"))}(a.base,a.get("Gamefic").$$scope.get("Entity"))}($.base)},Opal.modules["gamefic/scene/base"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass,a=e.hash2;return e.add_stubs(["$attr_reader","$attr_writer","$post_initialize","$shift","$queue","$actor","$finish","$nil?","$start_block","$class","$call","$tracked?","$entered","$type","$prompt","$new","$on_start","$to_proc","$tracked="]),function($){var i,s=i=n($,"Gamefic"),o=(s.$$proto,s.$$scope);!function($,$super){function n(){}var i,s,o,l,u,c,p,f,d,_,y,h,m,b,g=n=r($,$super,"Base",n),v=g.$$proto,k=g.$$scope;v.actor=v.finish_block=v.finished=v.prompt=v.type=t,g.$attr_reader("actor"),g.$attr_writer("type"),g.$attr_writer("prompt"),g.$attr_reader("input"),e.defn(g,"$initialize",i=function(e){var $=this;return $.actor=e,$.$post_initialize()},i.$$arity=1),e.defn(g,"$post_initialize",s=function(){return t},s.$$arity=0),e.defn(g,"$on_finish",o=function(){var e=this,$=o.$$p,n=$||t;return o.$$p=null,e.finish_block=n},o.$$arity=0),e.defn(g,"$update",l=function(){var e=this;return e.input=e.$actor().$queue().$shift(),e.$finish()},l.$$arity=0),e.defn(g,"$start",u=function(){var e,$=this;return((e=$.$class().$start_block()["$nil?"]())===t||null==e||e.$$is_boolean&&1!=e)&&$.$class().$start_block().$call($.actor,$),(e=$["$tracked?"]())===t||null==e||e.$$is_boolean&&1!=e?t:$.actor.$entered($)},u.$$arity=0),e.defn(g,"$finish",c=function(){var e,$=this;return((e=$.finish_block["$nil?"]())===t||null==e||e.$$is_boolean&&1!=e)&&$.finish_block.$call($.actor,$),$.finished=!0},c.$$arity=0),e.defn(g,"$finished?",p=function(){var e,$=this;return!1!==(e=$.finished)&&e!==t&&null!=e?e:$.finished=!1},p.$$arity=0),e.defn(g,"$state",f=function(){var e=this;return a(["scene","prompt"],{scene:e.$type(),prompt:e.$prompt()})},f.$$arity=0),e.defs(g,"$subclass",d=function(){var e,$,n,r=this,a=d.$$p,i=a||t;return d.$$p=null,(e=($=k.get("Class")).$new,e.$$p=(n=function(){var e,$,t=n.$$s||this;return(e=($=t).$on_start,e.$$p=i.$to_proc(),e).call($)},n.$$s=r,n.$$arity=0,n),e).call($,r)},d.$$arity=0),e.defn(g,"$prompt",_=function(){var e,$=this;return!1!==(e=$.prompt)&&e!==t&&null!=e?e:$.prompt=">"},_.$$arity=0),e.defn(g,"$type",y=function(){var e,$=this;return!1!==(e=$.type)&&e!==t&&null!=e?e:$.type="Scene"},y.$$arity=0),e.defs(g,"$on_start",h=function(){var e=this,$=h.$$p,n=$||t;return h.$$p=null,e.start_block=n},h.$$arity=0),e.defn(g,"$tracked?",m=function(){return this.$class()["$tracked?"]()},m.$$arity=0),e.defn(g,"$tracked=",b=function(e){var $,t,n=this;return $=[e],t=n.$class(),t["$tracked="].apply(t,$),$[$.length-1]},b.$$arity=1),function($){var n,r;$.$$scope,$.$$proto;$.$attr_writer("tracked"),e.defn($,"$start_block",n=function(){var e=this;return null==e.start_block&&(e.start_block=t),e.start_block},n.$$arity=0),e.defn($,"$tracked?",r=function(){var e,$=this;return null==$.tracked&&($.tracked=t),!1!==(e=$.tracked)&&e!==t&&null!=e?e:$.tracked=!1},r.$$arity=0)}(e.get_singleton_class(g))}(o.get("Scene"),null)}($.base)},Opal.modules["gamefic/scene/custom"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module),n=e.klass;return function(e){var $,r=$=t(e,"Gamefic"),a=(r.$$proto,r.$$scope);!function(e,$super){function $(){}var t=$=n(e,$super,"Custom",$);t.$$proto,t.$$scope}(a.get("Scene"),a.get("Scene").$$scope.get("Base"))}($.base)},Opal.modules["gamefic/scene/activity"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass;return e.add_stubs(["$type=","$empty?","$strip","$to_s","$input","$perform","$actor","$performed"]),function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($,$super){function n(){}var a,i,s=n=r($,$super,"Activity",n);s.$$proto,s.$$scope;e.defn(s,"$post_initialize",a=function(){var e,$,t=this;return e=["Activity"],$=t,$["$type="].apply($,e),e[e.length-1]},a.$$arity=0),e.defn(s,"$finish",i=function(){var $,n,r=this,a=i.$$p,s=t,o=t,l=t;for(i.$$p=null,o=[],l=0;l<arguments.length;l++)o[l]=arguments[l];return(n=r,$=e.find_super_dispatcher(r,"finish",i,!1),$.$$p=a,$).apply(n,o),s=t,(($=r.$input().$to_s().$strip()["$empty?"]())===t||null==$||$.$$is_boolean&&1!=$)&&(s=r.$actor().$perform(r.$input().$strip())),r.$actor().$performed(s)},i.$$arity=0),function($){var t;$.$$scope,$.$$proto;e.defn($,"$type",t=function(){return"Activity"},t.$$arity=0)}(e.get_singleton_class(s))}(s.get("Scene"),s.get("Scene").$$scope.get("Base"))}($.base)},Opal.modules["gamefic/scene/pause"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass;return e.add_stubs(["$type=","$prompt=","$nil?"]),function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($,$super){function n(){}var a,i=n=r($,$super,"Pause",n);i.$$proto,i.$$scope;e.defn(i,"$post_initialize",a=function(){var e,$,t=this;return e=["Pause"],$=t,$["$type="].apply($,e),e[e.length-1],e=["Press enter to continue..."],$=t,$["$prompt="].apply($,e),e[e.length-1]},a.$$arity=0),function($){var n;$.$$scope,$.$$proto;e.defn($,"$tracked?",n=function(){var e,$=this;return null==$.tracked&&($.tracked=t),(e=$.tracked["$nil?"]())===t||null==e||e.$$is_boolean&&1!=e||($.tracked=!0),$.tracked},n.$$arity=0)}(e.get_singleton_class(i))}(s.get("Scene"),s.get("Scene").$$scope.get("Custom"))}($.base)},Opal.modules["gamefic/scene/conclusion"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass;return function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($,$super){function n(){}var a,i=n=r($,$super,"Conclusion",n),s=i.$$proto;i.$$scope;s.type=t,e.defn(i,"$type",a=function(){var e,$=this;return!1!==(e=$.type)&&e!==t&&null!=e?e:$.type="Conclusion"},a.$$arity=0)}(s.get("Scene"),s.get("Scene").$$scope.get("Custom"))}($.base)},Opal.modules["gamefic/scene/multiple_choice"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e>$:e["$>"]($)}function t(e,$){return"number"==typeof e&&"number"==typeof $?e-$:e["$-"]($)}function n(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var r=(e.top,e),a=e.nil,i=(e.breaker,e.slice,e.module),s=e.klass,o=e.hash2;return e.add_stubs(["$attr_reader","$attr_writer","$type=","$prompt=","$get_choice","$nil?","$selection","$tell","$actor","$invalid_message","$tell_options","$merge","$options","$private","$=~","$strip","$input","$>","$to_i","$-","$number","$[]","$index","$each","$zero?","$casecmp","$+"]),function(r){var l,u=l=i(r,"Gamefic"),c=(u.$$proto,u.$$scope);!function(r,$super){function i(){}var l,u,c,p,f,d,_,y=i=s(r,$super,"MultipleChoice",i),h=y.$$proto;y.$$scope;h.options=h.invalid_message=a,y.$attr_reader("index"),y.$attr_reader("number"),y.$attr_reader("selection"),y.$attr_writer("invalid_message"),e.defn(y,"$post_initialize",l=function(){var e,$,t=this;return e=["MultipleChoice"],$=t,$["$type="].apply($,e),e[e.length-1],e=["Enter a choice:"],$=t,$["$prompt="].apply($,e),e[e.length-1]},l.$$arity=0),e.defn(y,"$finish",u=function(){var $,t,n=this,r=u.$$p,i=a,s=a;for(u.$$p=null,i=[],s=0;s<arguments.length;s++)i[s]=arguments[s];return n.$get_choice(),($=n.$selection()["$nil?"]())===a||null==$||$.$$is_boolean&&1!=$?(t=n,$=e.find_super_dispatcher(n,"finish",u,!1),$.$$p=r,$).apply(t,i):(n.$actor().$tell(n.$invalid_message()),n.$tell_options())},u.$$arity=0),e.defn(y,"$options",c=function(){var e,$=this;return!1!==(e=$.options)&&e!==a&&null!=e?e:$.options=[]},c.$$arity=0),e.defn(y,"$invalid_message",p=function(){var e,$=this;return!1!==(e=$.invalid_message)&&e!==a&&null!=e?e:$.invalid_message="That is not a valid choice."},p.$$arity=0),e.defn(y,"$state",f=function(){var $,t,n=this,r=f.$$p,i=a,s=a;for(f.$$p=null,i=[],s=0;s<arguments.length;s++)i[s]=arguments[s];return(t=n,$=e.find_super_dispatcher(n,"state",f,!1),$.$$p=r,$).apply(t,i).$merge(o(["options"],{options:n.$options()}))},f.$$arity=0),y.$private(),e.defn(y,"$get_choice",d=function(){var r,i,s,o=this,l=a;return i=o.$input().$strip()["$=~"](/^[0-9]+$/),(r=!1!==i&&i!==a&&null!=i?$(o.$input().$to_i(),0):i)===a||null==r||r.$$is_boolean&&1!=r?(l=0,function(){var $=e.new_brk();try{return(r=(i=o.$options()).$each,r.$$p=(s=function(t){var r,i=s.$$s||this;return null==t&&(t=a),(r=t.$casecmp(i.$input())["$zero?"]())===a||null==r||r.$$is_boolean&&1!=r||(i.selection=t,i.index=l,i.number=n(i.$index(),1),e.brk(a,$)),l=n(l,1)},s.$$s=o,s.$$brk=$,s.$$arity=1,s),r).call(i)}catch(e){if(e===$)return e.$v;throw e}}()):(o.number=o.$input().$to_i(),o.index=t(o.$number(),1),o.selection=o.$options()["$[]"](o.$index()))},d.$$arity=0),e.defn(y,"$tell_options",_=function(){var e,$,t,r=this,i=a;return i='<ol class="multiple_choice">',(e=($=r.$options()).$each,e.$$p=(t=function(e){t.$$s;return null==e&&(e=a),i=n(i,'<li><a href="#" rel="gamefic" data-command="'+e+'">'+e+"</a></li>")},t.$$s=r,t.$$arity=1,t),e).call($),i=n(i,"</ol>"),r.$actor().$tell(i)},_.$$arity=0)}(c.get("Scene"),c.get("Scene").$$scope.get("Custom"))}(r.base)},Opal.modules["gamefic/scene/multiple_scene"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass,a=e.hash2;return e.add_stubs(["$push","$options","$[]=","$option_map","$get_choice","$nil?","$selection","$prepare","$actor","$[]","$each_pair","$entered?","$merge"]),function($){var i,s=i=n($,"Gamefic"),o=(s.$$proto,s.$$scope);!function($,$super){function n(){}var i,s,o,l,u=n=r($,$super,"MultipleScene",n),c=u.$$proto;u.$$scope;c.option_map=t,e.defn(u,"$option_map",i=function(){var e,$=this;return!1!==(e=$.option_map)&&e!==t&&null!=e?e:$.option_map=a([],{})},i.$$arity=0),e.defn(u,"$map",s=function(e,$){var t=this;return t.$options().$push(e),t.$option_map()["$[]="](e,$)},s.$$arity=2),e.defn(u,"$finish",o=function(){var e,$=this;return $.$get_choice(),(e=$.$selection()["$nil?"]())===t||null==e||e.$$is_boolean&&1!=e?$.$actor().$prepare($.$option_map()["$[]"]($.$selection())):t},o.$$arity=0),e.defn(u,"$state",l=function(){var $,n,r,i,s=this,o=l.$$p,u=t,c=t,p=t;for(l.$$p=null,c=[],p=0;p<arguments.length;p++)c[p]=arguments[p];return u=a([],{}),($=(n=s.$option_map()).$each_pair,$.$$p=(r=function(e,$){var n=r.$$s||this;return null==e&&(e=t),null==$&&($=t),u["$[]="](e,n.$actor()["$entered?"]($))},r.$$s=s,r.$$arity=2,r),$).call(n),(i=s,$=e.find_super_dispatcher(s,"state",l,!1),$.$$p=o,$).apply(i,c).$merge(a(["entered"],{entered:u}))},l.$$arity=0)}(o.get("Scene"),o.get("Scene").$$scope.get("MultipleChoice"))}($.base)},Opal.modules["gamefic/scene/yes_or_no"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass;return e.add_stubs(["$attr_writer","$type=","$prompt=","$==","$downcase","$[]","$to_s","$input","$yes?","$no?","$tell","$actor","$invalid_message"]),function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($,$super){function n(){}var a,i,s,o,l,u,c=n=r($,$super,"YesOrNo",n),p=c.$$proto;c.$$scope;p.invalid_message=p.prompt=t,c.$attr_writer("invalid_message"),e.defn(c,"$post_initialize",a=function(){var e,$,t=this;return e=["YesOrNo"],$=t,$["$type="].apply($,e),e[e.length-1],e=["Yes or No?"],$=t,$["$prompt="].apply($,e),e[e.length-1]},a.$$arity=0),e.defn(c,"$yes?",i=function(){return this.$input().$to_s()["$[]"](0,1).$downcase()["$=="]("y")},i.$$arity=0),e.defn(c,"$no?",s=function(){return this.$input().$to_s()["$[]"](0,1).$downcase()["$=="]("n")},s.$$arity=0),e.defn(c,"$invalid_message",o=function(){var e,$=this;return!1!==(e=$.invalid_message)&&e!==t&&null!=e?e:$.invalid_message="Please enter Yes or No."},o.$$arity=0),e.defn(c,"$prompt",l=function(){var e,$=this;return!1!==(e=$.prompt)&&e!==t&&null!=e?e:$.prompt="Yes or No?"},l.$$arity=0),e.defn(c,"$finish",u=function(){var $,n,r=this,a=u.$$p,i=t,s=t;for(u.$$p=null,i=[],s=0;s<arguments.length;s++)i[s]=arguments[s];return($=!1!==(n=r["$yes?"]())&&n!==t&&null!=n?n:r["$no?"]())===t||null==$||$.$$is_boolean&&1!=$?r.$actor().$tell(r.$invalid_message()):(n=r,$=e.find_super_dispatcher(r,"finish",u,!1),$.$$p=a,$).apply(n,i)},u.$$arity=0)}(s.get("Scene"),s.get("Scene").$$scope.get("Custom"))}($.base)},Opal.modules["gamefic/scene"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module);return e.add_stubs(["$autoload"]),function(e){var $,n=$=t(e,"Gamefic"),r=(n.$$proto,n.$$scope);!function(e){var $,n=$=t(e,"Scene");n.$$proto,n.$$scope;n.$autoload("Base","gamefic/scene/base"),n.$autoload("Custom","gamefic/scene/custom"),n.$autoload("Activity","gamefic/scene/activity"),n.$autoload("Pause","gamefic/scene/pause"),n.$autoload("Conclusion","gamefic/scene/conclusion"),n.$autoload("MultipleChoice","gamefic/scene/multiple_choice"),n.$autoload("MultipleScene","gamefic/scene/multiple_scene"),n.$autoload("YesOrNo","gamefic/scene/yes_or_no")}(r.base)}($.base)},Opal.modules["gamefic/query/base"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}function t(e,$){return"number"==typeof e&&"number"==typeof $?e>$:e["$>"]($)}var n=(e.top,e),r=e.nil,a=(e.breaker,e.slice,e.module),i=e.klass,s=e.hash2;return e.add_stubs(["$attr_reader","$context_from","$empty?","$new","$execute","$nested?","$denest","$keep_if","$accept?","$!=","$length","$select","$match?","$include?","$nil?","$each","$kind_of?","$+","$arguments","$precision","$downcase","$to_s","$class","$join","$send","$!","$match","$is_a?","$==","$protected","$accessible?","$push","$concat","$subquery_accessible","$children","$private","$split","$pop","$>","$last","$[]"]),function(n){var o,l=o=a(n,"Gamefic"),u=(l.$$proto,l.$$scope);!function(n){var o,l=o=a(n,"Query"),u=(l.$$proto,l.$$scope);!function(n,$super){function a(){}var o,l,u,c,p,f,d,_,y,h,m,b,g=a=i(n,$super,"Base",a),v=g.$$proto,k=g.$$scope;v.precision=v.arguments=r,e.cdecl(k,"NEST_REGEXP",/ in | on | of | from | inside /),g.$attr_reader("arguments"),e.defn(g,"$initialize",o=function(){var e,$=this,t=arguments.length,n=t-0;n<0&&(n=0),e=new Array(n);for(var r=0;r<t;r++)e[r-0]=arguments[r];return $.arguments=e},o.$$arity=-1),e.defn(g,"$ambiguous?",l=function(){return!1},l.$$arity=0),e.defn(g,"$context_from",u=function(){return[]},u.$$arity=1),e.defn(g,"$resolve",c=function($,t,n){var a,i,o,l,u,c,p,f,d,_,y=this,h=r,m=r,b=r;if(null==n||!n.$$is_hash){if(null!=n)throw e.ArgumentError.$new("expected kwargs");n=s([],{})}return null==(_=n.$$smap.continued)&&(_=!1),h=y.$context_from($),(a=h["$empty?"]())===r||null==a||a.$$is_boolean&&1!=a?!1!==_&&_!==r&&null!=_?k.get("Matches").$execute(h,t,s(["continued"],{continued:_})):(a=y["$nested?"](t))===r||null==a||a.$$is_boolean&&1!=a?(b=(a=(l=h).$select,a.$$p=(u=function(e){u.$$s;return null==e&&(e=r),e["$match?"](t)},u.$$s=y,u.$$arity=1,u),a).call(l),(a=b["$empty?"]())===r||null==a||a.$$is_boolean&&1!=a||(b=(a=(c=h).$select,a.$$p=(p=function(e){p.$$s;return null==e&&(e=r),e["$match?"](t,s(["fuzzy"],{fuzzy:!0}))},p.$$s=y,p.$$arity=1,p),a).call(c)),(a=(f=b).$keep_if,a.$$p=(d=function(e){var $=d.$$s||this;return null==e&&(e=r),$["$accept?"](e)},d.$$s=y,d.$$arity=1,d),a).call(f),k.get("Matches").$new(b,function(){return(a=b["$empty?"]())===r||null==a||a.$$is_boolean&&1!=a?t:""}(),function(){return(a=b["$empty?"]())===r||null==a||a.$$is_boolean&&1!=a?"":t}())):(m=y.$denest(h,t),(a=(i=m).$keep_if,a.$$p=(o=function(e){var $=o.$$s||this;return null==e&&(e=r),$["$accept?"](e)},o.$$s=y,o.$$arity=1,o),a).call(i),(a=m.$length()["$!="](1))===r||null==a||a.$$is_boolean&&1!=a?k.get("Matches").$new(m,t,""):k.get("Matches").$new([],"",t)):k.get("Matches").$new([],"",t)},c.$$arity=-3),e.defn(g,"$include?",p=function(e,$){var t,n=this,a=r;return!((t=n["$accept?"]($))===r||null==t||t.$$is_boolean&&1!=t)&&(a=n.$context_from(e),a["$include?"]($))},p.$$arity=2),e.defn(g,"$precision",f=function(){var e,t,n,a=this;return(e=a.precision["$nil?"]())===r||null==e||e.$$is_boolean&&1!=e||(a.precision=1,(e=(t=a.$arguments()).$each,e.$$p=(n=function(e){var t,a=n.$$s||this;return null==a.precision&&(a.precision=r),null==e&&(e=r),(t=e["$kind_of?"](k.get("Class")))===r||null==t||t.$$is_boolean&&1!=t?(t=e["$kind_of?"](k.get("Gamefic").$$scope.get("Entity")))===r||null==t||t.$$is_boolean&&1!=t?r:a.precision=$(a.precision,1e3):a.precision=$(a.precision,100)},n.$$s=a,n.$$arity=1,n),e).call(t),a.precision),a.precision},f.$$arity=0),e.defn(g,"$rank",d=function(){return this.$precision()},d.$$arity=0),e.defn(g,"$signature",_=function(){var e=this;return e.$class().$to_s().$downcase()+"("+e.arguments.$join(",")+")"},_.$$arity=0),e.defn(g,"$accept?",y=function($){var t,n,a,i=this,s=r;return s=!0,function(){var o=e.new_brk();try{(t=(n=i.$arguments()).$each,t.$$p=(a=function(t){var n,i;a.$$s;if(null==t&&(t=r),s=(n=t["$kind_of?"](k.get("Symbol")))===r||null==n||n.$$is_boolean&&1!=n?(n=t["$kind_of?"](k.get("Regexp")))===r||null==n||n.$$is_boolean&&1!=n?(n=!1!==(i=t["$is_a?"](k.get("Module")))&&i!==r&&null!=i?i:t["$is_a?"](k.get("Class")))===r||null==n||n.$$is_boolean&&1!=n?$["$=="](t):$["$is_a?"](t):$.$to_s().$match(t)["$nil?"]()["$!"]():$.$send(t)["$!="](!1),!s["$=="](!1))return r;e.brk(r,o)},a.$$s=i,a.$$brk=o,a.$$arity=1,a),t).call(n)}catch(e){if(e===o)return e.$v;throw e}}(),s},y.$$arity=1),g.$protected(),e.defn(g,"$subquery_accessible",h=function(e){var $,t,n,a=this,i=r;return i=[],($=e["$accessible?"]())===r||null==$||$.$$is_boolean&&1!=$||($=(t=e.$children()).$each,$.$$p=(n=function(e){var $=n.$$s||this;return null==e&&(e=r),i.$push(e),i.$concat($.$subquery_accessible(e))},n.$$s=a,n.$$arity=1,n),$).call(t),i},h.$$arity=1),g.$private(),e.defn(g,"$nested?",m=function(e){return e.$match(k.get("NEST_REGEXP"))["$nil?"]()["$!"]()},m.$$arity=1),e.defn(g,"$denest",b=function(e,$){var n,a,i,o,l,u,c,p,f,d,_=this,y=r,h=r,m=r,b=r;for(y=$.$split(k.get("NEST_REGEXP")),h=y.$pop(),m=(n=(a=e).$select,n.$$p=(i=function(e){i.$$s;return null==e&&(e=r),e["$match?"](h)},i.$$s=_,i.$$arity=1,i),n).call(a),(n=m["$empty?"]())===r||null==n||n.$$is_boolean&&1!=n||(m=(n=(o=e).$select,n.$$p=(l=function(e){l.$$s;return null==e&&(e=r),e["$match?"](h,s(["fuzzy"],{fuzzy:!0}))},l.$$s=_,l.$$arity=1,l),n).call(o)),b=m;(u=t(y.$length(),0))!==r&&null!=u&&(!u.$$is_boolean||1==u)&&(h=y.$last()+" "+h,b=(u=(c=m).$select,u.$$p=(p=function(e){p.$$s;return null==e&&(e=r),e["$match?"](h)},p.$$s=_,p.$$arity=1,p),u).call(c),(u=b["$empty?"]())===r||null==u||u.$$is_boolean&&1!=u||(b=(u=(f=m).$select,u.$$p=(d=function(e){d.$$s;return null==e&&(e=r),e["$match?"](h,s(["fuzzy"],{fuzzy:!0}))},d.$$s=_,d.$$arity=1,d),u).call(f)),(u=b["$empty?"]())===r||null==u||u.$$is_boolean&&1!=u);)y.$pop(),m=b;return(n=!1!==(u=m["$empty?"]())&&u!==r&&null!=u?u:t(m.$length(),1))===r||null==n||n.$$is_boolean&&1!=n?(n=y["$empty?"]())===r||null==n||n.$$is_boolean&&1!=n?_.$denest(m["$[]"](0).$children(),y.$join(" ")):m:[]},b.$$arity=2)}(u.base,null)}(u.base)}(n.base)},Opal.modules["gamefic/query/children"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module),n=e.klass;return e.add_stubs(["$children"]),function($){var r,a=r=t($,"Gamefic"),i=(a.$$proto,a.$$scope);!function($){var r,a=r=t($,"Query"),i=(a.$$proto,a.$$scope);!function($,$super){function t(){}var r,a=t=n($,$super,"Children",t);a.$$proto,a.$$scope;e.defn(a,"$context_from",r=function(e){return e.$children()},r.$$arity=1)}(i.base,i.get("Base"))}(i.base)}($.base)},Opal.modules["gamefic/query/descendants"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass;return e.add_stubs(["$concat","$each","$subquery_accessible"]),function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($){var a,i=a=n($,"Query"),s=(i.$$proto,i.$$scope);!function($,$super){function n(){}var a,i=n=r($,$super,"Descendants",n);i.$$proto,i.$$scope;e.defn(i,"$context_from",a=function(){var $,n,r,i,s=this,o=a.$$p,l=t,u=t,c=t,p=t;for(a.$$p=null,c=[],p=0;p<arguments.length;p++)c[p]=arguments[p];return l=[],u=(n=s,$=e.find_super_dispatcher(s,"context_from",a,!1),$.$$p=o,$).apply(n,c),l.$concat(u),($=(r=u).$each,$.$$p=(i=function(e){var $=i.$$s||this;return null==e&&(e=t),l.$concat($.$subquery_accessible(e))},i.$$s=s,i.$$arity=1,i),$).call(r),l},a.$$arity=1)}(s.base,s.get("Children"))}(s.base)}($.base)},Opal.modules["gamefic/query/external"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass;return function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($){var a,i=a=n($,"Query"),s=(i.$$proto,i.$$scope);!function($,$super){function n(){}var a,i,s=n=r($,$super,"External",n),o=s.$$proto;s.$$scope;o.objects=t,e.defn(s,"$initialize",a=function($){var t,n,r,i=this,s=(a.$$p,arguments.length),o=s-1;o<0&&(o=0),r=new Array(o);for(var l=1;l<s;l++)r[l-1]=arguments[l];return a.$$p=null,(n=i,t=e.find_super_dispatcher(i,"initialize",a,!1),t.$$p=null,t).apply(n,e.to_a(r)),i.objects=$},a.$$arity=-2),e.defn(s,"$context_from",i=function(){return this.objects},i.$$arity=1)}(s.base,s.get("Base"))}(s.base)}($.base)},Opal.modules["gamefic/query/family"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass;return e.add_stubs(["$parent","$nil?","$concat","$subquery_accessible","$delete","$each","$push","$children"]),function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($){var a,i=a=n($,"Query"),s=(i.$$proto,i.$$scope);!function($,$super){function n(){}var a,i=n=r($,$super,"Family",n);i.$$proto,i.$$scope;e.defn(i,"$context_from",a=function(e){var $,n,r,a=this,i=t,s=t;return i=[],s=e.$parent(),(($=s["$nil?"]())===t||null==$||$.$$is_boolean&&1!=$)&&i.$concat(a.$subquery_accessible(s)),i.$delete(e),($=(n=e.$children()).$each,$.$$p=(r=function(e){var $=r.$$s||this;return null==e&&(e=t),i.$push(e),i.$concat($.$subquery_accessible(e))},r.$$s=a,r.$$arity=1,r),$).call(n),i},a.$$arity=1)}(s.base,s.get("Base"))}(s.base)}($.base)},Opal.modules["gamefic/query/itself"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass;return e.add_stubs(["$accept?","$=="]),function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($){var a,i=a=n($,"Query"),s=(i.$$proto,i.$$scope);!function($,$super){function n(){}var a,i,s=n=r($,$super,"Itself",n);s.$$proto,s.$$scope;e.defn(s,"$context_from",a=function(e){return[e]},a.$$arity=1),e.defn(s,"$include?",i=function(e,$){var n,r;return r=this["$accept?"]($),!((n=!1!==r&&r!==t&&null!=r?e["$=="]($):r)===t||null==n||n.$$is_boolean&&1!=n)&&t},i.$$arity=2)}(s.base,s.get("Base"))}(s.base)}($.base)},Opal.modules["gamefic/query/matches"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var t=(e.top,e),n=e.nil,r=(e.breaker,e.slice,e.module),a=e.klass,i=e.hash2,s=e.range;return e.add_stubs(["$attr_accessor","$match_with_remainder","$match_without_remainder","$private","$select","$match?","$empty?","$new","$split","$each","$inner_match","$&","$+","$join","$uniq","$[]","$push"]),function(t){var o,l=o=r(t,"Gamefic"),u=(l.$$proto,l.$$scope);!function(t){var o,l=o=r(t,"Query"),u=(l.$$proto,l.$$scope);!function(t,$super){function r(){}var o,l,u=r=a(t,$super,"Matches",r);u.$$proto,u.$$scope;u.$attr_accessor("objects","matching","remaining"),e.defn(u,"$initialize",o=function(e,$,t){var n=this;return n.objects=e,n.matching=$,n.remaining=t},o.$$arity=3),e.defs(u,"$execute",l=function($,t,r){var a,s=this;if(null==r||!r.$$is_hash){if(null!=r)throw e.ArgumentError.$new("expected kwargs");r=i([],{})}return null==(a=r.$$smap.continued)&&(a=!1),!1!==a&&a!==n&&null!=a?s.$match_with_remainder($,t):s.$match_without_remainder($,t)},l.$$arity=-3),function(t){var r,a,o,l=t.$$scope;t.$$proto;t.$private(),e.defn(t,"$match_without_remainder",r=function(e,$){var t,r,a,i=this,s=n,o=n,u=n;return s=(t=(r=e).$select,t.$$p=(a=function(e){a.$$s;return null==e&&(e=n),e["$match?"]($)},a.$$s=i,a.$$arity=1,a),t).call(r),(t=s["$empty?"]())===n||null==t||t.$$is_boolean&&1!=t?(o=$,u=""):(o="",u=$),l.get("Matches").$new(s,o,u)},r.$$arity=2),e.defn(t,"$match_with_remainder",a=function(t,r){var a,i,o,u=this,c=n,p=n,f=n,d=n,_=n,y=n;return c=t,p=[],f=r.$split(l.get("Matchable").$$scope.get("SPLIT_REGEXP")),d=0,function(){var t=e.new_brk();try{(a=(i=f).$each,a.$$p=(o=function(r){var a,i,s=o.$$s||this,l=n;return null==r&&(r=n),l=s.$inner_match(c,f,p,d,r),(a=!1!==(i=l["$empty?"]())&&i!==n&&null!=i?i:l["$&"](c)["$empty?"]())===n||null==a||a.$$is_boolean&&1!=a||e.brk(n,t),c=l["$&"](c),d=$(d,1)},o.$$s=u,o.$$brk=t,o.$$arity=1,o),a).call(i)}catch(e){if(e===t)return e.$v;throw e}}(),t=c,_=p.$uniq().$join(" "),y=f["$[]"](s(d,-1,!1)).$join(" "),l.get("Matches").$new(t,_,y)},a.$$arity=2),e.defn(t,"$inner_match",o=function(e,$,t,r,a){var o,l,u,c=this,p=n;return p=[],(o=(l=e).$each,o.$$p=(u=function(e){var o;u.$$s;return null==e&&(e=n),(o=e["$match?"]($["$[]"](s(0,r,!1)).$join(" "),i(["fuzzy"],{fuzzy:!0})))===n||null==o||o.$$is_boolean&&1!=o?n:(p.$push(e),t.$push(a))},u.$$s=c,u.$$arity=1,u),o).call(l),p},o.$$arity=5)}(e.get_singleton_class(u))}(u.base,null)}(u.base)}(t.base)},Opal.modules["gamefic/query/parent"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass;return e.add_stubs(["$nil?","$parent"]),function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($){var a,i=a=n($,"Query"),s=(i.$$proto,i.$$scope);!function($,$super){function n(){}var a,i=n=r($,$super,"Parent",n);i.$$proto,i.$$scope;e.defn(i,"$context_from",a=function(e){var $;return($=e.$parent()["$nil?"]())===t||null==$||$.$$is_boolean&&1!=$?[e.$parent()]:[]},a.$$arity=1)}(s.base,s.get("Base"))}(s.base)}($.base)},Opal.modules["gamefic/query/siblings"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e-$:e["$-"]($)}var t=(e.top,e),n=e.nil,r=(e.breaker,e.slice,e.module),a=e.klass;return e.add_stubs(["$nil?","$parent","$concat","$-","$children"]),function(t){var i,s=i=r(t,"Gamefic"),o=(s.$$proto,s.$$scope);!function(t){var i,s=i=r(t,"Query"),o=(s.$$proto,s.$$scope);!function(t,$super){function r(){}var i,s=r=a(t,$super,"Siblings",r);s.$$proto,s.$$scope;e.defn(s,"$context_from",i=function(e){var t,r=n;return r=[],((t=e.$parent()["$nil?"]())===n||null==t||t.$$is_boolean&&1!=t)&&r.$concat($(e.$parent().$children(),[e])),r},i.$$arity=1)}(o.base,o.get("Base"))}(o.base)}(t.base)},Opal.modules["gamefic/query/text"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var t=(e.top,e),n=e.nil,r=(e.breaker,e.slice,e.module),a=e.klass,i=e.range,s=e.hash2;return e.add_stubs(["$each","$kind_of?","$!","$end_with?","$to_s","$raise","$new","$split","$push","$accept?","$join","$+","$[]","$==","$length","$empty?"]),function(t){var o,l=o=r(t,"Gamefic"),u=(l.$$proto,l.$$scope);!function(t){var o,l=o=r(t,"Query"),u=(l.$$proto,l.$$scope);!function(t,$super){function r(){}var o,l,u,c,p,f=r=a(t,$super,"Text",r),d=(f.$$proto,f.$$scope);e.defn(f,"$initialize",o=function(){var $,t,r,a,i,s=this,l=o.$$p,u=n,c=n,p=arguments.length,f=p-0;f<0&&(f=0),i=new Array(f);for(var _=0;_<p;_++)i[_-0]=arguments[_];for(o.$$p=null,u=[],c=0;c<arguments.length;c++)u[c]=arguments[c];return($=(t=i).$each,$.$$p=(r=function(e){var $,t,a,i=r.$$s||this;return null==e&&(e=n),t=!1!==(a=e["$kind_of?"](d.get("Symbol")))&&a!==n&&null!=a?a:e["$kind_of?"](d.get("String")),($=!1!==t&&t!==n&&null!=t?e.$to_s()["$end_with?"]("?")["$!"]():t)===n||null==$||$.$$is_boolean&&1!=$?n:i.$raise(d.get("ArgumentError").$new("Text query arguments can only be boolean method names (:method?) or regular expressions"))},r.$$s=s,r.$$arity=1,r),$).call(t),(a=s,$=e.find_super_dispatcher(s,"initialize",o,!1),$.$$p=l,$).apply(a,u)},o.$$arity=-1),e.defn(f,"$resolve",l=function(t,r,a){var o,l,u,c,p=this,f=n,_=n,y=n,h=n;if(null==a||!a.$$is_hash){ | |
| if(null!=a)throw e.ArgumentError.$new("expected kwargs");a=s([],{})}return null==(c=a.$$smap.continued)&&(c=!1),f=r.$split(d.get("Matchable").$$scope.get("SPLIT_REGEXP")),_=[],y=[],h=0,(o=(l=f).$each,o.$$p=(u=function(e){var t,r=u.$$s||this;return null==e&&(e=n),_.$push(e),(t=r["$accept?"](_.$join(" ")))===n||null==t||t.$$is_boolean&&1!=t||(y=_),h=$(h,1)},u.$$s=p,u.$$arity=1,u),o).call(l),!1!==c&&c!==n&&null!=c?d.get("Matches").$new([y.$join(" ")],y.$join(" "),f["$[]"](i(h,-1,!1)).$join(" ")):y.$length()["$=="](f.$length())?d.get("Matches").$new([y.$join(" ")],y.$join(" "),""):d.get("Matches").$new([],"",f.$join(" "))},l.$$arity=-3),e.defn(f,"$include?",u=function(e,$){return this["$accept?"]($)},u.$$arity=2),e.defn(f,"$accept?",c=function($){var t,r,a=this,i=c.$$p,s=n,o=n;for(c.$$p=null,s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];return r=$["$kind_of?"](d.get("String")),!((t=!1!==r&&r!==n&&null!=r?$["$empty?"]()["$!"]():r)===n||null==t||t.$$is_boolean&&1!=t)&&(r=a,t=e.find_super_dispatcher(a,"accept?",c,!1),t.$$p=i,t).apply(r,s)},c.$$arity=1),e.defn(f,"$precision",p=function(){return 0},p.$$arity=0)}(u.base,u.get("Base"))}(u.base)}(t.base)},Opal.modules["gamefic/query"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module);return e.add_stubs(["$autoload"]),function(e){var $,n=$=t(e,"Gamefic"),r=(n.$$proto,n.$$scope);!function(e){var $,n=$=t(e,"Query");n.$$proto,n.$$scope;n.$autoload("Base","gamefic/query/base"),n.$autoload("Children","gamefic/query/children"),n.$autoload("Descendants","gamefic/query/descendants"),n.$autoload("External","gamefic/query/external"),n.$autoload("Family","gamefic/query/family"),n.$autoload("Itself","gamefic/query/itself"),n.$autoload("Matches","gamefic/query/matches"),n.$autoload("Parent","gamefic/query/parent"),n.$autoload("Siblings","gamefic/query/siblings"),n.$autoload("Text","gamefic/query/text")}(r.base)}($.base)},Opal.modules["gamefic/action"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}function t(e,$){return"number"==typeof e&&"number"==typeof $?e>$:e["$>"]($)}function n(e,$){return"number"==typeof e&&"number"==typeof $?e-$:e["$-"]($)}function r(e,$){return"number"==typeof e&&"number"==typeof $?e<$:e["$<"]($)}var a=(e.top,e),i=e.nil,s=(e.breaker,e.slice,e.module),o=e.klass,l=e.hash2;return e.add_stubs(["$attr_reader","$parameters","$nil?","$executor","$class","$call","$verb","$signature","$rank","$meta?","$order_key","$new","$verb=","$meta=","$order_key=","$each","$add_query","$on_execute","$to_proc","$!","$!=","$+","$length","$queries","$arity","$>","$raise","$push","$join","$map","$start_with?","$to_s","$-","$include?","$[]","$==","$remaining","$resolve","$strip","$<","$empty?","$objects","$ambiguous?","$protected"]),function(a){var u,c=u=s(a,"Gamefic"),p=(c.$$proto,c.$$scope);!function(e,$super){function $(){}var t=$=o(e,$super,"ActionArgumentError",$);t.$$proto,t.$$scope}(p.base,p.get("ArgumentError")),function(a,$super){function s(){}var u,c,p,f,d,_,y,h,m,b,g=s=o(a,$super,"Action",s),v=g.$$proto,k=g.$$scope;v.actor=v.parameters=v.executed=i,g.$attr_reader("parameters"),e.defn(g,"$initialize",u=function(e,$){var t=this;return t.actor=e,t.parameters=$,t.executed=!1},u.$$arity=2),e.defn(g,"$arguments",c=function(){return this.$parameters()},c.$$arity=0),e.defn(g,"$execute",p=function(){var $,t=this;return t.executed=!0,($=t.$class().$executor()["$nil?"]())===i||null==$||$.$$is_boolean&&1!=$?($=t.$class().$executor()).$call.apply($,[t.actor].concat(e.to_a(t.parameters))):i},p.$$arity=0),e.defn(g,"$executed?",f=function(){return this.executed},f.$$arity=0),e.defn(g,"$verb",d=function(){return this.$class().$verb()},d.$$arity=0),e.defn(g,"$signature",_=function(){return this.$class().$signature()},_.$$arity=0),e.defn(g,"$rank",y=function(){return this.$class().$rank()},y.$$arity=0),e.defn(g,"$meta?",h=function(){return this.$class()["$meta?"]()},h.$$arity=0),e.defn(g,"$order_key",m=function(){return this.$class().$order_key()},m.$$arity=0),e.defs(g,"$subclass",b=function(n,r,a){var s,o,u,c,p,f,d,_,y,h=this,m=b.$$p,g=m||i,v=i;if(f=e.slice.call(arguments,1,arguments.length),null==(a=e.extract_kwargs(f))||!a.$$is_hash){if(null!=a)throw e.ArgumentError.$new("expected kwargs");a=l([],{})}return null==(d=a.$$smap.meta)&&(d=!1),null==(_=a.$$smap.order_key)&&(_=0),y=0<f.length?f.splice(0,f.length-0):[],b.$$p=null,v=(s=(o=k.get("Class")).$new,s.$$p=(u=function(){var e,$,t,r,a=u.$$s||this;return e=[n],$=a,$["$verb="].apply($,e),e[e.length-1],e=[d],$=a,$["$meta="].apply($,e),e[e.length-1],e=[_],$=a,$["$order_key="].apply($,e),e[e.length-1],(e=($=y).$each,e.$$p=(t=function(e){var $=t.$$s||this;return null==e&&(e=i),$.$add_query(e)},t.$$s=a,t.$$arity=1,t),e).call($),(e=(r=a).$on_execute,e.$$p=g.$to_proc(),e).call(r)},u.$$s=h,u.$$arity=0,u),s).call(o,h),p=g["$nil?"]()["$!"](),c=!1!==p&&p!==i&&null!=p?$(v.$queries().$length(),1)["$!="](g.$arity()):p,(s=!1!==c&&c!==i&&null!=c?t(g.$arity(),0):c)===i||null==s||s.$$is_boolean&&1!=s||h.$raise(k.get("ActionArgumentError").$new("Number of parameters is not compatible with proc arguments")),v},b.$$arity=-2),function(a){var s,o,u,c,p,f,d,_,y,h,m,b,g,v,k,w=a.$$scope;a.$$proto;e.defn(a,"$verb",s=function(){var e=this;return null==e.verb&&(e.verb=i),e.verb},s.$$arity=0),e.defn(a,"$meta?",o=function(){var e,$=this;return null==$.meta&&($.meta=i),!1!==(e=$.meta)&&e!==i&&null!=e?e:$.meta=!1},o.$$arity=0),e.defn(a,"$add_query",u=function(e){var $=this;return $.specificity=i,$.$queries().$push(e)},u.$$arity=1),e.defn(a,"$queries",c=function(){var e,$=this;return null==$.queries&&($.queries=i),!1!==(e=$.queries)&&e!==i&&null!=e?e:$.queries=[]},c.$$arity=0),e.defn(a,"$on_execute",p=function(){var e=this,$=p.$$p,t=$||i;return p.$$p=null,e.executor=t},p.$$arity=0),e.defn(a,"$signature",f=function(){var e,$,t,n=this;return n.$verb()+" "+(e=($=n.$queries()).$map,e.$$p=(t=function(e){t.$$s;return null==e&&(e=i),e.$signature()},t.$$s=n,t.$$arity=1,t),e).call($).$join(",")},f.$$arity=0),e.defn(a,"$hidden?",d=function(){return this.$verb().$to_s()["$start_with?"]("_")},d.$$arity=0),e.defn(a,"$executor",_=function(){var e=this;return null==e.executor&&(e.executor=i),e.executor},_.$$arity=0),e.defn(a,"$order_key",y=function(){var e,$=this;return null==$.order_key&&($.order_key=i),!1!==(e=$.order_key)&&e!==i&&null!=e?e:$.order_key=0},y.$$arity=0),e.defn(a,"$rank",h=function(){var e,t,r,a=this;return null==a.rank&&(a.rank=i),(e=a.rank["$nil?"]())===i||null==e||e.$$is_boolean&&1!=e||(a.rank=0,(e=(t=a.$queries()).$each,e.$$p=(r=function(e){var t=r.$$s||this;return null==t.rank&&(t.rank=i),null==e&&(e=i),t.rank=$(t.rank,$(e.$rank(),1))},r.$$s=a,r.$$arity=1,r),e).call(t),(e=a.$verb()["$nil?"]())===i||null==e||e.$$is_boolean&&1!=e||(a.rank=n(a.rank,1e3))),a.rank},h.$$arity=0),e.defn(a,"$valid?",m=function(t,n){try{var r,a,s,o=this,l=i;return!!((r=n.$length()["$!="](o.$queries().$length()))===i||null==r||r.$$is_boolean&&1!=r)&&(l=0,(r=(a=o.$queries()).$each,r.$$p=(s=function(r){var a;s.$$s;return null==r&&(r=i),((a=r["$include?"](t,n["$[]"](l)))===i||null==a||a.$$is_boolean&&1!=a)&&e.ret(!1),l=$(l,1)},s.$$s=o,s.$$arity=1,s),r).call(a),!0)}catch($){if($===e.returner)return $.$v;throw $}},m.$$arity=2),e.defn(a,"$attempt",b=function(a,s){try{var o,u,c,p=this,f=i,d=i,_=i;return f=0,d=[],_=w.get("Gamefic").$$scope.get("Query").$$scope.get("Matches").$new([],"",""),(o=(u=p.$queries()).$each,o.$$p=(c=function(o){var u,p,y=c.$$s||this;return null==o&&(o=i),p=s["$[]"](f)["$nil?"](),(u=!1!==p&&p!==i&&null!=p?_.$remaining()["$=="](""):p)===i||null==u||u.$$is_boolean&&1!=u||e.ret(i),_=o.$resolve(a,(_.$remaining()+" "+s["$[]"](f)).$strip(),l(["continued"],{continued:r(f,n(y.$queries().$length(),1))})),(u=_.$objects()["$empty?"]())===i||null==u||u.$$is_boolean&&1!=u||e.ret(i),(u=o["$ambiguous?"]())===i||null==u||u.$$is_boolean&&1!=u?((u=t(_.$objects().$length(),1))===i||null==u||u.$$is_boolean&&1!=u||e.ret(i),d.$push(_.$objects()["$[]"](0))):d.$push(_.$objects()),f=$(f,1)},c.$$s=p,c.$$arity=1,c),o).call(u),p.$new(a,d)}catch($){if($===e.returner)return $.$v;throw $}},b.$$arity=2),a.$protected(),e.defn(a,"$verb=",g=function(e){return this.verb=e},g.$$arity=1),e.defn(a,"$meta=",v=function(e){return this.meta=e},v.$$arity=1),e.defn(a,"$order_key=",k=function(e){return this.order_key=e},k.$$arity=1)}(e.get_singleton_class(g))}(p.base,null)}(a.base)},Opal.modules["gamefic/command"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module),n=e.klass;return e.add_stubs(["$attr_reader"]),function($){var r,a=r=t($,"Gamefic"),i=(a.$$proto,a.$$scope);!function($,$super){function t(){}var r,a=t=n($,$super,"Command",t);a.$$proto,a.$$scope;a.$attr_reader("verb"),a.$attr_reader("arguments"),e.defn(a,"$initialize",r=function(e,$){var t=this;return t.verb=e,t.arguments=$},r.$$arity=2)}(i.base,null)}($.base)},Opal.modules["gamefic/syntax"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e-$:e["$-"]($)}function t(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var n=e.top,r=e,a=e.nil,i=(e.breaker,e.slice,e.module),s=e.klass,o=e.range;return e.add_stubs(["$require","$attr_reader","$split_words","$length","$==","$[]","$-","$!","$nil?","$to_sym","$to_s","$join","$each","$match","$push","$+","$index","$new","$to_i","$signature","$tokenize","$sort!","$arguments","$<=>","$verb"]),n.$require("gamefic/command"),function(n){var r,l=r=i(n,"Gamefic"),u=(l.$$proto,l.$$scope);!function(n,$super){function r(){}var i,l,u,c,p,f,d=r=s(n,$super,"Syntax",r),_=d.$$proto,y=d.$$scope;_.token_count=_.regexp=_.verb=_.replace=a,d.$attr_reader("token_count","first_word","verb","template","command"),e.cvars["@@phrase"]="([\\w\\W\\s\\S]*?)",e.defn(d,"$initialize",i=function(n,r){var i,s,o,l,u,c=this,p=a,f=a,d=a,_=a,h=a,m=a,b=a;return p=n.$split_words(),c.token_count=p.$length(),f=r.$split_words(),c.verb=a,p["$[]"](0)["$[]"](0)["$=="](":")?(c.token_count=$(c.token_count,1),c.first_word=""):((i=f["$[]"](0)["$nil?"]()["$!"]())===a||null==i||i.$$is_boolean&&1!=i||(c.verb=f["$[]"](0).$to_sym()),c.first_word=p["$[]"](0).$to_s()),c.command=f.$join(" "),c.template=p.$join(" "),d=[],_=[],h=!1,(i=(s=p).$each,i.$$p=(o=function($){var t;o.$$s;return null==$&&($=a),(t=$.$match(/^:[a-z0-9_]+$/i))===a||null==t||t.$$is_boolean&&1!=t?(d.$push($),h=!1):(_.$push($),!1!==h&&h!==a&&null!=h?a:(d.$push(null==(t=e.cvars["@@phrase"])?a:t),h=!0))},o.$$s=c,o.$$arity=1,o),i).call(s),m=[],b=0,(i=(l=f).$each,i.$$p=(u=function(e){u.$$s;return null==e&&(e=a),e["$[]"](0)["$=="](":")?(b=t(_.$index(e),1),m.$push("{$"+b+"}")):m.$push(e)},u.$$s=c,u.$$arity=1,u),i).call(l),c.replace=m.$join(" "),c.regexp=y.get("Regexp").$new("^"+d.$join(" ")+"$",y.get("Regexp").$$scope.get("IGNORECASE"))},i.$$arity=2),e.defn(d,"$tokenize",l=function(e){var $,t,n,r=this,i=a,s=a,l=a;return i=e.$match(r.regexp),($=i["$nil?"]())===a||null==$||$.$$is_boolean&&1!=$?(s=[],l=function(){return($=r.verb["$nil?"]())===a||null==$||$.$$is_boolean&&1!=$?1:0}(),($=(t=r.replace.$to_s().$split_words()["$[]"](o(l,-1,!1))).$each,$.$$p=(n=function(e){var $;n.$$s;return null==e&&(e=a),($=e.$match(/^\{\$[0-9]+\}$/))===a||null==$||$.$$is_boolean&&1!=$?s.$push(e):s.$push(i["$[]"](e["$[]"](o(2,-2,!1)).$to_i()))},n.$$s=r,n.$$arity=1,n),$).call(t),y.get("Command").$new(r.verb,s)):a},l.$$arity=1),e.defn(d,"$accept?",u=function(e){var $=this;return e.$match($.regexp)["$nil?"]()["$!"]()},u.$$arity=1),e.defn(d,"$signature",c=function(){var e=this;return[e.regexp,e.replace]},c.$$arity=0),e.defn(d,"$==",p=function(e){return this.$signature()["$=="](e.$signature())},p.$$arity=1),e.defs(d,"$tokenize",f=function(e,$){var t,n,r,i,s,o=this,l=a;return l=[],(t=(n=$).$each,t.$$p=(r=function($){var t,n=(r.$$s,a);return null==$&&($=a),n=$.$tokenize(e),(t=n["$nil?"]()["$!"]())===a||null==t||t.$$is_boolean&&1!=t?a:l.$push(n)},r.$$s=o,r.$$arity=1,r),t).call(n),(t=(i=l)["$sort!"],t.$$p=(s=function(e,$){s.$$s;return null==e&&(e=a),null==$&&($=a),e.$arguments().$length()["$=="]($.$arguments().$length())?$.$verb().$to_s()["$<=>"](e.$verb().$to_s()):$.$arguments().$length()["$<=>"](e.$arguments().$length())},s.$$s=o,s.$$arity=2,s),t).call(i),l},f.$$arity=2)}(u.base,null)}(r.base)},Opal.modules["gamefic/source/base"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module),n=e.klass;return e.add_stubs(["$raise"]),function($){var r,a=r=t($,"Gamefic"),i=(a.$$proto,a.$$scope);!function($,$super){function t(){}var r,a,i=t=n($,$super,"Base",t);i.$$proto,i.$$scope;e.defn(i,"$initialize",r=function(){return this.$raise("#initialize must be defined in subclasses")},r.$$arity=0),e.defn(i,"$export",a=function(){return this.$raise("#export must be defined in subclasses")},a.$$arity=1)}(i.get("Source"),null)}($.base)},Opal.modules["gamefic/source/file"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var t=(e.top,e),n=e.nil,r=(e.breaker,e.slice,e.module),a=e.klass;return e.add_stubs(["$attr_reader","$attr_accessor","$each","$join","$+","$file?","$new","$raise"]),function(t){var i,s=i=r(t,"Gamefic"),o=(s.$$proto,s.$$scope);!function(t,$super){function r(){}var i,s,o=r=a(t,$super,"File",r),l=o.$$proto,u=o.$$scope;l.directories=n,e.cvars["@@extensions"]=[".plot.rb",".plot",".rb"],o.$attr_reader("directories"),o.$attr_accessor("main_dir"),e.defn(o,"$initialize",i=function(){var e,$,t=this,r=arguments.length,a=r-0;a<0&&(a=0),$=new Array(a);for(var i=0;i<r;i++)$[i-0]=arguments[i];return t.directories=!1!==(e=$)&&e!==n&&null!=e?e:[]},i.$$arity=-1),e.defn(o,"$export",s=function(t){try{var r,a,i,s=this;return(r=(a=s.directories).$each,r.$$p=(i=function(r){var a,s,o,l,c=i.$$s||this;return null==r&&(r=n),(a=(s=null==(l=e.cvars["@@extensions"])?n:l).$each,a.$$p=(o=function(a){var i,s=(o.$$s,n);if(null==a&&(a=n),s=u.get("File").$join(r,$(t,a)),(i=u.get("File")["$file?"](s))===n||null==i||i.$$is_boolean&&1!=i)return n;e.ret(u.get("Script").$$scope.get("File").$new(s,t))},o.$$s=c,o.$$arity=1,o),a).call(s)},i.$$s=s,i.$$arity=1,i),r).call(a),s.$raise(u.get("LoadError").$new("cannot load script -- "+t))}catch($){if($===e.returner)return $.$v;throw $}},s.$$arity=1)}(o.get("Source"),o.get("Source").$$scope.get("Base"))}(t.base)},Opal.modules["gamefic/source/text"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass,a=e.hash2;return e.add_stubs(["$has_key?","$new","$[]","$raise"]),function($){var i,s=i=n($,"Gamefic"),o=(s.$$proto,s.$$scope);!function($,$super){function n(){}var i,s,o=n=r($,$super,"Text",n),l=o.$$proto,u=o.$$scope;l.scripts=t,e.defn(o,"$initialize",i=function(e){var $=this;return null==e&&(e=a([],{})),$.scripts=e},i.$$arity=-1),e.defn(o,"$export",s=function(e){var $,n=this;return($=n.scripts["$has_key?"](e))===t||null==$||$.$$is_boolean&&1!=$?n.$raise("Script "+e+" not found"):u.get("Script").$$scope.get("Text").$new(e,n.scripts["$[]"](e))},s.$$arity=1)}(o.get("Source"),o.get("Source").$$scope.get("Base"))}($.base)},Opal.modules["gamefic/source"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module);return e.add_stubs(["$autoload"]),function(e){var $,n=$=t(e,"Gamefic"),r=(n.$$proto,n.$$scope);!function(e){var $,n=$=t(e,"Source");n.$$proto,n.$$scope;n.$autoload("Base","gamefic/source/base"),n.$autoload("File","gamefic/source/file"),n.$autoload("Text","gamefic/source/text")}(r.base)}($.base)},Opal.modules["gamefic/script/base"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module),n=e.klass;return e.add_stubs(["$raise","$==","$path"]),function($){var r,a=r=t($,"Gamefic"),i=(a.$$proto,a.$$scope);!function($,$super){function t(){}var r,a,i,s,o,l=t=n($,$super,"Base",t);l.$$proto,l.$$scope;e.defn(l,"$initialize",r=function(){return this.$raise("#initialize must be defined in subclasses")},r.$$arity=0),e.defn(l,"$read",a=function(){return this.$raise("#read must be defined in subclasses")},a.$$arity=0),e.defn(l,"$path",i=function(){return this.$raise("#path must be defined in subclasses")},i.$$arity=0),e.defn(l,"$absolute_path",s=function(){return this.$raise("#absolute_path must be defined in subclasses")},s.$$arity=0),e.defn(l,"$==",o=function(e){return this.$path()["$=="](e.$path())},o.$$arity=1)}(i.get("Script"),null)}($.base)},Opal.modules["gamefic/script/file"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass;return e.add_stubs(["$attr_reader","$gsub","$read"]),function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($,$super){function n(){}var a,i,s=n=r($,$super,"File",n),o=s.$$proto,l=s.$$scope;o.absolute_path=t,s.$attr_reader("path","absolute_path"),e.defn(s,"$initialize",a=function(e,$){var t=this;return t.absolute_path=e.$gsub(/\/+/,"/"),t.path=$},a.$$arity=2),e.defn(s,"$read",i=function(){var e=this;return l.get("File").$read(e.absolute_path)},i.$$arity=0)}(s.get("Script"),s.get("Script").$$scope.get("Base"))}($.base)},Opal.modules["gamefic/script/text"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass;return e.add_stubs(["$attr_reader"]),function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($,$super){function n(){}var a,i,s=n=r($,$super,"Text",n),o=s.$$proto;s.$$scope;o.code=t,s.$attr_reader("path","absolute_path"),e.defn(s,"$initialize",a=function(e,$,n){var r,a=this;return null==n&&(n=t),a.path=e,a.code=$,a.absolute_path=!1!==(r=n)&&r!==t&&null!=r?r:e},a.$$arity=-3),e.defn(s,"$read",i=function(){return this.code},i.$$arity=0)}(s.get("Script"),s.get("Script").$$scope.get("Base"))}($.base)},Opal.modules["gamefic/script"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module);return e.add_stubs(["$autoload"]),function(e){var $,n=$=t(e,"Gamefic"),r=(n.$$proto,n.$$scope);!function(e){var $,n=$=t(e,"Script");n.$$proto,n.$$scope;n.$autoload("Base","gamefic/script/base"),n.$autoload("File","gamefic/script/file"),n.$autoload("Text","gamefic/script/text")}(r.base)}($.base)},Opal.modules["gamefic/plot/scenes"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.hash2;return e.add_stubs(["$include?","$playbooks","$playbook","$push","$cue","$default_scene","$p_players","$nil?","$call","$subclass","$concat","$options","$on_finish","$to_proc","$scene_classes","$prompt=","$each_pair","$map"]),function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($){var a,i,s,o,l,u,c,p,f,d,_,y,h,m=a=n($,"Scenes"),b=(m.$$proto,m.$$scope);e.defn(m,"$default_scene",i=function(){var e,$=this;return null==$.default_scene&&($.default_scene=t),!1!==(e=$.default_scene)&&e!==t&&null!=e?e:$.default_scene=b.get("Scene").$$scope.get("Activity")},i.$$arity=0),e.defn(m,"$default_conclusion",s=function(){var e,$=this;return null==$.default_conclusion&&($.default_conclusion=t),!1!==(e=$.default_conclusion)&&e!==t&&null!=e?e:$.default_conclusion=b.get("Scene").$$scope.get("Conclusion")},s.$$arity=0),e.defn(m,"$introduction",o=function(){var e=this,$=o.$$p,n=$||t;return o.$$p=null,e.introduction=n},o.$$arity=0),e.defn(m,"$introduce",l=function(e){var $,n=this;return null==n.introduction&&(n.introduction=t),(($=e.$playbooks()["$include?"](n.$playbook()))===t||null==$||$.$$is_boolean&&1!=$)&&e.$playbooks().$push(n.$playbook()),e.$cue(n.$default_scene()),n.$p_players().$push(e),($=n.introduction["$nil?"]())===t||null==$||$.$$is_boolean&&1!=$?n.introduction.$call(e):t},l.$$arity=1),e.defn(m,"$multiple_choice",u=function(){var e,$,n,r,a=this,i=u.$$p,s=i||t,o=t,l=arguments.length,c=l-0;c<0&&(c=0),r=new Array(c);for(var p=0;p<l;p++)r[p-0]=arguments[p];return u.$$p=null,o=(e=($=b.get("Scene").$$scope.get("MultipleChoice")).$subclass,e.$$p=(n=function(e,$){var a,i;n.$$s;return null==e&&(e=t),null==$&&($=t),$.$options().$concat(r),(a=(i=$).$on_finish,a.$$p=s.$to_proc(),a).call(i)},n.$$s=a,n.$$arity=2,n),e).call($),a.$scene_classes().$push(o),o},u.$$arity=-1),e.defn(m,"$yes_or_no",c=function(e){var $,n,r,a=this,i=c.$$p,s=i||t,o=t;return null==e&&(e=t),c.$$p=null,o=($=(n=b.get("Scene").$$scope.get("YesOrNo")).$subclass,$.$$p=(r=function($,n){var a,i;r.$$s;return null==$&&($=t),null==n&&(n=t),a=[e],i=n,i["$prompt="].apply(i,a),a[a.length-1],(a=(i=n).$on_finish,a.$$p=s.$to_proc(),a).call(i)},r.$$s=a,r.$$arity=2,r),$).call(n),a.$scene_classes().$push(o),o},c.$$arity=-1),e.defn(m,"$question",p=function(e){var $,n,r,a=this,i=p.$$p,s=i||t,o=t;return null==e&&(e="What is your answer?"),p.$$p=null,o=($=(n=b.get("Scene").$$scope.get("Custom")).$subclass,$.$$p=(r=function($,n){var a,i;r.$$s;return null==$&&($=t),null==n&&(n=t),a=[e],i=n,i["$prompt="].apply(i,a),a[a.length-1],(a=(i=n).$on_finish,a.$$p=s.$to_proc(),a).call(i)},r.$$s=a,r.$$arity=2,r),$).call(n),a.$scene_classes().$push(o),o},p.$$arity=-1),e.defn(m,"$pause",f=function(e){var $,n,r,a=this,i=f.$$p,s=i||t,o=t;return null==e&&(e=t),f.$$p=null,o=($=(n=b.get("Scene").$$scope.get("Pause")).$subclass,$.$$p=(r=function($,n){var a,i;r.$$s;return null==$&&($=t),null==n&&(n=t),((a=e["$nil?"]())===t||null==a||a.$$is_boolean&&1!=a)&&(a=[e],i=n,i["$prompt="].apply(i,a),a[a.length-1]),(a=s["$nil?"]())===t||null==a||a.$$is_boolean&&1!=a?s.$call($,n):t},r.$$s=a,r.$$arity=2,r),$).call(n),a.$scene_classes().$push(o),o},f.$$arity=-1),e.defn(m,"$conclusion",d=function(){var e,$,n=this,r=d.$$p,a=r||t,i=t;return d.$$p=null,i=(e=($=b.get("Scene").$$scope.get("Conclusion")).$subclass,e.$$p=a.$to_proc(),e).call($),n.$scene_classes().$push(i),i},d.$$arity=0),e.defn(m,"$custom",_=function(e){var $,n,r=this,a=_.$$p,i=a||t,s=t;return null==e&&(e=b.get("Scene").$$scope.get("Custom")),_.$$p=null,s=($=(n=e).$subclass,$.$$p=i.$to_proc(),$).call(n),r.$scene_classes().$push(s),s},_.$$arity=-1),e.defn(m,"$multiple_scene",y=function(e){var $,n,a,i=this,s=y.$$p,o=s||t,l=t;return null==e&&(e=r([],{})),y.$$p=null,l=($=(n=b.get("Scene").$$scope.get("MultipleScene")).$subclass,$.$$p=(a=function($,n){var r,i,s,l=a.$$s||this;return null==$&&($=t),null==n&&(n=t),(r=(i=e).$each_pair,r.$$p=(s=function(e,$){s.$$s;return null==e&&(e=t),null==$&&($=t),n.$map(e,$)},s.$$s=l,s.$$arity=2,s),r).call(i),(r=o["$nil?"]())===t||null==r||r.$$is_boolean&&1!=r?o.$call($,n):t},a.$$s=i,a.$$arity=2,a),$).call(n),i.$scene_classes().$push(l),l},y.$$arity=-1),e.defn(m,"$scene_classes",h=function(){var e,$=this;return null==$.scene_classes&&($.scene_classes=t),!1!==(e=$.scene_classes)&&e!==t&&null!=e?e:$.scene_classes=[]},h.$$arity=0)}(s.get("Plot"))}($.base)},Opal.modules["gamefic/plot/commands"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e>$:e["$>"]($)}var t=e.top,n=e,r=e.nil,a=(e.breaker,e.slice,e.module);return e.add_stubs(["$require","$include","$respond","$to_proc","$playbook","$new","$entities","$each","$resolve","$empty?","$objects","$raise","$>","$length","$push","$[]","$to_sym","$first","$tokenize","$syntaxes","$nil?","$parse","$verb","$arguments","$meta","$disambiguate","$validate","$interpret","$reject","$start_with?","$map","$to_s","$verbs","$actions"]),t.$require("gamefic/action"),function(t){var n,i=n=a(t,"Gamefic"),s=(i.$$proto,i.$$scope);!function(t){var n,i,s,o,l,u,c,p,f,d,_,y,h=n=a(t,"Commands"),m=(h.$$proto,h.$$scope);h.$include(m.get("Gamefic").$$scope.get("Plot").$$scope.get("Entities")),e.defn(h,"$respond",i=function($){var t,n,a,s=this,o=i.$$p,l=o||r,u=arguments.length,c=u-1;c<0&&(c=0),a=new Array(c);for(var p=1;p<u;p++)a[p-1]=arguments[p];return i.$$p=null,(t=(n=s.$playbook()).$respond,t.$$p=l.$to_proc(),t).apply(n,[$].concat(e.to_a(a)))},i.$$arity=-2),e.defn(h,"$parse",s=function(t){var n,a,i,o,l,u=this,c=s.$$p,p=c||r,f=r,d=r,_=arguments.length,y=_-1;y<0&&(y=0),l=new Array(y);for(var h=1;h<_;h++)l[h-1]=arguments[h];return s.$$p=null,f=m.get("Query").$$scope.get("External").$new(u.$entities()),d=[],(n=(a=l).$each,n.$$p=(i=function(e){var t,n=i.$$s||this,a=r;return null==e&&(e=r),a=f.$resolve(r,e),(t=a.$objects()["$empty?"]())===r||null==t||t.$$is_boolean&&1!=t||n.$raise("Unable to resolve token '"+e+"'"),(t=$(a.$objects().$length(),1))===r||null==t||t.$$is_boolean&&1!=t||n.$raise("Ambiguous results for '"+e+"'"),d.$push(m.get("Query").$$scope.get("Family").$new(a.$objects()["$[]"](0)))},i.$$s=u,i.$$arity=1,i),n).call(a),(n=(o=u).$respond,n.$$p=p.$to_proc(),n).apply(o,[t.$to_sym()].concat(e.to_a(d)))},s.$$arity=-2),e.defn(h,"$override",o=function($){var t,n,a=this,i=o.$$p,s=i||r,l=r;return o.$$p=null,l=m.get("Syntax").$tokenize($,a.$playbook().$syntaxes()).$first(),(t=l["$nil?"]())===r||null==t||t.$$is_boolean&&1!=t||a.$raise("Unable to tokenize command '"+$+"'"),(t=(n=a).$parse,t.$$p=s.$to_proc(),t).apply(n,[l.$verb()].concat(e.to_a(l.$arguments())))},o.$$arity=1),e.defn(h,"$meta",l=function($){var t,n,a,i=this,s=l.$$p,o=s||r,u=arguments.length,c=u-1;c<0&&(c=0),a=new Array(c);for(var p=1;p<u;p++)a[p-1]=arguments[p];return l.$$p=null,(t=(n=i.$playbook()).$meta,t.$$p=o.$to_proc(),t).apply(n,[$].concat(e.to_a(a)))},l.$$arity=-2),e.defn(h,"$action",u=function($){var t,n,a,i=this,s=u.$$p,o=s||r,l=arguments.length,c=l-1;c<0&&(c=0),a=new Array(c);for(var p=1;p<l;p++)a[p-1]=arguments[p];return u.$$p=null,(t=(n=i).$respond,t.$$p=o.$to_proc(),t).apply(n,[$].concat(e.to_a(a)))},u.$$arity=-2),e.defn(h,"$disambiguate",c=function(){var e,$,t=this,n=c.$$p,a=n||r;return c.$$p=null,(e=($=t.$playbook()).$disambiguate,e.$$p=a.$to_proc(),e).call($)},c.$$arity=0),e.defn(h,"$validate",p=function(){var e,$,t=this,n=p.$$p,a=n||r;return p.$$p=null,(e=($=t.$playbook()).$validate,e.$$p=a.$to_proc(),e).call($)},p.$$arity=0),e.defn(h,"$interpret",f=function(e,$){return this.$playbook().$interpret(e,$)},f.$$arity=2),e.defn(h,"$xlate",d=function(e,$){return this.$interpret(e,$)},d.$$arity=2),e.defn(h,"$verbs",_=function(){var e,$,t,n,a,i,s=this;return(e=($=(n=(a=s.$playbook().$verbs()).$map,n.$$p=(i=function(e){i.$$s;return null==e&&(e=r),e.$to_s()},i.$$s=s,i.$$arity=1,i),n).call(a)).$reject,e.$$p=(t=function(e){t.$$s;return null==e&&(e=r),e["$start_with?"]("_")},t.$$s=s,t.$$arity=1,t),e).call($)},_.$$arity=0),e.defn(h,"$actions",y=function(){return this.$playbook().$actions()},y.$$arity=0)}(s.get("Plot"))}(n.base)},Opal.modules["gamefic/plot/entities"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e>$:e["$>"]($)}var t=(e.top,e),n=e.nil,r=(e.breaker,e.slice,e.module),a=e.klass,i=e.hash2;return e.add_stubs(["$new","$to_proc","$==","$kind_of?","$raise","$push","$p_entities","$running?","$p_dynamic","$make","$playbooks","$playbook","$include?","$delete","$p_players","$parent=","$match","$entities","$length","$objects","$>","$[]","$clone","$private"]),function(t){var s,o=s=r(t,"Gamefic"),l=(o.$$proto,o.$$scope);!function(t,$super){function s(){}var o=s=a(t,$super,"Plot",s),l=(o.$$proto,o.$$scope);(function(t){var a,s,o,l,u,c,p,f,d,_,y=a=r(t,"Entities"),h=(y.$$proto,y.$$scope);e.defn(y,"$make",s=function(e,$){var t,r,a=this,o=s.$$p,l=o||n,u=n;return null==$&&($=i([],{})),s.$$p=null,u=(t=(r=e).$new,t.$$p=l.$to_proc(),t).call(r,$),u["$kind_of?"](h.get("Entity"))["$=="](!1)&&a.$raise("Invalid entity class"),a.$p_entities().$push(u),(t=a["$running?"]())===n||null==t||t.$$is_boolean&&1!=t||a.$p_dynamic().$push(u),u},s.$$arity=-2),e.defn(y,"$cast",o=function(e,$){var t,r,a=this,s=o.$$p,l=s||n,u=n;return null==$&&($=i([],{})),o.$$p=null,u=(t=(r=a).$make,t.$$p=l.$to_proc(),t).call(r,e,$),u.$playbooks().$push(a.$playbook()),u},o.$$arity=-2),e.defn(y,"$destroy",l=function(e){var $,t,r=this;return($=r.$p_dynamic()["$include?"](e))===n||null==$||$.$$is_boolean&&1!=$||(r.$p_entities().$delete(e),r.$p_dynamic().$delete(e),r.$p_players().$delete(e)),$=[n],t=e,t["$parent="].apply(t,$),$[$.length-1]},l.$$arity=1),e.defn(y,"$pick",u=function(e){var t,r=this,a=n,i=n;return a=h.get("Gamefic").$$scope.get("Query").$$scope.get("Base").$new(),i=a.$match(e,r.$entities()),i.$objects().$length()["$=="](0)?r.$raise(h.get("IndexError").$new("Unable to find entity from '"+e+"'")):(t=$(i.$objects().$length(),1))===n||null==t||t.$$is_boolean&&1!=t||r.$raise(h.get("IndexError").$new("Ambiguous entities found from '"+e+"'")),i.$objects()["$[]"](0)},u.$$arity=1),e.defn(y,"$entities",c=function(){return this.$p_entities().$clone()},c.$$arity=0),e.defn(y,"$players",p=function(){return this.$p_players().$clone()},p.$$arity=0),y.$private(),e.defn(y,"$p_entities",f=function(){var e,$=this;return null==$.p_entities&&($.p_entities=n),!1!==(e=$.p_entities)&&e!==n&&null!=e?e:$.p_entities=[]},f.$$arity=0),e.defn(y,"$p_players",d=function(){var e,$=this;return null==$.p_players&&($.p_players=n),!1!==(e=$.p_players)&&e!==n&&null!=e?e:$.p_players=[]},d.$$arity=0),e.defn(y,"$p_dynamic",_=function(){var e,$=this;return null==$.p_dynamic&&($.p_dynamic=n),!1!==(e=$.p_dynamic)&&e!==n&&null!=e?e:$.p_dynamic=[]},_.$$arity=0)})(l.base)}(l.base,null)}(t.base)},Opal.modules["gamefic/plot/articles"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module);return e.add_stubs(["$indefinitely","$definitely","$cap_first"]),function($){var n,r=n=t($,"Gamefic"),a=(r.$$proto,r.$$scope);!function($){var n,r,a,i,s,o,l,u=n=t($,"Articles");u.$$proto,u.$$scope;e.defn(u,"$a",r=function(e){return e.$indefinitely()},r.$$arity=1),e.defn(u,"$an",a=function(e){return e.$indefinitely()},a.$$arity=1),e.defn(u,"$the",i=function(e){return e.$definitely()},i.$$arity=1),e.defn(u,"$A",s=function(e){return e.$indefinitely().$cap_first()},s.$$arity=1),e.defn(u,"$An",o=function(e){return e.$indefinitely().$cap_first()},o.$$arity=1),e.defn(u,"$The",l=function(e){return e.$definitely().$cap_first()},l.$$arity=1)}(a.get("Plot"))}($.base)},Opal.modules["gamefic/plot/you_mount"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.module),a=e.klass;return e.add_stubs(["$require","$include","$nil?","$new","$person="]),$.$require("gamefic/grammar"),function($){var t,i=t=r($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($){var t,i,s=t=r($,"YouMount"),o=(s.$$proto,s.$$scope);!function(e,$super){function $(){}var t=$=a(e,$super,"YouGrammarSet",$),n=(t.$$proto,t.$$scope);t.$include(n.get("Grammar").$$scope.get("Gender")),t.$include(n.get("Grammar").$$scope.get("Person")),t.$include(n.get("Grammar").$$scope.get("Plural")),t.$include(n.get("Grammar").$$scope.get("WordAdapter"))}(o.base,null),e.defn(s,"$you",i=function(){var e,$,t=this;return null==t.you&&(t.you=n),(e=t.you["$nil?"]())===n||null==e||e.$$is_boolean&&1!=e||(t.you=o.get("YouGrammarSet").$new(),e=[2],$=t.you,$["$person="].apply($,e),e[e.length-1]),t.you},i.$$arity=0)}(s.get("Plot"))}(t.base)},Opal.modules.json=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.hash2,a=e.klass;return e.add_stubs(["$new","$push","$[]=","$[]","$create_id","$json_create","$attr_accessor","$create_id=","$===","$parse","$generate","$from_object","$merge","$to_json","$responds_to?","$to_io","$write","$to_s","$to_a","$strftime"]),function($){function a($,n){var r,i,s,o,l,u;switch(typeof $){case"string":case"number":return $;case"boolean":return!!$;case"null":return t;case"object":if(!$)return t;if($.$$is_array){for(i=n.array_class.$new(),o=0,l=$.length;o<l;o++)i.$push(a($[o],n));return i}s=n.object_class.$new();for(u in $)b.call($,u)&&s["$[]="](u,a($[u],n));return n.parse||(r=s["$[]"](h.get("JSON").$create_id()))==t?s:(r=e.get(r),r.$json_create(s))}}var i,s,o,l,u,c,p,f,d,_,y=i=n($,"JSON"),h=(y.$$proto,y.$$scope),m=JSON.parse,b=e.hasOwnProperty;!function(e){e.$$scope,e.$$proto;e.$attr_accessor("create_id")}(e.get_singleton_class(y)),s=["json_class"],o=y,o["$create_id="].apply(o,s),s[s.length-1],e.defs(y,"$[]",l=function(e,$){var n,a=this;return null==$&&($=r([],{})),(n=h.get("String")["$==="](e))===t||null==n||n.$$is_boolean&&1!=n?a.$generate(e,$):a.$parse(e,$)},l.$$arity=-2),e.defs(y,"$parse",u=function(e,$){var t=this;return null==$&&($=r([],{})),t.$from_object(m(e),$.$merge(r(["parse"],{parse:!0})))},u.$$arity=-2),e.defs(y,"$parse!",c=function(e,$){var t=this;return null==$&&($=r([],{})),t.$parse(e,$)},c.$$arity=-2),e.defs(y,"$load",p=function(e,$){var t=this;return null==$&&($=r([],{})),t.$from_object(m(e),$)},p.$$arity=-2),e.defs(y,"$from_object",f=function(e,$){var n,i,s;return null==$&&($=r([],{})),n="object_class",i=$,!1!==(s=i["$[]"](n))&&s!==t&&null!=s||i["$[]="](n,h.get("Hash")),n="array_class",i=$,!1!==(s=i["$[]"](n))&&s!==t&&null!=s||i["$[]="](n,h.get("Array")),a(e,$.$$smap)},f.$$arity=-2),e.defs(y,"$generate",d=function(e,$){return null==$&&($=r([],{})),e.$to_json($)},d.$$arity=-2),e.defs(y,"$dump",_=function(e,$,n){var r,a=this,i=t;return null==$&&($=t),null==n&&(n=t),i=a.$generate(e),!1!==$&&$!==t&&null!=$?((r=$["$responds_to?"]("to_io"))===t||null==r||r.$$is_boolean&&1!=r||($=$.$to_io()),$.$write(i),$):i},_.$$arity=-2)}($.base),function($,$super){function t(){}var n,r=t=a($,$super,"Object",t);r.$$proto,r.$$scope;e.defn(r,"$to_json",n=function(){return this.$to_s().$to_json()},n.$$arity=0)}($.base,null),function($){var t,r,a=t=n($,"Enumerable");a.$$proto,a.$$scope | |
| ;e.defn(a,"$to_json",r=function(){return this.$to_a().$to_json()},r.$$arity=0)}($.base),function($,$super){function t(){}var n,r=t=a($,$super,"Array",t);r.$$proto,r.$$scope;e.defn(r,"$to_json",n=function(){for(var e=this,$=[],t=0,n=e.length;t<n;t++)$.push(e[t].$to_json());return"["+$.join(", ")+"]"},n.$$arity=0)}($.base,null),function($,$super){function t(){}var n,r=t=a($,$super,"Boolean",t);r.$$proto,r.$$scope;e.defn(r,"$to_json",n=function(){return 1==this?"true":"false"},n.$$arity=0)}($.base,null),function($,$super){function t(){}var n,r=t=a($,$super,"Hash",t);r.$$proto,r.$$scope;e.defn(r,"$to_json",n=function(){for(var e,$,t=this,n=[],r=0,a=t.$$keys,i=a.length;r<i;r++)e=a[r],e.$$is_string?$=t.$$smap[e]:($=e.value,e=e.key),n.push(e.$to_s().$to_json()+":"+$.$to_json());return"{"+n.join(", ")+"}"},n.$$arity=0)}($.base,null),function($,$super){function t(){}var n,r=t=a($,$super,"NilClass",t);r.$$proto,r.$$scope;e.defn(r,"$to_json",n=function(){return"null"},n.$$arity=0)}($.base,null),function($,$super){function t(){}var n,r=t=a($,$super,"Numeric",t);r.$$proto,r.$$scope;e.defn(r,"$to_json",n=function(){return this.toString()},n.$$arity=0)}($.base,null),function($,$super){function t(){}var n=t=a($,$super,"String",t);n.$$proto,n.$$scope;e.alias(n,"to_json","inspect")}($.base,null),function($,$super){function t(){}var n,r=t=a($,$super,"Time",t);r.$$proto,r.$$scope;e.defn(r,"$to_json",n=function(){return this.$strftime("%FT%T%z").$to_json()},n.$$arity=0)}($.base,null),function($,$super){function n(){}var r,i,s=n=a($,$super,"Date",n);s.$$proto,s.$$scope;return e.defn(s,"$to_json",r=function(){return this.$to_s().$to_json()},r.$$arity=0),e.defn(s,"$as_json",i=function(){return this.$to_s()},i.$$arity=0),t&&"as_json"}($.base,null)},Opal.modules["gamefic/plot/snapshot"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.module);return e.add_stubs(["$require","$initial_state","$internal_save","$each","$conclude","$p_subplots","$clear","$restore","$new","$flush","$entities","$nil?","$private","$save"]),$.$require("json"),function($){var t,a=t=r($,"Gamefic"),i=(a.$$proto,a.$$scope);!function($){var t,a,i,s,o,l=t=r($,"Snapshot"),u=(l.$$proto,l.$$scope);e.defn(l,"$save",a=function(){var e=this;return e.$initial_state(),e.$internal_save()},a.$$arity=0),e.defn(l,"$restore",i=function(e){var $,t,r,a,i,s=this;return($=(t=s.$p_subplots()).$each,$.$$p=(r=function(e){r.$$s;return null==e&&(e=n),e.$conclude()},r.$$s=s,r.$$arity=1,r),$).call(t),s.$p_subplots().$clear(),u.get("Gamefic").$$scope.get("Plot").$$scope.get("Darkroom").$new(s).$restore(e),($=(a=s.$entities()).$each,$.$$p=(i=function(e){i.$$s;return null==e&&(e=n),e.$flush()},i.$$s=s,i.$$arity=1,i),$).call(a)},i.$$arity=1),e.defn(l,"$initial_state",s=function(){var e,$=this;return null==$.initial_state&&($.initial_state=n),(e=$.initial_state["$nil?"]())===n||null==e||e.$$is_boolean&&1!=e||($.initial_state=$.$internal_save()),$.initial_state},s.$$arity=0),l.$private(),e.defn(l,"$internal_save",o=function(){var e=this;return u.get("Gamefic").$$scope.get("Plot").$$scope.get("Darkroom").$new(e).$save()},o.$$arity=0)}(i.get("Plot"))}(t.base)},Opal.modules["gamefic/plot/darkroom"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e-$:e["$-"]($)}function t(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var n=(e.top,e),r=e.nil,a=(e.breaker,e.slice,e.module),i=e.klass,s=e.hash2,o=e.range;return e.add_stubs(["$attr_reader","$metadata","$plot","$clear","$entity_store","$player_store","$concat","$entities","$players","$each","$subplots","$uniq!","$push","$[]","$hash_entity","$instance_variable_get","$theater","$can_serialize?","$[]=","$serialize","$instance_variables","$hash_subplot","$conclude","$destroy","$length","$initial_state","$-","$nil?","$stage","$const_get","$make","$+","$branch","$empty?","$introduce","$rebuild_subplot","$rebuild1","$rebuild2","$each_pair","$instance_variable_set","$unserialize","$private","$kind_of?","$is_scene_class?","$==","$superclass","$index","$scene_classes","$raise","$match","$to_i","$start_with?","$to_s","$!=","$!","$send","$last","$split","$class","$add_entity","$include?","$hash_blacklist","$parent"]),function(n){var l,u=l=a(n,"Gamefic"),c=(u.$$proto,u.$$scope);!function(n,$super){function a(){}var l,u,c,p,f,d,_,y,h,m,b,g,v,k,w,x=a=i(n,$super,"Darkroom",a),q=x.$$proto,j=x.$$scope;q.entity_store=q.player_store=r,x.$attr_reader("plot"),e.defn(x,"$initialize",l=function(e){return this.plot=e},l.$$arity=1),e.defn(x,"$save",u=function(){var e,$,t,n,a,i,o,l,u,c,p,f=this,d=r;return d=s(["entities","players","subplots","instance_variables","metadata"],{entities:[],players:[],subplots:[],instance_variables:s([],{}),metadata:f.$plot().$metadata()}),f.$entity_store().$clear(),f.$player_store().$clear(),f.$entity_store().$concat(f.$plot().$entities()),f.$player_store().$concat(f.$plot().$players()),(e=($=f.$plot().$subplots()).$each,e.$$p=(t=function(e){var $=t.$$s||this;return null==e&&(e=r),$.$entity_store().$concat(e.$entities())},t.$$s=f,t.$$arity=1,t),e).call($),f.$entity_store()["$uniq!"](),(e=(n=f.$entity_store()).$each,e.$$p=(a=function(e){var $=a.$$s||this;return null==e&&(e=r),d["$[]"]("entities").$push($.$hash_entity(e))},a.$$s=f,a.$$arity=1,a),e).call(n),(e=(i=f.$player_store()).$each,e.$$p=(o=function(e){var $=o.$$s||this;return null==e&&(e=r),d["$[]"]("players").$push($.$hash_entity(e))},o.$$s=f,o.$$arity=1,o),e).call(i),(e=(l=f.$plot().$theater().$instance_variables()).$each,e.$$p=(u=function(e){var $,t=u.$$s||this,n=r;return null==e&&(e=r),n=t.$plot().$theater().$instance_variable_get(e),($=t["$can_serialize?"](n))===r||null==$||$.$$is_boolean&&1!=$?r:d["$[]"]("instance_variables")["$[]="](e,t.$serialize(n))},u.$$s=f,u.$$arity=1,u),e).call(l),(e=(c=f.$plot().$subplots()).$each,e.$$p=(p=function(e){var $=p.$$s||this;return null==e&&(e=r),d["$[]"]("subplots").$push($.$hash_subplot(e))},p.$$s=f,p.$$arity=1,p),e).call(c),d},u.$$arity=0),e.defn(x,"$restore",c=function(e){var n,a,i,s,l,u,c,p,f,d,_,y,h,m,b,g,v,k,w,x=this,q=r;return x.$entity_store().$clear(),x.$player_store().$clear(),(n=(a=x.$plot().$subplots()).$each,n.$$p=(i=function(e){i.$$s;return null==e&&(e=r),e.$conclude()},i.$$s=x,i.$$arity=1,i),n).call(a),(n=(s=x.$plot().$entities()["$[]"](o(x.$plot().$initial_state()["$[]"]("entities").$length(),-1,!1))).$each,n.$$p=(l=function(e){var $=l.$$s||this;return null==e&&(e=r),$.$plot().$destroy(e)},l.$$s=x,l.$$arity=1,l),n).call(s),x.$entity_store().$concat(x.$plot().$entities()["$[]"](o(0,$(x.$plot().$initial_state()["$[]"]("entities").$length(),1),!1))),x.$entity_store()["$uniq!"](),x.$player_store().$concat(x.$plot().$players()),q=0,(n=(u=e["$[]"]("entities")).$each,n.$$p=(c=function(e){var $,n,a,i=c.$$s||this,s=r;return null==e&&(e=r),($=i.$entity_store()["$[]"](q)["$nil?"]())===r||null==$||$.$$is_boolean&&1!=$||(s=($=(n=i.$plot()).$stage,$.$$p=(a=function(){var $=a.$$s||this,t=r;return t=$.$const_get(e["$[]"]("class")),$.$make(t)},a.$$s=i,a.$$arity=0,a),$).call(n),i.$entity_store().$push(s)),q=t(q,1)},c.$$s=x,c.$$arity=1,c),n).call(u),(n=(p=e["$[]"]("subplots")).$each,n.$$p=(f=function(e){var $,t,n,a=f.$$s||this,i=r;return null==e&&(e=r),i=($=(t=a.$plot()).$stage,$.$$p=(n=function(){var $=n.$$s||this,t=r;return t=$.$const_get(e["$[]"]("class")),$.$branch(t)},n.$$s=a,n.$$arity=0,n),$).call(t),(($=a.$player_store()["$empty?"]())===r||null==$||$.$$is_boolean&&1!=$)&&i.$introduce(a.$player_store()["$[]"](0)),a.$rebuild_subplot(i,e)},f.$$s=x,f.$$arity=1,f),n).call(p),q=0,(n=(d=e["$[]"]("entities")).$each,n.$$p=(_=function(e){var $=_.$$s||this;return null==e&&(e=r),$.$rebuild1($.$entity_store()["$[]"](q),e),q=t(q,1)},_.$$s=x,_.$$arity=1,_),n).call(d),q=0,(n=(y=e["$[]"]("players")).$each,n.$$p=(h=function(e){var $=h.$$s||this;return null==e&&(e=r),$.$rebuild1($.$player_store()["$[]"](q),e),q=t(q,1)},h.$$s=x,h.$$arity=1,h),n).call(y),q=0,(n=(m=e["$[]"]("entities")).$each,n.$$p=(b=function(e){var $=b.$$s||this;return null==e&&(e=r),$.$rebuild2($.$entity_store()["$[]"](q),e),q=t(q,1)},b.$$s=x,b.$$arity=1,b),n).call(m),q=0,(n=(g=e["$[]"]("players")).$each,n.$$p=(v=function(e){var $=v.$$s||this;return null==e&&(e=r),$.$rebuild2($.$player_store()["$[]"](q),e),q=t(q,1)},v.$$s=x,v.$$arity=1,v),n).call(g),(n=(k=e["$[]"]("instance_variables")).$each_pair,n.$$p=(w=function(e,$){var t=w.$$s||this;return null==e&&(e=r),null==$&&($=r),t.$plot().$theater().$instance_variable_set(e,t.$unserialize($))},w.$$s=x,w.$$arity=2,w),n).call(k)},c.$$arity=1),x.$private(),e.defn(x,"$hash_blacklist",p=function(){return["@parent","@children","@last_action","@scene","@next_scene","@playbook","@performance_stack","@buffer_stack","@messages","@state"]},p.$$arity=0),e.defn(x,"$can_serialize?",f=function($){try{var t,n,a,i,s,o,l,u,c,p,f=this;return!((t=!1!==(n=!1!==(a=!1!==(i=!1!==(s=!1!==(o=!1!==(l=!1!==(u=$["$kind_of?"](j.get("String")))&&u!==r&&null!=u?u:$["$kind_of?"](j.get("Numeric")))&&l!==r&&null!=l?l:$["$kind_of?"](j.get("Symbol")))&&o!==r&&null!=o?o:$["$kind_of?"](j.get("Gamefic").$$scope.get("Entity")))&&s!==r&&null!=s?s:f["$is_scene_class?"]($))&&i!==r&&null!=i?i:$["$=="](!0))&&a!==r&&null!=a?a:$["$=="](!1))&&n!==r&&null!=n?n:$["$nil?"]())===r||null==t||t.$$is_boolean&&1!=t)||((t=$["$kind_of?"](j.get("Array")))===r||null==t||t.$$is_boolean&&1!=t?!((t=$["$kind_of?"](j.get("Hash")))===r||null==t||t.$$is_boolean&&1!=t)&&((t=(a=$).$each_pair,t.$$p=(p=function($,t){var n=p.$$s||this,a=r;if(null==$&&($=r),null==t&&(t=r),a=n["$can_serialize?"]($),a["$=="](!1)&&e.ret(!1),a=n["$can_serialize?"](t),!a["$=="](!1))return r;e.ret(!1)},p.$$s=f,p.$$arity=2,p),t).call(a),!0):((t=(n=$).$each,t.$$p=(c=function($){var t=c.$$s||this,n=r;if(null==$&&($=r),n=t["$can_serialize?"]($),!n["$=="](!1))return r;e.ret(!1)},c.$$s=f,c.$$arity=1,c),t).call(n),!0))}catch($){if($===e.returner)return $.$v;throw $}},f.$$arity=1),e.defn(x,"$is_scene_class?",d=function(e){var $,t,n=r;if(($=e["$kind_of?"](j.get("Class")))===r||null==$||$.$$is_boolean&&1!=$)return!1;for(n=e;(t=n["$nil?"]())===r||null==t||t.$$is_boolean&&1!=t;){if(n["$=="](j.get("Gamefic").$$scope.get("Scene").$$scope.get("Base")))return!0;n=n.$superclass()}return!1},d.$$arity=1),e.defn(x,"$serialize",_=function(e){var $,t,n,a,i,o=this,l=r,u=r;return($=e["$kind_of?"](j.get("Array")))===r||null==$||$.$$is_boolean&&1!=$?($=e["$kind_of?"](j.get("Hash")))===r||null==$||$.$$is_boolean&&1!=$?($=o["$is_scene_class?"](e))===r||null==$||$.$$is_boolean&&1!=$?($=e["$kind_of?"](j.get("Gamefic").$$scope.get("Entity")))===r||null==$||$.$$is_boolean&&1!=$?e:(u=o.$entity_store().$index(e),($=u["$nil?"]())===r||null==$||$.$$is_boolean&&1!=$?"#<EIN_"+u+">":(u=o.$player_store().$index(e),($=u["$nil?"]())===r||null==$||$.$$is_boolean&&1!=$?"#<PIN_"+u+">":(o.$raise(e+" not found in plot"),r))):"#<SIN_"+(u=o.$plot().$scene_classes().$index(e))+">":(l=s([],{}),($=(a=e).$each_pair,$.$$p=(i=function(e,$){var t=i.$$s||this;return null==e&&(e=r),null==$&&($=r),l["$[]="](t.$serialize(e),t.$serialize($))},i.$$s=o,i.$$arity=2,i),$).call(a),l):(l=[],($=(t=e).$each,$.$$p=(n=function(e){var $=n.$$s||this;return null==e&&(e=r),l.$push($.$serialize(e))},n.$$s=o,n.$$arity=1,n),$).call(t),l)},_.$$arity=1),e.defn(x,"$unserialize",y=function(e){var $,t,n,a,i,o=this,l=r,u=r;return($=e["$kind_of?"](j.get("Array")))===r||null==$||$.$$is_boolean&&1!=$?($=e["$kind_of?"](j.get("Hash")))===r||null==$||$.$$is_boolean&&1!=$?($=e["$kind_of?"](j.get("String")))===r||null==$||$.$$is_boolean&&1!=$?e:($=u=e.$match(/#<SIN_([0-9]+)>/))===r||null==$||$.$$is_boolean&&1!=$?($=u=e.$match(/#<EIN_([0-9]+)>/))===r||null==$||$.$$is_boolean&&1!=$?($=u=e.$match(/#<PIN_([0-9]+)>/))===r||null==$||$.$$is_boolean&&1!=$?e:o.$player_store()["$[]"](u["$[]"](1).$to_i()):o.$entity_store()["$[]"](u["$[]"](1).$to_i()):o.$plot().$scene_classes()["$[]"](u["$[]"](1).$to_i()):(l=s([],{}),($=(a=e).$each_pair,$.$$p=(i=function(e,$){var t=i.$$s||this;return null==e&&(e=r),null==$&&($=r),l["$[]="](t.$unserialize(e),t.$unserialize($))},i.$$s=o,i.$$arity=2,i),$).call(a),l):(l=[],($=(t=e).$each,$.$$p=(n=function(e){var $=n.$$s||this;return null==e&&(e=r),l.$push($.$unserialize(e))},n.$$s=o,n.$$arity=1,n),$).call(t),l)},y.$$arity=1),e.defn(x,"$rebuild1",h=function(e,$){var t,n,a,i=this;return(t=(n=$).$each_pair,t.$$p=(a=function($,t){var n,i=a.$$s||this;return null==$&&($=r),null==t&&(t=r),(n=$.$to_s()["$start_with?"]("@"))===r||null==n||n.$$is_boolean&&1!=n?r:e.$instance_variable_set($,i.$unserialize(t))},a.$$s=i,a.$$arity=2,a),t).call(n)},h.$$arity=2),e.defn(x,"$rebuild2",m=function(e,$){var t,n,a,i=this;return(t=(n=$).$each_pair,t.$$p=(a=function($,t){var n,i,s=a.$$s||this;return null==$&&($=r),null==t&&(t=r),i=$.$to_s()["$!="]("class"),(n=!1!==i&&i!==r&&null!=i?$.$to_s()["$start_with?"]("@")["$!"]():i)===r||null==n||n.$$is_boolean&&1!=n?r:e.$send($+"=",s.$unserialize(t))},a.$$s=i,a.$$arity=2,a),t).call(n)},m.$$arity=2),e.defn(x,"$hash_subplot",b=function(e){var $,t,n,a,i,o,l,u=this,c=r;return c=s(["entities","instance_variables","theater_instance_variables"],{entities:[],instance_variables:s([],{}),theater_instance_variables:s([],{})}),($=(t=e.$instance_variables()).$each,$.$$p=(n=function($){var t,a=n.$$s||this,i=r;return null==$&&($=r),i=e.$instance_variable_get($),(t=a["$can_serialize?"](i))===r||null==t||t.$$is_boolean&&1!=t?r:c["$[]"]("instance_variables")["$[]="]($,a.$serialize(i))},n.$$s=u,n.$$arity=1,n),$).call(t),($=(a=e.$theater().$instance_variables()).$each,$.$$p=(i=function($){var t,n=i.$$s||this,a=r;return null==$&&($=r),a=e.$theater().$instance_variable_get($),(t=n["$can_serialize?"](a))===r||null==t||t.$$is_boolean&&1!=t?r:c["$[]"]("theater_instance_variables")["$[]="]($,n.$serialize(a))},i.$$s=u,i.$$arity=1,i),$).call(a),($=(o=e.$entities()).$each,$.$$p=(l=function(e){var $=l.$$s||this;return null==e&&(e=r),c["$[]"]("entities").$push($.$serialize(e))},l.$$s=u,l.$$arity=1,l),$).call(o),c["$[]="]("class",e.$class().$to_s().$split("::").$last()),c},b.$$arity=1),e.defn(x,"$rebuild_subplot",g=function(e,$){var n,a,i,s,o,l,u,c,p,f=this,d=r;return(n=(a=e.$entities()).$each,n.$$p=(i=function($){i.$$s;return null==$&&($=r),e.$destroy($)},i.$$s=f,i.$$arity=1,i),n).call(a),(n=(s=$["$[]"]("instance_variables")).$each_pair,n.$$p=(o=function($,t){var n=o.$$s||this;return null==$&&($=r),null==t&&(t=r),e.$instance_variable_set($,n.$unserialize(t))},o.$$s=f,o.$$arity=2,o),n).call(s),(n=(l=$["$[]"]("theater_instance_variables")).$each_pair,n.$$p=(u=function($,t){var n=u.$$s||this;return null==$&&($=r),null==t&&(t=r),e.$theater().$instance_variable_set($,n.$unserialize(t))},u.$$s=f,u.$$arity=2,u),n).call(l),d=0,(n=(c=$["$[]"]("entities")).$each,n.$$p=(p=function($){var n=p.$$s||this;return null==$&&($=r),e.$add_entity(n.$unserialize($)),d=t(d,1)},p.$$s=f,p.$$arity=1,p),n).call(c)},g.$$arity=2),e.defn(x,"$entity_store",v=function(){var e,$=this;return!1!==(e=$.entity_store)&&e!==r&&null!=e?e:$.entity_store=[]},v.$$arity=0),e.defn(x,"$player_store",k=function(){var e,$=this;return!1!==(e=$.player_store)&&e!==r&&null!=e?e:$.player_store=[]},k.$$arity=0),e.defn(x,"$hash_entity",w=function(e){var $,t,n,a=this,i=r;return i=s([],{}),($=(t=e.$instance_variables()).$each,$.$$p=(n=function($){var t,a,s=n.$$s||this,o=r;return null==$&&($=r),o=e.$instance_variable_get($),(t=!1!==(a=s.$hash_blacklist()["$include?"]($))&&a!==r&&null!=a?a:s["$can_serialize?"](o)["$!"]())===r||null==t||t.$$is_boolean&&1!=t?i["$[]="]($,s.$serialize(o)):r},n.$$s=a,n.$$arity=1,n),$).call(t),i["$[]="]("class",e.$class().$to_s().$split("::").$last()),i["$[]="]("parent",a.$serialize(e.$parent())),i},w.$$arity=1)}(c.get("Plot"),null)}(n.base)},Opal.modules["gamefic/subplot"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.module),a=e.klass,i=e.hash2;return e.add_stubs(["$require","$include","$attr_reader","$protected","$nil?","$start_proc","$class","$stage","$to_proc","$freeze","$playbook","$introduce","$push","$default_scene","$plot","$default_conclusion","$new","$include?","$playbooks","$delete","$cue","$p_players","$each","$destroy","$entities","$exeunt","$players","$empty?","$conclude","$concluded?","$call_ready","$call_player_ready","$call_player_update","$call_update"]),$.$require("gamefic/plot"),function($){var t,s=t=r($,"Gamefic"),o=(s.$$proto,s.$$scope);!function($,$super){function t(){}var r,s,o,l,u,c,p,f,d,_,y,h,m,b=t=a($,$super,"Subplot",t),g=b.$$proto,v=b.$$scope;g.p_entities=g.playbook=g.next_cue=g.concluded=n,b.$include(v.get("Plot").$$scope.get("Theater")),b.$include(v.get("Plot").$$scope.get("Entities")),b.$include(v.get("Plot").$$scope.get("Commands")),b.$include(v.get("Plot").$$scope.get("Callbacks")),b.$include(v.get("Plot").$$scope.get("Scenes")),b.$include(v.get("Plot").$$scope.get("Articles")),b.$attr_reader("plot"),function($){var t;$.$$scope,$.$$proto;$.$attr_reader("start_proc"),$.$protected(),e.defn($,"$on_start",t=function(){var e=this,$=t.$$p,r=$||n;return t.$$p=null,e.start_proc=r},t.$$arity=0)}(e.get_singleton_class(b)),e.defn(b,"$initialize",r=function($,t){var r,a,s,o,l=this;if(null==t||!t.$$is_hash){if(null!=t)throw e.ArgumentError.$new("expected kwargs");t=i([],{})}return null==(s=t.$$smap.introduce)&&(s=n),null==(o=t.$$smap.next_cue)&&(o=n),l.plot=$,l.next_cue=o,l.concluded=!1,((r=l.$class().$start_proc()["$nil?"]())===n||null==r||r.$$is_boolean&&1!=r)&&(r=(a=l).$stage,r.$$p=l.$class().$start_proc().$to_proc(),r).call(a),l.$playbook().$freeze(),(r=s["$nil?"]())===n||null==r||r.$$is_boolean&&1!=r?l.$introduce(s):n},r.$$arity=-2),e.defn(b,"$add_entity",s=function(e){return this.p_entities.$push(e)},s.$$arity=1),e.defn(b,"$subplot",o=function(){return this},o.$$arity=0),e.defn(b,"$default_scene",l=function(){return this.$plot().$default_scene()},l.$$arity=0),e.defn(b,"$default_conclusion",u=function(){return this.$plot().$default_conclusion()},u.$$arity=0),e.defn(b,"$playbook",c=function(){var e,$=this;return!1!==(e=$.playbook)&&e!==n&&null!=e?e:$.playbook=v.get("Gamefic").$$scope.get("Plot").$$scope.get("Playbook").$new()},c.$$arity=0),e.defn(b,"$cast",p=function($,t){var r,a,s=this,o=p.$$p,l=n,u=n,c=n;for(null==t&&(t=i([],{})),p.$$p=null,u=[],c=0;c<arguments.length;c++)u[c]=arguments[c];return l=(a=s,r=e.find_super_dispatcher(s,"cast",p,!1),r.$$p=o,r).apply(a,u),((r=l.$playbooks()["$include?"](s.$plot().$playbook()))===n||null==r||r.$$is_boolean&&1!=r)&&l.$playbooks().$push(s.$plot().$playbook()),l},p.$$arity=-2),e.defn(b,"$running?",f=function(){return!0},f.$$arity=0),e.defn(b,"$exeunt",d=function(e){var $,t=this;return e.$playbooks().$delete(t.$playbook()),e.$cue(!1!==($=t.next_cue)&&$!==n&&null!=$?$:t.$default_scene()),t.$p_players().$delete(e)},d.$$arity=1),e.defn(b,"$conclude",_=function(){var e,$,t,r,a,i=this;return i.concluded=!0,(e=($=i.$entities()).$each,e.$$p=(t=function(e){var $=t.$$s||this;return null==e&&(e=n),$.$destroy(e)},t.$$s=i,t.$$arity=1,t),e).call($),(e=(r=i.$players()).$each,e.$$p=(a=function(e){var $=a.$$s||this;return null==e&&(e=n),$.$exeunt(e)},a.$$s=i,a.$$arity=1,a),e).call(r)},_.$$arity=0),e.defn(b,"$concluded?",y=function(){return this.concluded},y.$$arity=0),e.defn(b,"$ready",h=function(){var e,$=this;return(e=$.$players()["$empty?"]())===n||null==e||e.$$is_boolean&&1!=e||$.$conclude(),(e=$["$concluded?"]())===n||null==e||e.$$is_boolean&&1!=e?($.$playbook().$freeze(),$.$call_ready(),$.$call_player_ready()):n},h.$$arity=0),e.defn(b,"$update",m=function(){var e=this;return e.$call_player_update(),e.$call_update()},m.$$arity=0)}(o.base,null)}(t.base)},Opal.modules["gamefic/plot/host"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.module),a=e.hash2;return e.add_stubs(["$require","$clone","$p_subplots","$new","$push","$each","$include?","$players","$subplots","$!","$empty?","$subplots_featuring","$private"]),$.$require("gamefic/subplot"),function($){var t,i=t=r($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($){var t,i,s,o,l,u,c=t=r($,"Host"),p=(c.$$proto,c.$$scope);e.defn(c,"$subplots",i=function(){return this.$p_subplots().$clone()},i.$$arity=0),e.defn(c,"$branch",s=function($,t){var r,i,s,o,l=this,u=n;if(r=e.slice.call(arguments,0,arguments.length),null==(t=e.extract_kwargs(r))||!t.$$is_hash){if(null!=t)throw e.ArgumentError.$new("expected kwargs");t=a([],{})}return null==(i=t.$$smap.introduce)&&(i=n),null==(s=t.$$smap.next_cue)&&(s=n),0<r.length&&(o=r.splice(0,1)[0]),null==o&&(o=p.get("Gamefic").$$scope.get("Subplot")),u=o.$new(l,a(["introduce","next_cue"],{introduce:i,next_cue:s})),l.$p_subplots().$push(u),u},s.$$arity=-1),e.defn(c,"$subplots_featuring",o=function(e){var $,t,r,a=this,i=n;return i=[],($=(t=a.$subplots()).$each,$.$$p=(r=function($){var t;r.$$s;return null==$&&($=n),(t=$.$players()["$include?"](e))===n||null==t||t.$$is_boolean&&1!=t?n:i.$push($)},r.$$s=a,r.$$arity=1,r),$).call(t),i},o.$$arity=1),e.defn(c,"$in_subplot?",l=function(e){return this.$subplots_featuring(e)["$empty?"]()["$!"]()},l.$$arity=1),c.$private(),e.defn(c,"$p_subplots",u=function(){var e,$=this;return null==$.p_subplots&&($.p_subplots=n),!1!==(e=$.p_subplots)&&e!==n&&null!=e?e:$.p_subplots=[]},u.$$arity=0)}(s.get("Plot"))}(t.base)},Opal.modules["gamefic/plot/players"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module);return e.add_stubs(["$clone","$p_players","$private"]),function($){var r,a=r=n($,"Gamefic"),i=(a.$$proto,a.$$scope);!function($){var r,a,i,s=r=n($,"Players");s.$$proto,s.$$scope;e.defn(s,"$players",a=function(){return this.$p_players().$clone()},a.$$arity=0),s.$private(),e.defn(s,"$p_players",i=function(){var e,$=this;return null==$.p_players&&($.p_players=t),!1!==(e=$.p_players)&&e!==t&&null!=e?e:$.p_players=[]},i.$$arity=0)}(i.get("Plot"))}($.base)},Opal.modules["gamefic/plot/playbook"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e>$:e["$>"]($)}function t(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var n=(e.top,e),r=e.nil,a=(e.breaker,e.slice,e.module),i=e.klass,s=e.hash2,o=e.range;return e.add_stubs(["$flatten","$values","$keys","$new","$each","$push","$definitely","$tell","$join_or","$to_proc","$meta=","$[]","$subclass","$raise_order_key","$add_action","$add_syntax","$>","$length","$concat","$dispatch_from_params","$empty?","$dispatch_from_string","$join","$tokenize","$syntaxes","$actions_for","$verb","$hidden?","$attempt","$arguments","$nil?","$unshift","$sort_and_reduce_actions","$valid?","$dup","$freeze","$private","$[]=","$generate_default_syntax","$gsub","$to_s","$include?","$+","$queries","$strip","$==","$raise","$uniq!","$sort!","$token_count","$<=>","$first_word","$uniq","$class","$sort","$rank","$order_key"]),function(n){var l,u=l=a(n,"Gamefic"),c=(u.$$proto,u.$$scope);!function(n,$super){function a(){}var l=a=i(n,$super,"Plot",a),u=(l.$$proto,l.$$scope);(function(n,$super){function a(){}var l,u,c,p,f,d,_,y,h,m,b,g,v,k,w,x,q,j,G,z,S,O,P=a=i(n,$super,"Playbook",a),E=P.$$proto,A=P.$$scope;E.syntaxes=E.commands=E.validators=E.disambiguator=r,e.defn(P,"$initialize",l=function($){var t,n,a,i,o=this;if(null==$||!$.$$is_hash){if(null!=$)throw e.ArgumentError.$new("expected kwargs");$=s([],{})}return null==(t=$.$$smap.commands)&&(t=s([],{})),null==(n=$.$$smap.syntaxes)&&(n=[]),null==(a=$.$$smap.validators)&&(a=[]),null==(i=$.$$smap.disambiguator)&&(i=r),o.commands=t,o.syntaxes=n,o.validators=a,o.disambiguator=i},l.$$arity=-1),e.defn(P,"$syntaxes",u=function(){return this.syntaxes},u.$$arity=0),e.defn(P,"$actions",c=function(){return this.commands.$values().$flatten()},c.$$arity=0),e.defn(P,"$verbs",p=function(){return this.commands.$keys()},p.$$arity=0),e.defn(P,"$validators",f=function(){return this.validators},f.$$arity=0),e.defn(P,"$disambiguator",d=function(){var e,$,t,n,a=this;return!1!==(e=a.disambiguator)&&e!==r&&null!=e?e:a.disambiguator=($=(t=A.get("Action")).$new,$.$$p=(n=function(e,$){var t,a,i,s=n.$$s||this,o=r;return null==e&&(e=r),null==$&&($=r),o=[],(t=(a=$).$each,t.$$p=(i=function(e){i.$$s;return null==e&&(e=r),o.$push(e.$definitely())},i.$$s=s,i.$$arity=1,i),t).call(a),e.$tell("I don't know which you mean: "+o.$join_or()+".")},n.$$s=a,n.$$arity=2,n),$).call(t,r,A.get("Query").$$scope.get("Base").$new())},d.$$arity=0),e.defn(P,"$disambiguate",_=function(){var e,$,t,n=this,a=_.$$p,i=a||r;return _.$$p=null,n.disambiguator=(e=($=A.get("Action")).$new,e.$$p=i.$to_proc(),e).call($,r,A.get("Query").$$scope.get("Base").$new()),e=[!0],t=n.disambiguator,t["$meta="].apply(t,e),e[e.length-1],n.disambiguator},_.$$arity=0),e.defn(P,"$validate",y=function(){var e=this,$=y.$$p,t=$||r;return y.$$p=null,e.validators.$push(t)},y.$$arity=0),e.defn(P,"$actions_for",h=function(e){var $;return!1!==($=this.commands["$[]"](e))&&$!==r&&null!=$?$:[]},h.$$arity=1),e.defn(P,"$respond",m=function($){var t,n,a,i=this,o=m.$$p,l=o||r,u=r,c=arguments.length,p=c-1;p<0&&(p=0),a=new Array(p);for(var f=1;f<c;f++)a[f-1]=arguments[f];return m.$$p=null,u=(t=(n=A.get("Action")).$subclass,t.$$p=l.$to_proc(),t).apply(n,[$].concat(e.to_a(a)).concat(s(["order_key"],{order_key:i.$raise_order_key()}))),i.$add_action(u),u},m.$$arity=-2),e.defn(P,"$meta",b=function($){var t,n,a,i=this,o=b.$$p,l=o||r,u=r,c=arguments.length,p=c-1;p<0&&(p=0),a=new Array(p);for(var f=1;f<c;f++)a[f-1]=arguments[f];return b.$$p=null,u=(t=(n=A.get("Action")).$subclass,t.$$p=l.$to_proc(),t).apply(n,[$].concat(e.to_a(a)).concat(s(["meta"],{meta:!0}))),i.$add_action(u),u},b.$$arity=-2),e.defn(P,"$interpret",g=function(e,$){var t=this,n=r;return n=A.get("Syntax").$new(e,$),t.$add_syntax(n),n},g.$$arity=2),e.defn(P,"$dispatch",v=function(e){var t,n,a=this,i=r,s=arguments.length,l=s-1;l<0&&(l=0),n=new Array(l);for(var u=1;u<s;u++)n[u-1]=arguments[u];return i=[],(t=$(n.$length(),1))===r||null==t||t.$$is_boolean&&1!=t||i.$concat(a.$dispatch_from_params(e,n["$[]"](0),n["$[]"](o(1,-1,!1)))),(t=i["$empty?"]())===r||null==t||t.$$is_boolean&&1!=t||i.$concat(a.$dispatch_from_string(e,n.$join(" "))),i},v.$$arity=-2),e.defn(P,"$dispatch_from_string",k=function(e,$){var t,n,a,i=this,s=r,o=r;return s=[],o=A.get("Syntax").$tokenize($,i.$syntaxes()),(t=(n=o).$each,t.$$p=(a=function($){var t,n,i,o=a.$$s||this,l=r;return null==$&&($=r),l=o.$actions_for($.$verb()),(t=(n=l).$each,t.$$p=(i=function(t){var n,a=(i.$$s,r);return null==t&&(t=r),(n=t["$hidden?"]())===r||null==n||n.$$is_boolean&&1!=n?(a=t.$attempt(e,$.$arguments()),(n=a["$nil?"]())===r||null==n||n.$$is_boolean&&1!=n?s.$unshift(a):r):r},i.$$s=o,i.$$arity=1,i),t).call(n)},a.$$s=i,a.$$arity=1,a),t).call(n),i.$sort_and_reduce_actions(s)},k.$$arity=2),e.defn(P,"$dispatch_from_params",w=function(e,$,t){var n,a,i,s=this,o=r,l=r;return o=[],l=s.$actions_for($),(n=(a=l).$each,n.$$p=(i=function($){var n;i.$$s;return null==$&&($=r),(n=$["$valid?"](e,t))===r||null==n||n.$$is_boolean&&1!=n?r:o.$unshift($.$new(e,t))},i.$$s=s,i.$$arity=1,i),n).call(a),s.$sort_and_reduce_actions(o)},w.$$arity=3),e.defn(P,"$dup",x=function(){var e=this;return A.get("Playbook").$new(s(["commands","syntaxes"],{commands:e.commands.$dup(),syntaxes:e.syntaxes.$dup()}))},x.$$arity=0),e.defn(P,"$freeze",q=function(){var e=this;return e.commands.$freeze(),e.syntaxes.$freeze()},q.$$arity=0),P.$private(),e.defn(P,"$add_action",j=function(e){var $,t,n,a=this;return $=e.$verb(),t=a.commands,!1!==(n=t["$[]"]($))&&n!==r&&null!=n||t["$[]="]($,[]),a.commands["$[]"](e.$verb()).$push(e),a.$generate_default_syntax(e)},j.$$arity=1),e.defn(P,"$generate_default_syntax",G=function(e){var $,n,a,i=this,s=r,o=r,l=r;return s=e.$verb().$to_s().$gsub(/_/," "),o=[],l=[],($=(n=e.$queries()).$each,$.$$p=(a=function(e){var $,n=(a.$$s,r),i=r;for(null==e&&(e=r),n=1,i=":var";($=l["$include?"](i))!==r&&null!=$&&(!$.$$is_boolean||1==$);)n=t(n,1),i=":var"+n;return l.$push(i),s=t(s," "+i),o.$push(i)},a.$$s=i,a.$$arity=1,a),$).call(n),i.$add_syntax(A.get("Syntax").$new(s.$strip(),e.$verb()+" "+o.$join(" ")))},G.$$arity=1),e.defn(P,"$add_syntax",z=function(e){var $,t,n,a=this;return a.commands["$[]"](e.$verb())["$=="](r)&&a.$raise('No actions exist for "'+e.$verb()+'"'),a.syntaxes.$unshift(e),a.syntaxes["$uniq!"](),($=(t=a.syntaxes)["$sort!"],$.$$p=(n=function(e,$){n.$$s;return null==e&&(e=r),null==$&&($=r),e.$token_count()["$=="]($.$token_count())?$.$first_word()["$<=>"](e.$first_word()):$.$token_count()["$<=>"](e.$token_count())},n.$$s=a,n.$$arity=2,n),$).call(t)},z.$$arity=1),e.defn(P,"$sort_and_reduce_actions",S=function(e){var $,t,n,a,i,s,o=this;return($=(t=(a=(i=e).$sort,a.$$p=(s=function(e,$){s.$$s;return null==e&&(e=r),null==$&&($=r),e.$rank()["$=="]($.$rank())?$.$order_key()["$<=>"](e.$order_key()):$.$rank()["$<=>"](e.$rank())},s.$$s=o,s.$$arity=2,s),a).call(i)).$uniq,$.$$p=(n=function(e){n.$$s;return null==e&&(e=r),e.$class()},n.$$s=o,n.$$arity=1,n),$).call(t)},S.$$arity=1),e.defn(P,"$raise_order_key",O=function(){var $,n,a=r;return!1!==($=null==(n=e.cvars["@@order_key"])?r:n)&&$!==r&&null!=$||(e.cvars["@@order_key"]=0),a=null==($=e.cvars["@@order_key"])?r:$,e.cvars["@@order_key"]=t(null==($=e.cvars["@@order_key"])?r:$,1),a},O.$$arity=0)})(u.base,null)}(c.base,null)}(n.base)},Opal.modules["gamefic/plot/callbacks"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module);return e.add_stubs(["$push","$p_ready_procs","$p_update_procs","$p_player_ready_procs","$p_before_player_update_procs","$p_player_update_procs","$private","$each","$call","$flush","$p_players","$nil?","$next_scene","$cue","$scene","$default_scene"]),function($){var r,a=r=n($,"Gamefic"),i=(a.$$proto,a.$$scope);!function($){var r,a,i,s,o,l,u,c,p,f,d,_,y,h,m,b,g=r=n($,"Callbacks");g.$$proto,g.$$scope;e.defn(g,"$on_ready",a=function(){var e=this,$=a.$$p,n=$||t;return a.$$p=null,e.$p_ready_procs().$push(n)},a.$$arity=0),e.defn(g,"$on_update",i=function(){var e=this,$=i.$$p,n=$||t;return i.$$p=null,e.$p_update_procs().$push(n)},i.$$arity=0),e.defn(g,"$on_player_ready",s=function(){var e=this,$=s.$$p,n=$||t;return s.$$p=null,e.$p_player_ready_procs().$push(n)},s.$$arity=0),e.defn(g,"$before_player_update",o=function(){var e=this,$=o.$$p,n=$||t;return o.$$p=null,e.$p_before_player_update_procs().$push(n)},o.$$arity=0),e.defn(g,"$on_player_update",l=function(){var e=this,$=l.$$p,n=$||t;return l.$$p=null,e.$p_player_update_procs().$push(n)},l.$$arity=0),g.$private(),e.defn(g,"$call_ready",u=function(){var e,$,n,r=this;return(e=($=r.$p_ready_procs()).$each,e.$$p=(n=function(e){n.$$s;return null==e&&(e=t),e.$call()},n.$$s=r,n.$$arity=1,n),e).call($)},u.$$arity=0),e.defn(g,"$call_update",c=function(){var e,$,n,r=this;return(e=($=r.$p_update_procs()).$each,e.$$p=(n=function(e){n.$$s;return null==e&&(e=t),e.$call()},n.$$s=r,n.$$arity=1,n),e).call($)},c.$$arity=0),e.defn(g,"$call_before_player_update",p=function(){var e,$,n,r=this;return(e=($=r.$p_players()).$each,e.$$p=(n=function(e){var $,r,a,i=n.$$s||this;return null==e&&(e=t),e.$flush(),($=(r=i.$p_before_player_update_procs()).$each,$.$$p=(a=function($){a.$$s;return null==$&&($=t),$.$call(e)},a.$$s=i,a.$$arity=1,a),$).call(r)},n.$$s=r,n.$$arity=1,n),e).call($)},p.$$arity=0),e.defn(g,"$call_player_ready",f=function(){var e,$,n,r=this;return(e=($=r.$p_players()).$each,e.$$p=(n=function(e){var $,r,a,i=n.$$s||this;return null==e&&(e=t),(($=e.$next_scene()["$nil?"]())===t||null==$||$.$$is_boolean&&1!=$)&&e.$cue(e.$next_scene()),($=e.$scene()["$nil?"]())===t||null==$||$.$$is_boolean&&1!=$||e.$cue(i.$default_scene()),($=(r=i.$p_player_ready_procs()).$each,$.$$p=(a=function($){a.$$s;return null==$&&($=t),$.$call(e)},a.$$s=i,a.$$arity=1,a),$).call(r)},n.$$s=r,n.$$arity=1,n),e).call($)},f.$$arity=0),e.defn(g,"$call_player_update",d=function(){var e,$,n,r=this;return(e=($=r.$p_players()).$each,e.$$p=(n=function(e){var $,r,a,i=n.$$s||this;return null==e&&(e=t),($=(r=i.$p_player_update_procs()).$each,$.$$p=(a=function($){a.$$s;return null==$&&($=t),$.$call(e)},a.$$s=i,a.$$arity=1,a),$).call(r)},n.$$s=r,n.$$arity=1,n),e).call($)},d.$$arity=0),e.defn(g,"$p_ready_procs",_=function(){var e,$=this;return null==$.p_ready_procs&&($.p_ready_procs=t),!1!==(e=$.p_ready_procs)&&e!==t&&null!=e?e:$.p_ready_procs=[]},_.$$arity=0),e.defn(g,"$p_update_procs",y=function(){var e,$=this;return null==$.p_update_procs&&($.p_update_procs=t),!1!==(e=$.p_update_procs)&&e!==t&&null!=e?e:$.p_update_procs=[]},y.$$arity=0),e.defn(g,"$p_before_player_update_procs",h=function(){var e,$=this;return null==$.p_before_player_update_procs&&($.p_before_player_update_procs=t),!1!==(e=$.p_before_player_update_procs)&&e!==t&&null!=e?e:$.p_before_player_update_procs=[]},h.$$arity=0),e.defn(g,"$p_player_ready_procs",m=function(){var e,$=this;return null==$.p_player_ready_procs&&($.p_player_ready_procs=t),!1!==(e=$.p_player_ready_procs)&&e!==t&&null!=e?e:$.p_player_ready_procs=[]},m.$$arity=0),e.defn(g,"$p_player_update_procs",b=function(){var e,$=this | |
| ;return null==$.p_player_update_procs&&($.p_player_update_procs=t),!1!==(e=$.p_player_update_procs)&&e!==t&&null!=e?e:$.p_player_update_procs=[]},b.$$arity=0)}(i.get("Plot"))}($.base)},Opal.modules["gamefic/plot/theater"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module);return e.add_stubs(["$nil?","$module_eval","$theater","$module_exec","$to_proc","$new","$define_singleton_method","$public_send","$raise","$class_exec","$include"]),function($){var r,a=r=n($,"Gamefic"),i=(a.$$proto,a.$$scope);!function($){var r,a,i,s=r=n($,"Theater"),o=(s.$$proto,s.$$scope);e.defn(s,"$stage",a=function(){var $,n,r,i,s=this,o=a.$$p,l=o||t,u=arguments.length,c=u-0;c<0&&(c=0),i=new Array(c);for(var p=0;p<u;p++)i[p-0]=arguments[p];return a.$$p=null,($=l["$nil?"]())===t||null==$||$.$$is_boolean&&1!=$?(n=(r=s.$theater()).$module_exec,n.$$p=l.$to_proc(),n).apply(r,e.to_a(i)):($=s.$theater()).$module_eval.apply($,e.to_a(i))},a.$$arity=-1),e.defn(s,"$theater",i=function(){var $,n,r,a,i,s=this,l=t;return null==s.theater&&(s.theater=t),($=s.theater["$nil?"]())===t||null==$||$.$$is_boolean&&1!=$?s.theater:(l=s,s.theater=($=(n=o.get("Module")).$new,$.$$p=(r=function(){var $,n,a,i,s,u,c,p=r.$$s||this;return($=(n=p).$define_singleton_method,$.$$p=(a=function($){var n,r,i,s;a.$$s;n=a.$$p||t,a.$$p=null;var o=arguments.length,u=o-1;u<0&&(u=0),r=new Array(u);for(var c=1;c<o;c++)r[c-1]=arguments[c];return null==$&&($=t),(i=(s=l).$public_send,i.$$p=n.$to_proc(),i).apply(s,["public_send",$].concat(e.to_a(r)))},a.$$s=p,a.$$arity=-2,a),$).call(n,"method_missing"),($=(i=p).$define_singleton_method,$.$$p=(s=function(){var e,$=s.$$s||this,t=arguments.length,n=t-0;n<0&&(n=0),e=new Array(n);for(var r=0;r<t;r++)e[r-0]=arguments[r];return $.$raise(o.get("NoMethodError").$new("The stage method is not available from inside staged scripts"))},s.$$s=p,s.$$arity=-1,s),$).call(i,"stage"),($=(u=p).$define_singleton_method,$.$$p=(c=function(){c.$$s;return"[Theater]"},c.$$s=p,c.$$arity=0,c),$).call(u,"to_s")},r.$$s=s,r.$$arity=0,r),$).call(n),($=(a=o.get("Object")).$class_exec,$.$$p=(i=function(e){var $=i.$$s||this;return null==e&&(e=t),$.$include(e)},i.$$s=s,i.$$arity=1,i),$).call(a,s.theater),s.theater)},i.$$arity=0)}(i.get("Plot"))}($.base)},Opal.modules["gamefic/plot"]=function(e){var $=e.top,t=e,n=e.nil,r=(e.breaker,e.slice,e.module),a=e.klass,i=e.hash2;return e.add_stubs(["$require","$autoload","$attr_reader","$attr_accessor","$include","$new","$post_initialize","$nil?","$syntaxes","$playbook","$freeze","$initial_state","$call_ready","$call_player_ready","$each","$ready","$p_subplots","$flush","$entities","$call_before_player_update","$performed","$update","$scene","$p_players","$p_entities","$call_player_update","$call_update","$concluded?","$delete_if","$tell","$export","$source","$raise","$!","$include?","$imported_scripts","$push","$kind_of?","$read","$stage","$to_proc","$absolute_path","$pop"]),$.$require("gamefic/source"),$.$require("gamefic/script"),$.$require("gamefic/query"),function($){var t,s=t=r($,"Gamefic"),o=(s.$$proto,s.$$scope);!function($,$super){function t(){}var r,s,o,l,u,c,p,f,d,_,y,h=t=a($,$super,"Plot",t),m=h.$$proto,b=h.$$scope;m.player_class=m.playbook=m.running=m.imported_scripts=m.working_scripts=n,h.$autoload("Scenes","gamefic/plot/scenes"),h.$autoload("Commands","gamefic/plot/commands"),h.$autoload("Entities","gamefic/plot/entities"),h.$autoload("Articles","gamefic/plot/articles"),h.$autoload("YouMount","gamefic/plot/you_mount"),h.$autoload("Snapshot","gamefic/plot/snapshot"),h.$autoload("Darkroom","gamefic/plot/darkroom"),h.$autoload("Host","gamefic/plot/host"),h.$autoload("Players","gamefic/plot/players"),h.$autoload("Playbook","gamefic/plot/playbook"),h.$autoload("Callbacks","gamefic/plot/callbacks"),h.$autoload("Theater","gamefic/plot/theater"),h.$attr_reader("commands","imported_scripts","source"),h.$attr_accessor("metadata"),h.$include(b.get("Theater")),h.$include(b.get("Gamefic"),b.get("Players"),b.get("Scenes"),b.get("Commands"),b.get("Entities")),h.$include(b.get("Articles"),b.get("YouMount"),b.get("Snapshot"),b.get("Host"),b.get("Callbacks")),e.defn(h,"$initialize",r=function(e){var $,t=this;return null==e&&(e=n),t.source=!1!==($=e)&&$!==n&&null!=$?$:b.get("Source").$$scope.get("Text").$new(i([],{})),t.working_scripts=[],t.imported_scripts=[],t.running=!1,t.$post_initialize()},r.$$arity=-1),e.defn(h,"$player_class",s=function(e){var $,t=this;return null==e&&(e=n),(($=e["$nil?"]())===n||null==$||$.$$is_boolean&&1!=$)&&(t.player_class=e),t.player_class},s.$$arity=-1),e.defn(h,"$playbook",o=function(){var e,$=this;return!1!==(e=$.playbook)&&e!==n&&null!=e?e:$.playbook=b.get("Gamefic").$$scope.get("Plot").$$scope.get("Playbook").$new()},o.$$arity=0),e.defn(h,"$running?",l=function(){return this.running},l.$$arity=0),e.defn(h,"$imported_scripts",u=function(){var e,$=this;return!1!==(e=$.imported_scripts)&&e!==n&&null!=e?e:$.imported_scripts=[]},u.$$arity=0),e.defn(h,"$post_initialize",c=function(){return n},c.$$arity=0),e.defn(h,"$syntaxes",p=function(){return this.$playbook().$syntaxes()},p.$$arity=0),e.defn(h,"$ready",f=function(){var e,$,t,r=this;return r.$playbook().$freeze(),r.running=!0,r.$initial_state(),r.$call_ready(),r.$call_player_ready(),(e=($=r.$p_subplots()).$each,e.$$p=(t=function(e){t.$$s;return null==e&&(e=n),e.$ready()},t.$$s=r,t.$$arity=1,t),e).call($)},f.$$arity=0),e.defn(h,"$update",d=function(){var e,$,t,r,a,i,s,o,l,u,c,p=this;return(e=($=p.$entities()).$each,e.$$p=(t=function(e){t.$$s;return null==e&&(e=n),e.$flush()},t.$$s=p,t.$$arity=1,t),e).call($),p.$call_before_player_update(),(e=(r=p.$p_players()).$each,e.$$p=(a=function(e){a.$$s;return null==e&&(e=n),e.$performed(n),e.$scene().$update()},a.$$s=p,a.$$arity=1,a),e).call(r),(e=(i=p.$p_entities()).$each,e.$$p=(s=function(e){s.$$s;return null==e&&(e=n),e.$update()},s.$$s=p,s.$$arity=1,s),e).call(i),p.$call_player_update(),p.$call_update(),(e=(o=p.$p_subplots()).$each,e.$$p=(l=function(e){var $;l.$$s;return null==e&&(e=n),($=e["$concluded?"]())===n||null==$||$.$$is_boolean&&1!=$?e.$update():n},l.$$s=p,l.$$arity=1,l),e).call(o),(e=(u=p.$p_subplots()).$delete_if,e.$$p=(c=function(e){c.$$s;return null==e&&(e=n),e["$concluded?"]()},c.$$s=p,c.$$arity=1,c),e).call(u)},d.$$arity=0),e.defn(h,"$tell",_=function(e,$){var t,r,a,i=this;return(t=(r=e).$each,t.$$p=(a=function(e){a.$$s;return null==e&&(e=n),e.$tell($)},a.$$s=i,a.$$arity=1,a),t).call(r)},_.$$arity=2),e.defn(h,"$script",y=function(e){var $,t,r=this,a=n;return a=r.$source().$export(e),($=a["$nil?"]())===n||null==$||$.$$is_boolean&&1!=$||r.$raise(b.get("LoadError").$new("cannot load script -- "+e)),t=r.working_scripts["$include?"](a)["$!"](),!(($=!1!==t&&t!==n&&null!=t?r.$imported_scripts()["$include?"](a)["$!"]():t)===n||null==$||$.$$is_boolean&&1!=$)&&(r.working_scripts.$push(a),($=a.$read()["$kind_of?"](b.get("Proc")))===n||null==$||$.$$is_boolean&&1!=$?r.$stage(a.$read(),a.$absolute_path()):($=(t=r).$stage,$.$$p=a.$read().$to_proc(),$).call(t),r.working_scripts.$pop(),r.$imported_scripts().$push(a),!0)},y.$$arity=1)}(o.base,null)}(t.base)},Opal.modules["gamefic/engine/base"]=function(e){function $(e,$){return"number"==typeof e&&"number"==typeof $?e+$:e["$+"]($)}var t=(e.top,e),n=e.nil,r=(e.breaker,e.slice,e.module),a=e.klass,i=e.hash2;return e.add_stubs(["$attr_writer","$attr_reader","$post_initialize","$nil?","$player_class","$raise","$make","$new","$user_class","$connect","$introduce","$character","$concluded?","$turn","$update","$ready","$empty?","$queue","$receive","$print","$+","$prompt","$scene","$gets","$push"]),function(t){var s,o=s=r(t,"Gamefic"),l=(o.$$proto,o.$$scope);!function(t,$super){function r(){}var s,o,l,u,c,p,f,d=r=a(t,$super,"Base",r),_=d.$$proto,y=d.$$scope;_.user_class=_.plot=_.user=n,d.$attr_writer("user_class"),d.$attr_reader("plot"),e.defn(d,"$initialize",s=function(e){var $=this;return $.plot=e,$.$post_initialize()},s.$$arity=1),e.defn(d,"$post_initialize",o=function(){return n},o.$$arity=0),e.defn(d,"$user_class",l=function(){var e,$=this;return!1!==(e=$.user_class)&&e!==n&&null!=e?e:$.user_class=y.get("Gamefic").$$scope.get("User").$$scope.get("Base")},l.$$arity=0),e.defn(d,"$connect",u=function(){var e,$=this,t=n;return(e=$.plot.$player_class()["$nil?"]())===n||null==e||e.$$is_boolean&&1!=e||$.$raise("Plot did not specify a player class"),t=$.plot.$make($.plot.$player_class(),i(["name","synonyms","proper_named"],{name:"yourself",synonyms:"self myself you me",proper_named:!0})),$.user=$.$user_class().$new($),$.user.$connect(t),t.$connect($.user)},u.$$arity=0),e.defn(d,"$run",c=function(){var e,$=this;for($.$connect(),$.plot.$introduce($.user.$character());(e=$.user.$character()["$concluded?"]())===n||null==e||e.$$is_boolean&&1!=e;)$.$turn();return $.user.$update()},c.$$arity=0),e.defn(d,"$turn",p=function(){var e,$=this;return $.plot.$ready(),$.user.$update(),(e=$.user.$character().$queue()["$empty?"]())===n||null==e||e.$$is_boolean&&1!=e||$.$receive(),$.plot.$update()},p.$$arity=0),e.defn(d,"$receive",f=function(){var e,t=this,r=n;return t.$print($(t.user.$character().$scene().$prompt()," ")),r=y.get("STDIN").$gets(),(e=r["$nil?"]())===n||null==e||e.$$is_boolean&&1!=e?t.user.$character().$queue().$push(r):n},f.$$arity=0)}(l.get("Engine"),null)}(t.base)},Opal.modules["gamefic/engine"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module);return e.add_stubs(["$autoload"]),function(e){var $,n=$=t(e,"Gamefic"),r=(n.$$proto,n.$$scope);!function(e){var $,n=$=t(e,"Engine");n.$$proto,n.$$scope;n.$autoload("Base","gamefic/engine/base")}(r.base)}($.base)},Opal.modules["gamefic/user/base"]=function(e){var $=(e.top,e),t=e.nil,n=(e.breaker,e.slice,e.module),r=e.klass;return e.add_stubs(["$attr_reader","$kind_of?","$raise","$new"]),function($){var a,i=a=n($,"Gamefic"),s=(i.$$proto,i.$$scope);!function($,$super){function n(){}var a,i,s,o,l,u=n=r($,$super,"Base",n),c=(u.$$proto,u.$$scope);u.$attr_reader("character"),u.$attr_reader("engine"),e.defn(u,"$initialize",a=function(e){return this.engine=e},a.$$arity=1),e.defn(u,"$connect",i=function(e){var $,n=this;return(($=e["$kind_of?"](c.get("Gamefic").$$scope.get("Active")))===t||null==$||$.$$is_boolean&&1!=$)&&n.$raise(c.get("TypeError").$new("Entities connected to users must be Active")),n.character=e},i.$$arity=1),e.defn(u,"$update",s=function(){return this.$raise("Unimplemented")},s.$$arity=1),e.defn(u,"$save",o=function(){return this.$raise("Unimplemented")},o.$$arity=2),e.defn(u,"$restore",l=function(){return this.$raise("Unimplemented")},l.$$arity=1)}(s.get("User"),null)}($.base)},Opal.modules["gamefic/user"]=function(e){var $=(e.top,e),t=(e.nil,e.breaker,e.slice,e.module);return e.add_stubs(["$autoload"]),function(e){var $,n=$=t(e,"Gamefic"),r=(n.$$proto,n.$$scope);!function(e){var $,n=$=t(e,"User");n.$$proto,n.$$scope;n.$autoload("Base","gamefic/user/base")}(r.base)}($.base)},function(e){var $=e.top;e.nil,e.breaker,e.slice;e.add_stubs(["$require"]),$.$require("gamefic/version"),$.$require("gamefic/matchable"),$.$require("gamefic/core_ext/array"),$.$require("gamefic/core_ext/string"),$.$require("gamefic/grammar"),$.$require("gamefic/describable"),$.$require("gamefic/element"),$.$require("gamefic/entity"),$.$require("gamefic/active"),$.$require("gamefic/actor"),$.$require("gamefic/scene"),$.$require("gamefic/query"),$.$require("gamefic/action"),$.$require("gamefic/syntax"),$.$require("gamefic/plot"),$.$require("gamefic/subplot"),$.$require("gamefic/engine"),$.$require("gamefic/user")}(Opal); |
Xet Storage Details
- Size:
- 142 kB
- Xet hash:
- 4cfb0143d2d585b55be74a9e366e95f576b580fda49fb8bea16250c5441b1a21
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.