Comparing version 0.4.3 to 1.0.0-1
@@ -0,1 +1,34 @@ | ||
###v1.0.0-1 (pre-release) | ||
* Added the `BehavioralFsm` constructor function/prototype. | ||
* Refactored the `Fsm` constructor to extend `BehavioralFsm`. | ||
* Hierarchical FSM trees are now possible. Child FSMs can be placed on the `_child` property of a state object (the instance directly, or a factory method that returns the child FSM instance). | ||
* Added the `_reset` input. This is optionally handled by any child FSM when the parent's `_onEnter` action has completed execution. (Provides a way for the child FSM to reset, effectively). | ||
* Converted all tests to use should.js (instead of expect.js). | ||
* Added istanbul code coverage. | ||
* Removed the internal `deepExtend` function in favor of using lodash's `merge` method. | ||
* The following instance properties were re-named on `Fsm` instances: | ||
* `_priorAction` is now `priorAction`. | ||
* `_currentAction` is now `currentAction`. | ||
* `eventQueue` is now `inputQueue`. | ||
* The `trigger` alias to the `emit` method has been removed. | ||
* The `deferUntilNextHandler` method on the `Fsm.prototype` has been removed. | ||
* The `machina.utils.getDefaultOptions` only returns the following properties by default: | ||
* `initialState` | ||
* `eventListeners` | ||
* `states` | ||
* `namespace` | ||
* `useSafeEmit` | ||
* `hierarchy` | ||
* `pendingDelegations` | ||
* Added `machina.utils.getDefaultClientMeta`, which returns the following properties: | ||
* `inputQueue` | ||
* `targetReplayState` | ||
* `state:` | ||
* `priorState` | ||
* `priorAction` | ||
* `currentAction` | ||
* `currentActionArgs` | ||
* `inExitHandler` | ||
* Added `deferAndTransition` to the `BehavioralFsm` prototype. | ||
###v0.4.3 | ||
@@ -2,0 +35,0 @@ * Apparently I fail at component.json spec-fulness. Removing `~` prefix on version number in component.json. |
@@ -1,1 +0,1 @@ | ||
{"/Users/Jim/git/oss/machina/lib/machina.js":{"path":"/Users/Jim/git/oss/machina/lib/machina.js","s":{"1":1,"2":1,"3":0,"4":0,"5":1,"6":1,"7":0,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":264,"19":1,"20":235,"21":1,"22":2853,"23":2853,"24":5283,"25":2853,"26":1,"27":16,"28":0,"29":16,"30":16,"31":14,"32":2,"33":12,"34":14,"35":2,"36":2,"37":16,"38":16,"39":1,"40":16,"41":161,"42":20,"43":20,"44":20,"45":20,"46":20,"47":32,"48":32,"49":6,"50":32,"51":32,"52":109,"53":109,"54":1,"55":1,"56":349,"57":349,"58":349,"59":349,"60":349,"61":1,"62":348,"63":336,"64":336,"65":336,"66":336,"67":336,"68":336,"69":336,"70":336,"71":349,"72":349,"73":349,"74":349,"75":349,"76":349,"77":557,"78":360,"79":349,"80":6,"81":349,"82":349,"83":349,"84":1,"85":6,"86":6,"87":6,"88":216,"89":6,"90":6,"91":6,"92":6,"93":1,"94":1,"95":1,"96":264,"97":1,"98":1615,"99":1615,"100":1320,"101":984,"102":977,"103":7,"104":7,"105":2,"106":2,"107":1614,"108":81,"109":76,"110":62,"111":14,"112":14,"113":9,"114":9,"115":224,"116":224,"117":224,"118":82,"119":224,"120":224,"121":14,"122":38,"123":38,"124":8,"125":30,"126":26,"127":4,"128":1,"129":1,"130":264,"131":264,"132":264,"133":264,"134":1,"135":116,"136":116,"137":4,"138":112,"139":4,"140":108,"141":631,"142":12,"143":619,"144":619,"145":116,"146":116,"147":611,"148":400,"149":396,"150":4,"151":55,"152":55,"153":55,"154":55,"155":55,"156":331,"157":331,"158":331,"159":331,"160":331,"161":263,"162":331,"163":311,"164":311,"165":243,"166":311,"167":311,"168":311,"169":311,"170":311,"171":311,"172":311,"173":311,"174":311,"175":311,"176":6,"177":6,"178":6,"179":6,"180":305,"181":0,"182":305,"183":305,"184":305,"185":305,"186":305,"187":305,"188":305,"189":58,"190":247,"191":247,"192":98,"193":149,"194":149,"195":239,"196":297,"197":297,"198":303,"199":406,"200":406,"201":406,"202":406,"203":406,"204":406,"205":406,"206":406,"207":398,"208":16,"209":16,"210":398,"211":20,"212":20,"213":20,"214":398,"215":6,"216":398,"217":398,"218":398,"219":398,"220":16,"221":398,"222":398,"223":398,"224":176,"225":390,"226":16,"227":390,"228":390,"229":390,"230":8,"231":54,"232":54,"233":54,"234":54,"235":54,"236":54,"237":390,"238":390,"239":30,"240":390,"241":390,"242":390,"243":30,"244":16,"245":16,"246":8,"247":8,"248":16,"249":8,"250":1,"251":1,"252":121,"253":119,"254":119,"255":119,"256":4,"257":115,"258":4,"259":111,"260":685,"261":119,"262":119,"263":119,"264":677,"265":927,"266":927,"267":21,"268":906,"269":272,"270":927,"271":43,"272":43,"273":43,"274":0,"275":43,"276":361,"277":361,"278":361,"279":361,"280":0,"281":143,"282":143,"283":198,"284":198,"285":27,"286":27,"287":190,"288":190,"289":8,"290":8,"291":1,"292":1},"b":{"1":[0,1],"2":[1,0],"3":[1,0],"4":[1,1],"5":[2853,2853],"6":[0,16],"7":[14,2],"8":[2,12],"9":[2,0],"10":[20,32,109],"11":[20,0],"12":[20,20,20],"13":[20,0],"14":[6,26],"15":[32,6],"16":[1,348],"17":[349,349],"18":[336,168],"19":[336,168],"20":[336,324],"21":[349,0],"22":[360,197],"23":[6,343],"24":[1320,295],"25":[977,7],"26":[2,0],"27":[2,2],"28":[81,1533],"29":[62,14],"30":[9,0],"31":[9,9],"32":[224,0],"33":[82,142],"34":[38,0],"35":[8,30],"36":[26,4],"37":[4,112],"38":[4,108],"39":[12,619],"40":[619,109],"41":[116,503],"42":[396,4],"43":[4,0],"44":[55,0],"45":[15,40],"46":[263,68],"47":[243,68],"48":[311,0],"49":[311,26],"50":[6,305],"51":[311,26,26],"52":[6,6],"53":[0,305],"54":[305,14],"55":[225,80],"56":[305,58,58],"57":[58,247],"58":[98,149],"59":[406,0],"60":[406,406],"61":[398,8],"62":[16,382],"63":[16,16],"64":[20,378],"65":[398,179],"66":[6,392],"67":[398,179,6,6],"68":[16,382],"69":[176,222],"70":[16,374],"71":[390,0],"72":[54,0],"73":[30,8],"74":[8,8],"75":[16,0],"76":[4,115],"77":[4,111],"78":[119,566],"79":[21,906],"80":[927,659,655],"81":[272,634],"82":[906,638,638],"83":[0,43],"84":[7,36],"85":[361,0],"86":[0,0]},"f":{"1":1,"2":0,"3":1,"4":264,"5":235,"6":2853,"7":16,"8":14,"9":16,"10":161,"11":349,"12":349,"13":336,"14":557,"15":6,"16":1,"17":264,"18":1615,"19":984,"20":76,"21":224,"22":14,"23":38,"24":264,"25":256,"26":116,"27":631,"28":400,"29":55,"30":331,"31":406,"32":54,"33":390,"34":30,"35":30,"36":16,"37":16,"38":121,"39":119,"40":685,"41":927,"42":43,"43":361,"44":143,"45":198,"46":27,"47":190,"48":8},"fnMap":{"1":{"name":"(anonymous_1)","line":9,"loc":{"start":{"line":9,"column":1},"end":{"line":9,"column":26}}},"2":{"name":"(anonymous_2)","line":12,"loc":{"start":{"line":12,"column":27},"end":{"line":12,"column":40}},"skip":true},"3":{"name":"(anonymous_3)","line":22,"loc":{"start":{"line":22,"column":8},"end":{"line":22,"column":40}}},"4":{"name":"getDefaultBehavioralOptions","line":33,"loc":{"start":{"line":33,"column":4},"end":{"line":33,"column":43}}},"5":{"name":"getDefaultClientMeta","line":47,"loc":{"start":{"line":47,"column":4},"end":{"line":47,"column":36}}},"6":{"name":"getLeaklessArgs","line":60,"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":45}}},"7":{"name":"getChildFsmInstance","line":68,"loc":{"start":{"line":68,"column":4},"end":{"line":68,"column":41}}},"8":{"name":"(anonymous_8)","line":79,"loc":{"start":{"line":79,"column":45},"end":{"line":79,"column":57}}},"9":{"name":"listenToChild","line":90,"loc":{"start":{"line":90,"column":4},"end":{"line":90,"column":39}}},"10":{"name":"(anonymous_10)","line":91,"loc":{"start":{"line":91,"column":29},"end":{"line":91,"column":56}}},"11":{"name":"(anonymous_11)","line":121,"loc":{"start":{"line":121,"column":17},"end":{"line":121,"column":52}}},"12":{"name":"(anonymous_12)","line":125,"loc":{"start":{"line":125,"column":19},"end":{"line":125,"column":31}}},"13":{"name":"(anonymous_13)","line":137,"loc":{"start":{"line":137,"column":18},"end":{"line":137,"column":30}}},"14":{"name":"(anonymous_14)","line":163,"loc":{"start":{"line":163,"column":53},"end":{"line":163,"column":80}}},"15":{"name":"createUUID","line":183,"loc":{"start":{"line":183,"column":4},"end":{"line":183,"column":26}}},"16":{"name":"(anonymous_16)","line":196,"loc":{"start":{"line":196,"column":27},"end":{"line":196,"column":39}}},"17":{"name":"(anonymous_17)","line":198,"loc":{"start":{"line":198,"column":19},"end":{"line":198,"column":31}}},"18":{"name":"(anonymous_18)","line":211,"loc":{"start":{"line":211,"column":14},"end":{"line":211,"column":35}}},"19":{"name":"(anonymous_19)","line":214,"loc":{"start":{"line":214,"column":49},"end":{"line":214,"column":69}}},"20":{"name":"(anonymous_20)","line":229,"loc":{"start":{"line":229,"column":55},"end":{"line":229,"column":75}}},"21":{"name":"(anonymous_21)","line":245,"loc":{"start":{"line":245,"column":12},"end":{"line":245,"column":43}}},"22":{"name":"(anonymous_22)","line":257,"loc":{"start":{"line":257,"column":21},"end":{"line":257,"column":33}}},"23":{"name":"(anonymous_23)","line":263,"loc":{"start":{"line":263,"column":13},"end":{"line":263,"column":44}}},"24":{"name":"BehavioralFsm","line":281,"loc":{"start":{"line":281,"column":4},"end":{"line":281,"column":36}}},"25":{"name":"(anonymous_25)","line":289,"loc":{"start":{"line":289,"column":20},"end":{"line":289,"column":32}}},"26":{"name":"initClient","line":291,"loc":{"start":{"line":291,"column":20},"end":{"line":291,"column":48}}},"27":{"name":"ensureClientMeta","line":302,"loc":{"start":{"line":302,"column":26},"end":{"line":302,"column":60}}},"28":{"name":"(anonymous_28)","line":314,"loc":{"start":{"line":314,"column":27},"end":{"line":314,"column":51}}},"29":{"name":"(anonymous_29)","line":329,"loc":{"start":{"line":329,"column":24},"end":{"line":329,"column":52}}},"30":{"name":"(anonymous_30)","line":341,"loc":{"start":{"line":341,"column":16},"end":{"line":341,"column":41}}},"31":{"name":"(anonymous_31)","line":412,"loc":{"start":{"line":412,"column":20},"end":{"line":412,"column":48}}},"32":{"name":"(anonymous_32)","line":463,"loc":{"start":{"line":463,"column":30},"end":{"line":463,"column":59}}},"33":{"name":"(anonymous_33)","line":480,"loc":{"start":{"line":480,"column":22},"end":{"line":480,"column":40}}},"34":{"name":"(anonymous_34)","line":482,"loc":{"start":{"line":482,"column":27},"end":{"line":482,"column":43}}},"35":{"name":"(anonymous_35)","line":487,"loc":{"start":{"line":487,"column":30},"end":{"line":487,"column":46}}},"36":{"name":"(anonymous_36)","line":492,"loc":{"start":{"line":492,"column":20},"end":{"line":492,"column":44}}},"37":{"name":"(anonymous_37)","line":497,"loc":{"start":{"line":497,"column":29},"end":{"line":497,"column":45}}},"38":{"name":"(anonymous_38)","line":508,"loc":{"start":{"line":508,"column":21},"end":{"line":508,"column":33}}},"39":{"name":"initClient","line":512,"loc":{"start":{"line":512,"column":20},"end":{"line":512,"column":42}}},"40":{"name":"ensureClientMeta","line":522,"loc":{"start":{"line":522,"column":26},"end":{"line":522,"column":54}}},"41":{"name":"(anonymous_41)","line":531,"loc":{"start":{"line":531,"column":25},"end":{"line":531,"column":41}}},"42":{"name":"(anonymous_42)","line":543,"loc":{"start":{"line":543,"column":24},"end":{"line":543,"column":52}}},"43":{"name":"(anonymous_43)","line":555,"loc":{"start":{"line":555,"column":27},"end":{"line":555,"column":39}}},"44":{"name":"(anonymous_44)","line":569,"loc":{"start":{"line":569,"column":16},"end":{"line":569,"column":37}}},"45":{"name":"(anonymous_45)","line":573,"loc":{"start":{"line":573,"column":20},"end":{"line":573,"column":40}}},"46":{"name":"(anonymous_46)","line":577,"loc":{"start":{"line":577,"column":30},"end":{"line":577,"column":51}}},"47":{"name":"(anonymous_47)","line":581,"loc":{"start":{"line":581,"column":22},"end":{"line":581,"column":34}}},"48":{"name":"(anonymous_48)","line":585,"loc":{"start":{"line":585,"column":20},"end":{"line":585,"column":41}}}},"statementMap":{"1":{"start":{"line":9,"column":0},"end":{"line":601,"column":4}},"2":{"start":{"line":10,"column":4},"end":{"line":21,"column":5}},"3":{"start":{"line":12,"column":8},"end":{"line":14,"column":11},"skip":true},"4":{"start":{"line":13,"column":12},"end":{"line":13,"column":36},"skip":true},"5":{"start":{"line":15,"column":11},"end":{"line":21,"column":5}},"6":{"start":{"line":17,"column":8},"end":{"line":17,"column":52}},"7":{"start":{"line":20,"column":8},"end":{"line":20,"column":45},"skip":true},"8":{"start":{"line":23,"column":4},"end":{"line":23,"column":25}},"9":{"start":{"line":24,"column":4},"end":{"line":24,"column":39}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":30}},"11":{"start":{"line":26,"column":4},"end":{"line":26,"column":28}},"12":{"start":{"line":27,"column":4},"end":{"line":27,"column":33}},"13":{"start":{"line":28,"column":4},"end":{"line":28,"column":34}},"14":{"start":{"line":29,"column":4},"end":{"line":29,"column":39}},"15":{"start":{"line":30,"column":4},"end":{"line":30,"column":30}},"16":{"start":{"line":31,"column":4},"end":{"line":31,"column":27}},"17":{"start":{"line":33,"column":4},"end":{"line":45,"column":5}},"18":{"start":{"line":34,"column":8},"end":{"line":44,"column":10}},"19":{"start":{"line":47,"column":4},"end":{"line":58,"column":5}},"20":{"start":{"line":48,"column":8},"end":{"line":57,"column":10}},"21":{"start":{"line":60,"column":4},"end":{"line":66,"column":5}},"22":{"start":{"line":61,"column":8},"end":{"line":61,"column":24}},"23":{"start":{"line":62,"column":8},"end":{"line":64,"column":9}},"24":{"start":{"line":63,"column":12},"end":{"line":63,"column":32}},"25":{"start":{"line":65,"column":8},"end":{"line":65,"column":43}},"26":{"start":{"line":68,"column":4},"end":{"line":88,"column":5}},"27":{"start":{"line":69,"column":8},"end":{"line":71,"column":9}},"28":{"start":{"line":70,"column":12},"end":{"line":70,"column":19}},"29":{"start":{"line":72,"column":8},"end":{"line":72,"column":36}},"30":{"start":{"line":73,"column":8},"end":{"line":85,"column":9}},"31":{"start":{"line":75,"column":12},"end":{"line":82,"column":13}},"32":{"start":{"line":76,"column":16},"end":{"line":76,"column":44}},"33":{"start":{"line":79,"column":16},"end":{"line":81,"column":18}},"34":{"start":{"line":80,"column":20},"end":{"line":80,"column":34}},"35":{"start":{"line":83,"column":15},"end":{"line":85,"column":9}},"36":{"start":{"line":84,"column":12},"end":{"line":84,"column":48}},"37":{"start":{"line":86,"column":8},"end":{"line":86,"column":67}},"38":{"start":{"line":87,"column":8},"end":{"line":87,"column":34}},"39":{"start":{"line":90,"column":4},"end":{"line":115,"column":5}},"40":{"start":{"line":91,"column":8},"end":{"line":114,"column":11}},"41":{"start":{"line":92,"column":12},"end":{"line":113,"column":13}},"42":{"start":{"line":94,"column":16},"end":{"line":97,"column":17}},"43":{"start":{"line":96,"column":20},"end":{"line":96,"column":49}},"44":{"start":{"line":99,"column":16},"end":{"line":101,"column":17}},"45":{"start":{"line":100,"column":20},"end":{"line":100,"column":53}},"46":{"start":{"line":102,"column":16},"end":{"line":102,"column":22}},"47":{"start":{"line":104,"column":16},"end":{"line":104,"column":41}},"48":{"start":{"line":105,"column":16},"end":{"line":107,"column":17}},"49":{"start":{"line":106,"column":20},"end":{"line":106,"column":58}},"50":{"start":{"line":108,"column":16},"end":{"line":108,"column":42}},"51":{"start":{"line":109,"column":16},"end":{"line":109,"column":22}},"52":{"start":{"line":111,"column":16},"end":{"line":111,"column":42}},"53":{"start":{"line":112,"column":16},"end":{"line":112,"column":22}},"54":{"start":{"line":120,"column":4},"end":{"line":120,"column":47}},"55":{"start":{"line":121,"column":4},"end":{"line":181,"column":6}},"56":{"start":{"line":122,"column":8},"end":{"line":122,"column":26}},"57":{"start":{"line":123,"column":8},"end":{"line":123,"column":16}},"58":{"start":{"line":124,"column":8},"end":{"line":124,"column":25}},"59":{"start":{"line":125,"column":8},"end":{"line":125,"column":34}},"60":{"start":{"line":129,"column":8},"end":{"line":149,"column":9}},"61":{"start":{"line":130,"column":12},"end":{"line":130,"column":41}},"62":{"start":{"line":137,"column":12},"end":{"line":148,"column":14}},"63":{"start":{"line":138,"column":16},"end":{"line":138,"column":52}},"64":{"start":{"line":139,"column":16},"end":{"line":139,"column":40}},"65":{"start":{"line":140,"column":16},"end":{"line":140,"column":33}},"66":{"start":{"line":141,"column":16},"end":{"line":141,"column":58}},"67":{"start":{"line":142,"column":16},"end":{"line":144,"column":19}},"68":{"start":{"line":145,"column":16},"end":{"line":145,"column":86}},"69":{"start":{"line":146,"column":16},"end":{"line":146,"column":48}},"70":{"start":{"line":147,"column":16},"end":{"line":147,"column":41}},"71":{"start":{"line":152,"column":8},"end":{"line":152,"column":29}},"72":{"start":{"line":156,"column":8},"end":{"line":156,"column":42}},"73":{"start":{"line":157,"column":8},"end":{"line":157,"column":35}},"74":{"start":{"line":161,"column":8},"end":{"line":168,"column":9}},"75":{"start":{"line":162,"column":12},"end":{"line":162,"column":48}},"76":{"start":{"line":163,"column":12},"end":{"line":167,"column":16}},"77":{"start":{"line":164,"column":16},"end":{"line":166,"column":17}},"78":{"start":{"line":165,"column":20},"end":{"line":165,"column":37}},"79":{"start":{"line":171,"column":8},"end":{"line":173,"column":9}},"80":{"start":{"line":172,"column":12},"end":{"line":172,"column":38}},"81":{"start":{"line":176,"column":8},"end":{"line":176,"column":40}},"82":{"start":{"line":179,"column":8},"end":{"line":179,"column":41}},"83":{"start":{"line":180,"column":8},"end":{"line":180,"column":19}},"84":{"start":{"line":183,"column":4},"end":{"line":193,"column":5}},"85":{"start":{"line":184,"column":8},"end":{"line":184,"column":19}},"86":{"start":{"line":185,"column":8},"end":{"line":185,"column":43}},"87":{"start":{"line":186,"column":8},"end":{"line":188,"column":9}},"88":{"start":{"line":187,"column":12},"end":{"line":187,"column":73}},"89":{"start":{"line":189,"column":8},"end":{"line":189,"column":20}},"90":{"start":{"line":190,"column":8},"end":{"line":190,"column":57}},"91":{"start":{"line":191,"column":8},"end":{"line":191,"column":43}},"92":{"start":{"line":192,"column":8},"end":{"line":192,"column":26}},"93":{"start":{"line":195,"column":4},"end":{"line":207,"column":6}},"94":{"start":{"line":197,"column":12},"end":{"line":197,"column":33}},"95":{"start":{"line":198,"column":12},"end":{"line":200,"column":14}},"96":{"start":{"line":199,"column":16},"end":{"line":199,"column":47}},"97":{"start":{"line":209,"column":4},"end":{"line":277,"column":6}},"98":{"start":{"line":212,"column":12},"end":{"line":212,"column":50}},"99":{"start":{"line":213,"column":12},"end":{"line":227,"column":13}},"100":{"start":{"line":214,"column":16},"end":{"line":226,"column":25}},"101":{"start":{"line":215,"column":20},"end":{"line":225,"column":21}},"102":{"start":{"line":216,"column":24},"end":{"line":216,"column":51}},"103":{"start":{"line":218,"column":24},"end":{"line":224,"column":25}},"104":{"start":{"line":219,"column":28},"end":{"line":219,"column":55}},"105":{"start":{"line":221,"column":28},"end":{"line":223,"column":29}},"106":{"start":{"line":222,"column":32},"end":{"line":222,"column":61}},"107":{"start":{"line":228,"column":12},"end":{"line":242,"column":13}},"108":{"start":{"line":229,"column":16},"end":{"line":241,"column":25}},"109":{"start":{"line":230,"column":20},"end":{"line":240,"column":21}},"110":{"start":{"line":231,"column":24},"end":{"line":231,"column":60}},"111":{"start":{"line":233,"column":24},"end":{"line":239,"column":25}},"112":{"start":{"line":234,"column":28},"end":{"line":234,"column":64}},"113":{"start":{"line":236,"column":28},"end":{"line":238,"column":29}},"114":{"start":{"line":237,"column":32},"end":{"line":237,"column":61}},"115":{"start":{"line":246,"column":12},"end":{"line":246,"column":28}},"116":{"start":{"line":247,"column":12},"end":{"line":249,"column":14}},"117":{"start":{"line":250,"column":12},"end":{"line":252,"column":13}},"118":{"start":{"line":251,"column":16},"end":{"line":251,"column":52}},"119":{"start":{"line":253,"column":12},"end":{"line":253,"column":58}},"120":{"start":{"line":254,"column":12},"end":{"line":260,"column":14}},"121":{"start":{"line":258,"column":20},"end":{"line":258,"column":50}},"122":{"start":{"line":264,"column":12},"end":{"line":266,"column":14}},"123":{"start":{"line":267,"column":12},"end":{"line":275,"column":13}},"124":{"start":{"line":268,"column":16},"end":{"line":268,"column":41}},"125":{"start":{"line":270,"column":16},"end":{"line":274,"column":17}},"126":{"start":{"line":271,"column":20},"end":{"line":271,"column":105}},"127":{"start":{"line":273,"column":20},"end":{"line":273,"column":56}},"128":{"start":{"line":279,"column":4},"end":{"line":279,"column":37}},"129":{"start":{"line":281,"column":4},"end":{"line":286,"column":5}},"130":{"start":{"line":282,"column":8},"end":{"line":282,"column":32}},"131":{"start":{"line":283,"column":8},"end":{"line":283,"column":56}},"132":{"start":{"line":284,"column":8},"end":{"line":284,"column":47}},"133":{"start":{"line":285,"column":8},"end":{"line":285,"column":36}},"134":{"start":{"line":288,"column":4},"end":{"line":503,"column":16}},"135":{"start":{"line":292,"column":12},"end":{"line":292,"column":49}},"136":{"start":{"line":293,"column":12},"end":{"line":295,"column":13}},"137":{"start":{"line":294,"column":16},"end":{"line":294,"column":82}},"138":{"start":{"line":296,"column":12},"end":{"line":298,"column":13}},"139":{"start":{"line":297,"column":16},"end":{"line":297,"column":100}},"140":{"start":{"line":299,"column":12},"end":{"line":299,"column":50}},"141":{"start":{"line":303,"column":12},"end":{"line":305,"column":13}},"142":{"start":{"line":304,"column":16},"end":{"line":304,"column":68}},"143":{"start":{"line":306,"column":12},"end":{"line":306,"column":62}},"144":{"start":{"line":307,"column":12},"end":{"line":310,"column":13}},"145":{"start":{"line":308,"column":16},"end":{"line":308,"column":97}},"146":{"start":{"line":309,"column":16},"end":{"line":309,"column":40}},"147":{"start":{"line":311,"column":12},"end":{"line":311,"column":56}},"148":{"start":{"line":315,"column":12},"end":{"line":326,"column":13}},"149":{"start":{"line":316,"column":16},"end":{"line":319,"column":19}},"150":{"start":{"line":321,"column":16},"end":{"line":325,"column":18}},"151":{"start":{"line":333,"column":12},"end":{"line":333,"column":38}},"152":{"start":{"line":334,"column":12},"end":{"line":334,"column":33}},"153":{"start":{"line":335,"column":12},"end":{"line":337,"column":13}},"154":{"start":{"line":336,"column":16},"end":{"line":336,"column":52}},"155":{"start":{"line":338,"column":12},"end":{"line":338,"column":74}},"156":{"start":{"line":342,"column":12},"end":{"line":342,"column":26}},"157":{"start":{"line":343,"column":12},"end":{"line":343,"column":26}},"158":{"start":{"line":344,"column":12},"end":{"line":344,"column":23}},"159":{"start":{"line":345,"column":12},"end":{"line":345,"column":33}},"160":{"start":{"line":346,"column":12},"end":{"line":352,"column":13}},"161":{"start":{"line":347,"column":16},"end":{"line":351,"column":18}},"162":{"start":{"line":353,"column":12},"end":{"line":353,"column":59}},"163":{"start":{"line":354,"column":12},"end":{"line":354,"column":81}},"164":{"start":{"line":355,"column":12},"end":{"line":357,"column":13}},"165":{"start":{"line":356,"column":16},"end":{"line":356,"column":44}},"166":{"start":{"line":358,"column":12},"end":{"line":358,"column":48}},"167":{"start":{"line":359,"column":12},"end":{"line":359,"column":53}},"168":{"start":{"line":360,"column":12},"end":{"line":360,"column":28}},"169":{"start":{"line":361,"column":12},"end":{"line":361,"column":24}},"170":{"start":{"line":362,"column":12},"end":{"line":362,"column":35}},"171":{"start":{"line":363,"column":12},"end":{"line":363,"column":22}},"172":{"start":{"line":364,"column":12},"end":{"line":364,"column":23}},"173":{"start":{"line":365,"column":12},"end":{"line":408,"column":13}},"174":{"start":{"line":366,"column":16},"end":{"line":366,"column":68}},"175":{"start":{"line":367,"column":16},"end":{"line":407,"column":17}},"176":{"start":{"line":368,"column":20},"end":{"line":368,"column":78}},"177":{"start":{"line":369,"column":20},"end":{"line":369,"column":46}},"178":{"start":{"line":370,"column":20},"end":{"line":372,"column":22}},"179":{"start":{"line":375,"column":20},"end":{"line":375,"column":61}},"180":{"start":{"line":377,"column":20},"end":{"line":379,"column":21}},"181":{"start":{"line":378,"column":24},"end":{"line":378,"column":72}},"182":{"start":{"line":380,"column":20},"end":{"line":380,"column":90}},"183":{"start":{"line":381,"column":20},"end":{"line":381,"column":55}},"184":{"start":{"line":382,"column":20},"end":{"line":382,"column":88}},"185":{"start":{"line":383,"column":20},"end":{"line":383,"column":66}},"186":{"start":{"line":384,"column":20},"end":{"line":384,"column":54}},"187":{"start":{"line":385,"column":20},"end":{"line":390,"column":23}},"188":{"start":{"line":391,"column":20},"end":{"line":404,"column":21}},"189":{"start":{"line":392,"column":24},"end":{"line":394,"column":42}},"190":{"start":{"line":396,"column":24},"end":{"line":396,"column":58}},"191":{"start":{"line":397,"column":24},"end":{"line":402,"column":25}},"192":{"start":{"line":398,"column":28},"end":{"line":398,"column":96}},"193":{"start":{"line":400,"column":28},"end":{"line":400,"column":45}},"194":{"start":{"line":401,"column":28},"end":{"line":401,"column":61}},"195":{"start":{"line":403,"column":24},"end":{"line":403,"column":57}},"196":{"start":{"line":405,"column":20},"end":{"line":405,"column":70}},"197":{"start":{"line":406,"column":20},"end":{"line":406,"column":50}},"198":{"start":{"line":409,"column":12},"end":{"line":409,"column":26}},"199":{"start":{"line":413,"column":12},"end":{"line":413,"column":59}},"200":{"start":{"line":414,"column":12},"end":{"line":414,"column":44}},"201":{"start":{"line":415,"column":12},"end":{"line":415,"column":52}},"202":{"start":{"line":416,"column":12},"end":{"line":416,"column":52}},"203":{"start":{"line":417,"column":12},"end":{"line":417,"column":25}},"204":{"start":{"line":418,"column":12},"end":{"line":418,"column":22}},"205":{"start":{"line":419,"column":12},"end":{"line":460,"column":13}},"206":{"start":{"line":420,"column":16},"end":{"line":455,"column":17}},"207":{"start":{"line":421,"column":20},"end":{"line":424,"column":21}},"208":{"start":{"line":422,"column":24},"end":{"line":422,"column":85}},"209":{"start":{"line":423,"column":24},"end":{"line":423,"column":82}},"210":{"start":{"line":425,"column":20},"end":{"line":429,"column":21}},"211":{"start":{"line":426,"column":24},"end":{"line":426,"column":56}},"212":{"start":{"line":427,"column":24},"end":{"line":427,"column":63}},"213":{"start":{"line":428,"column":24},"end":{"line":428,"column":57}},"214":{"start":{"line":430,"column":20},"end":{"line":432,"column":21}},"215":{"start":{"line":431,"column":24},"end":{"line":431,"column":84}},"216":{"start":{"line":433,"column":20},"end":{"line":433,"column":60}},"217":{"start":{"line":434,"column":20},"end":{"line":434,"column":53}},"218":{"start":{"line":435,"column":20},"end":{"line":435,"column":48}},"219":{"start":{"line":436,"column":20},"end":{"line":438,"column":21}},"220":{"start":{"line":437,"column":24},"end":{"line":437,"column":91}},"221":{"start":{"line":439,"column":20},"end":{"line":443,"column":23}},"222":{"start":{"line":444,"column":20},"end":{"line":444,"column":56}},"223":{"start":{"line":445,"column":20},"end":{"line":447,"column":21}},"224":{"start":{"line":446,"column":24},"end":{"line":446,"column":64}},"225":{"start":{"line":448,"column":20},"end":{"line":450,"column":21}},"226":{"start":{"line":449,"column":24},"end":{"line":449,"column":55}},"227":{"start":{"line":451,"column":20},"end":{"line":453,"column":21}},"228":{"start":{"line":452,"column":24},"end":{"line":452,"column":67}},"229":{"start":{"line":454,"column":20},"end":{"line":454,"column":27}},"230":{"start":{"line":456,"column":16},"end":{"line":459,"column":19}},"231":{"start":{"line":464,"column":12},"end":{"line":464,"column":59}},"232":{"start":{"line":465,"column":12},"end":{"line":477,"column":13}},"233":{"start":{"line":466,"column":16},"end":{"line":470,"column":18}},"234":{"start":{"line":471,"column":16},"end":{"line":471,"column":51}},"235":{"start":{"line":472,"column":16},"end":{"line":475,"column":19}},"236":{"start":{"line":476,"column":16},"end":{"line":476,"column":50}},"237":{"start":{"line":481,"column":12},"end":{"line":481,"column":59}},"238":{"start":{"line":482,"column":12},"end":{"line":484,"column":14}},"239":{"start":{"line":483,"column":16},"end":{"line":483,"column":86}},"240":{"start":{"line":485,"column":12},"end":{"line":485,"column":70}},"241":{"start":{"line":486,"column":12},"end":{"line":486,"column":83}},"242":{"start":{"line":487,"column":12},"end":{"line":489,"column":21}},"243":{"start":{"line":488,"column":16},"end":{"line":488,"column":51}},"244":{"start":{"line":493,"column":12},"end":{"line":493,"column":59}},"245":{"start":{"line":494,"column":12},"end":{"line":501,"column":13}},"246":{"start":{"line":495,"column":16},"end":{"line":495,"column":43}},"247":{"start":{"line":497,"column":16},"end":{"line":499,"column":18}},"248":{"start":{"line":498,"column":20},"end":{"line":498,"column":68}},"249":{"start":{"line":500,"column":16},"end":{"line":500,"column":80}},"250":{"start":{"line":505,"column":4},"end":{"line":505,"column":34}},"251":{"start":{"line":507,"column":4},"end":{"line":589,"column":7}},"252":{"start":{"line":509,"column":12},"end":{"line":509,"column":49}},"253":{"start":{"line":510,"column":12},"end":{"line":510,"column":36}},"254":{"start":{"line":513,"column":12},"end":{"line":513,"column":49}},"255":{"start":{"line":514,"column":12},"end":{"line":516,"column":13}},"256":{"start":{"line":515,"column":16},"end":{"line":515,"column":82}},"257":{"start":{"line":517,"column":12},"end":{"line":519,"column":13}},"258":{"start":{"line":518,"column":16},"end":{"line":518,"column":100}},"259":{"start":{"line":520,"column":12},"end":{"line":520,"column":42}},"260":{"start":{"line":523,"column":12},"end":{"line":527,"column":13}},"261":{"start":{"line":524,"column":16},"end":{"line":524,"column":37}},"262":{"start":{"line":525,"column":16},"end":{"line":525,"column":70}},"263":{"start":{"line":526,"column":16},"end":{"line":526,"column":34}},"264":{"start":{"line":528,"column":12},"end":{"line":528,"column":24}},"265":{"start":{"line":532,"column":12},"end":{"line":532,"column":29}},"266":{"start":{"line":535,"column":12},"end":{"line":539,"column":13}},"267":{"start":{"line":536,"column":16},"end":{"line":536,"column":41}},"268":{"start":{"line":537,"column":19},"end":{"line":539,"column":13}},"269":{"start":{"line":538,"column":16},"end":{"line":538,"column":36}},"270":{"start":{"line":540,"column":12},"end":{"line":540,"column":25}},"271":{"start":{"line":547,"column":12},"end":{"line":547,"column":29}},"272":{"start":{"line":548,"column":12},"end":{"line":548,"column":33}},"273":{"start":{"line":549,"column":12},"end":{"line":551,"column":13}},"274":{"start":{"line":550,"column":16},"end":{"line":550,"column":52}},"275":{"start":{"line":552,"column":12},"end":{"line":552,"column":64}},"276":{"start":{"line":556,"column":12},"end":{"line":556,"column":78}},"277":{"start":{"line":557,"column":12},"end":{"line":557,"column":31}},"278":{"start":{"line":558,"column":12},"end":{"line":567,"column":13}},"279":{"start":{"line":559,"column":16},"end":{"line":561,"column":19}},"280":{"start":{"line":563,"column":16},"end":{"line":566,"column":18}},"281":{"start":{"line":570,"column":12},"end":{"line":570,"column":78}},"282":{"start":{"line":571,"column":12},"end":{"line":571,"column":68}},"283":{"start":{"line":574,"column":12},"end":{"line":574,"column":78}},"284":{"start":{"line":575,"column":12},"end":{"line":575,"column":72}},"285":{"start":{"line":578,"column":12},"end":{"line":578,"column":78}},"286":{"start":{"line":579,"column":12},"end":{"line":579,"column":82}},"287":{"start":{"line":582,"column":12},"end":{"line":582,"column":78}},"288":{"start":{"line":583,"column":12},"end":{"line":583,"column":74}},"289":{"start":{"line":586,"column":12},"end":{"line":586,"column":78}},"290":{"start":{"line":587,"column":12},"end":{"line":587,"column":72}},"291":{"start":{"line":591,"column":4},"end":{"line":598,"column":7}},"292":{"start":{"line":600,"column":4},"end":{"line":600,"column":19}}},"branchMap":{"1":{"line":10,"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":4},"skip":true},{"start":{"line":10,"column":4},"end":{"line":10,"column":4}}]},"2":{"line":10,"type":"binary-expr","locations":[{"start":{"line":10,"column":8},"end":{"line":10,"column":36}},{"start":{"line":10,"column":40},"end":{"line":10,"column":50}}]},"3":{"line":15,"type":"if","locations":[{"start":{"line":15,"column":11},"end":{"line":15,"column":11}},{"start":{"line":15,"column":11},"end":{"line":15,"column":11},"skip":true}]},"4":{"line":15,"type":"binary-expr","locations":[{"start":{"line":15,"column":15},"end":{"line":15,"column":41}},{"start":{"line":15,"column":45},"end":{"line":15,"column":59}}]},"5":{"line":65,"type":"binary-expr","locations":[{"start":{"line":65,"column":28},"end":{"line":65,"column":36}},{"start":{"line":65,"column":40},"end":{"line":65,"column":41}}]},"6":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":8},"end":{"line":69,"column":8}},{"start":{"line":69,"column":8},"end":{"line":69,"column":8}}]},"7":{"line":73,"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":73,"column":8}},{"start":{"line":73,"column":8},"end":{"line":73,"column":8}}]},"8":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":12},"end":{"line":75,"column":12}},{"start":{"line":75,"column":12},"end":{"line":75,"column":12}}]},"9":{"line":83,"type":"if","locations":[{"start":{"line":83,"column":15},"end":{"line":83,"column":15}},{"start":{"line":83,"column":15},"end":{"line":83,"column":15}}]},"10":{"line":92,"type":"switch","locations":[{"start":{"line":93,"column":12},"end":{"line":102,"column":22}},{"start":{"line":103,"column":12},"end":{"line":109,"column":22}},{"start":{"line":110,"column":12},"end":{"line":112,"column":22}}]},"11":{"line":94,"type":"if","locations":[{"start":{"line":94,"column":16},"end":{"line":94,"column":16}},{"start":{"line":94,"column":16},"end":{"line":94,"column":16}}]},"12":{"line":94,"type":"binary-expr","locations":[{"start":{"line":94,"column":20},"end":{"line":94,"column":32}},{"start":{"line":94,"column":36},"end":{"line":94,"column":51}},{"start":{"line":94,"column":55},"end":{"line":94,"column":87}}]},"13":{"line":99,"type":"if","locations":[{"start":{"line":99,"column":16},"end":{"line":99,"column":16}},{"start":{"line":99,"column":16},"end":{"line":99,"column":16}}]},"14":{"line":105,"type":"if","locations":[{"start":{"line":105,"column":16},"end":{"line":105,"column":16}},{"start":{"line":105,"column":16},"end":{"line":105,"column":16}}]},"15":{"line":105,"type":"binary-expr","locations":[{"start":{"line":105,"column":20},"end":{"line":105,"column":26}},{"start":{"line":105,"column":30},"end":{"line":105,"column":60}}]},"16":{"line":129,"type":"if","locations":[{"start":{"line":129,"column":8},"end":{"line":129,"column":8}},{"start":{"line":129,"column":8},"end":{"line":129,"column":8}}]},"17":{"line":129,"type":"binary-expr","locations":[{"start":{"line":129,"column":12},"end":{"line":129,"column":22}},{"start":{"line":129,"column":26},"end":{"line":129,"column":66}}]},"18":{"line":139,"type":"binary-expr","locations":[{"start":{"line":139,"column":26},"end":{"line":139,"column":33}},{"start":{"line":139,"column":37},"end":{"line":139,"column":39}}]},"19":{"line":141,"type":"binary-expr","locations":[{"start":{"line":141,"column":37},"end":{"line":141,"column":51}},{"start":{"line":141,"column":55},"end":{"line":141,"column":57}}]},"20":{"line":145,"type":"binary-expr","locations":[{"start":{"line":145,"column":44},"end":{"line":145,"column":64}},{"start":{"line":145,"column":68},"end":{"line":145,"column":85}}]},"21":{"line":161,"type":"if","locations":[{"start":{"line":161,"column":8},"end":{"line":161,"column":8}},{"start":{"line":161,"column":8},"end":{"line":161,"column":8}}]},"22":{"line":164,"type":"if","locations":[{"start":{"line":164,"column":16},"end":{"line":164,"column":16}},{"start":{"line":164,"column":16},"end":{"line":164,"column":16}}]},"23":{"line":171,"type":"if","locations":[{"start":{"line":171,"column":8},"end":{"line":171,"column":8}},{"start":{"line":171,"column":8},"end":{"line":171,"column":8}}]},"24":{"line":213,"type":"if","locations":[{"start":{"line":213,"column":12},"end":{"line":213,"column":12}},{"start":{"line":213,"column":12},"end":{"line":213,"column":12}}]},"25":{"line":215,"type":"if","locations":[{"start":{"line":215,"column":20},"end":{"line":215,"column":20}},{"start":{"line":215,"column":20},"end":{"line":215,"column":20}}]},"26":{"line":221,"type":"if","locations":[{"start":{"line":221,"column":28},"end":{"line":221,"column":28}},{"start":{"line":221,"column":28},"end":{"line":221,"column":28},"skip":true}]},"27":{"line":221,"type":"binary-expr","locations":[{"start":{"line":221,"column":32},"end":{"line":221,"column":39}},{"start":{"line":221,"column":43},"end":{"line":221,"column":77}}]},"28":{"line":228,"type":"if","locations":[{"start":{"line":228,"column":12},"end":{"line":228,"column":12}},{"start":{"line":228,"column":12},"end":{"line":228,"column":12}}]},"29":{"line":230,"type":"if","locations":[{"start":{"line":230,"column":20},"end":{"line":230,"column":20}},{"start":{"line":230,"column":20},"end":{"line":230,"column":20}}]},"30":{"line":236,"type":"if","locations":[{"start":{"line":236,"column":28},"end":{"line":236,"column":28}},{"start":{"line":236,"column":28},"end":{"line":236,"column":28},"skip":true}]},"31":{"line":236,"type":"binary-expr","locations":[{"start":{"line":236,"column":32},"end":{"line":236,"column":39}},{"start":{"line":236,"column":43},"end":{"line":236,"column":77}}]},"32":{"line":247,"type":"binary-expr","locations":[{"start":{"line":247,"column":34},"end":{"line":247,"column":53}},{"start":{"line":247,"column":57},"end":{"line":249,"column":13}}]},"33":{"line":250,"type":"if","locations":[{"start":{"line":250,"column":12},"end":{"line":250,"column":12}},{"start":{"line":250,"column":12},"end":{"line":250,"column":12}}]},"34":{"line":264,"type":"binary-expr","locations":[{"start":{"line":264,"column":34},"end":{"line":264,"column":53}},{"start":{"line":264,"column":57},"end":{"line":266,"column":13}}]},"35":{"line":267,"type":"if","locations":[{"start":{"line":267,"column":12},"end":{"line":267,"column":12}},{"start":{"line":267,"column":12},"end":{"line":267,"column":12}}]},"36":{"line":270,"type":"if","locations":[{"start":{"line":270,"column":16},"end":{"line":270,"column":16}},{"start":{"line":270,"column":16},"end":{"line":270,"column":16}}]},"37":{"line":293,"type":"if","locations":[{"start":{"line":293,"column":12},"end":{"line":293,"column":12}},{"start":{"line":293,"column":12},"end":{"line":293,"column":12}}]},"38":{"line":296,"type":"if","locations":[{"start":{"line":296,"column":12},"end":{"line":296,"column":12}},{"start":{"line":296,"column":12},"end":{"line":296,"column":12}}]},"39":{"line":303,"type":"if","locations":[{"start":{"line":303,"column":12},"end":{"line":303,"column":12}},{"start":{"line":303,"column":12},"end":{"line":303,"column":12}}]},"40":{"line":306,"type":"binary-expr","locations":[{"start":{"line":306,"column":35},"end":{"line":306,"column":55}},{"start":{"line":306,"column":59},"end":{"line":306,"column":61}}]},"41":{"line":307,"type":"if","locations":[{"start":{"line":307,"column":12},"end":{"line":307,"column":12}},{"start":{"line":307,"column":12},"end":{"line":307,"column":12}}]},"42":{"line":315,"type":"if","locations":[{"start":{"line":315,"column":12},"end":{"line":315,"column":12}},{"start":{"line":315,"column":12},"end":{"line":315,"column":12}}]},"43":{"line":323,"type":"binary-expr","locations":[{"start":{"line":323,"column":26},"end":{"line":323,"column":30}},{"start":{"line":323,"column":34},"end":{"line":323,"column":38}}]},"44":{"line":335,"type":"if","locations":[{"start":{"line":335,"column":12},"end":{"line":335,"column":12}},{"start":{"line":335,"column":12},"end":{"line":335,"column":12}}]},"45":{"line":338,"type":"cond-expr","locations":[{"start":{"line":338,"column":32},"end":{"line":338,"column":37}},{"start":{"line":338,"column":40},"end":{"line":338,"column":73}}]},"46":{"line":346,"type":"if","locations":[{"start":{"line":346,"column":12},"end":{"line":346,"column":12}},{"start":{"line":346,"column":12},"end":{"line":346,"column":12}}]},"47":{"line":355,"type":"if","locations":[{"start":{"line":355,"column":12},"end":{"line":355,"column":12}},{"start":{"line":355,"column":12},"end":{"line":355,"column":12}}]},"48":{"line":365,"type":"if","locations":[{"start":{"line":365,"column":12},"end":{"line":365,"column":12}},{"start":{"line":365,"column":12},"end":{"line":365,"column":12}}]},"49":{"line":366,"type":"binary-expr","locations":[{"start":{"line":366,"column":24},"end":{"line":366,"column":39}},{"start":{"line":366,"column":43},"end":{"line":366,"column":67}}]},"50":{"line":367,"type":"if","locations":[{"start":{"line":367,"column":16},"end":{"line":367,"column":16}},{"start":{"line":367,"column":16},"end":{"line":367,"column":16}}]},"51":{"line":367,"type":"binary-expr","locations":[{"start":{"line":367,"column":20},"end":{"line":367,"column":25}},{"start":{"line":367,"column":29},"end":{"line":367,"column":70}},{"start":{"line":367,"column":74},"end":{"line":367,"column":92}}]},"52":{"line":368,"type":"binary-expr","locations":[{"start":{"line":368,"column":39},"end":{"line":368,"column":54}},{"start":{"line":368,"column":58},"end":{"line":368,"column":76}}]},"53":{"line":377,"type":"if","locations":[{"start":{"line":377,"column":20},"end":{"line":377,"column":20}},{"start":{"line":377,"column":20},"end":{"line":377,"column":20}}]},"54":{"line":377,"type":"binary-expr","locations":[{"start":{"line":377,"column":24},"end":{"line":377,"column":39}},{"start":{"line":377,"column":43},"end":{"line":377,"column":83}}]},"55":{"line":380,"type":"cond-expr","locations":[{"start":{"line":380,"column":65},"end":{"line":380,"column":83}},{"start":{"line":380,"column":86},"end":{"line":380,"column":89}}]},"56":{"line":382,"type":"binary-expr","locations":[{"start":{"line":382,"column":31},"end":{"line":382,"column":52}},{"start":{"line":382,"column":56},"end":{"line":382,"column":73}},{"start":{"line":382,"column":78},"end":{"line":382,"column":87}}]},"57":{"line":391,"type":"if","locations":[{"start":{"line":391,"column":20},"end":{"line":391,"column":20}},{"start":{"line":391,"column":20},"end":{"line":391,"column":20}}]},"58":{"line":397,"type":"if","locations":[{"start":{"line":397,"column":24},"end":{"line":397,"column":24}},{"start":{"line":397,"column":24},"end":{"line":397,"column":24}}]},"59":{"line":419,"type":"if","locations":[{"start":{"line":419,"column":12},"end":{"line":419,"column":12}},{"start":{"line":419,"column":12},"end":{"line":419,"column":12}}]},"60":{"line":419,"type":"binary-expr","locations":[{"start":{"line":419,"column":16},"end":{"line":419,"column":41}},{"start":{"line":419,"column":45},"end":{"line":419,"column":66}}]},"61":{"line":420,"type":"if","locations":[{"start":{"line":420,"column":16},"end":{"line":420,"column":16}},{"start":{"line":420,"column":16},"end":{"line":420,"column":16}}]},"62":{"line":421,"type":"if","locations":[{"start":{"line":421,"column":20},"end":{"line":421,"column":20}},{"start":{"line":421,"column":20},"end":{"line":421,"column":20}}]},"63":{"line":423,"type":"binary-expr","locations":[{"start":{"line":423,"column":32},"end":{"line":423,"column":50}},{"start":{"line":423,"column":54},"end":{"line":423,"column":81}}]},"64":{"line":425,"type":"if","locations":[{"start":{"line":425,"column":20},"end":{"line":425,"column":20}},{"start":{"line":425,"column":20},"end":{"line":425,"column":20}}]},"65":{"line":425,"type":"binary-expr","locations":[{"start":{"line":425,"column":24},"end":{"line":425,"column":35}},{"start":{"line":425,"column":39},"end":{"line":425,"column":58}}]},"66":{"line":430,"type":"if","locations":[{"start":{"line":430,"column":20},"end":{"line":430,"column":20}},{"start":{"line":430,"column":20},"end":{"line":430,"column":20}}]},"67":{"line":430,"type":"binary-expr","locations":[{"start":{"line":430,"column":24},"end":{"line":430,"column":35}},{"start":{"line":430,"column":39},"end":{"line":430,"column":57}},{"start":{"line":430,"column":61},"end":{"line":430,"column":88}},{"start":{"line":430,"column":92},"end":{"line":430,"column":145}}]},"68":{"line":436,"type":"if","locations":[{"start":{"line":436,"column":20},"end":{"line":436,"column":20}},{"start":{"line":436,"column":20},"end":{"line":436,"column":20}}]},"69":{"line":445,"type":"if","locations":[{"start":{"line":445,"column":20},"end":{"line":445,"column":20}},{"start":{"line":445,"column":20},"end":{"line":445,"column":20}}]},"70":{"line":448,"type":"if","locations":[{"start":{"line":448,"column":20},"end":{"line":448,"column":20}},{"start":{"line":448,"column":20},"end":{"line":448,"column":20}}]},"71":{"line":451,"type":"if","locations":[{"start":{"line":451,"column":20},"end":{"line":451,"column":20}},{"start":{"line":451,"column":20},"end":{"line":451,"column":20}}]},"72":{"line":465,"type":"if","locations":[{"start":{"line":465,"column":12},"end":{"line":465,"column":12}},{"start":{"line":465,"column":12},"end":{"line":465,"column":12}}]},"73":{"line":483,"type":"binary-expr","locations":[{"start":{"line":483,"column":25},"end":{"line":483,"column":41}},{"start":{"line":483,"column":47},"end":{"line":483,"column":83}}]},"74":{"line":494,"type":"if","locations":[{"start":{"line":494,"column":12},"end":{"line":494,"column":12}},{"start":{"line":494,"column":12},"end":{"line":494,"column":12}}]},"75":{"line":498,"type":"cond-expr","locations":[{"start":{"line":498,"column":35},"end":{"line":498,"column":59}},{"start":{"line":498,"column":62},"end":{"line":498,"column":66}}]},"76":{"line":514,"type":"if","locations":[{"start":{"line":514,"column":12},"end":{"line":514,"column":12}},{"start":{"line":514,"column":12},"end":{"line":514,"column":12}}]},"77":{"line":517,"type":"if","locations":[{"start":{"line":517,"column":12},"end":{"line":517,"column":12}},{"start":{"line":517,"column":12},"end":{"line":517,"column":12}}]},"78":{"line":523,"type":"if","locations":[{"start":{"line":523,"column":12},"end":{"line":523,"column":12}},{"start":{"line":523,"column":12},"end":{"line":523,"column":12}}]},"79":{"line":535,"type":"if","locations":[{"start":{"line":535,"column":12},"end":{"line":535,"column":12}},{"start":{"line":535,"column":12},"end":{"line":535,"column":12}}]},"80":{"line":535,"type":"binary-expr","locations":[{"start":{"line":535,"column":16},"end":{"line":535,"column":44}},{"start":{"line":535,"column":48},"end":{"line":535,"column":74}},{"start":{"line":535,"column":78},"end":{"line":535,"column":95}}]},"81":{"line":537,"type":"if","locations":[{"start":{"line":537,"column":19},"end":{"line":537,"column":19}},{"start":{"line":537,"column":19},"end":{"line":537,"column":19}}]},"82":{"line":537,"type":"binary-expr","locations":[{"start":{"line":537,"column":23},"end":{"line":537,"column":51}},{"start":{"line":537,"column":56},"end":{"line":537,"column":84}},{"start":{"line":537,"column":89},"end":{"line":537,"column":112}}]},"83":{"line":549,"type":"if","locations":[{"start":{"line":549,"column":12},"end":{"line":549,"column":12}},{"start":{"line":549,"column":12},"end":{"line":549,"column":12}}]},"84":{"line":552,"type":"cond-expr","locations":[{"start":{"line":552,"column":32},"end":{"line":552,"column":46}},{"start":{"line":552,"column":49},"end":{"line":552,"column":63}}]},"85":{"line":558,"type":"if","locations":[{"start":{"line":558,"column":12},"end":{"line":558,"column":12}},{"start":{"line":558,"column":12},"end":{"line":558,"column":12}}]},"86":{"line":564,"type":"binary-expr","locations":[{"start":{"line":564,"column":26},"end":{"line":564,"column":30}},{"start":{"line":564,"column":34},"end":{"line":564,"column":38}}]}}}} | ||
{"/Users/Jim/git/oss/machina/lib/machina.js":{"path":"/Users/Jim/git/oss/machina/lib/machina.js","s":{"1":1,"2":1,"3":0,"4":0,"5":1,"6":1,"7":0,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":272,"19":1,"20":243,"21":1,"22":3011,"23":3011,"24":5567,"25":3011,"26":1,"27":16,"28":0,"29":16,"30":16,"31":14,"32":2,"33":12,"34":14,"35":2,"36":2,"37":16,"38":16,"39":1,"40":16,"41":161,"42":20,"43":20,"44":20,"45":6,"46":20,"47":32,"48":32,"49":6,"50":32,"51":32,"52":109,"53":109,"54":1,"55":1,"56":361,"57":361,"58":361,"59":361,"60":361,"61":1,"62":360,"63":348,"64":348,"65":348,"66":348,"67":348,"68":348,"69":348,"70":348,"71":361,"72":361,"73":361,"74":361,"75":361,"76":361,"77":575,"78":372,"79":361,"80":6,"81":361,"82":361,"83":361,"84":1,"85":6,"86":6,"87":6,"88":216,"89":6,"90":6,"91":6,"92":6,"93":1,"94":1,"95":1,"96":272,"97":1,"98":1705,"99":1705,"100":1402,"101":1062,"102":1055,"103":7,"104":7,"105":2,"106":2,"107":1704,"108":81,"109":76,"110":62,"111":14,"112":14,"113":9,"114":9,"115":232,"116":232,"117":232,"118":82,"119":232,"120":232,"121":14,"122":38,"123":38,"124":8,"125":30,"126":26,"127":4,"128":1,"129":1,"130":272,"131":272,"132":272,"133":272,"134":1,"135":120,"136":120,"137":4,"138":116,"139":4,"140":112,"141":664,"142":12,"143":652,"144":652,"145":120,"146":120,"147":644,"148":425,"149":421,"150":4,"151":63,"152":63,"153":63,"154":63,"155":63,"156":341,"157":341,"158":341,"159":341,"160":341,"161":279,"162":341,"163":321,"164":321,"165":259,"166":321,"167":321,"168":321,"169":321,"170":321,"171":321,"172":321,"173":321,"174":321,"175":321,"176":321,"177":6,"178":6,"179":6,"180":6,"181":315,"182":0,"183":315,"184":315,"185":315,"186":315,"187":315,"188":315,"189":315,"190":52,"191":263,"192":263,"193":114,"194":149,"195":149,"196":255,"197":307,"198":307,"199":313,"200":430,"201":430,"202":430,"203":430,"204":430,"205":430,"206":430,"207":430,"208":422,"209":16,"210":16,"211":422,"212":28,"213":28,"214":28,"215":422,"216":6,"217":422,"218":422,"219":422,"220":422,"221":16,"222":422,"223":422,"224":422,"225":184,"226":414,"227":16,"228":414,"229":414,"230":414,"231":8,"232":62,"233":62,"234":62,"235":62,"236":62,"237":62,"238":8,"239":8,"240":414,"241":414,"242":38,"243":414,"244":414,"245":414,"246":38,"247":16,"248":16,"249":8,"250":8,"251":16,"252":8,"253":1,"254":1,"255":125,"256":123,"257":123,"258":123,"259":4,"260":119,"261":4,"262":115,"263":722,"264":123,"265":123,"266":123,"267":714,"268":985,"269":985,"270":14,"271":971,"272":296,"273":985,"274":51,"275":51,"276":51,"277":0,"278":51,"279":386,"280":386,"281":386,"282":386,"283":0,"284":148,"285":148,"286":210,"287":210,"288":31,"289":31,"290":202,"291":202,"292":8,"293":8,"294":1,"295":1},"b":{"1":[0,1],"2":[1,0],"3":[1,0],"4":[1,1],"5":[0,16],"6":[14,2],"7":[2,12],"8":[2,0],"9":[20,32,109],"10":[20,0],"11":[20,20,20],"12":[6,14],"13":[6,26],"14":[32,6],"15":[1,360],"16":[361,361],"17":[348,174],"18":[348,174],"19":[348,336],"20":[361,0],"21":[372,203],"22":[6,355],"23":[1402,303],"24":[1055,7],"25":[2,0],"26":[2,2],"27":[81,1623],"28":[62,14],"29":[9,0],"30":[9,9],"31":[232,0],"32":[82,150],"33":[38,0],"34":[8,30],"35":[26,4],"36":[4,116],"37":[4,112],"38":[12,652],"39":[652,113],"40":[120,532],"41":[421,4],"42":[4,0],"43":[63,0],"44":[15,48],"45":[279,62],"46":[259,62],"47":[321,0],"48":[321,12],"49":[6,315],"50":[321,12,12],"51":[6,6],"52":[0,315],"53":[315,14],"54":[241,74],"55":[315,52,52],"56":[52,263],"57":[114,149],"58":[430,0],"59":[430,430],"60":[422,8],"61":[16,406],"62":[16,16],"63":[28,394],"64":[422,195],"65":[6,416],"66":[422,195,6,6],"67":[16,406],"68":[184,238],"69":[16,398],"70":[414,0],"71":[62,0],"72":[38,16],"73":[8,8],"74":[16,0],"75":[4,119],"76":[4,115],"77":[123,599],"78":[14,971],"79":[985,693,689],"80":[296,675],"81":[971,679,679],"82":[0,51],"83":[7,44],"84":[386,0],"85":[0,0]},"f":{"1":1,"2":0,"3":1,"4":272,"5":243,"6":3011,"7":16,"8":14,"9":16,"10":161,"11":361,"12":361,"13":348,"14":575,"15":6,"16":1,"17":272,"18":1705,"19":1062,"20":76,"21":232,"22":14,"23":38,"24":272,"25":264,"26":120,"27":664,"28":425,"29":63,"30":341,"31":430,"32":62,"33":8,"34":414,"35":38,"36":38,"37":16,"38":16,"39":125,"40":123,"41":722,"42":985,"43":51,"44":386,"45":148,"46":210,"47":31,"48":202,"49":8},"fnMap":{"1":{"name":"(anonymous_1)","line":9,"loc":{"start":{"line":9,"column":1},"end":{"line":9,"column":26}}},"2":{"name":"(anonymous_2)","line":12,"loc":{"start":{"line":12,"column":27},"end":{"line":12,"column":40}},"skip":true},"3":{"name":"(anonymous_3)","line":22,"loc":{"start":{"line":22,"column":8},"end":{"line":22,"column":40}}},"4":{"name":"getDefaultBehavioralOptions","line":33,"loc":{"start":{"line":33,"column":4},"end":{"line":33,"column":43}}},"5":{"name":"getDefaultClientMeta","line":47,"loc":{"start":{"line":47,"column":4},"end":{"line":47,"column":36}}},"6":{"name":"getLeaklessArgs","line":60,"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":45}}},"7":{"name":"getChildFsmInstance","line":68,"loc":{"start":{"line":68,"column":4},"end":{"line":68,"column":41}}},"8":{"name":"(anonymous_8)","line":79,"loc":{"start":{"line":79,"column":45},"end":{"line":79,"column":57}}},"9":{"name":"listenToChild","line":90,"loc":{"start":{"line":90,"column":4},"end":{"line":90,"column":39}}},"10":{"name":"(anonymous_10)","line":91,"loc":{"start":{"line":91,"column":29},"end":{"line":91,"column":56}}},"11":{"name":"(anonymous_11)","line":121,"loc":{"start":{"line":121,"column":17},"end":{"line":121,"column":52}}},"12":{"name":"(anonymous_12)","line":125,"loc":{"start":{"line":125,"column":19},"end":{"line":125,"column":31}}},"13":{"name":"(anonymous_13)","line":137,"loc":{"start":{"line":137,"column":18},"end":{"line":137,"column":30}}},"14":{"name":"(anonymous_14)","line":163,"loc":{"start":{"line":163,"column":53},"end":{"line":163,"column":80}}},"15":{"name":"createUUID","line":183,"loc":{"start":{"line":183,"column":4},"end":{"line":183,"column":26}}},"16":{"name":"(anonymous_16)","line":196,"loc":{"start":{"line":196,"column":27},"end":{"line":196,"column":39}}},"17":{"name":"(anonymous_17)","line":198,"loc":{"start":{"line":198,"column":19},"end":{"line":198,"column":31}}},"18":{"name":"(anonymous_18)","line":211,"loc":{"start":{"line":211,"column":14},"end":{"line":211,"column":35}}},"19":{"name":"(anonymous_19)","line":214,"loc":{"start":{"line":214,"column":49},"end":{"line":214,"column":69}}},"20":{"name":"(anonymous_20)","line":229,"loc":{"start":{"line":229,"column":55},"end":{"line":229,"column":75}}},"21":{"name":"(anonymous_21)","line":245,"loc":{"start":{"line":245,"column":12},"end":{"line":245,"column":43}}},"22":{"name":"(anonymous_22)","line":257,"loc":{"start":{"line":257,"column":21},"end":{"line":257,"column":33}}},"23":{"name":"(anonymous_23)","line":263,"loc":{"start":{"line":263,"column":13},"end":{"line":263,"column":44}}},"24":{"name":"BehavioralFsm","line":281,"loc":{"start":{"line":281,"column":4},"end":{"line":281,"column":36}}},"25":{"name":"(anonymous_25)","line":289,"loc":{"start":{"line":289,"column":20},"end":{"line":289,"column":32}}},"26":{"name":"initClient","line":291,"loc":{"start":{"line":291,"column":20},"end":{"line":291,"column":48}}},"27":{"name":"ensureClientMeta","line":302,"loc":{"start":{"line":302,"column":26},"end":{"line":302,"column":60}}},"28":{"name":"(anonymous_28)","line":314,"loc":{"start":{"line":314,"column":27},"end":{"line":314,"column":51}}},"29":{"name":"(anonymous_29)","line":329,"loc":{"start":{"line":329,"column":24},"end":{"line":329,"column":52}}},"30":{"name":"(anonymous_30)","line":341,"loc":{"start":{"line":341,"column":16},"end":{"line":341,"column":41}}},"31":{"name":"(anonymous_31)","line":413,"loc":{"start":{"line":413,"column":20},"end":{"line":413,"column":48}}},"32":{"name":"(anonymous_32)","line":464,"loc":{"start":{"line":464,"column":30},"end":{"line":464,"column":59}}},"33":{"name":"(anonymous_33)","line":481,"loc":{"start":{"line":481,"column":28},"end":{"line":481,"column":57}}},"34":{"name":"(anonymous_34)","line":486,"loc":{"start":{"line":486,"column":22},"end":{"line":486,"column":40}}},"35":{"name":"(anonymous_35)","line":488,"loc":{"start":{"line":488,"column":27},"end":{"line":488,"column":43}}},"36":{"name":"(anonymous_36)","line":493,"loc":{"start":{"line":493,"column":30},"end":{"line":493,"column":46}}},"37":{"name":"(anonymous_37)","line":498,"loc":{"start":{"line":498,"column":20},"end":{"line":498,"column":44}}},"38":{"name":"(anonymous_38)","line":503,"loc":{"start":{"line":503,"column":29},"end":{"line":503,"column":45}}},"39":{"name":"(anonymous_39)","line":514,"loc":{"start":{"line":514,"column":21},"end":{"line":514,"column":33}}},"40":{"name":"initClient","line":518,"loc":{"start":{"line":518,"column":20},"end":{"line":518,"column":42}}},"41":{"name":"ensureClientMeta","line":528,"loc":{"start":{"line":528,"column":26},"end":{"line":528,"column":54}}},"42":{"name":"(anonymous_42)","line":537,"loc":{"start":{"line":537,"column":25},"end":{"line":537,"column":41}}},"43":{"name":"(anonymous_43)","line":549,"loc":{"start":{"line":549,"column":24},"end":{"line":549,"column":52}}},"44":{"name":"(anonymous_44)","line":561,"loc":{"start":{"line":561,"column":27},"end":{"line":561,"column":39}}},"45":{"name":"(anonymous_45)","line":575,"loc":{"start":{"line":575,"column":16},"end":{"line":575,"column":37}}},"46":{"name":"(anonymous_46)","line":579,"loc":{"start":{"line":579,"column":20},"end":{"line":579,"column":40}}},"47":{"name":"(anonymous_47)","line":583,"loc":{"start":{"line":583,"column":30},"end":{"line":583,"column":51}}},"48":{"name":"(anonymous_48)","line":587,"loc":{"start":{"line":587,"column":22},"end":{"line":587,"column":34}}},"49":{"name":"(anonymous_49)","line":591,"loc":{"start":{"line":591,"column":20},"end":{"line":591,"column":41}}}},"statementMap":{"1":{"start":{"line":9,"column":0},"end":{"line":607,"column":4}},"2":{"start":{"line":10,"column":4},"end":{"line":21,"column":5}},"3":{"start":{"line":12,"column":8},"end":{"line":14,"column":11},"skip":true},"4":{"start":{"line":13,"column":12},"end":{"line":13,"column":36},"skip":true},"5":{"start":{"line":15,"column":11},"end":{"line":21,"column":5}},"6":{"start":{"line":17,"column":8},"end":{"line":17,"column":52}},"7":{"start":{"line":20,"column":8},"end":{"line":20,"column":45},"skip":true},"8":{"start":{"line":23,"column":4},"end":{"line":23,"column":25}},"9":{"start":{"line":24,"column":4},"end":{"line":24,"column":39}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":30}},"11":{"start":{"line":26,"column":4},"end":{"line":26,"column":28}},"12":{"start":{"line":27,"column":4},"end":{"line":27,"column":33}},"13":{"start":{"line":28,"column":4},"end":{"line":28,"column":34}},"14":{"start":{"line":29,"column":4},"end":{"line":29,"column":39}},"15":{"start":{"line":30,"column":4},"end":{"line":30,"column":30}},"16":{"start":{"line":31,"column":4},"end":{"line":31,"column":27}},"17":{"start":{"line":33,"column":4},"end":{"line":45,"column":5}},"18":{"start":{"line":34,"column":8},"end":{"line":44,"column":10}},"19":{"start":{"line":47,"column":4},"end":{"line":58,"column":5}},"20":{"start":{"line":48,"column":8},"end":{"line":57,"column":10}},"21":{"start":{"line":60,"column":4},"end":{"line":66,"column":5}},"22":{"start":{"line":61,"column":8},"end":{"line":61,"column":24}},"23":{"start":{"line":62,"column":8},"end":{"line":64,"column":9}},"24":{"start":{"line":63,"column":12},"end":{"line":63,"column":32}},"25":{"start":{"line":65,"column":8},"end":{"line":65,"column":22}},"26":{"start":{"line":68,"column":4},"end":{"line":88,"column":5}},"27":{"start":{"line":69,"column":8},"end":{"line":71,"column":9}},"28":{"start":{"line":70,"column":12},"end":{"line":70,"column":19}},"29":{"start":{"line":72,"column":8},"end":{"line":72,"column":36}},"30":{"start":{"line":73,"column":8},"end":{"line":85,"column":9}},"31":{"start":{"line":75,"column":12},"end":{"line":82,"column":13}},"32":{"start":{"line":76,"column":16},"end":{"line":76,"column":44}},"33":{"start":{"line":79,"column":16},"end":{"line":81,"column":18}},"34":{"start":{"line":80,"column":20},"end":{"line":80,"column":34}},"35":{"start":{"line":83,"column":15},"end":{"line":85,"column":9}},"36":{"start":{"line":84,"column":12},"end":{"line":84,"column":48}},"37":{"start":{"line":86,"column":8},"end":{"line":86,"column":67}},"38":{"start":{"line":87,"column":8},"end":{"line":87,"column":34}},"39":{"start":{"line":90,"column":4},"end":{"line":115,"column":5}},"40":{"start":{"line":91,"column":8},"end":{"line":114,"column":11}},"41":{"start":{"line":92,"column":12},"end":{"line":113,"column":13}},"42":{"start":{"line":94,"column":16},"end":{"line":97,"column":17}},"43":{"start":{"line":96,"column":20},"end":{"line":96,"column":49}},"44":{"start":{"line":99,"column":16},"end":{"line":101,"column":17}},"45":{"start":{"line":100,"column":20},"end":{"line":100,"column":53}},"46":{"start":{"line":102,"column":16},"end":{"line":102,"column":22}},"47":{"start":{"line":104,"column":16},"end":{"line":104,"column":41}},"48":{"start":{"line":105,"column":16},"end":{"line":107,"column":17}},"49":{"start":{"line":106,"column":20},"end":{"line":106,"column":58}},"50":{"start":{"line":108,"column":16},"end":{"line":108,"column":42}},"51":{"start":{"line":109,"column":16},"end":{"line":109,"column":22}},"52":{"start":{"line":111,"column":16},"end":{"line":111,"column":42}},"53":{"start":{"line":112,"column":16},"end":{"line":112,"column":22}},"54":{"start":{"line":120,"column":4},"end":{"line":120,"column":47}},"55":{"start":{"line":121,"column":4},"end":{"line":181,"column":6}},"56":{"start":{"line":122,"column":8},"end":{"line":122,"column":26}},"57":{"start":{"line":123,"column":8},"end":{"line":123,"column":16}},"58":{"start":{"line":124,"column":8},"end":{"line":124,"column":25}},"59":{"start":{"line":125,"column":8},"end":{"line":125,"column":34}},"60":{"start":{"line":129,"column":8},"end":{"line":149,"column":9}},"61":{"start":{"line":130,"column":12},"end":{"line":130,"column":41}},"62":{"start":{"line":137,"column":12},"end":{"line":148,"column":14}},"63":{"start":{"line":138,"column":16},"end":{"line":138,"column":52}},"64":{"start":{"line":139,"column":16},"end":{"line":139,"column":40}},"65":{"start":{"line":140,"column":16},"end":{"line":140,"column":33}},"66":{"start":{"line":141,"column":16},"end":{"line":141,"column":58}},"67":{"start":{"line":142,"column":16},"end":{"line":144,"column":19}},"68":{"start":{"line":145,"column":16},"end":{"line":145,"column":86}},"69":{"start":{"line":146,"column":16},"end":{"line":146,"column":48}},"70":{"start":{"line":147,"column":16},"end":{"line":147,"column":41}},"71":{"start":{"line":152,"column":8},"end":{"line":152,"column":29}},"72":{"start":{"line":156,"column":8},"end":{"line":156,"column":42}},"73":{"start":{"line":157,"column":8},"end":{"line":157,"column":35}},"74":{"start":{"line":161,"column":8},"end":{"line":168,"column":9}},"75":{"start":{"line":162,"column":12},"end":{"line":162,"column":48}},"76":{"start":{"line":163,"column":12},"end":{"line":167,"column":16}},"77":{"start":{"line":164,"column":16},"end":{"line":166,"column":17}},"78":{"start":{"line":165,"column":20},"end":{"line":165,"column":37}},"79":{"start":{"line":171,"column":8},"end":{"line":173,"column":9}},"80":{"start":{"line":172,"column":12},"end":{"line":172,"column":38}},"81":{"start":{"line":176,"column":8},"end":{"line":176,"column":40}},"82":{"start":{"line":179,"column":8},"end":{"line":179,"column":41}},"83":{"start":{"line":180,"column":8},"end":{"line":180,"column":19}},"84":{"start":{"line":183,"column":4},"end":{"line":193,"column":5}},"85":{"start":{"line":184,"column":8},"end":{"line":184,"column":19}},"86":{"start":{"line":185,"column":8},"end":{"line":185,"column":43}},"87":{"start":{"line":186,"column":8},"end":{"line":188,"column":9}},"88":{"start":{"line":187,"column":12},"end":{"line":187,"column":73}},"89":{"start":{"line":189,"column":8},"end":{"line":189,"column":20}},"90":{"start":{"line":190,"column":8},"end":{"line":190,"column":57}},"91":{"start":{"line":191,"column":8},"end":{"line":191,"column":43}},"92":{"start":{"line":192,"column":8},"end":{"line":192,"column":26}},"93":{"start":{"line":195,"column":4},"end":{"line":207,"column":6}},"94":{"start":{"line":197,"column":12},"end":{"line":197,"column":33}},"95":{"start":{"line":198,"column":12},"end":{"line":200,"column":14}},"96":{"start":{"line":199,"column":16},"end":{"line":199,"column":47}},"97":{"start":{"line":209,"column":4},"end":{"line":277,"column":6}},"98":{"start":{"line":212,"column":12},"end":{"line":212,"column":50}},"99":{"start":{"line":213,"column":12},"end":{"line":227,"column":13}},"100":{"start":{"line":214,"column":16},"end":{"line":226,"column":25}},"101":{"start":{"line":215,"column":20},"end":{"line":225,"column":21}},"102":{"start":{"line":216,"column":24},"end":{"line":216,"column":51}},"103":{"start":{"line":218,"column":24},"end":{"line":224,"column":25}},"104":{"start":{"line":219,"column":28},"end":{"line":219,"column":55}},"105":{"start":{"line":221,"column":28},"end":{"line":223,"column":29}},"106":{"start":{"line":222,"column":32},"end":{"line":222,"column":61}},"107":{"start":{"line":228,"column":12},"end":{"line":242,"column":13}},"108":{"start":{"line":229,"column":16},"end":{"line":241,"column":25}},"109":{"start":{"line":230,"column":20},"end":{"line":240,"column":21}},"110":{"start":{"line":231,"column":24},"end":{"line":231,"column":60}},"111":{"start":{"line":233,"column":24},"end":{"line":239,"column":25}},"112":{"start":{"line":234,"column":28},"end":{"line":234,"column":64}},"113":{"start":{"line":236,"column":28},"end":{"line":238,"column":29}},"114":{"start":{"line":237,"column":32},"end":{"line":237,"column":61}},"115":{"start":{"line":246,"column":12},"end":{"line":246,"column":28}},"116":{"start":{"line":247,"column":12},"end":{"line":249,"column":14}},"117":{"start":{"line":250,"column":12},"end":{"line":252,"column":13}},"118":{"start":{"line":251,"column":16},"end":{"line":251,"column":52}},"119":{"start":{"line":253,"column":12},"end":{"line":253,"column":58}},"120":{"start":{"line":254,"column":12},"end":{"line":260,"column":14}},"121":{"start":{"line":258,"column":20},"end":{"line":258,"column":50}},"122":{"start":{"line":264,"column":12},"end":{"line":266,"column":14}},"123":{"start":{"line":267,"column":12},"end":{"line":275,"column":13}},"124":{"start":{"line":268,"column":16},"end":{"line":268,"column":41}},"125":{"start":{"line":270,"column":16},"end":{"line":274,"column":17}},"126":{"start":{"line":271,"column":20},"end":{"line":271,"column":105}},"127":{"start":{"line":273,"column":20},"end":{"line":273,"column":56}},"128":{"start":{"line":279,"column":4},"end":{"line":279,"column":37}},"129":{"start":{"line":281,"column":4},"end":{"line":286,"column":5}},"130":{"start":{"line":282,"column":8},"end":{"line":282,"column":32}},"131":{"start":{"line":283,"column":8},"end":{"line":283,"column":56}},"132":{"start":{"line":284,"column":8},"end":{"line":284,"column":47}},"133":{"start":{"line":285,"column":8},"end":{"line":285,"column":36}},"134":{"start":{"line":288,"column":4},"end":{"line":509,"column":16}},"135":{"start":{"line":292,"column":12},"end":{"line":292,"column":49}},"136":{"start":{"line":293,"column":12},"end":{"line":295,"column":13}},"137":{"start":{"line":294,"column":16},"end":{"line":294,"column":82}},"138":{"start":{"line":296,"column":12},"end":{"line":298,"column":13}},"139":{"start":{"line":297,"column":16},"end":{"line":297,"column":100}},"140":{"start":{"line":299,"column":12},"end":{"line":299,"column":50}},"141":{"start":{"line":303,"column":12},"end":{"line":305,"column":13}},"142":{"start":{"line":304,"column":16},"end":{"line":304,"column":68}},"143":{"start":{"line":306,"column":12},"end":{"line":306,"column":62}},"144":{"start":{"line":307,"column":12},"end":{"line":310,"column":13}},"145":{"start":{"line":308,"column":16},"end":{"line":308,"column":97}},"146":{"start":{"line":309,"column":16},"end":{"line":309,"column":40}},"147":{"start":{"line":311,"column":12},"end":{"line":311,"column":56}},"148":{"start":{"line":315,"column":12},"end":{"line":326,"column":13}},"149":{"start":{"line":316,"column":16},"end":{"line":319,"column":19}},"150":{"start":{"line":321,"column":16},"end":{"line":325,"column":18}},"151":{"start":{"line":333,"column":12},"end":{"line":333,"column":38}},"152":{"start":{"line":334,"column":12},"end":{"line":334,"column":33}},"153":{"start":{"line":335,"column":12},"end":{"line":337,"column":13}},"154":{"start":{"line":336,"column":16},"end":{"line":336,"column":52}},"155":{"start":{"line":338,"column":12},"end":{"line":338,"column":74}},"156":{"start":{"line":342,"column":12},"end":{"line":342,"column":26}},"157":{"start":{"line":343,"column":12},"end":{"line":343,"column":26}},"158":{"start":{"line":344,"column":12},"end":{"line":344,"column":23}},"159":{"start":{"line":345,"column":12},"end":{"line":345,"column":33}},"160":{"start":{"line":346,"column":12},"end":{"line":352,"column":13}},"161":{"start":{"line":347,"column":16},"end":{"line":351,"column":18}},"162":{"start":{"line":353,"column":12},"end":{"line":353,"column":59}},"163":{"start":{"line":354,"column":12},"end":{"line":354,"column":50}},"164":{"start":{"line":355,"column":12},"end":{"line":357,"column":13}},"165":{"start":{"line":356,"column":16},"end":{"line":356,"column":44}},"166":{"start":{"line":358,"column":12},"end":{"line":358,"column":57}},"167":{"start":{"line":359,"column":12},"end":{"line":359,"column":48}},"168":{"start":{"line":360,"column":12},"end":{"line":360,"column":53}},"169":{"start":{"line":361,"column":12},"end":{"line":361,"column":28}},"170":{"start":{"line":362,"column":12},"end":{"line":362,"column":24}},"171":{"start":{"line":363,"column":12},"end":{"line":363,"column":35}},"172":{"start":{"line":364,"column":12},"end":{"line":364,"column":22}},"173":{"start":{"line":365,"column":12},"end":{"line":365,"column":23}},"174":{"start":{"line":366,"column":12},"end":{"line":409,"column":13}},"175":{"start":{"line":367,"column":16},"end":{"line":367,"column":68}},"176":{"start":{"line":368,"column":16},"end":{"line":408,"column":17}},"177":{"start":{"line":369,"column":20},"end":{"line":369,"column":78}},"178":{"start":{"line":370,"column":20},"end":{"line":370,"column":46}},"179":{"start":{"line":371,"column":20},"end":{"line":373,"column":22}},"180":{"start":{"line":376,"column":20},"end":{"line":376,"column":61}},"181":{"start":{"line":378,"column":20},"end":{"line":380,"column":21}},"182":{"start":{"line":379,"column":24},"end":{"line":379,"column":72}},"183":{"start":{"line":381,"column":20},"end":{"line":381,"column":90}},"184":{"start":{"line":382,"column":20},"end":{"line":382,"column":55}},"185":{"start":{"line":383,"column":20},"end":{"line":383,"column":88}},"186":{"start":{"line":384,"column":20},"end":{"line":384,"column":66}},"187":{"start":{"line":385,"column":20},"end":{"line":385,"column":54}},"188":{"start":{"line":386,"column":20},"end":{"line":391,"column":23}},"189":{"start":{"line":392,"column":20},"end":{"line":405,"column":21}},"190":{"start":{"line":393,"column":24},"end":{"line":395,"column":42}},"191":{"start":{"line":397,"column":24},"end":{"line":397,"column":58}},"192":{"start":{"line":398,"column":24},"end":{"line":403,"column":25}},"193":{"start":{"line":399,"column":28},"end":{"line":399,"column":96}},"194":{"start":{"line":401,"column":28},"end":{"line":401,"column":45}},"195":{"start":{"line":402,"column":28},"end":{"line":402,"column":61}},"196":{"start":{"line":404,"column":24},"end":{"line":404,"column":57}},"197":{"start":{"line":406,"column":20},"end":{"line":406,"column":70}},"198":{"start":{"line":407,"column":20},"end":{"line":407,"column":50}},"199":{"start":{"line":410,"column":12},"end":{"line":410,"column":26}},"200":{"start":{"line":414,"column":12},"end":{"line":414,"column":59}},"201":{"start":{"line":415,"column":12},"end":{"line":415,"column":44}},"202":{"start":{"line":416,"column":12},"end":{"line":416,"column":52}},"203":{"start":{"line":417,"column":12},"end":{"line":417,"column":52}},"204":{"start":{"line":418,"column":12},"end":{"line":418,"column":25}},"205":{"start":{"line":419,"column":12},"end":{"line":419,"column":22}},"206":{"start":{"line":420,"column":12},"end":{"line":461,"column":13}},"207":{"start":{"line":421,"column":16},"end":{"line":456,"column":17}},"208":{"start":{"line":422,"column":20},"end":{"line":425,"column":21}},"209":{"start":{"line":423,"column":24},"end":{"line":423,"column":85}},"210":{"start":{"line":424,"column":24},"end":{"line":424,"column":82}},"211":{"start":{"line":426,"column":20},"end":{"line":430,"column":21}},"212":{"start":{"line":427,"column":24},"end":{"line":427,"column":56}},"213":{"start":{"line":428,"column":24},"end":{"line":428,"column":63}},"214":{"start":{"line":429,"column":24},"end":{"line":429,"column":57}},"215":{"start":{"line":431,"column":20},"end":{"line":433,"column":21}},"216":{"start":{"line":432,"column":24},"end":{"line":432,"column":84}},"217":{"start":{"line":434,"column":20},"end":{"line":434,"column":60}},"218":{"start":{"line":435,"column":20},"end":{"line":435,"column":53}},"219":{"start":{"line":436,"column":20},"end":{"line":436,"column":48}},"220":{"start":{"line":437,"column":20},"end":{"line":439,"column":21}},"221":{"start":{"line":438,"column":24},"end":{"line":438,"column":91}},"222":{"start":{"line":440,"column":20},"end":{"line":444,"column":23}},"223":{"start":{"line":445,"column":20},"end":{"line":445,"column":56}},"224":{"start":{"line":446,"column":20},"end":{"line":448,"column":21}},"225":{"start":{"line":447,"column":24},"end":{"line":447,"column":64}},"226":{"start":{"line":449,"column":20},"end":{"line":451,"column":21}},"227":{"start":{"line":450,"column":24},"end":{"line":450,"column":55}},"228":{"start":{"line":452,"column":20},"end":{"line":454,"column":21}},"229":{"start":{"line":453,"column":24},"end":{"line":453,"column":67}},"230":{"start":{"line":455,"column":20},"end":{"line":455,"column":27}},"231":{"start":{"line":457,"column":16},"end":{"line":460,"column":20}},"232":{"start":{"line":465,"column":12},"end":{"line":465,"column":59}},"233":{"start":{"line":466,"column":12},"end":{"line":478,"column":13}},"234":{"start":{"line":467,"column":16},"end":{"line":471,"column":18}},"235":{"start":{"line":472,"column":16},"end":{"line":472,"column":51}},"236":{"start":{"line":473,"column":16},"end":{"line":476,"column":19}},"237":{"start":{"line":477,"column":16},"end":{"line":477,"column":50}},"238":{"start":{"line":482,"column":12},"end":{"line":482,"column":57}},"239":{"start":{"line":483,"column":12},"end":{"line":483,"column":47}},"240":{"start":{"line":487,"column":12},"end":{"line":487,"column":59}},"241":{"start":{"line":488,"column":12},"end":{"line":490,"column":14}},"242":{"start":{"line":489,"column":16},"end":{"line":489,"column":86}},"243":{"start":{"line":491,"column":12},"end":{"line":491,"column":70}},"244":{"start":{"line":492,"column":12},"end":{"line":492,"column":83}},"245":{"start":{"line":493,"column":12},"end":{"line":495,"column":21}},"246":{"start":{"line":494,"column":16},"end":{"line":494,"column":68}},"247":{"start":{"line":499,"column":12},"end":{"line":499,"column":59}},"248":{"start":{"line":500,"column":12},"end":{"line":507,"column":13}},"249":{"start":{"line":501,"column":16},"end":{"line":501,"column":43}},"250":{"start":{"line":503,"column":16},"end":{"line":505,"column":18}},"251":{"start":{"line":504,"column":20},"end":{"line":504,"column":68}},"252":{"start":{"line":506,"column":16},"end":{"line":506,"column":80}},"253":{"start":{"line":511,"column":4},"end":{"line":511,"column":34}},"254":{"start":{"line":513,"column":4},"end":{"line":595,"column":7}},"255":{"start":{"line":515,"column":12},"end":{"line":515,"column":49}},"256":{"start":{"line":516,"column":12},"end":{"line":516,"column":36}},"257":{"start":{"line":519,"column":12},"end":{"line":519,"column":49}},"258":{"start":{"line":520,"column":12},"end":{"line":522,"column":13}},"259":{"start":{"line":521,"column":16},"end":{"line":521,"column":82}},"260":{"start":{"line":523,"column":12},"end":{"line":525,"column":13}},"261":{"start":{"line":524,"column":16},"end":{"line":524,"column":100}},"262":{"start":{"line":526,"column":12},"end":{"line":526,"column":42}},"263":{"start":{"line":529,"column":12},"end":{"line":533,"column":13}},"264":{"start":{"line":530,"column":16},"end":{"line":530,"column":37}},"265":{"start":{"line":531,"column":16},"end":{"line":531,"column":70}},"266":{"start":{"line":532,"column":16},"end":{"line":532,"column":34}},"267":{"start":{"line":534,"column":12},"end":{"line":534,"column":24}},"268":{"start":{"line":538,"column":12},"end":{"line":538,"column":29}},"269":{"start":{"line":541,"column":12},"end":{"line":545,"column":13}},"270":{"start":{"line":542,"column":16},"end":{"line":542,"column":41}},"271":{"start":{"line":543,"column":19},"end":{"line":545,"column":13}},"272":{"start":{"line":544,"column":16},"end":{"line":544,"column":36}},"273":{"start":{"line":546,"column":12},"end":{"line":546,"column":25}},"274":{"start":{"line":553,"column":12},"end":{"line":553,"column":29}},"275":{"start":{"line":554,"column":12},"end":{"line":554,"column":33}},"276":{"start":{"line":555,"column":12},"end":{"line":557,"column":13}},"277":{"start":{"line":556,"column":16},"end":{"line":556,"column":52}},"278":{"start":{"line":558,"column":12},"end":{"line":558,"column":64}},"279":{"start":{"line":562,"column":12},"end":{"line":562,"column":78}},"280":{"start":{"line":563,"column":12},"end":{"line":563,"column":31}},"281":{"start":{"line":564,"column":12},"end":{"line":573,"column":13}},"282":{"start":{"line":565,"column":16},"end":{"line":567,"column":19}},"283":{"start":{"line":569,"column":16},"end":{"line":572,"column":18}},"284":{"start":{"line":576,"column":12},"end":{"line":576,"column":78}},"285":{"start":{"line":577,"column":12},"end":{"line":577,"column":68}},"286":{"start":{"line":580,"column":12},"end":{"line":580,"column":78}},"287":{"start":{"line":581,"column":12},"end":{"line":581,"column":72}},"288":{"start":{"line":584,"column":12},"end":{"line":584,"column":78}},"289":{"start":{"line":585,"column":12},"end":{"line":585,"column":82}},"290":{"start":{"line":588,"column":12},"end":{"line":588,"column":78}},"291":{"start":{"line":589,"column":12},"end":{"line":589,"column":74}},"292":{"start":{"line":592,"column":12},"end":{"line":592,"column":78}},"293":{"start":{"line":593,"column":12},"end":{"line":593,"column":72}},"294":{"start":{"line":597,"column":4},"end":{"line":604,"column":7}},"295":{"start":{"line":606,"column":4},"end":{"line":606,"column":19}}},"branchMap":{"1":{"line":10,"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":4},"skip":true},{"start":{"line":10,"column":4},"end":{"line":10,"column":4}}]},"2":{"line":10,"type":"binary-expr","locations":[{"start":{"line":10,"column":8},"end":{"line":10,"column":36}},{"start":{"line":10,"column":40},"end":{"line":10,"column":50}}]},"3":{"line":15,"type":"if","locations":[{"start":{"line":15,"column":11},"end":{"line":15,"column":11}},{"start":{"line":15,"column":11},"end":{"line":15,"column":11},"skip":true}]},"4":{"line":15,"type":"binary-expr","locations":[{"start":{"line":15,"column":15},"end":{"line":15,"column":41}},{"start":{"line":15,"column":45},"end":{"line":15,"column":59}}]},"5":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":8},"end":{"line":69,"column":8}},{"start":{"line":69,"column":8},"end":{"line":69,"column":8}}]},"6":{"line":73,"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":73,"column":8}},{"start":{"line":73,"column":8},"end":{"line":73,"column":8}}]},"7":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":12},"end":{"line":75,"column":12}},{"start":{"line":75,"column":12},"end":{"line":75,"column":12}}]},"8":{"line":83,"type":"if","locations":[{"start":{"line":83,"column":15},"end":{"line":83,"column":15}},{"start":{"line":83,"column":15},"end":{"line":83,"column":15}}]},"9":{"line":92,"type":"switch","locations":[{"start":{"line":93,"column":12},"end":{"line":102,"column":22}},{"start":{"line":103,"column":12},"end":{"line":109,"column":22}},{"start":{"line":110,"column":12},"end":{"line":112,"column":22}}]},"10":{"line":94,"type":"if","locations":[{"start":{"line":94,"column":16},"end":{"line":94,"column":16}},{"start":{"line":94,"column":16},"end":{"line":94,"column":16}}]},"11":{"line":94,"type":"binary-expr","locations":[{"start":{"line":94,"column":20},"end":{"line":94,"column":32}},{"start":{"line":94,"column":36},"end":{"line":94,"column":51}},{"start":{"line":94,"column":55},"end":{"line":94,"column":87}}]},"12":{"line":99,"type":"if","locations":[{"start":{"line":99,"column":16},"end":{"line":99,"column":16}},{"start":{"line":99,"column":16},"end":{"line":99,"column":16}}]},"13":{"line":105,"type":"if","locations":[{"start":{"line":105,"column":16},"end":{"line":105,"column":16}},{"start":{"line":105,"column":16},"end":{"line":105,"column":16}}]},"14":{"line":105,"type":"binary-expr","locations":[{"start":{"line":105,"column":20},"end":{"line":105,"column":26}},{"start":{"line":105,"column":30},"end":{"line":105,"column":60}}]},"15":{"line":129,"type":"if","locations":[{"start":{"line":129,"column":8},"end":{"line":129,"column":8}},{"start":{"line":129,"column":8},"end":{"line":129,"column":8}}]},"16":{"line":129,"type":"binary-expr","locations":[{"start":{"line":129,"column":12},"end":{"line":129,"column":22}},{"start":{"line":129,"column":26},"end":{"line":129,"column":66}}]},"17":{"line":139,"type":"binary-expr","locations":[{"start":{"line":139,"column":26},"end":{"line":139,"column":33}},{"start":{"line":139,"column":37},"end":{"line":139,"column":39}}]},"18":{"line":141,"type":"binary-expr","locations":[{"start":{"line":141,"column":37},"end":{"line":141,"column":51}},{"start":{"line":141,"column":55},"end":{"line":141,"column":57}}]},"19":{"line":145,"type":"binary-expr","locations":[{"start":{"line":145,"column":44},"end":{"line":145,"column":64}},{"start":{"line":145,"column":68},"end":{"line":145,"column":85}}]},"20":{"line":161,"type":"if","locations":[{"start":{"line":161,"column":8},"end":{"line":161,"column":8}},{"start":{"line":161,"column":8},"end":{"line":161,"column":8}}]},"21":{"line":164,"type":"if","locations":[{"start":{"line":164,"column":16},"end":{"line":164,"column":16}},{"start":{"line":164,"column":16},"end":{"line":164,"column":16}}]},"22":{"line":171,"type":"if","locations":[{"start":{"line":171,"column":8},"end":{"line":171,"column":8}},{"start":{"line":171,"column":8},"end":{"line":171,"column":8}}]},"23":{"line":213,"type":"if","locations":[{"start":{"line":213,"column":12},"end":{"line":213,"column":12}},{"start":{"line":213,"column":12},"end":{"line":213,"column":12}}]},"24":{"line":215,"type":"if","locations":[{"start":{"line":215,"column":20},"end":{"line":215,"column":20}},{"start":{"line":215,"column":20},"end":{"line":215,"column":20}}]},"25":{"line":221,"type":"if","locations":[{"start":{"line":221,"column":28},"end":{"line":221,"column":28}},{"start":{"line":221,"column":28},"end":{"line":221,"column":28},"skip":true}]},"26":{"line":221,"type":"binary-expr","locations":[{"start":{"line":221,"column":32},"end":{"line":221,"column":39}},{"start":{"line":221,"column":43},"end":{"line":221,"column":77}}]},"27":{"line":228,"type":"if","locations":[{"start":{"line":228,"column":12},"end":{"line":228,"column":12}},{"start":{"line":228,"column":12},"end":{"line":228,"column":12}}]},"28":{"line":230,"type":"if","locations":[{"start":{"line":230,"column":20},"end":{"line":230,"column":20}},{"start":{"line":230,"column":20},"end":{"line":230,"column":20}}]},"29":{"line":236,"type":"if","locations":[{"start":{"line":236,"column":28},"end":{"line":236,"column":28}},{"start":{"line":236,"column":28},"end":{"line":236,"column":28},"skip":true}]},"30":{"line":236,"type":"binary-expr","locations":[{"start":{"line":236,"column":32},"end":{"line":236,"column":39}},{"start":{"line":236,"column":43},"end":{"line":236,"column":77}}]},"31":{"line":247,"type":"binary-expr","locations":[{"start":{"line":247,"column":34},"end":{"line":247,"column":53}},{"start":{"line":247,"column":57},"end":{"line":249,"column":13}}]},"32":{"line":250,"type":"if","locations":[{"start":{"line":250,"column":12},"end":{"line":250,"column":12}},{"start":{"line":250,"column":12},"end":{"line":250,"column":12}}]},"33":{"line":264,"type":"binary-expr","locations":[{"start":{"line":264,"column":34},"end":{"line":264,"column":53}},{"start":{"line":264,"column":57},"end":{"line":266,"column":13}}]},"34":{"line":267,"type":"if","locations":[{"start":{"line":267,"column":12},"end":{"line":267,"column":12}},{"start":{"line":267,"column":12},"end":{"line":267,"column":12}}]},"35":{"line":270,"type":"if","locations":[{"start":{"line":270,"column":16},"end":{"line":270,"column":16}},{"start":{"line":270,"column":16},"end":{"line":270,"column":16}}]},"36":{"line":293,"type":"if","locations":[{"start":{"line":293,"column":12},"end":{"line":293,"column":12}},{"start":{"line":293,"column":12},"end":{"line":293,"column":12}}]},"37":{"line":296,"type":"if","locations":[{"start":{"line":296,"column":12},"end":{"line":296,"column":12}},{"start":{"line":296,"column":12},"end":{"line":296,"column":12}}]},"38":{"line":303,"type":"if","locations":[{"start":{"line":303,"column":12},"end":{"line":303,"column":12}},{"start":{"line":303,"column":12},"end":{"line":303,"column":12}}]},"39":{"line":306,"type":"binary-expr","locations":[{"start":{"line":306,"column":35},"end":{"line":306,"column":55}},{"start":{"line":306,"column":59},"end":{"line":306,"column":61}}]},"40":{"line":307,"type":"if","locations":[{"start":{"line":307,"column":12},"end":{"line":307,"column":12}},{"start":{"line":307,"column":12},"end":{"line":307,"column":12}}]},"41":{"line":315,"type":"if","locations":[{"start":{"line":315,"column":12},"end":{"line":315,"column":12}},{"start":{"line":315,"column":12},"end":{"line":315,"column":12}}]},"42":{"line":323,"type":"binary-expr","locations":[{"start":{"line":323,"column":26},"end":{"line":323,"column":30}},{"start":{"line":323,"column":34},"end":{"line":323,"column":38}}]},"43":{"line":335,"type":"if","locations":[{"start":{"line":335,"column":12},"end":{"line":335,"column":12}},{"start":{"line":335,"column":12},"end":{"line":335,"column":12}}]},"44":{"line":338,"type":"cond-expr","locations":[{"start":{"line":338,"column":32},"end":{"line":338,"column":37}},{"start":{"line":338,"column":40},"end":{"line":338,"column":73}}]},"45":{"line":346,"type":"if","locations":[{"start":{"line":346,"column":12},"end":{"line":346,"column":12}},{"start":{"line":346,"column":12},"end":{"line":346,"column":12}}]},"46":{"line":355,"type":"if","locations":[{"start":{"line":355,"column":12},"end":{"line":355,"column":12}},{"start":{"line":355,"column":12},"end":{"line":355,"column":12}}]},"47":{"line":366,"type":"if","locations":[{"start":{"line":366,"column":12},"end":{"line":366,"column":12}},{"start":{"line":366,"column":12},"end":{"line":366,"column":12}}]},"48":{"line":367,"type":"binary-expr","locations":[{"start":{"line":367,"column":24},"end":{"line":367,"column":39}},{"start":{"line":367,"column":43},"end":{"line":367,"column":67}}]},"49":{"line":368,"type":"if","locations":[{"start":{"line":368,"column":16},"end":{"line":368,"column":16}},{"start":{"line":368,"column":16},"end":{"line":368,"column":16}}]},"50":{"line":368,"type":"binary-expr","locations":[{"start":{"line":368,"column":20},"end":{"line":368,"column":25}},{"start":{"line":368,"column":29},"end":{"line":368,"column":70}},{"start":{"line":368,"column":74},"end":{"line":368,"column":92}}]},"51":{"line":369,"type":"binary-expr","locations":[{"start":{"line":369,"column":39},"end":{"line":369,"column":54}},{"start":{"line":369,"column":58},"end":{"line":369,"column":76}}]},"52":{"line":378,"type":"if","locations":[{"start":{"line":378,"column":20},"end":{"line":378,"column":20}},{"start":{"line":378,"column":20},"end":{"line":378,"column":20}}]},"53":{"line":378,"type":"binary-expr","locations":[{"start":{"line":378,"column":24},"end":{"line":378,"column":39}},{"start":{"line":378,"column":43},"end":{"line":378,"column":83}}]},"54":{"line":381,"type":"cond-expr","locations":[{"start":{"line":381,"column":65},"end":{"line":381,"column":83}},{"start":{"line":381,"column":86},"end":{"line":381,"column":89}}]},"55":{"line":383,"type":"binary-expr","locations":[{"start":{"line":383,"column":31},"end":{"line":383,"column":52}},{"start":{"line":383,"column":56},"end":{"line":383,"column":73}},{"start":{"line":383,"column":78},"end":{"line":383,"column":87}}]},"56":{"line":392,"type":"if","locations":[{"start":{"line":392,"column":20},"end":{"line":392,"column":20}},{"start":{"line":392,"column":20},"end":{"line":392,"column":20}}]},"57":{"line":398,"type":"if","locations":[{"start":{"line":398,"column":24},"end":{"line":398,"column":24}},{"start":{"line":398,"column":24},"end":{"line":398,"column":24}}]},"58":{"line":420,"type":"if","locations":[{"start":{"line":420,"column":12},"end":{"line":420,"column":12}},{"start":{"line":420,"column":12},"end":{"line":420,"column":12}}]},"59":{"line":420,"type":"binary-expr","locations":[{"start":{"line":420,"column":16},"end":{"line":420,"column":41}},{"start":{"line":420,"column":45},"end":{"line":420,"column":66}}]},"60":{"line":421,"type":"if","locations":[{"start":{"line":421,"column":16},"end":{"line":421,"column":16}},{"start":{"line":421,"column":16},"end":{"line":421,"column":16}}]},"61":{"line":422,"type":"if","locations":[{"start":{"line":422,"column":20},"end":{"line":422,"column":20}},{"start":{"line":422,"column":20},"end":{"line":422,"column":20}}]},"62":{"line":424,"type":"binary-expr","locations":[{"start":{"line":424,"column":32},"end":{"line":424,"column":50}},{"start":{"line":424,"column":54},"end":{"line":424,"column":81}}]},"63":{"line":426,"type":"if","locations":[{"start":{"line":426,"column":20},"end":{"line":426,"column":20}},{"start":{"line":426,"column":20},"end":{"line":426,"column":20}}]},"64":{"line":426,"type":"binary-expr","locations":[{"start":{"line":426,"column":24},"end":{"line":426,"column":35}},{"start":{"line":426,"column":39},"end":{"line":426,"column":58}}]},"65":{"line":431,"type":"if","locations":[{"start":{"line":431,"column":20},"end":{"line":431,"column":20}},{"start":{"line":431,"column":20},"end":{"line":431,"column":20}}]},"66":{"line":431,"type":"binary-expr","locations":[{"start":{"line":431,"column":24},"end":{"line":431,"column":35}},{"start":{"line":431,"column":39},"end":{"line":431,"column":57}},{"start":{"line":431,"column":61},"end":{"line":431,"column":88}},{"start":{"line":431,"column":92},"end":{"line":431,"column":145}}]},"67":{"line":437,"type":"if","locations":[{"start":{"line":437,"column":20},"end":{"line":437,"column":20}},{"start":{"line":437,"column":20},"end":{"line":437,"column":20}}]},"68":{"line":446,"type":"if","locations":[{"start":{"line":446,"column":20},"end":{"line":446,"column":20}},{"start":{"line":446,"column":20},"end":{"line":446,"column":20}}]},"69":{"line":449,"type":"if","locations":[{"start":{"line":449,"column":20},"end":{"line":449,"column":20}},{"start":{"line":449,"column":20},"end":{"line":449,"column":20}}]},"70":{"line":452,"type":"if","locations":[{"start":{"line":452,"column":20},"end":{"line":452,"column":20}},{"start":{"line":452,"column":20},"end":{"line":452,"column":20}}]},"71":{"line":466,"type":"if","locations":[{"start":{"line":466,"column":12},"end":{"line":466,"column":12}},{"start":{"line":466,"column":12},"end":{"line":466,"column":12}}]},"72":{"line":489,"type":"binary-expr","locations":[{"start":{"line":489,"column":25},"end":{"line":489,"column":41}},{"start":{"line":489,"column":47},"end":{"line":489,"column":83}}]},"73":{"line":500,"type":"if","locations":[{"start":{"line":500,"column":12},"end":{"line":500,"column":12}},{"start":{"line":500,"column":12},"end":{"line":500,"column":12}}]},"74":{"line":504,"type":"cond-expr","locations":[{"start":{"line":504,"column":35},"end":{"line":504,"column":59}},{"start":{"line":504,"column":62},"end":{"line":504,"column":66}}]},"75":{"line":520,"type":"if","locations":[{"start":{"line":520,"column":12},"end":{"line":520,"column":12}},{"start":{"line":520,"column":12},"end":{"line":520,"column":12}}]},"76":{"line":523,"type":"if","locations":[{"start":{"line":523,"column":12},"end":{"line":523,"column":12}},{"start":{"line":523,"column":12},"end":{"line":523,"column":12}}]},"77":{"line":529,"type":"if","locations":[{"start":{"line":529,"column":12},"end":{"line":529,"column":12}},{"start":{"line":529,"column":12},"end":{"line":529,"column":12}}]},"78":{"line":541,"type":"if","locations":[{"start":{"line":541,"column":12},"end":{"line":541,"column":12}},{"start":{"line":541,"column":12},"end":{"line":541,"column":12}}]},"79":{"line":541,"type":"binary-expr","locations":[{"start":{"line":541,"column":16},"end":{"line":541,"column":44}},{"start":{"line":541,"column":48},"end":{"line":541,"column":74}},{"start":{"line":541,"column":78},"end":{"line":541,"column":95}}]},"80":{"line":543,"type":"if","locations":[{"start":{"line":543,"column":19},"end":{"line":543,"column":19}},{"start":{"line":543,"column":19},"end":{"line":543,"column":19}}]},"81":{"line":543,"type":"binary-expr","locations":[{"start":{"line":543,"column":23},"end":{"line":543,"column":51}},{"start":{"line":543,"column":56},"end":{"line":543,"column":84}},{"start":{"line":543,"column":89},"end":{"line":543,"column":112}}]},"82":{"line":555,"type":"if","locations":[{"start":{"line":555,"column":12},"end":{"line":555,"column":12}},{"start":{"line":555,"column":12},"end":{"line":555,"column":12}}]},"83":{"line":558,"type":"cond-expr","locations":[{"start":{"line":558,"column":32},"end":{"line":558,"column":46}},{"start":{"line":558,"column":49},"end":{"line":558,"column":63}}]},"84":{"line":564,"type":"if","locations":[{"start":{"line":564,"column":12},"end":{"line":564,"column":12}},{"start":{"line":564,"column":12},"end":{"line":564,"column":12}}]},"85":{"line":570,"type":"binary-expr","locations":[{"start":{"line":570,"column":26},"end":{"line":570,"column":30}},{"start":{"line":570,"column":34},"end":{"line":570,"column":38}}]}}}} |
@@ -79,2 +79,20 @@ var gulp = require( "gulp" ); | ||
open( "http://localhost:" + port + "/index.html" ); | ||
} ); | ||
} ); | ||
var mocha = require( "gulp-spawn-mocha" ); | ||
gulp.task( "mocha", function() { | ||
return gulp.src( [ "spec/**/*.spec.js" ], { read: false } ) | ||
.pipe( mocha( { | ||
require: [ "spec/helpers/node-setup.js" ], | ||
reporter: "spec", | ||
colors: true, | ||
inlineDiffs: true, | ||
debug: false | ||
} ) ) | ||
.on( "error", console.warn.bind( console ) ); | ||
} ); | ||
gulp.task( "watch", [ "default", "mocha" ], function() { | ||
gulp.watch( "src/**/*", [ "default" ] ); | ||
gulp.watch( "{lib,spec}/**/*", [ "mocha" ] ); | ||
} ); |
/** | ||
* machina - A library for creating powerful and flexible finite state machines. Loosely inspired by Erlang/OTP's gen_fsm behavior. | ||
* machina - A library for creating powerful and flexible finite state machines. Loosely inspired by Erlang/OTP's gen_fsm behavior. | ||
* Author: Jim Cowart (http://ifandelse.com) | ||
* Version: v0.4.1 | ||
* Version: v1.0.0-1 | ||
* Url: http://machina-js.org/ | ||
@@ -9,3 +9,3 @@ * License(s): MIT, GPL | ||
(function (root, factory) { | ||
(function (root, factory) { /* istanbul ignore if */ | ||
if (typeof define === "function" && define.amd) { | ||
@@ -15,3 +15,3 @@ // AMD. Register as an anonymous module. | ||
return factory(_, root); | ||
}); | ||
}); /* istanbul ignore else */ | ||
} else if (typeof module === "object" && module.exports) { | ||
@@ -27,3 +27,2 @@ // Node, or CommonJS-Like environments | ||
var NEXT_TRANSITION = "transition"; | ||
var NEXT_HANDLER = "handler"; | ||
var HANDLING = "handling"; | ||
@@ -36,268 +35,87 @@ var HANDLED = "handled"; | ||
var NEW_FSM = "newfsm"; | ||
var utils = { | ||
makeFsmNamespace: (function () { | ||
var machinaCount = 0; | ||
return function () { | ||
return "fsm." + machinaCount++; | ||
}; | ||
})(), | ||
getDefaultOptions: function () { | ||
return { | ||
initialState: "uninitialized", | ||
eventListeners: { | ||
"*": [] | ||
}, | ||
states: {}, | ||
eventQueue: [], | ||
namespace: utils.makeFsmNamespace(), | ||
targetReplayState: "", | ||
state: undefined, | ||
priorState: undefined, | ||
_priorAction: "", | ||
_currentAction: "" | ||
}; | ||
} | ||
}; | ||
if (!_.deepExtend) { | ||
var behavior = { | ||
"*": function (obj, sourcePropKey, sourcePropVal) { | ||
obj[sourcePropKey] = sourcePropVal; | ||
function getDefaultBehavioralOptions() { | ||
return { | ||
initialState: "uninitialized", | ||
eventListeners: { | ||
"*": [] | ||
}, | ||
"object": function (obj, sourcePropKey, sourcePropVal) { | ||
obj[sourcePropKey] = deepExtend({}, obj[sourcePropKey] || {}, sourcePropVal); | ||
}, | ||
"array": function (obj, sourcePropKey, sourcePropVal) { | ||
obj[sourcePropKey] = []; | ||
_.each(sourcePropVal, function (item, idx) { | ||
behavior[getHandlerName(item)](obj[sourcePropKey], idx, item); | ||
}, this); | ||
} | ||
}, | ||
getActualType = function (val) { | ||
if (_.isArray(val)) { | ||
return "array"; | ||
} | ||
if (_.isDate(val)) { | ||
return "date"; | ||
} | ||
if (_.isRegExp(val)) { | ||
return "regex"; | ||
} | ||
return typeof val; | ||
}, | ||
getHandlerName = function (val) { | ||
var propType = getActualType(val); | ||
return behavior[propType] ? propType : "*"; | ||
}, | ||
deepExtend = function (obj) { | ||
_.each(slice.call(arguments, 1), function (source) { | ||
_.each(source, function (sourcePropVal, sourcePropKey) { | ||
behavior[getHandlerName(sourcePropVal)](obj, sourcePropKey, sourcePropVal); | ||
}); | ||
}); | ||
return obj; | ||
}; | ||
states: {}, | ||
namespace: utils.makeFsmNamespace(), | ||
useSafeEmit: false, | ||
hierarchy: {}, | ||
pendingDelegations: {} | ||
}; | ||
} | ||
_.mixin({ | ||
deepExtend: deepExtend | ||
}); | ||
function getDefaultClientMeta() { | ||
return { | ||
inputQueue: [], | ||
targetReplayState: "", | ||
state: undefined, | ||
priorState: undefined, | ||
priorAction: "", | ||
currentAction: "", | ||
currentActionArgs: undefined, | ||
inExitHandler: false | ||
}; | ||
} | ||
var Fsm = function (options) { | ||
_.extend(this, options); | ||
_.defaults(this, utils.getDefaultOptions()); | ||
this.initialize.apply(this, arguments); | ||
machina.emit(NEW_FSM, this); | ||
if (this.initialState) { | ||
this.transition(this.initialState); | ||
function getLeaklessArgs(args, startIdx) { | ||
var result = []; | ||
for (var i = (startIdx || 0); i < args.length; i++) { | ||
result[i] = args[i]; | ||
} | ||
}; | ||
return result; | ||
} | ||
_.extend(Fsm.prototype, { | ||
initialize: function () {}, | ||
emit: function (eventName) { | ||
var args = arguments; | ||
if (this.eventListeners["*"]) { | ||
_.each(this.eventListeners["*"], function (callback) { | ||
try { | ||
callback.apply(this, slice.call(args, 0)); | ||
} catch (exception) { | ||
if (console && typeof console.log !== "undefined") { | ||
console.log(exception.stack); | ||
} | ||
} | ||
}, this); | ||
} | ||
if (this.eventListeners[eventName]) { | ||
_.each(this.eventListeners[eventName], function (callback) { | ||
try { | ||
callback.apply(this, slice.call(args, 1)); | ||
} catch (exception) { | ||
if (console && typeof console.log !== "undefined") { | ||
console.log(exception.stack); | ||
} | ||
} | ||
}, this); | ||
} | ||
}, | ||
handle: function (inputType) { | ||
if (!this.inExitHandler) { | ||
var states = this.states, | ||
current = this.state, | ||
args = slice.call(arguments, 0), | ||
handlerName, handler, catchAll, action; | ||
this.currentActionArgs = args; | ||
if (states[current][inputType] || states[current]["*"] || this["*"]) { | ||
handlerName = states[current][inputType] ? inputType : "*"; | ||
catchAll = handlerName === "*"; | ||
if (states[current][handlerName]) { | ||
handler = states[current][handlerName]; | ||
action = current + "." + handlerName; | ||
} else { | ||
handler = this["*"]; | ||
action = "*"; | ||
} | ||
if (!this._currentAction) this._currentAction = action; | ||
this.emit.call(this, HANDLING, { | ||
inputType: inputType, | ||
args: args.slice(1) | ||
}); | ||
if (_.isFunction(handler)) handler = handler.apply(this, catchAll ? args : args.slice(1)); | ||
if (_.isString(handler)) this.transition(handler); | ||
this.emit.call(this, HANDLED, { | ||
inputType: inputType, | ||
args: args.slice(1) | ||
}); | ||
this._priorAction = this._currentAction; | ||
this._currentAction = ""; | ||
this.processQueue(NEXT_HANDLER); | ||
} else { | ||
this.emit.call(this, NO_HANDLER, { | ||
inputType: inputType, | ||
args: args.slice(1) | ||
}); | ||
} | ||
this.currentActionArgs = undefined; | ||
return handler; | ||
} | ||
}, | ||
transition: function (newState) { | ||
if (!this.inExitHandler && newState !== this.state) { | ||
var curState = this.state; | ||
if (this.states[newState]) { | ||
if (curState && this.states[curState] && this.states[curState]._onExit) { | ||
this.inExitHandler = true; | ||
this.states[curState]._onExit.call(this); | ||
this.inExitHandler = false; | ||
} | ||
this.targetReplayState = newState; | ||
this.priorState = curState; | ||
this.state = newState; | ||
this.emit.call(this, TRANSITION, { | ||
fromState: this.priorState, | ||
action: this._currentAction, | ||
toState: newState | ||
}); | ||
if (this.states[newState]._onEnter) { | ||
this.states[newState]._onEnter.call(this); | ||
} | ||
if (this.targetReplayState === newState) { | ||
this.processQueue(NEXT_TRANSITION); | ||
} | ||
return; | ||
} | ||
this.emit.call(this, INVALID_STATE, { | ||
state: this.state, | ||
attemptedState: newState | ||
}); | ||
} | ||
}, | ||
processQueue: function (type) { | ||
var filterFn = type === NEXT_TRANSITION ? | ||
function (item) { | ||
return item.type === NEXT_TRANSITION && ((!item.untilState) || (item.untilState === this.state)); | ||
} : function (item) { | ||
return item.type === NEXT_HANDLER; | ||
}; | ||
var toProcess = _.filter(this.eventQueue, filterFn, this); | ||
this.eventQueue = _.difference(this.eventQueue, toProcess); | ||
_.each(toProcess, function (item) { | ||
this.handle.apply(this, item.args); | ||
}, this); | ||
}, | ||
clearQueue: function (type, name) { | ||
if (!type) { | ||
this.eventQueue = []; | ||
function getChildFsmInstance(config) { | ||
if (!config) { | ||
return; | ||
} | ||
var childFsmDefinition = {}; | ||
if (typeof config === "object") { | ||
// is this a config object with a factory? | ||
if (config.factory) { | ||
childFsmDefinition = config; | ||
} else { | ||
var filter; | ||
if (type === NEXT_TRANSITION) { | ||
filter = function (evnt) { | ||
return (evnt.type === NEXT_TRANSITION && (name ? evnt.untilState === name : true)); | ||
}; | ||
} else if (type === NEXT_HANDLER) { | ||
filter = function (evnt) { | ||
return evnt.type === NEXT_HANDLER; | ||
}; | ||
} | ||
this.eventQueue = _.filter(this.eventQueue, filter); | ||
} | ||
}, | ||
deferUntilTransition: function (stateName) { | ||
if (this.currentActionArgs) { | ||
var queued = { | ||
type: NEXT_TRANSITION, | ||
untilState: stateName, | ||
args: this.currentActionArgs | ||
// assuming this is a machina instance | ||
childFsmDefinition.factory = function () { | ||
return config; | ||
}; | ||
this.eventQueue.push(queued); | ||
this.emit.call(this, DEFERRED, { | ||
state: this.state, | ||
queuedArgs: queued | ||
}); | ||
} | ||
}, | ||
deferUntilNextHandler: function () { | ||
if (this.currentActionArgs) { | ||
var queued = { | ||
type: NEXT_HANDLER, | ||
args: this.currentActionArgs | ||
}; | ||
this.eventQueue.push(queued); | ||
this.emit.call(this, DEFERRED, { | ||
state: this.state, | ||
queuedArgs: queued | ||
}); | ||
} | ||
}, | ||
on: function (eventName, callback) { | ||
var self = this; | ||
if (!self.eventListeners[eventName]) { | ||
self.eventListeners[eventName] = []; | ||
} | ||
self.eventListeners[eventName].push(callback); | ||
return { | ||
eventName: eventName, | ||
callback: callback, | ||
off: function () { | ||
self.off(eventName, callback); | ||
} else if (typeof config === "function") { | ||
childFsmDefinition.factory = config; | ||
} | ||
childFsmDefinition.instance = childFsmDefinition.factory(); | ||
return childFsmDefinition; | ||
} | ||
function listenToChild(fsm, child) { | ||
return child.on("*", function (eventName, data) { | ||
switch (eventName) { | ||
case "nohandler": | ||
if (!data.ticket && !data.delegated && data.namespace !== fsm.namespace) { | ||
// Ok - we're dealing w/ a child handling input that should bubble up | ||
data.args[1].bubbling = true; | ||
} | ||
}; | ||
}, | ||
off: function (eventName, callback) { | ||
if (!eventName) { | ||
this.eventListeners = {}; | ||
} else { | ||
if (this.eventListeners[eventName]) { | ||
if (callback) { | ||
this.eventListeners[eventName] = _.without(this.eventListeners[eventName], callback); | ||
} else { | ||
this.eventListeners[eventName] = []; | ||
} | ||
// we do NOT bubble _reset inputs up to the parent | ||
if (data.inputType !== "_reset") { | ||
fsm.handle.apply(fsm, data.args); | ||
} | ||
break; | ||
case "handling": | ||
var ticket = data.ticket; | ||
if (ticket && fsm.pendingDelegations[ticket]) { | ||
delete fsm.pendingDelegations[ticket]; | ||
} | ||
fsm.emit(eventName, data); // possibly transform payload? | ||
break; | ||
default: | ||
fsm.emit(eventName, data); // possibly transform payload? | ||
break; | ||
} | ||
} | ||
}); | ||
}); | ||
} | ||
Fsm.prototype.trigger = Fsm.prototype.emit; | ||
// _machKeys are members we want to track across the prototype chain of an extended FSM constructor | ||
@@ -307,3 +125,4 @@ // Since we want to eventually merge the aggregate of those values onto the instance so that FSMs | ||
var _machKeys = ["states", "initialState"]; | ||
var inherits = function (parent, protoProps, staticProps) { | ||
var extend = function (protoProps, staticProps) { | ||
var parent = this; | ||
var fsm; // placeholder for instance constructor | ||
@@ -328,3 +147,3 @@ var machObj = {}; // object used to hold initialState & states from prototype for instance-level merging | ||
var instanceStates = args[0].states || {}; | ||
blendedState = _.deepExtend(_.cloneDeep(machObj), { | ||
blendedState = _.merge(_.cloneDeep(machObj), { | ||
states: instanceStates | ||
@@ -339,3 +158,3 @@ }); | ||
// Inherit class (static) properties from parent. | ||
_.deepExtend(fsm, parent); | ||
_.merge(fsm, parent); | ||
@@ -351,3 +170,3 @@ // Set the prototype chain to inherit from `parent`, without calling | ||
_.extend(fsm.prototype, protoProps); | ||
_.deepExtend(machObj, _.transform(protoProps, function (accum, val, key) { | ||
_.merge(machObj, _.transform(protoProps, function (accum, val, key) { | ||
if (_machKeys.indexOf(key) !== -1) { | ||
@@ -361,3 +180,3 @@ accum[key] = val; | ||
if (staticProps) { | ||
_.deepExtend(fsm, staticProps); | ||
_.merge(fsm, staticProps); | ||
} | ||
@@ -370,45 +189,429 @@ | ||
fsm.__super__ = parent.prototype; | ||
return fsm; | ||
}; | ||
// The self-propagating extend function that Backbone classes use. | ||
Fsm.extend = function (protoProps, classProps) { | ||
var fsm = inherits(this, protoProps, classProps); | ||
fsm.extend = this.extend; | ||
return fsm; | ||
function createUUID() { | ||
var s = []; | ||
var hexDigits = "0123456789abcdef"; | ||
for (var i = 0; i < 36; i++) { | ||
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); | ||
} | ||
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010 | ||
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01 | ||
s[8] = s[13] = s[18] = s[23] = "-"; | ||
return s.join(""); | ||
} | ||
var utils = { | ||
makeFsmNamespace: (function () { | ||
var machinaCount = 0; | ||
return function () { | ||
return "fsm." + machinaCount++; | ||
}; | ||
})(), | ||
listenToChild: listenToChild, | ||
getLeaklessArgs: getLeaklessArgs, | ||
getDefaultOptions: getDefaultBehavioralOptions, | ||
getDefaultClientMeta: getDefaultClientMeta, | ||
createUUID: createUUID | ||
}; | ||
var machina = { | ||
Fsm: Fsm, | ||
utils: utils, | ||
var emitter = { | ||
emit: function (eventName) { | ||
var args = getLeaklessArgs(arguments); | ||
if (this.eventListeners["*"]) { | ||
_.each(this.eventListeners["*"], function (callback) { | ||
if (!this.useSafeEmit) { | ||
callback.apply(this, args); | ||
} else { | ||
try { | ||
callback.apply(this, args); | ||
} catch (exception) { /* istanbul ignore else */ | ||
if (console && typeof console.log !== "undefined") { | ||
console.log(exception.stack); | ||
} | ||
} | ||
} | ||
}, this); | ||
} | ||
if (this.eventListeners[eventName]) { | ||
_.each(this.eventListeners[eventName], function (callback) { | ||
if (!this.useSafeEmit) { | ||
callback.apply(this, args.slice(1)); | ||
} else { | ||
try { | ||
callback.apply(this, args.slice(1)); | ||
} catch (exception) { /* istanbul ignore else */ | ||
if (console && typeof console.log !== "undefined") { | ||
console.log(exception.stack); | ||
} | ||
} | ||
} | ||
}, this); | ||
} | ||
}, | ||
on: function (eventName, callback) { | ||
if (!this.eventListeners[eventName]) { | ||
this.eventListeners[eventName] = []; | ||
var self = this; | ||
self.eventListeners = self.eventListeners || { | ||
"*": [] | ||
}; | ||
if (!self.eventListeners[eventName]) { | ||
self.eventListeners[eventName] = []; | ||
} | ||
this.eventListeners[eventName].push(callback); | ||
return callback; | ||
self.eventListeners[eventName].push(callback); | ||
return { | ||
eventName: eventName, | ||
callback: callback, | ||
off: function () { | ||
self.off(eventName, callback); | ||
} | ||
}; | ||
}, | ||
off: function (eventName, callback) { | ||
if (this.eventListeners[eventName]) { | ||
this.eventListeners[eventName] = _.without(this.eventListeners[eventName], callback); | ||
this.eventListeners = this.eventListeners || { | ||
"*": [] | ||
}; | ||
if (!eventName) { | ||
this.eventListeners = {}; | ||
} else { | ||
if (callback) { | ||
this.eventListeners[eventName] = _.without(this.eventListeners[eventName], callback); | ||
} else { | ||
this.eventListeners[eventName] = []; | ||
} | ||
} | ||
}, | ||
trigger: function (eventName) { | ||
var i = 0, | ||
len, args = arguments, | ||
listeners = this.eventListeners[eventName] || []; | ||
if (listeners && listeners.length) { | ||
_.each(listeners, function (callback) { | ||
callback.apply(null, slice.call(args, 1)); | ||
}; | ||
var MACHINA_PROP = "__machina__"; | ||
function BehavioralFsm(options) { | ||
_.extend(this, options); | ||
_.defaults(this, getDefaultBehavioralOptions()); | ||
this.initialize.apply(this, arguments); | ||
machina.emit(NEW_FSM, this); | ||
} | ||
_.extend(BehavioralFsm.prototype, { | ||
initialize: function () {}, | ||
initClient: function initClient(client) { | ||
var initialState = this.initialState; | ||
if (!initialState) { | ||
throw new Error("You must specify an initial state for this FSM"); | ||
} | ||
if (!this.states[initialState]) { | ||
throw new Error("The initial state specified does not exist in the states object."); | ||
} | ||
this.transition(client, initialState); | ||
}, | ||
ensureClientMeta: function ensureClientMeta(client) { | ||
if (typeof client !== "object") { | ||
throw new Error("An FSM client must be an object."); | ||
} | ||
client[MACHINA_PROP] = client[MACHINA_PROP] || {}; | ||
if (!client[MACHINA_PROP][this.namespace]) { | ||
client[MACHINA_PROP][this.namespace] = _.cloneDeep(utils.getDefaultClientMeta()); | ||
this.initClient(client); | ||
} | ||
return client[MACHINA_PROP][this.namespace]; | ||
}, | ||
buildEventPayload: function (client, data) { | ||
if (_.isPlainObject(data)) { | ||
return _.extend(data, { | ||
client: client, | ||
namespace: this.namespace | ||
}); | ||
} else { | ||
return { | ||
client: client, | ||
data: data || null, | ||
namespace: this.namespace | ||
}; | ||
} | ||
}, | ||
getHandlerArgs: function (args, isCatchAll) { | ||
// index 0 is the client, index 1 is inputType | ||
// if we're in a catch-all handler, input type needs to be included in the args | ||
// inputType might be an object, so we need to just get the inputType string if so | ||
var _args = args.slice(0); | ||
var input = _args[1]; | ||
if (typeof input === "object") { | ||
_args.splice(1, 1, input.inputType); | ||
} | ||
return isCatchAll ? _args : [_args[0]].concat(_args.slice(2)); | ||
}, | ||
handle: function (client, input) { | ||
var inputType; | ||
var delegated; | ||
var ticket; | ||
var inputDef = input; | ||
if (typeof input === "string") { | ||
inputDef = { | ||
inputType: input, | ||
delegated: false, | ||
ticket: undefined | ||
}; | ||
} | ||
var clientMeta = this.ensureClientMeta(client); | ||
var args = getLeaklessArgs(arguments); | ||
if (typeof input !== "object") { | ||
args.splice(1, 1, inputDef); | ||
} | ||
clientMeta.currentActionArgs = args.slice(1); | ||
var currentState = clientMeta.state; | ||
var stateObj = this.states[currentState]; | ||
var handlerName; | ||
var handler; | ||
var isCatchAll = false; | ||
var child; | ||
var result; | ||
if (!clientMeta.inExitHandler) { | ||
child = stateObj._child && stateObj._child.instance; | ||
if (child && !this.pendingDelegations[inputDef.ticket] && !inputDef.bubbling) { | ||
inputDef.ticket = (inputDef.ticket || utils.createUUID()); | ||
inputDef.delegated = true; | ||
this.pendingDelegations[inputDef.ticket] = { | ||
delegatedTo: child.namespace | ||
}; | ||
// WARNING - returning a value from `handle` on child FSMs is not really supported. | ||
// If you need to return values from child FSM input handlers, use events instead. | ||
result = child.handle.apply(child, args); | ||
} else { | ||
if (inputDef.ticket && this.pendingDelegations[inputDef.ticket]) { | ||
delete this.pendingDelegations[inputDef.ticket]; | ||
} | ||
handlerName = stateObj[inputDef.inputType] ? inputDef.inputType : "*"; | ||
isCatchAll = (handlerName === "*"); | ||
handler = (stateObj[handlerName] || this[handlerName]) || this["*"]; | ||
action = clientMeta.state + "." + handlerName; | ||
clientMeta.currentAction = action; | ||
var eventPayload = this.buildEventPayload( | ||
client, { | ||
inputType: inputDef.inputType, | ||
delegated: inputDef.delegated, | ||
ticket: inputDef.ticket | ||
}); | ||
if (!handler) { | ||
this.emit(NO_HANDLER, _.extend({ | ||
args: args | ||
}, eventPayload)); | ||
} else { | ||
this.emit(HANDLING, eventPayload); | ||
if (typeof handler === "function") { | ||
result = handler.apply(this, this.getHandlerArgs(args, isCatchAll)); | ||
} else { | ||
result = handler; | ||
this.transition(client, handler); | ||
} | ||
this.emit(HANDLED, eventPayload); | ||
} | ||
clientMeta.priorAction = clientMeta.currentAction; | ||
clientMeta.currentAction = ""; | ||
} | ||
} | ||
return result; | ||
}, | ||
transition: function (client, newState) { | ||
var clientMeta = this.ensureClientMeta(client); | ||
var curState = clientMeta.state; | ||
var curStateObj = this.states[curState]; | ||
var newStateObj = this.states[newState]; | ||
var childDef; | ||
var child; | ||
if (!clientMeta.inExitHandler && newState !== curState) { | ||
if (newStateObj) { | ||
if (newStateObj._child) { | ||
newStateObj._child = getChildFsmInstance(newStateObj._child); | ||
child = newStateObj._child && newStateObj._child.instance; | ||
} | ||
if (curStateObj && curStateObj._onExit) { | ||
clientMeta.inExitHandler = true; | ||
curStateObj._onExit.call(this, client); | ||
clientMeta.inExitHandler = false; | ||
} | ||
if (curStateObj && curStateObj._child && curStateObj._child.instance && this.hierarchy[curStateObj._child.instance.namespace]) { | ||
this.hierarchy[curStateObj._child.instance.namespace].off(); | ||
} | ||
clientMeta.targetReplayState = newState; | ||
clientMeta.priorState = curState; | ||
clientMeta.state = newState; | ||
if (child) { | ||
this.hierarchy[child.namespace] = utils.listenToChild(this, child); | ||
} | ||
var eventPayload = this.buildEventPayload(client, { | ||
fromState: clientMeta.priorState, | ||
action: clientMeta.currentAction, | ||
toState: newState | ||
}); | ||
this.emit(TRANSITION, eventPayload); | ||
if (newStateObj._onEnter) { | ||
newStateObj._onEnter.call(this, client); | ||
} | ||
if (child) { | ||
child.handle(client, "_reset"); | ||
} | ||
if (clientMeta.targetReplayState === newState) { | ||
this.processQueue(client, NEXT_TRANSITION); | ||
} | ||
return; | ||
} | ||
this.emit(INVALID_STATE, this.buildEventPayload(client, { | ||
state: clientMeta.state, | ||
attemptedState: newState | ||
})); | ||
} | ||
}, | ||
deferUntilTransition: function (client, stateName) { | ||
var clientMeta = this.ensureClientMeta(client); | ||
if (clientMeta.currentActionArgs) { | ||
var queued = { | ||
type: NEXT_TRANSITION, | ||
untilState: stateName, | ||
args: clientMeta.currentActionArgs | ||
}; | ||
clientMeta.inputQueue.push(queued); | ||
var eventPayload = this.buildEventPayload(client, { | ||
state: clientMeta.state, | ||
queuedArgs: queued | ||
}); | ||
this.emit(DEFERRED, eventPayload); | ||
} | ||
}, | ||
deferAndTransition: function (client, stateName) { | ||
this.deferUntilTransition(client, stateName); | ||
this.transition(client, stateName); | ||
}, | ||
processQueue: function (client) { | ||
var clientMeta = this.ensureClientMeta(client); | ||
var filterFn = function (item) { | ||
return ((!item.untilState) || (item.untilState === clientMeta.state)); | ||
}; | ||
var toProcess = _.filter(clientMeta.inputQueue, filterFn); | ||
clientMeta.inputQueue = _.difference(clientMeta.inputQueue, toProcess); | ||
_.each(toProcess, function (item) { | ||
this.handle.apply(this, [client].concat(item.args)); | ||
}, this); | ||
}, | ||
clearQueue: function (client, name) { | ||
var clientMeta = this.ensureClientMeta(client); | ||
if (!name) { | ||
clientMeta.inputQueue = []; | ||
} else { | ||
var filter = function (evnt) { | ||
return (name ? evnt.untilState !== name : true); | ||
}; | ||
clientMeta.inputQueue = _.filter(clientMeta.inputQueue, filter); | ||
} | ||
} | ||
}, emitter); | ||
BehavioralFsm.extend = extend; | ||
var Fsm = BehavioralFsm.extend({ | ||
constructor: function () { | ||
BehavioralFsm.apply(this, arguments); | ||
this.ensureClientMeta(); | ||
}, | ||
initClient: function initClient() { | ||
var initialState = this.initialState; | ||
if (!initialState) { | ||
throw new Error("You must specify an initial state for this FSM"); | ||
} | ||
if (!this.states[initialState]) { | ||
throw new Error("The initial state specified does not exist in the states object."); | ||
} | ||
this.transition(initialState); | ||
}, | ||
ensureClientMeta: function ensureClientMeta() { | ||
if (!this._stamped) { | ||
this._stamped = true; | ||
_.defaults(this, _.cloneDeep(getDefaultClientMeta())); | ||
this.initClient(); | ||
} | ||
return this; | ||
}, | ||
ensureClientArg: function (args) { | ||
var _args = args; | ||
// we need to test the args and verify that if a client arg has | ||
// been passed, it must be this FSM instance (this isn't a behavioral FSM) | ||
if (typeof _args[0] === "object" && !("inputType" in _args[0]) && _args[0] !== this) { | ||
_args.splice(0, 1, this); | ||
} else if (typeof _args[0] !== "object" || (typeof _args[0] === "object" && ("inputType" in _args[0]))) { | ||
_args.unshift(this); | ||
} | ||
return _args; | ||
}, | ||
getHandlerArgs: function (args, isCatchAll) { | ||
// index 0 is the client, index 1 is inputType | ||
// if we're in a catch-all handler, input type needs to be included in the args | ||
// inputType might be an object, so we need to just get the inputType string if so | ||
var _args = args; | ||
var input = _args[1]; | ||
if (typeof inputType === "object") { | ||
_args.splice(1, 1, input.inputType); | ||
} | ||
return isCatchAll ? _args.slice(1) : _args.slice(2); | ||
}, | ||
// "classic" machina FSM do not emit the client property on events (which would be the FSM itself) | ||
buildEventPayload: function () { | ||
var args = this.ensureClientArg(utils.getLeaklessArgs(arguments)); | ||
var data = args[1]; | ||
if (_.isPlainObject(data)) { | ||
return _.extend(data, { | ||
namespace: this.namespace | ||
}); | ||
} else { | ||
return { | ||
data: data || null, | ||
namespace: this.namespace | ||
}; | ||
} | ||
}, | ||
handle: function (inputType) { | ||
var args = this.ensureClientArg(utils.getLeaklessArgs(arguments)); | ||
return BehavioralFsm.prototype.handle.apply(this, args); | ||
}, | ||
transition: function (newState) { | ||
var args = this.ensureClientArg(utils.getLeaklessArgs(arguments)); | ||
return BehavioralFsm.prototype.transition.apply(this, args); | ||
}, | ||
deferUntilTransition: function (stateName) { | ||
var args = this.ensureClientArg(utils.getLeaklessArgs(arguments)); | ||
return BehavioralFsm.prototype.deferUntilTransition.apply(this, args); | ||
}, | ||
processQueue: function () { | ||
var args = this.ensureClientArg(utils.getLeaklessArgs(arguments)); | ||
return BehavioralFsm.prototype.processQueue.apply(this, args); | ||
}, | ||
clearQueue: function (stateName) { | ||
var args = this.ensureClientArg(utils.getLeaklessArgs(arguments)); | ||
return BehavioralFsm.prototype.clearQueue.apply(this, args); | ||
} | ||
}); | ||
var machina = _.merge(emitter, { | ||
Fsm: Fsm, | ||
BehavioralFsm: BehavioralFsm, | ||
utils: utils, | ||
eventListeners: { | ||
newFsm: [] | ||
} | ||
}; | ||
}); | ||
machina.emit = machina.trigger; | ||
return machina; | ||
})); |
/** | ||
* machina - A library for creating powerful and flexible finite state machines. Loosely inspired by Erlang/OTP's gen_fsm behavior. | ||
* machina - A library for creating powerful and flexible finite state machines. Loosely inspired by Erlang/OTP's gen_fsm behavior. | ||
* Author: Jim Cowart (http://ifandelse.com) | ||
* Version: v0.4.1 | ||
* Version: v1.0.0-1 | ||
* Url: http://machina-js.org/ | ||
* License(s): MIT, GPL | ||
*/ | ||
(function(t,e){"function"==typeof define&&define.amd?define(["lodash"],function(i){return e(i,t)}):"object"==typeof module&&module.exports?module.exports=e(require("lodash")):t.machina=e(t._,t)})(this,function(t,e,i){var n=[].slice,s="transition",r="handler",a="handling",o="handled",u="nohandler",c="transition",h="invalidstate",l="deferred",f="newfsm",p={makeFsmNamespace:function(){var t=0;return function(){return"fsm."+t++}}(),getDefaultOptions:function(){return{initialState:"uninitialized",eventListeners:{"*":[]},states:{},eventQueue:[],namespace:p.makeFsmNamespace(),targetReplayState:"",state:i,priorState:i,_priorAction:"",_currentAction:""}}};if(!t.deepExtend){var d={"*":function(t,e,i){t[e]=i},object:function(t,e,i){t[e]=y({},t[e]||{},i)},array:function(e,i,n){e[i]=[],t.each(n,function(t,n){d[g(t)](e[i],n,t)},this)}},v=function(e){return t.isArray(e)?"array":t.isDate(e)?"date":t.isRegExp(e)?"regex":typeof e},g=function(t){var e=v(t);return d[e]?e:"*"},y=function(e){return t.each(n.call(arguments,1),function(i){t.each(i,function(t,i){d[g(t)](e,i,t)})}),e};t.mixin({deepExtend:y})}var m=function(e){t.extend(this,e),t.defaults(this,p.getDefaultOptions()),this.initialize.apply(this,arguments),S.emit(f,this),this.initialState&&this.transition(this.initialState)};t.extend(m.prototype,{initialize:function(){},emit:function(e){var i=arguments;this.eventListeners["*"]&&t.each(this.eventListeners["*"],function(t){try{t.apply(this,n.call(i,0))}catch(e){console&&"undefined"!=typeof console.log&&console.log(e.stack)}},this),this.eventListeners[e]&&t.each(this.eventListeners[e],function(t){try{t.apply(this,n.call(i,1))}catch(e){console&&"undefined"!=typeof console.log&&console.log(e.stack)}},this)},handle:function(e){if(!this.inExitHandler){var s,c,h,l,f=this.states,p=this.state,d=n.call(arguments,0);return this.currentActionArgs=d,f[p][e]||f[p]["*"]||this["*"]?(s=f[p][e]?e:"*",h="*"===s,f[p][s]?(c=f[p][s],l=p+"."+s):(c=this["*"],l="*"),this._currentAction||(this._currentAction=l),this.emit.call(this,a,{inputType:e,args:d.slice(1)}),t.isFunction(c)&&(c=c.apply(this,h?d:d.slice(1))),t.isString(c)&&this.transition(c),this.emit.call(this,o,{inputType:e,args:d.slice(1)}),this._priorAction=this._currentAction,this._currentAction="",this.processQueue(r)):this.emit.call(this,u,{inputType:e,args:d.slice(1)}),this.currentActionArgs=i,c}},transition:function(t){if(!this.inExitHandler&&t!==this.state){var e=this.state;if(this.states[t])return e&&this.states[e]&&this.states[e]._onExit&&(this.inExitHandler=!0,this.states[e]._onExit.call(this),this.inExitHandler=!1),this.targetReplayState=t,this.priorState=e,this.state=t,this.emit.call(this,c,{fromState:this.priorState,action:this._currentAction,toState:t}),this.states[t]._onEnter&&this.states[t]._onEnter.call(this),void(this.targetReplayState===t&&this.processQueue(s));this.emit.call(this,h,{state:this.state,attemptedState:t})}},processQueue:function(e){var i=e===s?function(t){return t.type===s&&(!t.untilState||t.untilState===this.state)}:function(t){return t.type===r},n=t.filter(this.eventQueue,i,this);this.eventQueue=t.difference(this.eventQueue,n),t.each(n,function(t){this.handle.apply(this,t.args)},this)},clearQueue:function(e,i){if(e){var n;e===s?n=function(t){return t.type===s&&(i?t.untilState===i:!0)}:e===r&&(n=function(t){return t.type===r}),this.eventQueue=t.filter(this.eventQueue,n)}else this.eventQueue=[]},deferUntilTransition:function(t){if(this.currentActionArgs){var e={type:s,untilState:t,args:this.currentActionArgs};this.eventQueue.push(e),this.emit.call(this,l,{state:this.state,queuedArgs:e})}},deferUntilNextHandler:function(){if(this.currentActionArgs){var t={type:r,args:this.currentActionArgs};this.eventQueue.push(t),this.emit.call(this,l,{state:this.state,queuedArgs:t})}},on:function(t,e){var i=this;return i.eventListeners[t]||(i.eventListeners[t]=[]),i.eventListeners[t].push(e),{eventName:t,callback:e,off:function(){i.off(t,e)}}},off:function(e,i){e?this.eventListeners[e]&&(this.eventListeners[e]=i?t.without(this.eventListeners[e],i):[]):this.eventListeners={}}}),m.prototype.trigger=m.prototype.emit;var x=["states","initialState"],A=function(e,i,s){var r,a={},o=function(){};return r=i&&i.hasOwnProperty("constructor")?i.constructor:function(){var i=n.call(arguments,0);i[0]=i[0]||{};var s,r=i[0].states||{};s=t.deepExtend(t.cloneDeep(a),{states:r}),s.initialState=i[0].initialState||this.initialState,t.extend(i[0],s),e.apply(this,i)},t.deepExtend(r,e),o.prototype=e.prototype,r.prototype=new o,i&&(t.extend(r.prototype,i),t.deepExtend(a,t.transform(i,function(t,e,i){-1!==x.indexOf(i)&&(t[i]=e)}))),s&&t.deepExtend(r,s),r.prototype.constructor=r,r.__super__=e.prototype,r};m.extend=function(t,e){var i=A(this,t,e);return i.extend=this.extend,i};var S={Fsm:m,utils:p,on:function(t,e){return this.eventListeners[t]||(this.eventListeners[t]=[]),this.eventListeners[t].push(e),e},off:function(e,i){this.eventListeners[e]&&(this.eventListeners[e]=t.without(this.eventListeners[e],i))},trigger:function(e){var i=arguments,s=this.eventListeners[e]||[];s&&s.length&&t.each(s,function(t){t.apply(null,n.call(i,1))})},eventListeners:{newFsm:[]}};return S.emit=S.trigger,S}); | ||
(function(t,e){"function"==typeof define&&define.amd?define(["lodash"],function(n){return e(n,t)}):"object"==typeof module&&module.exports?module.exports=e(require("lodash")):t.machina=e(t._,t)})(this,function(t,e,n){function i(){return{initialState:"uninitialized",eventListeners:{"*":[]},states:{},namespace:_.makeFsmNamespace(),useSafeEmit:!1,hierarchy:{},pendingDelegations:{}}}function s(){return{inputQueue:[],targetReplayState:"",state:n,priorState:n,priorAction:"",currentAction:"",currentActionArgs:n,inExitHandler:!1}}function a(t,e){for(var n=[],i=e||0;i<t.length;i++)n[i]=t[i];return n}function r(t){if(t){var e={};return"object"==typeof t?t.factory?e=t:e.factory=function(){return t}:"function"==typeof t&&(e.factory=t),e.instance=e.factory(),e}}function o(t,e){return e.on("*",function(e,n){switch(e){case"nohandler":n.ticket||n.delegated||n.namespace===t.namespace||(n.args[1].bubbling=!0),"_reset"!==n.inputType&&t.handle.apply(t,n.args);break;case"handling":var i=n.ticket;i&&t.pendingDelegations[i]&&delete t.pendingDelegations[i],t.emit(e,n);break;default:t.emit(e,n)}})}function c(){for(var t=[],e="0123456789abcdef",n=0;36>n;n++)t[n]=e.substr(Math.floor(16*Math.random()),1);return t[14]="4",t[19]=e.substr(3&t[19]|8,1),t[8]=t[13]=t[18]=t[23]="-",t.join("")}function u(e){t.extend(this,e),t.defaults(this,i()),this.initialize.apply(this,arguments),E.emit(v,this)}var l=[].slice,h="transition",p="handling",f="handled",d="nohandler",g="transition",y="invalidstate",m="deferred",v="newfsm",A=["states","initialState"],b=function(e,n){var i,s=this,a={},r=function(){};return i=e&&e.hasOwnProperty("constructor")?e.constructor:function(){var e=l.call(arguments,0);e[0]=e[0]||{};var n,i=e[0].states||{};n=t.merge(t.cloneDeep(a),{states:i}),n.initialState=e[0].initialState||this.initialState,t.extend(e[0],n),s.apply(this,e)},t.merge(i,s),r.prototype=s.prototype,i.prototype=new r,e&&(t.extend(i.prototype,e),t.merge(a,t.transform(e,function(t,e,n){-1!==A.indexOf(n)&&(t[n]=e)}))),n&&t.merge(i,n),i.prototype.constructor=i,i.__super__=s.prototype,i},_={makeFsmNamespace:function(){var t=0;return function(){return"fsm."+t++}}(),listenToChild:o,getLeaklessArgs:a,getDefaultOptions:i,getDefaultClientMeta:s,createUUID:c},k={emit:function(e){var n=a(arguments);this.eventListeners["*"]&&t.each(this.eventListeners["*"],function(t){if(this.useSafeEmit)try{t.apply(this,n)}catch(e){console&&"undefined"!=typeof console.log&&console.log(e.stack)}else t.apply(this,n)},this),this.eventListeners[e]&&t.each(this.eventListeners[e],function(t){if(this.useSafeEmit)try{t.apply(this,n.slice(1))}catch(e){console&&"undefined"!=typeof console.log&&console.log(e.stack)}else t.apply(this,n.slice(1))},this)},on:function(t,e){var n=this;return n.eventListeners=n.eventListeners||{"*":[]},n.eventListeners[t]||(n.eventListeners[t]=[]),n.eventListeners[t].push(e),{eventName:t,callback:e,off:function(){n.off(t,e)}}},off:function(e,n){this.eventListeners=this.eventListeners||{"*":[]},e?this.eventListeners[e]=n?t.without(this.eventListeners[e],n):[]:this.eventListeners={}}},S="__machina__";t.extend(u.prototype,{initialize:function(){},initClient:function(t){var e=this.initialState;if(!e)throw new Error("You must specify an initial state for this FSM");if(!this.states[e])throw new Error("The initial state specified does not exist in the states object.");this.transition(t,e)},ensureClientMeta:function(e){if("object"!=typeof e)throw new Error("An FSM client must be an object.");return e[S]=e[S]||{},e[S][this.namespace]||(e[S][this.namespace]=t.cloneDeep(_.getDefaultClientMeta()),this.initClient(e)),e[S][this.namespace]},buildEventPayload:function(e,n){return t.isPlainObject(n)?t.extend(n,{client:e,namespace:this.namespace}):{client:e,data:n||null,namespace:this.namespace}},getHandlerArgs:function(t,e){var n=t.slice(0),i=n[1];return"object"==typeof i&&n.splice(1,1,i.inputType),e?n:[n[0]].concat(n.slice(2))},handle:function(e,i){var s=i;"string"==typeof i&&(s={inputType:i,delegated:!1,ticket:n});var r=this.ensureClientMeta(e),o=a(arguments);"object"!=typeof i&&o.splice(1,1,s),r.currentActionArgs=o.slice(1);var c,u,l,h,g=r.state,y=this.states[g],m=!1;if(!r.inExitHandler)if(l=y._child&&y._child.instance,!l||this.pendingDelegations[s.ticket]||s.bubbling){s.ticket&&this.pendingDelegations[s.ticket]&&delete this.pendingDelegations[s.ticket],c=y[s.inputType]?s.inputType:"*",m="*"===c,u=y[c]||this[c]||this["*"],action=r.state+"."+c,r.currentAction=action;var v=this.buildEventPayload(e,{inputType:s.inputType,delegated:s.delegated,ticket:s.ticket});u?(this.emit(p,v),"function"==typeof u?h=u.apply(this,this.getHandlerArgs(o,m)):(h=u,this.transition(e,u)),this.emit(f,v)):this.emit(d,t.extend({args:o},v)),r.priorAction=r.currentAction,r.currentAction=""}else s.ticket=s.ticket||_.createUUID(),s.delegated=!0,this.pendingDelegations[s.ticket]={delegatedTo:l.namespace},h=l.handle.apply(l,o);return h},transition:function(t,e){var n,i=this.ensureClientMeta(t),s=i.state,a=this.states[s],o=this.states[e];if(!i.inExitHandler&&e!==s){if(o){o._child&&(o._child=r(o._child),n=o._child&&o._child.instance),a&&a._onExit&&(i.inExitHandler=!0,a._onExit.call(this,t),i.inExitHandler=!1),a&&a._child&&a._child.instance&&this.hierarchy[a._child.instance.namespace]&&this.hierarchy[a._child.instance.namespace].off(),i.targetReplayState=e,i.priorState=s,i.state=e,n&&(this.hierarchy[n.namespace]=_.listenToChild(this,n));var c=this.buildEventPayload(t,{fromState:i.priorState,action:i.currentAction,toState:e});return this.emit(g,c),o._onEnter&&o._onEnter.call(this,t),n&&n.handle(t,"_reset"),void(i.targetReplayState===e&&this.processQueue(t,h))}this.emit(y,this.buildEventPayload(t,{state:i.state,attemptedState:e}))}},deferUntilTransition:function(t,e){var n=this.ensureClientMeta(t);if(n.currentActionArgs){var i={type:h,untilState:e,args:n.currentActionArgs};n.inputQueue.push(i);var s=this.buildEventPayload(t,{state:n.state,queuedArgs:i});this.emit(m,s)}},deferAndTransition:function(t,e){this.deferUntilTransition(t,e),this.transition(t,e)},processQueue:function(e){var n=this.ensureClientMeta(e),i=function(t){return!t.untilState||t.untilState===n.state},s=t.filter(n.inputQueue,i);n.inputQueue=t.difference(n.inputQueue,s),t.each(s,function(t){this.handle.apply(this,[e].concat(t.args))},this)},clearQueue:function(e,n){var i=this.ensureClientMeta(e);if(n){var s=function(t){return n?t.untilState!==n:!0};i.inputQueue=t.filter(i.inputQueue,s)}else i.inputQueue=[]}},k),u.extend=b;var C=u.extend({constructor:function(){u.apply(this,arguments),this.ensureClientMeta()},initClient:function(){var t=this.initialState;if(!t)throw new Error("You must specify an initial state for this FSM");if(!this.states[t])throw new Error("The initial state specified does not exist in the states object.");this.transition(t)},ensureClientMeta:function(){return this._stamped||(this._stamped=!0,t.defaults(this,t.cloneDeep(s())),this.initClient()),this},ensureClientArg:function(t){var e=t;return"object"!=typeof e[0]||"inputType"in e[0]||e[0]===this?("object"!=typeof e[0]||"object"==typeof e[0]&&"inputType"in e[0])&&e.unshift(this):e.splice(0,1,this),e},getHandlerArgs:function(t,e){var n=t,i=n[1];return"object"==typeof inputType&&n.splice(1,1,i.inputType),n.slice(e?1:2)},buildEventPayload:function(){var e=this.ensureClientArg(_.getLeaklessArgs(arguments)),n=e[1];return t.isPlainObject(n)?t.extend(n,{namespace:this.namespace}):{data:n||null,namespace:this.namespace}},handle:function(){var t=this.ensureClientArg(_.getLeaklessArgs(arguments));return u.prototype.handle.apply(this,t)},transition:function(){var t=this.ensureClientArg(_.getLeaklessArgs(arguments));return u.prototype.transition.apply(this,t)},deferUntilTransition:function(){var t=this.ensureClientArg(_.getLeaklessArgs(arguments));return u.prototype.deferUntilTransition.apply(this,t)},processQueue:function(){var t=this.ensureClientArg(_.getLeaklessArgs(arguments));return u.prototype.processQueue.apply(this,t)},clearQueue:function(){var t=this.ensureClientArg(_.getLeaklessArgs(arguments));return u.prototype.clearQueue.apply(this,t)}}),E=t.merge(k,{Fsm:C,BehavioralFsm:u,utils:_,eventListeners:{newFsm:[]}});return E}); |
217
package.json
{ | ||
"name": "machina", | ||
"description": "A library for creating powerful and flexible finite state machines. Loosely inspired by Erlang/OTP's gen_fsm behavior.", | ||
"version": "0.4.3", | ||
"homepage": "http://machina-js.org/", | ||
"repository": { | ||
"type": "git", | ||
"url": "git://github.com/ifandelse/machina.js.git" | ||
}, | ||
"author": "Jim Cowart (http://ifandelse.com)", | ||
"contributors": [ { | ||
"name": "Jim Cowart", | ||
"email": "jim@ifandelse.com", | ||
"url": "http://ifandelse.com" | ||
}, { | ||
"name": "Doug Neiner", | ||
"email": "doug@dougneiner.com", | ||
"url": "http://code.dougneiner.com" | ||
}, { | ||
"name": "Friedemann Altrock", | ||
"email": "frodenius@gmail.com", | ||
"url": "https://github.com/fwg" | ||
}, { | ||
"name": "Michiel Trimpe", | ||
"email": "michiel@trimpe.nl", | ||
"url": "https://github.com/mtrimpe" | ||
}, { | ||
"name": "Brian Mavity", | ||
"url": "https://github.com/bmavity" | ||
}, { | ||
"name": "Alex Robson", | ||
"email": "arobson@gmail.com", | ||
"url": "http://github.com/arobson" | ||
}, { | ||
"name": "Dominic Barnes", | ||
"email": "dominic@dbarnes.info", | ||
"url": "http://github.com/dominicbarnes" | ||
}, { | ||
"name": "James Pooton", | ||
"email": "james@codelica.com", | ||
"url": "http://github.com/codelica" | ||
}, { | ||
"name": "machina", | ||
"description": "A library for creating powerful and flexible finite state machines. Loosely inspired by Erlang/OTP's gen_fsm behavior.", | ||
"version": "1.0.0-1", | ||
"homepage": "http://machina-js.org/", | ||
"repository": { | ||
"type": "git", | ||
"url": "git://github.com/ifandelse/machina.js.git" | ||
}, | ||
"author": "Jim Cowart (http://ifandelse.com)", | ||
"contributors": [ | ||
{ | ||
"name": "Jim Cowart", | ||
"email": "jim@ifandelse.com", | ||
"url": "http://ifandelse.com" | ||
}, | ||
{ | ||
"name": "Doug Neiner", | ||
"email": "doug@dougneiner.com", | ||
"url": "http://code.dougneiner.com" | ||
}, | ||
{ | ||
"name": "Friedemann Altrock", | ||
"email": "frodenius@gmail.com", | ||
"url": "https://github.com/fwg" | ||
}, | ||
{ | ||
"name": "Michiel Trimpe", | ||
"email": "michiel@trimpe.nl", | ||
"url": "https://github.com/mtrimpe" | ||
}, | ||
{ | ||
"name": "Brian Mavity", | ||
"url": "https://github.com/bmavity" | ||
}, | ||
{ | ||
"name": "Alex Robson", | ||
"email": "arobson@gmail.com", | ||
"url": "http://github.com/arobson" | ||
}, | ||
{ | ||
"name": "Dominic Barnes", | ||
"email": "dominic@dbarnes.info", | ||
"url": "http://github.com/dominicbarnes" | ||
}, | ||
{ | ||
"name" : "Tim Harper", | ||
"email" : "timcharper@gmail.com", | ||
"url" : "http://tim.theenchanter.com/" | ||
} ], | ||
"keywords": [ | ||
"state machine", | ||
"finite state machine", | ||
"fsm", | ||
"async", | ||
"workflow", | ||
"state", | ||
"machina", | ||
"machina-js", | ||
"machina.js", | ||
"machinajs" | ||
], | ||
"bugs": { | ||
"email": "jim@ifandelse.com", | ||
"url": "http://github.com/ifandelse/machina.js/issues" | ||
}, | ||
"directories": { | ||
"lib": "lib" | ||
}, | ||
"main": "lib/machina.js", | ||
"engines": { | ||
"node": ">=0.4.0" | ||
}, | ||
"dependencies": { | ||
"lodash": "~2.4.1" | ||
}, | ||
"devDependencies": { | ||
"bower": "~1.2.8", | ||
"gulp": "~3.4.0", | ||
"gulp-imports": "~0.0.1", | ||
"gulp-header": "~1.0.2", | ||
"gulp-hint-not": "~0.0.3", | ||
"gulp-uglify": "~0.1.0", | ||
"gulp-rename": "~0.2.1", | ||
"gulp-plato": "~0.1.0", | ||
"gulp-beautify": "~1.0.3", | ||
"express": "~3.4.7", | ||
"open": "~0.0.4", | ||
"gulp-util": "~2.2.12", | ||
"expect.js": "~0.2.0", | ||
"mocha": "^1.20.1" | ||
}, | ||
"licenses": [ { | ||
"type": "MIT", | ||
"url": "http://opensource.org/licenses/MIT" | ||
}, { | ||
"type": "GPL", | ||
"url": "http://opensource.org/licenses/GPL-2.0" | ||
} ], | ||
"scripts": { | ||
"test": "mocha ./spec/*.js", | ||
"build": "gulp", | ||
"start": "gulp server" | ||
} | ||
}, | ||
{ | ||
"name": "James Pooton", | ||
"email": "james@codelica.com", | ||
"url": "http://github.com/codelica" | ||
}, | ||
{ | ||
"name": "Brad Fol", | ||
"url": "https://github.com/bradfol" | ||
} | ||
], | ||
"keywords": [ | ||
"state machine", | ||
"finite state machine", | ||
"fsm", | ||
"async", | ||
"workflow", | ||
"state", | ||
"machina", | ||
"machina-js", | ||
"machina.js", | ||
"machinajs", | ||
"hierarchical", | ||
"state chart", | ||
"state charts" | ||
], | ||
"bugs": { | ||
"email": "jim@ifandelse.com", | ||
"url": "http://github.com/ifandelse/machina.js/issues" | ||
}, | ||
"directories": { | ||
"lib": "lib" | ||
}, | ||
"main": "lib/machina.js", | ||
"engines": { | ||
"node": ">=0.4.0" | ||
}, | ||
"dependencies": { | ||
"lodash": "~2.4.1" | ||
}, | ||
"devDependencies": { | ||
"bower": "~1.2.8", | ||
"express": "~3.4.7", | ||
"gulp": "~3.8.10", | ||
"gulp-beautify": "~1.0.3", | ||
"gulp-header": "~1.0.2", | ||
"gulp-hint-not": "~0.0.3", | ||
"gulp-imports": "~0.0.1", | ||
"gulp-plato": "~0.1.0", | ||
"gulp-rename": "~0.2.1", | ||
"gulp-spawn-mocha": "^0.5.1", | ||
"gulp-uglify": "~0.1.0", | ||
"gulp-util": "~2.2.12", | ||
"istanbul": "^0.3.2", | ||
"mocha": "^2.0.1", | ||
"open": "~0.0.4", | ||
"should": "^4.0.4", | ||
"sinon": "1.11.1" | ||
}, | ||
"licenses": [ | ||
{ | ||
"type": "MIT", | ||
"url": "http://opensource.org/licenses/MIT" | ||
}, | ||
{ | ||
"type": "GPL", | ||
"url": "http://opensource.org/licenses/GPL-2.0" | ||
} | ||
], | ||
"scripts": { | ||
"build": "gulp", | ||
"start": "gulp server", | ||
"test": "./node_modules/mocha/bin/mocha -r spec/helpers/node-setup.js spec", | ||
"coverage": "./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -x 'spec/**/*' -- -r spec/helpers/node-setup.js spec spec/*.spec.js", | ||
"show-coverage": "open ./coverage/lcov-report/index.html" | ||
} | ||
} |
599
README.md
@@ -1,253 +0,459 @@ | ||
# machina.js - v0.4.3 | ||
#machina v1.0.0-1 | ||
## What is it? | ||
Machina.js is a JavaScript framework for highly customizable finite state machines (FSMs). Many of the ideas for machina have been loosely inspired by the Erlang/OTP FSM behaviors. | ||
##What is it? | ||
Machina.js is a JavaScript framework for highly customizable finite state machines (FSMs). Many of the ideas for machina have been *loosely* inspired by the Erlang/OTP FSM behaviors. | ||
## Why would I use it? | ||
* Finite state machines offer a way to structure web client code in a very organized manner, and can make it much simpler to extend behavior for all or only key edge cases. | ||
* For example - instead of nested callbacks/deferreds, use an FSM to act as an "event aggregator" that is aware of when state needs to transition in the app once a set of conditions has been satisfied. | ||
* FSMs *can* work well for concerns like: | ||
* app "init" (bootstrapping your web client so that certain application behaviors are not available until all appropriate resources/data/behavior are present) | ||
* persistence concerns - offline vs online. Abstract persistence behind an fsm that simply listens for messages (commands) to persist data. Depending on the state of the client (offline vs online), the FSM will handle the activity accordingly - calling code never needs to know. | ||
* Often-changing-subsets of view or model elements. Take a navigation menu, for example. Depending on the context (i.e. - state), you may wish to show/hide certain menu options. This usually turns out to be a handful of menu show-vs-hide combinations. An FSM can abstract this well. | ||
* It's simple! Machina makes the process of organizing the various states your fsm needs to know about - and the kinds of events each state can handle - intuitive to set up, and to read. | ||
* Powerful integration. By using a plugin like [machina.postal](https://github.com/ifandelse/machina.postal), your FSM instances can auto-wire into [postal.js](https://github.com/ifandelse/postal.js) (a JavaScript message bus), enabling them decoupled communications with other components in your application. This wires up both subscribers (for state handlers to be invoked) and publishers (to publish your FSM's events to the message bus). | ||
* Extend for more power. | ||
* Writing your own message bus/eventing wire-up plugin is fairly simple. Look at [machina.postal](https://github.com/ifandelse/machina.postal) for an example. | ||
* Hook into the top level "newFsm" event to give other components in your app a handle to your FSMs as they are created. | ||
##Why Would I Use It? | ||
Finite state machines are a great conceptual model for many concerns facing developers – from conditional UI, connectivity monitoring & management to initialization and more. State machines can simplify tangled paths of asynchronous code, they're easy to test, and they inherently lend themselves to helping you avoid unexpected edge-case-state pitfalls. machina aims to give you the tools you need to model state machines in JavaScript, without being too prescriptive on the problem domain you're solving for. | ||
## How do I use it? | ||
(The [wiki](https://github.com/ifandelse/machina.js/wiki) has more extensive API documentation. Also, be sure to check out the example folder in this repository for more in-depth demos - especially if you're interested in a working 'connectivity' FSM. The example below is just scratching the surface of one...) | ||
Some frequent use cases for machina: | ||
Creating an FSM: | ||
* online/offline connectivity management | ||
* conditional UI (menus, navigation, workflow) | ||
* initiliazation of node.js processes or single-page-apps | ||
* responding to user input devices (remotes, keyboard, mouse, etc.) | ||
```javascript | ||
var storageFsm = new machina.Fsm({ | ||
applicationOffline: function() { | ||
var offline = false; | ||
// checks window.navigator.online and more, sets the offline value | ||
return offline; | ||
}, | ||
###Quick Example | ||
verifyState: function( payload ) { | ||
if( this.applicationOffline() && this.state !== "offline" ) { | ||
this.offlineMarkerTime = new Date(); | ||
this.transition("offline"); | ||
return false; | ||
} | ||
else if ( !this.applicationOffline() && this.state === "offline" ) { | ||
this.transition( "online" ); | ||
return false; | ||
} | ||
return true; | ||
}, | ||
First - you need to include it in your environment (browser, node, etc.): | ||
initialState: "offline", | ||
```javascript | ||
// If you're not using an AMD loader, machina is available on the window | ||
// Just make sure you have lodash loaded before machina | ||
var MyFsm = machina.Fsm.extend({ /* your stuff */}); | ||
states : { | ||
"online" : { | ||
_onEnter: function() { | ||
this.handle("sync.customer"); | ||
}, | ||
// If you're using an AMD loader: | ||
require(['machina'], function(machina){ | ||
return machina.Fsm.extend({ /* your stuff */}); | ||
}); | ||
"save.customer" : function( payload ) { | ||
if( this.verifyState() ) { | ||
storage.saveToRemote( payload ); | ||
} | ||
}, | ||
// node.js/CommonJS: | ||
var machina = require('machina'); | ||
"sync.customer" : function() { | ||
if( this.verifyState( payload ) ) { | ||
var unsynced = storage.getFromLocal( { startTime: this.offlineMarkerTime } ); | ||
// Big assumption here! In the real world, | ||
// we'd batch this sync in reasonable chunks. | ||
storage.saveBatchToRemote( unsynced ); | ||
this.emit( "CustomerSyncComplete", { customers: unsynced } ); | ||
} | ||
} | ||
}, | ||
"offline" : { | ||
"save.customer" : function( payload ) { | ||
if( this.verifyState() ) { | ||
storage.saveToLocal( payload ); | ||
} | ||
} | ||
} | ||
} | ||
}); | ||
// FYI machina v0.3.x & earlier returned a factory | ||
// function in CommonJS environments: | ||
var lodash = require('lodash'); | ||
var machina = require('machina')(lodash); | ||
var MyFsm = machina.Fsm.extend({ /* your stuff */}); | ||
``` | ||
In the above example, the developer has created an FSM with two possible states: `online` and `offline`. While the fsm is in the `online` state, it will respond to `save.customer` and `sync.customer` events. External code triggers these events by calling the `handle` method on the FSM. For example `storageFsm.handle( "sync.customer", { other: "data" } )`. The `handle` method first looks to see if a named handler exists matching the name of the one passed in, then also checks for a catch-all handler (indicated by the "*") if a named handler isn't found. The `offline` state of the above FSM only responds to `save.customer` events. If any other type of event name is passed to the `handle` method of the FSM, other than what each state explicitly handles, it is ignored. | ||
Great, now that we know how to pull it in, let's create an FSM to represent a vehicle traffic light at a pedestrian crosswalk: | ||
In addition to the state/handler definitions, the above code example as shows that this particular FSM will start in the `offline` state, and can generate a `CustomerSyncComplete` custom event. | ||
```javascript | ||
var vehicleSignal = new machina.Fsm( { | ||
The `verifyState` and `applicationOffline` methods are custom to this instance of the FSM, and are not, of course, part of machina by default. | ||
// the initialize method is called right after the FSM | ||
// instance is constructed, giving you a place for any | ||
// setup behavior, etc. It receives the same arguments | ||
// (options) as the constructor function. | ||
initialize: function( options ) { | ||
// your setup code goes here... | ||
}, | ||
You can see in the above example that anytime the FSM handles an event, it first checks to see if the state needs to be transitioned between offline and online (via the `verifyState` call). States can also have `_onEnter` and `_onExit` methods. `_onEnter` is fired immediately after the FSM transitions into that state and `_onExit` is fired immediately before transitioning to a new state. | ||
namespace: "vehicle-signal", | ||
Now that we've seen a quick example, let's do a whirlwind API tour. | ||
// `initialState` tells machina what state to start the FSM in. | ||
// The default value is "uninitialized". Not providing | ||
// this value will throw an exception in v1.0+ | ||
initialState: "uninitialized", | ||
## Have More Questions? | ||
Read the wiki and the source – you might find your answer and more! Check out the [issue](https://github.com/ifandelse/machina.js/issues/4) opened by @burin - a *great* example of how to use github issues to ask questions, provide sample code, etc. I only ask that if you open an issue, that it be *focused on a specific problem or bug* (not wide, open ambiguity, please). We also have an IRC chat room on freenode: #machinajs. It's a quiet place, but I'll do my best to answer questions if they arise. | ||
// The states object's top level properties are the | ||
// states in which the FSM can exist. Each state object | ||
// contains input handlers for the different inputs | ||
// handled while in that state. | ||
states: { | ||
uninitialized: { | ||
// Input handlers are usually functions. They can | ||
// take arguments, too (even though this one doesn't) | ||
// The "*" handler is special (more on that in a bit) | ||
"*": function() { | ||
this.deferUntilTransition(); | ||
// the `transition` method takes a target state (as a string) | ||
// and transitions to it. You should NEVER directly assign the | ||
// state property on an FSM. Also - while it's certainly OK to | ||
// call `transition` externally, you usually end up with the | ||
// cleanest approach if you endeavor to transition *internally* | ||
// and just pass input to the FSM. | ||
this.transition( "green" ); | ||
} | ||
}, | ||
green: { | ||
// _onEnter is a special handler that is invoked | ||
// immediately as the FSM transitions into the new state | ||
_onEnter: function() { | ||
this.timer = setTimeout( function() { | ||
this.handle( "timeout" ); | ||
}.bind( this ), 30000 ); | ||
this.emit( "vehicles", { status: GREEN } ); | ||
}, | ||
// If all you need to do is transition to a new state | ||
// inside an input handler, you can provide the string | ||
// name of the state in place of the input handler function. | ||
timeout: "green-interruptible", | ||
pedestrianWaiting: function() { | ||
this.deferUntilTransition( "green-interruptible" ); | ||
}, | ||
// _onExit is a special handler that is invoked just before | ||
// the FSM leaves the current state and transitions to another | ||
_onExit: function() { | ||
clearTimeout( this.timer ); | ||
} | ||
}, | ||
"green-interruptible": { | ||
pedestrianWaiting: "yellow" | ||
}, | ||
yellow: { | ||
_onEnter: function() { | ||
this.timer = setTimeout( function() { | ||
this.handle( "timeout" ); | ||
}.bind( this ), 5000 ); | ||
// machina FSMs are event emitters. Here we're | ||
// emitting a custom event and data, etc. | ||
this.emit( "vehicles", { status: YELLOW } ); | ||
}, | ||
timeout: "red", | ||
_onExit: function() { | ||
clearTimeout( this.timer ); | ||
} | ||
}, | ||
red: { | ||
_onEnter: function() { | ||
this.timer = setTimeout( function() { | ||
this.handle( "timeout" ); | ||
}.bind( this ), 1000 ); | ||
this.emit( "vehicles", { status: RED } ); | ||
}, | ||
_reset: "green", | ||
_onExit: function() { | ||
clearTimeout(this.timer); | ||
} | ||
} | ||
} | ||
## Whirlwind API Tour | ||
When you are creating a new FSM instance, `machina.Fsm` takes 1 argument - an options object. Here's a breakdown of the members of this `options` object: | ||
// While you can call the FSM's `handle` method externally, it doesn't | ||
// make for a terribly expressive API. As a general rule, you wrap calls | ||
// to `handle` with more semantically meaningful method calls like these: | ||
reset: function() { | ||
this.handle( "_reset" ); | ||
}, | ||
`eventListeners` - An object of event names, associated with the array of event handlers subscribed to them. (You are not required to declare the events your FSM can publish ahead of time - this is only for convenience if you want to add handlers as you create the instance.) | ||
pedestrianWaiting: function() { | ||
this.handle( "pedestrianWaiting" ); | ||
} | ||
} ); | ||
```javascript | ||
eventListeners: { | ||
MyEvent1: [function(data) { console.log(data); }], | ||
MyEvent2: [function(data) { console.log(data); }] | ||
} | ||
// Now, to use it: | ||
// This call causes the FSM to transition from uninitialized -> green | ||
// & queues up pedestrianWaiting input, which replays after the timeout | ||
// causes a transition to green-interruptible....which immediately | ||
// transitions to yellow since we have a pedestrian waiting. After the | ||
// next timeout, we end up in "red". | ||
vehicleSignal.pedestrianWaiting(); | ||
// Once the FSM is in the "red" state, we can reset it to "green" by calling: | ||
vehicleSignal.reset(); | ||
``` | ||
`states` - an object detailing the possible states the FSM can be in, plus the kinds of events/messages each state can handle. States can have normal "handlers" as well as a catch-all handler ("*"), an `_onEnter` handler invoked when the FSM has transitioned into that state and an `_onExit` handler invoked when transitioning out of that state. | ||
Though the code comments give you a lot of detail, let's break down what's happening in the above FSM: | ||
* When you are creating an FSM, the constructor takes one argument, the `options` arg - which is an object that contains (at least) the `states` & `initialState` values for your FSM, as well as an optional `initialize` method (which is invoked at the end of the underlying constructor function) and any additional properties or methods you want on the FSM. | ||
* It can exist in one of five possible states: `uninitialized`, `green`, `green-interruptible`, `yellow` and `red`. (Only one state can be active at a time.) | ||
* The states themselves are objects under the `states` property on the FSM, and contain handlers whose names match the input types that the FSM accepts while in that state. | ||
* It starts in the `uninitialized` state. | ||
* It accepts input either by calling `handle` directly and passing the input type as a string (plus any arguments), or by calling top level methods you put on your FSM's prototype that wrap the calls to `handle` with a more expressive API. | ||
* You do *not* assign the state value of the FSM directly, instead, you use `transition(stateName)` to transition to a different state. | ||
* Special "input handlers" exist in machina: `_onEnter`, `_onExit` and `*`. In fact, the very first state (`uninitialized`) in this FSM is using `*`. It's the "catch-all" handler which, if provided, will match any input in that state that's not explicitly matched by name. In this case, any input handled in `uninitialized` will cause the FSM to defer the input (queue it up for replay after transitioning), and immediately transfer to `green`. (This is just to demonstrate how a start-up-only state can automatically transfer into active state(s) as clients begin using the FSM. ) | ||
###Going Further | ||
machina provides two constructor functions for creating an FSM: `machina.Fsm` and `machina.BehavioralFsm`: | ||
####The BehavioralFsm Constructor | ||
`BehavioralFsm` is new to machina as of v1.0 (though the `Fsm` constructor now inherits from it). The `BehavioralFsm` constructor lets you create an FSM that defines *behavior* (hence the name) that you want applied to multiple, separate instances of *state*. A `BehavioralFsm` instance does not (should not!) track state locally, on itself. For example, consider this scenario....where we get to twist our `vehicleSignal` FSM beyond reason: :smile: | ||
```javascript | ||
states: { | ||
"uninitialized" : { | ||
_onEnter: function() { | ||
// do stuff immediately after we transition into uninitialized | ||
}, | ||
var vehicleSignal = new machina.BehavioralFsm( { | ||
"initialize" : function( payload ) { | ||
// handle an "initialize" event | ||
initialize: function( options ) { | ||
// your setup code goes here... | ||
}, | ||
namespace: "vehicle-signal", | ||
initialState: "uninitialized", | ||
states: { | ||
uninitialized: { | ||
"*": function( client ) { | ||
this.deferUntilTransition( client ); | ||
this.transition( client, "green" ); | ||
} | ||
}, | ||
_onExit: function() { | ||
// do stuff immediately before we transition out of uninitialized | ||
// Note: you can't transition or invoke another inside _onExit | ||
green: { | ||
_onEnter: function( client ) { | ||
client.timer = setTimeout( function() { | ||
this.handle( client, "timeout" ); | ||
}.bind( this ), 30000 ); | ||
this.emit( "vehicles", { client: client, status: GREEN } ); | ||
}, | ||
timeout: "green-interruptible", | ||
pedestrianWaiting: function( client ) { | ||
this.deferUntilTransition( client, "green-interruptible" ); | ||
}, | ||
_onExit: function( client ) { | ||
clearTimeout( client.timer ); | ||
} | ||
}, | ||
"green-interruptible": { | ||
pedestrianWaiting: "yellow" | ||
}, | ||
yellow: { | ||
_onEnter: function( client ) { | ||
client.timer = setTimeout( function() { | ||
this.handle( client, "timeout" ); | ||
}.bind( this ), 5000 ); | ||
this.emit( "vehicles", { client: client, status: YELLOW } ); | ||
}, | ||
timeout: "red", | ||
_onExit: function( client ) { | ||
clearTimeout( client.timer ); | ||
} | ||
}, | ||
red: { | ||
_onEnter: function( client ) { | ||
client.timer = setTimeout( function() { | ||
this.handle( client, "timeout" ); | ||
}.bind( this ), 1000 ); | ||
}, | ||
_reset: "green", | ||
_onExit: function( client ) { | ||
clearTimeout( client.timer ); | ||
} | ||
} | ||
}, | ||
"ready" : { | ||
"*" : function( payload ) { | ||
// any message that comes while in the "ready" state will get handled here | ||
// unless it matches another "ready" handler exactly. | ||
reset: function( client ) { | ||
this.handle( client, "_reset" ); | ||
}, | ||
pedestrianWaiting: function( client ) { | ||
this.handle( client, "pedestrianWaiting" ); | ||
} | ||
} ); | ||
// Now we can have multiple 'instances' of traffic lights that all share the same FSM: | ||
var light1 = { location: "Dijsktra Ave & Hunt Blvd", direction: "north-south" }; | ||
var light2 = { location: "Dijsktra Ave & Hunt Blvd", direction: "east-west" }; | ||
// to use the behavioral fsm, we pass the "client" in as the first arg to API calls: | ||
vehicleSignal.pedestrianWaiting( light1 ); | ||
// Now let's signal a pedestrian waiting at light2 | ||
vehicleSignal.pedestrianWaiting( light2 ); | ||
// if you were to inspect light1 and light2, you'd see they both have | ||
// a __machina__ property, which contains metadata related to this FSM. | ||
// For example, light1.__machina__.vehicleSignal.state might be "green" | ||
// and light2.__machina__.vehicleSignal.state might be "yellow" (depending | ||
// on when you check). The point is - the "clients' state" is tracked | ||
// separately from each other, and from the FSM. Here's a snapshot of | ||
// light1 right after the vehicleSignal.pedestrianWaiting( light1 ) call: | ||
{ | ||
"location": "Dijsktra Ave & Hunt Blvd", | ||
"direction": "north-south", | ||
"__machina__": { | ||
"vehicle-signal": { | ||
"inputQueue": [ | ||
{ | ||
"type": "transition", | ||
"untilState": "green-interruptible", | ||
"args": [ | ||
{ | ||
"inputType": "pedestrianWaiting", | ||
"delegated": false | ||
} | ||
] | ||
} | ||
], | ||
"targetReplayState": "green", | ||
"state": "green", | ||
"priorState": "uninitialized", | ||
"priorAction": "", | ||
"currentAction": "", | ||
"currentActionArgs": [ | ||
{ | ||
"inputType": "pedestrianWaiting", | ||
"delegated": false | ||
} | ||
], | ||
"inExitHandler": false | ||
} | ||
}, | ||
"timer": 11 | ||
} | ||
``` | ||
`initialState` - the state in which the FSM will start. As soon as the instance is created, the FSM calls the `transition` method to transition into this state. | ||
Though we're using the *same FSM for behavior*, the *state is tracked separately*. This enables you to keep a smaller memory footprint, especially in situations where you'd otherwise have lots of individual instances of the same FSM in play. More importantly, though, it allows you to take a more functional approach to FSM behavior and state should you prefer to do so. (As a side note, it also makes it much simpler to store a client's state and re-load it later and have the FSM pick up where it left off, etc.) | ||
`namespace` - a name that indentifies the FSM if it's wired up to a message bus through a plugin. | ||
####The Fsm Constructor | ||
If you've used machina prior to v1.0, the `Fsm` constructor is what you're familiar with. It's functionally equivalent to the `BehavioralFsm` (in fact, it inherits from it), except that it can only deal with one client: *itself*. There's no need to pass a `client` argument to the API calls on an `Fsm` instance, since it only acts on itself. All of the metadata that was stamped on our `light1` and `light2` clients above (under the `__machina__` property) is at the instance level on an `Fsm` (as it has been historically for this constructor). | ||
`initialize` - a function that will be executed as soon as the FSM instance has been created. This is the last step of the FSM's constructor function, prior to emitting that a new instance has been created, and transitioning (if applicable) into the initial state. | ||
###Wait - What's This About Inheritance? | ||
machina's FSM constructor functions are simple to extend. If you don't need an instance, but just want a modified constructor function to use later to create instances, you can do something like this: | ||
### Inheritance | ||
FSMs can be created via the `machina.Fsm` constructor function as described above, or you can create an 'extended' FSM constructor function by calling `machina.Fsm.extend()`. If you are familiar with backbone.js, machina's inheritance is identical to how backbone objects work, except that machina performs a deep extend, which means you can inherit from an FSM, adding new handlers to a state defined by the base (and you can override already-declared handlers, etc.). With this being the case, it's better to think of machina's inhertiance as "blending" and not just extending. Let's look at an example: | ||
```javascript | ||
var TrafficLightFsm = machina.Fsm.extend({ /* your options */ }); | ||
// later/elsewhere in your code: | ||
var trafficLight = new TrafficLightFsm(); | ||
// you can also override any of the options: | ||
var anotherLight = new TrafficLightFsm({ initialState: "go" }); | ||
``` | ||
The `extend` method works similar to other frameworks (like Backbone, for example). The primary difference is this: *the states object will be deep merged across the prototype chain* into an instance-level `states` property (so it doesn't mutate the prototype chain). This means you can add new states as well as add new (or override existing) handlers to existing states as you inherit from "parent" FSMs. This can be very useful, but – as with all things inheritance-related – use with caution! | ||
###And You Mentioned Events? | ||
machina FSMs are event emitters, and subscribing to them is pretty easy: | ||
```javascript | ||
var BaseFsm = machina.Fsm.extend({ | ||
initialize: function() { | ||
// do stuff here if you want to perform more setup work | ||
// this executes prior to any state transitions or handler invocations | ||
// I'd like to know when the transition event occurs | ||
trafficLight.on("transition", function (data){ | ||
console.log("we just transitioned from " + data.fromState + " to " + data.toState); | ||
}); | ||
// Or, maybe I want to know when ANY event occurs | ||
trafficLight.on("*", function (eventName, data){ | ||
console.log("this thing happened:", eventName); | ||
}); | ||
``` | ||
Unsubscribing can be done a couple of ways: | ||
```javascript | ||
//each listener gets a return value | ||
var sub = trafficLight.on("transition", someCallback); | ||
sub.off(); // unsubscribes the handler | ||
// OR, we can use the FSM's prototype method - | ||
// remove this specific subscription: | ||
trafficLight.off("transition", someCallback); | ||
// remove all transition subscribers | ||
trafficLight.off("transition"); | ||
// remove ALL subscribers, period: | ||
trafficLight.off(); | ||
``` | ||
You can emit your own custom events in addition to the built-in events machina emits. To read more about these events, see the [wiki](https://github.com/ifandelse/machina.js/wiki). | ||
###Things Suddenly Got Hierarchical! | ||
One of the most exciting additions in v1.0: machina now supports hierarchical state machines. Remember our earlier example of the `vehicleSignal` FSM? Well, that's only *part* of a pedestrian crosswalk. Pedestrians need their own signal as well - typically a sign that signals "Walk" and "Do Not Walk". Let's peek at what an FSM for this might look like: | ||
```javascript | ||
var pedestrianSignal = new machina.Fsm( { | ||
namespace: "pedestrian-signal", | ||
initialState: "uninitialized", | ||
reset: function() { | ||
this.transition( "walking" ); | ||
}, | ||
states: { | ||
uninitialized: { | ||
start: function() { | ||
this.transition("first"); | ||
"*": function() { | ||
this.deferUntilTransition(); | ||
this.transition( "walking" ); | ||
} | ||
}, | ||
first: { | ||
handlerA : function() { | ||
// do stuff | ||
walking: { | ||
_onEnter: function() { | ||
this.timer = setTimeout( function() { | ||
this.handle( "timeout" ); | ||
}.bind( this ), 30000 ); | ||
this.emit( "pedestrians", { status: WALK } ); | ||
}, | ||
timeout: "flashing", | ||
_onExit: function() { | ||
clearTimeout( this.timer ); | ||
} | ||
} | ||
} | ||
}); | ||
// getting an instance from our extended constructor function above | ||
var baseFsm = new BaseFsm(); | ||
// taking the BaseFsm constructor function and doing more | ||
var ChildFsm = BaseFsm.extend({ | ||
states: { | ||
uninitialized: { | ||
skipToTheEnd: function() { | ||
this.transition("second"); | ||
} | ||
}, | ||
first: { | ||
handlerA : function() { | ||
this.transition("second"); | ||
flashing: { | ||
_onEnter: function() { | ||
this.timer = setTimeout( function() { | ||
this.handle( "timeout" ); | ||
}.bind( this ), 5000 ); | ||
this.emit( "pedestrians", { status: DO_NOT_WALK, flashing: true } ); | ||
}, | ||
timeout: "dontwalk", | ||
_onExit: function() { | ||
clearTimeout( this.timer ); | ||
} | ||
handlerB : function() { | ||
// do some work... | ||
} | ||
}, | ||
second: { | ||
handlerC : function() { | ||
// do stuff | ||
dontwalk: { | ||
_onEnter: function() { | ||
this.timer = setTimeout( function() { | ||
this.handle( "timeout" ); | ||
}.bind( this ), 1000 ); | ||
}, | ||
_reset: "walking", | ||
_onExit: function() { | ||
clearTimeout( this.timer ); | ||
} | ||
} | ||
} | ||
}); | ||
// This instance will have a blending of BaseFsm and ChildFsm's states/handlers | ||
var childFsm = new ChildFsm(); | ||
} ) | ||
``` | ||
## The machina.Fsm Prototype | ||
Each instance of an machina FSM has the following methods available via it's prototype: | ||
In many ways, our `pedestrianSignal` is similar to the `vehicleSignal` FSM: | ||
* `emit(eventName, [other args...])` - looks in the `events` object for a matching event name, and then iterates through the subscriber callbacks for that event and invokes each one, passing in any additional args that were passed to `emit`. (NOTE: - this call is currently aliased as `emit` as well.) | ||
* `handle(msgType, [other args...])` - This is the main way you should be interacting with an FSM instance (assuming no message bus is present). It will try to find a matching eventName/msgType under the current state and invoke it, if one exists. Otherwise it will look for a catch-all handler, or simply ignore the message and raise the "NoHandler" event. | ||
* `transition(newState)` - Called when transitioning into a new state. | ||
* `deferUntilTransition(stateName)` - calling this within a state handler function will queue the handler's arguments to be executed at a later time. If you don't provide the `stateName` argument, it will replay the event after the next state transition. Providing the `stateName` argument will queue the event until the FSM transitions into that state. | ||
* `deferUntilNextHandler()` - calling this within a state handler function will queue the handler's arguments to be executed after the next handler is invoked. | ||
* `processQueue()` - called internally during state transitions and after handler methods have been invoked. This call processes any queued events (queued by use of `deferUntilTransition` and/or `deferUntilNextHandler`). | ||
* `clearQueue(type, name)` - allows you to clear out queued events that have been deferred either until another handler or another state transition. The `type` parameter can be either "transition" or "handler". If you pass "transition" for the `type`, then the optional `name` parameter allows you to clear events queued for a specific state transition. Not providing a `name` when the `type` is "transition" will clear out all events queued for *any* state transition. | ||
* `on(eventName, callback)` - used to subscribe to events that the FSM generates. | ||
* `off(eventName, callback)` - used to unsubscribe to FSM events. | ||
* It starts in the `uninitialized` state, and the first input causes it to transition to `walking` before actually processing the input. | ||
* It can only be in one of four states: `uninitialized`, `walking`, `flashing` and `dontwalk`. | ||
* This FSM's input is primarily internally-executed, based on timers (`setTimeout` calls). | ||
In addition to the prototype members, every instance of an FSM has these instance-specific values as well: | ||
Now - we *could* stand up an instance of `pedestrianSignal` and `vehicleSignal`, and subscribe them to each other's `transition` events. This would make them "siblings" - where `pedestrianSignal` could, for example, only transition to `walking` when `vehicleSignal` is in the `red` state, etc. While there are scenarios where this sort of "sibling" approach is useful, what we really have is a hierarchy. There are two higher level states that each FSM represents, a "vehicles-can-cross" state and a "pedestrians-can-cross" state. With machina v1.0, we can create an FSM to model these higher states, and attach our `pedestrianSignal` and `vehicleSignal` FSMs to their parent states: | ||
* `_currentAction` - concatenates "{state}.{handler}" for the operation in progress. This is provided as a convenience for both logging (if needed) and if you need to check during an operation to see if the last action taken is the same action being taken now. | ||
* `_priorAction` - concatenates "{state}.{handler" for the last operation that took place. See the above explanation for more context. | ||
* `eventListeners` - an object containing the event names (keys) and an array of subscribers listening to the event. You should not need to interact with this directly. Instead, use the `on` and `off` prototype methods. | ||
* `eventQueue` - an array of input/events that have been deferred by calling `deferUntilTransition` or `deferUntilNextHandler`. This queue is processed automatically for you. | ||
* `namespace` - the namespace value you passed in during instantiaton, or a default value machina provides. | ||
* `priorState` - the last state in which the FSM was in before the current one. This could be useful if you have conditional transition behavior as you move into a new state which depends on what state you're moving *from*. | ||
* `state` - string value of the current state of the FSM. This will match one of the state names in the `states` object. Do *not* change this value directly. Use the `transition()` method on the prototype to change an FSM's state. | ||
* `states` - the object literal of states & handlers you passed in when you created the FSM. | ||
* `targetReplayState` - used internally during transitions to manage the proper replay of queued events if multiple transitions result from one initial transition. | ||
```javascript | ||
var crosswalk = new machina.Fsm( { | ||
namespace: "crosswalk", | ||
initialState: "vehiclesEnabled", | ||
states: { | ||
vehiclesEnabled: { | ||
_child: vehicleSignal, | ||
_onEnter: function() { | ||
this.emit( "pedestrians", { status: DO_NOT_WALK } ); | ||
}, | ||
timeout: "pedestriansEnabled" | ||
}, | ||
pedestriansEnabled: { | ||
_child: pedestrianSignal, | ||
_onEnter: function() { | ||
this.emit( "vehicles", { status: RED } ); | ||
}, | ||
timeout: "vehiclesEnabled" | ||
} | ||
} | ||
} ); | ||
``` | ||
Notice how each state has a `_child` property? This property can be used to assign an FSM instance to act as a child FSM for this parent state (or a factory function that produces an instance to be used, etc.). Here's how it works: | ||
## The Top Level machina object | ||
* When an FSM is handling input, it attempts to let the child FSM handle it first. If the child emits a `nohandler` event, the parent FSM will take over and attempt to handle it. For example - if a `pedestrianWaiting` input is fed to the above FSM while in the `vehiclesEnabled` state, it will be passed on to the `vehicleSignal` FSM to be handled there. | ||
* Events emitted from the child FSM are bubbled up to be emitted by the top level parent (except for the `nohandler` event). | ||
* If a child FSM handles input that it does not have a handler for, it will bubble the input up to the parent FSM to be handled there. Did you notice that both our `pedestrianSignal` and `vehicleSignal` FSMs queue up a `timeout` input in the `dontwalk` and `red` states, respectively? However, neither of those FSMs have an input handler for `timeout` in those states. When these FSMs become part of the hierarchy above, as children of the `crosswalk` FSM, the `timeout` input will bubble up to the parent FSM to be handled, where there *are* handlers for it. | ||
* When the parent FSM transitions to a new state, any child FSM from a previous state is ignored entirely (i.e. - events emitted, or input bubbled, will *not* be handled in the parent). If the parent FSM transitions back to that state, it will resume listening to the child FSM, etc. | ||
* As the parent state transitions into any of its states, it will tell the child FSM to handle a `_reset` input. This gives you a hook to move the child FSM to the correct state before handling any further input. For example, you'll notice our `pedestrianSignal` FSM has a `_reset` input handler in the `dontwalk` state, which transitions the FSM to the `walking` state. | ||
>Caveats: This feature is very new to machina, so expect it to evolve a bit. I plan to fine-tune how events bubble in a hierarchy a bit more, and potentially give the parent FSM the ability to express the state down the hierachy (e.g. `vehiclesEnabled.green` or `pedestriansEnabled.dontwalk`). | ||
### The Top Level machina object | ||
The top level `machina` object has the following members: | ||
* `Fsm` - the constructor function used to create FSMs. | ||
* `BehavioralFsm` – the constructor function used to create BehavioralFSM instances. | ||
* `utils` - contains helper functions that can be overridden to change default behavior(s) in machina: | ||
* `getDefaultOptions` - returns the default options object for any machina instance | ||
* `makeFsmNamespace` - function that provides a default "channel" or "exchange" for an FSM instance. (e.g. - fsm.0, fsm.1, etc.) | ||
* `on` - function used to subscribe a callback to top-level machina events (currently the only event published at this level is "newFsm") | ||
* `off` - function used to unsubscribe a callback to top-level machina events. | ||
* `eventListeners` - an object literal containing the top-level `emit` call as well as susbcribers to any top-level events. | ||
* `makeFsmNamespace` - function that provides a default "channel" or "exchange" for an FSM instance. (e.g. - fsm.0, fsm.1, etc.) | ||
* `on` - method used to subscribe a callback to top-level machina events (currently the only event published at this level is `newFsm`) | ||
* `off` - method used to unsubscribe a callback to top-level machina events. | ||
* `emit` - top-level method used to emit events. | ||
* `eventListeners` - an object literal containing the susbcribers to any top-level events. | ||
## Pulling machina into your environment | ||
machina depends on [lodash (2.4.1 or greater)](https://lodash.com/). If you are using npm or bower - lodash will be pulled down automatically when you install machina - otherwise you'll need to grab it manually. | ||
```javascript | ||
// If you're not using an AMD loader, machina is available on the window | ||
var MyFsm = machina.Fsm.extend({ /* your stuff */}); | ||
// If you're using an AMD loader: | ||
require(['machina'], function(machina){ | ||
return machina.Fsm.extend({ /* your stuff */}); | ||
}); | ||
// machina v0.3.x | ||
// In node.js, the module returns a factory function: | ||
var lodash = require('lodash'); | ||
var machina = require('machina')(lodash); | ||
var MyFsm = machina.Fsm.extend({ /* your stuff */}); | ||
// This changed in v0.4 FYI - it no longer exports a factory: | ||
var machina = require('machina'); | ||
``` | ||
## Build, Tests & Examples | ||
@@ -259,7 +465,9 @@ machina.js uses [gulp.js](http://gulpjs.com/) to build. | ||
* To build, run `npm run build` - then check the lib folder for the output | ||
* To run the examples: | ||
* `npm start` | ||
* navigate in your browser to <http://localhost:3080/> | ||
* To run tests & examples: | ||
* To run node-based tests: `npm run test` | ||
* To run browser-based tests & examples: | ||
* run `npm start` | ||
* navigate in your browser to <http://localhost:3080/> | ||
* To run istanbul (code test coverage): `npm run coverage` | ||
* To see a browser-based istanbul report: `npm run show-coverage` | ||
@@ -270,1 +478,6 @@ | ||
Go [here](https://github.com/ifandelse/machina.js/blob/master/changelog.md) to see the changelog. | ||
##Have More Questions? | ||
Read the [wiki](https://github.com/ifandelse/machina.js/wiki) and the source – you might find your answer and more! Check out the [issue](https://github.com/ifandelse/machina.js/issues/4) opened by @burin - a *great* example of how to use github issues to ask questions, provide sample code, etc. I only ask that if you open an issue, that it be *focused on a specific problem or bug* (not wide-open ambiguity, please). | ||
@@ -1,1 +0,1 @@ | ||
__history = [{"date":"Fri, 17 Jan 2014 03:26:34 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:02:45 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:04:20 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:31:53 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:40:32 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:45:30 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:50:34 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:55:08 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:57:26 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Wed, 22 Jan 2014 07:20:37 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Wed, 22 Jan 2014 07:48:37 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Wed, 22 Jan 2014 08:11:10 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Thu, 23 Jan 2014 06:32:17 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Thu, 23 Jan 2014 07:14:46 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 31 Jan 2014 03:13:23 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7462815595771937,"maintainability":115.6821018185438,"lintErrors":0,"difficulty":60.934210526315795},{"date":"Fri, 31 Jan 2014 04:19:33 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Tue, 10 Jun 2014 05:19:05 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.117896243948539,"maintainability":114.05695416155538,"lintErrors":0,"difficulty":67.125},{"date":"Tue, 10 Jun 2014 05:19:50 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.117896243948539,"maintainability":114.05695416155538,"lintErrors":0,"difficulty":67.125},{"date":"Tue, 10 Jun 2014 05:21:54 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.117896243948539,"maintainability":114.05695416155538,"lintErrors":0,"difficulty":67.125},{"date":"Tue, 10 Jun 2014 05:23:06 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.107864828007129,"maintainability":114.07436722888846,"lintErrors":0,"difficulty":66.975},{"date":"Wed, 11 Jun 2014 03:41:02 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.107864828007129,"maintainability":114.07436722888846,"lintErrors":0,"difficulty":66.975},{"date":"Wed, 11 Jun 2014 03:44:10 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.107864828007129,"maintainability":114.07436722888846,"lintErrors":0,"difficulty":66.975},{"date":"Wed, 11 Jun 2014 03:49:30 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.167364408152359,"maintainability":113.8818936541093,"lintErrors":0,"difficulty":67.67701863354037},{"date":"Wed, 11 Jun 2014 03:52:49 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.167364408152359,"maintainability":113.8818936541093,"lintErrors":0,"difficulty":67.67701863354037},{"date":"Wed, 11 Jun 2014 03:54:43 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.162343487178682,"maintainability":113.89053908706553,"lintErrors":0,"difficulty":67.60248447204968},{"date":"Wed, 11 Jun 2014 05:15:14 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.162343487178682,"maintainability":113.89053908706553,"lintErrors":0,"difficulty":67.60248447204968},{"date":"Wed, 11 Jun 2014 05:25:31 GMT","sloc":385,"lloc":277,"functions":43,"deliveredBugs":4.762018662250308,"maintainability":114.9318904431851,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:41:03 GMT","sloc":385,"lloc":277,"functions":43,"deliveredBugs":4.762018662250308,"maintainability":114.9318904431851,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:41:41 GMT","sloc":385,"lloc":277,"functions":43,"deliveredBugs":4.762018662250308,"maintainability":114.9318904431851,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:42:17 GMT","sloc":388,"lloc":278,"functions":43,"deliveredBugs":4.77224856270627,"maintainability":114.80884569997465,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:42:49 GMT","sloc":388,"lloc":278,"functions":43,"deliveredBugs":4.77224856270627,"maintainability":114.80884569997465,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:43:48 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.759461187136318,"maintainability":114.89272979576751,"lintErrors":0,"difficulty":67.86666666666667},{"date":"Wed, 11 Jun 2014 05:47:50 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.759461187136318,"maintainability":114.89272979576751,"lintErrors":0,"difficulty":67.86666666666667},{"date":"Wed, 11 Jun 2014 05:48:42 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.76969108759228,"maintainability":114.89020029919811,"lintErrors":0,"difficulty":68},{"date":"Wed, 11 Jun 2014 05:56:08 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.76969108759228,"maintainability":114.89020029919811,"lintErrors":0,"difficulty":68},{"date":"Wed, 11 Jun 2014 06:04:18 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.77224856270627,"maintainability":114.8893496935643,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 06:12:54 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.802234888890739,"maintainability":114.8504510107183,"lintErrors":0,"difficulty":68.08839779005524},{"date":"Wed, 11 Jun 2014 06:18:51 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.8406322893882665,"maintainability":114.84019239886894,"lintErrors":0,"difficulty":68.68508287292818},{"date":"Wed, 11 Jun 2014 06:23:19 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.8355126359885965,"maintainability":114.83869167105061,"lintErrors":0,"difficulty":68.61878453038673},{"date":"Wed, 11 Jun 2014 06:25:15 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.8611109029869475,"maintainability":114.78606562386966,"lintErrors":0,"difficulty":68.95027624309392},{"date":"Wed, 11 Jun 2014 13:46:15 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.813830955992291,"maintainability":114.96131764219997,"lintErrors":0,"difficulty":69.31843575418995},{"date":"Wed, 11 Jun 2014 13:48:06 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.818941179937081,"maintainability":114.95980530508346,"lintErrors":0,"difficulty":69.3854748603352},{"date":"Wed, 11 Jun 2014 14:00:37 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.849602523605822,"maintainability":114.88415907648304,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:03:53 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.852157635578217,"maintainability":114.8790545573623,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:13:28 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.852157635578217,"maintainability":114.87081738711562,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:15:06 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.852157635578217,"maintainability":114.88220045470634,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:18:45 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.857267859523007,"maintainability":114.882039782897,"lintErrors":0,"difficulty":69.85474860335196},{"date":"Wed, 11 Jun 2014 15:52:59 GMT","sloc":299,"lloc":212,"functions":32,"deliveredBugs":3.3592307055929957,"maintainability":114.6757144272797,"lintErrors":0,"difficulty":57.5},{"date":"Wed, 11 Jun 2014 15:54:05 GMT","sloc":299,"lloc":212,"functions":32,"deliveredBugs":3.355528737361826,"maintainability":114.66303719473589,"lintErrors":0,"difficulty":57.87828947368421},{"date":"Wed, 11 Jun 2014 15:54:45 GMT","sloc":299,"lloc":212,"functions":32,"deliveredBugs":3.358012474399103,"maintainability":114.65825366810031,"lintErrors":0,"difficulty":57.953947368421055},{"date":"Wed, 11 Jun 2014 15:56:27 GMT","sloc":297,"lloc":210,"functions":32,"deliveredBugs":3.2761226304609137,"maintainability":114.83586037240626,"lintErrors":0,"difficulty":59.390410958904106},{"date":"Wed, 11 Jun 2014 16:00:47 GMT","sloc":297,"lloc":210,"functions":32,"deliveredBugs":3.2909243893334783,"maintainability":114.82427180809877,"lintErrors":0,"difficulty":59.705479452054796},{"date":"Wed, 11 Jun 2014 16:10:56 GMT","sloc":308,"lloc":209,"functions":32,"deliveredBugs":3.2362708927919943,"maintainability":114.92065380809123,"lintErrors":0,"difficulty":60.49647887323943},{"date":"Wed, 11 Jun 2014 16:11:50 GMT","sloc":308,"lloc":209,"functions":32,"deliveredBugs":3.2401006568384156,"maintainability":114.92932695925012,"lintErrors":0,"difficulty":60.07342657342658},{"date":"Wed, 11 Jun 2014 16:34:22 GMT","sloc":317,"lloc":216,"functions":33,"deliveredBugs":3.346255686711186,"maintainability":114.96089378270732,"lintErrors":0,"difficulty":60.831034482758625},{"date":"Wed, 11 Jun 2014 16:43:35 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.411805420126087,"maintainability":115.01545160151935,"lintErrors":0,"difficulty":61.359589041095894},{"date":"Wed, 11 Jun 2014 16:45:13 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.411805420126087,"maintainability":115.01545160151935,"lintErrors":0,"difficulty":61.359589041095894},{"date":"Wed, 11 Jun 2014 16:49:05 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.3920697416293346,"maintainability":115.0852412436239,"lintErrors":0,"difficulty":61.044520547945204},{"date":"Wed, 11 Jun 2014 16:50:32 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.3896027818172407,"maintainability":115.09018595320049,"lintErrors":0,"difficulty":60.965753424657535},{"date":"Wed, 11 Jun 2014 16:56:34 GMT","sloc":320,"lloc":219,"functions":34,"deliveredBugs":3.3797349425688643,"maintainability":115.10921183483356,"lintErrors":0,"difficulty":60.80821917808219},{"date":"Wed, 11 Jun 2014 17:02:23 GMT","sloc":323,"lloc":219,"functions":34,"deliveredBugs":3.408319830623343,"maintainability":115.08381783716814,"lintErrors":0,"difficulty":60.863945578231295},{"date":"Wed, 11 Jun 2014 17:03:43 GMT","sloc":323,"lloc":219,"functions":34,"deliveredBugs":3.4033802366659183,"maintainability":115.09780182715966,"lintErrors":0,"difficulty":60.785714285714285},{"date":"Wed, 11 Jun 2014 17:24:21 GMT","sloc":328,"lloc":221,"functions":34,"deliveredBugs":3.4758546125613563,"maintainability":114.89031565649245,"lintErrors":0,"difficulty":60.31788079470199},{"date":"Wed, 11 Jun 2014 21:21:46 GMT","sloc":328,"lloc":221,"functions":34,"deliveredBugs":3.4758546125613563,"maintainability":114.89031565649245,"lintErrors":0,"difficulty":60.31788079470199},{"date":"Wed, 11 Jun 2014 22:01:48 GMT","sloc":328,"lloc":221,"functions":34,"deliveredBugs":3.4758546125613563,"maintainability":114.89031565649245,"lintErrors":0,"difficulty":60.31788079470199},{"date":"Thu, 12 Jun 2014 02:28:46 GMT","sloc":319,"lloc":217,"functions":32,"deliveredBugs":3.4225896373683167,"maintainability":114.25023183720106,"lintErrors":0,"difficulty":56.15032679738562},{"date":"Thu, 12 Jun 2014 02:31:31 GMT","sloc":319,"lloc":217,"functions":32,"deliveredBugs":3.4225896373683167,"maintainability":114.25023183720106,"lintErrors":0,"difficulty":56.15032679738562},{"date":"Thu, 12 Jun 2014 02:32:00 GMT","sloc":318,"lloc":217,"functions":32,"deliveredBugs":3.4039061587681516,"maintainability":114.26573076515797,"lintErrors":0,"difficulty":56.30263157894737},{"date":"Thu, 12 Jun 2014 02:32:16 GMT","sloc":317,"lloc":216,"functions":32,"deliveredBugs":3.392668681211559,"maintainability":114.34039410666975,"lintErrors":0,"difficulty":56.52980132450331},{"date":"Thu, 12 Jun 2014 03:53:23 GMT","sloc":321,"lloc":218,"functions":33,"deliveredBugs":3.433677932751547,"maintainability":114.7613454044756,"lintErrors":0,"difficulty":56.809210526315795},{"date":"Thu, 12 Jun 2014 04:21:32 GMT","sloc":324,"lloc":220,"functions":33,"deliveredBugs":3.6586731024832333,"maintainability":114.10141915176287,"lintErrors":0,"difficulty":60.94},{"date":"Thu, 12 Jun 2014 04:36:48 GMT","sloc":328,"lloc":225,"functions":33,"deliveredBugs":3.751243521907759,"maintainability":113.54691832529281,"lintErrors":0,"difficulty":61.51315789473684},{"date":"Thu, 12 Jun 2014 04:40:47 GMT","sloc":328,"lloc":225,"functions":33,"deliveredBugs":3.751243521907759,"maintainability":113.53277754421643,"lintErrors":0,"difficulty":61.51315789473684},{"date":"Thu, 12 Jun 2014 04:42:16 GMT","sloc":332,"lloc":227,"functions":34,"deliveredBugs":3.7686103900647394,"maintainability":113.95773797056839,"lintErrors":0,"difficulty":61.80263157894737},{"date":"Thu, 12 Jun 2014 04:43:47 GMT","sloc":332,"lloc":227,"functions":34,"deliveredBugs":3.7735723523953055,"maintainability":113.93995339611533,"lintErrors":0,"difficulty":61.875},{"date":"Thu, 12 Jun 2014 04:57:02 GMT","sloc":338,"lloc":230,"functions":35,"deliveredBugs":3.8259032434925224,"maintainability":114.27481873038812,"lintErrors":0,"difficulty":61.31612903225806},{"date":"Thu, 12 Jun 2014 04:58:12 GMT","sloc":338,"lloc":230,"functions":35,"deliveredBugs":3.8259032434925224,"maintainability":114.26503943159483,"lintErrors":0,"difficulty":61.31612903225806},{"date":"Thu, 12 Jun 2014 05:04:15 GMT","sloc":338,"lloc":230,"functions":35,"deliveredBugs":3.8507952619927988,"maintainability":114.24848361605686,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Thu, 12 Jun 2014 13:02:20 GMT","sloc":345,"lloc":236,"functions":36,"deliveredBugs":3.835860050892633,"maintainability":114.51218673662935,"lintErrors":0,"difficulty":61.45806451612903},{"date":"Thu, 12 Jun 2014 13:07:05 GMT","sloc":350,"lloc":241,"functions":36,"deliveredBugs":3.823414041642495,"maintainability":114.18344899202256,"lintErrors":0,"difficulty":61.24516129032258},{"date":"Thu, 12 Jun 2014 13:13:17 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Thu, 12 Jun 2014 13:29:26 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Thu, 12 Jun 2014 14:00:31 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Fri, 13 Jun 2014 00:01:10 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Fri, 13 Jun 2014 03:29:00 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Fri, 13 Jun 2014 04:04:20 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.830881647192578,"maintainability":114.17286040346116,"lintErrors":0,"difficulty":61.52903225806452},{"date":"Fri, 13 Jun 2014 05:25:52 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 03:13:23 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Fri, 20 Jun 2014 03:15:40 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Fri, 20 Jun 2014 04:16:28 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 04:17:35 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 04:18:58 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 04:20:01 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.660259332870866,"maintainability":112.61568508985638,"lintErrors":6,"difficulty":89.89171974522293},{"date":"Fri, 20 Jun 2014 04:32:01 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.660259332870866,"maintainability":112.61568508985638,"lintErrors":6,"difficulty":89.89171974522293},{"date":"Fri, 20 Jun 2014 04:32:44 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.665248543389042,"maintainability":112.61088059330993,"lintErrors":6,"difficulty":89.96178343949046},{"date":"Fri, 20 Jun 2014 04:34:11 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.665248543389042,"maintainability":112.61088059330993,"lintErrors":6,"difficulty":89.96178343949046},{"date":"Fri, 20 Jun 2014 04:50:31 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.652775517093602,"maintainability":112.61357006720985,"lintErrors":6,"difficulty":89.7515923566879},{"date":"Fri, 20 Jun 2014 05:02:29 GMT","sloc":248,"lloc":169,"functions":25,"deliveredBugs":2.5158944521334528,"maintainability":114.35848786287576,"lintErrors":0,"difficulty":44.43609022556391},{"date":"Fri, 20 Jun 2014 05:09:14 GMT","sloc":217,"lloc":155,"functions":21,"deliveredBugs":2.2207383569251067,"maintainability":112.61269570514433,"lintErrors":0,"difficulty":45.689655172413794},{"date":"Fri, 20 Jun 2014 05:19:10 GMT","sloc":225,"lloc":161,"functions":22,"deliveredBugs":2.337385652210885,"maintainability":112.83753649904688,"lintErrors":0,"difficulty":46.806722689075634},{"date":"Fri, 20 Jun 2014 05:20:28 GMT","sloc":225,"lloc":161,"functions":22,"deliveredBugs":2.337385652210885,"maintainability":112.83753649904688,"lintErrors":0,"difficulty":46.806722689075634},{"date":"Fri, 20 Jun 2014 05:21:36 GMT","sloc":224,"lloc":160,"functions":22,"deliveredBugs":2.307900940300646,"maintainability":112.95523867881909,"lintErrors":0,"difficulty":46.610169491525426},{"date":"Sat, 21 Jun 2014 23:17:20 GMT","sloc":270,"lloc":182,"functions":30,"deliveredBugs":2.6576522005346175,"maintainability":116.61108257028894,"lintErrors":0,"difficulty":50.40322580645161},{"date":"Mon, 23 Jun 2014 05:33:05 GMT","sloc":354,"lloc":238,"functions":40,"deliveredBugs":3.686302288159009,"maintainability":117.09183837335202,"lintErrors":0,"difficulty":59.92857142857143},{"date":"Thu, 26 Jun 2014 04:08:34 GMT","sloc":401,"lloc":265,"functions":50,"deliveredBugs":4.125065685106426,"maintainability":119.39679497346788,"lintErrors":0,"difficulty":69.90196078431373},{"date":"Thu, 26 Jun 2014 04:24:57 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Thu, 26 Jun 2014 04:27:34 GMT","sloc":375,"lloc":262,"functions":43,"deliveredBugs":3.775280296661714,"maintainability":115.62792780428913,"lintErrors":0,"difficulty":60.89542483660131},{"date":"Thu, 26 Jun 2014 04:42:59 GMT","sloc":375,"lloc":262,"functions":43,"deliveredBugs":3.775280296661714,"maintainability":115.62792780428913,"lintErrors":0,"difficulty":60.89542483660131},{"date":"Thu, 26 Jun 2014 04:43:59 GMT","sloc":384,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.62541972245211,"lintErrors":3,"difficulty":61.151315789473685},{"date":"Thu, 26 Jun 2014 04:56:19 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:05:22 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:06:32 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:14:24 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:23:19 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:24:52 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Fri, 18 Jul 2014 03:45:51 GMT","sloc":396,"lloc":277,"functions":45,"deliveredBugs":4.169874868639198,"maintainability":115.25920743457168,"lintErrors":0,"difficulty":65.66358024691358},{"date":"Sat, 19 Jul 2014 03:09:06 GMT","sloc":401,"lloc":265,"functions":50,"deliveredBugs":4.125065685106426,"maintainability":119.39679497346788,"lintErrors":0,"difficulty":69.90196078431373},{"date":"Fri, 25 Jul 2014 15:06:16 GMT","sloc":396,"lloc":275,"functions":44,"deliveredBugs":4.091250181494625,"maintainability":115.05527593150826,"lintErrors":0,"difficulty":63.920245398773005},{"date":"Sun, 12 Oct 2014 04:28:48 GMT","sloc":394,"lloc":273,"functions":43,"deliveredBugs":4.068632705061301,"maintainability":114.71930365402038,"lintErrors":0,"difficulty":63.56748466257668},{"date":"Sun, 21 Dec 2014 17:57:29 GMT","sloc":480,"lloc":319,"functions":55,"deliveredBugs":4.884149343285464,"maintainability":116.97098868140768,"lintErrors":0,"difficulty":76.76536312849161},{"date":"Tue, 23 Dec 2014 22:53:11 GMT","sloc":426,"lloc":284,"functions":40,"deliveredBugs":4.2212296345638185,"maintainability":112.77251242453704,"lintErrors":0,"difficulty":73.47826086956522}] | ||
__history = [{"date":"Fri, 17 Jan 2014 03:26:34 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:02:45 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:04:20 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:31:53 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:40:32 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:45:30 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:50:34 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:55:08 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:57:26 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Wed, 22 Jan 2014 07:20:37 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Wed, 22 Jan 2014 07:48:37 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Wed, 22 Jan 2014 08:11:10 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Thu, 23 Jan 2014 06:32:17 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Thu, 23 Jan 2014 07:14:46 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 31 Jan 2014 03:13:23 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7462815595771937,"maintainability":115.6821018185438,"lintErrors":0,"difficulty":60.934210526315795},{"date":"Fri, 31 Jan 2014 04:19:33 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Tue, 10 Jun 2014 05:19:05 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.117896243948539,"maintainability":114.05695416155538,"lintErrors":0,"difficulty":67.125},{"date":"Tue, 10 Jun 2014 05:19:50 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.117896243948539,"maintainability":114.05695416155538,"lintErrors":0,"difficulty":67.125},{"date":"Tue, 10 Jun 2014 05:21:54 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.117896243948539,"maintainability":114.05695416155538,"lintErrors":0,"difficulty":67.125},{"date":"Tue, 10 Jun 2014 05:23:06 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.107864828007129,"maintainability":114.07436722888846,"lintErrors":0,"difficulty":66.975},{"date":"Wed, 11 Jun 2014 03:41:02 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.107864828007129,"maintainability":114.07436722888846,"lintErrors":0,"difficulty":66.975},{"date":"Wed, 11 Jun 2014 03:44:10 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.107864828007129,"maintainability":114.07436722888846,"lintErrors":0,"difficulty":66.975},{"date":"Wed, 11 Jun 2014 03:49:30 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.167364408152359,"maintainability":113.8818936541093,"lintErrors":0,"difficulty":67.67701863354037},{"date":"Wed, 11 Jun 2014 03:52:49 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.167364408152359,"maintainability":113.8818936541093,"lintErrors":0,"difficulty":67.67701863354037},{"date":"Wed, 11 Jun 2014 03:54:43 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.162343487178682,"maintainability":113.89053908706553,"lintErrors":0,"difficulty":67.60248447204968},{"date":"Wed, 11 Jun 2014 05:15:14 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.162343487178682,"maintainability":113.89053908706553,"lintErrors":0,"difficulty":67.60248447204968},{"date":"Wed, 11 Jun 2014 05:25:31 GMT","sloc":385,"lloc":277,"functions":43,"deliveredBugs":4.762018662250308,"maintainability":114.9318904431851,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:41:03 GMT","sloc":385,"lloc":277,"functions":43,"deliveredBugs":4.762018662250308,"maintainability":114.9318904431851,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:41:41 GMT","sloc":385,"lloc":277,"functions":43,"deliveredBugs":4.762018662250308,"maintainability":114.9318904431851,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:42:17 GMT","sloc":388,"lloc":278,"functions":43,"deliveredBugs":4.77224856270627,"maintainability":114.80884569997465,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:42:49 GMT","sloc":388,"lloc":278,"functions":43,"deliveredBugs":4.77224856270627,"maintainability":114.80884569997465,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:43:48 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.759461187136318,"maintainability":114.89272979576751,"lintErrors":0,"difficulty":67.86666666666667},{"date":"Wed, 11 Jun 2014 05:47:50 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.759461187136318,"maintainability":114.89272979576751,"lintErrors":0,"difficulty":67.86666666666667},{"date":"Wed, 11 Jun 2014 05:48:42 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.76969108759228,"maintainability":114.89020029919811,"lintErrors":0,"difficulty":68},{"date":"Wed, 11 Jun 2014 05:56:08 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.76969108759228,"maintainability":114.89020029919811,"lintErrors":0,"difficulty":68},{"date":"Wed, 11 Jun 2014 06:04:18 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.77224856270627,"maintainability":114.8893496935643,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 06:12:54 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.802234888890739,"maintainability":114.8504510107183,"lintErrors":0,"difficulty":68.08839779005524},{"date":"Wed, 11 Jun 2014 06:18:51 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.8406322893882665,"maintainability":114.84019239886894,"lintErrors":0,"difficulty":68.68508287292818},{"date":"Wed, 11 Jun 2014 06:23:19 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.8355126359885965,"maintainability":114.83869167105061,"lintErrors":0,"difficulty":68.61878453038673},{"date":"Wed, 11 Jun 2014 06:25:15 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.8611109029869475,"maintainability":114.78606562386966,"lintErrors":0,"difficulty":68.95027624309392},{"date":"Wed, 11 Jun 2014 13:46:15 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.813830955992291,"maintainability":114.96131764219997,"lintErrors":0,"difficulty":69.31843575418995},{"date":"Wed, 11 Jun 2014 13:48:06 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.818941179937081,"maintainability":114.95980530508346,"lintErrors":0,"difficulty":69.3854748603352},{"date":"Wed, 11 Jun 2014 14:00:37 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.849602523605822,"maintainability":114.88415907648304,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:03:53 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.852157635578217,"maintainability":114.8790545573623,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:13:28 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.852157635578217,"maintainability":114.87081738711562,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:15:06 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.852157635578217,"maintainability":114.88220045470634,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:18:45 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.857267859523007,"maintainability":114.882039782897,"lintErrors":0,"difficulty":69.85474860335196},{"date":"Wed, 11 Jun 2014 15:52:59 GMT","sloc":299,"lloc":212,"functions":32,"deliveredBugs":3.3592307055929957,"maintainability":114.6757144272797,"lintErrors":0,"difficulty":57.5},{"date":"Wed, 11 Jun 2014 15:54:05 GMT","sloc":299,"lloc":212,"functions":32,"deliveredBugs":3.355528737361826,"maintainability":114.66303719473589,"lintErrors":0,"difficulty":57.87828947368421},{"date":"Wed, 11 Jun 2014 15:54:45 GMT","sloc":299,"lloc":212,"functions":32,"deliveredBugs":3.358012474399103,"maintainability":114.65825366810031,"lintErrors":0,"difficulty":57.953947368421055},{"date":"Wed, 11 Jun 2014 15:56:27 GMT","sloc":297,"lloc":210,"functions":32,"deliveredBugs":3.2761226304609137,"maintainability":114.83586037240626,"lintErrors":0,"difficulty":59.390410958904106},{"date":"Wed, 11 Jun 2014 16:00:47 GMT","sloc":297,"lloc":210,"functions":32,"deliveredBugs":3.2909243893334783,"maintainability":114.82427180809877,"lintErrors":0,"difficulty":59.705479452054796},{"date":"Wed, 11 Jun 2014 16:10:56 GMT","sloc":308,"lloc":209,"functions":32,"deliveredBugs":3.2362708927919943,"maintainability":114.92065380809123,"lintErrors":0,"difficulty":60.49647887323943},{"date":"Wed, 11 Jun 2014 16:11:50 GMT","sloc":308,"lloc":209,"functions":32,"deliveredBugs":3.2401006568384156,"maintainability":114.92932695925012,"lintErrors":0,"difficulty":60.07342657342658},{"date":"Wed, 11 Jun 2014 16:34:22 GMT","sloc":317,"lloc":216,"functions":33,"deliveredBugs":3.346255686711186,"maintainability":114.96089378270732,"lintErrors":0,"difficulty":60.831034482758625},{"date":"Wed, 11 Jun 2014 16:43:35 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.411805420126087,"maintainability":115.01545160151935,"lintErrors":0,"difficulty":61.359589041095894},{"date":"Wed, 11 Jun 2014 16:45:13 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.411805420126087,"maintainability":115.01545160151935,"lintErrors":0,"difficulty":61.359589041095894},{"date":"Wed, 11 Jun 2014 16:49:05 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.3920697416293346,"maintainability":115.0852412436239,"lintErrors":0,"difficulty":61.044520547945204},{"date":"Wed, 11 Jun 2014 16:50:32 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.3896027818172407,"maintainability":115.09018595320049,"lintErrors":0,"difficulty":60.965753424657535},{"date":"Wed, 11 Jun 2014 16:56:34 GMT","sloc":320,"lloc":219,"functions":34,"deliveredBugs":3.3797349425688643,"maintainability":115.10921183483356,"lintErrors":0,"difficulty":60.80821917808219},{"date":"Wed, 11 Jun 2014 17:02:23 GMT","sloc":323,"lloc":219,"functions":34,"deliveredBugs":3.408319830623343,"maintainability":115.08381783716814,"lintErrors":0,"difficulty":60.863945578231295},{"date":"Wed, 11 Jun 2014 17:03:43 GMT","sloc":323,"lloc":219,"functions":34,"deliveredBugs":3.4033802366659183,"maintainability":115.09780182715966,"lintErrors":0,"difficulty":60.785714285714285},{"date":"Wed, 11 Jun 2014 17:24:21 GMT","sloc":328,"lloc":221,"functions":34,"deliveredBugs":3.4758546125613563,"maintainability":114.89031565649245,"lintErrors":0,"difficulty":60.31788079470199},{"date":"Wed, 11 Jun 2014 21:21:46 GMT","sloc":328,"lloc":221,"functions":34,"deliveredBugs":3.4758546125613563,"maintainability":114.89031565649245,"lintErrors":0,"difficulty":60.31788079470199},{"date":"Wed, 11 Jun 2014 22:01:48 GMT","sloc":328,"lloc":221,"functions":34,"deliveredBugs":3.4758546125613563,"maintainability":114.89031565649245,"lintErrors":0,"difficulty":60.31788079470199},{"date":"Thu, 12 Jun 2014 02:28:46 GMT","sloc":319,"lloc":217,"functions":32,"deliveredBugs":3.4225896373683167,"maintainability":114.25023183720106,"lintErrors":0,"difficulty":56.15032679738562},{"date":"Thu, 12 Jun 2014 02:31:31 GMT","sloc":319,"lloc":217,"functions":32,"deliveredBugs":3.4225896373683167,"maintainability":114.25023183720106,"lintErrors":0,"difficulty":56.15032679738562},{"date":"Thu, 12 Jun 2014 02:32:00 GMT","sloc":318,"lloc":217,"functions":32,"deliveredBugs":3.4039061587681516,"maintainability":114.26573076515797,"lintErrors":0,"difficulty":56.30263157894737},{"date":"Thu, 12 Jun 2014 02:32:16 GMT","sloc":317,"lloc":216,"functions":32,"deliveredBugs":3.392668681211559,"maintainability":114.34039410666975,"lintErrors":0,"difficulty":56.52980132450331},{"date":"Thu, 12 Jun 2014 03:53:23 GMT","sloc":321,"lloc":218,"functions":33,"deliveredBugs":3.433677932751547,"maintainability":114.7613454044756,"lintErrors":0,"difficulty":56.809210526315795},{"date":"Thu, 12 Jun 2014 04:21:32 GMT","sloc":324,"lloc":220,"functions":33,"deliveredBugs":3.6586731024832333,"maintainability":114.10141915176287,"lintErrors":0,"difficulty":60.94},{"date":"Thu, 12 Jun 2014 04:36:48 GMT","sloc":328,"lloc":225,"functions":33,"deliveredBugs":3.751243521907759,"maintainability":113.54691832529281,"lintErrors":0,"difficulty":61.51315789473684},{"date":"Thu, 12 Jun 2014 04:40:47 GMT","sloc":328,"lloc":225,"functions":33,"deliveredBugs":3.751243521907759,"maintainability":113.53277754421643,"lintErrors":0,"difficulty":61.51315789473684},{"date":"Thu, 12 Jun 2014 04:42:16 GMT","sloc":332,"lloc":227,"functions":34,"deliveredBugs":3.7686103900647394,"maintainability":113.95773797056839,"lintErrors":0,"difficulty":61.80263157894737},{"date":"Thu, 12 Jun 2014 04:43:47 GMT","sloc":332,"lloc":227,"functions":34,"deliveredBugs":3.7735723523953055,"maintainability":113.93995339611533,"lintErrors":0,"difficulty":61.875},{"date":"Thu, 12 Jun 2014 04:57:02 GMT","sloc":338,"lloc":230,"functions":35,"deliveredBugs":3.8259032434925224,"maintainability":114.27481873038812,"lintErrors":0,"difficulty":61.31612903225806},{"date":"Thu, 12 Jun 2014 04:58:12 GMT","sloc":338,"lloc":230,"functions":35,"deliveredBugs":3.8259032434925224,"maintainability":114.26503943159483,"lintErrors":0,"difficulty":61.31612903225806},{"date":"Thu, 12 Jun 2014 05:04:15 GMT","sloc":338,"lloc":230,"functions":35,"deliveredBugs":3.8507952619927988,"maintainability":114.24848361605686,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Thu, 12 Jun 2014 13:02:20 GMT","sloc":345,"lloc":236,"functions":36,"deliveredBugs":3.835860050892633,"maintainability":114.51218673662935,"lintErrors":0,"difficulty":61.45806451612903},{"date":"Thu, 12 Jun 2014 13:07:05 GMT","sloc":350,"lloc":241,"functions":36,"deliveredBugs":3.823414041642495,"maintainability":114.18344899202256,"lintErrors":0,"difficulty":61.24516129032258},{"date":"Thu, 12 Jun 2014 13:13:17 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Thu, 12 Jun 2014 13:29:26 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Thu, 12 Jun 2014 14:00:31 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Fri, 13 Jun 2014 00:01:10 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Fri, 13 Jun 2014 03:29:00 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Fri, 13 Jun 2014 04:04:20 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.830881647192578,"maintainability":114.17286040346116,"lintErrors":0,"difficulty":61.52903225806452},{"date":"Fri, 13 Jun 2014 05:25:52 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 03:13:23 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Fri, 20 Jun 2014 03:15:40 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Fri, 20 Jun 2014 04:16:28 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 04:17:35 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 04:18:58 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 04:20:01 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.660259332870866,"maintainability":112.61568508985638,"lintErrors":6,"difficulty":89.89171974522293},{"date":"Fri, 20 Jun 2014 04:32:01 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.660259332870866,"maintainability":112.61568508985638,"lintErrors":6,"difficulty":89.89171974522293},{"date":"Fri, 20 Jun 2014 04:32:44 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.665248543389042,"maintainability":112.61088059330993,"lintErrors":6,"difficulty":89.96178343949046},{"date":"Fri, 20 Jun 2014 04:34:11 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.665248543389042,"maintainability":112.61088059330993,"lintErrors":6,"difficulty":89.96178343949046},{"date":"Fri, 20 Jun 2014 04:50:31 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.652775517093602,"maintainability":112.61357006720985,"lintErrors":6,"difficulty":89.7515923566879},{"date":"Fri, 20 Jun 2014 05:02:29 GMT","sloc":248,"lloc":169,"functions":25,"deliveredBugs":2.5158944521334528,"maintainability":114.35848786287576,"lintErrors":0,"difficulty":44.43609022556391},{"date":"Fri, 20 Jun 2014 05:09:14 GMT","sloc":217,"lloc":155,"functions":21,"deliveredBugs":2.2207383569251067,"maintainability":112.61269570514433,"lintErrors":0,"difficulty":45.689655172413794},{"date":"Fri, 20 Jun 2014 05:19:10 GMT","sloc":225,"lloc":161,"functions":22,"deliveredBugs":2.337385652210885,"maintainability":112.83753649904688,"lintErrors":0,"difficulty":46.806722689075634},{"date":"Fri, 20 Jun 2014 05:20:28 GMT","sloc":225,"lloc":161,"functions":22,"deliveredBugs":2.337385652210885,"maintainability":112.83753649904688,"lintErrors":0,"difficulty":46.806722689075634},{"date":"Fri, 20 Jun 2014 05:21:36 GMT","sloc":224,"lloc":160,"functions":22,"deliveredBugs":2.307900940300646,"maintainability":112.95523867881909,"lintErrors":0,"difficulty":46.610169491525426},{"date":"Sat, 21 Jun 2014 23:17:20 GMT","sloc":270,"lloc":182,"functions":30,"deliveredBugs":2.6576522005346175,"maintainability":116.61108257028894,"lintErrors":0,"difficulty":50.40322580645161},{"date":"Mon, 23 Jun 2014 05:33:05 GMT","sloc":354,"lloc":238,"functions":40,"deliveredBugs":3.686302288159009,"maintainability":117.09183837335202,"lintErrors":0,"difficulty":59.92857142857143},{"date":"Thu, 26 Jun 2014 04:08:34 GMT","sloc":401,"lloc":265,"functions":50,"deliveredBugs":4.125065685106426,"maintainability":119.39679497346788,"lintErrors":0,"difficulty":69.90196078431373},{"date":"Thu, 26 Jun 2014 04:24:57 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Thu, 26 Jun 2014 04:27:34 GMT","sloc":375,"lloc":262,"functions":43,"deliveredBugs":3.775280296661714,"maintainability":115.62792780428913,"lintErrors":0,"difficulty":60.89542483660131},{"date":"Thu, 26 Jun 2014 04:42:59 GMT","sloc":375,"lloc":262,"functions":43,"deliveredBugs":3.775280296661714,"maintainability":115.62792780428913,"lintErrors":0,"difficulty":60.89542483660131},{"date":"Thu, 26 Jun 2014 04:43:59 GMT","sloc":384,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.62541972245211,"lintErrors":3,"difficulty":61.151315789473685},{"date":"Thu, 26 Jun 2014 04:56:19 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:05:22 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:06:32 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:14:24 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:23:19 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:24:52 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Fri, 18 Jul 2014 03:45:51 GMT","sloc":396,"lloc":277,"functions":45,"deliveredBugs":4.169874868639198,"maintainability":115.25920743457168,"lintErrors":0,"difficulty":65.66358024691358},{"date":"Sat, 19 Jul 2014 03:09:06 GMT","sloc":401,"lloc":265,"functions":50,"deliveredBugs":4.125065685106426,"maintainability":119.39679497346788,"lintErrors":0,"difficulty":69.90196078431373},{"date":"Fri, 25 Jul 2014 15:06:16 GMT","sloc":396,"lloc":275,"functions":44,"deliveredBugs":4.091250181494625,"maintainability":115.05527593150826,"lintErrors":0,"difficulty":63.920245398773005},{"date":"Sun, 12 Oct 2014 04:28:48 GMT","sloc":394,"lloc":273,"functions":43,"deliveredBugs":4.068632705061301,"maintainability":114.71930365402038,"lintErrors":0,"difficulty":63.56748466257668},{"date":"Sun, 21 Dec 2014 17:57:29 GMT","sloc":480,"lloc":319,"functions":55,"deliveredBugs":4.884149343285464,"maintainability":116.97098868140768,"lintErrors":0,"difficulty":76.76536312849161},{"date":"Tue, 23 Dec 2014 22:53:11 GMT","sloc":426,"lloc":284,"functions":40,"deliveredBugs":4.2212296345638185,"maintainability":112.77251242453704,"lintErrors":0,"difficulty":73.47826086956522},{"date":"Mon, 02 Feb 2015 04:13:38 GMT","sloc":599,"lloc":407,"functions":49,"deliveredBugs":6.341373713263055,"maintainability":108.72487518335461,"lintErrors":0,"difficulty":107.33333333333334}] |
@@ -1,1 +0,1 @@ | ||
[{"date":"Fri, 17 Jan 2014 03:26:34 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:02:45 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:04:20 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:31:53 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:40:32 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:45:30 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:50:34 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:55:08 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:57:26 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Wed, 22 Jan 2014 07:20:37 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Wed, 22 Jan 2014 07:48:37 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Wed, 22 Jan 2014 08:11:10 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Thu, 23 Jan 2014 06:32:17 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Thu, 23 Jan 2014 07:14:46 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 31 Jan 2014 03:13:23 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7462815595771937,"maintainability":115.6821018185438,"lintErrors":0,"difficulty":60.934210526315795},{"date":"Fri, 31 Jan 2014 04:19:33 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Tue, 10 Jun 2014 05:19:05 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.117896243948539,"maintainability":114.05695416155538,"lintErrors":0,"difficulty":67.125},{"date":"Tue, 10 Jun 2014 05:19:50 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.117896243948539,"maintainability":114.05695416155538,"lintErrors":0,"difficulty":67.125},{"date":"Tue, 10 Jun 2014 05:21:54 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.117896243948539,"maintainability":114.05695416155538,"lintErrors":0,"difficulty":67.125},{"date":"Tue, 10 Jun 2014 05:23:06 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.107864828007129,"maintainability":114.07436722888846,"lintErrors":0,"difficulty":66.975},{"date":"Wed, 11 Jun 2014 03:41:02 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.107864828007129,"maintainability":114.07436722888846,"lintErrors":0,"difficulty":66.975},{"date":"Wed, 11 Jun 2014 03:44:10 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.107864828007129,"maintainability":114.07436722888846,"lintErrors":0,"difficulty":66.975},{"date":"Wed, 11 Jun 2014 03:49:30 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.167364408152359,"maintainability":113.8818936541093,"lintErrors":0,"difficulty":67.67701863354037},{"date":"Wed, 11 Jun 2014 03:52:49 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.167364408152359,"maintainability":113.8818936541093,"lintErrors":0,"difficulty":67.67701863354037},{"date":"Wed, 11 Jun 2014 03:54:43 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.162343487178682,"maintainability":113.89053908706553,"lintErrors":0,"difficulty":67.60248447204968},{"date":"Wed, 11 Jun 2014 05:15:14 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.162343487178682,"maintainability":113.89053908706553,"lintErrors":0,"difficulty":67.60248447204968},{"date":"Wed, 11 Jun 2014 05:25:31 GMT","sloc":385,"lloc":277,"functions":43,"deliveredBugs":4.762018662250308,"maintainability":114.9318904431851,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:41:03 GMT","sloc":385,"lloc":277,"functions":43,"deliveredBugs":4.762018662250308,"maintainability":114.9318904431851,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:41:41 GMT","sloc":385,"lloc":277,"functions":43,"deliveredBugs":4.762018662250308,"maintainability":114.9318904431851,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:42:17 GMT","sloc":388,"lloc":278,"functions":43,"deliveredBugs":4.77224856270627,"maintainability":114.80884569997465,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:42:49 GMT","sloc":388,"lloc":278,"functions":43,"deliveredBugs":4.77224856270627,"maintainability":114.80884569997465,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:43:48 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.759461187136318,"maintainability":114.89272979576751,"lintErrors":0,"difficulty":67.86666666666667},{"date":"Wed, 11 Jun 2014 05:47:50 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.759461187136318,"maintainability":114.89272979576751,"lintErrors":0,"difficulty":67.86666666666667},{"date":"Wed, 11 Jun 2014 05:48:42 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.76969108759228,"maintainability":114.89020029919811,"lintErrors":0,"difficulty":68},{"date":"Wed, 11 Jun 2014 05:56:08 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.76969108759228,"maintainability":114.89020029919811,"lintErrors":0,"difficulty":68},{"date":"Wed, 11 Jun 2014 06:04:18 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.77224856270627,"maintainability":114.8893496935643,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 06:12:54 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.802234888890739,"maintainability":114.8504510107183,"lintErrors":0,"difficulty":68.08839779005524},{"date":"Wed, 11 Jun 2014 06:18:51 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.8406322893882665,"maintainability":114.84019239886894,"lintErrors":0,"difficulty":68.68508287292818},{"date":"Wed, 11 Jun 2014 06:23:19 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.8355126359885965,"maintainability":114.83869167105061,"lintErrors":0,"difficulty":68.61878453038673},{"date":"Wed, 11 Jun 2014 06:25:15 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.8611109029869475,"maintainability":114.78606562386966,"lintErrors":0,"difficulty":68.95027624309392},{"date":"Wed, 11 Jun 2014 13:46:15 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.813830955992291,"maintainability":114.96131764219997,"lintErrors":0,"difficulty":69.31843575418995},{"date":"Wed, 11 Jun 2014 13:48:06 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.818941179937081,"maintainability":114.95980530508346,"lintErrors":0,"difficulty":69.3854748603352},{"date":"Wed, 11 Jun 2014 14:00:37 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.849602523605822,"maintainability":114.88415907648304,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:03:53 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.852157635578217,"maintainability":114.8790545573623,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:13:28 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.852157635578217,"maintainability":114.87081738711562,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:15:06 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.852157635578217,"maintainability":114.88220045470634,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:18:45 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.857267859523007,"maintainability":114.882039782897,"lintErrors":0,"difficulty":69.85474860335196},{"date":"Wed, 11 Jun 2014 15:52:59 GMT","sloc":299,"lloc":212,"functions":32,"deliveredBugs":3.3592307055929957,"maintainability":114.6757144272797,"lintErrors":0,"difficulty":57.5},{"date":"Wed, 11 Jun 2014 15:54:05 GMT","sloc":299,"lloc":212,"functions":32,"deliveredBugs":3.355528737361826,"maintainability":114.66303719473589,"lintErrors":0,"difficulty":57.87828947368421},{"date":"Wed, 11 Jun 2014 15:54:45 GMT","sloc":299,"lloc":212,"functions":32,"deliveredBugs":3.358012474399103,"maintainability":114.65825366810031,"lintErrors":0,"difficulty":57.953947368421055},{"date":"Wed, 11 Jun 2014 15:56:27 GMT","sloc":297,"lloc":210,"functions":32,"deliveredBugs":3.2761226304609137,"maintainability":114.83586037240626,"lintErrors":0,"difficulty":59.390410958904106},{"date":"Wed, 11 Jun 2014 16:00:47 GMT","sloc":297,"lloc":210,"functions":32,"deliveredBugs":3.2909243893334783,"maintainability":114.82427180809877,"lintErrors":0,"difficulty":59.705479452054796},{"date":"Wed, 11 Jun 2014 16:10:56 GMT","sloc":308,"lloc":209,"functions":32,"deliveredBugs":3.2362708927919943,"maintainability":114.92065380809123,"lintErrors":0,"difficulty":60.49647887323943},{"date":"Wed, 11 Jun 2014 16:11:50 GMT","sloc":308,"lloc":209,"functions":32,"deliveredBugs":3.2401006568384156,"maintainability":114.92932695925012,"lintErrors":0,"difficulty":60.07342657342658},{"date":"Wed, 11 Jun 2014 16:34:22 GMT","sloc":317,"lloc":216,"functions":33,"deliveredBugs":3.346255686711186,"maintainability":114.96089378270732,"lintErrors":0,"difficulty":60.831034482758625},{"date":"Wed, 11 Jun 2014 16:43:35 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.411805420126087,"maintainability":115.01545160151935,"lintErrors":0,"difficulty":61.359589041095894},{"date":"Wed, 11 Jun 2014 16:45:13 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.411805420126087,"maintainability":115.01545160151935,"lintErrors":0,"difficulty":61.359589041095894},{"date":"Wed, 11 Jun 2014 16:49:05 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.3920697416293346,"maintainability":115.0852412436239,"lintErrors":0,"difficulty":61.044520547945204},{"date":"Wed, 11 Jun 2014 16:50:32 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.3896027818172407,"maintainability":115.09018595320049,"lintErrors":0,"difficulty":60.965753424657535},{"date":"Wed, 11 Jun 2014 16:56:34 GMT","sloc":320,"lloc":219,"functions":34,"deliveredBugs":3.3797349425688643,"maintainability":115.10921183483356,"lintErrors":0,"difficulty":60.80821917808219},{"date":"Wed, 11 Jun 2014 17:02:23 GMT","sloc":323,"lloc":219,"functions":34,"deliveredBugs":3.408319830623343,"maintainability":115.08381783716814,"lintErrors":0,"difficulty":60.863945578231295},{"date":"Wed, 11 Jun 2014 17:03:43 GMT","sloc":323,"lloc":219,"functions":34,"deliveredBugs":3.4033802366659183,"maintainability":115.09780182715966,"lintErrors":0,"difficulty":60.785714285714285},{"date":"Wed, 11 Jun 2014 17:24:21 GMT","sloc":328,"lloc":221,"functions":34,"deliveredBugs":3.4758546125613563,"maintainability":114.89031565649245,"lintErrors":0,"difficulty":60.31788079470199},{"date":"Wed, 11 Jun 2014 21:21:46 GMT","sloc":328,"lloc":221,"functions":34,"deliveredBugs":3.4758546125613563,"maintainability":114.89031565649245,"lintErrors":0,"difficulty":60.31788079470199},{"date":"Wed, 11 Jun 2014 22:01:48 GMT","sloc":328,"lloc":221,"functions":34,"deliveredBugs":3.4758546125613563,"maintainability":114.89031565649245,"lintErrors":0,"difficulty":60.31788079470199},{"date":"Thu, 12 Jun 2014 02:28:46 GMT","sloc":319,"lloc":217,"functions":32,"deliveredBugs":3.4225896373683167,"maintainability":114.25023183720106,"lintErrors":0,"difficulty":56.15032679738562},{"date":"Thu, 12 Jun 2014 02:31:31 GMT","sloc":319,"lloc":217,"functions":32,"deliveredBugs":3.4225896373683167,"maintainability":114.25023183720106,"lintErrors":0,"difficulty":56.15032679738562},{"date":"Thu, 12 Jun 2014 02:32:00 GMT","sloc":318,"lloc":217,"functions":32,"deliveredBugs":3.4039061587681516,"maintainability":114.26573076515797,"lintErrors":0,"difficulty":56.30263157894737},{"date":"Thu, 12 Jun 2014 02:32:16 GMT","sloc":317,"lloc":216,"functions":32,"deliveredBugs":3.392668681211559,"maintainability":114.34039410666975,"lintErrors":0,"difficulty":56.52980132450331},{"date":"Thu, 12 Jun 2014 03:53:23 GMT","sloc":321,"lloc":218,"functions":33,"deliveredBugs":3.433677932751547,"maintainability":114.7613454044756,"lintErrors":0,"difficulty":56.809210526315795},{"date":"Thu, 12 Jun 2014 04:21:32 GMT","sloc":324,"lloc":220,"functions":33,"deliveredBugs":3.6586731024832333,"maintainability":114.10141915176287,"lintErrors":0,"difficulty":60.94},{"date":"Thu, 12 Jun 2014 04:36:48 GMT","sloc":328,"lloc":225,"functions":33,"deliveredBugs":3.751243521907759,"maintainability":113.54691832529281,"lintErrors":0,"difficulty":61.51315789473684},{"date":"Thu, 12 Jun 2014 04:40:47 GMT","sloc":328,"lloc":225,"functions":33,"deliveredBugs":3.751243521907759,"maintainability":113.53277754421643,"lintErrors":0,"difficulty":61.51315789473684},{"date":"Thu, 12 Jun 2014 04:42:16 GMT","sloc":332,"lloc":227,"functions":34,"deliveredBugs":3.7686103900647394,"maintainability":113.95773797056839,"lintErrors":0,"difficulty":61.80263157894737},{"date":"Thu, 12 Jun 2014 04:43:47 GMT","sloc":332,"lloc":227,"functions":34,"deliveredBugs":3.7735723523953055,"maintainability":113.93995339611533,"lintErrors":0,"difficulty":61.875},{"date":"Thu, 12 Jun 2014 04:57:02 GMT","sloc":338,"lloc":230,"functions":35,"deliveredBugs":3.8259032434925224,"maintainability":114.27481873038812,"lintErrors":0,"difficulty":61.31612903225806},{"date":"Thu, 12 Jun 2014 04:58:12 GMT","sloc":338,"lloc":230,"functions":35,"deliveredBugs":3.8259032434925224,"maintainability":114.26503943159483,"lintErrors":0,"difficulty":61.31612903225806},{"date":"Thu, 12 Jun 2014 05:04:15 GMT","sloc":338,"lloc":230,"functions":35,"deliveredBugs":3.8507952619927988,"maintainability":114.24848361605686,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Thu, 12 Jun 2014 13:02:20 GMT","sloc":345,"lloc":236,"functions":36,"deliveredBugs":3.835860050892633,"maintainability":114.51218673662935,"lintErrors":0,"difficulty":61.45806451612903},{"date":"Thu, 12 Jun 2014 13:07:05 GMT","sloc":350,"lloc":241,"functions":36,"deliveredBugs":3.823414041642495,"maintainability":114.18344899202256,"lintErrors":0,"difficulty":61.24516129032258},{"date":"Thu, 12 Jun 2014 13:13:17 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Thu, 12 Jun 2014 13:29:26 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Thu, 12 Jun 2014 14:00:31 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Fri, 13 Jun 2014 00:01:10 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Fri, 13 Jun 2014 03:29:00 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Fri, 13 Jun 2014 04:04:20 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.830881647192578,"maintainability":114.17286040346116,"lintErrors":0,"difficulty":61.52903225806452},{"date":"Fri, 13 Jun 2014 05:25:52 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 03:13:23 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Fri, 20 Jun 2014 03:15:40 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Fri, 20 Jun 2014 04:16:28 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 04:17:35 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 04:18:58 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 04:20:01 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.660259332870866,"maintainability":112.61568508985638,"lintErrors":6,"difficulty":89.89171974522293},{"date":"Fri, 20 Jun 2014 04:32:01 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.660259332870866,"maintainability":112.61568508985638,"lintErrors":6,"difficulty":89.89171974522293},{"date":"Fri, 20 Jun 2014 04:32:44 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.665248543389042,"maintainability":112.61088059330993,"lintErrors":6,"difficulty":89.96178343949046},{"date":"Fri, 20 Jun 2014 04:34:11 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.665248543389042,"maintainability":112.61088059330993,"lintErrors":6,"difficulty":89.96178343949046},{"date":"Fri, 20 Jun 2014 04:50:31 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.652775517093602,"maintainability":112.61357006720985,"lintErrors":6,"difficulty":89.7515923566879},{"date":"Fri, 20 Jun 2014 05:02:29 GMT","sloc":248,"lloc":169,"functions":25,"deliveredBugs":2.5158944521334528,"maintainability":114.35848786287576,"lintErrors":0,"difficulty":44.43609022556391},{"date":"Fri, 20 Jun 2014 05:09:14 GMT","sloc":217,"lloc":155,"functions":21,"deliveredBugs":2.2207383569251067,"maintainability":112.61269570514433,"lintErrors":0,"difficulty":45.689655172413794},{"date":"Fri, 20 Jun 2014 05:19:10 GMT","sloc":225,"lloc":161,"functions":22,"deliveredBugs":2.337385652210885,"maintainability":112.83753649904688,"lintErrors":0,"difficulty":46.806722689075634},{"date":"Fri, 20 Jun 2014 05:20:28 GMT","sloc":225,"lloc":161,"functions":22,"deliveredBugs":2.337385652210885,"maintainability":112.83753649904688,"lintErrors":0,"difficulty":46.806722689075634},{"date":"Fri, 20 Jun 2014 05:21:36 GMT","sloc":224,"lloc":160,"functions":22,"deliveredBugs":2.307900940300646,"maintainability":112.95523867881909,"lintErrors":0,"difficulty":46.610169491525426},{"date":"Sat, 21 Jun 2014 23:17:20 GMT","sloc":270,"lloc":182,"functions":30,"deliveredBugs":2.6576522005346175,"maintainability":116.61108257028894,"lintErrors":0,"difficulty":50.40322580645161},{"date":"Mon, 23 Jun 2014 05:33:05 GMT","sloc":354,"lloc":238,"functions":40,"deliveredBugs":3.686302288159009,"maintainability":117.09183837335202,"lintErrors":0,"difficulty":59.92857142857143},{"date":"Thu, 26 Jun 2014 04:08:34 GMT","sloc":401,"lloc":265,"functions":50,"deliveredBugs":4.125065685106426,"maintainability":119.39679497346788,"lintErrors":0,"difficulty":69.90196078431373},{"date":"Thu, 26 Jun 2014 04:24:57 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Thu, 26 Jun 2014 04:27:34 GMT","sloc":375,"lloc":262,"functions":43,"deliveredBugs":3.775280296661714,"maintainability":115.62792780428913,"lintErrors":0,"difficulty":60.89542483660131},{"date":"Thu, 26 Jun 2014 04:42:59 GMT","sloc":375,"lloc":262,"functions":43,"deliveredBugs":3.775280296661714,"maintainability":115.62792780428913,"lintErrors":0,"difficulty":60.89542483660131},{"date":"Thu, 26 Jun 2014 04:43:59 GMT","sloc":384,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.62541972245211,"lintErrors":3,"difficulty":61.151315789473685},{"date":"Thu, 26 Jun 2014 04:56:19 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:05:22 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:06:32 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:14:24 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:23:19 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:24:52 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Fri, 18 Jul 2014 03:45:51 GMT","sloc":396,"lloc":277,"functions":45,"deliveredBugs":4.169874868639198,"maintainability":115.25920743457168,"lintErrors":0,"difficulty":65.66358024691358},{"date":"Sat, 19 Jul 2014 03:09:06 GMT","sloc":401,"lloc":265,"functions":50,"deliveredBugs":4.125065685106426,"maintainability":119.39679497346788,"lintErrors":0,"difficulty":69.90196078431373},{"date":"Fri, 25 Jul 2014 15:06:16 GMT","sloc":396,"lloc":275,"functions":44,"deliveredBugs":4.091250181494625,"maintainability":115.05527593150826,"lintErrors":0,"difficulty":63.920245398773005},{"date":"Sun, 12 Oct 2014 04:28:48 GMT","sloc":394,"lloc":273,"functions":43,"deliveredBugs":4.068632705061301,"maintainability":114.71930365402038,"lintErrors":0,"difficulty":63.56748466257668},{"date":"Sun, 21 Dec 2014 17:57:29 GMT","sloc":480,"lloc":319,"functions":55,"deliveredBugs":4.884149343285464,"maintainability":116.97098868140768,"lintErrors":0,"difficulty":76.76536312849161},{"date":"Tue, 23 Dec 2014 22:53:11 GMT","sloc":426,"lloc":284,"functions":40,"deliveredBugs":4.2212296345638185,"maintainability":112.77251242453704,"lintErrors":0,"difficulty":73.47826086956522}] | ||
[{"date":"Fri, 17 Jan 2014 03:26:34 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:02:45 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:04:20 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:31:53 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:40:32 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:45:30 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:50:34 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:55:08 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 17 Jan 2014 06:57:26 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Wed, 22 Jan 2014 07:20:37 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Wed, 22 Jan 2014 07:48:37 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Wed, 22 Jan 2014 08:11:10 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Thu, 23 Jan 2014 06:32:17 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Thu, 23 Jan 2014 07:14:46 GMT","sloc":377,"lloc":263,"functions":43,"deliveredBugs":3.7636484277341737,"maintainability":115.56236074844583,"lintErrors":0,"difficulty":61.223684210526315},{"date":"Fri, 31 Jan 2014 03:13:23 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7462815595771937,"maintainability":115.6821018185438,"lintErrors":0,"difficulty":60.934210526315795},{"date":"Fri, 31 Jan 2014 04:19:33 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Tue, 10 Jun 2014 05:19:05 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.117896243948539,"maintainability":114.05695416155538,"lintErrors":0,"difficulty":67.125},{"date":"Tue, 10 Jun 2014 05:19:50 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.117896243948539,"maintainability":114.05695416155538,"lintErrors":0,"difficulty":67.125},{"date":"Tue, 10 Jun 2014 05:21:54 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.117896243948539,"maintainability":114.05695416155538,"lintErrors":0,"difficulty":67.125},{"date":"Tue, 10 Jun 2014 05:23:06 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.107864828007129,"maintainability":114.07436722888846,"lintErrors":0,"difficulty":66.975},{"date":"Wed, 11 Jun 2014 03:41:02 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.107864828007129,"maintainability":114.07436722888846,"lintErrors":0,"difficulty":66.975},{"date":"Wed, 11 Jun 2014 03:44:10 GMT","sloc":336,"lloc":241,"functions":36,"deliveredBugs":4.107864828007129,"maintainability":114.07436722888846,"lintErrors":0,"difficulty":66.975},{"date":"Wed, 11 Jun 2014 03:49:30 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.167364408152359,"maintainability":113.8818936541093,"lintErrors":0,"difficulty":67.67701863354037},{"date":"Wed, 11 Jun 2014 03:52:49 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.167364408152359,"maintainability":113.8818936541093,"lintErrors":0,"difficulty":67.67701863354037},{"date":"Wed, 11 Jun 2014 03:54:43 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.162343487178682,"maintainability":113.89053908706553,"lintErrors":0,"difficulty":67.60248447204968},{"date":"Wed, 11 Jun 2014 05:15:14 GMT","sloc":339,"lloc":243,"functions":36,"deliveredBugs":4.162343487178682,"maintainability":113.89053908706553,"lintErrors":0,"difficulty":67.60248447204968},{"date":"Wed, 11 Jun 2014 05:25:31 GMT","sloc":385,"lloc":277,"functions":43,"deliveredBugs":4.762018662250308,"maintainability":114.9318904431851,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:41:03 GMT","sloc":385,"lloc":277,"functions":43,"deliveredBugs":4.762018662250308,"maintainability":114.9318904431851,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:41:41 GMT","sloc":385,"lloc":277,"functions":43,"deliveredBugs":4.762018662250308,"maintainability":114.9318904431851,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:42:17 GMT","sloc":388,"lloc":278,"functions":43,"deliveredBugs":4.77224856270627,"maintainability":114.80884569997465,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:42:49 GMT","sloc":388,"lloc":278,"functions":43,"deliveredBugs":4.77224856270627,"maintainability":114.80884569997465,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 05:43:48 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.759461187136318,"maintainability":114.89272979576751,"lintErrors":0,"difficulty":67.86666666666667},{"date":"Wed, 11 Jun 2014 05:47:50 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.759461187136318,"maintainability":114.89272979576751,"lintErrors":0,"difficulty":67.86666666666667},{"date":"Wed, 11 Jun 2014 05:48:42 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.76969108759228,"maintainability":114.89020029919811,"lintErrors":0,"difficulty":68},{"date":"Wed, 11 Jun 2014 05:56:08 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.76969108759228,"maintainability":114.89020029919811,"lintErrors":0,"difficulty":68},{"date":"Wed, 11 Jun 2014 06:04:18 GMT","sloc":386,"lloc":277,"functions":43,"deliveredBugs":4.77224856270627,"maintainability":114.8893496935643,"lintErrors":0,"difficulty":68.06666666666666},{"date":"Wed, 11 Jun 2014 06:12:54 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.802234888890739,"maintainability":114.8504510107183,"lintErrors":0,"difficulty":68.08839779005524},{"date":"Wed, 11 Jun 2014 06:18:51 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.8406322893882665,"maintainability":114.84019239886894,"lintErrors":0,"difficulty":68.68508287292818},{"date":"Wed, 11 Jun 2014 06:23:19 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.8355126359885965,"maintainability":114.83869167105061,"lintErrors":0,"difficulty":68.61878453038673},{"date":"Wed, 11 Jun 2014 06:25:15 GMT","sloc":387,"lloc":277,"functions":43,"deliveredBugs":4.8611109029869475,"maintainability":114.78606562386966,"lintErrors":0,"difficulty":68.95027624309392},{"date":"Wed, 11 Jun 2014 13:46:15 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.813830955992291,"maintainability":114.96131764219997,"lintErrors":0,"difficulty":69.31843575418995},{"date":"Wed, 11 Jun 2014 13:48:06 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.818941179937081,"maintainability":114.95980530508346,"lintErrors":0,"difficulty":69.3854748603352},{"date":"Wed, 11 Jun 2014 14:00:37 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.849602523605822,"maintainability":114.88415907648304,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:03:53 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.852157635578217,"maintainability":114.8790545573623,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:13:28 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.852157635578217,"maintainability":114.87081738711562,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:15:06 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.852157635578217,"maintainability":114.88220045470634,"lintErrors":0,"difficulty":69.7877094972067},{"date":"Wed, 11 Jun 2014 14:18:45 GMT","sloc":385,"lloc":275,"functions":43,"deliveredBugs":4.857267859523007,"maintainability":114.882039782897,"lintErrors":0,"difficulty":69.85474860335196},{"date":"Wed, 11 Jun 2014 15:52:59 GMT","sloc":299,"lloc":212,"functions":32,"deliveredBugs":3.3592307055929957,"maintainability":114.6757144272797,"lintErrors":0,"difficulty":57.5},{"date":"Wed, 11 Jun 2014 15:54:05 GMT","sloc":299,"lloc":212,"functions":32,"deliveredBugs":3.355528737361826,"maintainability":114.66303719473589,"lintErrors":0,"difficulty":57.87828947368421},{"date":"Wed, 11 Jun 2014 15:54:45 GMT","sloc":299,"lloc":212,"functions":32,"deliveredBugs":3.358012474399103,"maintainability":114.65825366810031,"lintErrors":0,"difficulty":57.953947368421055},{"date":"Wed, 11 Jun 2014 15:56:27 GMT","sloc":297,"lloc":210,"functions":32,"deliveredBugs":3.2761226304609137,"maintainability":114.83586037240626,"lintErrors":0,"difficulty":59.390410958904106},{"date":"Wed, 11 Jun 2014 16:00:47 GMT","sloc":297,"lloc":210,"functions":32,"deliveredBugs":3.2909243893334783,"maintainability":114.82427180809877,"lintErrors":0,"difficulty":59.705479452054796},{"date":"Wed, 11 Jun 2014 16:10:56 GMT","sloc":308,"lloc":209,"functions":32,"deliveredBugs":3.2362708927919943,"maintainability":114.92065380809123,"lintErrors":0,"difficulty":60.49647887323943},{"date":"Wed, 11 Jun 2014 16:11:50 GMT","sloc":308,"lloc":209,"functions":32,"deliveredBugs":3.2401006568384156,"maintainability":114.92932695925012,"lintErrors":0,"difficulty":60.07342657342658},{"date":"Wed, 11 Jun 2014 16:34:22 GMT","sloc":317,"lloc":216,"functions":33,"deliveredBugs":3.346255686711186,"maintainability":114.96089378270732,"lintErrors":0,"difficulty":60.831034482758625},{"date":"Wed, 11 Jun 2014 16:43:35 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.411805420126087,"maintainability":115.01545160151935,"lintErrors":0,"difficulty":61.359589041095894},{"date":"Wed, 11 Jun 2014 16:45:13 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.411805420126087,"maintainability":115.01545160151935,"lintErrors":0,"difficulty":61.359589041095894},{"date":"Wed, 11 Jun 2014 16:49:05 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.3920697416293346,"maintainability":115.0852412436239,"lintErrors":0,"difficulty":61.044520547945204},{"date":"Wed, 11 Jun 2014 16:50:32 GMT","sloc":321,"lloc":219,"functions":34,"deliveredBugs":3.3896027818172407,"maintainability":115.09018595320049,"lintErrors":0,"difficulty":60.965753424657535},{"date":"Wed, 11 Jun 2014 16:56:34 GMT","sloc":320,"lloc":219,"functions":34,"deliveredBugs":3.3797349425688643,"maintainability":115.10921183483356,"lintErrors":0,"difficulty":60.80821917808219},{"date":"Wed, 11 Jun 2014 17:02:23 GMT","sloc":323,"lloc":219,"functions":34,"deliveredBugs":3.408319830623343,"maintainability":115.08381783716814,"lintErrors":0,"difficulty":60.863945578231295},{"date":"Wed, 11 Jun 2014 17:03:43 GMT","sloc":323,"lloc":219,"functions":34,"deliveredBugs":3.4033802366659183,"maintainability":115.09780182715966,"lintErrors":0,"difficulty":60.785714285714285},{"date":"Wed, 11 Jun 2014 17:24:21 GMT","sloc":328,"lloc":221,"functions":34,"deliveredBugs":3.4758546125613563,"maintainability":114.89031565649245,"lintErrors":0,"difficulty":60.31788079470199},{"date":"Wed, 11 Jun 2014 21:21:46 GMT","sloc":328,"lloc":221,"functions":34,"deliveredBugs":3.4758546125613563,"maintainability":114.89031565649245,"lintErrors":0,"difficulty":60.31788079470199},{"date":"Wed, 11 Jun 2014 22:01:48 GMT","sloc":328,"lloc":221,"functions":34,"deliveredBugs":3.4758546125613563,"maintainability":114.89031565649245,"lintErrors":0,"difficulty":60.31788079470199},{"date":"Thu, 12 Jun 2014 02:28:46 GMT","sloc":319,"lloc":217,"functions":32,"deliveredBugs":3.4225896373683167,"maintainability":114.25023183720106,"lintErrors":0,"difficulty":56.15032679738562},{"date":"Thu, 12 Jun 2014 02:31:31 GMT","sloc":319,"lloc":217,"functions":32,"deliveredBugs":3.4225896373683167,"maintainability":114.25023183720106,"lintErrors":0,"difficulty":56.15032679738562},{"date":"Thu, 12 Jun 2014 02:32:00 GMT","sloc":318,"lloc":217,"functions":32,"deliveredBugs":3.4039061587681516,"maintainability":114.26573076515797,"lintErrors":0,"difficulty":56.30263157894737},{"date":"Thu, 12 Jun 2014 02:32:16 GMT","sloc":317,"lloc":216,"functions":32,"deliveredBugs":3.392668681211559,"maintainability":114.34039410666975,"lintErrors":0,"difficulty":56.52980132450331},{"date":"Thu, 12 Jun 2014 03:53:23 GMT","sloc":321,"lloc":218,"functions":33,"deliveredBugs":3.433677932751547,"maintainability":114.7613454044756,"lintErrors":0,"difficulty":56.809210526315795},{"date":"Thu, 12 Jun 2014 04:21:32 GMT","sloc":324,"lloc":220,"functions":33,"deliveredBugs":3.6586731024832333,"maintainability":114.10141915176287,"lintErrors":0,"difficulty":60.94},{"date":"Thu, 12 Jun 2014 04:36:48 GMT","sloc":328,"lloc":225,"functions":33,"deliveredBugs":3.751243521907759,"maintainability":113.54691832529281,"lintErrors":0,"difficulty":61.51315789473684},{"date":"Thu, 12 Jun 2014 04:40:47 GMT","sloc":328,"lloc":225,"functions":33,"deliveredBugs":3.751243521907759,"maintainability":113.53277754421643,"lintErrors":0,"difficulty":61.51315789473684},{"date":"Thu, 12 Jun 2014 04:42:16 GMT","sloc":332,"lloc":227,"functions":34,"deliveredBugs":3.7686103900647394,"maintainability":113.95773797056839,"lintErrors":0,"difficulty":61.80263157894737},{"date":"Thu, 12 Jun 2014 04:43:47 GMT","sloc":332,"lloc":227,"functions":34,"deliveredBugs":3.7735723523953055,"maintainability":113.93995339611533,"lintErrors":0,"difficulty":61.875},{"date":"Thu, 12 Jun 2014 04:57:02 GMT","sloc":338,"lloc":230,"functions":35,"deliveredBugs":3.8259032434925224,"maintainability":114.27481873038812,"lintErrors":0,"difficulty":61.31612903225806},{"date":"Thu, 12 Jun 2014 04:58:12 GMT","sloc":338,"lloc":230,"functions":35,"deliveredBugs":3.8259032434925224,"maintainability":114.26503943159483,"lintErrors":0,"difficulty":61.31612903225806},{"date":"Thu, 12 Jun 2014 05:04:15 GMT","sloc":338,"lloc":230,"functions":35,"deliveredBugs":3.8507952619927988,"maintainability":114.24848361605686,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Thu, 12 Jun 2014 13:02:20 GMT","sloc":345,"lloc":236,"functions":36,"deliveredBugs":3.835860050892633,"maintainability":114.51218673662935,"lintErrors":0,"difficulty":61.45806451612903},{"date":"Thu, 12 Jun 2014 13:07:05 GMT","sloc":350,"lloc":241,"functions":36,"deliveredBugs":3.823414041642495,"maintainability":114.18344899202256,"lintErrors":0,"difficulty":61.24516129032258},{"date":"Thu, 12 Jun 2014 13:13:17 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Thu, 12 Jun 2014 13:29:26 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Thu, 12 Jun 2014 14:00:31 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Fri, 13 Jun 2014 00:01:10 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Fri, 13 Jun 2014 03:29:00 GMT","sloc":351,"lloc":242,"functions":36,"deliveredBugs":3.843327656442716,"maintainability":114.08828081386906,"lintErrors":0,"difficulty":61.670967741935485},{"date":"Fri, 13 Jun 2014 04:04:20 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.830881647192578,"maintainability":114.17286040346116,"lintErrors":0,"difficulty":61.52903225806452},{"date":"Fri, 13 Jun 2014 05:25:52 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 03:13:23 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Fri, 20 Jun 2014 03:15:40 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Fri, 20 Jun 2014 04:16:28 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 04:17:35 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 04:18:58 GMT","sloc":349,"lloc":241,"functions":36,"deliveredBugs":3.8557736656928543,"maintainability":114.16539995732981,"lintErrors":0,"difficulty":61.95483870967742},{"date":"Fri, 20 Jun 2014 04:20:01 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.660259332870866,"maintainability":112.61568508985638,"lintErrors":6,"difficulty":89.89171974522293},{"date":"Fri, 20 Jun 2014 04:32:01 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.660259332870866,"maintainability":112.61568508985638,"lintErrors":6,"difficulty":89.89171974522293},{"date":"Fri, 20 Jun 2014 04:32:44 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.665248543389042,"maintainability":112.61088059330993,"lintErrors":6,"difficulty":89.96178343949046},{"date":"Fri, 20 Jun 2014 04:34:11 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.665248543389042,"maintainability":112.61088059330993,"lintErrors":6,"difficulty":89.96178343949046},{"date":"Fri, 20 Jun 2014 04:50:31 GMT","sloc":505,"lloc":349,"functions":49,"deliveredBugs":5.652775517093602,"maintainability":112.61357006720985,"lintErrors":6,"difficulty":89.7515923566879},{"date":"Fri, 20 Jun 2014 05:02:29 GMT","sloc":248,"lloc":169,"functions":25,"deliveredBugs":2.5158944521334528,"maintainability":114.35848786287576,"lintErrors":0,"difficulty":44.43609022556391},{"date":"Fri, 20 Jun 2014 05:09:14 GMT","sloc":217,"lloc":155,"functions":21,"deliveredBugs":2.2207383569251067,"maintainability":112.61269570514433,"lintErrors":0,"difficulty":45.689655172413794},{"date":"Fri, 20 Jun 2014 05:19:10 GMT","sloc":225,"lloc":161,"functions":22,"deliveredBugs":2.337385652210885,"maintainability":112.83753649904688,"lintErrors":0,"difficulty":46.806722689075634},{"date":"Fri, 20 Jun 2014 05:20:28 GMT","sloc":225,"lloc":161,"functions":22,"deliveredBugs":2.337385652210885,"maintainability":112.83753649904688,"lintErrors":0,"difficulty":46.806722689075634},{"date":"Fri, 20 Jun 2014 05:21:36 GMT","sloc":224,"lloc":160,"functions":22,"deliveredBugs":2.307900940300646,"maintainability":112.95523867881909,"lintErrors":0,"difficulty":46.610169491525426},{"date":"Sat, 21 Jun 2014 23:17:20 GMT","sloc":270,"lloc":182,"functions":30,"deliveredBugs":2.6576522005346175,"maintainability":116.61108257028894,"lintErrors":0,"difficulty":50.40322580645161},{"date":"Mon, 23 Jun 2014 05:33:05 GMT","sloc":354,"lloc":238,"functions":40,"deliveredBugs":3.686302288159009,"maintainability":117.09183837335202,"lintErrors":0,"difficulty":59.92857142857143},{"date":"Thu, 26 Jun 2014 04:08:34 GMT","sloc":401,"lloc":265,"functions":50,"deliveredBugs":4.125065685106426,"maintainability":119.39679497346788,"lintErrors":0,"difficulty":69.90196078431373},{"date":"Thu, 26 Jun 2014 04:24:57 GMT","sloc":376,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.63604287829756,"lintErrors":0,"difficulty":61.151315789473685},{"date":"Thu, 26 Jun 2014 04:27:34 GMT","sloc":375,"lloc":262,"functions":43,"deliveredBugs":3.775280296661714,"maintainability":115.62792780428913,"lintErrors":0,"difficulty":60.89542483660131},{"date":"Thu, 26 Jun 2014 04:42:59 GMT","sloc":375,"lloc":262,"functions":43,"deliveredBugs":3.775280296661714,"maintainability":115.62792780428913,"lintErrors":0,"difficulty":60.89542483660131},{"date":"Thu, 26 Jun 2014 04:43:59 GMT","sloc":384,"lloc":262,"functions":43,"deliveredBugs":3.7611674465688907,"maintainability":115.62541972245211,"lintErrors":3,"difficulty":61.151315789473685},{"date":"Thu, 26 Jun 2014 04:56:19 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:05:22 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:06:32 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:14:24 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:23:19 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Thu, 26 Jun 2014 05:24:52 GMT","sloc":389,"lloc":269,"functions":45,"deliveredBugs":3.9290032830637345,"maintainability":115.92053800182893,"lintErrors":0,"difficulty":61.5859872611465},{"date":"Fri, 18 Jul 2014 03:45:51 GMT","sloc":396,"lloc":277,"functions":45,"deliveredBugs":4.169874868639198,"maintainability":115.25920743457168,"lintErrors":0,"difficulty":65.66358024691358},{"date":"Sat, 19 Jul 2014 03:09:06 GMT","sloc":401,"lloc":265,"functions":50,"deliveredBugs":4.125065685106426,"maintainability":119.39679497346788,"lintErrors":0,"difficulty":69.90196078431373},{"date":"Fri, 25 Jul 2014 15:06:16 GMT","sloc":396,"lloc":275,"functions":44,"deliveredBugs":4.091250181494625,"maintainability":115.05527593150826,"lintErrors":0,"difficulty":63.920245398773005},{"date":"Sun, 12 Oct 2014 04:28:48 GMT","sloc":394,"lloc":273,"functions":43,"deliveredBugs":4.068632705061301,"maintainability":114.71930365402038,"lintErrors":0,"difficulty":63.56748466257668},{"date":"Sun, 21 Dec 2014 17:57:29 GMT","sloc":480,"lloc":319,"functions":55,"deliveredBugs":4.884149343285464,"maintainability":116.97098868140768,"lintErrors":0,"difficulty":76.76536312849161},{"date":"Tue, 23 Dec 2014 22:53:11 GMT","sloc":426,"lloc":284,"functions":40,"deliveredBugs":4.2212296345638185,"maintainability":112.77251242453704,"lintErrors":0,"difficulty":73.47826086956522},{"date":"Mon, 02 Feb 2015 04:13:38 GMT","sloc":599,"lloc":407,"functions":49,"deliveredBugs":6.341373713263055,"maintainability":108.72487518335461,"lintErrors":0,"difficulty":107.33333333333334}] |
@@ -1,1 +0,1 @@ | ||
__report = {"info":{"file":"/Users/Jim/git/oss/machina/lib/machina.js","fileShort":"/Users/Jim/git/oss/machina/lib/machina.js","fileSafe":"_Users_Jim_git_oss_machina_lib_machina_js","link":"files/_Users_Jim_git_oss_machina_lib_machina_js/index.html"},"complexity":{"aggregate":{"line":9,"complexity":{"sloc":{"physical":426,"logical":284},"cyclomatic":44,"halstead":{"operators":{"distinct":26,"total":768,"identifiers":["__stripped__"]},"operands":{"distinct":161,"total":910,"identifiers":["__stripped__"]},"length":1678,"vocabulary":187,"difficulty":73.47826086956522,"volume":12663.688903691456,"effort":930505.8368364592,"bugs":4.2212296345638185,"time":51694.768713136626},"params":42}},"functions":[{"name":"<anonymous>","line":22,"complexity":{"sloc":{"physical":413,"logical":52},"cyclomatic":1,"halstead":{"operators":{"distinct":9,"total":107,"identifiers":["__stripped__"]},"operands":{"distinct":52,"total":111,"identifiers":["__stripped__"]},"length":218,"vocabulary":61,"difficulty":9.60576923076923,"volume":1292.9007395887093,"effort":12419.306142780004,"bugs":0.4309669131962364,"time":689.9614523766669},"params":3}},{"name":"extend","line":37,"complexity":{"sloc":{"physical":61,"logical":19},"cyclomatic":4,"halstead":{"operators":{"distinct":11,"total":45,"identifiers":["__stripped__"]},"operands":{"distinct":17,"total":56,"identifiers":["__stripped__"]},"length":101,"vocabulary":28,"difficulty":18.11764705882353,"volume":485.542847127818,"effort":8796.893936198114,"bugs":0.16184761570927267,"time":488.7163297887841},"params":2}},{"name":"ctor","line":41,"complexity":{"sloc":{"physical":1,"logical":0},"cyclomatic":1,"halstead":{"operators":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"operands":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"length":0,"time":0,"bugs":0,"effort":0,"volume":0,"difficulty":0,"vocabulary":0},"params":0}},{"name":"<anonymous>","line":53,"complexity":{"sloc":{"physical":12,"logical":9},"cyclomatic":1,"halstead":{"operators":{"distinct":7,"total":34,"identifiers":["__stripped__"]},"operands":{"distinct":18,"total":41,"identifiers":["__stripped__"]},"length":75,"vocabulary":25,"difficulty":7.972222222222221,"volume":348.2892142331043,"effort":2776.6390134694702,"bugs":0.1160964047443681,"time":154.25772297052612},"params":0}},{"name":"<anonymous>","line":79,"complexity":{"sloc":{"physical":5,"logical":2},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":7,"identifiers":["__stripped__"]},"operands":{"distinct":6,"total":10,"identifiers":["__stripped__"]},"length":17,"vocabulary":12,"difficulty":5,"volume":60.94436251225966,"effort":304.7218125612983,"bugs":0.020314787504086555,"time":16.928989586738794},"params":3}},{"name":"<anonymous>","line":100,"complexity":{"sloc":{"physical":6,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":3,"total":3,"identifiers":["__stripped__"]},"length":7,"vocabulary":7,"difficulty":2,"volume":19.651484454403228,"effort":39.302968908806456,"bugs":0.00655049481813441,"time":2.1834982727114696},"params":0}},{"name":"<anonymous>","line":102,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":3,"total":3,"identifiers":["__stripped__"]},"operands":{"distinct":2,"total":2,"identifiers":["__stripped__"]},"length":5,"vocabulary":5,"difficulty":1.5,"volume":11.60964047443681,"effort":17.414460711655217,"bugs":0.0038698801581456034,"time":0.9674700395364009},"params":0}},{"name":"emit","line":110,"complexity":{"sloc":{"physical":33,"logical":5},"cyclomatic":3,"halstead":{"operators":{"distinct":6,"total":19,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":24,"identifiers":["__stripped__"]},"length":43,"vocabulary":16,"difficulty":7.199999999999999,"volume":172,"effort":1238.3999999999999,"bugs":0.05733333333333333,"time":68.8},"params":1}},{"name":"<anonymous>","line":113,"complexity":{"sloc":{"physical":13,"logical":8},"cyclomatic":3,"halstead":{"operators":{"distinct":9,"total":17,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":20,"identifiers":["__stripped__"]},"length":37,"vocabulary":19,"difficulty":9,"volume":157.17331799741265,"effort":1414.5598619767138,"bugs":0.05239110599913755,"time":78.58665899870633},"params":1}},{"name":"<anonymous>","line":128,"complexity":{"sloc":{"physical":13,"logical":8},"cyclomatic":3,"halstead":{"operators":{"distinct":9,"total":21,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":24,"identifiers":["__stripped__"]},"length":45,"vocabulary":21,"difficulty":9,"volume":197.65428402504423,"effort":1778.8885562253981,"bugs":0.0658847613416814,"time":98.82714201252212},"params":1}},{"name":"on","line":144,"complexity":{"sloc":{"physical":17,"logical":10},"cyclomatic":2,"halstead":{"operators":{"distinct":12,"total":27,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":30,"identifiers":["__stripped__"]},"length":57,"vocabulary":21,"difficulty":20,"volume":250.36209309838935,"effort":5007.241861967787,"bugs":0.08345403103279644,"time":278.18010344265485},"params":2}},{"name":"off","line":156,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":2,"identifiers":["__stripped__"]},"operands":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"length":6,"vocabulary":6,"difficulty":1,"volume":15.509775004326936,"effort":15.509775004326936,"bugs":0.005169925001442312,"time":0.861654166907052},"params":0}},{"name":"off","line":162,"complexity":{"sloc":{"physical":14,"logical":9},"cyclomatic":3,"halstead":{"operators":{"distinct":10,"total":26,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":27,"identifiers":["__stripped__"]},"length":53,"vocabulary":18,"difficulty":16.875,"volume":221.00602507644254,"effort":3729.476673164968,"bugs":0.07366867502548084,"time":207.19314850916487},"params":2}},{"name":"getDefaultBehavioralOptions","line":180,"complexity":{"sloc":{"physical":11,"logical":7},"cyclomatic":1,"halstead":{"operators":{"distinct":6,"total":13,"identifiers":["__stripped__"]},"operands":{"distinct":11,"total":14,"identifiers":["__stripped__"]},"length":27,"vocabulary":17,"difficulty":3.8181818181818183,"volume":110.36149671375918,"effort":421.3802601798078,"bugs":0.03678716557125306,"time":23.410014454433767},"params":0}},{"name":"getDefaultClientMeta","line":192,"complexity":{"sloc":{"physical":12,"logical":9},"cyclomatic":1,"halstead":{"operators":{"distinct":4,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":17,"identifiers":["__stripped__"]},"length":28,"vocabulary":16,"difficulty":2.8333333333333335,"volume":112,"effort":317.33333333333337,"bugs":0.037333333333333336,"time":17.629629629629633},"params":0}},{"name":"getLeaklessArgs","line":205,"complexity":{"sloc":{"physical":7,"logical":5},"cyclomatic":2,"halstead":{"operators":{"distinct":10,"total":16,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":18,"identifiers":["__stripped__"]},"length":34,"vocabulary":18,"difficulty":11.25,"volume":141.7774500490386,"effort":1594.9963130516844,"bugs":0.0472591500163462,"time":88.61090628064913},"params":2}},{"name":"BehavioralFsm","line":213,"complexity":{"sloc":{"physical":6,"logical":4},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":10,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":18,"identifiers":["__stripped__"]},"length":28,"vocabulary":14,"difficulty":1.5,"volume":106.6059378176129,"effort":159.90890672641933,"bugs":0.035535312605870964,"time":8.88382815146774},"params":1}},{"name":"initialize","line":221,"complexity":{"sloc":{"physical":1,"logical":0},"cyclomatic":1,"halstead":{"operators":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"operands":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"length":0,"time":0,"bugs":0,"effort":0,"volume":0,"difficulty":0,"vocabulary":0},"params":0}},{"name":"initClient","line":223,"complexity":{"sloc":{"physical":10,"logical":6},"cyclomatic":3,"halstead":{"operators":{"distinct":8,"total":15,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":16,"identifiers":["__stripped__"]},"length":31,"vocabulary":16,"difficulty":8,"volume":124,"effort":992,"bugs":0.04133333333333333,"time":55.111111111111114},"params":1}},{"name":"ensureClientMeta","line":234,"complexity":{"sloc":{"physical":10,"logical":6},"cyclomatic":3,"halstead":{"operators":{"distinct":10,"total":17,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":17,"identifiers":["__stripped__"]},"length":34,"vocabulary":20,"difficulty":8.5,"volume":146.94555522617034,"effort":1249.0372194224478,"bugs":0.048981851742056784,"time":69.39095663458043},"params":1}},{"name":"buildEventPayload","line":245,"complexity":{"sloc":{"physical":12,"logical":7},"cyclomatic":2,"halstead":{"operators":{"distinct":8,"total":14,"identifiers":["__stripped__"]},"operands":{"distinct":7,"total":17,"identifiers":["__stripped__"]},"length":31,"vocabulary":15,"difficulty":9.714285714285714,"volume":121.11360846386408,"effort":1176.5321965061082,"bugs":0.040371202821288026,"time":65.3628998058949},"params":2}},{"name":"handle","line":258,"complexity":{"sloc":{"physical":34,"logical":29},"cyclomatic":6,"halstead":{"operators":{"distinct":15,"total":80,"identifiers":["__stripped__"]},"operands":{"distinct":39,"total":99,"identifiers":["__stripped__"]},"length":179,"vocabulary":54,"difficulty":19.038461538461537,"volume":1030.1248628872609,"effort":19611.99258189208,"bugs":0.3433749542957536,"time":1089.5551434384488},"params":2}},{"name":"transition","line":293,"complexity":{"sloc":{"physical":33,"logical":24},"cyclomatic":6,"halstead":{"operators":{"distinct":12,"total":72,"identifiers":["__stripped__"]},"operands":{"distinct":29,"total":92,"identifiers":["__stripped__"]},"length":164,"vocabulary":41,"difficulty":19.03448275862069,"volume":878.6385287573657,"effort":16724.42992669193,"bugs":0.29287950958578857,"time":929.1349959273294},"params":2}},{"name":"deferUntilTransition","line":327,"complexity":{"sloc":{"physical":16,"logical":11},"cyclomatic":2,"halstead":{"operators":{"distinct":7,"total":26,"identifiers":["__stripped__"]},"operands":{"distinct":20,"total":35,"identifiers":["__stripped__"]},"length":61,"vocabulary":27,"difficulty":6.125,"volume":290.0481376319716,"effort":1776.544842995826,"bugs":0.09668271254399054,"time":98.69693572199033},"params":2}},{"name":"processQueue","line":344,"complexity":{"sloc":{"physical":11,"logical":5},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":20,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":25,"identifiers":["__stripped__"]},"length":45,"vocabulary":17,"difficulty":5.208333333333334,"volume":183.9358278562653,"effort":957.9991034180485,"bugs":0.0613119426187551,"time":53.22217241211381},"params":1}},{"name":"filterFn","line":346,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":7,"identifiers":["__stripped__"]},"operands":{"distinct":4,"total":7,"identifiers":["__stripped__"]},"length":14,"vocabulary":9,"difficulty":4.375,"volume":44.37895002019238,"effort":194.15790633834166,"bugs":0.014792983340064125,"time":10.786550352130092},"params":1}},{"name":"<anonymous>","line":351,"complexity":{"sloc":{"physical":3,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":3,"total":7,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":10,"identifiers":["__stripped__"]},"length":17,"vocabulary":11,"difficulty":1.875,"volume":58.81033751683406,"effort":110.26938284406387,"bugs":0.019603445838944685,"time":6.126076824670215},"params":1}},{"name":"clearQueue","line":356,"complexity":{"sloc":{"physical":11,"logical":6},"cyclomatic":2,"halstead":{"operators":{"distinct":9,"total":18,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":19,"identifiers":["__stripped__"]},"length":37,"vocabulary":18,"difficulty":9.5,"volume":154.28722505336555,"effort":1465.7286380069727,"bugs":0.05142907501778852,"time":81.42936877816516},"params":2}},{"name":"filter","line":361,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":2,"halstead":{"operators":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":4,"total":6,"identifiers":["__stripped__"]},"length":10,"vocabulary":8,"difficulty":3,"volume":30,"effort":90,"bugs":0.01,"time":5},"params":1}},{"name":"constructor","line":372,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":5,"total":6,"identifiers":["__stripped__"]},"length":10,"vocabulary":7,"difficulty":1.2,"volume":28.07354922057604,"effort":33.688259064691245,"bugs":0.009357849740192013,"time":1.8715699480384025},"params":0}},{"name":"initClient","line":376,"complexity":{"sloc":{"physical":10,"logical":6},"cyclomatic":3,"halstead":{"operators":{"distinct":8,"total":15,"identifiers":["__stripped__"]},"operands":{"distinct":7,"total":14,"identifiers":["__stripped__"]},"length":29,"vocabulary":15,"difficulty":8,"volume":113.29982727264704,"effort":906.3986181811763,"bugs":0.03776660909088234,"time":50.355478787843126},"params":0}},{"name":"ensureClientMeta","line":386,"complexity":{"sloc":{"physical":8,"logical":5},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":13,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":14,"identifiers":["__stripped__"]},"length":27,"vocabulary":14,"difficulty":5.25,"volume":102.7985828955553,"effort":539.6925602016653,"bugs":0.03426619429851843,"time":29.98292001120363},"params":0}},{"name":"buildEventPayload","line":397,"complexity":{"sloc":{"physical":5,"logical":3},"cyclomatic":2,"halstead":{"operators":{"distinct":7,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":7,"total":12,"identifiers":["__stripped__"]},"length":23,"vocabulary":14,"difficulty":6,"volume":87.56916320732489,"effort":525.4149792439493,"bugs":0.029189721069108297,"time":29.1897210691083},"params":0}},{"name":"handle","line":402,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":12,"identifiers":["__stripped__"]},"operands":{"distinct":11,"total":15,"identifiers":["__stripped__"]},"length":27,"vocabulary":17,"difficulty":4.090909090909091,"volume":110.36149671375918,"effort":451.4788501926512,"bugs":0.03678716557125306,"time":25.082158344036177},"params":1}},{"name":"transition","line":406,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":14,"identifiers":["__stripped__"]},"length":25,"vocabulary":16,"difficulty":4.199999999999999,"volume":100,"effort":419.99999999999994,"bugs":0.03333333333333333,"time":23.33333333333333},"params":1}},{"name":"deferUntilTransition","line":410,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":14,"identifiers":["__stripped__"]},"length":25,"vocabulary":16,"difficulty":4.199999999999999,"volume":100,"effort":419.99999999999994,"bugs":0.03333333333333333,"time":23.33333333333333},"params":1}},{"name":"processQueue","line":414,"complexity":{"sloc":{"physical":4,"logical":1},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":9,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":12,"identifiers":["__stripped__"]},"length":21,"vocabulary":15,"difficulty":4,"volume":82.0447025077789,"effort":328.1788100311156,"bugs":0.02734823416925963,"time":18.232156112839753},"params":1}},{"name":"clearQueue","line":418,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":12,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":15,"identifiers":["__stripped__"]},"length":27,"vocabulary":16,"difficulty":4.5,"volume":108,"effort":486,"bugs":0.036,"time":27},"params":1}},{"name":"<anonymous>","line":9,"complexity":{"sloc":{"physical":14,"logical":7},"cyclomatic":3,"halstead":{"operators":{"distinct":10,"total":23,"identifiers":["__stripped__"]},"operands":{"distinct":13,"total":25,"identifiers":["__stripped__"]},"length":48,"vocabulary":23,"difficulty":9.615384615384615,"volume":217.13097389073664,"effort":2087.7978258724675,"bugs":0.07237699129691222,"time":115.98876810402597},"params":2}},{"name":"<anonymous>","line":12,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":2,"identifiers":["__stripped__"]},"operands":{"distinct":3,"total":4,"identifiers":["__stripped__"]},"length":6,"vocabulary":5,"difficulty":1.3333333333333333,"volume":13.931568569324174,"effort":18.575424759098897,"bugs":0.004643856189774725,"time":1.0319680421721609},"params":1}}],"maintainability":112.77251242453704,"params":1.05,"module":"/Users/Jim/git/oss/machina/lib/machina.js"},"jshint":{"messages":[]}} | ||
__report = {"info":{"file":"/Users/Jim/git/oss/machina/lib/machina.js","fileShort":"/Users/Jim/git/oss/machina/lib/machina.js","fileSafe":"_Users_Jim_git_oss_machina_lib_machina_js","link":"files/_Users_Jim_git_oss_machina_lib_machina_js/index.html"},"complexity":{"aggregate":{"line":9,"complexity":{"sloc":{"physical":599,"logical":407},"cyclomatic":60,"halstead":{"operators":{"distinct":35,"total":1109,"identifiers":["__stripped__"]},"operands":{"distinct":210,"total":1288,"identifiers":["__stripped__"]},"length":2397,"vocabulary":245,"difficulty":107.33333333333334,"volume":19024.121139789164,"effort":2041922.3356707038,"bugs":6.341373713263055,"time":113440.12975948355},"params":53}},"functions":[{"name":"<anonymous>","line":22,"complexity":{"sloc":{"physical":586,"logical":64},"cyclomatic":1,"halstead":{"operators":{"distinct":9,"total":123,"identifiers":["__stripped__"]},"operands":{"distinct":59,"total":132,"identifiers":["__stripped__"]},"length":255,"vocabulary":68,"difficulty":10.067796610169491,"volume":1552.3030245188368,"effort":15628.271128206594,"bugs":0.5174343415062789,"time":868.2372849003664},"params":3}},{"name":"getDefaultBehavioralOptions","line":33,"complexity":{"sloc":{"physical":13,"logical":9},"cyclomatic":1,"halstead":{"operators":{"distinct":6,"total":17,"identifiers":["__stripped__"]},"operands":{"distinct":13,"total":18,"identifiers":["__stripped__"]},"length":35,"vocabulary":19,"difficulty":4.153846153846153,"volume":148.67746297052548,"effort":617.5833077237212,"bugs":0.04955915432350849,"time":34.310183762428956},"params":0}},{"name":"getDefaultClientMeta","line":47,"complexity":{"sloc":{"physical":12,"logical":9},"cyclomatic":1,"halstead":{"operators":{"distinct":4,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":17,"identifiers":["__stripped__"]},"length":28,"vocabulary":16,"difficulty":2.8333333333333335,"volume":112,"effort":317.33333333333337,"bugs":0.037333333333333336,"time":17.629629629629633},"params":0}},{"name":"getLeaklessArgs","line":60,"complexity":{"sloc":{"physical":7,"logical":5},"cyclomatic":2,"halstead":{"operators":{"distinct":9,"total":14,"identifiers":["__stripped__"]},"operands":{"distinct":7,"total":16,"identifiers":["__stripped__"]},"length":30,"vocabulary":16,"difficulty":10.285714285714285,"volume":120,"effort":1234.2857142857142,"bugs":0.04,"time":68.57142857142857},"params":2}},{"name":"getChildFsmInstance","line":68,"complexity":{"sloc":{"physical":21,"logical":13},"cyclomatic":5,"halstead":{"operators":{"distinct":12,"total":27,"identifiers":["__stripped__"]},"operands":{"distinct":7,"total":23,"identifiers":["__stripped__"]},"length":50,"vocabulary":19,"difficulty":19.714285714285715,"volume":212.39637567217926,"effort":4187.242834680105,"bugs":0.07079879189072642,"time":232.6246019266725},"params":1}},{"name":"childFsmDefinition.factory","line":79,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":1,"total":1,"identifiers":["__stripped__"]},"operands":{"distinct":1,"total":1,"identifiers":["__stripped__"]},"length":2,"vocabulary":2,"difficulty":0.5,"volume":2,"effort":1,"bugs":0.0006666666666666666,"time":0.05555555555555555},"params":0}},{"name":"listenToChild","line":90,"complexity":{"sloc":{"physical":26,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":5,"total":6,"identifiers":["__stripped__"]},"length":10,"vocabulary":9,"difficulty":2.4,"volume":31.699250014423125,"effort":76.07820003461549,"bugs":0.010566416671474375,"time":4.22656666858975},"params":2}},{"name":"<anonymous>","line":91,"complexity":{"sloc":{"physical":24,"logical":16},"cyclomatic":4,"halstead":{"operators":{"distinct":13,"total":42,"identifiers":["__stripped__"]},"operands":{"distinct":18,"total":45,"identifiers":["__stripped__"]},"length":87,"vocabulary":31,"difficulty":16.25,"volume":431.0150790036582,"effort":7003.995033809445,"bugs":0.1436716930012194,"time":389.11083521163584},"params":2}},{"name":"extend","line":121,"complexity":{"sloc":{"physical":61,"logical":19},"cyclomatic":4,"halstead":{"operators":{"distinct":11,"total":45,"identifiers":["__stripped__"]},"operands":{"distinct":17,"total":56,"identifiers":["__stripped__"]},"length":101,"vocabulary":28,"difficulty":18.11764705882353,"volume":485.542847127818,"effort":8796.893936198114,"bugs":0.16184761570927267,"time":488.7163297887841},"params":2}},{"name":"ctor","line":125,"complexity":{"sloc":{"physical":1,"logical":0},"cyclomatic":1,"halstead":{"operators":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"operands":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"length":0,"time":0,"bugs":0,"effort":0,"volume":0,"difficulty":0,"vocabulary":0},"params":0}},{"name":"<anonymous>","line":137,"complexity":{"sloc":{"physical":12,"logical":9},"cyclomatic":1,"halstead":{"operators":{"distinct":7,"total":34,"identifiers":["__stripped__"]},"operands":{"distinct":18,"total":41,"identifiers":["__stripped__"]},"length":75,"vocabulary":25,"difficulty":7.972222222222221,"volume":348.2892142331043,"effort":2776.6390134694702,"bugs":0.1160964047443681,"time":154.25772297052612},"params":0}},{"name":"<anonymous>","line":163,"complexity":{"sloc":{"physical":5,"logical":2},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":7,"identifiers":["__stripped__"]},"operands":{"distinct":6,"total":10,"identifiers":["__stripped__"]},"length":17,"vocabulary":12,"difficulty":5,"volume":60.94436251225966,"effort":304.7218125612983,"bugs":0.020314787504086555,"time":16.928989586738794},"params":3}},{"name":"createUUID","line":183,"complexity":{"sloc":{"physical":11,"logical":9},"cyclomatic":2,"halstead":{"operators":{"distinct":12,"total":39,"identifiers":["__stripped__"]},"operands":{"distinct":24,"total":43,"identifiers":["__stripped__"]},"length":82,"vocabulary":36,"difficulty":10.75,"volume":423.9338501182696,"effort":4557.288888771398,"bugs":0.14131128337275653,"time":253.18271604285545},"params":0}},{"name":"<anonymous>","line":196,"complexity":{"sloc":{"physical":6,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":3,"total":3,"identifiers":["__stripped__"]},"length":7,"vocabulary":7,"difficulty":2,"volume":19.651484454403228,"effort":39.302968908806456,"bugs":0.00655049481813441,"time":2.1834982727114696},"params":0}},{"name":"<anonymous>","line":198,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":3,"total":3,"identifiers":["__stripped__"]},"operands":{"distinct":2,"total":2,"identifiers":["__stripped__"]},"length":5,"vocabulary":5,"difficulty":1.5,"volume":11.60964047443681,"effort":17.414460711655217,"bugs":0.0038698801581456034,"time":0.9674700395364009},"params":0}},{"name":"emit","line":211,"complexity":{"sloc":{"physical":33,"logical":5},"cyclomatic":3,"halstead":{"operators":{"distinct":6,"total":19,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":24,"identifiers":["__stripped__"]},"length":43,"vocabulary":16,"difficulty":7.199999999999999,"volume":172,"effort":1238.3999999999999,"bugs":0.05733333333333333,"time":68.8},"params":1}},{"name":"<anonymous>","line":214,"complexity":{"sloc":{"physical":13,"logical":8},"cyclomatic":3,"halstead":{"operators":{"distinct":9,"total":17,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":20,"identifiers":["__stripped__"]},"length":37,"vocabulary":19,"difficulty":9,"volume":157.17331799741265,"effort":1414.5598619767138,"bugs":0.05239110599913755,"time":78.58665899870633},"params":1}},{"name":"<anonymous>","line":229,"complexity":{"sloc":{"physical":13,"logical":8},"cyclomatic":3,"halstead":{"operators":{"distinct":9,"total":21,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":24,"identifiers":["__stripped__"]},"length":45,"vocabulary":21,"difficulty":9,"volume":197.65428402504423,"effort":1778.8885562253981,"bugs":0.0658847613416814,"time":98.82714201252212},"params":1}},{"name":"on","line":245,"complexity":{"sloc":{"physical":17,"logical":10},"cyclomatic":2,"halstead":{"operators":{"distinct":12,"total":27,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":30,"identifiers":["__stripped__"]},"length":57,"vocabulary":21,"difficulty":20,"volume":250.36209309838935,"effort":5007.241861967787,"bugs":0.08345403103279644,"time":278.18010344265485},"params":2}},{"name":"off","line":257,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":2,"identifiers":["__stripped__"]},"operands":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"length":6,"vocabulary":6,"difficulty":1,"volume":15.509775004326936,"effort":15.509775004326936,"bugs":0.005169925001442312,"time":0.861654166907052},"params":0}},{"name":"off","line":263,"complexity":{"sloc":{"physical":14,"logical":9},"cyclomatic":3,"halstead":{"operators":{"distinct":10,"total":26,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":27,"identifiers":["__stripped__"]},"length":53,"vocabulary":18,"difficulty":16.875,"volume":221.00602507644254,"effort":3729.476673164968,"bugs":0.07366867502548084,"time":207.19314850916487},"params":2}},{"name":"BehavioralFsm","line":281,"complexity":{"sloc":{"physical":6,"logical":4},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":10,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":18,"identifiers":["__stripped__"]},"length":28,"vocabulary":14,"difficulty":1.5,"volume":106.6059378176129,"effort":159.90890672641933,"bugs":0.035535312605870964,"time":8.88382815146774},"params":1}},{"name":"initialize","line":289,"complexity":{"sloc":{"physical":1,"logical":0},"cyclomatic":1,"halstead":{"operators":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"operands":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"length":0,"time":0,"bugs":0,"effort":0,"volume":0,"difficulty":0,"vocabulary":0},"params":0}},{"name":"initClient","line":291,"complexity":{"sloc":{"physical":10,"logical":6},"cyclomatic":3,"halstead":{"operators":{"distinct":8,"total":15,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":16,"identifiers":["__stripped__"]},"length":31,"vocabulary":16,"difficulty":8,"volume":124,"effort":992,"bugs":0.04133333333333333,"time":55.111111111111114},"params":1}},{"name":"ensureClientMeta","line":302,"complexity":{"sloc":{"physical":11,"logical":7},"cyclomatic":3,"halstead":{"operators":{"distinct":12,"total":29,"identifiers":["__stripped__"]},"operands":{"distinct":13,"total":29,"identifiers":["__stripped__"]},"length":58,"vocabulary":25,"difficulty":13.384615384615385,"volume":269.343659006934,"effort":3605.061282092809,"bugs":0.089781219668978,"time":200.2811823384894},"params":1}},{"name":"buildEventPayload","line":314,"complexity":{"sloc":{"physical":14,"logical":9},"cyclomatic":2,"halstead":{"operators":{"distinct":8,"total":18,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":23,"identifiers":["__stripped__"]},"length":41,"vocabulary":17,"difficulty":10.222222222222221,"volume":167.58597649126395,"effort":1713.1010930218092,"bugs":0.05586199216375465,"time":95.17228294565606},"params":2}},{"name":"getHandlerArgs","line":329,"complexity":{"sloc":{"physical":11,"logical":6},"cyclomatic":3,"halstead":{"operators":{"distinct":10,"total":21,"identifiers":["__stripped__"]},"operands":{"distinct":13,"total":26,"identifiers":["__stripped__"]},"length":47,"vocabulary":23,"difficulty":10,"volume":212.60741193467962,"effort":2126.074119346796,"bugs":0.07086913731155987,"time":118.11522885259978},"params":2}},{"name":"handle","line":341,"complexity":{"sloc":{"physical":71,"logical":55},"cyclomatic":9,"halstead":{"operators":{"distinct":18,"total":150,"identifiers":["__stripped__"]},"operands":{"distinct":59,"total":178,"identifiers":["__stripped__"]},"length":328,"vocabulary":77,"difficulty":27.152542372881356,"volume":2055.505985347928,"effort":55812.213364870855,"bugs":0.6851686617826427,"time":3100.6785202706033},"params":2}},{"name":"transition","line":413,"complexity":{"sloc":{"physical":50,"logical":37},"cyclomatic":10,"halstead":{"operators":{"distinct":12,"total":110,"identifiers":["__stripped__"]},"operands":{"distinct":43,"total":136,"identifiers":["__stripped__"]},"length":246,"vocabulary":55,"difficulty":18.97674418604651,"volume":1422.2144895270662,"effort":26989.000545443858,"bugs":0.4740714965090221,"time":1499.3889191913254},"params":2}},{"name":"deferUntilTransition","line":464,"complexity":{"sloc":{"physical":16,"logical":11},"cyclomatic":2,"halstead":{"operators":{"distinct":7,"total":26,"identifiers":["__stripped__"]},"operands":{"distinct":20,"total":35,"identifiers":["__stripped__"]},"length":61,"vocabulary":27,"difficulty":6.125,"volume":290.0481376319716,"effort":1776.544842995826,"bugs":0.09668271254399054,"time":98.69693572199033},"params":2}},{"name":"deferAndTransition","line":481,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":5,"total":10,"identifiers":["__stripped__"]},"length":14,"vocabulary":7,"difficulty":2,"volume":39.302968908806456,"effort":78.60593781761291,"bugs":0.01310098963626882,"time":4.366996545422939},"params":2}},{"name":"processQueue","line":486,"complexity":{"sloc":{"physical":11,"logical":5},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":20,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":25,"identifiers":["__stripped__"]},"length":45,"vocabulary":17,"difficulty":5.208333333333334,"volume":183.9358278562653,"effort":957.9991034180485,"bugs":0.0613119426187551,"time":53.22217241211381},"params":1}},{"name":"filterFn","line":488,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":7,"identifiers":["__stripped__"]},"operands":{"distinct":4,"total":7,"identifiers":["__stripped__"]},"length":14,"vocabulary":9,"difficulty":4.375,"volume":44.37895002019238,"effort":194.15790633834166,"bugs":0.014792983340064125,"time":10.786550352130092},"params":1}},{"name":"<anonymous>","line":493,"complexity":{"sloc":{"physical":3,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":3,"total":7,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":10,"identifiers":["__stripped__"]},"length":17,"vocabulary":11,"difficulty":1.875,"volume":58.81033751683406,"effort":110.26938284406387,"bugs":0.019603445838944685,"time":6.126076824670215},"params":1}},{"name":"clearQueue","line":498,"complexity":{"sloc":{"physical":11,"logical":6},"cyclomatic":2,"halstead":{"operators":{"distinct":9,"total":18,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":19,"identifiers":["__stripped__"]},"length":37,"vocabulary":18,"difficulty":9.5,"volume":154.28722505336555,"effort":1465.7286380069727,"bugs":0.05142907501778852,"time":81.42936877816516},"params":2}},{"name":"filter","line":503,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":2,"halstead":{"operators":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":4,"total":6,"identifiers":["__stripped__"]},"length":10,"vocabulary":8,"difficulty":3,"volume":30,"effort":90,"bugs":0.01,"time":5},"params":1}},{"name":"constructor","line":514,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":5,"total":6,"identifiers":["__stripped__"]},"length":10,"vocabulary":7,"difficulty":1.2,"volume":28.07354922057604,"effort":33.688259064691245,"bugs":0.009357849740192013,"time":1.8715699480384025},"params":0}},{"name":"initClient","line":518,"complexity":{"sloc":{"physical":10,"logical":6},"cyclomatic":3,"halstead":{"operators":{"distinct":8,"total":15,"identifiers":["__stripped__"]},"operands":{"distinct":7,"total":14,"identifiers":["__stripped__"]},"length":29,"vocabulary":15,"difficulty":8,"volume":113.29982727264704,"effort":906.3986181811763,"bugs":0.03776660909088234,"time":50.355478787843126},"params":0}},{"name":"ensureClientMeta","line":528,"complexity":{"sloc":{"physical":8,"logical":5},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":13,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":14,"identifiers":["__stripped__"]},"length":27,"vocabulary":14,"difficulty":5.25,"volume":102.7985828955553,"effort":539.6925602016653,"bugs":0.03426619429851843,"time":29.98292001120363},"params":0}},{"name":"ensureClientArg","line":537,"complexity":{"sloc":{"physical":11,"logical":7},"cyclomatic":3,"halstead":{"operators":{"distinct":14,"total":30,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":30,"identifiers":["__stripped__"]},"length":60,"vocabulary":23,"difficulty":23.333333333333336,"volume":271.4137173634208,"effort":6332.986738479819,"bugs":0.09047123912114027,"time":351.83259658221215},"params":1}},{"name":"getHandlerArgs","line":549,"complexity":{"sloc":{"physical":11,"logical":5},"cyclomatic":3,"halstead":{"operators":{"distinct":9,"total":17,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":22,"identifiers":["__stripped__"]},"length":39,"vocabulary":19,"difficulty":9.9,"volume":165.66917302429982,"effort":1640.1248129405683,"bugs":0.05522305767476661,"time":91.11804516336491},"params":2}},{"name":"buildEventPayload","line":561,"complexity":{"sloc":{"physical":14,"logical":9},"cyclomatic":2,"halstead":{"operators":{"distinct":10,"total":25,"identifiers":["__stripped__"]},"operands":{"distinct":14,"total":26,"identifiers":["__stripped__"]},"length":51,"vocabulary":24,"difficulty":9.285714285714286,"volume":233.833087536779,"effort":2171.307241412948,"bugs":0.07794436251225967,"time":120.62818007849711},"params":0}},{"name":"handle","line":575,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":11,"total":13,"identifiers":["__stripped__"]},"length":24,"vocabulary":16,"difficulty":2.9545454545454546,"volume":96,"effort":283.6363636363636,"bugs":0.032,"time":15.757575757575758},"params":1}},{"name":"transition","line":579,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":11,"total":13,"identifiers":["__stripped__"]},"length":24,"vocabulary":16,"difficulty":2.9545454545454546,"volume":96,"effort":283.6363636363636,"bugs":0.032,"time":15.757575757575758},"params":1}},{"name":"deferUntilTransition","line":583,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":11,"total":13,"identifiers":["__stripped__"]},"length":24,"vocabulary":16,"difficulty":2.9545454545454546,"volume":96,"effort":283.6363636363636,"bugs":0.032,"time":15.757575757575758},"params":1}},{"name":"processQueue","line":587,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":12,"identifiers":["__stripped__"]},"length":23,"vocabulary":15,"difficulty":3,"volume":89.85848369899593,"effort":269.57545109698776,"bugs":0.02995282789966531,"time":14.976413949832654},"params":0}},{"name":"clearQueue","line":591,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":11,"total":13,"identifiers":["__stripped__"]},"length":24,"vocabulary":16,"difficulty":2.9545454545454546,"volume":96,"effort":283.6363636363636,"bugs":0.032,"time":15.757575757575758},"params":1}},{"name":"<anonymous>","line":9,"complexity":{"sloc":{"physical":14,"logical":7},"cyclomatic":3,"halstead":{"operators":{"distinct":10,"total":23,"identifiers":["__stripped__"]},"operands":{"distinct":13,"total":25,"identifiers":["__stripped__"]},"length":48,"vocabulary":23,"difficulty":9.615384615384615,"volume":217.13097389073664,"effort":2087.7978258724675,"bugs":0.07237699129691222,"time":115.98876810402597},"params":2}},{"name":"<anonymous>","line":12,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":2,"identifiers":["__stripped__"]},"operands":{"distinct":3,"total":4,"identifiers":["__stripped__"]},"length":6,"vocabulary":5,"difficulty":1.3333333333333333,"volume":13.931568569324174,"effort":18.575424759098897,"bugs":0.004643856189774725,"time":1.0319680421721609},"params":1}}],"maintainability":108.72487518335461,"params":1.0816326530612246,"module":"/Users/Jim/git/oss/machina/lib/machina.js"},"jshint":{"messages":[]}} |
@@ -1,1 +0,1 @@ | ||
{"info":{"file":"/Users/Jim/git/oss/machina/lib/machina.js","fileShort":"/Users/Jim/git/oss/machina/lib/machina.js","fileSafe":"_Users_Jim_git_oss_machina_lib_machina_js","link":"files/_Users_Jim_git_oss_machina_lib_machina_js/index.html"},"complexity":{"aggregate":{"line":9,"complexity":{"sloc":{"physical":426,"logical":284},"cyclomatic":44,"halstead":{"operators":{"distinct":26,"total":768,"identifiers":["__stripped__"]},"operands":{"distinct":161,"total":910,"identifiers":["__stripped__"]},"length":1678,"vocabulary":187,"difficulty":73.47826086956522,"volume":12663.688903691456,"effort":930505.8368364592,"bugs":4.2212296345638185,"time":51694.768713136626},"params":42}},"functions":[{"name":"<anonymous>","line":22,"complexity":{"sloc":{"physical":413,"logical":52},"cyclomatic":1,"halstead":{"operators":{"distinct":9,"total":107,"identifiers":["__stripped__"]},"operands":{"distinct":52,"total":111,"identifiers":["__stripped__"]},"length":218,"vocabulary":61,"difficulty":9.60576923076923,"volume":1292.9007395887093,"effort":12419.306142780004,"bugs":0.4309669131962364,"time":689.9614523766669},"params":3}},{"name":"extend","line":37,"complexity":{"sloc":{"physical":61,"logical":19},"cyclomatic":4,"halstead":{"operators":{"distinct":11,"total":45,"identifiers":["__stripped__"]},"operands":{"distinct":17,"total":56,"identifiers":["__stripped__"]},"length":101,"vocabulary":28,"difficulty":18.11764705882353,"volume":485.542847127818,"effort":8796.893936198114,"bugs":0.16184761570927267,"time":488.7163297887841},"params":2}},{"name":"ctor","line":41,"complexity":{"sloc":{"physical":1,"logical":0},"cyclomatic":1,"halstead":{"operators":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"operands":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"length":0,"time":0,"bugs":0,"effort":0,"volume":0,"difficulty":0,"vocabulary":0},"params":0}},{"name":"<anonymous>","line":53,"complexity":{"sloc":{"physical":12,"logical":9},"cyclomatic":1,"halstead":{"operators":{"distinct":7,"total":34,"identifiers":["__stripped__"]},"operands":{"distinct":18,"total":41,"identifiers":["__stripped__"]},"length":75,"vocabulary":25,"difficulty":7.972222222222221,"volume":348.2892142331043,"effort":2776.6390134694702,"bugs":0.1160964047443681,"time":154.25772297052612},"params":0}},{"name":"<anonymous>","line":79,"complexity":{"sloc":{"physical":5,"logical":2},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":7,"identifiers":["__stripped__"]},"operands":{"distinct":6,"total":10,"identifiers":["__stripped__"]},"length":17,"vocabulary":12,"difficulty":5,"volume":60.94436251225966,"effort":304.7218125612983,"bugs":0.020314787504086555,"time":16.928989586738794},"params":3}},{"name":"<anonymous>","line":100,"complexity":{"sloc":{"physical":6,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":3,"total":3,"identifiers":["__stripped__"]},"length":7,"vocabulary":7,"difficulty":2,"volume":19.651484454403228,"effort":39.302968908806456,"bugs":0.00655049481813441,"time":2.1834982727114696},"params":0}},{"name":"<anonymous>","line":102,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":3,"total":3,"identifiers":["__stripped__"]},"operands":{"distinct":2,"total":2,"identifiers":["__stripped__"]},"length":5,"vocabulary":5,"difficulty":1.5,"volume":11.60964047443681,"effort":17.414460711655217,"bugs":0.0038698801581456034,"time":0.9674700395364009},"params":0}},{"name":"emit","line":110,"complexity":{"sloc":{"physical":33,"logical":5},"cyclomatic":3,"halstead":{"operators":{"distinct":6,"total":19,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":24,"identifiers":["__stripped__"]},"length":43,"vocabulary":16,"difficulty":7.199999999999999,"volume":172,"effort":1238.3999999999999,"bugs":0.05733333333333333,"time":68.8},"params":1}},{"name":"<anonymous>","line":113,"complexity":{"sloc":{"physical":13,"logical":8},"cyclomatic":3,"halstead":{"operators":{"distinct":9,"total":17,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":20,"identifiers":["__stripped__"]},"length":37,"vocabulary":19,"difficulty":9,"volume":157.17331799741265,"effort":1414.5598619767138,"bugs":0.05239110599913755,"time":78.58665899870633},"params":1}},{"name":"<anonymous>","line":128,"complexity":{"sloc":{"physical":13,"logical":8},"cyclomatic":3,"halstead":{"operators":{"distinct":9,"total":21,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":24,"identifiers":["__stripped__"]},"length":45,"vocabulary":21,"difficulty":9,"volume":197.65428402504423,"effort":1778.8885562253981,"bugs":0.0658847613416814,"time":98.82714201252212},"params":1}},{"name":"on","line":144,"complexity":{"sloc":{"physical":17,"logical":10},"cyclomatic":2,"halstead":{"operators":{"distinct":12,"total":27,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":30,"identifiers":["__stripped__"]},"length":57,"vocabulary":21,"difficulty":20,"volume":250.36209309838935,"effort":5007.241861967787,"bugs":0.08345403103279644,"time":278.18010344265485},"params":2}},{"name":"off","line":156,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":2,"identifiers":["__stripped__"]},"operands":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"length":6,"vocabulary":6,"difficulty":1,"volume":15.509775004326936,"effort":15.509775004326936,"bugs":0.005169925001442312,"time":0.861654166907052},"params":0}},{"name":"off","line":162,"complexity":{"sloc":{"physical":14,"logical":9},"cyclomatic":3,"halstead":{"operators":{"distinct":10,"total":26,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":27,"identifiers":["__stripped__"]},"length":53,"vocabulary":18,"difficulty":16.875,"volume":221.00602507644254,"effort":3729.476673164968,"bugs":0.07366867502548084,"time":207.19314850916487},"params":2}},{"name":"getDefaultBehavioralOptions","line":180,"complexity":{"sloc":{"physical":11,"logical":7},"cyclomatic":1,"halstead":{"operators":{"distinct":6,"total":13,"identifiers":["__stripped__"]},"operands":{"distinct":11,"total":14,"identifiers":["__stripped__"]},"length":27,"vocabulary":17,"difficulty":3.8181818181818183,"volume":110.36149671375918,"effort":421.3802601798078,"bugs":0.03678716557125306,"time":23.410014454433767},"params":0}},{"name":"getDefaultClientMeta","line":192,"complexity":{"sloc":{"physical":12,"logical":9},"cyclomatic":1,"halstead":{"operators":{"distinct":4,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":17,"identifiers":["__stripped__"]},"length":28,"vocabulary":16,"difficulty":2.8333333333333335,"volume":112,"effort":317.33333333333337,"bugs":0.037333333333333336,"time":17.629629629629633},"params":0}},{"name":"getLeaklessArgs","line":205,"complexity":{"sloc":{"physical":7,"logical":5},"cyclomatic":2,"halstead":{"operators":{"distinct":10,"total":16,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":18,"identifiers":["__stripped__"]},"length":34,"vocabulary":18,"difficulty":11.25,"volume":141.7774500490386,"effort":1594.9963130516844,"bugs":0.0472591500163462,"time":88.61090628064913},"params":2}},{"name":"BehavioralFsm","line":213,"complexity":{"sloc":{"physical":6,"logical":4},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":10,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":18,"identifiers":["__stripped__"]},"length":28,"vocabulary":14,"difficulty":1.5,"volume":106.6059378176129,"effort":159.90890672641933,"bugs":0.035535312605870964,"time":8.88382815146774},"params":1}},{"name":"initialize","line":221,"complexity":{"sloc":{"physical":1,"logical":0},"cyclomatic":1,"halstead":{"operators":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"operands":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"length":0,"time":0,"bugs":0,"effort":0,"volume":0,"difficulty":0,"vocabulary":0},"params":0}},{"name":"initClient","line":223,"complexity":{"sloc":{"physical":10,"logical":6},"cyclomatic":3,"halstead":{"operators":{"distinct":8,"total":15,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":16,"identifiers":["__stripped__"]},"length":31,"vocabulary":16,"difficulty":8,"volume":124,"effort":992,"bugs":0.04133333333333333,"time":55.111111111111114},"params":1}},{"name":"ensureClientMeta","line":234,"complexity":{"sloc":{"physical":10,"logical":6},"cyclomatic":3,"halstead":{"operators":{"distinct":10,"total":17,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":17,"identifiers":["__stripped__"]},"length":34,"vocabulary":20,"difficulty":8.5,"volume":146.94555522617034,"effort":1249.0372194224478,"bugs":0.048981851742056784,"time":69.39095663458043},"params":1}},{"name":"buildEventPayload","line":245,"complexity":{"sloc":{"physical":12,"logical":7},"cyclomatic":2,"halstead":{"operators":{"distinct":8,"total":14,"identifiers":["__stripped__"]},"operands":{"distinct":7,"total":17,"identifiers":["__stripped__"]},"length":31,"vocabulary":15,"difficulty":9.714285714285714,"volume":121.11360846386408,"effort":1176.5321965061082,"bugs":0.040371202821288026,"time":65.3628998058949},"params":2}},{"name":"handle","line":258,"complexity":{"sloc":{"physical":34,"logical":29},"cyclomatic":6,"halstead":{"operators":{"distinct":15,"total":80,"identifiers":["__stripped__"]},"operands":{"distinct":39,"total":99,"identifiers":["__stripped__"]},"length":179,"vocabulary":54,"difficulty":19.038461538461537,"volume":1030.1248628872609,"effort":19611.99258189208,"bugs":0.3433749542957536,"time":1089.5551434384488},"params":2}},{"name":"transition","line":293,"complexity":{"sloc":{"physical":33,"logical":24},"cyclomatic":6,"halstead":{"operators":{"distinct":12,"total":72,"identifiers":["__stripped__"]},"operands":{"distinct":29,"total":92,"identifiers":["__stripped__"]},"length":164,"vocabulary":41,"difficulty":19.03448275862069,"volume":878.6385287573657,"effort":16724.42992669193,"bugs":0.29287950958578857,"time":929.1349959273294},"params":2}},{"name":"deferUntilTransition","line":327,"complexity":{"sloc":{"physical":16,"logical":11},"cyclomatic":2,"halstead":{"operators":{"distinct":7,"total":26,"identifiers":["__stripped__"]},"operands":{"distinct":20,"total":35,"identifiers":["__stripped__"]},"length":61,"vocabulary":27,"difficulty":6.125,"volume":290.0481376319716,"effort":1776.544842995826,"bugs":0.09668271254399054,"time":98.69693572199033},"params":2}},{"name":"processQueue","line":344,"complexity":{"sloc":{"physical":11,"logical":5},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":20,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":25,"identifiers":["__stripped__"]},"length":45,"vocabulary":17,"difficulty":5.208333333333334,"volume":183.9358278562653,"effort":957.9991034180485,"bugs":0.0613119426187551,"time":53.22217241211381},"params":1}},{"name":"filterFn","line":346,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":7,"identifiers":["__stripped__"]},"operands":{"distinct":4,"total":7,"identifiers":["__stripped__"]},"length":14,"vocabulary":9,"difficulty":4.375,"volume":44.37895002019238,"effort":194.15790633834166,"bugs":0.014792983340064125,"time":10.786550352130092},"params":1}},{"name":"<anonymous>","line":351,"complexity":{"sloc":{"physical":3,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":3,"total":7,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":10,"identifiers":["__stripped__"]},"length":17,"vocabulary":11,"difficulty":1.875,"volume":58.81033751683406,"effort":110.26938284406387,"bugs":0.019603445838944685,"time":6.126076824670215},"params":1}},{"name":"clearQueue","line":356,"complexity":{"sloc":{"physical":11,"logical":6},"cyclomatic":2,"halstead":{"operators":{"distinct":9,"total":18,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":19,"identifiers":["__stripped__"]},"length":37,"vocabulary":18,"difficulty":9.5,"volume":154.28722505336555,"effort":1465.7286380069727,"bugs":0.05142907501778852,"time":81.42936877816516},"params":2}},{"name":"filter","line":361,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":2,"halstead":{"operators":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":4,"total":6,"identifiers":["__stripped__"]},"length":10,"vocabulary":8,"difficulty":3,"volume":30,"effort":90,"bugs":0.01,"time":5},"params":1}},{"name":"constructor","line":372,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":5,"total":6,"identifiers":["__stripped__"]},"length":10,"vocabulary":7,"difficulty":1.2,"volume":28.07354922057604,"effort":33.688259064691245,"bugs":0.009357849740192013,"time":1.8715699480384025},"params":0}},{"name":"initClient","line":376,"complexity":{"sloc":{"physical":10,"logical":6},"cyclomatic":3,"halstead":{"operators":{"distinct":8,"total":15,"identifiers":["__stripped__"]},"operands":{"distinct":7,"total":14,"identifiers":["__stripped__"]},"length":29,"vocabulary":15,"difficulty":8,"volume":113.29982727264704,"effort":906.3986181811763,"bugs":0.03776660909088234,"time":50.355478787843126},"params":0}},{"name":"ensureClientMeta","line":386,"complexity":{"sloc":{"physical":8,"logical":5},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":13,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":14,"identifiers":["__stripped__"]},"length":27,"vocabulary":14,"difficulty":5.25,"volume":102.7985828955553,"effort":539.6925602016653,"bugs":0.03426619429851843,"time":29.98292001120363},"params":0}},{"name":"buildEventPayload","line":397,"complexity":{"sloc":{"physical":5,"logical":3},"cyclomatic":2,"halstead":{"operators":{"distinct":7,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":7,"total":12,"identifiers":["__stripped__"]},"length":23,"vocabulary":14,"difficulty":6,"volume":87.56916320732489,"effort":525.4149792439493,"bugs":0.029189721069108297,"time":29.1897210691083},"params":0}},{"name":"handle","line":402,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":12,"identifiers":["__stripped__"]},"operands":{"distinct":11,"total":15,"identifiers":["__stripped__"]},"length":27,"vocabulary":17,"difficulty":4.090909090909091,"volume":110.36149671375918,"effort":451.4788501926512,"bugs":0.03678716557125306,"time":25.082158344036177},"params":1}},{"name":"transition","line":406,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":14,"identifiers":["__stripped__"]},"length":25,"vocabulary":16,"difficulty":4.199999999999999,"volume":100,"effort":419.99999999999994,"bugs":0.03333333333333333,"time":23.33333333333333},"params":1}},{"name":"deferUntilTransition","line":410,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":14,"identifiers":["__stripped__"]},"length":25,"vocabulary":16,"difficulty":4.199999999999999,"volume":100,"effort":419.99999999999994,"bugs":0.03333333333333333,"time":23.33333333333333},"params":1}},{"name":"processQueue","line":414,"complexity":{"sloc":{"physical":4,"logical":1},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":9,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":12,"identifiers":["__stripped__"]},"length":21,"vocabulary":15,"difficulty":4,"volume":82.0447025077789,"effort":328.1788100311156,"bugs":0.02734823416925963,"time":18.232156112839753},"params":1}},{"name":"clearQueue","line":418,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":12,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":15,"identifiers":["__stripped__"]},"length":27,"vocabulary":16,"difficulty":4.5,"volume":108,"effort":486,"bugs":0.036,"time":27},"params":1}},{"name":"<anonymous>","line":9,"complexity":{"sloc":{"physical":14,"logical":7},"cyclomatic":3,"halstead":{"operators":{"distinct":10,"total":23,"identifiers":["__stripped__"]},"operands":{"distinct":13,"total":25,"identifiers":["__stripped__"]},"length":48,"vocabulary":23,"difficulty":9.615384615384615,"volume":217.13097389073664,"effort":2087.7978258724675,"bugs":0.07237699129691222,"time":115.98876810402597},"params":2}},{"name":"<anonymous>","line":12,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":2,"identifiers":["__stripped__"]},"operands":{"distinct":3,"total":4,"identifiers":["__stripped__"]},"length":6,"vocabulary":5,"difficulty":1.3333333333333333,"volume":13.931568569324174,"effort":18.575424759098897,"bugs":0.004643856189774725,"time":1.0319680421721609},"params":1}}],"maintainability":112.77251242453704,"params":1.05,"module":"/Users/Jim/git/oss/machina/lib/machina.js"},"jshint":{"messages":[]}} | ||
{"info":{"file":"/Users/Jim/git/oss/machina/lib/machina.js","fileShort":"/Users/Jim/git/oss/machina/lib/machina.js","fileSafe":"_Users_Jim_git_oss_machina_lib_machina_js","link":"files/_Users_Jim_git_oss_machina_lib_machina_js/index.html"},"complexity":{"aggregate":{"line":9,"complexity":{"sloc":{"physical":599,"logical":407},"cyclomatic":60,"halstead":{"operators":{"distinct":35,"total":1109,"identifiers":["__stripped__"]},"operands":{"distinct":210,"total":1288,"identifiers":["__stripped__"]},"length":2397,"vocabulary":245,"difficulty":107.33333333333334,"volume":19024.121139789164,"effort":2041922.3356707038,"bugs":6.341373713263055,"time":113440.12975948355},"params":53}},"functions":[{"name":"<anonymous>","line":22,"complexity":{"sloc":{"physical":586,"logical":64},"cyclomatic":1,"halstead":{"operators":{"distinct":9,"total":123,"identifiers":["__stripped__"]},"operands":{"distinct":59,"total":132,"identifiers":["__stripped__"]},"length":255,"vocabulary":68,"difficulty":10.067796610169491,"volume":1552.3030245188368,"effort":15628.271128206594,"bugs":0.5174343415062789,"time":868.2372849003664},"params":3}},{"name":"getDefaultBehavioralOptions","line":33,"complexity":{"sloc":{"physical":13,"logical":9},"cyclomatic":1,"halstead":{"operators":{"distinct":6,"total":17,"identifiers":["__stripped__"]},"operands":{"distinct":13,"total":18,"identifiers":["__stripped__"]},"length":35,"vocabulary":19,"difficulty":4.153846153846153,"volume":148.67746297052548,"effort":617.5833077237212,"bugs":0.04955915432350849,"time":34.310183762428956},"params":0}},{"name":"getDefaultClientMeta","line":47,"complexity":{"sloc":{"physical":12,"logical":9},"cyclomatic":1,"halstead":{"operators":{"distinct":4,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":17,"identifiers":["__stripped__"]},"length":28,"vocabulary":16,"difficulty":2.8333333333333335,"volume":112,"effort":317.33333333333337,"bugs":0.037333333333333336,"time":17.629629629629633},"params":0}},{"name":"getLeaklessArgs","line":60,"complexity":{"sloc":{"physical":7,"logical":5},"cyclomatic":2,"halstead":{"operators":{"distinct":9,"total":14,"identifiers":["__stripped__"]},"operands":{"distinct":7,"total":16,"identifiers":["__stripped__"]},"length":30,"vocabulary":16,"difficulty":10.285714285714285,"volume":120,"effort":1234.2857142857142,"bugs":0.04,"time":68.57142857142857},"params":2}},{"name":"getChildFsmInstance","line":68,"complexity":{"sloc":{"physical":21,"logical":13},"cyclomatic":5,"halstead":{"operators":{"distinct":12,"total":27,"identifiers":["__stripped__"]},"operands":{"distinct":7,"total":23,"identifiers":["__stripped__"]},"length":50,"vocabulary":19,"difficulty":19.714285714285715,"volume":212.39637567217926,"effort":4187.242834680105,"bugs":0.07079879189072642,"time":232.6246019266725},"params":1}},{"name":"childFsmDefinition.factory","line":79,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":1,"total":1,"identifiers":["__stripped__"]},"operands":{"distinct":1,"total":1,"identifiers":["__stripped__"]},"length":2,"vocabulary":2,"difficulty":0.5,"volume":2,"effort":1,"bugs":0.0006666666666666666,"time":0.05555555555555555},"params":0}},{"name":"listenToChild","line":90,"complexity":{"sloc":{"physical":26,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":5,"total":6,"identifiers":["__stripped__"]},"length":10,"vocabulary":9,"difficulty":2.4,"volume":31.699250014423125,"effort":76.07820003461549,"bugs":0.010566416671474375,"time":4.22656666858975},"params":2}},{"name":"<anonymous>","line":91,"complexity":{"sloc":{"physical":24,"logical":16},"cyclomatic":4,"halstead":{"operators":{"distinct":13,"total":42,"identifiers":["__stripped__"]},"operands":{"distinct":18,"total":45,"identifiers":["__stripped__"]},"length":87,"vocabulary":31,"difficulty":16.25,"volume":431.0150790036582,"effort":7003.995033809445,"bugs":0.1436716930012194,"time":389.11083521163584},"params":2}},{"name":"extend","line":121,"complexity":{"sloc":{"physical":61,"logical":19},"cyclomatic":4,"halstead":{"operators":{"distinct":11,"total":45,"identifiers":["__stripped__"]},"operands":{"distinct":17,"total":56,"identifiers":["__stripped__"]},"length":101,"vocabulary":28,"difficulty":18.11764705882353,"volume":485.542847127818,"effort":8796.893936198114,"bugs":0.16184761570927267,"time":488.7163297887841},"params":2}},{"name":"ctor","line":125,"complexity":{"sloc":{"physical":1,"logical":0},"cyclomatic":1,"halstead":{"operators":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"operands":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"length":0,"time":0,"bugs":0,"effort":0,"volume":0,"difficulty":0,"vocabulary":0},"params":0}},{"name":"<anonymous>","line":137,"complexity":{"sloc":{"physical":12,"logical":9},"cyclomatic":1,"halstead":{"operators":{"distinct":7,"total":34,"identifiers":["__stripped__"]},"operands":{"distinct":18,"total":41,"identifiers":["__stripped__"]},"length":75,"vocabulary":25,"difficulty":7.972222222222221,"volume":348.2892142331043,"effort":2776.6390134694702,"bugs":0.1160964047443681,"time":154.25772297052612},"params":0}},{"name":"<anonymous>","line":163,"complexity":{"sloc":{"physical":5,"logical":2},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":7,"identifiers":["__stripped__"]},"operands":{"distinct":6,"total":10,"identifiers":["__stripped__"]},"length":17,"vocabulary":12,"difficulty":5,"volume":60.94436251225966,"effort":304.7218125612983,"bugs":0.020314787504086555,"time":16.928989586738794},"params":3}},{"name":"createUUID","line":183,"complexity":{"sloc":{"physical":11,"logical":9},"cyclomatic":2,"halstead":{"operators":{"distinct":12,"total":39,"identifiers":["__stripped__"]},"operands":{"distinct":24,"total":43,"identifiers":["__stripped__"]},"length":82,"vocabulary":36,"difficulty":10.75,"volume":423.9338501182696,"effort":4557.288888771398,"bugs":0.14131128337275653,"time":253.18271604285545},"params":0}},{"name":"<anonymous>","line":196,"complexity":{"sloc":{"physical":6,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":3,"total":3,"identifiers":["__stripped__"]},"length":7,"vocabulary":7,"difficulty":2,"volume":19.651484454403228,"effort":39.302968908806456,"bugs":0.00655049481813441,"time":2.1834982727114696},"params":0}},{"name":"<anonymous>","line":198,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":3,"total":3,"identifiers":["__stripped__"]},"operands":{"distinct":2,"total":2,"identifiers":["__stripped__"]},"length":5,"vocabulary":5,"difficulty":1.5,"volume":11.60964047443681,"effort":17.414460711655217,"bugs":0.0038698801581456034,"time":0.9674700395364009},"params":0}},{"name":"emit","line":211,"complexity":{"sloc":{"physical":33,"logical":5},"cyclomatic":3,"halstead":{"operators":{"distinct":6,"total":19,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":24,"identifiers":["__stripped__"]},"length":43,"vocabulary":16,"difficulty":7.199999999999999,"volume":172,"effort":1238.3999999999999,"bugs":0.05733333333333333,"time":68.8},"params":1}},{"name":"<anonymous>","line":214,"complexity":{"sloc":{"physical":13,"logical":8},"cyclomatic":3,"halstead":{"operators":{"distinct":9,"total":17,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":20,"identifiers":["__stripped__"]},"length":37,"vocabulary":19,"difficulty":9,"volume":157.17331799741265,"effort":1414.5598619767138,"bugs":0.05239110599913755,"time":78.58665899870633},"params":1}},{"name":"<anonymous>","line":229,"complexity":{"sloc":{"physical":13,"logical":8},"cyclomatic":3,"halstead":{"operators":{"distinct":9,"total":21,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":24,"identifiers":["__stripped__"]},"length":45,"vocabulary":21,"difficulty":9,"volume":197.65428402504423,"effort":1778.8885562253981,"bugs":0.0658847613416814,"time":98.82714201252212},"params":1}},{"name":"on","line":245,"complexity":{"sloc":{"physical":17,"logical":10},"cyclomatic":2,"halstead":{"operators":{"distinct":12,"total":27,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":30,"identifiers":["__stripped__"]},"length":57,"vocabulary":21,"difficulty":20,"volume":250.36209309838935,"effort":5007.241861967787,"bugs":0.08345403103279644,"time":278.18010344265485},"params":2}},{"name":"off","line":257,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":2,"identifiers":["__stripped__"]},"operands":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"length":6,"vocabulary":6,"difficulty":1,"volume":15.509775004326936,"effort":15.509775004326936,"bugs":0.005169925001442312,"time":0.861654166907052},"params":0}},{"name":"off","line":263,"complexity":{"sloc":{"physical":14,"logical":9},"cyclomatic":3,"halstead":{"operators":{"distinct":10,"total":26,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":27,"identifiers":["__stripped__"]},"length":53,"vocabulary":18,"difficulty":16.875,"volume":221.00602507644254,"effort":3729.476673164968,"bugs":0.07366867502548084,"time":207.19314850916487},"params":2}},{"name":"BehavioralFsm","line":281,"complexity":{"sloc":{"physical":6,"logical":4},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":10,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":18,"identifiers":["__stripped__"]},"length":28,"vocabulary":14,"difficulty":1.5,"volume":106.6059378176129,"effort":159.90890672641933,"bugs":0.035535312605870964,"time":8.88382815146774},"params":1}},{"name":"initialize","line":289,"complexity":{"sloc":{"physical":1,"logical":0},"cyclomatic":1,"halstead":{"operators":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"operands":{"distinct":0,"total":0,"identifiers":["__stripped__"]},"length":0,"time":0,"bugs":0,"effort":0,"volume":0,"difficulty":0,"vocabulary":0},"params":0}},{"name":"initClient","line":291,"complexity":{"sloc":{"physical":10,"logical":6},"cyclomatic":3,"halstead":{"operators":{"distinct":8,"total":15,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":16,"identifiers":["__stripped__"]},"length":31,"vocabulary":16,"difficulty":8,"volume":124,"effort":992,"bugs":0.04133333333333333,"time":55.111111111111114},"params":1}},{"name":"ensureClientMeta","line":302,"complexity":{"sloc":{"physical":11,"logical":7},"cyclomatic":3,"halstead":{"operators":{"distinct":12,"total":29,"identifiers":["__stripped__"]},"operands":{"distinct":13,"total":29,"identifiers":["__stripped__"]},"length":58,"vocabulary":25,"difficulty":13.384615384615385,"volume":269.343659006934,"effort":3605.061282092809,"bugs":0.089781219668978,"time":200.2811823384894},"params":1}},{"name":"buildEventPayload","line":314,"complexity":{"sloc":{"physical":14,"logical":9},"cyclomatic":2,"halstead":{"operators":{"distinct":8,"total":18,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":23,"identifiers":["__stripped__"]},"length":41,"vocabulary":17,"difficulty":10.222222222222221,"volume":167.58597649126395,"effort":1713.1010930218092,"bugs":0.05586199216375465,"time":95.17228294565606},"params":2}},{"name":"getHandlerArgs","line":329,"complexity":{"sloc":{"physical":11,"logical":6},"cyclomatic":3,"halstead":{"operators":{"distinct":10,"total":21,"identifiers":["__stripped__"]},"operands":{"distinct":13,"total":26,"identifiers":["__stripped__"]},"length":47,"vocabulary":23,"difficulty":10,"volume":212.60741193467962,"effort":2126.074119346796,"bugs":0.07086913731155987,"time":118.11522885259978},"params":2}},{"name":"handle","line":341,"complexity":{"sloc":{"physical":71,"logical":55},"cyclomatic":9,"halstead":{"operators":{"distinct":18,"total":150,"identifiers":["__stripped__"]},"operands":{"distinct":59,"total":178,"identifiers":["__stripped__"]},"length":328,"vocabulary":77,"difficulty":27.152542372881356,"volume":2055.505985347928,"effort":55812.213364870855,"bugs":0.6851686617826427,"time":3100.6785202706033},"params":2}},{"name":"transition","line":413,"complexity":{"sloc":{"physical":50,"logical":37},"cyclomatic":10,"halstead":{"operators":{"distinct":12,"total":110,"identifiers":["__stripped__"]},"operands":{"distinct":43,"total":136,"identifiers":["__stripped__"]},"length":246,"vocabulary":55,"difficulty":18.97674418604651,"volume":1422.2144895270662,"effort":26989.000545443858,"bugs":0.4740714965090221,"time":1499.3889191913254},"params":2}},{"name":"deferUntilTransition","line":464,"complexity":{"sloc":{"physical":16,"logical":11},"cyclomatic":2,"halstead":{"operators":{"distinct":7,"total":26,"identifiers":["__stripped__"]},"operands":{"distinct":20,"total":35,"identifiers":["__stripped__"]},"length":61,"vocabulary":27,"difficulty":6.125,"volume":290.0481376319716,"effort":1776.544842995826,"bugs":0.09668271254399054,"time":98.69693572199033},"params":2}},{"name":"deferAndTransition","line":481,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":5,"total":10,"identifiers":["__stripped__"]},"length":14,"vocabulary":7,"difficulty":2,"volume":39.302968908806456,"effort":78.60593781761291,"bugs":0.01310098963626882,"time":4.366996545422939},"params":2}},{"name":"processQueue","line":486,"complexity":{"sloc":{"physical":11,"logical":5},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":20,"identifiers":["__stripped__"]},"operands":{"distinct":12,"total":25,"identifiers":["__stripped__"]},"length":45,"vocabulary":17,"difficulty":5.208333333333334,"volume":183.9358278562653,"effort":957.9991034180485,"bugs":0.0613119426187551,"time":53.22217241211381},"params":1}},{"name":"filterFn","line":488,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":7,"identifiers":["__stripped__"]},"operands":{"distinct":4,"total":7,"identifiers":["__stripped__"]},"length":14,"vocabulary":9,"difficulty":4.375,"volume":44.37895002019238,"effort":194.15790633834166,"bugs":0.014792983340064125,"time":10.786550352130092},"params":1}},{"name":"<anonymous>","line":493,"complexity":{"sloc":{"physical":3,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":3,"total":7,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":10,"identifiers":["__stripped__"]},"length":17,"vocabulary":11,"difficulty":1.875,"volume":58.81033751683406,"effort":110.26938284406387,"bugs":0.019603445838944685,"time":6.126076824670215},"params":1}},{"name":"clearQueue","line":498,"complexity":{"sloc":{"physical":11,"logical":6},"cyclomatic":2,"halstead":{"operators":{"distinct":9,"total":18,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":19,"identifiers":["__stripped__"]},"length":37,"vocabulary":18,"difficulty":9.5,"volume":154.28722505336555,"effort":1465.7286380069727,"bugs":0.05142907501778852,"time":81.42936877816516},"params":2}},{"name":"filter","line":503,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":2,"halstead":{"operators":{"distinct":4,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":4,"total":6,"identifiers":["__stripped__"]},"length":10,"vocabulary":8,"difficulty":3,"volume":30,"effort":90,"bugs":0.01,"time":5},"params":1}},{"name":"constructor","line":514,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":4,"identifiers":["__stripped__"]},"operands":{"distinct":5,"total":6,"identifiers":["__stripped__"]},"length":10,"vocabulary":7,"difficulty":1.2,"volume":28.07354922057604,"effort":33.688259064691245,"bugs":0.009357849740192013,"time":1.8715699480384025},"params":0}},{"name":"initClient","line":518,"complexity":{"sloc":{"physical":10,"logical":6},"cyclomatic":3,"halstead":{"operators":{"distinct":8,"total":15,"identifiers":["__stripped__"]},"operands":{"distinct":7,"total":14,"identifiers":["__stripped__"]},"length":29,"vocabulary":15,"difficulty":8,"volume":113.29982727264704,"effort":906.3986181811763,"bugs":0.03776660909088234,"time":50.355478787843126},"params":0}},{"name":"ensureClientMeta","line":528,"complexity":{"sloc":{"physical":8,"logical":5},"cyclomatic":2,"halstead":{"operators":{"distinct":6,"total":13,"identifiers":["__stripped__"]},"operands":{"distinct":8,"total":14,"identifiers":["__stripped__"]},"length":27,"vocabulary":14,"difficulty":5.25,"volume":102.7985828955553,"effort":539.6925602016653,"bugs":0.03426619429851843,"time":29.98292001120363},"params":0}},{"name":"ensureClientArg","line":537,"complexity":{"sloc":{"physical":11,"logical":7},"cyclomatic":3,"halstead":{"operators":{"distinct":14,"total":30,"identifiers":["__stripped__"]},"operands":{"distinct":9,"total":30,"identifiers":["__stripped__"]},"length":60,"vocabulary":23,"difficulty":23.333333333333336,"volume":271.4137173634208,"effort":6332.986738479819,"bugs":0.09047123912114027,"time":351.83259658221215},"params":1}},{"name":"getHandlerArgs","line":549,"complexity":{"sloc":{"physical":11,"logical":5},"cyclomatic":3,"halstead":{"operators":{"distinct":9,"total":17,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":22,"identifiers":["__stripped__"]},"length":39,"vocabulary":19,"difficulty":9.9,"volume":165.66917302429982,"effort":1640.1248129405683,"bugs":0.05522305767476661,"time":91.11804516336491},"params":2}},{"name":"buildEventPayload","line":561,"complexity":{"sloc":{"physical":14,"logical":9},"cyclomatic":2,"halstead":{"operators":{"distinct":10,"total":25,"identifiers":["__stripped__"]},"operands":{"distinct":14,"total":26,"identifiers":["__stripped__"]},"length":51,"vocabulary":24,"difficulty":9.285714285714286,"volume":233.833087536779,"effort":2171.307241412948,"bugs":0.07794436251225967,"time":120.62818007849711},"params":0}},{"name":"handle","line":575,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":11,"total":13,"identifiers":["__stripped__"]},"length":24,"vocabulary":16,"difficulty":2.9545454545454546,"volume":96,"effort":283.6363636363636,"bugs":0.032,"time":15.757575757575758},"params":1}},{"name":"transition","line":579,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":11,"total":13,"identifiers":["__stripped__"]},"length":24,"vocabulary":16,"difficulty":2.9545454545454546,"volume":96,"effort":283.6363636363636,"bugs":0.032,"time":15.757575757575758},"params":1}},{"name":"deferUntilTransition","line":583,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":11,"total":13,"identifiers":["__stripped__"]},"length":24,"vocabulary":16,"difficulty":2.9545454545454546,"volume":96,"effort":283.6363636363636,"bugs":0.032,"time":15.757575757575758},"params":1}},{"name":"processQueue","line":587,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":10,"total":12,"identifiers":["__stripped__"]},"length":23,"vocabulary":15,"difficulty":3,"volume":89.85848369899593,"effort":269.57545109698776,"bugs":0.02995282789966531,"time":14.976413949832654},"params":0}},{"name":"clearQueue","line":591,"complexity":{"sloc":{"physical":4,"logical":2},"cyclomatic":1,"halstead":{"operators":{"distinct":5,"total":11,"identifiers":["__stripped__"]},"operands":{"distinct":11,"total":13,"identifiers":["__stripped__"]},"length":24,"vocabulary":16,"difficulty":2.9545454545454546,"volume":96,"effort":283.6363636363636,"bugs":0.032,"time":15.757575757575758},"params":1}},{"name":"<anonymous>","line":9,"complexity":{"sloc":{"physical":14,"logical":7},"cyclomatic":3,"halstead":{"operators":{"distinct":10,"total":23,"identifiers":["__stripped__"]},"operands":{"distinct":13,"total":25,"identifiers":["__stripped__"]},"length":48,"vocabulary":23,"difficulty":9.615384615384615,"volume":217.13097389073664,"effort":2087.7978258724675,"bugs":0.07237699129691222,"time":115.98876810402597},"params":2}},{"name":"<anonymous>","line":12,"complexity":{"sloc":{"physical":3,"logical":1},"cyclomatic":1,"halstead":{"operators":{"distinct":2,"total":2,"identifiers":["__stripped__"]},"operands":{"distinct":3,"total":4,"identifiers":["__stripped__"]},"length":6,"vocabulary":5,"difficulty":1.3333333333333333,"volume":13.931568569324174,"effort":18.575424759098897,"bugs":0.004643856189774725,"time":1.0319680421721609},"params":1}}],"maintainability":108.72487518335461,"params":1.0816326530612246,"module":"/Users/Jim/git/oss/machina/lib/machina.js"},"jshint":{"messages":[]}} |
@@ -1,1 +0,1 @@ | ||
__history = [{"date":"Fri, 17 Jan 2014 03:26:34 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:02:45 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:04:20 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:31:54 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:40:33 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:45:31 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:50:37 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:55:09 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:57:27 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Wed, 22 Jan 2014 07:20:39 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Wed, 22 Jan 2014 07:48:40 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Wed, 22 Jan 2014 08:11:13 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Thu, 23 Jan 2014 06:32:19 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Thu, 23 Jan 2014 07:14:48 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 31 Jan 2014 03:13:26 GMT","total":{"sloc":376,"maintainability":115.6821018185438},"average":{"sloc":376,"maintainability":"115.68"}},{"date":"Fri, 31 Jan 2014 04:19:33 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Tue, 10 Jun 2014 05:19:05 GMT","total":{"sloc":336,"maintainability":114.05695416155538},"average":{"sloc":336,"maintainability":"114.06"}},{"date":"Tue, 10 Jun 2014 05:19:50 GMT","total":{"sloc":336,"maintainability":114.05695416155538},"average":{"sloc":336,"maintainability":"114.06"}},{"date":"Tue, 10 Jun 2014 05:21:54 GMT","total":{"sloc":336,"maintainability":114.05695416155538},"average":{"sloc":336,"maintainability":"114.06"}},{"date":"Tue, 10 Jun 2014 05:23:06 GMT","total":{"sloc":336,"maintainability":114.07436722888846},"average":{"sloc":336,"maintainability":"114.07"}},{"date":"Wed, 11 Jun 2014 03:41:02 GMT","total":{"sloc":336,"maintainability":114.07436722888846},"average":{"sloc":336,"maintainability":"114.07"}},{"date":"Wed, 11 Jun 2014 03:44:10 GMT","total":{"sloc":336,"maintainability":114.07436722888846},"average":{"sloc":336,"maintainability":"114.07"}},{"date":"Wed, 11 Jun 2014 03:49:30 GMT","total":{"sloc":339,"maintainability":113.8818936541093},"average":{"sloc":339,"maintainability":"113.88"}},{"date":"Wed, 11 Jun 2014 03:52:49 GMT","total":{"sloc":339,"maintainability":113.8818936541093},"average":{"sloc":339,"maintainability":"113.88"}},{"date":"Wed, 11 Jun 2014 03:54:43 GMT","total":{"sloc":339,"maintainability":113.89053908706553},"average":{"sloc":339,"maintainability":"113.89"}},{"date":"Wed, 11 Jun 2014 05:15:14 GMT","total":{"sloc":339,"maintainability":113.89053908706553},"average":{"sloc":339,"maintainability":"113.89"}},{"date":"Wed, 11 Jun 2014 05:25:31 GMT","total":{"sloc":385,"maintainability":114.9318904431851},"average":{"sloc":385,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 05:41:03 GMT","total":{"sloc":385,"maintainability":114.9318904431851},"average":{"sloc":385,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 05:41:41 GMT","total":{"sloc":385,"maintainability":114.9318904431851},"average":{"sloc":385,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 05:42:17 GMT","total":{"sloc":388,"maintainability":114.80884569997465},"average":{"sloc":388,"maintainability":"114.81"}},{"date":"Wed, 11 Jun 2014 05:42:49 GMT","total":{"sloc":388,"maintainability":114.80884569997465},"average":{"sloc":388,"maintainability":"114.81"}},{"date":"Wed, 11 Jun 2014 05:43:48 GMT","total":{"sloc":386,"maintainability":114.89272979576751},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 05:47:50 GMT","total":{"sloc":386,"maintainability":114.89272979576751},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 05:48:43 GMT","total":{"sloc":386,"maintainability":114.89020029919811},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 05:56:08 GMT","total":{"sloc":386,"maintainability":114.89020029919811},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 06:04:18 GMT","total":{"sloc":386,"maintainability":114.8893496935643},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 06:12:54 GMT","total":{"sloc":387,"maintainability":114.8504510107183},"average":{"sloc":387,"maintainability":"114.85"}},{"date":"Wed, 11 Jun 2014 06:18:51 GMT","total":{"sloc":387,"maintainability":114.84019239886894},"average":{"sloc":387,"maintainability":"114.84"}},{"date":"Wed, 11 Jun 2014 06:23:19 GMT","total":{"sloc":387,"maintainability":114.83869167105061},"average":{"sloc":387,"maintainability":"114.84"}},{"date":"Wed, 11 Jun 2014 06:25:15 GMT","total":{"sloc":387,"maintainability":114.78606562386966},"average":{"sloc":387,"maintainability":"114.79"}},{"date":"Wed, 11 Jun 2014 13:46:15 GMT","total":{"sloc":385,"maintainability":114.96131764219997},"average":{"sloc":385,"maintainability":"114.96"}},{"date":"Wed, 11 Jun 2014 13:48:06 GMT","total":{"sloc":385,"maintainability":114.95980530508346},"average":{"sloc":385,"maintainability":"114.96"}},{"date":"Wed, 11 Jun 2014 14:00:37 GMT","total":{"sloc":385,"maintainability":114.88415907648304},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 14:03:53 GMT","total":{"sloc":385,"maintainability":114.8790545573623},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 14:13:28 GMT","total":{"sloc":385,"maintainability":114.87081738711562},"average":{"sloc":385,"maintainability":"114.87"}},{"date":"Wed, 11 Jun 2014 14:15:06 GMT","total":{"sloc":385,"maintainability":114.88220045470634},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 14:18:45 GMT","total":{"sloc":385,"maintainability":114.882039782897},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 15:52:59 GMT","total":{"sloc":299,"maintainability":114.6757144272797},"average":{"sloc":299,"maintainability":"114.68"}},{"date":"Wed, 11 Jun 2014 15:54:05 GMT","total":{"sloc":299,"maintainability":114.66303719473589},"average":{"sloc":299,"maintainability":"114.66"}},{"date":"Wed, 11 Jun 2014 15:54:45 GMT","total":{"sloc":299,"maintainability":114.65825366810031},"average":{"sloc":299,"maintainability":"114.66"}},{"date":"Wed, 11 Jun 2014 15:56:27 GMT","total":{"sloc":297,"maintainability":114.83586037240626},"average":{"sloc":297,"maintainability":"114.84"}},{"date":"Wed, 11 Jun 2014 16:00:47 GMT","total":{"sloc":297,"maintainability":114.82427180809877},"average":{"sloc":297,"maintainability":"114.82"}},{"date":"Wed, 11 Jun 2014 16:10:56 GMT","total":{"sloc":308,"maintainability":114.92065380809123},"average":{"sloc":308,"maintainability":"114.92"}},{"date":"Wed, 11 Jun 2014 16:11:50 GMT","total":{"sloc":308,"maintainability":114.92932695925012},"average":{"sloc":308,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 16:34:22 GMT","total":{"sloc":317,"maintainability":114.96089378270732},"average":{"sloc":317,"maintainability":"114.96"}},{"date":"Wed, 11 Jun 2014 16:43:35 GMT","total":{"sloc":321,"maintainability":115.01545160151935},"average":{"sloc":321,"maintainability":"115.02"}},{"date":"Wed, 11 Jun 2014 16:45:13 GMT","total":{"sloc":321,"maintainability":115.01545160151935},"average":{"sloc":321,"maintainability":"115.02"}},{"date":"Wed, 11 Jun 2014 16:49:05 GMT","total":{"sloc":321,"maintainability":115.0852412436239},"average":{"sloc":321,"maintainability":"115.09"}},{"date":"Wed, 11 Jun 2014 16:50:32 GMT","total":{"sloc":321,"maintainability":115.09018595320049},"average":{"sloc":321,"maintainability":"115.09"}},{"date":"Wed, 11 Jun 2014 16:56:34 GMT","total":{"sloc":320,"maintainability":115.10921183483356},"average":{"sloc":320,"maintainability":"115.11"}},{"date":"Wed, 11 Jun 2014 17:02:23 GMT","total":{"sloc":323,"maintainability":115.08381783716814},"average":{"sloc":323,"maintainability":"115.08"}},{"date":"Wed, 11 Jun 2014 17:03:43 GMT","total":{"sloc":323,"maintainability":115.09780182715966},"average":{"sloc":323,"maintainability":"115.10"}},{"date":"Wed, 11 Jun 2014 17:24:21 GMT","total":{"sloc":328,"maintainability":114.89031565649245},"average":{"sloc":328,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 21:21:46 GMT","total":{"sloc":328,"maintainability":114.89031565649245},"average":{"sloc":328,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 22:01:48 GMT","total":{"sloc":328,"maintainability":114.89031565649245},"average":{"sloc":328,"maintainability":"114.89"}},{"date":"Thu, 12 Jun 2014 02:28:46 GMT","total":{"sloc":319,"maintainability":114.25023183720106},"average":{"sloc":319,"maintainability":"114.25"}},{"date":"Thu, 12 Jun 2014 02:31:31 GMT","total":{"sloc":319,"maintainability":114.25023183720106},"average":{"sloc":319,"maintainability":"114.25"}},{"date":"Thu, 12 Jun 2014 02:32:01 GMT","total":{"sloc":318,"maintainability":114.26573076515797},"average":{"sloc":318,"maintainability":"114.27"}},{"date":"Thu, 12 Jun 2014 02:32:16 GMT","total":{"sloc":317,"maintainability":114.34039410666975},"average":{"sloc":317,"maintainability":"114.34"}},{"date":"Thu, 12 Jun 2014 03:53:24 GMT","total":{"sloc":321,"maintainability":114.7613454044756},"average":{"sloc":321,"maintainability":"114.76"}},{"date":"Thu, 12 Jun 2014 04:21:32 GMT","total":{"sloc":324,"maintainability":114.10141915176287},"average":{"sloc":324,"maintainability":"114.10"}},{"date":"Thu, 12 Jun 2014 04:36:48 GMT","total":{"sloc":328,"maintainability":113.54691832529281},"average":{"sloc":328,"maintainability":"113.55"}},{"date":"Thu, 12 Jun 2014 04:40:47 GMT","total":{"sloc":328,"maintainability":113.53277754421643},"average":{"sloc":328,"maintainability":"113.53"}},{"date":"Thu, 12 Jun 2014 04:42:16 GMT","total":{"sloc":332,"maintainability":113.95773797056839},"average":{"sloc":332,"maintainability":"113.96"}},{"date":"Thu, 12 Jun 2014 04:43:47 GMT","total":{"sloc":332,"maintainability":113.93995339611533},"average":{"sloc":332,"maintainability":"113.94"}},{"date":"Thu, 12 Jun 2014 04:57:02 GMT","total":{"sloc":338,"maintainability":114.27481873038812},"average":{"sloc":338,"maintainability":"114.27"}},{"date":"Thu, 12 Jun 2014 04:58:12 GMT","total":{"sloc":338,"maintainability":114.26503943159483},"average":{"sloc":338,"maintainability":"114.27"}},{"date":"Thu, 12 Jun 2014 05:04:15 GMT","total":{"sloc":338,"maintainability":114.24848361605686},"average":{"sloc":338,"maintainability":"114.25"}},{"date":"Thu, 12 Jun 2014 13:02:20 GMT","total":{"sloc":345,"maintainability":114.51218673662935},"average":{"sloc":345,"maintainability":"114.51"}},{"date":"Thu, 12 Jun 2014 13:07:05 GMT","total":{"sloc":350,"maintainability":114.18344899202256},"average":{"sloc":350,"maintainability":"114.18"}},{"date":"Thu, 12 Jun 2014 13:13:17 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Thu, 12 Jun 2014 13:29:26 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Thu, 12 Jun 2014 14:00:31 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Fri, 13 Jun 2014 00:01:10 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Fri, 13 Jun 2014 03:29:00 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Fri, 13 Jun 2014 04:04:20 GMT","total":{"sloc":349,"maintainability":114.17286040346116},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 13 Jun 2014 05:25:52 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 03:13:23 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Fri, 20 Jun 2014 03:15:40 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Fri, 20 Jun 2014 03:19:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 20 Jun 2014 03:35:56 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 20 Jun 2014 04:16:28 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 04:17:35 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 04:18:58 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 04:20:01 GMT","total":{"sloc":505,"maintainability":112.61568508985638},"average":{"sloc":505,"maintainability":"112.62"}},{"date":"Fri, 20 Jun 2014 04:32:01 GMT","total":{"sloc":505,"maintainability":112.61568508985638},"average":{"sloc":505,"maintainability":"112.62"}},{"date":"Fri, 20 Jun 2014 04:32:44 GMT","total":{"sloc":505,"maintainability":112.61088059330993},"average":{"sloc":505,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 04:34:11 GMT","total":{"sloc":505,"maintainability":112.61088059330993},"average":{"sloc":505,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 04:50:31 GMT","total":{"sloc":505,"maintainability":112.61357006720985},"average":{"sloc":505,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 05:02:29 GMT","total":{"sloc":248,"maintainability":114.35848786287576},"average":{"sloc":248,"maintainability":"114.36"}},{"date":"Fri, 20 Jun 2014 05:09:15 GMT","total":{"sloc":217,"maintainability":112.61269570514433},"average":{"sloc":217,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 05:19:10 GMT","total":{"sloc":225,"maintainability":112.83753649904688},"average":{"sloc":225,"maintainability":"112.84"}},{"date":"Fri, 20 Jun 2014 05:20:28 GMT","total":{"sloc":225,"maintainability":112.83753649904688},"average":{"sloc":225,"maintainability":"112.84"}},{"date":"Fri, 20 Jun 2014 05:21:36 GMT","total":{"sloc":224,"maintainability":112.95523867881909},"average":{"sloc":224,"maintainability":"112.96"}},{"date":"Sat, 21 Jun 2014 23:17:20 GMT","total":{"sloc":270,"maintainability":116.61108257028894},"average":{"sloc":270,"maintainability":"116.61"}},{"date":"Mon, 23 Jun 2014 05:33:05 GMT","total":{"sloc":354,"maintainability":117.09183837335202},"average":{"sloc":354,"maintainability":"117.09"}},{"date":"Thu, 26 Jun 2014 04:08:34 GMT","total":{"sloc":401,"maintainability":119.39679497346788},"average":{"sloc":401,"maintainability":"119.40"}},{"date":"Thu, 26 Jun 2014 04:24:57 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Thu, 26 Jun 2014 04:27:34 GMT","total":{"sloc":375,"maintainability":115.62792780428913},"average":{"sloc":375,"maintainability":"115.63"}},{"date":"Thu, 26 Jun 2014 04:42:59 GMT","total":{"sloc":375,"maintainability":115.62792780428913},"average":{"sloc":375,"maintainability":"115.63"}},{"date":"Thu, 26 Jun 2014 04:43:59 GMT","total":{"sloc":384,"maintainability":115.62541972245211},"average":{"sloc":384,"maintainability":"115.63"}},{"date":"Thu, 26 Jun 2014 04:56:20 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:05:22 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:06:32 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:14:24 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:23:20 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:24:52 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 13:47:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 02:51:33 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 02:58:28 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 03:15:39 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 03:32:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 03:39:17 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 03 Jul 2014 02:40:15 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 03 Jul 2014 03:07:57 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 17 Jul 2014 17:15:05 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 18 Jul 2014 03:45:51 GMT","total":{"sloc":396,"maintainability":115.25920743457168},"average":{"sloc":396,"maintainability":"115.26"}},{"date":"Fri, 18 Jul 2014 05:10:52 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sat, 19 Jul 2014 03:09:06 GMT","total":{"sloc":401,"maintainability":119.39679497346788},"average":{"sloc":401,"maintainability":"119.40"}},{"date":"Tue, 22 Jul 2014 00:56:16 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 25 Jul 2014 02:25:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 25 Jul 2014 15:06:16 GMT","total":{"sloc":396,"maintainability":115.05527593150826},"average":{"sloc":396,"maintainability":"115.06"}},{"date":"Fri, 25 Jul 2014 15:34:40 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sat, 26 Jul 2014 04:35:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 28 Jul 2014 21:31:17 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 28 Jul 2014 21:37:31 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 12 Oct 2014 04:28:49 GMT","total":{"sloc":394,"maintainability":114.71930365402038},"average":{"sloc":394,"maintainability":"114.72"}},{"date":"Mon, 08 Dec 2014 14:20:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 18 Dec 2014 23:41:41 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 18 Dec 2014 23:44:04 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 18 Dec 2014 23:57:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 00:41:27 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 00:41:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 00:49:46 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:03:01 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:12:55 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:21:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:25:00 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 05:42:40 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 06:04:15 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:17:35 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:48:00 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:52:18 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:54:13 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:11:40 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:14:58 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:15:39 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:16:55 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:24:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:26:59 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 20:25:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 21 Dec 2014 17:57:30 GMT","total":{"sloc":480,"maintainability":116.97098868140768},"average":{"sloc":480,"maintainability":"116.97"}},{"date":"Tue, 23 Dec 2014 22:53:11 GMT","total":{"sloc":426,"maintainability":112.77251242453704},"average":{"sloc":426,"maintainability":"112.77"}},{"date":"Mon, 29 Dec 2014 23:49:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 06:11:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 06:33:59 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 06:53:47 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 07:26:26 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 07:29:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 07:30:03 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 20:31:53 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 20:50:51 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:04:41 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:30:24 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:32:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:38:32 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:41:51 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 04:52:36 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 04:52:47 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 04:54:57 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 06:44:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 07:31:54 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:35:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:41:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:43:46 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:48:50 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:59:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 18:49:53 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 18:53:28 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:12:55 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:21:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:23:37 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:27:44 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:33:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:39:12 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 21:10:26 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 21:13:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 23:50:28 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 01:36:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 01:51:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 02:15:51 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 04:11:16 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 04:55:06 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 05:41:31 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 06:01:43 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 16:45:50 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 21:09:54 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 05:33:36 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:01:36 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:40:11 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:41:04 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:42:07 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:44:25 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:33:21 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:46:29 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:57:15 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:58:10 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 05:03:56 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 05:33:16 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 09 Jan 2015 07:06:56 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 14 Jan 2015 06:02:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}}] | ||
__history = [{"date":"Fri, 17 Jan 2014 03:26:34 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:02:45 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:04:20 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:31:54 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:40:33 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:45:31 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:50:37 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:55:09 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:57:27 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Wed, 22 Jan 2014 07:20:39 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Wed, 22 Jan 2014 07:48:40 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Wed, 22 Jan 2014 08:11:13 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Thu, 23 Jan 2014 06:32:19 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Thu, 23 Jan 2014 07:14:48 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 31 Jan 2014 03:13:26 GMT","total":{"sloc":376,"maintainability":115.6821018185438},"average":{"sloc":376,"maintainability":"115.68"}},{"date":"Fri, 31 Jan 2014 04:19:33 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Tue, 10 Jun 2014 05:19:05 GMT","total":{"sloc":336,"maintainability":114.05695416155538},"average":{"sloc":336,"maintainability":"114.06"}},{"date":"Tue, 10 Jun 2014 05:19:50 GMT","total":{"sloc":336,"maintainability":114.05695416155538},"average":{"sloc":336,"maintainability":"114.06"}},{"date":"Tue, 10 Jun 2014 05:21:54 GMT","total":{"sloc":336,"maintainability":114.05695416155538},"average":{"sloc":336,"maintainability":"114.06"}},{"date":"Tue, 10 Jun 2014 05:23:06 GMT","total":{"sloc":336,"maintainability":114.07436722888846},"average":{"sloc":336,"maintainability":"114.07"}},{"date":"Wed, 11 Jun 2014 03:41:02 GMT","total":{"sloc":336,"maintainability":114.07436722888846},"average":{"sloc":336,"maintainability":"114.07"}},{"date":"Wed, 11 Jun 2014 03:44:10 GMT","total":{"sloc":336,"maintainability":114.07436722888846},"average":{"sloc":336,"maintainability":"114.07"}},{"date":"Wed, 11 Jun 2014 03:49:30 GMT","total":{"sloc":339,"maintainability":113.8818936541093},"average":{"sloc":339,"maintainability":"113.88"}},{"date":"Wed, 11 Jun 2014 03:52:49 GMT","total":{"sloc":339,"maintainability":113.8818936541093},"average":{"sloc":339,"maintainability":"113.88"}},{"date":"Wed, 11 Jun 2014 03:54:43 GMT","total":{"sloc":339,"maintainability":113.89053908706553},"average":{"sloc":339,"maintainability":"113.89"}},{"date":"Wed, 11 Jun 2014 05:15:14 GMT","total":{"sloc":339,"maintainability":113.89053908706553},"average":{"sloc":339,"maintainability":"113.89"}},{"date":"Wed, 11 Jun 2014 05:25:31 GMT","total":{"sloc":385,"maintainability":114.9318904431851},"average":{"sloc":385,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 05:41:03 GMT","total":{"sloc":385,"maintainability":114.9318904431851},"average":{"sloc":385,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 05:41:41 GMT","total":{"sloc":385,"maintainability":114.9318904431851},"average":{"sloc":385,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 05:42:17 GMT","total":{"sloc":388,"maintainability":114.80884569997465},"average":{"sloc":388,"maintainability":"114.81"}},{"date":"Wed, 11 Jun 2014 05:42:49 GMT","total":{"sloc":388,"maintainability":114.80884569997465},"average":{"sloc":388,"maintainability":"114.81"}},{"date":"Wed, 11 Jun 2014 05:43:48 GMT","total":{"sloc":386,"maintainability":114.89272979576751},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 05:47:50 GMT","total":{"sloc":386,"maintainability":114.89272979576751},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 05:48:43 GMT","total":{"sloc":386,"maintainability":114.89020029919811},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 05:56:08 GMT","total":{"sloc":386,"maintainability":114.89020029919811},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 06:04:18 GMT","total":{"sloc":386,"maintainability":114.8893496935643},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 06:12:54 GMT","total":{"sloc":387,"maintainability":114.8504510107183},"average":{"sloc":387,"maintainability":"114.85"}},{"date":"Wed, 11 Jun 2014 06:18:51 GMT","total":{"sloc":387,"maintainability":114.84019239886894},"average":{"sloc":387,"maintainability":"114.84"}},{"date":"Wed, 11 Jun 2014 06:23:19 GMT","total":{"sloc":387,"maintainability":114.83869167105061},"average":{"sloc":387,"maintainability":"114.84"}},{"date":"Wed, 11 Jun 2014 06:25:15 GMT","total":{"sloc":387,"maintainability":114.78606562386966},"average":{"sloc":387,"maintainability":"114.79"}},{"date":"Wed, 11 Jun 2014 13:46:15 GMT","total":{"sloc":385,"maintainability":114.96131764219997},"average":{"sloc":385,"maintainability":"114.96"}},{"date":"Wed, 11 Jun 2014 13:48:06 GMT","total":{"sloc":385,"maintainability":114.95980530508346},"average":{"sloc":385,"maintainability":"114.96"}},{"date":"Wed, 11 Jun 2014 14:00:37 GMT","total":{"sloc":385,"maintainability":114.88415907648304},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 14:03:53 GMT","total":{"sloc":385,"maintainability":114.8790545573623},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 14:13:28 GMT","total":{"sloc":385,"maintainability":114.87081738711562},"average":{"sloc":385,"maintainability":"114.87"}},{"date":"Wed, 11 Jun 2014 14:15:06 GMT","total":{"sloc":385,"maintainability":114.88220045470634},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 14:18:45 GMT","total":{"sloc":385,"maintainability":114.882039782897},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 15:52:59 GMT","total":{"sloc":299,"maintainability":114.6757144272797},"average":{"sloc":299,"maintainability":"114.68"}},{"date":"Wed, 11 Jun 2014 15:54:05 GMT","total":{"sloc":299,"maintainability":114.66303719473589},"average":{"sloc":299,"maintainability":"114.66"}},{"date":"Wed, 11 Jun 2014 15:54:45 GMT","total":{"sloc":299,"maintainability":114.65825366810031},"average":{"sloc":299,"maintainability":"114.66"}},{"date":"Wed, 11 Jun 2014 15:56:27 GMT","total":{"sloc":297,"maintainability":114.83586037240626},"average":{"sloc":297,"maintainability":"114.84"}},{"date":"Wed, 11 Jun 2014 16:00:47 GMT","total":{"sloc":297,"maintainability":114.82427180809877},"average":{"sloc":297,"maintainability":"114.82"}},{"date":"Wed, 11 Jun 2014 16:10:56 GMT","total":{"sloc":308,"maintainability":114.92065380809123},"average":{"sloc":308,"maintainability":"114.92"}},{"date":"Wed, 11 Jun 2014 16:11:50 GMT","total":{"sloc":308,"maintainability":114.92932695925012},"average":{"sloc":308,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 16:34:22 GMT","total":{"sloc":317,"maintainability":114.96089378270732},"average":{"sloc":317,"maintainability":"114.96"}},{"date":"Wed, 11 Jun 2014 16:43:35 GMT","total":{"sloc":321,"maintainability":115.01545160151935},"average":{"sloc":321,"maintainability":"115.02"}},{"date":"Wed, 11 Jun 2014 16:45:13 GMT","total":{"sloc":321,"maintainability":115.01545160151935},"average":{"sloc":321,"maintainability":"115.02"}},{"date":"Wed, 11 Jun 2014 16:49:05 GMT","total":{"sloc":321,"maintainability":115.0852412436239},"average":{"sloc":321,"maintainability":"115.09"}},{"date":"Wed, 11 Jun 2014 16:50:32 GMT","total":{"sloc":321,"maintainability":115.09018595320049},"average":{"sloc":321,"maintainability":"115.09"}},{"date":"Wed, 11 Jun 2014 16:56:34 GMT","total":{"sloc":320,"maintainability":115.10921183483356},"average":{"sloc":320,"maintainability":"115.11"}},{"date":"Wed, 11 Jun 2014 17:02:23 GMT","total":{"sloc":323,"maintainability":115.08381783716814},"average":{"sloc":323,"maintainability":"115.08"}},{"date":"Wed, 11 Jun 2014 17:03:43 GMT","total":{"sloc":323,"maintainability":115.09780182715966},"average":{"sloc":323,"maintainability":"115.10"}},{"date":"Wed, 11 Jun 2014 17:24:21 GMT","total":{"sloc":328,"maintainability":114.89031565649245},"average":{"sloc":328,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 21:21:46 GMT","total":{"sloc":328,"maintainability":114.89031565649245},"average":{"sloc":328,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 22:01:48 GMT","total":{"sloc":328,"maintainability":114.89031565649245},"average":{"sloc":328,"maintainability":"114.89"}},{"date":"Thu, 12 Jun 2014 02:28:46 GMT","total":{"sloc":319,"maintainability":114.25023183720106},"average":{"sloc":319,"maintainability":"114.25"}},{"date":"Thu, 12 Jun 2014 02:31:31 GMT","total":{"sloc":319,"maintainability":114.25023183720106},"average":{"sloc":319,"maintainability":"114.25"}},{"date":"Thu, 12 Jun 2014 02:32:01 GMT","total":{"sloc":318,"maintainability":114.26573076515797},"average":{"sloc":318,"maintainability":"114.27"}},{"date":"Thu, 12 Jun 2014 02:32:16 GMT","total":{"sloc":317,"maintainability":114.34039410666975},"average":{"sloc":317,"maintainability":"114.34"}},{"date":"Thu, 12 Jun 2014 03:53:24 GMT","total":{"sloc":321,"maintainability":114.7613454044756},"average":{"sloc":321,"maintainability":"114.76"}},{"date":"Thu, 12 Jun 2014 04:21:32 GMT","total":{"sloc":324,"maintainability":114.10141915176287},"average":{"sloc":324,"maintainability":"114.10"}},{"date":"Thu, 12 Jun 2014 04:36:48 GMT","total":{"sloc":328,"maintainability":113.54691832529281},"average":{"sloc":328,"maintainability":"113.55"}},{"date":"Thu, 12 Jun 2014 04:40:47 GMT","total":{"sloc":328,"maintainability":113.53277754421643},"average":{"sloc":328,"maintainability":"113.53"}},{"date":"Thu, 12 Jun 2014 04:42:16 GMT","total":{"sloc":332,"maintainability":113.95773797056839},"average":{"sloc":332,"maintainability":"113.96"}},{"date":"Thu, 12 Jun 2014 04:43:47 GMT","total":{"sloc":332,"maintainability":113.93995339611533},"average":{"sloc":332,"maintainability":"113.94"}},{"date":"Thu, 12 Jun 2014 04:57:02 GMT","total":{"sloc":338,"maintainability":114.27481873038812},"average":{"sloc":338,"maintainability":"114.27"}},{"date":"Thu, 12 Jun 2014 04:58:12 GMT","total":{"sloc":338,"maintainability":114.26503943159483},"average":{"sloc":338,"maintainability":"114.27"}},{"date":"Thu, 12 Jun 2014 05:04:15 GMT","total":{"sloc":338,"maintainability":114.24848361605686},"average":{"sloc":338,"maintainability":"114.25"}},{"date":"Thu, 12 Jun 2014 13:02:20 GMT","total":{"sloc":345,"maintainability":114.51218673662935},"average":{"sloc":345,"maintainability":"114.51"}},{"date":"Thu, 12 Jun 2014 13:07:05 GMT","total":{"sloc":350,"maintainability":114.18344899202256},"average":{"sloc":350,"maintainability":"114.18"}},{"date":"Thu, 12 Jun 2014 13:13:17 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Thu, 12 Jun 2014 13:29:26 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Thu, 12 Jun 2014 14:00:31 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Fri, 13 Jun 2014 00:01:10 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Fri, 13 Jun 2014 03:29:00 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Fri, 13 Jun 2014 04:04:20 GMT","total":{"sloc":349,"maintainability":114.17286040346116},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 13 Jun 2014 05:25:52 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 03:13:23 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Fri, 20 Jun 2014 03:15:40 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Fri, 20 Jun 2014 03:19:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 20 Jun 2014 03:35:56 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 20 Jun 2014 04:16:28 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 04:17:35 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 04:18:58 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 04:20:01 GMT","total":{"sloc":505,"maintainability":112.61568508985638},"average":{"sloc":505,"maintainability":"112.62"}},{"date":"Fri, 20 Jun 2014 04:32:01 GMT","total":{"sloc":505,"maintainability":112.61568508985638},"average":{"sloc":505,"maintainability":"112.62"}},{"date":"Fri, 20 Jun 2014 04:32:44 GMT","total":{"sloc":505,"maintainability":112.61088059330993},"average":{"sloc":505,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 04:34:11 GMT","total":{"sloc":505,"maintainability":112.61088059330993},"average":{"sloc":505,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 04:50:31 GMT","total":{"sloc":505,"maintainability":112.61357006720985},"average":{"sloc":505,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 05:02:29 GMT","total":{"sloc":248,"maintainability":114.35848786287576},"average":{"sloc":248,"maintainability":"114.36"}},{"date":"Fri, 20 Jun 2014 05:09:15 GMT","total":{"sloc":217,"maintainability":112.61269570514433},"average":{"sloc":217,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 05:19:10 GMT","total":{"sloc":225,"maintainability":112.83753649904688},"average":{"sloc":225,"maintainability":"112.84"}},{"date":"Fri, 20 Jun 2014 05:20:28 GMT","total":{"sloc":225,"maintainability":112.83753649904688},"average":{"sloc":225,"maintainability":"112.84"}},{"date":"Fri, 20 Jun 2014 05:21:36 GMT","total":{"sloc":224,"maintainability":112.95523867881909},"average":{"sloc":224,"maintainability":"112.96"}},{"date":"Sat, 21 Jun 2014 23:17:20 GMT","total":{"sloc":270,"maintainability":116.61108257028894},"average":{"sloc":270,"maintainability":"116.61"}},{"date":"Mon, 23 Jun 2014 05:33:05 GMT","total":{"sloc":354,"maintainability":117.09183837335202},"average":{"sloc":354,"maintainability":"117.09"}},{"date":"Thu, 26 Jun 2014 04:08:34 GMT","total":{"sloc":401,"maintainability":119.39679497346788},"average":{"sloc":401,"maintainability":"119.40"}},{"date":"Thu, 26 Jun 2014 04:24:57 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Thu, 26 Jun 2014 04:27:34 GMT","total":{"sloc":375,"maintainability":115.62792780428913},"average":{"sloc":375,"maintainability":"115.63"}},{"date":"Thu, 26 Jun 2014 04:42:59 GMT","total":{"sloc":375,"maintainability":115.62792780428913},"average":{"sloc":375,"maintainability":"115.63"}},{"date":"Thu, 26 Jun 2014 04:43:59 GMT","total":{"sloc":384,"maintainability":115.62541972245211},"average":{"sloc":384,"maintainability":"115.63"}},{"date":"Thu, 26 Jun 2014 04:56:20 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:05:22 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:06:32 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:14:24 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:23:20 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:24:52 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 13:47:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 02:51:33 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 02:58:28 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 03:15:39 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 03:32:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 03:39:17 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 03 Jul 2014 02:40:15 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 03 Jul 2014 03:07:57 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 17 Jul 2014 17:15:05 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 18 Jul 2014 03:45:51 GMT","total":{"sloc":396,"maintainability":115.25920743457168},"average":{"sloc":396,"maintainability":"115.26"}},{"date":"Fri, 18 Jul 2014 05:10:52 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sat, 19 Jul 2014 03:09:06 GMT","total":{"sloc":401,"maintainability":119.39679497346788},"average":{"sloc":401,"maintainability":"119.40"}},{"date":"Tue, 22 Jul 2014 00:56:16 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 25 Jul 2014 02:25:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 25 Jul 2014 15:06:16 GMT","total":{"sloc":396,"maintainability":115.05527593150826},"average":{"sloc":396,"maintainability":"115.06"}},{"date":"Fri, 25 Jul 2014 15:34:40 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sat, 26 Jul 2014 04:35:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 28 Jul 2014 21:31:17 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 28 Jul 2014 21:37:31 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 12 Oct 2014 04:28:49 GMT","total":{"sloc":394,"maintainability":114.71930365402038},"average":{"sloc":394,"maintainability":"114.72"}},{"date":"Mon, 08 Dec 2014 14:20:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 18 Dec 2014 23:41:41 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 18 Dec 2014 23:44:04 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 18 Dec 2014 23:57:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 00:41:27 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 00:41:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 00:49:46 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:03:01 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:12:55 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:21:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:25:00 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 05:42:40 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 06:04:15 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:17:35 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:48:00 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:52:18 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:54:13 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:11:40 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:14:58 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:15:39 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:16:55 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:24:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:26:59 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 20:25:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 21 Dec 2014 17:57:30 GMT","total":{"sloc":480,"maintainability":116.97098868140768},"average":{"sloc":480,"maintainability":"116.97"}},{"date":"Tue, 23 Dec 2014 22:53:11 GMT","total":{"sloc":426,"maintainability":112.77251242453704},"average":{"sloc":426,"maintainability":"112.77"}},{"date":"Mon, 29 Dec 2014 23:49:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 06:11:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 06:33:59 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 06:53:47 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 07:26:26 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 07:29:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 07:30:03 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 20:31:53 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 20:50:51 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:04:41 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:30:24 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:32:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:38:32 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:41:51 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 04:52:36 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 04:52:47 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 04:54:57 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 06:44:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 07:31:54 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:35:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:41:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:43:46 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:48:50 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:59:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 18:49:53 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 18:53:28 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:12:55 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:21:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:23:37 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:27:44 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:33:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:39:12 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 21:10:26 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 21:13:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 23:50:28 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 01:36:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 01:51:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 02:15:51 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 04:11:16 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 04:55:06 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 05:41:31 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 06:01:43 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 16:45:50 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 21:09:54 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 05:33:36 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:01:36 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:40:11 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:41:04 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:42:07 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:44:25 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:33:21 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:46:29 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:57:15 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:58:10 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 05:03:56 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 05:33:16 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 09 Jan 2015 07:06:56 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 14 Jan 2015 06:02:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 20 Jan 2015 06:02:54 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 01 Feb 2015 02:49:07 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 01 Feb 2015 03:05:01 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 01 Feb 2015 03:29:17 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 01 Feb 2015 22:59:38 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 02 Feb 2015 04:12:17 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 02 Feb 2015 04:13:38 GMT","total":{"sloc":599,"maintainability":108.72487518335461},"average":{"sloc":599,"maintainability":"108.72"}}] |
@@ -1,1 +0,1 @@ | ||
[{"date":"Fri, 17 Jan 2014 03:26:34 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:02:45 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:04:20 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:31:54 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:40:33 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:45:31 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:50:37 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:55:09 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:57:27 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Wed, 22 Jan 2014 07:20:39 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Wed, 22 Jan 2014 07:48:40 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Wed, 22 Jan 2014 08:11:13 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Thu, 23 Jan 2014 06:32:19 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Thu, 23 Jan 2014 07:14:48 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 31 Jan 2014 03:13:26 GMT","total":{"sloc":376,"maintainability":115.6821018185438},"average":{"sloc":376,"maintainability":"115.68"}},{"date":"Fri, 31 Jan 2014 04:19:33 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Tue, 10 Jun 2014 05:19:05 GMT","total":{"sloc":336,"maintainability":114.05695416155538},"average":{"sloc":336,"maintainability":"114.06"}},{"date":"Tue, 10 Jun 2014 05:19:50 GMT","total":{"sloc":336,"maintainability":114.05695416155538},"average":{"sloc":336,"maintainability":"114.06"}},{"date":"Tue, 10 Jun 2014 05:21:54 GMT","total":{"sloc":336,"maintainability":114.05695416155538},"average":{"sloc":336,"maintainability":"114.06"}},{"date":"Tue, 10 Jun 2014 05:23:06 GMT","total":{"sloc":336,"maintainability":114.07436722888846},"average":{"sloc":336,"maintainability":"114.07"}},{"date":"Wed, 11 Jun 2014 03:41:02 GMT","total":{"sloc":336,"maintainability":114.07436722888846},"average":{"sloc":336,"maintainability":"114.07"}},{"date":"Wed, 11 Jun 2014 03:44:10 GMT","total":{"sloc":336,"maintainability":114.07436722888846},"average":{"sloc":336,"maintainability":"114.07"}},{"date":"Wed, 11 Jun 2014 03:49:30 GMT","total":{"sloc":339,"maintainability":113.8818936541093},"average":{"sloc":339,"maintainability":"113.88"}},{"date":"Wed, 11 Jun 2014 03:52:49 GMT","total":{"sloc":339,"maintainability":113.8818936541093},"average":{"sloc":339,"maintainability":"113.88"}},{"date":"Wed, 11 Jun 2014 03:54:43 GMT","total":{"sloc":339,"maintainability":113.89053908706553},"average":{"sloc":339,"maintainability":"113.89"}},{"date":"Wed, 11 Jun 2014 05:15:14 GMT","total":{"sloc":339,"maintainability":113.89053908706553},"average":{"sloc":339,"maintainability":"113.89"}},{"date":"Wed, 11 Jun 2014 05:25:31 GMT","total":{"sloc":385,"maintainability":114.9318904431851},"average":{"sloc":385,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 05:41:03 GMT","total":{"sloc":385,"maintainability":114.9318904431851},"average":{"sloc":385,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 05:41:41 GMT","total":{"sloc":385,"maintainability":114.9318904431851},"average":{"sloc":385,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 05:42:17 GMT","total":{"sloc":388,"maintainability":114.80884569997465},"average":{"sloc":388,"maintainability":"114.81"}},{"date":"Wed, 11 Jun 2014 05:42:49 GMT","total":{"sloc":388,"maintainability":114.80884569997465},"average":{"sloc":388,"maintainability":"114.81"}},{"date":"Wed, 11 Jun 2014 05:43:48 GMT","total":{"sloc":386,"maintainability":114.89272979576751},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 05:47:50 GMT","total":{"sloc":386,"maintainability":114.89272979576751},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 05:48:43 GMT","total":{"sloc":386,"maintainability":114.89020029919811},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 05:56:08 GMT","total":{"sloc":386,"maintainability":114.89020029919811},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 06:04:18 GMT","total":{"sloc":386,"maintainability":114.8893496935643},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 06:12:54 GMT","total":{"sloc":387,"maintainability":114.8504510107183},"average":{"sloc":387,"maintainability":"114.85"}},{"date":"Wed, 11 Jun 2014 06:18:51 GMT","total":{"sloc":387,"maintainability":114.84019239886894},"average":{"sloc":387,"maintainability":"114.84"}},{"date":"Wed, 11 Jun 2014 06:23:19 GMT","total":{"sloc":387,"maintainability":114.83869167105061},"average":{"sloc":387,"maintainability":"114.84"}},{"date":"Wed, 11 Jun 2014 06:25:15 GMT","total":{"sloc":387,"maintainability":114.78606562386966},"average":{"sloc":387,"maintainability":"114.79"}},{"date":"Wed, 11 Jun 2014 13:46:15 GMT","total":{"sloc":385,"maintainability":114.96131764219997},"average":{"sloc":385,"maintainability":"114.96"}},{"date":"Wed, 11 Jun 2014 13:48:06 GMT","total":{"sloc":385,"maintainability":114.95980530508346},"average":{"sloc":385,"maintainability":"114.96"}},{"date":"Wed, 11 Jun 2014 14:00:37 GMT","total":{"sloc":385,"maintainability":114.88415907648304},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 14:03:53 GMT","total":{"sloc":385,"maintainability":114.8790545573623},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 14:13:28 GMT","total":{"sloc":385,"maintainability":114.87081738711562},"average":{"sloc":385,"maintainability":"114.87"}},{"date":"Wed, 11 Jun 2014 14:15:06 GMT","total":{"sloc":385,"maintainability":114.88220045470634},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 14:18:45 GMT","total":{"sloc":385,"maintainability":114.882039782897},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 15:52:59 GMT","total":{"sloc":299,"maintainability":114.6757144272797},"average":{"sloc":299,"maintainability":"114.68"}},{"date":"Wed, 11 Jun 2014 15:54:05 GMT","total":{"sloc":299,"maintainability":114.66303719473589},"average":{"sloc":299,"maintainability":"114.66"}},{"date":"Wed, 11 Jun 2014 15:54:45 GMT","total":{"sloc":299,"maintainability":114.65825366810031},"average":{"sloc":299,"maintainability":"114.66"}},{"date":"Wed, 11 Jun 2014 15:56:27 GMT","total":{"sloc":297,"maintainability":114.83586037240626},"average":{"sloc":297,"maintainability":"114.84"}},{"date":"Wed, 11 Jun 2014 16:00:47 GMT","total":{"sloc":297,"maintainability":114.82427180809877},"average":{"sloc":297,"maintainability":"114.82"}},{"date":"Wed, 11 Jun 2014 16:10:56 GMT","total":{"sloc":308,"maintainability":114.92065380809123},"average":{"sloc":308,"maintainability":"114.92"}},{"date":"Wed, 11 Jun 2014 16:11:50 GMT","total":{"sloc":308,"maintainability":114.92932695925012},"average":{"sloc":308,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 16:34:22 GMT","total":{"sloc":317,"maintainability":114.96089378270732},"average":{"sloc":317,"maintainability":"114.96"}},{"date":"Wed, 11 Jun 2014 16:43:35 GMT","total":{"sloc":321,"maintainability":115.01545160151935},"average":{"sloc":321,"maintainability":"115.02"}},{"date":"Wed, 11 Jun 2014 16:45:13 GMT","total":{"sloc":321,"maintainability":115.01545160151935},"average":{"sloc":321,"maintainability":"115.02"}},{"date":"Wed, 11 Jun 2014 16:49:05 GMT","total":{"sloc":321,"maintainability":115.0852412436239},"average":{"sloc":321,"maintainability":"115.09"}},{"date":"Wed, 11 Jun 2014 16:50:32 GMT","total":{"sloc":321,"maintainability":115.09018595320049},"average":{"sloc":321,"maintainability":"115.09"}},{"date":"Wed, 11 Jun 2014 16:56:34 GMT","total":{"sloc":320,"maintainability":115.10921183483356},"average":{"sloc":320,"maintainability":"115.11"}},{"date":"Wed, 11 Jun 2014 17:02:23 GMT","total":{"sloc":323,"maintainability":115.08381783716814},"average":{"sloc":323,"maintainability":"115.08"}},{"date":"Wed, 11 Jun 2014 17:03:43 GMT","total":{"sloc":323,"maintainability":115.09780182715966},"average":{"sloc":323,"maintainability":"115.10"}},{"date":"Wed, 11 Jun 2014 17:24:21 GMT","total":{"sloc":328,"maintainability":114.89031565649245},"average":{"sloc":328,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 21:21:46 GMT","total":{"sloc":328,"maintainability":114.89031565649245},"average":{"sloc":328,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 22:01:48 GMT","total":{"sloc":328,"maintainability":114.89031565649245},"average":{"sloc":328,"maintainability":"114.89"}},{"date":"Thu, 12 Jun 2014 02:28:46 GMT","total":{"sloc":319,"maintainability":114.25023183720106},"average":{"sloc":319,"maintainability":"114.25"}},{"date":"Thu, 12 Jun 2014 02:31:31 GMT","total":{"sloc":319,"maintainability":114.25023183720106},"average":{"sloc":319,"maintainability":"114.25"}},{"date":"Thu, 12 Jun 2014 02:32:01 GMT","total":{"sloc":318,"maintainability":114.26573076515797},"average":{"sloc":318,"maintainability":"114.27"}},{"date":"Thu, 12 Jun 2014 02:32:16 GMT","total":{"sloc":317,"maintainability":114.34039410666975},"average":{"sloc":317,"maintainability":"114.34"}},{"date":"Thu, 12 Jun 2014 03:53:24 GMT","total":{"sloc":321,"maintainability":114.7613454044756},"average":{"sloc":321,"maintainability":"114.76"}},{"date":"Thu, 12 Jun 2014 04:21:32 GMT","total":{"sloc":324,"maintainability":114.10141915176287},"average":{"sloc":324,"maintainability":"114.10"}},{"date":"Thu, 12 Jun 2014 04:36:48 GMT","total":{"sloc":328,"maintainability":113.54691832529281},"average":{"sloc":328,"maintainability":"113.55"}},{"date":"Thu, 12 Jun 2014 04:40:47 GMT","total":{"sloc":328,"maintainability":113.53277754421643},"average":{"sloc":328,"maintainability":"113.53"}},{"date":"Thu, 12 Jun 2014 04:42:16 GMT","total":{"sloc":332,"maintainability":113.95773797056839},"average":{"sloc":332,"maintainability":"113.96"}},{"date":"Thu, 12 Jun 2014 04:43:47 GMT","total":{"sloc":332,"maintainability":113.93995339611533},"average":{"sloc":332,"maintainability":"113.94"}},{"date":"Thu, 12 Jun 2014 04:57:02 GMT","total":{"sloc":338,"maintainability":114.27481873038812},"average":{"sloc":338,"maintainability":"114.27"}},{"date":"Thu, 12 Jun 2014 04:58:12 GMT","total":{"sloc":338,"maintainability":114.26503943159483},"average":{"sloc":338,"maintainability":"114.27"}},{"date":"Thu, 12 Jun 2014 05:04:15 GMT","total":{"sloc":338,"maintainability":114.24848361605686},"average":{"sloc":338,"maintainability":"114.25"}},{"date":"Thu, 12 Jun 2014 13:02:20 GMT","total":{"sloc":345,"maintainability":114.51218673662935},"average":{"sloc":345,"maintainability":"114.51"}},{"date":"Thu, 12 Jun 2014 13:07:05 GMT","total":{"sloc":350,"maintainability":114.18344899202256},"average":{"sloc":350,"maintainability":"114.18"}},{"date":"Thu, 12 Jun 2014 13:13:17 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Thu, 12 Jun 2014 13:29:26 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Thu, 12 Jun 2014 14:00:31 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Fri, 13 Jun 2014 00:01:10 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Fri, 13 Jun 2014 03:29:00 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Fri, 13 Jun 2014 04:04:20 GMT","total":{"sloc":349,"maintainability":114.17286040346116},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 13 Jun 2014 05:25:52 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 03:13:23 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Fri, 20 Jun 2014 03:15:40 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Fri, 20 Jun 2014 03:19:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 20 Jun 2014 03:35:56 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 20 Jun 2014 04:16:28 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 04:17:35 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 04:18:58 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 04:20:01 GMT","total":{"sloc":505,"maintainability":112.61568508985638},"average":{"sloc":505,"maintainability":"112.62"}},{"date":"Fri, 20 Jun 2014 04:32:01 GMT","total":{"sloc":505,"maintainability":112.61568508985638},"average":{"sloc":505,"maintainability":"112.62"}},{"date":"Fri, 20 Jun 2014 04:32:44 GMT","total":{"sloc":505,"maintainability":112.61088059330993},"average":{"sloc":505,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 04:34:11 GMT","total":{"sloc":505,"maintainability":112.61088059330993},"average":{"sloc":505,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 04:50:31 GMT","total":{"sloc":505,"maintainability":112.61357006720985},"average":{"sloc":505,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 05:02:29 GMT","total":{"sloc":248,"maintainability":114.35848786287576},"average":{"sloc":248,"maintainability":"114.36"}},{"date":"Fri, 20 Jun 2014 05:09:15 GMT","total":{"sloc":217,"maintainability":112.61269570514433},"average":{"sloc":217,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 05:19:10 GMT","total":{"sloc":225,"maintainability":112.83753649904688},"average":{"sloc":225,"maintainability":"112.84"}},{"date":"Fri, 20 Jun 2014 05:20:28 GMT","total":{"sloc":225,"maintainability":112.83753649904688},"average":{"sloc":225,"maintainability":"112.84"}},{"date":"Fri, 20 Jun 2014 05:21:36 GMT","total":{"sloc":224,"maintainability":112.95523867881909},"average":{"sloc":224,"maintainability":"112.96"}},{"date":"Sat, 21 Jun 2014 23:17:20 GMT","total":{"sloc":270,"maintainability":116.61108257028894},"average":{"sloc":270,"maintainability":"116.61"}},{"date":"Mon, 23 Jun 2014 05:33:05 GMT","total":{"sloc":354,"maintainability":117.09183837335202},"average":{"sloc":354,"maintainability":"117.09"}},{"date":"Thu, 26 Jun 2014 04:08:34 GMT","total":{"sloc":401,"maintainability":119.39679497346788},"average":{"sloc":401,"maintainability":"119.40"}},{"date":"Thu, 26 Jun 2014 04:24:57 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Thu, 26 Jun 2014 04:27:34 GMT","total":{"sloc":375,"maintainability":115.62792780428913},"average":{"sloc":375,"maintainability":"115.63"}},{"date":"Thu, 26 Jun 2014 04:42:59 GMT","total":{"sloc":375,"maintainability":115.62792780428913},"average":{"sloc":375,"maintainability":"115.63"}},{"date":"Thu, 26 Jun 2014 04:43:59 GMT","total":{"sloc":384,"maintainability":115.62541972245211},"average":{"sloc":384,"maintainability":"115.63"}},{"date":"Thu, 26 Jun 2014 04:56:20 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:05:22 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:06:32 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:14:24 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:23:20 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:24:52 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 13:47:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 02:51:33 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 02:58:28 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 03:15:39 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 03:32:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 03:39:17 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 03 Jul 2014 02:40:15 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 03 Jul 2014 03:07:57 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 17 Jul 2014 17:15:05 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 18 Jul 2014 03:45:51 GMT","total":{"sloc":396,"maintainability":115.25920743457168},"average":{"sloc":396,"maintainability":"115.26"}},{"date":"Fri, 18 Jul 2014 05:10:52 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sat, 19 Jul 2014 03:09:06 GMT","total":{"sloc":401,"maintainability":119.39679497346788},"average":{"sloc":401,"maintainability":"119.40"}},{"date":"Tue, 22 Jul 2014 00:56:16 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 25 Jul 2014 02:25:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 25 Jul 2014 15:06:16 GMT","total":{"sloc":396,"maintainability":115.05527593150826},"average":{"sloc":396,"maintainability":"115.06"}},{"date":"Fri, 25 Jul 2014 15:34:40 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sat, 26 Jul 2014 04:35:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 28 Jul 2014 21:31:17 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 28 Jul 2014 21:37:31 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 12 Oct 2014 04:28:49 GMT","total":{"sloc":394,"maintainability":114.71930365402038},"average":{"sloc":394,"maintainability":"114.72"}},{"date":"Mon, 08 Dec 2014 14:20:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 18 Dec 2014 23:41:41 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 18 Dec 2014 23:44:04 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 18 Dec 2014 23:57:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 00:41:27 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 00:41:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 00:49:46 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:03:01 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:12:55 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:21:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:25:00 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 05:42:40 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 06:04:15 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:17:35 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:48:00 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:52:18 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:54:13 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:11:40 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:14:58 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:15:39 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:16:55 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:24:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:26:59 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 20:25:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 21 Dec 2014 17:57:30 GMT","total":{"sloc":480,"maintainability":116.97098868140768},"average":{"sloc":480,"maintainability":"116.97"}},{"date":"Tue, 23 Dec 2014 22:53:11 GMT","total":{"sloc":426,"maintainability":112.77251242453704},"average":{"sloc":426,"maintainability":"112.77"}},{"date":"Mon, 29 Dec 2014 23:49:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 06:11:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 06:33:59 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 06:53:47 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 07:26:26 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 07:29:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 07:30:03 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 20:31:53 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 20:50:51 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:04:41 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:30:24 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:32:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:38:32 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:41:51 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 04:52:36 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 04:52:47 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 04:54:57 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 06:44:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 07:31:54 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:35:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:41:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:43:46 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:48:50 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:59:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 18:49:53 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 18:53:28 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:12:55 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:21:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:23:37 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:27:44 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:33:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:39:12 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 21:10:26 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 21:13:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 23:50:28 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 01:36:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 01:51:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 02:15:51 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 04:11:16 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 04:55:06 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 05:41:31 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 06:01:43 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 16:45:50 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 21:09:54 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 05:33:36 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:01:36 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:40:11 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:41:04 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:42:07 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:44:25 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:33:21 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:46:29 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:57:15 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:58:10 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 05:03:56 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 05:33:16 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 09 Jan 2015 07:06:56 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 14 Jan 2015 06:02:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}}] | ||
[{"date":"Fri, 17 Jan 2014 03:26:34 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:02:45 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:04:20 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:31:54 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:40:33 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:45:31 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:50:37 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:55:09 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 17 Jan 2014 06:57:27 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Wed, 22 Jan 2014 07:20:39 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Wed, 22 Jan 2014 07:48:40 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Wed, 22 Jan 2014 08:11:13 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Thu, 23 Jan 2014 06:32:19 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Thu, 23 Jan 2014 07:14:48 GMT","total":{"sloc":377,"maintainability":115.56236074844583},"average":{"sloc":377,"maintainability":"115.56"}},{"date":"Fri, 31 Jan 2014 03:13:26 GMT","total":{"sloc":376,"maintainability":115.6821018185438},"average":{"sloc":376,"maintainability":"115.68"}},{"date":"Fri, 31 Jan 2014 04:19:33 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Tue, 10 Jun 2014 05:19:05 GMT","total":{"sloc":336,"maintainability":114.05695416155538},"average":{"sloc":336,"maintainability":"114.06"}},{"date":"Tue, 10 Jun 2014 05:19:50 GMT","total":{"sloc":336,"maintainability":114.05695416155538},"average":{"sloc":336,"maintainability":"114.06"}},{"date":"Tue, 10 Jun 2014 05:21:54 GMT","total":{"sloc":336,"maintainability":114.05695416155538},"average":{"sloc":336,"maintainability":"114.06"}},{"date":"Tue, 10 Jun 2014 05:23:06 GMT","total":{"sloc":336,"maintainability":114.07436722888846},"average":{"sloc":336,"maintainability":"114.07"}},{"date":"Wed, 11 Jun 2014 03:41:02 GMT","total":{"sloc":336,"maintainability":114.07436722888846},"average":{"sloc":336,"maintainability":"114.07"}},{"date":"Wed, 11 Jun 2014 03:44:10 GMT","total":{"sloc":336,"maintainability":114.07436722888846},"average":{"sloc":336,"maintainability":"114.07"}},{"date":"Wed, 11 Jun 2014 03:49:30 GMT","total":{"sloc":339,"maintainability":113.8818936541093},"average":{"sloc":339,"maintainability":"113.88"}},{"date":"Wed, 11 Jun 2014 03:52:49 GMT","total":{"sloc":339,"maintainability":113.8818936541093},"average":{"sloc":339,"maintainability":"113.88"}},{"date":"Wed, 11 Jun 2014 03:54:43 GMT","total":{"sloc":339,"maintainability":113.89053908706553},"average":{"sloc":339,"maintainability":"113.89"}},{"date":"Wed, 11 Jun 2014 05:15:14 GMT","total":{"sloc":339,"maintainability":113.89053908706553},"average":{"sloc":339,"maintainability":"113.89"}},{"date":"Wed, 11 Jun 2014 05:25:31 GMT","total":{"sloc":385,"maintainability":114.9318904431851},"average":{"sloc":385,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 05:41:03 GMT","total":{"sloc":385,"maintainability":114.9318904431851},"average":{"sloc":385,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 05:41:41 GMT","total":{"sloc":385,"maintainability":114.9318904431851},"average":{"sloc":385,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 05:42:17 GMT","total":{"sloc":388,"maintainability":114.80884569997465},"average":{"sloc":388,"maintainability":"114.81"}},{"date":"Wed, 11 Jun 2014 05:42:49 GMT","total":{"sloc":388,"maintainability":114.80884569997465},"average":{"sloc":388,"maintainability":"114.81"}},{"date":"Wed, 11 Jun 2014 05:43:48 GMT","total":{"sloc":386,"maintainability":114.89272979576751},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 05:47:50 GMT","total":{"sloc":386,"maintainability":114.89272979576751},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 05:48:43 GMT","total":{"sloc":386,"maintainability":114.89020029919811},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 05:56:08 GMT","total":{"sloc":386,"maintainability":114.89020029919811},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 06:04:18 GMT","total":{"sloc":386,"maintainability":114.8893496935643},"average":{"sloc":386,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 06:12:54 GMT","total":{"sloc":387,"maintainability":114.8504510107183},"average":{"sloc":387,"maintainability":"114.85"}},{"date":"Wed, 11 Jun 2014 06:18:51 GMT","total":{"sloc":387,"maintainability":114.84019239886894},"average":{"sloc":387,"maintainability":"114.84"}},{"date":"Wed, 11 Jun 2014 06:23:19 GMT","total":{"sloc":387,"maintainability":114.83869167105061},"average":{"sloc":387,"maintainability":"114.84"}},{"date":"Wed, 11 Jun 2014 06:25:15 GMT","total":{"sloc":387,"maintainability":114.78606562386966},"average":{"sloc":387,"maintainability":"114.79"}},{"date":"Wed, 11 Jun 2014 13:46:15 GMT","total":{"sloc":385,"maintainability":114.96131764219997},"average":{"sloc":385,"maintainability":"114.96"}},{"date":"Wed, 11 Jun 2014 13:48:06 GMT","total":{"sloc":385,"maintainability":114.95980530508346},"average":{"sloc":385,"maintainability":"114.96"}},{"date":"Wed, 11 Jun 2014 14:00:37 GMT","total":{"sloc":385,"maintainability":114.88415907648304},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 14:03:53 GMT","total":{"sloc":385,"maintainability":114.8790545573623},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 14:13:28 GMT","total":{"sloc":385,"maintainability":114.87081738711562},"average":{"sloc":385,"maintainability":"114.87"}},{"date":"Wed, 11 Jun 2014 14:15:06 GMT","total":{"sloc":385,"maintainability":114.88220045470634},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 14:18:45 GMT","total":{"sloc":385,"maintainability":114.882039782897},"average":{"sloc":385,"maintainability":"114.88"}},{"date":"Wed, 11 Jun 2014 15:52:59 GMT","total":{"sloc":299,"maintainability":114.6757144272797},"average":{"sloc":299,"maintainability":"114.68"}},{"date":"Wed, 11 Jun 2014 15:54:05 GMT","total":{"sloc":299,"maintainability":114.66303719473589},"average":{"sloc":299,"maintainability":"114.66"}},{"date":"Wed, 11 Jun 2014 15:54:45 GMT","total":{"sloc":299,"maintainability":114.65825366810031},"average":{"sloc":299,"maintainability":"114.66"}},{"date":"Wed, 11 Jun 2014 15:56:27 GMT","total":{"sloc":297,"maintainability":114.83586037240626},"average":{"sloc":297,"maintainability":"114.84"}},{"date":"Wed, 11 Jun 2014 16:00:47 GMT","total":{"sloc":297,"maintainability":114.82427180809877},"average":{"sloc":297,"maintainability":"114.82"}},{"date":"Wed, 11 Jun 2014 16:10:56 GMT","total":{"sloc":308,"maintainability":114.92065380809123},"average":{"sloc":308,"maintainability":"114.92"}},{"date":"Wed, 11 Jun 2014 16:11:50 GMT","total":{"sloc":308,"maintainability":114.92932695925012},"average":{"sloc":308,"maintainability":"114.93"}},{"date":"Wed, 11 Jun 2014 16:34:22 GMT","total":{"sloc":317,"maintainability":114.96089378270732},"average":{"sloc":317,"maintainability":"114.96"}},{"date":"Wed, 11 Jun 2014 16:43:35 GMT","total":{"sloc":321,"maintainability":115.01545160151935},"average":{"sloc":321,"maintainability":"115.02"}},{"date":"Wed, 11 Jun 2014 16:45:13 GMT","total":{"sloc":321,"maintainability":115.01545160151935},"average":{"sloc":321,"maintainability":"115.02"}},{"date":"Wed, 11 Jun 2014 16:49:05 GMT","total":{"sloc":321,"maintainability":115.0852412436239},"average":{"sloc":321,"maintainability":"115.09"}},{"date":"Wed, 11 Jun 2014 16:50:32 GMT","total":{"sloc":321,"maintainability":115.09018595320049},"average":{"sloc":321,"maintainability":"115.09"}},{"date":"Wed, 11 Jun 2014 16:56:34 GMT","total":{"sloc":320,"maintainability":115.10921183483356},"average":{"sloc":320,"maintainability":"115.11"}},{"date":"Wed, 11 Jun 2014 17:02:23 GMT","total":{"sloc":323,"maintainability":115.08381783716814},"average":{"sloc":323,"maintainability":"115.08"}},{"date":"Wed, 11 Jun 2014 17:03:43 GMT","total":{"sloc":323,"maintainability":115.09780182715966},"average":{"sloc":323,"maintainability":"115.10"}},{"date":"Wed, 11 Jun 2014 17:24:21 GMT","total":{"sloc":328,"maintainability":114.89031565649245},"average":{"sloc":328,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 21:21:46 GMT","total":{"sloc":328,"maintainability":114.89031565649245},"average":{"sloc":328,"maintainability":"114.89"}},{"date":"Wed, 11 Jun 2014 22:01:48 GMT","total":{"sloc":328,"maintainability":114.89031565649245},"average":{"sloc":328,"maintainability":"114.89"}},{"date":"Thu, 12 Jun 2014 02:28:46 GMT","total":{"sloc":319,"maintainability":114.25023183720106},"average":{"sloc":319,"maintainability":"114.25"}},{"date":"Thu, 12 Jun 2014 02:31:31 GMT","total":{"sloc":319,"maintainability":114.25023183720106},"average":{"sloc":319,"maintainability":"114.25"}},{"date":"Thu, 12 Jun 2014 02:32:01 GMT","total":{"sloc":318,"maintainability":114.26573076515797},"average":{"sloc":318,"maintainability":"114.27"}},{"date":"Thu, 12 Jun 2014 02:32:16 GMT","total":{"sloc":317,"maintainability":114.34039410666975},"average":{"sloc":317,"maintainability":"114.34"}},{"date":"Thu, 12 Jun 2014 03:53:24 GMT","total":{"sloc":321,"maintainability":114.7613454044756},"average":{"sloc":321,"maintainability":"114.76"}},{"date":"Thu, 12 Jun 2014 04:21:32 GMT","total":{"sloc":324,"maintainability":114.10141915176287},"average":{"sloc":324,"maintainability":"114.10"}},{"date":"Thu, 12 Jun 2014 04:36:48 GMT","total":{"sloc":328,"maintainability":113.54691832529281},"average":{"sloc":328,"maintainability":"113.55"}},{"date":"Thu, 12 Jun 2014 04:40:47 GMT","total":{"sloc":328,"maintainability":113.53277754421643},"average":{"sloc":328,"maintainability":"113.53"}},{"date":"Thu, 12 Jun 2014 04:42:16 GMT","total":{"sloc":332,"maintainability":113.95773797056839},"average":{"sloc":332,"maintainability":"113.96"}},{"date":"Thu, 12 Jun 2014 04:43:47 GMT","total":{"sloc":332,"maintainability":113.93995339611533},"average":{"sloc":332,"maintainability":"113.94"}},{"date":"Thu, 12 Jun 2014 04:57:02 GMT","total":{"sloc":338,"maintainability":114.27481873038812},"average":{"sloc":338,"maintainability":"114.27"}},{"date":"Thu, 12 Jun 2014 04:58:12 GMT","total":{"sloc":338,"maintainability":114.26503943159483},"average":{"sloc":338,"maintainability":"114.27"}},{"date":"Thu, 12 Jun 2014 05:04:15 GMT","total":{"sloc":338,"maintainability":114.24848361605686},"average":{"sloc":338,"maintainability":"114.25"}},{"date":"Thu, 12 Jun 2014 13:02:20 GMT","total":{"sloc":345,"maintainability":114.51218673662935},"average":{"sloc":345,"maintainability":"114.51"}},{"date":"Thu, 12 Jun 2014 13:07:05 GMT","total":{"sloc":350,"maintainability":114.18344899202256},"average":{"sloc":350,"maintainability":"114.18"}},{"date":"Thu, 12 Jun 2014 13:13:17 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Thu, 12 Jun 2014 13:29:26 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Thu, 12 Jun 2014 14:00:31 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Fri, 13 Jun 2014 00:01:10 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Fri, 13 Jun 2014 03:29:00 GMT","total":{"sloc":351,"maintainability":114.08828081386906},"average":{"sloc":351,"maintainability":"114.09"}},{"date":"Fri, 13 Jun 2014 04:04:20 GMT","total":{"sloc":349,"maintainability":114.17286040346116},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 13 Jun 2014 05:25:52 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 03:13:23 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Fri, 20 Jun 2014 03:15:40 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Fri, 20 Jun 2014 03:19:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 20 Jun 2014 03:35:56 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 20 Jun 2014 04:16:28 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 04:17:35 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 04:18:58 GMT","total":{"sloc":349,"maintainability":114.16539995732981},"average":{"sloc":349,"maintainability":"114.17"}},{"date":"Fri, 20 Jun 2014 04:20:01 GMT","total":{"sloc":505,"maintainability":112.61568508985638},"average":{"sloc":505,"maintainability":"112.62"}},{"date":"Fri, 20 Jun 2014 04:32:01 GMT","total":{"sloc":505,"maintainability":112.61568508985638},"average":{"sloc":505,"maintainability":"112.62"}},{"date":"Fri, 20 Jun 2014 04:32:44 GMT","total":{"sloc":505,"maintainability":112.61088059330993},"average":{"sloc":505,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 04:34:11 GMT","total":{"sloc":505,"maintainability":112.61088059330993},"average":{"sloc":505,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 04:50:31 GMT","total":{"sloc":505,"maintainability":112.61357006720985},"average":{"sloc":505,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 05:02:29 GMT","total":{"sloc":248,"maintainability":114.35848786287576},"average":{"sloc":248,"maintainability":"114.36"}},{"date":"Fri, 20 Jun 2014 05:09:15 GMT","total":{"sloc":217,"maintainability":112.61269570514433},"average":{"sloc":217,"maintainability":"112.61"}},{"date":"Fri, 20 Jun 2014 05:19:10 GMT","total":{"sloc":225,"maintainability":112.83753649904688},"average":{"sloc":225,"maintainability":"112.84"}},{"date":"Fri, 20 Jun 2014 05:20:28 GMT","total":{"sloc":225,"maintainability":112.83753649904688},"average":{"sloc":225,"maintainability":"112.84"}},{"date":"Fri, 20 Jun 2014 05:21:36 GMT","total":{"sloc":224,"maintainability":112.95523867881909},"average":{"sloc":224,"maintainability":"112.96"}},{"date":"Sat, 21 Jun 2014 23:17:20 GMT","total":{"sloc":270,"maintainability":116.61108257028894},"average":{"sloc":270,"maintainability":"116.61"}},{"date":"Mon, 23 Jun 2014 05:33:05 GMT","total":{"sloc":354,"maintainability":117.09183837335202},"average":{"sloc":354,"maintainability":"117.09"}},{"date":"Thu, 26 Jun 2014 04:08:34 GMT","total":{"sloc":401,"maintainability":119.39679497346788},"average":{"sloc":401,"maintainability":"119.40"}},{"date":"Thu, 26 Jun 2014 04:24:57 GMT","total":{"sloc":376,"maintainability":115.63604287829756},"average":{"sloc":376,"maintainability":"115.64"}},{"date":"Thu, 26 Jun 2014 04:27:34 GMT","total":{"sloc":375,"maintainability":115.62792780428913},"average":{"sloc":375,"maintainability":"115.63"}},{"date":"Thu, 26 Jun 2014 04:42:59 GMT","total":{"sloc":375,"maintainability":115.62792780428913},"average":{"sloc":375,"maintainability":"115.63"}},{"date":"Thu, 26 Jun 2014 04:43:59 GMT","total":{"sloc":384,"maintainability":115.62541972245211},"average":{"sloc":384,"maintainability":"115.63"}},{"date":"Thu, 26 Jun 2014 04:56:20 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:05:22 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:06:32 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:14:24 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:23:20 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 05:24:52 GMT","total":{"sloc":389,"maintainability":115.92053800182893},"average":{"sloc":389,"maintainability":"115.92"}},{"date":"Thu, 26 Jun 2014 13:47:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 02:51:33 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 02:58:28 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 03:15:39 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 03:32:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 30 Jun 2014 03:39:17 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 03 Jul 2014 02:40:15 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 03 Jul 2014 03:07:57 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 17 Jul 2014 17:15:05 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 18 Jul 2014 03:45:51 GMT","total":{"sloc":396,"maintainability":115.25920743457168},"average":{"sloc":396,"maintainability":"115.26"}},{"date":"Fri, 18 Jul 2014 05:10:52 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sat, 19 Jul 2014 03:09:06 GMT","total":{"sloc":401,"maintainability":119.39679497346788},"average":{"sloc":401,"maintainability":"119.40"}},{"date":"Tue, 22 Jul 2014 00:56:16 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 25 Jul 2014 02:25:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 25 Jul 2014 15:06:16 GMT","total":{"sloc":396,"maintainability":115.05527593150826},"average":{"sloc":396,"maintainability":"115.06"}},{"date":"Fri, 25 Jul 2014 15:34:40 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sat, 26 Jul 2014 04:35:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 28 Jul 2014 21:31:17 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 28 Jul 2014 21:37:31 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 12 Oct 2014 04:28:49 GMT","total":{"sloc":394,"maintainability":114.71930365402038},"average":{"sloc":394,"maintainability":"114.72"}},{"date":"Mon, 08 Dec 2014 14:20:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 18 Dec 2014 23:41:41 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 18 Dec 2014 23:44:04 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 18 Dec 2014 23:57:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 00:41:27 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 00:41:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 00:49:46 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:03:01 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:12:55 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:21:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 02:25:00 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 05:42:40 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 06:04:15 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:17:35 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:48:00 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:52:18 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 07:54:13 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:11:40 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:14:58 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:15:39 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:16:55 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:24:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 08:26:59 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 19 Dec 2014 20:25:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 21 Dec 2014 17:57:30 GMT","total":{"sloc":480,"maintainability":116.97098868140768},"average":{"sloc":480,"maintainability":"116.97"}},{"date":"Tue, 23 Dec 2014 22:53:11 GMT","total":{"sloc":426,"maintainability":112.77251242453704},"average":{"sloc":426,"maintainability":"112.77"}},{"date":"Mon, 29 Dec 2014 23:49:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 06:11:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 06:33:59 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 06:53:47 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 07:26:26 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 07:29:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 30 Dec 2014 07:30:03 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 20:31:53 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 20:50:51 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:04:41 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:30:24 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:32:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:38:32 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 31 Dec 2014 21:41:51 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 04:52:36 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 04:52:47 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 04:54:57 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 06:44:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Thu, 01 Jan 2015 07:31:54 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:35:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:41:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:43:46 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:48:50 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 15:59:34 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 18:49:53 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 18:53:28 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:12:55 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:21:23 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:23:37 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:27:44 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:33:14 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 19:39:12 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 21:10:26 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 21:13:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 04 Jan 2015 23:50:28 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 01:36:48 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 01:51:45 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 02:15:51 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 04:11:16 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 04:55:06 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 05:41:31 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 06:01:43 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 16:45:50 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 05 Jan 2015 21:09:54 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 05:33:36 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:01:36 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:40:11 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:41:04 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:42:07 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 06 Jan 2015 06:44:25 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:33:21 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:46:29 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:57:15 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 04:58:10 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 05:03:56 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 07 Jan 2015 05:33:16 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Fri, 09 Jan 2015 07:06:56 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Wed, 14 Jan 2015 06:02:19 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Tue, 20 Jan 2015 06:02:54 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 01 Feb 2015 02:49:07 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 01 Feb 2015 03:05:01 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 01 Feb 2015 03:29:17 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Sun, 01 Feb 2015 22:59:38 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 02 Feb 2015 04:12:17 GMT","total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},{"date":"Mon, 02 Feb 2015 04:13:38 GMT","total":{"sloc":599,"maintainability":108.72487518335461},"average":{"sloc":599,"maintainability":"108.72"}}] |
@@ -1,1 +0,1 @@ | ||
__report = {"summary":{"total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},"reports":[]} | ||
__report = {"summary":{"total":{"sloc":599,"maintainability":108.72487518335461},"average":{"sloc":599,"maintainability":"108.72"}},"reports":[{"info":{"file":"/Users/Jim/git/oss/machina/lib/machina.js","fileShort":"/Users/Jim/git/oss/machina/lib/machina.js","fileSafe":"_Users_Jim_git_oss_machina_lib_machina_js","link":"files/_Users_Jim_git_oss_machina_lib_machina_js/index.html"},"jshint":{"messages":0},"complexity":{"aggregate":{"line":9,"complexity":{"sloc":{"physical":599,"logical":407},"cyclomatic":60,"halstead":{"operators":{"distinct":35,"total":1109,"identifiers":["__stripped__"]},"operands":{"distinct":210,"total":1288,"identifiers":["__stripped__"]},"length":2397,"vocabulary":245,"difficulty":107.33333333333334,"volume":19024.121139789164,"effort":2041922.3356707038,"bugs":6.341373713263055,"time":113440.12975948355},"params":53}},"module":"/Users/Jim/git/oss/machina/lib/machina.js","maintainability":108.72487518335461}}]} |
@@ -1,1 +0,1 @@ | ||
{"summary":{"total":{"sloc":0,"maintainability":0},"average":{"sloc":0,"maintainability":"NaN"}},"reports":[]} | ||
{"summary":{"total":{"sloc":599,"maintainability":108.72487518335461},"average":{"sloc":599,"maintainability":"108.72"}},"reports":[{"info":{"file":"/Users/Jim/git/oss/machina/lib/machina.js","fileShort":"/Users/Jim/git/oss/machina/lib/machina.js","fileSafe":"_Users_Jim_git_oss_machina_lib_machina_js","link":"files/_Users_Jim_git_oss_machina_lib_machina_js/index.html"},"jshint":{"messages":0},"complexity":{"aggregate":{"line":9,"complexity":{"sloc":{"physical":599,"logical":407},"cyclomatic":60,"halstead":{"operators":{"distinct":35,"total":1109,"identifiers":["__stripped__"]},"operands":{"distinct":210,"total":1288,"identifiers":["__stripped__"]},"length":2397,"vocabulary":245,"difficulty":107.33333333333334,"volume":19024.121139789164,"effort":2041922.3356707038,"bugs":6.341373713263055,"time":113440.12975948355},"params":53}},"module":"/Users/Jim/git/oss/machina/lib/machina.js","maintainability":108.72487518335461}}]} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1711023
75
15388
482
17